0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大语言模型背后的Transformer,与CNN和RNN有何不同

Carol Li 来源:电子发烧友网 作者:李弯弯 2023-12-25 08:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

电子发烧友网报道(文/李弯弯)近年来,随着大语言模型的不断出圈,Transformer这一概念也走进了大众视野。Transformer是一种非常流行的深度学习模型,最早于2017年由谷歌(Google)研究团队提出,主要用于处理自然语言。

2018年10月,Google发出一篇论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》,BERT模型横空出世,并横扫NLP领域11项任务的最佳成绩。而在BERT中发挥重要作用的结构就是Transformer,之后又相继出现XLNET、roBERT等模型击败了BERT,但是他们的核心没有变,仍然是Transformer。

与传统CNN和RNN相比,Transformer计算效率更高

Transformer是一种基于注意力机制的序列模型,与传统的循环神经网络(RNN)和卷积神经网络(CNN)不同,Transformer仅使用自注意力机制(self-attention)来处理输入序列和输出序列,因此可以并行计算,极大地提高了计算效率。

自注意力机制是注意力机制的一个特例。注意力机制类似于人类的注意力,能够根据任务的需要分配不同权重给输入序列中的不同部分。自注意力机制则更像是一种“全知”的能力,系统可以同时关注输入序列中的所有位置,而不受序列中位置的限制。

自注意力机制是Transformer的核心部分,它允许模型在处理序列时,将输入序列中的每个元素与其他元素进行比较,以便在不同上下文中正确地处理每个元素。

Transformer模型由编码器(Encoder)和解码器(Decoder)两部分组成。编码器将输入序列(例如一句话)转化为一系列上下文表示向量(Contextualized Embedding),它由多个相同的层组成。每一层都由两个子层组成,分别是自注意力层(Self-Attention Layer)和前馈全连接层(Feedforward Layer)。具体地,自注意力层将输入序列中的每个位置与所有其他位置进行交互,以计算出每个位置的上下文表示向量。前馈全连接层则将每个位置的上下文表示向量映射到另一个向量空间,以捕捉更高级别的特征。

解码器将编码器的输出和目标序列(例如翻译后的句子)作为输入,生成目标序列中每个位置的概率分布。解码器由多个相同的层组成,每个层由三个子层组成,分别是自注意力层、编码器-解码器注意力层(Encoder-Decoder Attention Layer)和前馈全连接层。其中自注意力层和前馈全连接层的作用与编码器相同,而编码器-解码器注意力层则将解码器当前位置的输入与编码器的所有位置进行交互,以获得与目标序列有关的信息。

Transformer在自然语言处理中广泛应用,例如机器翻译、文本摘要、语言生成、问答系统等领域。相比于传统的递归神经网络(RNN)和卷积神经网络(CNN),Transformer的并行计算能力更强,处理长序列的能力更强,且可以直接对整个序列进行处理。

比如,在问答系统中,Transformer模型主要用于对问题和答案进行匹配,从而提供答案。具体而言,输入序列为问题和答案,输出为问题和答案之间的匹配分数。Transformer模型通过编码器将问题和答案分别转化为向量表示,然后通过Multi-Head Attention层计算问题和答案之间的注意力分布,最终得到匹配分数。

CNN和RNN的特点及应用领域

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)”。

卷积神经网络的研究始于二十世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络;在二十一世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被应用于计算机视觉、自然语言处理等领域 。

计算机视觉方面,卷积神经网络长期以来是图像识别领域的核心算法之一,并在学习数据充足时有稳定的表现。对于一般的大规模图像分类问题,卷积神经网络可用于构建阶层分类器(hierarchical classifier),也可以在精细分类识别(fine-grained recognition)中用于提取图像的判别特征以供其它分类器进行学习。对于后者,特征提取可以人为地将图像的不同部分分别输入卷积神经网络,也可以由卷积神经网络通过非监督学习自行提取。

卷积神经网络在计算机视觉方面的应用还包括字符检测(text detection)/字符识别(text recognition)/光学字符读取、物体识别(object recognition)等,此外,在图像语义分割(semantic segmentation)、场景分类(scene labeling)和图像显著度检测(Visual Saliency Detection)等问题中也有应用,其表现被证实超过了很多使用特征工程的分类系统。

然而,由于受到窗口或卷积核尺寸的限制,无法很好地学习自然语言数据的长距离依赖和结构化语法特征,卷积神经网络在自然语言处理(Natural Language Processing, NLP)中的应用要少于循环神经网络,且在很多问题中会在循环神经网络的构架上进行设计,但也有一些卷积神经网络算法在多个NLP主题中取得成功。

循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。

循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习(deep learning)算法之一 ,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络。

循环神经网络具有记忆性、参数共享并且图灵完备(Turing completeness),因此在对序列的非线性特征进行学习时具有一定优势。循环神经网络在自然语言处理(Natural Language Processing, NLP),例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。引入了卷积神经网络(Convolutional Neural Network,CNN)构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。

RNN在NLP问题中有得到应用。在语音识别中,有研究人员使用L双向STM对英语文集TIMIT进行语音识别,其表现超过了同等复杂度的隐马尔可夫模型(Hidden Markov Model, HMM)和深度前馈神经网络。在语音合成领域,有研究人员将多个双向LSTM相组合建立了低延迟的语音合成系统,成功将英语文本转化为接近真实的语音输出 。RNN也被用于端到端文本-语音(Text-To-Speech, TTS)合成工具的开发,例子包括Tacotron 、Merlin 等。RNN也被用于与自然语言处理有关的异常值检测问题,例如社交网络中虚假信息/账号的检测 。

RNN与卷积神经网络向结合的系统可被应用于在计算机视觉问题,例如在字符识别(text recognition)中,有研究使用卷积神经网络对包含字符的图像进行特征提取,并将特征输入LSTM进行序列标注 。对基于视频的计算机视觉问题,例如行为认知(action recognition)中,RNN可以使用卷积神经网络逐帧提取的图像特征进行学习。

总结

可以看到,Transformer以及CNN、RNN是不同的深度学习模型,Transformer是一种基于自注意力机制的特征提取网络结构,主要用于自然语言处理领域。CNN是一种基于卷积层的特征提取网络结构,主要用于图像处理领域。RNN是一种基于循环层的特征提取网络结构,用于自然语言处理,也用于计算机视觉。总体而言,因为使用自注意力机制(self-attention)来处理输入序列和输出序列,Transformer可以并行计算,相比之下计算效率大幅提升。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cnn
    cnn
    +关注

    关注

    3

    文章

    355

    浏览量

    23249
  • Transformer
    +关注

    关注

    0

    文章

    154

    浏览量

    6817
  • rnn
    rnn
    +关注

    关注

    0

    文章

    91

    浏览量

    7300
  • 大模型
    +关注

    关注

    2

    文章

    3442

    浏览量

    4967
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Transformer如何让自动驾驶变得更聪明?

    ]自动驾驶中常提的Transformer本质上是一种神经网络结构,最早在自然语言处理里火起来。与卷积神经网络(CNN)或循环神经网络(RNN)不同,
    的头像 发表于 11-19 18:17 1905次阅读

    构建CNN网络模型并优化的一般化建议

    通过实践,本文总结了构建CNN网络模型并优化的一般化建议,这些建议将会在构建高准确率轻量级CNN神经网络模型方面提供帮助。 1)避免单层神经网络:我们清楚神经网络本身是需要不断抽象出
    发表于 10-28 08:02

    使用OpenVINO将PP-OCRv5模型部署在Intel显卡上

    是一个用于优化和部署人工智能(AI)模型,提升AI推理性能的开源工具集合,不仅支持以卷积神经网络(CNN)为核心组件的预测式AI模型(Predictive AI),还支持以Transforme
    的头像 发表于 09-20 11:17 859次阅读
    使用OpenVINO将PP-OCRv5<b class='flag-5'>模型</b>部署在Intel显卡上

    小白学大模型:国外主流大模型汇总

    )领域。论文的核心是提出了一种名为Transformer的全新模型架构,它完全舍弃了以往序列模型(如循环神经网络RNNs和卷积神经网络CNNs)中常用的循环和卷积结构
    的头像 发表于 08-27 14:06 670次阅读
    小白学大<b class='flag-5'>模型</b>:国外主流大<b class='flag-5'>模型</b>汇总

    自动驾驶中Transformer模型会取代深度学习吗?

    [首发于智驾最前沿微信公众号]近年来,随着ChatGPT、Claude、文心一言等大语言模型在生成文本、对话交互等领域的惊艳表现,“Transformer架构是否正在取代传统深度学习”这一话题一直被
    的头像 发表于 08-13 09:15 3917次阅读
    自动驾驶中<b class='flag-5'>Transformer</b>大<b class='flag-5'>模型</b>会取代深度学习吗?

    Transformer架构概述

    由于Transformer模型的出现和快速发展,深度学习领域正在经历一场翻天覆地的变化。这些突破性的架构不仅重新定义了自然语言处理(NLP)的标准,而且拓宽了视野,彻底改变了AI的许多方面。
    的头像 发表于 06-10 14:24 956次阅读
    <b class='flag-5'>Transformer</b>架构概述

    如何应对边缘设备上部署GenAI的挑战

    过去十年间,人工智能(AI)和机器学习(ML)领域发生了巨大的变化。卷积神经网络(CNN)和循环神经网络(RNN)逐渐被Transformer和生成式人工智能(GenAI)所取代,这标志着该领域进入了一个全新的发展阶段。这一转变
    的头像 发表于 04-30 13:48 1015次阅读
    如何应对边缘设备上部署GenAI的挑战

    边缘部署GenAI机遇与挑战并存,NPU成破局关键

    过去十年里,人工智能 (AI) 和机器学习 (ML) 经历了重大变革——卷积神经网络 (CNN) 和循环神经网络 (RNN) 正在向Transformer和生成式人工智能 (GenAI) 过渡。这一
    发表于 03-20 10:57 480次阅读
    边缘部署GenAI机遇与挑战并存,NPU成破局关键

    ​VLM(视觉语言模型)​详细解析

    的详细解析: 1. 核心组成与工作原理 视觉编码器 :提取图像特征,常用CNN(如ResNet)或视觉Transformer(ViT)。 语言模型 :处理文本输入/输出,如GPT、BE
    的头像 发表于 03-17 15:32 7593次阅读
    ​VLM(视觉<b class='flag-5'>语言</b><b class='flag-5'>模型</b>)​详细解析

    如何使用MATLAB构建Transformer模型

    Transformer 模型在 2017 年由 Vaswani 等人在论文《Attentionis All You Need》中首次提出。其设计初衷是为了解决自然语言处理(Nature
    的头像 发表于 02-06 10:21 5733次阅读
    如何使用MATLAB构建<b class='flag-5'>Transformer</b><b class='flag-5'>模型</b>

    transformer专用ASIC芯片Sohu说明

    的旧图像模型,也不能运行CNNRNN或LSTM。 但对于transformer来说,Sohu是有史以来最快的芯片。 借助Llama 70B每秒超过50万个token的吞吐量,Sohu
    的头像 发表于 01-06 09:13 1677次阅读
    <b class='flag-5'>transformer</b>专用ASIC芯片Sohu说明

    语言模型管理的作用

    要充分发挥语言模型的潜力,有效的语言模型管理非常重要。以下,是对语言模型管理作用的分析,由AI部
    的头像 发表于 01-02 11:06 573次阅读

    【「大模型启示录」阅读体验】+开启智能时代的新钥匙

    阅读之旅。在翻开这本书之前,我对大模型的认知仅仅停留在它是一种强大的人工智能技术,可以进行自然语言处理、图像识别等任务。我知道像 ChatGPT 这样的应用是基于大模型开发的,能够与人类进行较为流畅
    发表于 12-24 13:10

    【「大模型启示录」阅读体验】对大模型更深入的认知

    内容让我对大模型技术的发展了更全面的认识。我意识到,大模型不仅仅是一些算法和代码的堆砌,它们背后有着深刻的科技变革和产业竞争。 书中对大模型
    发表于 12-20 15:46

    【「大模型启示录」阅读体验】如何在客服领域应用大模型

    地选择适合的模型。不同的模型具有不同的特点和优势。在客服领域,常用的模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)、
    发表于 12-17 16:53