《深度学习(基于Keras的Python实践)(1).docx》由会员分享,可在线阅读,更多相关《深度学习(基于Keras的Python实践)(1).docx(6页珍藏版)》请在第一文库网上搜索。
1、饵供*也用*蛾2学习使用附录A深度学习的基本概念-I(2)Re1U(整流线性电元)最近的网络更喜欢使用Rc1U激活函数来处理隐藏层。该函数定义为:/(x)=max(xO)c当xO时,函数的输出值为;当XWO时,输出值为OC使用RC1U函数最主要的好处是.对于大于。的所有输入来说.它都有一个不变的导数值C常数导数值有助于网络训练进行得更快(3)Softmax-SoftmaX激活函数通常用于多分类问题的输出层Q它与sigmoid函数类似,啡的区别就是输出被归一化为总和为1。在一个多分类问题中,SOfbnaX函数为每个类分配值,这个值可以理解为概率。5 .神经网络(Neura1Network)神经网
2、络构成了深度学习的核心,神经网络的目标是找到一个未知函数的近似值.它由相互连接的神经元形成。这些神经元具有权重,并在网络训练期间根据错误来进行更新:激活函数为线性模型增加非线性因素,并基于线性组合生成输出。6 .输入倒I出/隐海层(InputZOutput/Hidden1ayer)正如它们的名字所代表的那样,输入层是接收输入那一层,本质上是网络的第一层C而输出层是生成输出的那一层.也可以说是网络的最终层。处理层是网络中的隐藏层.这些陷藏层对传入数据执行特定处理,并将生成的输出传递到F一层。输入层和输出层是可见的.而中间层则是隐藏的.7 .多层感知器(M1P)单个神经元无法执行高度复杂的任务。因
3、此.使用堆拄的神经元生成需要的输出。在最简单的网络中,有一个输入层、一个隐藏层和一个输出层。绥个层都有多个神经元.并且每个层中的所有神经元都连接到下一层的所有神经元。因此网络也被称为完全连接网络,又叫多层感知器。各层的神经元数fit的选择是一个试错的过程。通常情况下,输入层的神经元数盘与输入数据的维度相同。输出层神经元的数忸,在回归问题和二元分类中通常为一个神经仅供用途jC2*学习催用一深度学习:曷于KeraS的PythOn实践元,在多分类问题中通常与类别数相同。隐藏层的神经元数证可以自由设定,通过试错找到一个最合适的假.这通常是由通过网络的信息瞅决定的。在通常情况下,分类问题障藏层的神经元数
4、燧可以设定为类别数量的5io倍,回归问题陷就层的神经元数In可以设定为输入数据维度的23倍。8 .正向传播(ForwardPropagation)正向传播是指输入通过隐藏层到输出层的运动。在正向传播中,信息沿着一个单一方向前进C输入层将输入提供给隐藏层,并生成输出.这个过程中没有反向运动。9 .成本函数(CoStFunction)当建立一个神经网络时,为了尽可能地使输出预测接近实际值,通常使用成本函数或损失函数来所鼠网络的准确性.在发生错误时也利用成本函数或损失函数来惩罚网络。运行网络的目标是提高预测精度并减少误差,从而最大限度地降低成本。最优化的输出是成本函数值或损失函数值最小的输出。10
5、.梯度下降(GradientDeS8N)梯度下降是一种最小化成本的优化算法。就好比在爬山的时候,一步一步地走下来,而不是一下子跳下来。因此,如果从一个点X开始向下移动那么位置更新为xM.继续保持下降.宜到到达底部。11 .学习率(1eaEingRate)学习率被定义为每次迭代中成本函数中最小化的量。简单来说,下降到成本函数最小值的速率是学习率。应该非常谨慎地选择学习率,因为它不应该是非常大的,否则会错过最佳解决方案;也不应该非常小.否则网络需要花费时间进行融合.12 .反向传播(BaCkPropagation)定义神经网络时.为节点随机分配权重和儡差值。一旦收到单次迭代的输出,就可以计算出网络
6、的错误。将该错误与成本函数的梯度一起反馈给网络来更新网络的权重.以便减少后续迭代中的错误,这种使用成本函数梯度对权用的更新被称为反向传播.在k226仅供,U*Mi*)2!J学习使用附录A深度学习的薨本概念1反向传播中,网络的运动是向后的,错误随着梯度从外层通过隐藏层流回,权重被更新。13 .批次(Batches)在训练神经网络时.不是一次发送整个输入数据集.而是随机地将输入分成几个大小相等的块C与整个数据集一次性输入到网络时建立的模型相比,批量数据训练使得模型更加广义化。14 .周期(Epochs)周期被定义为向前和向后传播中所有批次的一次训练迭代C这意味着一个周期是整个输入数据的单次向前和向
7、后传递C更多的周期将显示出更高的网络准确性.然而,网络融合也需要更长的时间。另外.需要注意的是,如果周期数太高,网络可能会过度拟合t.15 .丢弃(Dropout)DroPOUt是一种正则化技术.可防止网络过度拟合。顾名思义.DroPOU1指在训练期间,网络中一定数眼的神经元被随机丢弃。这意味着训练会在神经网络的不同组合的神经网络架构上进行,并将多个网络的输出用于产生最终输出.增加了网络的泛化能力。A.2卷积神经网络卷积神经网络主要应用于计算机视觉。假设有一个输入大小为(28,28.3)的图像.如果使用正常的神经网络,将令2352(28x28x3)个参数。并且随着图像大小的增加.参数的数量将会
8、变得非常大,“卷积”图像能够有效减少参数的数量;16 滤波器(Fi1ters)卷积神经网络中的谑波器与加权矩阵一样,它与输入图像的一部分相乘以产生一个回旋输出。假设有个大小为28x28的图像,随机分配T大小为3x3的旄波器.并与图像不同的3x3部分相乘,形成所谓的卷积输出滤波器尺寸通常小于原始图像尺寸.股设定为33或55的大小滓度学习:基于KeraS的Pyon实强如图A2所示.这个滤波器是一个3x3的矩阵,101,O1O,101.图A2与图像中每个3x3的部分相乘,可以形成卷枳特油图,如图A3所示度衷23ItQSIo14111000111000111001100110011010114i424
9、J234ffiA32 .池化层(P1ing)在卷积层之间定期引入池化层.是为r减少一些参数,并防止过拟合二最常见的方法是使用MAX操作的池化层.如尺度为2x2的池化层.它使用原始图像的每个4x4矩阵中的最大值作为输出,有效地减少了输出参数.如图AY所示。4228仪IO1用*虐29学习他用附录A深度学习的基本概念-J-此外.也可以使用其他操作(如平均池化)进行池化,但是最大池化在实践中我现蜘3 .填充(Padding)填充是指在图像之间添加额外的零层,以使输出图像的大小与输入相同。应用滤波器之后.在使用相同垠充的情况下,卷积层具有与实际图像相同的大小。有效填充是指将图像保持与实际图像相同的像素数
10、量Q在这种情况下,输出的长度和宽度的大小.虽然在每个卷积层处不断减小.但是输出与原始图像相同的向量。4 .数据增强(DataAUgmentatiOn)数据增强是指从给定数据生产新数据,这被证明对预测有益。例如.如果光线变亮.可能更容易在较暗的图像中看到猫C或者,数字识别中的9可能会稍微修斜成旋转,在这种情况下,旋转将解决问题并提高模型的准确性。通过增亮或旋转,可以提高数据的质量,这被称为数据增强。A.3循环神经网络循环神经网络特别适用于序列数据,先前的输出用于预测卜一个输出。除藏神经元内的斯环使它们能够存储有关的一个单元的信息一段时间.以便能够预测输出,并且隐藏层的输出在/时间戳内再次反馈到隐
11、窗层,如图A-5所示一UMtA*IHu27JttMf一深度学习:基于KemS的Python实践只有在完成所有的时间戳后,循环神经元的输出才能进入下一层。发送的输出更广泛.状态信息保留的时间也较长,并根据展开的网络将错误反向传播I1更新权重,这被称为通过时间的反向传播(BPTT)q1 .循环神经元(ReCUrTentNeUrOn)循环神经元是在,时间内.将神经元的输出反馈给自身(见图A-5).输出将返回输入,次。履开的神经元看起来像连接在一起的/个不同的神经元,这个神经元的基本优点是给出了更广义的输出。2 .梯度消失问题(VanishingGradientProb1em)在激活函数的梯度非常小的情况下.会出现梯度消失问题。在权重乘以这些小梯度值的反向传播过程中,它们往往变得非常小.并且随着网络进一步深入而“消失二这使得神经网络忘记了长距离依粮。但长期依赖对循环神经网络来说是非常重要的,可以通过使用不具有4梯度的激活函数Re1U来解决这个问题。3 .梯度爆炸问题(Exp1odingGradientProb1em)这与梯度消失问题完全相反,激活函数的梯度过大,在反向传播期间,它使特定节点的权重相对于其他节点的权重非常高.这使得它们不重要。这个问题可以通过剪切梯度轻松解决,使其不超过一定值.1230