🥷
🥷
文章目录
  1. FAQ
  2. Resources

CNN笔记整理

FAQ

Maxpooling 的作用

  1. 不变性,更关注是否存在某些特征而不是特征具体的位置。可以看作加了一个很强的先验,让学到的特征要能容忍一些的变化。
  2. 减小下一层输入大小(减少冗余),减小计算量和参数个数。
  3. 获得定长输出。(文本分类的时候输入是不定长的,可以通过池化获得定长输出)
  4. 防止过拟合或有可能会带来欠拟合。

    作者:知乎用户

怎么设计一个好的神经网络

还不知道, 不过参数初始化的可以直接采用tensorflow给的,例如:

1
2
3
4
5
6
W1 = tf.Variable(tf.random_normal([784,256]))
b1 = tf.Variable(tf.random_normal([256]))

W1 = tf.get_variable("W1", shape=[784, 256],
initializer=tf.contrib.layers.xavier_initializer())
b1 = tf.Variable(tf.random_normal([256]))

这样得到的精度要高很多.得益初始参数选的好.

如何设置隐层的个数

试错

激活函数有哪些,有什么作用,怎么选择

激活函数可以引入非线性因素,以便解决非线性可分任务.
26种激活函数可视化(中文版)
神经网络激励函数的作用是什么-知乎

池化方式有哪些

  • maxpooling(以某个窗口大小进行滑动扫描并对邻域内特征点取最大)
  • meanpooling(求平均)

滤波器的作用

神经网络的本质就相当于一层一层的滤波器堆叠起来,过滤底层特征.筛选高层特征

如何缓解BP网络过拟合

标准BP算法和累积BP算法之间的区别

标准梯度下降和随机梯度下降之间的区别

跳出局部最小的方式有哪些

  • 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数
  • 模拟退火,每一步退火都以一定的概率接受比当前解更差的结果
  • 使用随机梯度下降

Epoch,Batch的概念区分

在一次全部数据迭代(Epoch)上将其划分成若干个小的数据(batch)进行迭代

卷积神经网络什么时候输入的图像大小是固定的,什么时候是不固定的.

有全连接层就是要固定输入大小,因为全连接层要把所有输入的像素点连接到一起,当参数个数固定之后不能更改了.所以输入要统一.只有卷积和池化则不必考虑图像大小,filter自然不关心有多大.只要扫描就行了

如果图像的大小不固定怎么办,现在需要固定

  • 强制resize,但是要细分到图像内的物体就不适用了.会导致变形.
  • 人工标注, 推荐用lableimage

Resources