mooc-ntu-deeplearning

神经网络的关键问题

  • 网络结构

    具体问题具体分析

    例如:数字图像处理中得Convolutional NNet(卷积神经网络)是把相邻的像素相关联,距离远的则无关联

  • 高模型复杂度

    Regularization(正则化)

    1. Dropout
    2. Denoising(目的使NN面对含有一点noise的输入也能输出正确结果)
  • 难以得到最优解

    • 谨慎的初始化可以避免陷入局部最优解。例如:Pre-Training
  • 计算复杂度大

    GPU计算

最关键的点:RegularizationInitialization

Autoencoder

把权重(weights)看做特征转换。那么一个好的权重(good-weights)就意味着能提取输入向量的关键特征。那么样的话,我们甚至可以通过关键特征重新拼凑出最初的输入向量。而我们正是需要这样的 good-weights !

考虑只有一层隐层的神经网络,且输入和输出层都是 $d$ 维,隐层是 $ \tilde{d} $。如下图

ip-nnet

$w_{ij}^{(1)}$: encoding weights. $w_{ij}^{(1)}$:decoding weights. 目标函数 $ g(\mathbf{x}) \approx \mathbf{x}$

我们称这样的神经网络是 Information-Preserving Neural Network

性质:

  • 一般来说有 $ tilde{d} < d
  • 限制 $ w_{ij}^{(1)} = w_{ji}^{(2)}$ ,作为一种 Regularization(正则化)方式。

Pre-Trainning

前面说过,权重初始化影响着最终解陷入局部最优解,可以通过 Pre-Trainning 减少这种影响。

思想

结合 Autoencoder 的思想:好的权重意味着提取关键特征,并可以进行复原。

方法

对于一个多层的神经网络,我们由低到高依次对每层进行 autoencoder 的训练。如图:

pre-train

Regularization in Deep Learning

随着神经元的增多,神经网络的模型复杂度也随之增加。因此在模型中加入 Regularization(正则化)是必不可少的。

  • 限制模型复杂度
  • 削弱权重值
  • 提前停止
  • Denosing

Denosing

问题:一般的学习问题中,nosing对训练的正确性影响很大。

思想:学习得到一个新的分类器,用于“辨别”是否包含杂讯的数据(并转化)。

方法:对正常的数据 $\mathbf{x}$,人工加上noise产生 $\mathbf{\tilde{x}}$ 。学习数据 $ (\mathbf{\tilde{X}}, Y=\mathbf{X}) $ 。这样就可以得到一个新的分类器,这个分类器可以用于将包含杂讯的$\mathbf{\tilde{x}}$ 转化为“正确的”$\mathbf{x}$。