深度学习&卷积神经网络学习笔记(一)基础

设计

全连接神经网络

没有良好的不变性

解决方法:一般是大量数据+增加层数/让不同位置有不同权值

卷积神经网络

  • 局部连接:感受野(窗口)、局部线性组合:filter(kernel)
  • 空间共享:参数减少、权值共享
  • stride、Feature Map
  • depth维度上fully-connected,权值不共享
  • Zero padding
  • 多filters:新的depth维度
  • 非线性激活函数:sigmoid、ReLU等
  • 卷积层的输入与输出
  • Vectorization
  • pooling:Max pooling等,去除feature map中的冗余信息
  • 最后:全连接层
  • 特征抓取层(自动学习特征)和分类(classify)层
  • 不变性的满足
    • 平移不变性:局部连接、空间共享
    • 旋转视角不变性:大量数据,没有好的方法
    • 尺寸不变性:inception
  • 跳层链接
  • 卷积层、非线性层、池化(下采样(downsampling))层和完全连接层

与自然的联系与原理的主观感受

自然

人的视觉系统的信息处理是分级的

复杂图形,往往由一些基本结构组成。

被选中的 S[k],基本上都是照片上不同物体的边缘线,这些线段形状相似,区别在于方向。

卷积神经网络

卷积的每个filter可以探测特定的形状。又由于Feature Map保持了抓取后的空间结构

Feature Map可探测探测边缘,棱角,模糊,突出等概念

训练

同样按照bp公式推导,毕竟原则是不变的。比如说最流行的max pooling,那就只对原convolution区块中输出最大值的那个neuron进行反向传播,其他neuron对权值更新的贡献算做0。


有意思的工具

ConvnetJS demo: toy 2d classification with 2-layer neural network

3D Visualization of a Convolutional Neural Network

发表评论