深度学习之感性理解-卷积神经网络
- B S. X* C" q! h, u6 q6 H. V4 e' U是什么7 B1 n0 o F1 n4 W
干嘛的
# \* T. C: C# a7 Y卷积核 N/ b, F" Y/ ~, f+ w7 g# z3 E
池化层
; J' g% G% V* f" L2 x N是什么8 Y, g, x+ Z% z& g5 X
前面我们介绍的神经网络称为全连接神经网络,因为前一层每个神经元的输出都作为下一层每个神经元的输入。卷积神经网络恰恰相反,不需要全连接,只有部分前一层输出做为后一层的输入。可以简单理解为有一张6X6像素的图片,还有一个3X3的窗口,然后进行从左到右,从上到下一格一格的移动,每次计算窗口里的值和对应图片值的乘积和作为新的像素点,放在一个新的图片里。
& L* x- P2 M% m P! Q3 t ![]()
' y+ u; w$ U* G0 K3 j如果将图片作为输入,窗口作为参数,对应的就是这种稀疏连接,共享参数的结构。
4 {$ Q* U/ ?- B" k. E$ l3 B" d![]()
3 N2 {; Y& B" G' D4 I& I, w4 E! J' T干嘛的
7 P2 W3 N% j u- s, r) y这样的连接方式虽然非常全面,不会漏掉任何一个神经元的作用,但是缺点也明显,这种连接使得参数过多,训练时间就会变长,比如处理大图片,像素个数可能有几百万维,参数数量太过庞大,导致训练时间过长,于是有大神提出了卷积神经网络(CNN)。1 M1 `7 u o# a- Z; C8 b
$ O) K, R/ A/ x8 U: f卷积神经网络至少有一个卷积层,可以用来提取特征,也就是把图片抽象化,这样就可以减少一定的信息量,参数自然就少了,同时卷积层通过共享参数的方式工作,也可以减少参数。举个例子,如果我们要识别一只猫,如果用全连接的方式可能就会描述成,一只有黄色的大耳朵蓝眼睛身体肥大的波斯猫。但是通过卷积神经网络的卷积层后,会描述成一只猫,这样就提高了通用性,只描述了抽象的特征。
8 K3 o2 U d$ n7 K: P, f8 d$ N, C1 y2 J" [# d
比如如果我要想学习交通灯的特征,交通灯只在图片里的某一部分,并非全部,如果我把像素点一个个的观察过去,是不是有点浪费,能不能用个大的窗口,直接把交通灯给捕捉出来呢,这也是用CNN的一个特点。
5 P# X3 T% Q) q2 d ; d$ R$ ^4 O' q! f5 Y7 f' A$ h
" f: Q: X! ]" g( f6 s7 ^
卷积核2 e' w( h* u/ h% K9 D6 G" {0 ]: V: ^
就是上面所说的窗口,可以简单的理解为提取相应特征的参数,把高纬度的映射到低纬度,是一种有损压缩,他的表达式也可以看成5 G3 A4 b( Y, a) L# |2 Y8 Z9 B, j
y=wx+b
0 Z' S, f' h" h7 V, ]4 A7 [$ A6 U+ m0 \3 X: \/ B$ A& T$ o
/ s( U) q$ X' m3 u
池化层一种处理层,类似卷积层,又进行了一次特征提取,减少下一层数据的处理量,进一步获取更为抽象的信息。主要分为最大池化和平均池化,即取窗口中最大的或者取平均数放入新图片里。
5 Y' P r1 J W) O/ X _![]()
0 Y7 v1 N" d( j/ O+ V4 K$ X' J好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片均来自网络,侵删。有问题加我QQ数学中国浅夏3243710560' {7 ^9 A' a9 s# {4 x6 w3 V- {
/ f5 y ]) _4 @7 ]. ]9 h8 S# m8 g# s( D, Z5 q
$ c/ C( u9 r t$ o+ ` |