Ng deep learning 专项课程第四门CNN卷积神经网络 课程笔记一

一、基本知识

神经网络由于参数众多,结构复杂,经常会面临过拟合的问题。和全连接网络相比,卷积神经网络的优势在于其通过参数共享机制和滑动窗口的思想,使得每层参数的个数大大减少。从而在一定程度上降低了过拟合的程度。而且在图像处理中,也经常会用到卷积和模板、算子这些概念来提取图像的各类特征,所以看出将图像处理应用在卷积神经网络上很合适。二者都是在提取特征,只不过不同的是,神经网络是自己生成的特征filter,不一定具备人为可解释性,后续的训练也是在不断调整滤波器的系数,使得提取的特征能得到更好的学习结果。越靠前的层提取出的特征越简单,比如说常见的边缘检测等等,而这些最基本的特征又可以构成越来越复杂的特征,比如说人脸检测中的眼睛,鼻子等等。

迁移学习中,我们可以使参数不随机初始化,而是直接把某个网络中已经训练好的参数拿来作参数的初始值,可以省去很多的训练开销,这里的技巧是,先将前部分层的参数冻结,只训练后几层的参数。这个道理前面也说过了,底层提取的特征比较简单和通用,而越靠后的层提取的特征越具有针对性。

卷积层的几个参数:步长s,padding填充p(将图像进行周边的零扩充),滤波器的大小以及个数。

对于一个RGB图像大小为a*b*3,则滤波器的大小通常为x*y*3,即其第三个维度一定要和输入数据的第三个维度保持一致。这时候每个滤波器都可以看作是一个长方体,然后向右向下滑动来实现卷积。如果此时零填充最终卷积之后的结果大小应为[(a-x+1+2p)/s, (b-y+1+2p)/s]. 而滤波器的个数决定了该层要检测的特征个数,也就是卷积结果第三维的大小。要注意的一点是CNN同样也有偏差bias和激活函数,每个滤波器都有一个偏差参数,将卷积结果加上偏差值之后再去被激活函数作用。

二、残差网络ResNet

某一层可以与后面的某一层相连,实现跳远连接(但要保证这两层的大小一致),这种网络可以有效应对CNN的过拟合问题,因此网络可以大大加深。

1、深度残差更容易优化,跳远连接保证了更深的网络至少不会比浅层网络性能差。

2、网络可以做到更深,即能提取更有深度的特征。


猜你喜欢

转载自blog.csdn.net/melody96313/article/details/79328470