深度学习之感性理解-卷积神经网络/ B8 z6 \* O3 F
是什么 m6 _ f$ u1 ~+ }, y. ]2 Q
干嘛的3 Q2 {% t% e3 \6 h3 \/ [6 x
卷积核
7 G4 o0 p* c# D g; I2 i池化层5 l# x, s! ^/ ^
是什么" g' I1 c n% Z3 \- c: T( X- q3 Y
前面我们介绍的神经网络称为全连接神经网络,因为前一层每个神经元的输出都作为下一层每个神经元的输入。卷积神经网络恰恰相反,不需要全连接,只有部分前一层输出做为后一层的输入。可以简单理解为有一张6X6像素的图片,还有一个3X3的窗口,然后进行从左到右,从上到下一格一格的移动,每次计算窗口里的值和对应图片值的乘积和作为新的像素点,放在一个新的图片里。
( q7 R% d+ G& A* [4 x ![]()
5 C( X' ]# _8 Z如果将图片作为输入,窗口作为参数,对应的就是这种稀疏连接,共享参数的结构。$ f0 ?: w& z; h& q7 F, A' s1 B9 D6 j
![]()
) X5 v$ S |" x. F# i( g7 `+ W干嘛的
* g$ H8 i: }6 [! l7 L& Z这样的连接方式虽然非常全面,不会漏掉任何一个神经元的作用,但是缺点也明显,这种连接使得参数过多,训练时间就会变长,比如处理大图片,像素个数可能有几百万维,参数数量太过庞大,导致训练时间过长,于是有大神提出了卷积神经网络(CNN)。/ b- Q, J" e: V# L& S7 n
# I0 j3 r4 v+ V+ A. ?9 y* H# T卷积神经网络至少有一个卷积层,可以用来提取特征,也就是把图片抽象化,这样就可以减少一定的信息量,参数自然就少了,同时卷积层通过共享参数的方式工作,也可以减少参数。举个例子,如果我们要识别一只猫,如果用全连接的方式可能就会描述成,一只有黄色的大耳朵蓝眼睛身体肥大的波斯猫。但是通过卷积神经网络的卷积层后,会描述成一只猫,这样就提高了通用性,只描述了抽象的特征。
k5 o( b5 q1 ^. K! r6 ^/ h" `
! s7 I- N" ]( R- p比如如果我要想学习交通灯的特征,交通灯只在图片里的某一部分,并非全部,如果我把像素点一个个的观察过去,是不是有点浪费,能不能用个大的窗口,直接把交通灯给捕捉出来呢,这也是用CNN的一个特点。- M6 p# M/ {) ]# J. Z0 H3 ~
6 l# G) e6 \ E6 V! R4 s
) A) g& u9 m. \& ]* B
卷积核
* i2 t$ U1 D5 E, [& a2 g. Q就是上面所说的窗口,可以简单的理解为提取相应特征的参数,把高纬度的映射到低纬度,是一种有损压缩,他的表达式也可以看成' W9 O. ] w5 Q" B4 x$ k& x! Z
y=wx+b" w' K4 J) @4 b& H! D9 R( @" ^
% ~3 [# D$ o1 Y7 t2 H4 t $ y- x2 @& O! E
池化层一种处理层,类似卷积层,又进行了一次特征提取,减少下一层数据的处理量,进一步获取更为抽象的信息。主要分为最大池化和平均池化,即取窗口中最大的或者取平均数放入新图片里。 % N' l- p" W6 L& ^
![]()
7 I ]% f- B1 c1 X- H* F6 M6 O好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片均来自网络,侵删。有问题加我QQ数学中国浅夏3243710560
" O( e. k! }8 W* _! k
) q, D3 L, Y& t& r1 E( P3 j) C
+ e( W! h0 }3 L1 R* @/ l# r7 u2 W ?4 v( ?9 Z$ N
|