深度学习之感性理解-卷积神经网络) U9 Q* Z+ G* h- h0 \1 x
是什么* G& E' r) E( ~
干嘛的
0 e* g/ J5 q( P) w* ^卷积核0 [# ]! g& C1 `7 R0 o) S3 U
池化层+ b: s3 e. ?: T9 y1 L
是什么
* N1 Y5 |6 K3 Y) F/ x6 v R前面我们介绍的神经网络称为全连接神经网络,因为前一层每个神经元的输出都作为下一层每个神经元的输入。卷积神经网络恰恰相反,不需要全连接,只有部分前一层输出做为后一层的输入。可以简单理解为有一张6X6像素的图片,还有一个3X3的窗口,然后进行从左到右,从上到下一格一格的移动,每次计算窗口里的值和对应图片值的乘积和作为新的像素点,放在一个新的图片里。2 Z9 C# ?2 |. G% Q" s' y
T4 M) k& |4 S7 S7 ]! V
如果将图片作为输入,窗口作为参数,对应的就是这种稀疏连接,共享参数的结构。7 A( w( b8 S& ^# i) K# Q0 l
![]()
: n* E* B+ |0 `' x干嘛的$ `" T A( I |* d% y4 ^9 u
这样的连接方式虽然非常全面,不会漏掉任何一个神经元的作用,但是缺点也明显,这种连接使得参数过多,训练时间就会变长,比如处理大图片,像素个数可能有几百万维,参数数量太过庞大,导致训练时间过长,于是有大神提出了卷积神经网络(CNN)。
' {' Y- w* U/ {6 Y) g' T1 f, J! o4 s# O. _6 G
卷积神经网络至少有一个卷积层,可以用来提取特征,也就是把图片抽象化,这样就可以减少一定的信息量,参数自然就少了,同时卷积层通过共享参数的方式工作,也可以减少参数。举个例子,如果我们要识别一只猫,如果用全连接的方式可能就会描述成,一只有黄色的大耳朵蓝眼睛身体肥大的波斯猫。但是通过卷积神经网络的卷积层后,会描述成一只猫,这样就提高了通用性,只描述了抽象的特征。
* K1 `8 E0 h* d* n- s4 o; p1 F+ C6 S: v, @9 c" N" s
比如如果我要想学习交通灯的特征,交通灯只在图片里的某一部分,并非全部,如果我把像素点一个个的观察过去,是不是有点浪费,能不能用个大的窗口,直接把交通灯给捕捉出来呢,这也是用CNN的一个特点。* e+ [2 N9 g+ d2 M. d ], j
![]()
5 U( Z5 B2 K; }- K/ r: O% F& p$ h& V ]4 C# N
卷积核& a! _ G2 Z' V2 C K5 Z
就是上面所说的窗口,可以简单的理解为提取相应特征的参数,把高纬度的映射到低纬度,是一种有损压缩,他的表达式也可以看成
_, Q( k& m5 P0 @y=wx+b8 {3 A$ f+ u6 C
+ k, @) d. R7 G* a7 l, Z3 D" Z
![]()
7 [% Q. C( T; n5 `; I2 ?池化层一种处理层,类似卷积层,又进行了一次特征提取,减少下一层数据的处理量,进一步获取更为抽象的信息。主要分为最大池化和平均池化,即取窗口中最大的或者取平均数放入新图片里。 ' a! s& H, i+ Q6 X/ x
i2 L. l1 c, B$ g' f! y9 s
好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片均来自网络,侵删。有问题加我QQ数学中国浅夏3243710560; U( q+ r; K, A Q! S, s" q
3 @* F# I; }( o' n* M
& m" S; m% e$ o: g& G' f* |
: H6 B9 @4 [. i3 A- `6 k- j; r# K |