深度学习之感性理解-卷积神经网络7 r0 K f( _6 j1 n7 `
是什么
% ?: r1 \" x. i; i+ z- _( B干嘛的
1 i. N- X* G, V" z: C卷积核
6 Y& D9 z% @/ M, X: Q R; A! T池化层 q$ h7 ~" ]* n0 a, u3 z
是什么* p# l: a& F5 [/ K% ]
前面我们介绍的神经网络称为全连接神经网络,因为前一层每个神经元的输出都作为下一层每个神经元的输入。卷积神经网络恰恰相反,不需要全连接,只有部分前一层输出做为后一层的输入。可以简单理解为有一张6X6像素的图片,还有一个3X3的窗口,然后进行从左到右,从上到下一格一格的移动,每次计算窗口里的值和对应图片值的乘积和作为新的像素点,放在一个新的图片里。
5 s b, \0 k6 ^- a8 u7 V9 M ![]()
7 ~2 l" N2 C5 A/ D% I9 q9 d; x如果将图片作为输入,窗口作为参数,对应的就是这种稀疏连接,共享参数的结构。
5 o" c2 i( o3 g![]()
" y8 K# `* L9 [: O4 C: g5 G: }$ t3 B干嘛的
5 t- v) l( d0 O2 a0 H0 D3 j这样的连接方式虽然非常全面,不会漏掉任何一个神经元的作用,但是缺点也明显,这种连接使得参数过多,训练时间就会变长,比如处理大图片,像素个数可能有几百万维,参数数量太过庞大,导致训练时间过长,于是有大神提出了卷积神经网络(CNN)。
" P4 B+ C# c, @! F0 K% {7 e) j+ f! o2 a" A$ e9 R
卷积神经网络至少有一个卷积层,可以用来提取特征,也就是把图片抽象化,这样就可以减少一定的信息量,参数自然就少了,同时卷积层通过共享参数的方式工作,也可以减少参数。举个例子,如果我们要识别一只猫,如果用全连接的方式可能就会描述成,一只有黄色的大耳朵蓝眼睛身体肥大的波斯猫。但是通过卷积神经网络的卷积层后,会描述成一只猫,这样就提高了通用性,只描述了抽象的特征。
! w7 [; P/ }) o7 l# N2 [* K4 {( c8 ^. d
比如如果我要想学习交通灯的特征,交通灯只在图片里的某一部分,并非全部,如果我把像素点一个个的观察过去,是不是有点浪费,能不能用个大的窗口,直接把交通灯给捕捉出来呢,这也是用CNN的一个特点。
: a6 e6 q8 F* O( B/ d5 M3 q! A3 a![]()
, k [, J4 A* {: I4 ^5 v* x2 q. Q& ~7 a' y2 Z, R. a* j
卷积核
: [3 P/ l* {: P& u. t7 w就是上面所说的窗口,可以简单的理解为提取相应特征的参数,把高纬度的映射到低纬度,是一种有损压缩,他的表达式也可以看成
. T: x1 y2 \5 V: l% t* Uy=wx+b
3 \2 c2 x, x! q+ I1 q4 b7 n4 ]" k7 A6 o3 B K q
+ K& [' C1 Q! ?8 t) `8 w
池化层一种处理层,类似卷积层,又进行了一次特征提取,减少下一层数据的处理量,进一步获取更为抽象的信息。主要分为最大池化和平均池化,即取窗口中最大的或者取平均数放入新图片里。 5 E2 i* U7 p* ^/ N7 r# y0 e# k* B7 k
6 r/ Z3 J4 l. `6 p7 w
好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片均来自网络,侵删。有问题加我QQ数学中国浅夏3243710560
6 y& W- q s7 n8 l) K p. f8 W8 ~$ X# O
. H! X5 N5 S& [% Z
) ~6 b \5 v4 T1 g |