深度学习之感性理解-卷积神经网络; y. j( V4 \2 [% O
是什么
8 r$ f8 i+ l! H8 L) D干嘛的3 v, I1 m! u+ j* V7 [4 B, \
卷积核
( }. ~. C4 k% j* n" C0 M池化层
7 r' b. d9 d1 w! i8 u0 r, P是什么
3 ?" B- ?/ q+ \# H' U前面我们介绍的神经网络称为全连接神经网络,因为前一层每个神经元的输出都作为下一层每个神经元的输入。卷积神经网络恰恰相反,不需要全连接,只有部分前一层输出做为后一层的输入。可以简单理解为有一张6X6像素的图片,还有一个3X3的窗口,然后进行从左到右,从上到下一格一格的移动,每次计算窗口里的值和对应图片值的乘积和作为新的像素点,放在一个新的图片里。
6 A8 P; L0 ~% e7 H3 o ![]()
, y4 k7 ~% O+ }' b) o+ O0 W! \如果将图片作为输入,窗口作为参数,对应的就是这种稀疏连接,共享参数的结构。
# z/ k! g p W3 Q* W* t3 |![]()
: |$ c$ j6 E7 }( D干嘛的
9 l$ ]4 Q& H/ s( c这样的连接方式虽然非常全面,不会漏掉任何一个神经元的作用,但是缺点也明显,这种连接使得参数过多,训练时间就会变长,比如处理大图片,像素个数可能有几百万维,参数数量太过庞大,导致训练时间过长,于是有大神提出了卷积神经网络(CNN)。
; m. j1 r7 u4 e+ Z6 t( F: X$ U; c/ x, K# Q c: [: F
卷积神经网络至少有一个卷积层,可以用来提取特征,也就是把图片抽象化,这样就可以减少一定的信息量,参数自然就少了,同时卷积层通过共享参数的方式工作,也可以减少参数。举个例子,如果我们要识别一只猫,如果用全连接的方式可能就会描述成,一只有黄色的大耳朵蓝眼睛身体肥大的波斯猫。但是通过卷积神经网络的卷积层后,会描述成一只猫,这样就提高了通用性,只描述了抽象的特征。
+ [* a" L& {7 T' h2 J1 j9 ]+ |7 X" S- o5 B! u# Y4 Z
比如如果我要想学习交通灯的特征,交通灯只在图片里的某一部分,并非全部,如果我把像素点一个个的观察过去,是不是有点浪费,能不能用个大的窗口,直接把交通灯给捕捉出来呢,这也是用CNN的一个特点。% J A5 H9 d# ^$ E
![]()
4 s/ }0 X( b4 n# `/ G' H- s/ E
1 U) H- R& _: Q' E% H w/ x+ b卷积核
, ]0 w7 w/ w7 A. o0 n' x就是上面所说的窗口,可以简单的理解为提取相应特征的参数,把高纬度的映射到低纬度,是一种有损压缩,他的表达式也可以看成% Z5 T4 D/ P! ?5 ?. o+ X
y=wx+b
/ q' o1 A+ |' {& o; E( d/ Y. d
4 Q/ _! }9 d; a6 S . S7 } f! D' Z9 {( {9 Y' B
池化层一种处理层,类似卷积层,又进行了一次特征提取,减少下一层数据的处理量,进一步获取更为抽象的信息。主要分为最大池化和平均池化,即取窗口中最大的或者取平均数放入新图片里。
/ U9 W$ R& v8 `% @/ r, W, b![]()
$ n& y! Z2 r( X8 A好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片均来自网络,侵删。有问题加我QQ数学中国浅夏32437105603 t$ ^" t* q' Z& u. O5 p" k
, S4 G: x( ?% I3 s m' u+ j
, Q' i4 T2 W( ~7 V0 f( `
; A$ \: T& K0 i3 J% v' S( m
|