目录
1.采用神经网络处理序列数据
2.标记和嵌入 
3.注意层   
4.训练Transformer
5.Transformer的变化
首页 科技周边 人工智能 ​什么是Transformer机器学习模型?

​什么是Transformer机器学习模型?

Apr 08, 2023 pm 06:31 PM
机器学习 模型 codex

译者 | 李睿

审校 | 孙淑娟

​近年来, Transformer 机器学习模型已经成为深度学习和深度神经网络技术进步的主要亮点之一。它主要用于自然语言处理中的高级应用。谷歌正在使用它来增强其搜索引擎结果。OpenAI 使用 Transformer 创建了著名的 GPT-2和 GPT-3模型。

图片

自从2017年首次亮相以来,Transformer 架构不断发展并扩展到多种不同的变体,从语言任务扩展到其他领域。它们已被用于时间序列预测。它们是 DeepMind 的蛋白质结构预测模型 AlphaFold 背后的关键创新。OpenAI 的源代码生成模型 Codex 也基于 Transformer。Transformer 最近也进入了计算机视觉领域,在许多复杂任务中它们正在慢慢取代卷积神经网络(CNN)。

研究人员仍在探索改进 Transformer 并将其用于新应用的方法。以下是关于 Transformer 令人兴奋的原因以及它们如何工作的简要解释。

1.采用神经网络处理序列数据

图片

传统的前馈神经网络并非旨在跟踪序列数据并将每个输入映射到输出。它适用于诸如图像分类之类的任务,但在诸如文本之类的序列数据上却失败了。处理文本的机器学习模型不仅必须处理每个单词,还必须考虑单词如何按顺序排列并相互关联。而一个单词的含义可能会随着句子中出现在它们之前和之后的其他单词而改变。

在 Transformer 出现之前,递归神经网络(RNN)是自然语言处理的首选解决方案。当提供一个单词序列时,递归神经网络(RNN)将处理第一个单词,并将结果反馈到处理下一个单词的层。这使它能够跟踪整个句子,而不是单独处理每个单词。

递归神经网络(RNN)的缺点限制了它们的用处。首先,它们的处理速度非常缓慢。由于它们必须按顺序处理数据,因此无法在训练和推理中利用并行计算硬件和图形处理单元(GPU)。其次,它们无法处理长序列的文本。随着递归神经网络(RNN)深入到文本摘录中,句子开头几个单词起到的效果逐渐减弱。当两个链接的词在文本中相距很远时,这个被称为“梯度消失”的问题就会出现。第三,它们只捕捉到一个单词和它之前的单词之间的关系。实际上,单词的含义取决于它们之前和之后的单词。

长短时记忆(LSTM)网络是递归神经网络(RNN)的继任者,能够在一定程度上解决梯度消失问题,并且能够处理更大的文本序列。但是长短时记忆(LSTM)的训练速度甚至比递归神经网络(RNN)还要慢,并且仍然无法充分利用并行计算。他们仍然依赖于文本序列的串行处理。

2017年发表的一篇名为《注意就是所需要的一切》的论文介绍了 Transformer,指出 Transformer
做出了两个关键贡献:首先,它们使并行处理整个序列成为可能,从而可以将顺序深度学习模型的速度和容量扩展到前所未有的速度。其次,它们引入了“注意机制”,可以在正向和反向的非常长的文本序列中跟踪单词之间的关系。

图片

在讨论 Transformer 模型的工作原理之前,有必要讨论一下序列神经网络解决的问题类型。

  • “向量到序列”模型采用单个输入(例如图像)并生成数据序列(例如描述)。
  • “序列到向量”模型将序列数据作为输入,例如产品评论或社交媒体帖子,并输出单个值,例如情绪分数。
  • “序列到序列”模型将一个序列作为输入,例如一个英文句子,并输出另一个序列,例如该句子的法语翻译。

尽管存在差异,但所有这些类型的模型都有一个共同点——他们学习表达。神经网络的工作是将一种类型的数据转换为另一种类型的数据。在训练期间,神经网络的隐藏层(位于输入和输出之间的层)以最能代表输入数据类型特征的方式调整其参数,并将其映射到输出。最初的 Transformer 被设计为用于机器翻译的序列到序列(seq2seq)模型(当然,序列到序列模型不限于翻译任务)。它由一个编码器模块组成,该模块将来自源语言的输入字符串压缩为一个向量,该向量表示单词及其相互之间的关系。解码器模块将编码向量转换为目标语言的文本字符串。

2.标记和嵌入 

图片

输入文本必须经过处理并转换为统一格式,然后才能输入到 Transformer。首先,文本通过“标记器”,将其分解为可以单独处理的字符块。标记化算法可以取决于应用程序。在大多数情况下,每个单词和标点符号大致算作一个标记。一些后缀和前缀算作单独的标记(例如,“ize”、“ly”和“pre”)。标记器生成一个数字列表,表示输入文本的标记ID。

然后将标记转换为“单词嵌入”。单词嵌入是一种试图在多维空间中捕捉单词价值的向量。例如,“猫”和“狗”这两个词在某些维度上可能具有相似的值,因为它们都用于关于动物和宠物的句子中。然而,在区分猫科动物和犬科动物的其他维度上,“猫”比“狼”更接近“狮子”。同样,“巴黎”和“伦敦”可能彼此更加接近,因为它们都是城市。然而,“伦敦”更接近于“英格兰”,“巴黎”更接近于“法国”,这是因为在一个国家的区分维度上。而单词嵌入通常有数百个维度。

单词嵌入是通过嵌入模型创建的,这些模型与 Transformer 分开训练。有几种用于语言任务的预训练嵌入模型。

3.注意层   

图片

一旦句子被转换成一个单词嵌入列表,它就会被输入到 Transformer 的编码器模块中。与递归神经网络(RNN)和长短时记忆(LSTM)模型不同,Transformer 一次不会接收一个输入。它可以接收整个句子的嵌入值,并并行处理它们。这使得 Transformer 比它们的前辈更具有计算效率,并且还使它们能够在正向和反向序列中检查文本的场景。

为了保持句子中单词的顺序,Transformer 应用“位置编码”,这基本上意味着它修改每个嵌入向量的值,以表示其在文本中的位置。

接下来,输入被传递到第一个编码器块,它通过“注意层”对其进行处理。注意层试图捕捉句子中单词之间的关系。例如,考虑 “一只大黑猫碰掉一个瓶子之后横穿马路”(The big black cat crossed the road after it dropped a bottle on its side)这个句子。在这里,模型必须将“it”与“cat”相关联,将“its”与“bottle”相关联。因此,它应该建立其他关联,例如“big”和“cat”或“crossed”和“cat”。否则,注意层接收表示单个单词值的单词嵌入列表,并生成表示单个单词及其相互关系的向量列表。注意层包含多个“attention heads” (注意头),每个“attention heads”都可以捕获单词之间的不同类型的关系。

注意层的输出被馈送到前馈神经网络,该网络将其转换为向量表示,并将其发送到下一个注意层。Transformers
包含几个注意块和前馈层,以逐渐捕捉更复杂的关系。

解码器模块的任务是将编码器的注意向量转换为输出数据(例如,输入文本的翻译版本)。在训练阶段,解码器可以访问编码器产生的注意向量和预期的结果(例如,翻译的字符串)。

解码器使用相同的标记化、单词嵌入和注意机制来处理预期结果并创建注意向量。然后,它在编码器模块中传递该注意向量和注意层,从而在输入和输出值之间建立关系。在翻译应用程序中,这是源语言和目标语言中的单词相互映射的部分。与编码器模块一样,解码器注意向量通过前馈层传递。然后其结果被映射到一个非常大的向量池,即目标数据的大小(在翻译的情况下,这可以涉及数万个单词)。

4.训练Transformer

在训练期间,Transformer 提供了非常大的配对示例语料库(例如,英语句子及其相应的法语翻译)。编码器模块接收并处理完整的输入字符串。然而,解码器接收到输出字符串的掩码版本(一次一个单词),并尝试建立编码的注意向量和预期结果之间的映射。编码器尝试预测下一个单词,并根据其输出与预期结果之间的差异进行更正。这种反馈使转换器能够修改编码器和解码器的参数,并逐渐在输入和输出语言之间创建正确的映射。

Transformer 拥有的训练数据和参数越多,它就越有能力在较长文本序列中保持连贯性和一致性。

5.Transformer的变化

 在以上研究的机器翻译示例中,Transformer 的编码器模块学习英语单词和句子之间的关系,而解码器学习英语和法语之间的映射。

但并非所有 Transformer 应用都需要编码器和解码器模块。例如,大型语言模型的GPT系列使用解码器模块堆栈来生成文本。BERT是谷歌研究人员开发的 Transformer 模型的另一种变体,而它只使用编码器模块。

其中一些架构的优点是它们可以通过自我监督学习或无监督方法进行训练。例如,BERT 通过获取大量未标记文本的语料库,可以屏蔽其中的一部分,并尝试预测缺失的部分来进行大部分训练。然后,它根据其预测接近或远离实际数据的程度调整其参数。通过不断地重复这个过程,BERT 捕捉到了不同场景中不同单词之间的关系。在这个预训练阶段之后,BERT 可以通过在少量标记示例上进行训练来针对下游任务进行微调,例如问答、文本摘要或情感分析。使用无监督和自我监督的预训练可以减少注释训练数据所需的工作量。

关于 Transformer 和他们正在解锁的新应用程序还有更多,这超出了本文的范围。研究人员如今仍在寻找从Transformer中获得更多帮助的方法。

Transformer 还引发了关于语言理解和通用人工智能的讨论。显而易见的是,Transformer 与其他神经网络一样是一种统计模型,能够以巧妙而复杂的方式捕捉数据中的规律性。虽然它们不像人类那样“理解”语言,但是其发展仍然令人兴奋并且可以提供更多新事物。

原文链接:https://bdtechtalks.com/2022/05/02/what-is-the-transformer/

图片

以上是​什么是Transformer机器学习模型?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

一文带您了解SHAP:机器学习的模型解释 一文带您了解SHAP:机器学习的模型解释 Jun 01, 2024 am 10:58 AM

在机器学习和数据科学领域,模型的可解释性一直是研究者和实践者关注的焦点。随着深度学习和集成方法等复杂模型的广泛应用,理解模型的决策过程变得尤为重要。可解释人工智能(ExplainableAI|XAI)通过提高模型的透明度,帮助建立对机器学习模型的信任和信心。提高模型的透明度可以通过多种复杂模型的广泛应用等方法来实现,以及用于解释模型的决策过程。这些方法包括特征重要性分析、模型预测区间估计、局部可解释性算法等。特征重要性分析可以通过评估模型对输入特征的影响程度来解释模型的决策过程。模型预测区间估计

替代MLP的KAN,被开源项目扩展到卷积了 替代MLP的KAN,被开源项目扩展到卷积了 Jun 01, 2024 pm 10:03 PM

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

使用C++实现机器学习算法:常见挑战及解决方案 使用C++实现机器学习算法:常见挑战及解决方案 Jun 03, 2024 pm 01:25 PM

C++中机器学习算法面临的常见挑战包括内存管理、多线程、性能优化和可维护性。解决方案包括使用智能指针、现代线程库、SIMD指令和第三方库,并遵循代码风格指南和使用自动化工具。实践案例展示了如何利用Eigen库实现线性回归算法,有效地管理内存和使用高性能矩阵操作。

可解释性人工智能:解释复杂的AI/ML模型 可解释性人工智能:解释复杂的AI/ML模型 Jun 03, 2024 pm 10:08 PM

译者|李睿审校|重楼人工智能(AI)和机器学习(ML)模型如今变得越来越复杂,这些模型产生的输出是黑盒——无法向利益相关方解释。可解释性人工智能(XAI)致力于通过让利益相关方理解这些模型的工作方式来解决这一问题,确保他们理解这些模型实际上是如何做出决策的,并确保人工智能系统中的透明度、信任度和问责制来解决这个问题。本文探讨了各种可解释性人工智能(XAI)技术,以阐明它们的基本原理。可解释性人工智能至关重要的几个原因信任度和透明度:为了让人工智能系统被广泛接受和信任,用户需要了解决策是如何做出的

Yolov10:详解、部署、应用一站式齐全! Yolov10:详解、部署、应用一站式齐全! Jun 07, 2024 pm 12:05 PM

一、前言在过去的几年里,YOLOs由于其在计算成本和检测性能之间的有效平衡,已成为实时目标检测领域的主导范式。研究人员探索了YOLO的架构设计、优化目标、数据扩充策略等,取得了显着进展。同时,依赖非极大值抑制(NMS)进行后处理阻碍了YOLO的端到端部署,并对推理延迟产生不利影响。在YOLOs中,各种组件的设计缺乏全面彻底的检查,导致显着的计算冗余,限制了模型的能力。它提供了次优的效率,以及相对大的性能改进潜力。在这项工作中,目标是从后处理和模型架构两个方面进一步提高YOLO的性能效率边界。为此

全面超越DPO:陈丹琦团队提出简单偏好优化SimPO,还炼出最强8B开源模型 全面超越DPO:陈丹琦团队提出简单偏好优化SimPO,还炼出最强8B开源模型 Jun 01, 2024 pm 04:41 PM

为了将大型语言模型(LLM)与人类的价值和意图对齐,学习人类反馈至关重要,这能确保它们是有用的、诚实的和无害的。在对齐LLM方面,一种有效的方法是根据人类反馈的强化学习(RLHF)。尽管RLHF方法的结果很出色,但其中涉及到了一些优化难题。其中涉及到训练一个奖励模型,然后优化一个策略模型来最大化该奖励。近段时间已有一些研究者探索了更简单的离线算法,其中之一便是直接偏好优化(DPO)。DPO是通过参数化RLHF中的奖励函数来直接根据偏好数据学习策略模型,这样就无需显示式的奖励模型了。该方法简单稳定

无需OpenAI数据,跻身代码大模型榜单!UIUC发布StarCoder-15B-Instruct 无需OpenAI数据,跻身代码大模型榜单!UIUC发布StarCoder-15B-Instruct Jun 13, 2024 pm 01:59 PM

在软件技术的前沿,UIUC张令明组携手BigCode组织的研究者,近日公布了StarCoder2-15B-Instruct代码大模型。这一创新成果在代码生成任务取得了显着突破,成功超越CodeLlama-70B-Instruct,登上代码生成性能榜单之巅。 StarCoder2-15B-Instruct的独特之处在于其纯自对齐策略,整个训练流程公开透明,且完全自主可控。该模型通过StarCoder2-15B生成了数千个指令,响应对StarCoder-15B基座模型进行微调,无需依赖昂贵的人工标注数

清华接手,YOLOv10问世:性能大幅提升,登上GitHub热榜 清华接手,YOLOv10问世:性能大幅提升,登上GitHub热榜 Jun 06, 2024 pm 12:20 PM

目标检测系统的标杆YOLO系列,再次获得了重磅升级。自今年2月YOLOv9发布之后,YOLO(YouOnlyLookOnce)系列的接力棒传到了清华大学研究人员的手上。上周末,YOLOv10推出的消息引发了AI界的关注。它被认为是计算机视觉领域的突破性框架,以实时的端到端目标检测能力而闻名,通过提供结合效率和准确性的强大解决方案,延续了YOLO系列的传统。论文地址:https://arxiv.org/pdf/2405.14458项目地址:https://github.com/THU-MIG/yo

See all articles