我拿乐谱训了个语言模型!

文 | 花椒


最近在刷EMNLP论文的时候发现一篇非常有趣的论文《Learning Music Helps You Read: Using Transfer to Study Linguistic Structure in Language Models》,来自斯坦福大学NLP组。论文有趣的发现是让语言模型先在乐谱上进行训练,再在自然语言上训练可以有效的提升语言模型的性能。在看了一大堆BERT-based的模型后,看到这篇文章时便觉得眼前一亮。激发了花椒的好奇心。都说学习音乐可以让大脑更加聪明。难道语言模型也一样?从音乐中获得了“灵感”,变“聪明”了? 于是乎带着脑洞继续往下读。

论文题目
Learning Music Helps You Read: Using Transfer to Study Linguistic Structure in Language Models

论文链接
https://www.aclweb.org/anthology/2020.emnlp-main.554.pdf    

Github
https://github.com/toizzy/tilt-transfer

Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【1130】 下载论文PDF~

本文主要探究什么问题?

本文的主要假设是对于有结构性的语言,比如乐谱和代码,他们的潜在结构能被神经网络所编码,且有助于自然语言的学习。在此假设上,本文主要研究问题是:

当存在两种语言L1和L2时, 语言模型可以在多大程度上学习并迁移L1中的潜在结构到L2中,以帮助L2的学习?

文中对于语言的定义是比较宽泛的,包括我们日常用的自然语言,音乐,代码等。因为每一种语言有着不同的潜在结构,为探究不同L1对L2的影响,本文主要围绕3个方面对L1发问:

  • 当L1是non-linguistic语言时(比如music, Java code),语言模型是否可以学习其潜在结构,并迁移到自然语言中?

  • 是否是L1中的递归结构对语言模型的学习和迁移有帮助?

  • 当L1是与L2不同的自然语言时,语言模型是否可以学习并迁移其中的句法结构?

为了回答这3个问题,作者提出了一种叫做TILT (Test for Inductive Bias via Language Model Transfer)的测试方法。核心思想是,先用L1语言预训练一个LSTM语言模型,然后固定其参数,直接在L2语言上测试其困惑度。通过改变L1固定L2,来对比不同潜在结构对于自然语言学习的影响。结合文中的流程图更好理解(如下):看图说话:

Q1: 怎么用语言模型训练Music数据呢?A1: 关键是将乐谱转换为线性序列。文中使用了MAESTRO数据集,包含了172个小时的经典的钢琴演奏曲。该数据集采用MIDI格式的音乐数据,每个MIDI文件,对应一个序列的音符的标注信息。因此一首曲子就可转换一个线性的序列,这样子乐谱就可以愉快的和LSTM玩耍了~ 比如对于下面的mid文件[1]:(哈哈,点不了哦~)会被标注为音符"3/4 c4 d8 f g16 a g f#", 然后传递给模型。

Q2: 为什么②中LSTM的参数是固定的呢?A2: 这是为了保留使用不同L1训练时所捕捉的潜在结构呀~固定LSTM的参数可以防止L2的自身结构信息被编码。因为最终是在同一个L2上进行测试的,所以可以公平比较使用不同L1进行预训练对L2测试结果的影响啦。文中一个核心的观点是将不同L1中的潜在结构当成inductive bias, 并探究其是否可以被语言模型捕捉并迁移到L2上。

Q3: 乐谱的词表和西班牙语的词表都不一样,我要怎么在西语上测试呢?A3: 这还不简单,在测试前,使用西语语料对embedding层进行fine-tune就可以了嘛(上图③的功能)。

乐谱到底有没有用呢?

有没有用,还得看怎么对比了~哈哈~先看看文中使用了4组不同的L1语言的例子:

那他们各自的实验结果如何呢?首先来个直观的对比(横轴是不同的L1语言预训练,纵轴是在L2上测试的结果)。

  • music所在一列就是使用乐谱训练的结果啦。与左边的baseline相比,提升十分显著,困惑度几乎降低了一半。最左边两个草绿色的baseline,是在西语上随机采样的词汇语料(没有任何结构信息)预训练得到的结果。但是music的效果并不如Jave code以及别的自然语言(橙色)。

  • 为了探究到底是music和Java code中的什么潜在结构提升了L2的性能呢?作者猜测会不会是其中的层级递归结构呢?但是在music和code上又不好直接验证。于是有了第三组实验来探究层级递归结构对L2的影响。作者伪造了两个括号数据(配对的整数数据),一个具有层级递归结构(Nesting parents),一个没有递归结构但是有配对的标记对的信息(Flat Parens)。可以看到他们俩给L2带来的性能提升几乎持平。那这是不是说明层级递归对L2没有多大用呢?是的,至少这篇文中的实验室设置下是的。但是作者说这也说明标记对的匹配预训练LSTM语言模型是有帮助的。他们甚至表现比用music的还好,你说神奇不神奇。

  • 第四组实验使用不同的自然语言数据进行预训练,可以看到他们的性能其实还是远远高于non-linguistic data的。(所以说,其实标题或多或少有些噱头啦,哈哈。) 同时也可以看到,日语、英语、葡萄牙语对于西语的帮助差别也是比较大的, 那这又是为什么呢?作者认为是句法结构类型的差异性所导致的。因此为了探究不同自然语言L1对L2的影响,作者使用句法特征,将每种语言转化为句法特征向量,从而计算各个语言之间的WALS-syntax distance,即下图中的横轴。然后对比用不同语言预训练后在西语上测试得到的ppl,下图纵轴。图中可以明显看到句法距离越相小的语言之间的句法结构迁移的效果更好。

最后,花椒还有个好奇的点。虽然文中的实验结果证明代码或者乐谱中的潜在对于LSTM语言模型的预训练是有帮助的,但是他们的帮助还是没有在自然语言(英语,意大利语)带来的收益大,那么如果我们用sequencial的pre-training 或者组合在每个L1上训练的语言模型会给L2带来更大的提升吗?????

总结

论文读完啦,咱们回答下开头的问题:

  • Non-linguistic数据中的潜在结构对于L2的学习有帮助嘛?有帮助,但没有不同自然语言L1带来的收益大。不过虽然music的帮助是所有实验中的L1中最小的,不过本文对于不同模态语言的潜在结构的迁移的探索是个不错的方向。

  • 递归结构对于L2学习影响大嘛?不大,但是标记之间的配对结构对L2影响比较大。

  • 当L1是自然语言时,语言模型可以编码并迁移其中的句法结构嘛?可以,而且其与L2的句法距离越接近,句法结构的迁移性越好。

这是一篇故事讲得很好且文笔十分好的文章,感兴趣的小伙伴可以去读一读原文,感受一下作者清晰而自洽的论述过程,一步步发问,一步步深入,是一个非常享受的过程~

[1] What is music21? http://web.mit.edu/music21/doc/about/what.html

萌屋作者:花椒

花椒,性喜温良,味辛麻而持久。目前在墨尔本大学NLP组读Ph.D.,主要感兴趣方向包括常识问答,知识图谱,低资源知识迁移。期待有生之年可见证机器真正理解常识的时刻。知乎ID:花椒

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

有顶会审稿人、大厂研究员、知乎大V和妹纸

等你来撩哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 146. LRU缓存机制(哈希链表)

文章目录1. 题目信息2. 解题2.1 手动实现list2.2 使用内置list1. 题目信息 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓…

微服务系列:服务注册与发现的实现原理、及实现优劣势比较

服务注册与发现的来源 首先,服务注册与发现是来自于微服务架构的产物。 在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定。而在微服务应用中,服务实例…

EMNLP 2020论文分析:知识图谱增强语言模型或是未来的发展趋势!

文 | Michael Galkin源 | AI科技评论在EMNLP 2020的论文投递中,知识图谱的研究热度不减,并成为继续推动NLP发展的重要动力之一。在EMNLP 2020中,知识图谱领域有了哪些最新研究进展呢?作者从中选出了30篇文章,对未来2-3…

如何通过反射来解决AlertDialog标题由于字数过多显示不全的问题

转载前请标明出处:http://blog.csdn.net/sahadev_ 先上一下示例图: 这是默认状态下:这是通过反射后修改的结果: 在解决这个问题之前首先需要了解一下AlertDialog的基本构造,所以先从源码看起: 想要知道为什么显示不…

LeetCode 292. Nim 游戏

文章目录1. 题目信息2. 解题1. 题目信息 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数…

配送A/B评估体系建设实践

2019年5月6日,美团点评正式推出新品牌“美团配送”,发布了美团配送新愿景:“每天完成一亿次值得信赖的配送服务,成为不可或缺的生活基础设施。”现在,美团配送已经服务于全国400多万商家和4亿多用户,覆盖28…

ListView原理简单介绍(着重介绍getView被调用的一系列过程)

今天出去面试,被面试官问到一个问题,说是如果使用 LayoutInflate.inflate(int resource, ViewGroup root, boolean attachToRoot);这个方法与AbsListView的实现类结合使用的话,会出现什么问题,先看简单的使用过程: Ove…

一人之力,刷爆三路榜单!信息抽取竞赛夺冠经验分享

文 | JayLou娄杰在现如今的NLP竞赛中,信息抽取(IE)任务已占据半壁江山。来,让我们看看今年的一些IE竞赛都有啥:看到如此众多的IE竞赛,心动的JayJay抽空参加了CHIP2020(中国健康信息处理大会&…

pkuseg:一个多领域中文分词工具包

pkuseg简单易用,支持细分领域分词,有效提升了分词准确度。 目录 主要亮点编译和安装各类分词工具包的性能对比使用方式相关论文作者常见问题及解答主要亮点 pkuseg具有如下几个特点: 多领域分词。不同于以往的通用中文分词工具,此…

积木Sketch Plugin:设计同学的贴心搭档

| A consistent experience is a better experience.——Mark Eberman | 一致的体验是更好的体验。——Mark Eberman 《摘自设计师的16句名言》 背景 1.UI一致性项目 积木(Tangram)Sketch插件源于美团外卖UI的一致性项目,该项目自2019年5月份…

简单讲述一下Intent的传值过程

昨晚带女友Android入门,她本是照着一本书敲得,可以运行,后来她自己凭思维自己写了一个,然后出现了值没有传过来的问题,然后简单的了解了一下Intent是如何传递数据的。 我们的例子是这样的: 由A Activity通…

何恺明团队:stop gradient是孪生网络对比学习成功的关键

文 | Happy源 | 极市平台本文是FAIR的陈鑫磊&何恺明大神在无监督学习领域又一力作,提出了一种非常简单的表达学习机制用于避免表达学习中的“崩溃”问题,从理论与实验角度证实了所提方法的有效性;与此同时,还侧面证实了对比学…

美团无人配送CVPR2020论文CenterMask解读

计算机视觉技术是实现自动驾驶的重要部分,美团无人配送团队长期在该领域进行着积极的探索。不久前,高精地图组提出的CenterMask图像实例分割算法被CVPR2020收录,本文将对该方法进行介绍。 CVPR的全称是IEEE Conference on Computer Vision an…

如何使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率

在平常的开发中经常会有很多列表页面,每做一个列表页就需要创建这个布局文件那个Adapter适配器文件等等一大堆与之相关的附属的不必要的冗余文件。如果版本更新迭代比较频繁,如此以往,就会使项目工程变得无比庞大臃肿。 如果看过这篇文章或者…

从信息检索顶会CIKM'20看搜索、推荐与计算广告新进展

文 | 谷育龙Eric源 | 搜索推荐广告排序艺术我是谷育龙Eric,研究方向有深度学习、搜索推荐,喜欢为大家分享深度学习在搜索推荐广告排序应用的文章。CIKM作为信息检索、数据挖掘等领域的国际一流会议,每年都有很多搜索推荐广告领域的精彩论文。…

复杂风控场景下,如何打造一款高效的规则引擎

| 在互联网时代,安全已经成为企业的命脉。美团信息安全团队需要采用各种措施和手段来保障业务安全,从而确保美团平台上的用户和商户利益不会受到侵害。 本文主要介绍了美团在打造自有规则引擎Zeus(中文名“宙斯”)的过程中&#x…

Android消息队列图片记录

很早之前为了给学生讲明白整个消息队列是怎么个情况,于是大概阅读了一下消息队列的整个工作过程,鉴于网上大部分都是文字说明,没有一个图例,于是做出了下面这张图,权当作以后复习之用,也供大家学习参考&…

Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!

原文连接:https://blog.csdn.net/u011535541/article/details/83379151 转载自 Git使用教程 预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料)一:Git是什么? Git是目前世界上最先…

主动学习入门篇:什么是主动学习?有哪些具体应用

文 | 淘系技术部 初类来源 | 知乎在大数据和算力的助力下,深度学习掀起了一波浪潮,在许多领域取得了显著的成绩。以监督学习为主的深度学习方法,往往期望能够拥有大量的标注样本进行训练,模型能够学到更多有价值的知识&#xff08…

LeetCode 59. 螺旋矩阵 II LeetCode 54. 螺旋矩阵

文章目录1. 题目信息2. LeetCode 59 解题3. LeetCode 54. 螺旋矩阵4.《剑指Offer》面试题291. 题目信息 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例:输入: 3 输出: [[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7…