CNN

1. Convolutional layer(卷积层--CONV)

由滤波器filters和**函数构成。 一般要设置的超参数包括filters的数量、大小、步长,以及padding是“valid”还是“same”。当然,还包括选择什么**函数。

2. Pooling layer (池化层--POOL)

这里里面没有参数需要我们学习,因为这里里面的参数都是我们设置好了,要么是Maxpooling,要么是Averagepooling。 需要指定的超参数,包括是Max还是average,窗口大小以及步长。 通常,我们使用的比较多的是Maxpooling,而且一般取大小为(2,2)步长为2的filter,这样,经过pooling之后,输入的长宽都会缩小2倍,channels不变。

3. Fully Connected layer(全连接层--FC)

这个前面没有讲,是因为这个就是我们最熟悉的家伙,就是我们之前学的神经网络中的那种最普通的层,就是一排神经元。因为这一层是每一个单元都和前一层的每一个单元相连接,所以称之为“全连接”。 这里要指定的超参数,无非就是神经元的数量,以及**函数。

接下来,我们随便看一个CNN的模样,来获取对CNN的一些感性认识:

CNN

 

上面这个CNN是我随便拍脑门想的一个。它的结构可以用: X-->CONV(relu)-->MAXPOOL-->CONV(relu)-->FC(relu)-->FC(softmax)-->Y 来表示。