深度学习之感性理解-卷积神经网络
. R5 a4 ], I$ P1 b, ~是什么 n2 y3 R; p! I( \+ o
干嘛的' l, M& B$ G% b5 U9 ]! s+ H& S
卷积核
# e3 J/ N; c" q* A+ \5 V% Q池化层
# C b0 N3 ?0 n# z是什么7 W# Z" _ y6 J4 a6 v% P
前面我们介绍的神经网络称为全连接神经网络,因为前一层每个神经元的输出都作为下一层每个神经元的输入。卷积神经网络恰恰相反,不需要全连接,只有部分前一层输出做为后一层的输入。可以简单理解为有一张6X6像素的图片,还有一个3X3的窗口,然后进行从左到右,从上到下一格一格的移动,每次计算窗口里的值和对应图片值的乘积和作为新的像素点,放在一个新的图片里。1 a; U! g- @1 ?5 {- s5 } N
2 q) c- Y A K# ], @
如果将图片作为输入,窗口作为参数,对应的就是这种稀疏连接,共享参数的结构。
/ }* g) X1 E, D5 t7 r! d( G9 E, ]9 A![]()
9 p6 C6 K- B- ~# K. m, B0 K R干嘛的
# D. ^+ m( b( |3 m4 U! }这样的连接方式虽然非常全面,不会漏掉任何一个神经元的作用,但是缺点也明显,这种连接使得参数过多,训练时间就会变长,比如处理大图片,像素个数可能有几百万维,参数数量太过庞大,导致训练时间过长,于是有大神提出了卷积神经网络(CNN)。
) v. A" v X! H: ^( R: H1 R" A7 z2 ]& I; K1 F+ R; O1 n
卷积神经网络至少有一个卷积层,可以用来提取特征,也就是把图片抽象化,这样就可以减少一定的信息量,参数自然就少了,同时卷积层通过共享参数的方式工作,也可以减少参数。举个例子,如果我们要识别一只猫,如果用全连接的方式可能就会描述成,一只有黄色的大耳朵蓝眼睛身体肥大的波斯猫。但是通过卷积神经网络的卷积层后,会描述成一只猫,这样就提高了通用性,只描述了抽象的特征。6 N* D# c2 O K# B+ t& z
4 J$ k" i4 q1 h$ t/ M+ Z6 K
比如如果我要想学习交通灯的特征,交通灯只在图片里的某一部分,并非全部,如果我把像素点一个个的观察过去,是不是有点浪费,能不能用个大的窗口,直接把交通灯给捕捉出来呢,这也是用CNN的一个特点。4 }" Q2 v6 Z, ^
![]()
8 ? U. P4 E/ c: X* Z- |# x: T
) {+ i! R; R$ N" F0 b卷积核. U) @9 S5 y, A- M& E
就是上面所说的窗口,可以简单的理解为提取相应特征的参数,把高纬度的映射到低纬度,是一种有损压缩,他的表达式也可以看成! _# T8 G$ h' W% V2 R& X
y=wx+b+ } m; ]+ p8 u7 x2 r& z p
% o W8 H9 Y* |& ]4 F![]()
( a" D: t% W. Y池化层一种处理层,类似卷积层,又进行了一次特征提取,减少下一层数据的处理量,进一步获取更为抽象的信息。主要分为最大池化和平均池化,即取窗口中最大的或者取平均数放入新图片里。
) z2 Z3 Q" H/ f9 ~ ' W. R3 _7 R7 P8 k7 Y
好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片均来自网络,侵删。有问题加我QQ数学中国浅夏3243710560
7 p( F2 D7 R* l' y. K2 M @! r2 G. D3 |8 _2 y& e
2 I- u8 Q" p4 W$ B m2 q3 d. I; R* J/ j% d8 f2 @2 ? j
|