这是本人在观看吴恩达老师的关于深度学习课程所作的个人笔记。在上完机器学习的网课后,就立马着手学习深度学习相关的知识。这篇是关于卷积神经网络的笔记,参考黄海广博士的相关笔记。
1 边缘检测(基本卷积运算)
卷积计算是卷积神经网络中最基本的部分。卷积神经网络在计算机视觉方面有着很好的效果。吴恩达老师从边缘检测开始讲解使大家理解卷积计算。给定一张图片,要计算机判断图片里有什么。可以做的第一件事就是检测图片中的边缘,如下图所示
给定一个 6X6的灰度图像,因为是灰度图像,所以为 6X6X1的矩阵。为了检测图像中的垂直边缘,需要构造一个 3X3的矩阵,在神经网络的术语中,该矩阵被称为过滤器(filter)。 该矩阵可以为 ,在有些论文中,也被称为核。对这个 6x6的图像进行卷积运算,卷积运算用
表示,用 3x3的过滤器对其进行卷积
这个卷积运算会输出一个4x4的矩阵,也可以看作为4x4的图像。4X4矩阵的坐上角的值是由6x6矩阵的左上角的 矩阵与过滤器(也是
矩阵) 对应元素相乘后相加所得,如下所示
然后在将矩阵的所有元素相加得到最左的上值,为 -5。接下来4x4矩阵第一行第二个元素的计算为把蓝色的方块(过滤矩阵)向右移动一列,进行上面相同的运算即可。入下图所示
依照上述方法所计算得出的值为-5。依次计算得出 4x4矩阵的第一行。如果要计算下一行,则将过滤器下移即可,如下图所示
因此6 x6矩阵和3x3矩阵进行卷积运算得到4x4矩阵。这些图片和过滤其是不同维度的矩阵,左边的矩阵理解为一张图片,中间的图片理解为过滤器,右边的图片可以理解为另一张图片。
为什么这样可以进行垂直检测?吴恩达老师举了一个简单的例子,简单的6x6图片,左边一般为10,右边一半为0。如果看成一张图片,那么左边为白色,右边为黑色。图片中有一条明显的垂直边缘在图像中间,这条垂直线是从黑到白的过渡线。如下所示
当你使用一个 3x3的过滤器对上图进行边缘检测,卷积计算后得出的结果如下所示