吴恩达深度学习笔记(四)week1卷积神经网络
吴恩达老师建议从事深度学习其他方向研究的人员也可以了解计算机视觉方面的算法与实例,并从中获得自己领域的灵感。
边缘检测示例
如上图中的简单例子为例,竖直边缘被检测出来了。
Padding
如上图所示,我们得到的输出图片比输入图片变小了,事实上,不加padding直接卷积有如下两个缺点:
- 图片变小:的图片将会变为其中为滤波器的大小
- 失去边缘的信息:边缘部分只做了一次卷积运算
为了解决以上问题可以通过加padding来解决 ,即给输入图片做填充,如下图所示,此时输出图片的大小变为
valid/same卷积
- valid卷积:不加padding,
- same卷积:加padding,输出图片大小不变,(一般来说,为奇数)
卷积步长(stride)
以上例子的卷积步长都是,即滤波器窗口每次移动一格。以下图片是卷积步长为的结果:
一般的,对于卷积步长为的卷积输出图片大小为:
note:若卷积窗口移动到图片外面时,则停止卷积,丢失边缘信息,这就是为什么向下取整的原因。
卷积中的“卷”体现之处
卷积核的通道数
如上图所示,当我们对RGB图像做卷积时,卷积核的第三个维度必须和输入图片的第三维相同,最后输出则把三个维度之和作为输出。
多核卷积
我们可以把输入图片同时经过多个滤波器以提取图片的多种信息:如水平边缘、竖直边缘。。。
单层卷积网络
以第一层为例:输入为大小为通过两个大小为的滤波器做卷积运算(此时的滤波器相当于BP神经网络中的,卷积运算相当于BP神经网络中的线性运算),之后再把结果通过**函数记即得下一层的输入。
单层卷积的参数个数
假设滤波器的大小为,有个滤波器,每个滤波器有个偏置单元,则参数的个数为
池化(采样)层
池化层有多种池化,课程中提到了最大池化和平均池化,值得一提的是训练神经网络时池化层的参数并不会更新:
最大池化:
平均池化
简单卷积网络示例
卷积神经网络中层的类别
- 卷积层
- 池化层
- 全连接层
LeNet-5卷积神经网络
卷积神经网络的优势
- 权共享:通过权共享能有效的减少参数的个数 ,从而提高训练的效率。如图所示,输入图片共用滤波器的个参数。
- 稀疏表示:每一层,每个神经元的输出只依赖于少数几个输入。