第一周
1,1 计算机视觉问题:
图片识别;目标检测:只需要检测出图片上物体的位置,做成一个盒子(不用辨别是什么物体);图片风格转移
在图片处理中,如果1000X1000的图片,进入全连接的神经网络中,x数据量太大达到3000000,太容易过拟合;所以就有了卷积神经网络
1.2 边缘检测
笔记:在前面说神经网络的前几层提取一些特征,检测出边缘,是因为输入的是一些向量,加权和之后就得到一些边缘特征;再往后把这些边缘再加权求和会得到一些人脸的部位;灰度图:用灰度表示的图,没有rgb,只有一个值表示灰度大小。
图片——过滤器(核)——另一张图片(tf.nn.conv2d;keras.conv2D)
垂直边缘检测原理:检测滤波器是左边是1右边是-1中间是0;这样如果原本的图片出现垂直边缘即图片有一部分的左边灰度值小右边灰度值大,这样再和滤波器作用之后就得到了一个比较大的值。(滤波器的作用就是滤除跟它不一样的,留下和它一样的部分这一部分值很大)
1.3 更多的边缘检测
边缘检测有很多种类:由暗到亮;由亮到暗可以都用上面的滤波器然后取绝对值。
边缘滤波器:sobel可以用做垂直滤波器,中间的权重比较大,使得处于图像中央的权重比较大;scharr filter ;还可以任意设置9个数字当做参数,检测任意角度的边缘,在神经网络中慢慢学习,在反向传播中得到这些参数
1.4 padding
图像大小是nXn,滤波器是fxf ,最后的维度是(n-f+1)x(n-f+1),这样就越来越小了图像;图像边缘信息用得比较少,会丢失;所以要填充(就是把边缘的像素补成可以当滤波器中心点覆盖就行),填充像素大小为p:进过滤波器之后得到的大小为(n+2p-f+1)x(n+2p-f+1),注意p是两边分别填充大小,总的填充是2p
vaild卷积是不填充,p=0;same卷积:卷积的输入和输出大小相同,p= (f-1)/2,所以一般f是奇数
左边第一个影响的是左边四个像素
1.5 卷积步长s
s=2的时候,从左往右就要跳一个;从上往下移动也要跳一个;
1.6 立体卷积
(三维矩阵感觉是二维矩阵里面的数字不是一个,是多个,就python编码里面的那种)
图片的大小:6x6x3,宽x高x通道数目channels,滤波器也是三维的:3x3x3 ,且两者的通道数必须匹配。最后与滤波器卷积之后得到的是4x4x1(即是二维的)。
这样设置滤波器就可以检测红色通道的边缘,
滤波器的参数选择不同就可以得到不同的特征
多滤波器卷积一张图像,最后可以得到立体:这里的通道数是指用了几个滤波器。有几个滤波
器就会检测出几个特征,所以最后输出的通道数取决于滤波器个数
1.7 如何构建一层卷积层
加权和,非线性,如何再把矩阵堆在一起构成三维矩阵。所以并不是向上面的那样简单的卷积之后堆叠。
而且每一个滤波器之后的偏置是不一样的。
用矩阵加上b1的时候,会发生广播,就是把矩阵的每一个元素都加上b1,
10个3x3x3的滤波器的参数个数是28X10,要注意参数的个数和输入图片的大小个数无关,是只与滤波器有关,这样才能避免过拟
注意滤波器的通道数必须等于输入的通道数。但是输出的通道数取决于滤波器的个数;如果最后一层的维度为nxnxnc,即最后输出的特征个数为nxnxnc
·
1.8深度卷积神经网络
分类问题:
卷积输出之后的3维张量,展开平滑后得到一个向量,再 经过一个logisitic或者softmax
1.9 池化层
池化层一般p=0;,
池化层和卷积层不一样,通道数是前后相等的,因为池化是对单一通道不是三个通道。
f=2,s=2,相当于把宽高各取一半。还是用那个公式,但是要注意的是f=2,s=2可以直接得到结果就是输出比输入少一半。
池化的目的:把特征的最大值取出来。参数设置:池化层没有需要反向学习设置的参数,这些参数都是手动设置的,或者通过交叉验证集设置
(注意参数w,b和超参数的设置,参数是训练集的反向传播,超参数是通过超参数设置的??)这里的f,s不是参数?
1.10 lenet-5类似的神经网络
卷积层是会引入偏置和非线性函数。这里我们把带权重的叫做一层,所以卷积+池化叫做一层。注意的是通道的个数算起来方法不一样。
卷积层-池化层-卷积-池化,,,,,,--平整为一维向量--全连接层--全连接层--softmax
或者是 多层卷积再加上池化层:conv-conv-pool-conv-conv-pool-fc-fc-fc-softmax
超参数设置可以参考别人的。
参数的设置:注意这里面卷积的参数设置是滤波器里面的值+w,超参数是滤波器维度,还有s的大小,注意。
要多参考别人的文献来整合这些基础模块
1.11 卷积神经网络的优点
参数共享,稀疏连接(我们用滤波器的时候,参数是重复使用的,那些参数是隔一段就会用一下,这里滤波器的参数和全连接层的w是一样的),整张图片共享特征检测器的参数。稀疏连接:经过滤波器之后的输出值只和滤波器覆盖的值有关,是稀疏连接。
来源:oschina
链接:https://my.oschina.net/u/4333042/blog/3651123