赞
踩
目录
(卷积层 + (可选)池化层)* N + 全连接层 * M
全连接层:
将上一层输出展开并连接到每一个神经元上
即普通神经网络层
相比于卷积层,参数数目较大(参数数目=Ci*Co,Ci /Co为输入输出通道数目)
分类任务
回归任务
(卷积层 + (可选)池化层)* N + 反卷积层*K
Q: 做pooling使图像变小,最后怎样得到和输入图像同等大小的输出呢?
利用反卷积层,当卷积层的步长>1时,使图像size变小,若设置卷积层步长<1,就能使得一个比较小的二维特征图——>大特征图(即反卷积)
物体分割
参数过多:计算资源不足;容易过拟合,需要更多训练数据;收敛到较差的局部极值。
神经网络全连接&卷积局部连接
图像的特点:
图像的区域性,即某一区域内像素点特征类似。(某一像素为头发,其周围的的像素点也为头发的特征值)——>局部连接。
图像特征和位置无关(比如:人像在图片区域向左移或向右移,代表眼睛特征的像素点的位置就有了变化,即某一特征值的位置不是固定的)——>参数共享(强制每个神经元和图像的连接都使用同样的参数)
相邻区域的像素所代表的信息很接近。
举例:
(脸在图片上的哪个位置都可以)
即每个卷积核的参数都是一样的。
举例:
卷积核在图像上划过之后,输出的size相对于输入的size来说变小了。若有多个卷积层,每个卷积层图像都变小一点。
Case1: 当图像本来就比较小时,多加几个卷积层,图像的size可能为1,很不直观。
Case2: 对于1个大的图像来说,图像size本来是整数,经过卷积层,变为非整数。
故,需要用到padding,使得输出的size不变或者不出现case1,case2的现象。(padding的size和卷积核的size有关)
每个通道上卷积的参数不共享。在做计算的过程中,每个通道上的卷积的参数和相应的通道上的输入做内积,然后将3个通道上得到的同样位置上的内积的结果相加来作为输出神经元的值。
对于单通道:通过点积乘法得到结果。
对于多通道:每个通道通过点积乘法得到结果,再将每个通道的结果相加。最终得到单通道的输出。
多个卷积核,提取多个特征,多个卷积核的参数不共享。
池化的默认步长 == kernel_size, 不补零,若不用padding,将多余的值直接去掉。
激活函数有哪些,详见:深度学习基础知识_zhao_crystal的博客-CSDN博客
一般在卷积中,使用RELU激活函数。
p = 边距(padding)
s = 步长(stride)
输出尺寸 = (输入大小 - 卷积核 + padding)/stride + 1 (有待验证)
参数数目 = Kw * Kh * Ci * Co
Ci:输入通道数
Co:输出通道数
Kw,Kh:卷积核的长宽
代码详见:https://github.com/crystal30/Deep-learning convnet.ipynb # 卷积神经网络
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。