R语言的卷积神经网络

来源:未知 发布于 2019-10-06  浏览 次  

  如上图所示,图片是由像素组成,而像素又是由很多数字组成,最左边的方框是4*4的像素图片,展开成那条橙黄色的长度的为16的向量,以4个像素为一个单位,映射到隐藏层的一个神经元,每个像素映射都有权重,每个被 映射的神经元都有一个常数b0。以input层的1、2、4、5像素为例,这4个像素映射到隐藏层的0号神经元,权重分别是w1、w2、w3、w4,常数为b0,相应的映射函数为:Y0=x0*w1+x2*w2+x4*w3+x5*w4+b0。

  空间共享性是指任何像素组映射到卷积层的权重及常数项都是相等,例如现在红色方框框的是0、1、4、5这几个像素,下一步方框向右移动一步,框住1、2、5、香港期货公司排名6这几个元素,这几个元素对应橙黄色16个元素的向量分别也是1、2、5、6元素,10趣辦氈鹹汒儐炰珋旯挕眙貉衭頗磁釭冪萎貉,这1、2、5、6元素映射到卷积层的1号神经元,有4个权重分别是w5、w6、w7、w8,这几个权重与w1、w2、w3、w4相同,常数项b0也相同。

  卷积层可以是向量也可以是一个矩阵,输出可以是向量的形式,也可以输出成一个矩阵,这样就形成了一张图片。

  原理与黑白图片类似,不同的是多了一个维度,黑白图片只有长宽两个维度,彩色图片还有深度这个维度。

  如上图所示,彩色图片是三维的,由红绿蓝三个图层组成,每个图层的作用原理与黑白图片类似,单个图层的各个像素单元权重是共享的,但是不同图层的权重是独立的。

  从以上关于黑白照片的详细介绍中可知,卷积层的神经元个数是小于输入的图片像素的,不断卷积,卷积层就不断减小,这样就会损坏图片像素,所以需要在卷积层外加多一层zero padding。如下图所示外围的小圆圈就是zero padding。

  先观察第一个图,一开始形成6个2*2的卷积层,这6个卷积层又可以再次进行卷积,形成3个4*4的卷积层,就像第二个图,一开始识别出来的是一些图片棱角,接着识别出眼睛鼻子,最后能识别出整张人脸。

  filter指如上图所示的小方块,单一的Filter只能映射出单层卷积层,多个filter可以映射出多层卷积层,这样图片色彩更清晰。

  参数不做详细介绍了,基本是跟前面介绍的概念对应,第二个图表示的意思是卷积层的每个输出都是权重与输入的乘积。池化层:池化方法很多,这里主要介绍较大池化法。

  如上图所示,左图为卷积层,用一个2*2的filter去对卷积层切片,例如第一次切的4个元素分别是1、1、5、6,其中较大的是6,所以把这个6当作这4个元素的代表,放到池化层的第一个元素的位置。池化层的作用主要是降噪,去除一些噪音,获取关键信息。以下解释为什么要进行池化:如上图所示,第一行为原始图片,第二行为卷积层,第三行为池化结果,池化结果显示每个图片的较大值为3,如果没有进行池化,而是不断进行卷积,那么最后得到的结果也是3,但是这样会让卷积神经网络的深度更深,浪费更多空间和训练时间,所以池化可以降噪、提高运算速度。一般的卷积神经网络结构:

  原图片-非线性卷积-池化-非线性卷积-池化-全连接。2、案例背景介绍对手写图片的识别。

平特杀一码公式| 万众图库手机黑白图库| 香港赛马会资料网站| 手机开奖最快的网站| 正版刘伯温平特一肖| 本港台现场报码| 现场开马最快开奖结果| 济公网心水论坛| 香港挂牌彩图之最全篇| 生财有道图库开奖结1l|