- CNN原理研究
https://blog.csdn.net/xiake001/article/details/78403482
下面我来推导一下每层的神经元数目和参数的个数。—输入与输出之间运算
1、输入层:输入层输入一个28x28的图片。
2、卷积层1:该层使用20个5x5的卷积核分别对输入层图片进行卷积,所以包含20x5x5=500个参数权值参数。卷积后图片边长为(28-5+1)/1 = 24,故产生20个24x24个map,包含20x24x24 = 11520个神经元。
3、池化(pooling)层1:对上一层每个2x2区域进行降采样,选取每个区域最大值,这一层没有参数。降采样过后每个map的长和宽变为原来的一半。
4、卷积层2:该层使用50个20x5x5的卷积核分别对上一层的20个map进行卷积(每个卷积核一次同时对20个map进行卷积),所以包含50x20x5x5=25000个参数权值参数。卷积后图片边长为(12-5+1)/1 = 8,故产生50个8x8个map,包含50x8x8 = 3200个神经元。
5、池化层2:和上一个池化层功能类似,将8x8的map降采样为4x4的map。该层无参数。
6、全连接层1:将上一层的所有神经元进行连接,该层含有500个神经元,故一共有50x4x4x500 = 400000个权值参数。
7、relu层:激活函数层,实现x=max[0,x],该层神经元数目和上一层相同,无权值参数。
8、全连接层2:功能和上一个全连接层类似,该层共有10个神经元,包含500x10=5000个参数。
-
函数列举
-
[filter_shape = [filter_size, embedding_size, 1, num_filters]
-
代码实现参数讲解
CNN实现文本分类代码注释 -
卷积神经网络CNN在自然语言处理中的应用
-
动态图计算
-
函数计算过程
RNN计算