0%

CNN的简单示例及标记法

在卷积神经网络(Convolution Neural Network)中,有多种参数表示法,在这里介绍常用的一种

当$l$代表CNN的其中一层,$f^{[l]},p^{[l]},s^{[l]}$分别表示$l$层中过滤器的大小,padding参数及步幅

对于$l$层,它的输入维度应为:

其中$[l-1]$表示$l$层的输入应为$l-1$层的输出,$n_h,n_w,n_c$分别代表输入的长,宽和通道数

而$l$层的输出维度相应的为:

其中$l$层的过滤器个数为$n_c^{[l]}$,等于损失数量$L$,过滤器的维度为$f^{[l]}*f^{[l]}*n_c^{[l-1]}$

在CNN中还有三个概念,激活值(activation),权重(weight)和偏差参数(bias)。激活值为每层的输出经激活函数处理后的结果,维度为$n_h^{[l]}*n_w^{[l]}*n_c^{[l]}$,权重为每层的过滤器总大小$f^{[l]}*f^{[l]}*n_c^{[l-1]}*n_c^{[l]}$,偏差参数为四维向量$b^{[l]}$为$1*1*1*n_c^{[l]}$

通过以上的标记法我们就可以描述一个简单CNN模型的全过程
假设我们要实现一个分类网络,输入的图片维度为$39*39*3$,网络中有三个卷积层:
$Layer 1: $

$Layer 2: $

$Layer 3: $

然后我们通过三层卷积得到了$7*7*40=1960$个特征,我们将$1960$个特征展开成$1960*1$的向量填充到logistic或softmax回归函数中,得到预测结果$\hat y$,至此一个简单的只包含卷积层的分类网络就构建成功了