一文理解一文理解Transformer的工作原理的工作原理
概 述
自然语言处理中的 Transformer 模型真正改变了我们处理文本数据的方式。
Transformer 是最近自然语言处理发展的幕后推手,包括 Google 的 BERT。
了解 Transformer 的工作原理、它如何与语言建模、序列到序列建模相关,以及它如何支持 Google 的 BERT 模型。
引 言
现在,我喜欢做一名数据科学家,从事 自然语言处理(Natural Language Processing,NLP) 方面的工作。这些突破和发展正
以前所未有的速度发生。从超高效的 ULMFiT 框架到 Google 的 BERT,自然语言处理真的处于一个黄金时代。
这场革命的核心是 Transformer 的概念。它改变了我们数据科学家处理文本数据的方式,你很快就会在本文中理解这一点。
想看一个 Transformer 是多么有用的例子么?请看下面的段落:
标注高亮的单词指的是同一个人:Griezmann,一名受欢迎的足球运动员。对我们而言,要弄清楚文本中这些词之间的关系并
不难。但对一台机器来说,这可就是一项相当艰巨的任务了。
对机器理解自然语言来说,掌握句子中这些关系和单词序列至关重要。这就是 Transformer 概念发挥主要作用之处。
注:本文假设读者对一些深度学习概念有基本的了解。
《深度学习要领:带注意力的序列到序列建模》(Essentials of Deep Learning – Sequence to Sequence modeling with
Attention)
《深度学习基础:递归神经网络导论》(Fundamentals of Deep Learning – Introduction to Recurrent Neural Networks)
《Python 中使用深度学习的文本摘要综合指南》(Comprehensive Guide to Text Summarization using Deep Learning in
Python)
序列到序列模型:背景
自然语言处理中的 序列到序列模型(Sequence-to-sequence (seq2seq))用于将 A 型序列转换为 B 型序列。例如,将英语句
子翻译成德语句子就是一个序列到序列的任务。
自 2014 年推出以来,基于递归神经网络的序列到序列模型 得到了很多人的关注。目前世界上的大多数数据都是以序列的形式
存在的,它可以是数字序列、文本序列、视频帧序列或音频序列。
2015 年增加了注意力机制(Attention Mechanism),进一步提高了这些 seq2seq 模型的性能。在过去的五年里,自然语言
处理的进步如此之快,令人难以置信!
这些序列到序列模型用途非常广泛,可用于各种自然语言处理任务,例如:
机器翻译
文本摘要
语音识别
问答系统等等
基于递归神经网络的序列到序列模型
让我们以一个简单的序列到序列模型为例,请看以下如图所示:
评论5