让我们敲开卷积神经网络的大门!
结构图心中有,走在路上不会丢。
首先我们研究图像怎么表示
还是直接展开为列向量。
全连接神经网络的瓶颈:全连接网络每一个隐层的神经元都和前层的所有输入连接,考虑CIFAR10.一个神经元权值个数有3072+1(偏置)个,如果图像大小2002003,一个神经元就12万个权值个数,这只是一个神经元,一层可能有一千个,有好多隐层,这谁顶得住,生产队的牛都顶不住啊!
我们刚刚在前一节用卷积核得到了特征相应图组,并考虑忽略位置信息的平均特征响应图组,这个权值少啊!把这个平均特征权值当作全连接神经网络的输入,不就解决了参数庞大的,易过拟合,不易训练的问题了嘛!
基于此我们得到了卷积神经网络的结构图!
卷积神经网络一个典型的场景。
为什么要有这么多的ConV层?实际上前层的纹理基元所需的ConV层并不多,后层的ConV层逐渐递进,有基元信息慢慢抽象出了语义信息。
这里注意我们的卷积核组得到的特征响应图组我们并不关心位置信息对我们图片分类的影响,所以我们对得到的权值向量进行平均(在最后与FC层连接的卷积核)。
卷积操作,和我们之前提到的卷积操作并没有什么本质上的区别。
特征响应图组的个数等于使用卷积核的个数。一想就懂。
这里特征响应图因为没有做平均所以还是记录了对应位置对对应卷积核的响应信息。
一些计算特征:
ReLu层就是对特征响应图进行非线性操作。
接下来我们讨论POOL层
pooling层,再不损失特征响应图信息的情况下,尽量的减少特征响应图的尺寸,方便计算。
最后一个pooling层对得到的裁剪后的特征响应图进行平均得到:
平均值,忽略位置信息,连接全连接层,正向传播,反向更新!成了!
我们讨论图像增强的问题。