学习范式

表示学习(representation learning)

/ rep-ruh-zen-TAY-shun LER-ning /

在你能就一个问题展开推理之前,你得先有一种好的方式去描述它。象棋大师看到的不是64个孤立的格子;他们看到的是模式——牵制、双将、弱兵——一种让正确着法一目了然的「表示」。表示学习,讲的就是让机器自己去发现一种描述原始数据的好方式,而不是由人手工把那些描述刻出来。

在更早的机器学习里,人们在「特征工程」上花了惊人的力气:靠手工决定从原始数据里抽取哪些测量值(边缘数目、词频),好让一个简单模型能用上它们。表示学习把这反了过来:模型直接从数据里学出有用的内部描述。深度神经网络一层一层地做这件事——前面的层把像素变成边缘,后面的层再变成形状、然后是物体——搭起一座层级,特征越往上越有意义。学到的表示,常常是一个被称作嵌入(embedding)的紧凑向量,它把相似的东西在空间里摆到一处,让下游任务变得轻而易举。

这大概正是深度学习能后来居上的原因:一份学到的表示可以服务于许多任务,而且它捕捉到了人类根本想不到去手写的结构。诚实地补几句:这些表示通常是不透明的——我们没法轻易读出每一维「意味着」什么;而且它会一丝不苟地把数据里的一切都编码进去,偏见也在其中。一份表示的好坏与公正,永远不会超过塑造它的那份数据与那个目标,而「好」也是相对于你最终在意的那个任务而言的。

词嵌入把每个词变成一个向量。在大量文本上训练后,用法相近的词会落到彼此附近——「国王」紧挨着「王后」,「巴黎」靠着「伦敦」。没人告诉过模型国王是什么;它学出了一种表示,让含义变成了几何,连「国王 − 男人 + 女人 ≈ 王后」这样的算术也大致成立。

学到的表示把含义变成了几何。

学到的表示强大却不透明——你通常读不出每一维的含义——而且数据里有什么它就编码什么,偏见也不例外。表示的公正程度,不会超过塑造它的数据和目标。

又称
feature learning表示学习表示學習特征学习