Fork me on GitHub

Machine Learning

如果公式无法正常显示,请尝试多刷新几次页面。

Unsupervised

Clustering

K-Means

  • 算法复杂度不易控制 $ O(KNm) $ 。

  • K-Means 时候出现的超级大群现象,如何解决?

Normalization in DL

归一化

注意:归一化标准化 不是同一个概念。

  • 为什么要进行归一化?

    • 去除不同特征之间由于单位不同导致的差别(比如身高用m,体重用kg)。
  • 归一化的作用

    • 加快梯度下降算法的收敛。(归一化之后损失函数的等高线由椭圆变成了圆,梯度直接朝向最小点移动)

      如果不进行归一化,由于特征向量中不同特征的取值相差较大,会导致目标函数变“扁”。这样在进行梯度下降的时候,梯度的方向就会偏离最小值的方向,增大训练时间。

Optimization Method in DL

SGD

$$
\theta_{t+1,i} = \theta_{t,i} - \eta·g_{t,i}
$$

  • 缺点:

    • SGD 最大的缺点是下降速度慢。

    • 可能会在沟壑(“盆地”)的两边持续震荡,停留在一个局部最优点,可能无法从中出来,也就无法继续优化。(所以需要细心的初始化参数)。

    • 遇到“鞍点/平原”,可能停止更新(梯度都是 $ 0 $)。

Striving for Simplicity: The All Convolutional Net

  • contribution

    • stride convoulution替代pooling,实现没有pooling的 network

    • guided backpropagation,可视化的新方法,可以在没有

  • 有2种方法去掉pooling,并且不影响网络的性能:

    • 增大它前面一层的convolution层的stride,目的是起到类似pooling的降维作用。

      • 这种做法有问题:虽然起到了降维的作用,但是相对于pooling,相当于只考虑了top-left的features,实验结果证实效果确实不好。
    • 把这一层的pooling换成简单的convolution,但要保证:(1)相同大小的 filter size 和 stride;(2)和pooling相同大小的输出。

      • 这种没有前一种的问题,但是增加了 parameters 的数量。

      • 作者说这可以看成是主动的学习pooling,而不是固定的采用max/avg等方式。

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

这篇文章最主要的目的是把GAN作为一种representation learning的方法(对GeneratorDiscriminator都是这个目的,而不是生成图片),然后用学到的 features 用于supervised learningclassification等)。做了相关的实验验证(用学到的 features 在其它数据集上进行分类,对学到的features进行可视化)representation learning的效果很好。

Motivation

  • 无标数据比有标数据多得多,如果能利用这些数据提取 features,然后用于supervised任务,会很有帮助

  • 用于supervised learningCNNCV方面取得了取得了很好的成绩,如果用于unsupervised learning是不是也可以取得比较不错的成绩。

  • 最近的GAN很火,那是不是可以把GAN的结构用到CNN中(所以从这个角度看是:用GAN改进CNN,而不是用CNN改进GAN),把CNN改成一种可以用于unsupervised learning任务的结构。

  • convincing evidence 表明:提出的 model 可以 learns a hierarchy of representations from object parts to scenes

Longest Common Substring

Longest Common Substring

Description:

Given two strings, find the longest common substring. Return the length of it.

Notice:

The characters in substring should occur continuously in original string. This is different with subsequence.

Example:

Given A = “ABCD”, B = “CBCE”, return 2.

Learning Deconvolution Network for Semantic Segmentation

这个就是大家所说的反卷积网络

Category of Deconvolution

DeconvolutionDeep Learning领域大致可以分为下面 2 个种类。

  • Transposed Convolution

    convolution的反转过程,这篇 paper 讲的就是这个。

  • Convolutional Sparse Coding

    它是一种representation learning的一种,目的是根据从图像中学到的features完全的还原图像。

Motivation

Deep Residual Learning for Image Recognition

这个就是大家所说的ResNet——残差网络

Motivation

很多实验都证明网络的深度对网络的效果有着很重要的影响,理论上网络层数越多,得到的效果会越好,但是作者做了实验却发现网络的深度与网络在test dataset上的error rate是一个U形的曲线。也就是说当网络达到一定深度后,再增加深度,效果会变差,作者把这种现象称为Degradation Problem

Degradation Problem

Maxout Networks & Network in Network

Maxout Networks

Motivation

dropout是一种 regularization 的方法,主要作用是用来减轻过拟合现象。实现方式是:以一定的概率,随机的把hidden units的输出值设成0,也就是随机的让某些hidden units失活,此时就相当于是一种集成模型的训练。

实验证实当网络比较深的时候,使用dropout能够很好的提升网络的 generalization 能力。

作者就想:如果不只是单单的把它作为一种提升模型性能的工具,而是直接应用到网络结构的内部,是不是能够更好的提高网络的性能呢?

注意:dropout只是一种 regularizer,而maxout是一种网络结构。