深度学习中的激活函数、损失函数、优化算法
DL小将
本文对深度学习中的激活函数、损失函数和常用到的优化算法进行总结分析、记录学习。优化算法用来更新模参数,经过一系列计算并通过激活函数得到的输出可以用于计算损失函数,目标是使损失函数尽可能小。
激活函数
现实生活中真实数据之间往往是复杂的非线性的关系,而不是简单的线性关系。深度学习中通过神经元的计算往往是关于权值矩阵和偏置项的线性计算,所以有必要在神经网络中引入非线性转换,强化神经网络的学习能力。
sigmoid
sigmoid函数把输入映射到0到1,适合对应到希望输出为概率的处理。导数的取值范围是0到0.25。
优点:平滑、易于求导。
缺点:由于在正反向传播中都涉及幂运算和除法,所以计算量比较大。此外,sigmoid的输出不是0均值,这将导致后一层的神经元将得到上一层输出的非0均值信号作为输入,随着网络的加深,会改变数据的原始分布。
(关于0均值:使得在反向传播参数更新梯度时避免神经元的w都朝一个方向更新,产生“z型更新”现象,加快网络收敛速度。使用sigmoid函数时,对输入数据进行零均值化可以避免第一层神经网络的"z型更新问题"。但是由于sigmoid的输出