基础深度学习概念备忘录翻译自DeepLearning Cheat Sheet。笔者仍是菜鸟一枚,如有谬误请多多赐教,另外若是但愿了解更多机器学习&深度学习的资料能够参考笔者的面向程序猿的数据科学与机器学习知识体系及资料合集以及程序猿的数据科学与机器学习实战手册。git
深度学习可能对于不少初学者是一头雾水,在高速发展的同时有不少新的概念名词被抛出,而本文则是对一些常见名词的备忘介绍。github
梯度便是某个函数的偏导数,其容许输入多个向量而后输出单个值,某个典型的函数便是神经网络中的损失函数。梯度会显示出随着变量输入的增长输出值增长的方向,换言之,若是咱们要下降损失值则反梯度逆向前行便可。网络
简称为Back prop,即将前向传播输入值计算得出的偏差反向传递到输入值中,常常用于微积分中的链式调用。机器学习
用于将神经元的输出结果限制在[0,1]
范围内的阈值函数,该函数的输出图形看起来有点像S
型,在希腊语中就是所谓Sigma。Sigmoid函数是Logistic函数的某个特例。函数
Sigmoid函数的输出间隔为[0,1]
,而ReLU的输出范围为[0,infinity]
,换言之Sigmoid更合适Logistic回归而ReLU更适合于表示正数。深度学习中ReLU并不会受制于所谓的梯度消失问题(Vanishing Gradient Problem)。学习
Tanh函数有助于将你的网络权重控制在[-1,1]
之间,并且从上图中能够看出,越靠近0的地方梯度值越大,而且梯度的范围位于[0,1]
之间,和Sigmoid函数的范围一致,这一点也能有助于避免梯度误差。spa
最先见于Recurrent Neural Networks,不过一样能够用于其余内存单元较少的地方。其主要能够在训练中保持输入的状态,从而避免以前由于RNN丢失输入先验上下文而致使的梯度消失问题。翻译
Softmax函数经常使用于神经网络的末端以添加分类功能,该函数主要是进行多元逻辑斯蒂回归,也就能够用于多元分类问题。一般会使用交叉熵做为其损失函数。3d
正则化项经过对系数添加惩罚项来避免过拟合,正则化项也可以指明模型复杂度。L1与L2的区别在于L1可以保证模型的稀疏性。引入正则化项可以保证模型的泛化能力而且避免在训练数据中过拟合。code
Drop out一样能够避免过拟合,而且能以近似指数的时间来合并多个不一样的神经网络结构。该方法会随机地在每一层中选择一些显性层与隐层,在咱们的实践中一般会由固定比例的层Drop out决定。
在深度学习中,若是有太多的层次会致使所谓的Internal Covariate Shift,也就是训练过程当中由于网络参数的变化致使网络激活分布的变化。若是咱们能减小这种变量迁移,咱们可以更快地训练网络。Batch Normalization则经过将每一个处理块进行正则化处理来解决这个问题。
也就是损失函数或者Optimization Score Function,某个深度学习网络的目标便是最小化该函数值从而提高网络的准确度。
用于衡量某个模型的准确度的标准:
F1 = 2 * (Precision * Recall) / (Precision + Recall) Precision = True Positives / (True Positives + False Positives) Recall = True Positives / (True Positives + False Negatives)
用于计算预测标签值与真实标签值之间的差距,基本的定义以下: