Terms [专有名词]

DNN: Deep Neural Network,深层神经网络,一般是指多层fully connected的神经网络结构

CNN: Convolutional Neural Network,卷积神经网络。CNN主要应用于图像处理,是为了简化DNN中过多的参数但是达到同样的准确率,其核心思想就是通过卷积计算将数据进行”分组合成压缩”。

RNN: Recurrent Neural Network, 递归神经网络。RNN主要解决神经网络长时间记忆问题。

Transfer Learning: 迁移学习,是指已有数据,特别是训练集,和需要完成的任务没有直接关系。比如训练数据集是真实的猫和狗,但是task确实区分动画形象的猫和狗。或者训练集是图片,而任务是声音信号相关。

Gradient Descent [梯度下降]

是一种用于寻找loss function最小值的方法,其中又有很多不同的优化方法,来选择最好的learning rate[也就是每次梯度下降的速度]以便更快更准地找到loss function的最小值,包括*AdaGrad,SGD,RMSProp,Momentum,Nesterov,Adam[似乎是目前最好的]等等,都是这样的优化方法。

Backpropagation [反向传播]

由于在深度学习中,神经网络结构复杂,参数也非常多,当计算梯度的时候需要计算这些参数的微积分。但是由于参数过多无法通过正常的方法计算[或者计算起来很慢],backpropagation就是能够快速计算这些参数的微积分从而计算出梯度下降的一种方法。

Saturation [饱和]

这个词描述的情况可以直观理解为:当Sigmoid和tanh等激活函数值接近其边界[对于Sigmoid函数来说,就是接近0和1]的时候,会导致算法在反向传播时梯度消失。

就是指梯度接近于0[例如sigmoid函数的值接近于0或1时,函数曲线平缓,梯度接近于0]的状态,这会导致采用梯度下降法求最值时,速度偏缓。解决方法是更换损失函数和激活函数的组合,比如sigmoid有梯度消失的问题,但是relu可以一定程度解决

CNN [卷积神经网络]

CNN中一个关键是计算卷积的滑动窗口,又称 filter[过滤器] 或者 Convolutional Core[卷积核] 或者 feature detector[特征检测器]。它的主要功能是用来检测图片局部是否具备某种特征,所以在一次检测或者训练中,可能存在很多种不同的filter来检测不同的特征。每个filter计算完毕之后的结果叫做这个filter的 feature map,所以

CNN中另一个概念是channel,其实简单理解,一个彩色图片有3个channel–RGB。

Max Pooling的作用就是subset sampling,比如16个数据,分成4组,每组4个数组,max pooling之后每组只选最大的值。这样16个数据就只剩4个数据了。这样convolutional layer和max pooling layer可以重读叠加,但是随着叠加次数增多,结果的深度也会增加。当然,Max Pooling也不是必要的,可以根据不同的应用的场景决定是否使用Max Pooling[比如AlphaGo就没有使用Max Pooling]