Bert模型深度解析及其由来(深度长文)(上)
我们都知道,牛顿说过一句名言"If I have seen further, it is by standing on the shoulders of giants". 无可否认,牛顿取得了无与匹敌的成就,人类历史上最伟大的科学家之一,但同样无可否认的是,牛顿确实吸收了大量前人的研究成果,诸如哥白尼、伽利略和开普勒等人,正因如此,联合国为了纪念伽利略首次将望远镜用作天文观测四百周年,2009 年的时候,通过了”国际天文年“的决议,并选中《巨人的肩膀》(Shoulders Of Giants)作为主题曲。我想这大概是告诉后人,“吃水不忘挖井人”,牛顿的成就固然伟大,他脚下的“巨人肩膀”伽利略也同样不能忘了。
也许,“巨人肩膀”无处不在,有些人善于发现,有些人选择性失明,而牛顿的伟大之处在于他能够发现,这是伟大其一,更为重要的是,他还能自己造了梯子爬上“巨人的肩膀”,并成为一个新的“巨人肩膀”,这是伟大其二。
而回到这篇文章的主题,作为平凡人的我们,暂且先把如何发现并造了梯子云云撇开不谈,让我们先来捋一捋现在 NLP 当中可能的“巨人肩膀”在哪里,以及有哪些已经造好的“梯子”可供攀登,余下的,就留给那些立志成为“巨人肩膀”的人文志士们吧。
通常来说,NLP 中监督任务的基本套路都可以用三个积木来进行归纳:
1.文本数据搜集和预处理
2.将文本进行编码和表征
3.设计模型解决具体任务
其中数据处理阶段自不用说,各个任务按照各自的逻辑去处理和得到相应的输入。而其中的第二阶段 Encoder 模块与第三阶段的 Task-specific Model 模块,通常来说,界限并不是特别清晰,二者之间互有渗透。
回顾过去基于深度学习的 NLP 任务可以发现,几乎绝大多数都比较符合这三层概念。比如很多生成任务的 Seq2Seq 框架中不外乎都有一个 Encoder 和一个 Decoder。对应到这里,Decoder 更像是一个 Task-specific Model,然后相应的将 Encoder 做一些细微调整,比如引入 Attention 机制等等。
对于一些文本分类任务的结构,则 Encoder 模块与 Task-specific Model 模块的区分更为明显和清晰,Encoder 负责提取文本特征,最后接上一些全连接层和 Softmax 层便可以当做 Task-specific Model 模块,如此便完成了一个文本分类任务。
既然很多的 NLP 任务都可以用这三个模块来进行归纳,并且其中数据层和
Task-specific Model 模块层可能根据具体任务的不同需要做一些相应设计,而 Encoder 层便可以作为一个相对比较通用的模块来使用。那么自然会有一个想法,能不能类似于图像领域中的 ImageNet 上预训练的各种模型,来做一个 NLP 中预训练好的 Encoder 模块,然后我拿来直接利用就好了?
应该说,这个想法并不难想到,NLP 人也花了一些时间去思考究竟该如何设计一些更通用的可以迁移利用的东西,而不是所有的任务都要“from scratch”。因为如何尽量利用已有的知识、经验和工具,避免重复造轮子,想尽一切办法“站在巨人的肩膀上”快速发展,我想大概也是最朴素的“发展是硬道理”的体现。
为了更好地厘清这个思路,我们先来看看人类和 CV(Computer Vision,计算机视觉)曾经都是如何“站在巨人的肩膀上”的。
大约在 20 万年前,人类祖先 FOXP2 基因的 2 处(相对于其他原始猿类,如下图)极其微小却又至为关键的突变,让人类祖先逐渐拥有了语言能力,从此人类逐渐走上了一条不同于其他所有动物的文明演化之路。
正则化综述
而人类语言以及随后产生的文字也是人类区别于其他动物的一个至关重要的特征,它使得人类协同合作的能力变得极为强大,且让代际间经验与文化的传承效率大大提升。知名博主 Tim Urban——连大佬 Elon Musk 都是他的铁杆粉丝——在 2017 年 4 月发表的巨长博文中(其实也是为了商业互吹 Musk 的
Neuralink),Tim 分析了为什么语言能够加速人类文明的发展,并最终从几十万年前智能生命竞赛跑道上所有一切潜在对手中大比分强势胜出。
在这个过程中,语言起了非常关键的作用。在语言产生前,人类社会发展非常缓慢,表现为代际间的传承效率非常低下,而自从语言诞生以后,人类社会的发展速度得到极大的提升,这主要体现在父辈的生存技能和经验能够通过快速有效的方式传承给子辈,不仅如此,在同辈之间通过语言的沟通和交流,宝贵的经验也能够通过语言这种高效的媒介迅速传播到原始部落的每一个角落。于是,人类的每一代都能够得以在他们的父辈打下的江山上,一日千里,终成这颗蓝星球上的无二霸主。
不过,我觉得 Urban 想说却并没有说出来的是,即便在人类语言诞生之前,人类祖先也可以通过可能已经先于语言而诞生的学习与认知能力,做到以“代”为单位来进行传承与进化,只不过不同于基因进化,这是一种地球生命全新的进化方式,在效率上已经比其他生物的进化效率高的多得多。
地球上自生命诞生以来一直被奉为圭臬的基因进化法则,往往都是以一个物种为单位,上一代花了生命代价学习到的生存技能需要不断的通过非常低效的“优胜劣汰,适者生存”的丛林法则,写进到该物种生物的基因中才算完事,而这往往需要几万年乃至几百万年才能完成。而在这个过程中,比其他物种强得多的学习能力是人类制胜的关键。
上面两个事实,前者说明了语言是加速文明进化的润滑剂,而后者说明了强大的学习能力是人类走出一条有人类特的发展之路,从而脱离基因进化窠臼的最为重要的因素。
也就是说,对于人类而言,他们的父辈,同辈,以及一切同类,乃至大自然万事万物都是他们的“巨人肩膀”;而语言和学习能力则是人类能够站上“巨人肩膀”的“梯子”。
回到本文的主题,对于人类的钢铁“儿子”AI 来说,CV 和 NLP 是当前 AI 最火爆的两个领域之二,一个要解决钢铁“儿子”的视觉功能,一个要解决钢铁“儿子”的语言或认知能力,那么什么又是这个钢铁“儿子”的“巨人肩膀”和“梯子”呢?我们先来看看 CV 中的情况。
ImageNet 是 2009 年由李飞飞团队邓嘉等人提出,并迅速发展成为 CV 领域最知名的比赛 ILSVRC。从 2010 年举办第一届,到 2017 年李飞飞宣布最后一届,前后总共举办 8 年,这八年间先后在这个比赛中涌现了一大批推动 AI 领域尤其是 CV 领域大发展的算法和模型。特别值得一提的是 2012 年 Hinton 团队提出了 AlexNet,超过当时第二名效果 41%,一下子引爆了 AI 领域,因此 2012 年也被称为“深度学习元年”。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。