机器学习|PyTorch简明教程下篇-人工智能
扫码关注官方订阅号
接着上篇,继续学习多层感知机,卷积神经网络和LSTMNet。
多层感知机是一种简单的神经网络,也是深度学习的重要基础。它通过在网络中添加一个或多个隐藏层来克服线性模型的限制。具体的图示如下:
(2)什么是ReLU激活函数?ReLU(RectifiedLinearUnit,修正线性单元)激活函数是深度学习和神经网络中常用的一种激活函数,ReLU函数的数学表达式为:f(x)=max(0,x),其中x是输入值。ReLU函数的特点是当输入值小于等于0时,输出为0;当输入值大于0时,输出等于输入值。简单来说,ReLU函数就是将负数部分抑制为0,正数部分保持不变。ReLU激活函数在神经网络中的作用是引入非线性因素,使得神经网络能够拟合复杂的非线性关系,同时,ReLU函数相对于其他激活函数(如Sigmoid或Tanh)具有计算速度快、收敛速度快等优点;
(3)什么是Dropout层?Dropout层是一种在神经网络中用于防止过拟合的技术。在训练过程中,Dropout层会随机地将一部分神经元的输出置为0,即"丢弃"这些神经元,这样做的目的是为了减少神经元之间的相互依赖,从而提高网络的泛化能力;
(4)print("Epoch%d,cost=%f,acc=%.2f%%"%(i1,cost/num_batches,100.*np.mean(predY==teY)))最后打印当前训练的轮次,损失值和acc,上述的代码输出如下:
卷积神经网络(CNN)是一种深度学习算法。当输入一个矩阵时,CNN可以对其中的重要和不重要部分进行区分(分配权重)。相较于其他分类任务,CNN对数据预处理的要求并不高,只要经过充分的训练,就能够学习到矩阵的特征。下图展示了该过程:
池化层在CNN中扮演着重要的角色,其主要目的有以下几点:
(3)print("Epoch%d,cost=%f,acc=%.2f%%"%(i1,cost/num_batches,100.*np.mean(predY==teY)))最后打印当前训练的轮次,损失值和acc,上述的代码输出如下:
LSTMNet是使用长短时记忆网络(LongShort-TermMemory,LSTM)构建的神经网络,核心思想是引入了一个名为"记忆单元"的结构,该结构可以在一定程度上保留长期依赖信息,LSTM中的每个单元包括一个输入门(inputgate)、一个遗忘门(forgetgate)和一个输出门(outputgate),这些门的作用是控制信息在记忆单元中的流动,以便网络可以学习何时存储、更新或输出有用的信息。
(2)print("第%d轮,损失值=%f,准确率=%.2f%%"%(i1,cost/num_batches,100.*np.mean(predY==teY)))。打印出当前训练轮次的信息,其中包括损失值和准确率,以上代码的输出结果如下:
以上就是机器学习|PyTorch简明教程下篇的详细内容,更多请关注php中文网其它相关文章!
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright2014-2023AllRightsReserved|苏州跃动光标网络科技有限公司|