今天读了今年cvpr上TAYLOR和Ranzato分别关于unsupervised learing和supervised Learning的tutorials,收获不少。在Deep learning这个大背景下,作者们对这两个topic都有精彩的阐述。
关于unsupervised learning,我最开始是从PCA开始的,继而ICA,SVD,到Sparse coding,再到auto-encoder,一直到RBM。越来越感觉到它的神奇,尤其是涉及到manifold learning,更觉得unsupervised learning的高大上。这次介绍读TAYLOR的tutorial的感受。
作者首先用5个理由解释unsupervised learning的意义:
1,是由于存在着大量的无标签的数据,这些数据很容易获得。
2,是由于无监督学习,学习出来的一些variables是training过程中所获得不到的。
3,是由于无监督学习对于supervised Learning是一个好的regularizer。It helps generalize。这个是最重要的。因此它涉及到了好几个实用化的application:
Transfer Learning ,domain adaptation, unbalanced classes(其实和domain adaptation是分不开的),zero-shot,one-shot Learning。4,是由于无监督学习主要是通过level-local training signal来实现的。与supervised learning相比,后者对于参数的更新主要是通过输出与label的残差进行backpropagate实现的。这个就是传统的bp网络。
5,是由于现在的目标识别问题往往涉及到多labels的概念,这就意味着我们输入是符合multi-modal分布的(下图),于是我们的unsupervised leaning就可以尝试着学习出这些structured output。
无监督学习首先涉及到的是目标函数的构造:
后面就牵扯到现在在DL中常用的两种unsupervised learning:auto-encoder和RBM。下面谈谈自己的感受:
因为最近在看CNN中的domain adaption,联想到今天看的unsupervised learnig,我明白了其实无监督学习和监督学习都涉及到了目标函数的构建,只不过目标不同。
在深度学习中,无监督之所以重要是因为浅层的无监督学习往往能够准确的学习出很多低层特征,这些低层特征不具有类间区分性,因此对于有监督学习是一个auxiliary作用,但是一旦到层数比较高的阶段的话,就会涉及到类间的区分性,这个就与类标签很相关了。这种高层的特征由于具有类间区分性,因此必须采用有监督学习的方式进行处理,这也就是domain adaption为什么采用了将ConvNet网络的最后一层进行替换的原因了。
由此可见无监督学习与有监督学习在特征学习这一块的话是一个相辅相成的关系,关键是label在这里起到了区分作用了。这正是无监督与有监督学习的根本区别之所在。