第三节:卷积层详解1
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三节:卷积层详解1相关的知识,希望对你有一定的参考价值。
文章目录
卷积层:卷积层是CNN中的核心层,CNN中大部分计算量就集中在卷积层,卷积层主要完成卷积运算,目的是对输入数据进行特征提取,其要点如下
一:什么是卷积运算(了解)
在数学中,卷积是通过两个函数 f f f和 w w w生成第三个函数 s s s的数学算子。假设有一个函数 f ( t ) f(t) f(t)用来表示在时刻 t t t发生的某一新闻对股价的影响,且时刻 t t t的股价不仅被该新闻所影响,还会被之前每天发生的相关新闻所影响。显然,距离 t t t时刻越近的新闻与股价就越相关,这里使用加权函数 w ( t − a ) w(t-a) w(t−a)对新闻赋予不同权重,其中 a a a表示发生该新闻的时间点, t − a t-a t−a就表示该新闻发生时刻 a a a与当前时刻 t t t的时间间隔。
对于时刻 t t t,基于新闻的股价预测函数就可以定义为
s ( t ) = ∑ a = − ∞ + ∞ f ( a ) w ( t − a ) s(t)=\\sum\\limits_a=-\\infty^+\\inftyf(a)w(t-a) s(t)=a=−∞∑+∞f(a)w(t−a)
也即时刻 t t t的股价预测结果是 t t t时刻及以前所有新闻对骨架的影响加权求和的结果。将上例中的 f f f和 w w w做一般化后,求 s s s的这种运算就叫做卷积。卷积运算通常用星号表示,这样这样我们就得到了离散形式的卷积公式
s
(
t
)
=
(
f
∗
w
)
(
t
)
=
∑
α
=
−
∞
+
∞
f
(
a
)
w
(
t
−
a
)
s(t)=(f*w)(t)=\\mathop\\sum_\\alpha=-\\infty^+\\inftyf(a)w(t-a)
s(t)=(f∗w)(t)=α=−∞∑+∞f(a)w(t−a)
且当
f
f
f和
w
w
w为
R
R
R上的可积函数时,便可以得到卷积公式的积分形式
而在CNN中使用的卷积与少奶奶是一种相当简单的运算,在神经网络中,第一个参数函数 f f f叫做输入,第二个参数 w w w叫做核函数(卷积核)
s ( t ) = ( f ∗ w ) ( t ) = ∫ − ∞ + ∞ f ( a ) w ( t − a ) d a s(t)=(f*w)(t)=\\int_-\\infty^+\\infty f(a)w(t-a) \\, da s(t)=(f∗w)(t)=∫−∞+∞f(a)w(t−a)da
二:从全连接层到卷积层
从全连接层到卷积层:卷积层的出现也不是突然的,从某种方面它可以看作是全连接层的拓展,目的还是为了解决全连接层的缺点
- 图像空间信息丢失(不具备空间不变性)
- 参数爆炸
(1)解决空间不变性
对于传统的全连接层,假设输入个数为 n n n,那么第 j j j神经元的输出应该为(暂时忽略激活函数), W i j W_ij Wij是一个二维张量表示与第 i i i个输入相连的第 j j j个权重,此时隐藏神经元输出为
H j = ∑ i n W i j X i + B H_j=\\mathop\\sum_i^nW_ijX_i+B Hj=i∑nWijXi+B
而在图像数据中,输入的是矩阵,并不是向量,所以我们可以尝试把这个权重也改为矩阵。运用类比的思想,将 W i , j W_i,j Wi,j权重变形为一个四维张量 W i , j , k , l W_i,j,k,l Wi,j,k,l,表示与第 ( k , l ) (k,l) (k,l)号输入相连的第 ( i , j ) (i,j) (i,j)号权重,此时隐藏神经元输出为
H i j = ∑ k ∑ l W i , j , k , l X k , l + U i , j H_ij=\\mathop\\sum_k^\\mathop\\sum_l^W_i,j,k,lX_k,l+U_i,j Hij=k∑l∑Wi,j,k,lXk,l+Ui,j
- X k , l X_k,l Xk,l就是输入矩阵中,第 k k k行第 l l l列的输入元素
对上式进行改写,重新索引下标 ( k , l ) (k,l) (k,l),使 k = i + a k=i+a k=i+a, l = j + b l=j+b l=j+b,此时
H i , j = ∑ a ∑ b V i , j , a , b X i + a , j + b + U i , j H_i,j=\\mathop\\sum_a^\\mathop\\sum_b^V_i,j,a,bX_i+a,j+b+U_i,j Hi,j=a∑b∑Vi,j,a,bXi+a,j+b+Ui,j
这表示,对于隐藏层中任意位置 ( i , j ) (i,j) (i,j)处的神经元输出 H i , j H_i,j Hi,j,可以通过在 X X X中以 ( i , j ) (i,j) (i,j)为中心对像素进行加权求和得到,加权使用的权重为 V i , j , a , b V_i,j,a,b Vi,j,a,b
解决平移不变性:
局部性是指 我们只需要关注一个图片的局部的特征,不应该偏离到距 ( i , j ) (i,j) (i,j)太远的地方,这意味必须限制 a , b a,b a,b在某一范围之内
H i , j = u + ∑ a ∑ b V a , b X i + a , j + b H_i,j=u+\\mathop\\sum_a^\\mathop\\sum_b^V_a,bX_i+a,j+b Hi,j=u+a以上是关于第三节:卷积层详解1的主要内容,如果未能解决你的问题,请参考以下文章