深度学习可能会让很多初学者感到困惑。许多新的概念术语在高速发展的过程中被抛出。本文是一些常用术语的备忘介绍。梯度?(微分算子):梯度gradient是一个函数的偏导数,它允许输入多个向量,输出单个值。一个典型的函数是神经网络中的损失函数。梯度将显示输出值随着变量输入的增加而增加的方向。换句话说,如果我们想减少损失值,反梯度可以倒退。BackPropagation:反向传播简称Backprop,意思是将前向传播输入值计算出的误差传回给输入值,常用于微积分中的链式调用。Sigmoidσ用于将神经元的输出限制在[0,1]范围内的阈值函数。这个函数的输出图看起来有点像S型,希腊语叫做Sigma。Sigmoid函数是Logistic函数的特例。RectifiedLinearUnits或ReLUSigmoid函数的输出区间为[0,1],而ReLU的输出范围为[0,infinity]。也就是说,Sigmoid更适合Logistic回归,ReLU更适合表示正数。深度学习中的ReLU不受所谓的梯度消失问题的影响。TanhTanh函数有助于将你的网络权重控制在[-1,1]之间,从上图可以看出,越接近0,梯度值越大,梯度范围位于[0,1]之间,和Sigmoid函数的范围是一致的,这也有助于避免梯度偏差。LSTM/GRU最早出现在RecurrentNeuralNetworks中,但它也可以用于其他记忆单元较少的地方。它主要可以在训练过程中保持输入的状态,从而避免RNN因输入先验上下文丢失而导致的梯度消失问题。SoftmaxSoftmax函数常被用在神经网络的末端添加分类函数。该函数主要针对多元逻辑回归,也可以用于多元分类问题。通常使用交叉熵作为其损失函数。L1&L2Regularization正则化项通过向系数添加惩罚项来避免过度拟合。正则化项也可以表示模型的复杂性。L1和L2的区别在于L1可以保证模型的稀疏性。引入正则化项可以保证模型的泛化能力,避免训练数据过拟合。DropoutDropout也可以避免过拟合,可以在近似指数时间内合并多个不同的神经网络结构。这种方法在每一层中随机选择一些显层和隐藏层,这在我们的实践中通常由层丢失的固定比例决定。BatchNormalization在深度学习中,如果层数过多,会导致所谓的InternalCovariateShift,即在训练过程中由于网络参数的变化而导致网络激活分布发生变化。如果我们可以减少这种变量传输,我们可以更快地训练网络。BatchNormalization通过正则化每个处理块来解决这个问题。目标函数也是损失函数或优化分数函数。深度学习网络的目标是最小化函数的值以提高网络的准确性。F1/FScore用来衡量一个模型的准确率:F1=2*(Precision*Recall)/(Precision+Recall)Precision=TruePositives/(TruePositives+FalsePositives)Recall=TruePositives/(TruePositives+FalseNegatives)来计算标签预测值与真实标签值的差距,基本定义如下:【本文为专栏作者“张子雄”原创文章,如需转载请联系作者】点此查看作者的更多好文章
