通过半监督学习和自我监督学习的某些特征,表征学习大大减少了训练模型所需的数据量,更重要的是,它更加重视阻碍传统监督学习中带注释的训练数据。
它也促进了多任务学习,零次学习,流形布局技术和数据倍数概念等技术的发展,成为连接这些技术的基石上面提到的这些技术对深度学习在自然语言技术中的应用产生了巨大价值和重大影响
由于表征学习,不仅使自然语言处理更快,更易于组织使用,而且更适用于广泛的用例,而这些用例在表征学习出现之前是无法实现的。
这些是我们在 Indico 使用的技术,谷歌,Facebook 等其他组织显然也在使用这些技术, Indico Data首席技术官 Slater Victoroff 如是说但是,表征学习在这些组织中只是小范围使用,同时使用效果和理想也相差甚远,在具体应用方面也是困难重重,并不能代表机器学习的主流
但是,如果用发展的眼光看问题,为了获取长远受益,他们必须现在就行动起来。
字节对编码
从广义上讲,表征学习的工作方式与键值对的概念没有什么不同它使用类似于密钥的字节对编码,Victoroff 观察到,每个键都有一个表示它的数值,就像字典或查找表一样字节对编码是表征学习的核心内容,字节对编码是为语言中有意义的块而生成的例如:'ing space' 可能是一个块,或者'space um ' 可能是一个块,同时,Victoroff 提到字节对编码时如是说:每个块大约是 1 到 10 个字母长度hellip,hellip,大多数情况下是 1 到 3 个字母长
这种学习模式有两个值得注意的地方首先是它的语言价值,对于单词来说,表征可以识别:这些事物是否是同义词这些东西在语义上是否相关这些东西在句法上是否有联系其次,这种表征可以针对单个单词,句子甚至段落,以及用户需求提供更多的应用场景
零次学习
表征学习以多种方式对深度学习产生深远影响,其中最值得注意的是减少了训练数据的数量,这恰恰是高级机器学习模型提升准确率的必备条件如果你的表示足够好,你可以用来制作模型,他们称之为零次学习,Victoroff 指出使用这种技术,数据科学家可以利用标签作为训练模型的唯一示例
例如,在构建预测飞机模型时,统计 AI 的方法会使用airplane as your one example这个标签,然后得出推论:a few shots, single shot其结果存在各种各样的变化 这一原则会提升企业在自然语言应用领域的适用性,因为大多数高级机器学习用例都需要高标准的训练数据,而这一点往往令人望而却步
多任务学习
如果说减少训练数据是表征学习相对于深度学习应用模式的突破,那么另一个突破就是多个任务训练模型借助更广泛使用的监督和非监督学习方法,即使针对特定模型的机器学习任务,建模者再一次使用相关任务时也必须从头开始创建新模型以表征学习,多任务学习为基础可能会使这种方式成为过去
假设你对创建一个模型任务,同时为创建第二个模型任务,如果想要知道这两个模型之间的关联,就可以针对一个模型创建两个任务进行训练,两个任务共享一个模型,关联任务通过共享信息,相互补充,提升彼此的表现Victoroff 指出
这种做法对模型使用效率的提高以及对自然语言分析的价值是显而易见的建模的执行多任务处理能力在基于向量的 NLP领域中得到了充分的认可在一些竞赛中就要求模型必须解决 10 种不同类型的 NLP 问题,并且有证据表明模型实际上可以将从一项 NLP 任务中学到的知识应用到另一项 NLP 任务中,以理解英语为例我们可以证明这种方式创建的 正在跨语言交叉学习中利用了更多的信息,Victoroff 评论道这种现象被称为伸缩效应例如在训练机器学习英文之后,再训练其学习中文,会比一开始就直接训练机器学习中文要容易得多
数据倍数
better这个词表达的含义具有相对性,因此针对不同的人具有不同的含义,而含义取决于通过 NLP 实现的目标现实情况是,从深度学习的计算能力以及可扩展性方面来看,只要数据量足够大,即使是糟糕的深度神经网络也可以达到较好的效果可是,数据倍数原则是在数据量不大的情况下集中于精确定位,提升评估模型性能从而让深度神经网络达到好的效果正如Victoroff提到的,对于特定模型而言可以明显看到,在 100 个数据点上的工作情况如何,在 1,000 个数据点上的工作情况如何,在 10,000 个数据点上的效果如何
Victoroff 指出,高级机器学习模型的性能取决于数据倍数,对于上述表征学习技术,通常可以达到至少 2 到 4 倍的数据倍数Victoroff 指出,模型的4倍数据倍数就意味着该模型的形成减少了 4 倍的训练数据量使用数据倍数方式建模,可以在数据量不够的情况下达到相对满意的效果用Victoroff的话就是利用你手上现有的数据就可以达到几乎翻倍的准确性
流形布局技术
对于自然语言技术而言,其表征就是一个数字列表,数据科学家可以应用不同的数学概念来让机器理解单词的含义在自然语言处理中可以通过One—hot方式将词用数字列表的方式表示,这个数字列表可以想象成一个词典,需要处理的自然语言内容越多,这个列表就越大每个词的表示都需要通过一个很大的数字列表来完成,这样生成的向量维度高也稀疏,使计算效率大打折扣因此,可以通过流形布局技术将数字列表中创造意义的部分,转移到嵌入中,也就是将高维空间的数据转换到低维空间
嵌入是一个将离散变量转化为连续向量的方式,它不光可以减少离散变量的空间维数,也可以有意义的表示该变量Victoroff 透露,嵌入是一种将表征置于明确结构中的方法,在这个过程中为这些表征赋予意义流形是自然语言技术中最受欢迎的嵌入类型之一,因为它们具有其他结构可能没有的东西,就是距离的概念Victoroff 透露
距离,对于高级机器学习模型在语言精细理解领域至关重要根据 Victoroff 的说法,当你阅读一个句子时,存在同义词和反义词以及解析树的概念可以把词与词之间的关系看成是距离,所以我们有了这个距离的概念:两个物体 流形就是在做降维的事情,允许表征从高维空间更容易地转换到低维空间
编者:这里需要解释一下流形做的事情加入一个二维空间,两个点之间的距离通过两个点的x,y的坐标就可以算出来如果一个多维空间例如一个地球仪上面有两个点,需要知道这两个点的距离,就必须用一个软尺连接两个点,获取距离而错误的计算方式,就是用一根线切过地球表面连接两个点
流形布局测量的距离,就好像这一把软尺,顺着地球的表面量两点的距离在神经网络的多维空间中测量两个点的距离的时候就需要用到这个技术,我们可以把这两个点想象成两个词,距离就是两个词的关系离得近说明词的含义相近,如下图所示同时Embedding 还做了一个事情就是降维,将高维的向量变成低维的,容易分析和展示
成长与发展
深度学习空间正在继续快速增长表征学习可以减少自然语言技术应用中训练数据数量,并提升训练效率同时使多任务学习的底层模型效用多样化其结果是组织可以通过这些模型实现更多目标,减少构建它们所需的时间和精力,并且提高它们在 NLP 或其他应用场景中的准确性
参考
。