第四课开始,我们开始学习卷积神经网络。
1.1 计算机视觉(computer vision)
深度学习在计算机视觉方面的应用非常振奋人心,一方面是该应用使许多不可能变成了可能,另一方面是深度学习在计算机视觉方面的应用能够给深度学习在其他方面的应用带来一些方法的改进和思考,比如语音识别等。
计算机视觉包含哪些问题呢?如下图所示:
比如图片分类,判断一个图片是否是猫;或者目标识别,比如在无人驾驶任务中,识别路上其他的车以及距离,以便无人驾驶能够安全执行;还有就是图片风格转化,比如我们有一个美女的照片(是吴老师的妻子,哈哈)和一个毕加索的绘画,把二者融合起来,就可以得到人像的轮廓和毕加索的风格。
比如在图片分类中,我们使用的图片可能是小图片,比如像素是64*64,加上颜色的三个channel(RGB channels),该图片作为输入是一个64*64*3=12288维的向量,还好。但若是大图片呢?比如一个像素为1000*1000的图片,那该图片作为输入就是3m(3百万)维的向量,假设第一层隐藏节点有1000个,且在完全连接的情况下,第一层的权重矩阵就是1000*3m维的矩阵,相当于第一层有30亿的权重,这时很难有足够多的样本去训练这么多的权重,容易发生过拟合,同时这么多的权重还会对内存有一定要求,而且我们不想仅限于处理小图片。为了解决衍生出来的这么多问题,我们需要使用卷积运算,见下节。
1.2 边缘检测例子(edge detection example)
卷积运算是卷积神经网络最基本的组成部