sigmoid、tanh、relu等等,前两者sigmoid/tanh比较常见于全链接层,后者relu常见于卷积层。这里先简要介绍下最基础的sigmoid函数。
sigmoid的函数表达式如下
其中z是一个线性组合,比如z可以等于:b+*+*。通过代入很大的正数或很小的负数到g(z)函数中可知,其结果趋近于0或1。
因此,sigmoid函数g(z)的图形表示如下( 横轴表示定义域z,纵轴表示值域g(z) ):
也就是说,sigmoid函数的功能是相当于把一个实数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常大的负数时,则g(z)会趋近于0。
压缩至0到1有何用处呢?用处是这样一来便可以把激活函数看作一种“分类的概率”,比如激活函数的输出为0.9的话便可以解释为90%的概率为正样本。
举个例子,如下图(图引自Stanford机器学习公开课)
z = b+*+*,其中b为偏置项 假定取-30,、都取为20
如果= 0= 0,则z = -30,g(z) = 1/( 1 + e^-z)趋近于0。此外,从上图sigmoid函数的图形上也可以看出,当z=-30的时候,g(z)的值趋近于0如果= 0= 1,或=1= 0,则z =b+*+*= -30 + 20 = -10,同样,g(z)的值趋近于0如果= 1= 1,则z =b+*+*= -30 + 20*1 + 20*1 = 10,此时,g(z)趋近于1。换言之,只有和都取1的时候,g(z)→1,判定为正样本;或取0的时候,g(z)→0,判定为负样本,如此达到分类的目的。
对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。
中间是
CONV:卷积计算层,线性乘积求和。RELU:激励层,上文2.2节中有提到:ReLU是激活函数的一种。POOL:池化层,简言之,即取区域平均或最大。(特征数大大减少)最右边是
FC:全连接层