今天阅读邱锡鹏教授的蒲公英书,对表示学习有了更清楚的认知。
概念
为了提高机器学习系统的准确率,需要将输入信息转换为有效的特征,或者更一般性地称为表示(Representation)。如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习(Representation Learning)
表示学习的关键是解决语义鸿沟问题。语义鸿沟问题是指输入数据的底层特征和高层语义信息之间的不一致性和差异性。
局部表示
以颜色为例,以不同的名字来命名不同的颜色,这种表示方式叫作局部表示,也称离散表示或符号表示。通常表示为one-hot向量的形式。
- 优点
1)可解释性;
2)用于线性模型计算效率高 - 缺点
1)维度高,不能扩展;
2)无法计算之间的相似度
分布式表示
同样以颜色为例,用RGB值来表示颜色,不同颜色对应到R、G、B三维空间中一个点,这种表示方式叫作分布式表示,分布式表示通常为低纬的稠密向量。
- 优点
1)分布式表示的向量维度低;
2)用低纬向量可表示所有信息,且容易表示新的信息(三维向量就可以表示所有颜色,且也容易表示新的颜色);
3)可以计算相似度
我们可以通过神经网络将高纬的局部表示空间映射到一个非常低纬的分布式表示空间。在机器学习中,这个过程也称为嵌入(Embedding),通常指将一个度量空间中的一些对象映射到另一个低纬的度量空间中,并尽可能保持不同对象之间的拓扑关系。
小结
要学习到一种好的高层语义表示(一般为分布式表示),通常需要从底层特征开始,经过多步非线性转换才能得到。
深层结构的有点是可以增加特征的重用性,从而指数级地增加表示能力。
因此,表示学习的关键是构建具有一定深度的多层次特征表示。