10_1_什么是卷积
Feature maps(特征maps)
彩色图片 [b,h,w,3]
三个矩阵合在一起,这是最开始的feature map。
feature map是通用的概念,代表数据的feature。x经过层,得到新的x,再经过某一层,再得到新的x。所有中间具体的数据与Tensor都可以理解为feature map。
通用的格式:[b,h,w,c],b张照片,h、w和c维度。这里的c可以不是3,是中间的结果(未知信息的抽象化),转化到特征上面去。channel的信息量变强,位置的信息量变短。
例:刚开始[1,28,28,1];经过某一层后[26,26,6];最终可能变成[3,3,512];最后全连接层转换到[b,10]。
Why not Linear(为什么不全连接)
简单的4层
335K or 1.3MB
参数量可能是335K个Tensor,float大约是1.3MB字节
em…
- 在486时代,存储有限
- 不仅要存储w,还要存储w gradient,也就是 δ w δ l o s s \frac{\delta w}{\delta loss} δlossδw
- batch x也要存储,最少也要存1张照片,[1,32,32,3]
如何解决?
Receptive Field
节点不一定和所有的输入节点全部相连接,只可能是感兴趣的一块区域,局部相关性的区域相连接(receptive field)(感知野/感知域)
例:小朋友看到蛋糕。一开始眼中只有蛋糕的区域,然后目光所及的其他区域没有注意在集中,这样的话一次处理的信号是某一小块区域。然后因为扫描时间非常快,通过快速扫描视野的总体情况存储,这样看到的是整个视野的区域。
启发:
Fully connected
每次观察整个图片
每一次观察的观察方式(权值)是不一样的
5*6
Partial connected
每一次看局部相关的区域点,下一次观看也看局部相关的区域点。不停地滑动窗口,完成对整个图片的扫描输入。
每次扫描所使用的的“眼睛”/观察方式是一样的(绿线和蓝线的权值)
sharing - 2*6 并且只有2个w1和w2
->Locally connected
滑动完得到新的feature map
使用相同的观察方式(使用相同的w相乘累加)
每次观察完得到一个标量值
Rethink Linear layer(全连接)
全局的操作方式
全连接的参数量 N*784:每一次观察,1*784的连接线;每次观察换一种观察方式,N*784。
Fully VS Locally
Weight Sharing
使用相同的w
输入有多个channel:
w不只是3*3的矩阵,图中应该要有3个3*3的矩阵。
增加参数量的情况:
- 关注窗口 的区域大小
- feature map的channel数量
先例:LENE 7-5
- 采用卷积:6层约60K
- 采用全连接:4层约335K
卷积的计算:窗口区域和w做 相乘再累加。 ∑ W i j ∗ X i j \sum W_{ij}* X_{ij} ∑Wij∗Xij
Why call Convolution?
在信号学上,两个函数的操作定义为y(t) = x(t)*h(t)。* - (卷积操作)
表示一个信号和另外的信号镜像偏置以后再做积分,会得到新的数值y(t)。新的函数代表了h函数的偏置
2D Convolution
那么对于2D离散的信号,y(t)对应是x轴的偏置和y轴的偏置
Convolution in Computer Vision
- Sharpen
- Blur 模糊化
- Edge Detect 边缘检测
CNN on feature maps
不同的卷积核(观察方式)有不同的观察方式