【吴恩达deeplearning.ai】深度学习(7):卷积神经网络

计算机视觉(Computer Vision)是一门研究如何教机器“看”的科学,计算机视觉研究相关的理论和技术,试图创建能够从图像或者多维数据中获取“信息”的人工智能系统。

随着深度学习技术的发展,计算机视觉领域的研究也得到了快速的发展。在对各种图像进行处理的过程中,往往在少量的图像中便蕴含着大量的数据,难以用一般的DNN进行处理。而卷积神经网络(Convolutional Neural Network, CNN)作为一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,在图像处理工作上有着出色的表现。

卷积神经网络

深度神经网络

前面在神经网络中提到过,构建一个深度神经网络来进行人脸识别时,深度神经网络的前面一层可以用来进行边缘探测,其次一层用来探测照片中组成面部的各个特征部分,到后面的一层就可以根据前面获得的特征识别不同的脸型等等。其中的这些工作,都是依托CNN实现的。

基本概念

以下通过边缘检测的例子来阐述深度学习中卷积的基本概念。

灰度图卷积运算

如上图中,最左边是一张用大小为6×6的矩阵表示的存在明显分界线的灰度图,矩阵中的值大于“1”则代表白色,等于“0”则代表灰色,小于“0”则代表黑色。

通过与中间的大小为3×3的矩阵进行卷积(Convolution)运算,得到的大小为4×4的矩阵,就是图片中的存在的边缘。其中,中间这个矩阵 1 1 1000111 [ 1 0 − 1   1 0 − 1   1 0 − 1 ] 被称为滤波器(Filter)

在数学领域,“*”号是标准的卷积运算符号,但在计算机里通常用这个符号代表一般的乘法,要注意加以区分。

深度学习里面所称的卷积运算,和泛函分析中的卷积运算有所不同,它的求解过程只是简单将图像矩阵中,从左到右,由上到下,取与滤波器同等大小的一部分,每一部分中的值与滤波器中的值对应相乘后求和,最后的结果组成一个矩阵,其中没有经过翻转、反褶等过程。其运算过程如下面的卷积运算所示:

卷积运算过程

将这个灰度图左右的颜色进行翻转再与之前的滤波器进行卷积:

灰度图卷积运算-垂直

得到的结果中,原来的“30”也会变为“-30”,表示这时的图片是左灰右白,与原来相反。

上面的这个滤波器 1 1 1000111 [ 1 0 − 1   1 0 − 1   1 0 − 1 ] 可以用来探测垂直方向的边缘,那么只要把这个滤波器翻转下,变成 1 0 1101101 [ 1 1 1   0 0 0   − 1 − 1 − 1 ] ,则这个新的滤波器就可以用来探测水平方向的边缘。如下图:

灰度图卷积运算-水平

所以,不同的滤波器有着不同的作用。滤波器矩阵的大小和其中的值也都不是固定不变的,可以根据需求来选择。其中, 1 2 1000121 [ 1 0 − 1   2 0 − 2   1 0 − 1 ] 叫Sobel滤波器,它增加了中间行的权重,这样可能更稳健些。计算机视觉的研究中还会用到 3 10 30003103 [ 3 0 − 3   10 0 − 10   3 0 − 3 ] ,它叫Scharr滤波器。滤波器中的值还可以作为参数,通过训练来得到。

填充和步长

前面可以看到,大小为6×6的矩阵与大小为3×3的滤波器进行卷积运算,得到的结果是大小为4×4的矩阵。假设矩阵的大小为 n×n n × n ,而滤波器的大小为 f×f f × f f f 一般是个奇数,则卷积后结果的大小就为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值