本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【j2开奖】专栏 | 卷积神经网络简介

时间:2017-02-21 22:05来源:报码现场 作者:118KJ 点击:
链接:https://zhuanlan.zhihu.com/p/25249694 一、卷积 我们在 2 维上说话。有两个 的函数 f(x,y) 和 g(x,y)。f 和 g 的卷积就是一个新的 的函数。通过下式得到: 这式子的含义是:遍览从负无穷到

链接:https://zhuanlan.zhihu.com/p/25249694

一、卷积

我们在 2 维上说话。有两个的函数 f(x,y) 和 g(x,y)。f 和 g 的卷积就是一个新的

  的函数。通过下式得到:

这式子的含义是:遍览从负无穷到正无穷的全部 s 和 t 值,把 g 在 (x-s,y-t) 位置上的值乘上 f 在 (s,t) 位置上的值之后「加和」(积分意义上的加和)到一起,就是 c 在 (x,y) 上的值。说白了卷积就是一种「加权求和」。以 (x,y) 为中心,把 g 距离中心 (-s,-t) 位置上的值乘上 f 在 (s,t) 的值,最后加到一起。把卷积公式写成离散形式就更清楚了:

如果 G 表示一幅 100 x 100 大小的灰度图像,G(x,y) 取值 [0,255] 区间内的整数,是图像在 (x,y) 的灰度值。范围外的位置上的 G 值全取 0。令 F 在 s 和 t 取 {-1,0,1} 的时候有值,其他位置全是 0。F 可以看作是一个 3 x 3 的网格。如下图:

  

wzatv:【j2开奖】专栏 | 卷积神经网络简介

图 1

G 每个小格子里的值就是图像在 (x,y) 的灰度值。F 每个小格子里的值就是 F 在 (s,t) 的值。

wzatv:【j2开奖】专栏 | 卷积神经网络简介

图 2

如上图所示,将 F 的中心 (0,0) 对准 G 的 (5,6)。把 F 和 G 对应的 9 个位置上各自的函数值相乘,再将 9 个乘积加在一起,就得到了卷积值 C(5,6)。对 G 的每一个位置求 C 值,就得到了一幅新的图像。其中有两个问题:

如果 F 的所有值之和不等于 1.0,则 C 值有可能不落在 [0,255] 区间内,atv,那就不是一个合法的图像灰度值。所以如果需要让结果是一幅图像,就得将 F 归一化——令它的所有位置之和等于 1.0 ;

对于 G 边缘上的点,有可能它的周围位置超出了图像边缘。此时可以把图像边缘之外的值当做 0。或者只计算其周围都不超边缘的点的 C。这样计算出来的图像就比原图像小一些。在上例中是小了一圈,如果 F 覆盖范围更大,那么小的圈数更多。

上述操作其实就是对数字图像进行离散卷积操作,又叫滤波。F 称作卷积核或滤波器。不同的滤波器起不同的作用。想象一下,如果 F 的大小是 3 x 3,每个格子里的值都是 1/9。那么滤波就相当于对原图像每一个点计算它周围 3 x 3 范围内 9 个图像点的灰度平均值。这应该是一种模糊。看看效果:

  

wzatv:【j2开奖】专栏 | 卷积神经网络简介

图 3

左图是 lena 灰度原图。中图用 3 x 3 值都为 1/9 的滤波器去滤,得到一个轻微模糊的图像。模糊程度不高是因为滤波器覆盖范围小。右图选取了 9 x 9 值为 1/81 的滤波器,模糊效果就较明显了。滤波器还有许多其他用处。例如下面这个滤波器:

  

wzatv:【j2开奖】专栏 | 卷积神经网络简介

尝试用它来滤 lena 图。注意该滤波器没有归一化(和不是 1.0),故滤出来的值可能不在 [0,255] 之内。通过减去最小值、除以最大/最小值之差、再乘以 255 并取整,把结果值归一到 [0,255] 之内,使之成为一幅灰度图像。

  

wzatv:【j2开奖】专栏 | 卷积神经网络简介

图 4

该滤波器把图像的边缘检测出来了。它就是 Sobel 算子。图像模糊、边缘检测等等都是人们设计出来的、有专门用途的滤波器。如果搞一个 9 x 9 的随机滤波器,会是什么效果呢?

  

wzatv:【j2开奖】专栏 | 卷积神经网络简介

图 5

如上图,效果也类似于模糊。因为把一个像素点的值用它周围 9 x 9 范围的值随机加权求和,相当于「捣浆糊」。但可以看出模糊得并不润滑。

这时我们不禁要想,如果不是由人来设计一个滤波器,而是从一个随机滤波器开始,根据某种目标、用某种方法去逐渐调整它,直到它接近我们想要的样子,可行么?这就是卷积神经网络(Convolutional Neural Network, CNN)的思想了。可调整的滤波器是 CNN 的「卷积」那部分;如何调整滤波器则是 CNN 的「神经网络」那部分。

二、神经网络

人工神经网络(Neural Network, NN)作为一个计算模型,其历史甚至要早于计算机。W.S. McCulloch 和 W. Pitts 在四十年代就提出了人工神经元模型。但是单个人工神经元甚至无法计算异或。人工智能领域的巨擘马文. 明斯基认为这个计算模型是没有前途的。在那时人们已经认识到将多个人工神经元连接成网络就能克服无法计算异或的问题,但是当时没有找到多层人工神经网络的训练方法,以至于人工神经网络模型被压抑多年。直到人们找到了多层人工神经网络的训练方法,人工神经网络才迎来了辉煌。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容