反正尹芙·卡莉是觉得这些思路很奇妙,甚至有可以让人有一种醍醐灌顶之功效。
之所以会有这样的功效,很大程度上是因为在此之前多数文本摘要的研究人员都是研究抽取式文本摘要的。
抽取式文本摘要和生成式文本摘要虽然都是文本摘要。
但从前者到后者的转变涉及到一个思路上转换的过程。
很多时候多数传统文本摘要方面的研究人员亦即研究抽取式文本摘要的研究人员受先入为主的影响对生成式文本摘要认识不到位也是常有的事情。
举个例子,就比如说林灰在搞定生成式文本摘要时所提出的预训练。
按说,这个东西并不算什么高深的概念。
所谓的预训练倒是不难理解,无非就是对训练模型的数据进行粗处理而已。
但就比较难想到。
以前尹芙·卡莉在进行抽取式文本摘要这方面的调校时候就没用到预训练。
多数情况下都是直接进行训练的。
而没有应用预训练这一步骤。
按照林灰在论文中进行的补充。
预训练的通常做法一般是将大量低成本收集的训练数据放在一起。
而后以某一种或者某一类特定预训方法去学习这些训练数据其中的共性。
然后将其中的共性移植到特定任务的模型中。
再使用相关特定领域的少量标注数据进行更细致的调校。
完成这一过程之后,今后用于实际应用的模型模型只需要从共性出发。
再去学习特定任务的特殊部分即可。
大概类似于对于部分方程先求通解再去找特解的过程。
听起来似乎蛮抽象的。
实际上也没多么高深。
涉及到机器学习这方面,无论多么高深的东西。
其本质上基本都是在模彷人。
在这种情况下,往往我们只要了解人是如何处理问题的。
就能理解机器学习处理问题的思路或者说是方式。
通常我们在学习东西的时候。
或许我们的初衷是想着是将所有想学的内容一次性学懂学精。
但因为学习时间有限、学业任务繁多或者其余各种各样的客观要素。
实际学习的时候是很难将所有的知识的学得一步到位的。
在这种情况下,一些擅于学习的人是怎么学习的呢?
这些人在进行学习时可能采用的做法是先将想学的知识的共性内容搞懂。
而后再花时间放在一些那些“疑难杂症”上。
虽然这种做法似乎是有点“偷懒”。
但人类一多半的智慧结晶都是因为偷懒才出现的。
不可否认这种看似偷懒的学习方式充满智慧。
至少从效率角度衡量的话,这种方式很值得称赞。
毕竟除了像医学等极其特殊的学科之外。
大部分领域所涉及到的知识,80%都是能够找出共性的。
在找到共性之后,再去解决另外的20%复杂知识。
这无疑是一种比较省力的思维。
在自然语言处理这个机器学习的典型方向引入预训练。
无疑等同于将部分优秀学生在学习中会用到的一种特殊的技巧“移植”过来。
这种思路无疑很是很巧妙。
思路固然很巧妙。
但正如路边李苦的道理一样。
为什么这种很巧妙的思路以前却没人尝试过呢?
尹芙·卡莉觉得未必是没人想过这方面。
但别人却无一例外的失败了。
涉及到知识的汲取,或许绝大多数人也知道先将80%有共性的知识搞定再搞定另外的20%可以省力。
但从过往的学业上看,尹芙·卡莉觉得她身边能够做到先将知识80%的共性找出来再去攻克疑难处的人少之又少。
甚至于除了尹芙·卡莉眼中的学霸之外根本没啥人能做到这一点。
尹芙·卡莉眼中的学霸又能有多少人呢?可以说是寥寥无几了。
也就是说这种先将80%有共性的知识搞定再搞定另外的20%这种很明智的做法实际很少有人应用。
明明是看起来更加容易的方式。
什么没多少人这么做?
尹芙·卡莉觉得主要原因是:
——大部分人并不善于找到知识的共性。
在不善于找到知识共性的情况下,一部分人虽然会尝试着找知识共性。
但实际上操作的时候找到80%知识的共性完全是奢望。
可能只能找到30%、20%甚至更少知识的共性。
如此一来这些人非但没有能够找到主体知识的共性。
反而在找共性的时候不知不觉将其余一些原本是普通的内容给异化成了这些人眼中的“非共性知识”。
而非共性知识在这些人心中又被这些尝试找共性的人心理暗示成了比较麻烦的知识。
这些原本并不是特别难的知识,在心理暗示的debuff下。
效率甚至比不找共性时的效率还要低。
如此,未找到共性的人反而有可能成为这些尝试寻找共性的人的所需要耗费大量时间去攻克的内容。
这种情况下,找知识的共性非但没对他们造成帮助。
反而成为了他们学习时候的拖累。
就很苦逼了。
与其出现这种情况,这些人干脆放弃了找知识的共性。
直接一视同仁,至少不会聪明反被聪明误。
类似于学习上这些人面对的窘境。
或许机器学习方面的学者也是因为同样的境遇才放弃了对训练数据共性的寻找。
至少在尹芙·卡莉这是因为这个原因。
纵然是现在知道了林灰在模型训练中引入了预训练方式。
尹芙·卡莉现在也不知道林灰究竟是如何做的。
按照林灰在论文中补充内容进行的阐述。
传统的训练机制下,文本摘要模型的产生思路是:
语料训练→模型
而按照林灰的思路引入预训练机制后。
文本摘要模型的产生思路是:
语料预训练→预训练模型→微调→模型
这个思路的本身是没问题的。
但尹芙·卡莉面对着这个全新的模型产生思路却满脑子全是问题。
具体应用的时候究竟引入何种的预训练方式才能够起到事半功倍的训练效率?
什么样的预训练模型才是预训练的目标?
对于预训练模型的“微调”究竟应该如何理解呢?