representation learning的理解

一:表示学习的定义与重要性

1.什么是表示学习

表示学习 ( representation learning ) 是深度学习领域中一个比较重要的方面,机器学习算法的work与否不仅仅取决于算法的正确选用,也取决于数据的质量和有效的表示(representation)。表示学习中的“表示”,指的是对原始数据中的有效信息进行筛选、提炼,最后形成一种特征来表示原始数据。而表示学习中的“学习”,指的就是设计好的模型自己学着去自动提取出特征。
因此,表示学习指的是人为设计好的模型,能自己学着去自动地提取出原始数据中的隐含特征。当然,特征提取可以人为地手工处理,也可以借助特定的算法自动提取。Roughly Speaking, 前者为特征工程,后者为表征学习(Representation Learning)。如果数据量较小,我们可以根据自身的经验和先验知识,人为地设计出合适的特征,用作下游的任务,比如分类;但数据量很大且复杂时,则需要依赖自动化的表征学习

2.表示学习的重要性

表征学习的目的是对复杂的原始数据化繁为简,把原始数据的无效的或者冗余的信息剔除,把有效信息进行提炼,形成特征(feature)。不同的表示可能会导致有效信息的缺失或是曝露,可见表示学习效果的好坏,直接决定了提取出的特征的好坏,也影响了最终算法能够有效地解决问题。

二:表示学习的研究过程

表征学习同样在人工智能领域有着相当重要的地位。 我们已经知道人类的信息处理过程与长期记忆和短期记忆密切相关。短期记忆是短期存储的记忆,长期记忆就是我们大脑中长期存储的知识,就像在图书馆中存储的海量文献。根据这个简单的信息处理模型,再加上计算机更快的计算速度和海量的存储空间,人工智能应该比人类更为强大才是。但至少到目前,我们看到的情况并非如此。这其中一个重要的原因就是我们还未能破解人类大脑究竟是如何对数据进行编码,和对知识进行存储的。处理外界信息的第一步就是要将其编码,投影到某一空间。比如说,当人类仅需要几个例子就可以区分猫和狗的不同,而机器却需要大量数据训练时,我们不由得想要探寻:人类是如何对图像进行编码的?他提取了哪些特征可以通过少量样本进行学习?为什么人类学习的知识更灵活,可以在更多方面应用,而机器学习的模型通用性往往很差?这正是表征学习探索的目标:寻找对数据更好的表示方式
在2013年第一届 ICLR 会议上,Yoshua Bengio 与 Yann Lecun 介绍了创办该会议的初衷:机器学习方法的效果非常依赖于数据的表示(或称为特征)的选择。表征学习领域一直关注如何更好地学习到有意义的、优越的数据表示方法。也正是在2013年,Bengio 发表了关于表征学习的综述“Representation learning: A review and new perspectives”。


The success of machine learning algorithms generally depends on data representation, and we hypothesize that this is because different representations can entangle and hide more or less the different explanatory factors of variation behind the data. Although specific domain knowledge can be used to help design representations, learning with generic priors can also be used, and the quest for AI is motivating the design of more powerful representation-learning algorithms implementing such priors. This paper reviews recent work in the area of unsupervised feature learning and deep learning, covering advances in probabilistic models, auto-encoders, manifold learning, and deep networks. This motivates longer-term unanswered questions about the appropriate objectives for learning good representations, for computing representations (i.e., inference), and the geometrical connections between representation learning, density estimation and manifold learning.


Bengio为表征学习下的定义是:

learning representations of the data that make it easier to extract useful information when building classifiers or other predictors
从该定义可以看出,表征学习需要和下游的任务,比如分类(或者其他)放在一起考虑,这一点对如何评价表征学习的性能也是至关重要的。这是因为如何客观地评价一个表征的好坏是困难的,因为距离我们最终学习的目标还隔着分类器等其他机器学习的任务。

为了获得一个好的表征,构建模型的时候需要正确考虑一些对不同目标通用的先验知识,但如何将这些先验形式化为一种评价准则仍然是一个开放的问题。比如Bengio的文章中列出了一部分的先验如下:

  • Smoothness:记待估计的表征函数为f,x≈y→f(x)≈f(y);仅仅依靠对目标函数的光滑性假设做估计,就要求数据尽可能覆盖目标函数的空间。
  • Multiple explanatory factors:数据由不同的解释性因子决定,这些因子之间应该尽量解耦(disentangle),该先验催生了近期以VAE为首的研究热点。
  • Hierarchical organization of explanatory factors:越抽象的概念在越高层,这是与我们对周围的世界的描述是相符的。
  • Semi-supervised learning:表征在无监督和有监督学习中可以起到共享统计优势的作用。
  • Shared factors across tasks:学习到的表征可以不同的任务中都有效;如Multi-Task, Transfer Learning 和 Domain Adaptation。
  • Manifolds:表征应该满足高维空间中的低维流形特点,简单来说,表征聚集在维数远低于原始空间的流形, 如Auto-Encoder。
  • Natural clustering:不同类的数据分布在分散的流形上,并且不同类的数据的线性插值处在低密度区域。
  • Temporal and spatial coherence:对于sequence中连续或者是空间上接近的观察倾向于在类别概念具有相同的值,或者是仅仅在流形上有微小变化。
  • Sparsity:稀疏的表征,即大部分特征都是0,或者在观测数据上的微小扰动对大部分特征是没影响的。可通过非线性操作(强制为0),惩罚梯度的Jacobian等实现。
  • Simplicity of factor dependencies:good high-level representations,因子间的依赖关系简单,典型的是线性依赖,比如很多物理学定律。

根据不同的数据类型,主要可分为如下几个研究部分:

  • 文本的表示学习

1)词向量Word2vec
NLP (自然语言处理)中最细粒度的是 词语,词语组成句子,句子再组成段落、文档。那么如何有效地表征词语,即word embedding需要解决的问题。神经网络词向量 Word2vec的核心是上下文的表示以及上下文与目标词之间的关系的建模。构建上下文与目标 词之间的关系,最自然的一种思路就是使用语言模型。从历史上看,早期的词 向量只是神经网络语言模型的副产品。

2)Sequence的表征
比如经典的seq2seq模型:
在这里插入图片描述
encoder将输入序列编码为句向量[公式],然后到进行decoder进行解码。

然而仅仅word进行充分而强大的encoding(包含非常精准丰富的特征)并不够很好地解决所有NLP任务, 比如在QA、自然语言推理(NLI)、对话等任务中,有更加复杂的句间关系需要考虑。如果只针对一个下游任务来设计网络结构的话,将会导致同一个模型,换个不同的task就不work了。此时,Google的Bidirectional Encoder Representations from Transformers[3] (BERT)(GPT其实原理也差不多)开辟了新的方向,为多个NLP任务在考虑词级,句子级别和句间关系的情况下pretrain一个通用的模型,在获取该表征之后,只需要在不同的NLP任务中添加一个轻量级的输出层,如单层MLP,即可。

  • 图像的表示学习

代表的算法大致可分为三个研究方向:

1)监督学习 Supervised learning
需要大量的标注数据来训练神经网络模型,利用模型的预测和数据的真实标签的cross-entropy损失进行反向传播,完成模型训练之后,移除最后一层fc层,把模型的输出作为数据的Representation。

2)无监督学习 Unsupervised learning
如主成分分析(PCA)及自编码器(Autoencoder)通过对输入数据进行维度压缩,从而抛弃和合并冗余的信息,选择出最关键的浓缩信息。

3)自监督学习 Self-Supervised Learning
利用大规模的无标注的数据,选择合适的辅助任务(pretext)和自身的监督信号,通过这种构造的监督信号对网络进行训练,从而可以学习到对下游任务有价值的Representation。

无监督表示学习方法,是指在不存在人工标注信息的数据下,通过学习提取出图像内在的representation,这个representation又是什么呢?简单理解就是分类、分割、检测等任务Encoder后获取到feature map,类似于元学习和mutitask中学到的一个公有特征,只要学好了这个公有特征,那么根据具体的任务,具体的数据,只需要稍加迁移,就能够在目标数据目标任务中有着姣好的表现。所以说他的优势也体现在两点:
1、更快,具体的下游任务是在学习好的representation的基础上进行的,而不是从头开始训练。
2、更准,表示学习是在大数据集上进行的,能够从更多的数据学习到图像的representation,相对于目标域数据的规模,大数据是优势。
3、泛化性好,同样是由于表示学习的数据集由于没有人工标注,所以首先可以做到很大,其次类别也不受人工标注的限制,更接近从自然世界学习特征,任何目标域的数据都不存在严重的domain gap。


  至此我对representation learning,进行了简单讲解,希望对大家有所帮助,有不懂的地方或者建议,欢迎大家在下方留言评论。

我是努力在CV泥潭中摸爬滚打的江南咸鱼,我们一起努力,不留遗憾!

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 图表示学习是一种机器学习技术,旨在将图形数据转换为低维向量表示,以便于计算机进行处理和分析。这种技术可以应用于各种领域,如社交网络分析、生物信息学、推荐系统等。通过图表示学习,可以更好地理解和分析图形数据,从而提高数据处理和应用的效率。 ### 回答2: 图表示学习是一种机器学习的方法,用于学习和提取图结构中的有用信息和特征。图表示学习的目标是将图中的节点和边转化为向量表达,从而实现对图结构的分析和预测。 图表示学习可以应用于各种各样的领域,如社交网络分析、生物信息学、推荐系统等。通过学习图中节点的向量表达,我们可以对节点进行聚类、分类、推荐等任务。同时,图表示学习还可以揭示图结构中的隐藏关系和模式,帮助我们理解和挖掘图中的信息。 图表示学习有多种方法和技术。其中一种常用的方法是基于图的随机游走。通过模拟随机游走的过程,我们可以收集节点的邻居信息,并根据节点的邻居关系来学习节点的向量表达。还有一种常用的方法是基于图的图卷积网络。这种方法利用图结构的局部连接性来学习节点的向量表达,通过多层图卷积网络可以逐步提取节点的更高级别的特征。 图表示学习在图挖掘和数据分析领域具有广泛的应用和研究价值。它可以帮助我们理解和解释复杂的图结构,从而更好地处理和分析图数据。同时,图表示学习还能够应对大规模和高维度的图数据,提高计算效率和准确性。未来,我们可以进一步研究和发展图表示学习的方法和技术,以应对图数据分析的挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值