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

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

3天内不再提示

我们可以使用transformer来干什么?

深度学习自然语言处理 来源:AI部落联盟 作者:AI部落联盟 2021-04-22 10:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

2021年4月,距离论文“Attention is all you need”问市过去快4年了。这篇论文的引用量正在冲击2万大关。

笔者所在的多个学习交流群也经常有不少同学在讨论:transformer是什么?transformer能干啥?为什么要用transformer?transformer能替代cnn吗?怎么让transformer运行快一点?以及各种个样的transformer技术细节问题。

解读以上所有问题不再本文范畴内,但笔者也将在后续文章中继续探索以上问题。本文重点关注:我们用transformer干啥?

我们用transformer干啥?笔者突然发现这句话有两种理解(orz中文博大精深),希望我的语文不是体育老师教的。

疑问句:

我们使用transformer在做什么?

解决什么深度学习任务?

反问句:

我们用用transformer干啥?

为啥不用LSTM和CNN或者其他神经网络呢?

疑问句:用transformer干啥?

谷歌学术看一眼。

为了简洁+有理有据回答这个问题(有缺失之处忘大家指出),笔者首先在谷歌学术上搜寻了一下“Attention is all you need”看了一下被引,到底是哪些文章在引用transformer呢?

“Attention is all you need”被引:19616次。

先看一下前几名引用的被引:

最高引用的“Bert:Pre-training of deep bidirectional transformers for language understanding“被引:17677次。BERT在做自然语言处理领域的语言模型。

第2和4名:“Squeeze and Excitaion Networks”被引用6436次,“Non-local neural networks”。计算机视觉领域,但还没有直接用transformer。

第3名:“Graph attention networks”被引用3413,一种图神经网络,该文也不是直接使用transformer的,但使用了attention。

第5和6名:“Xlnet:Generalized autoregressive pretraining for language undersstanding“ 2318次和 ”Improving language understanding by generative pretraining“ 1876次。自然语言处理领域预训练/语言模型/生成模型。

第7名“self-attention generative adversarial networks” 1508次。基于self-attetnion的生成对抗网络。

第8、9、10都属于自然语言处理领域,一个是GLUE数据集,一个做multi-task learning。

从Top的引用已经看出自然语言处理领域肯定是使用transformer的大头了。随后笔者对熟悉的深度学习任务关键词搜了一下被引用:

计算机视觉领域vision前2的被引用:“Vibert”和“Stand-alone self-attetnion in vision model”分别为385和171次。

语音信号处理领域speech:“state-of-the-art speech recognition with sequence-to-sequence model” 被引710次。

多模态任务modal:“Unicoder-Vl:

A universal encoder for vision and language by cross-model pre-training。

检索领域etrieval:“multilingual universal sentence encoder for semantic retrieval”被引73次

推荐领域recommendation:惊讶的我发现居然只有10篇文章orz。

初步结论:transformer在自然语言处理任务中大火,随后是语音信号领域和计算机视觉领域,然后信息检索领域也有所启航,推荐领域文章不多似乎刚刚起步。

执着的笔者扩大搜索范围直接谷歌搜索了一下,找到了这篇文章BERT4Rec(被引用128):”BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer“。

Github上搜一搜。

排名第1的是HuggingFace/transformers代码库。笔者对这个库还算熟悉,但最近疯狂新增的模型缺失还没有完全跟进过,于是也整理看了一下。

7d5ac588-a295-11eb-aece-12bb97331649.png

图1 HuggingFace/transformers代码库关系图

如图1所示,左边展示了Huggingface/transformers代码库能处理的各种深度学习任务,中间展示的是处理这些任务的统一流水线(pipeline),右边展示的是与任务对应的transformers模型名称,下方表示用transformers解决这些深度学习任务可以在cpu或者gpu上进行,可以使用tensorflow也可以使用pytorch框架。

那么根据谷歌和github结果基本可以得到这个核心结论啦:transformer能干啥?目前已有的transformer开源代码和模型里自然语言处理任务占大头(几乎覆盖了所有自然语言处理任务),随后是计算机视觉和语音信号处理,最后自然而然进行多模态信号处理啦,推荐系统中的序列建模也逐步开始应用transformer啦。

有一点值得注意:自然语言处理里,所有研究同学的词表库基本统一,所有谷歌/facebook在大规模语料上预训练的transformer模型大家都可以使用。推荐系统不像自然语言处理,各家对user ID,Item ID或者物品类别ID的定义是不一样的,所以各家的pretrain的模型基本也没法分享给其他家使用(哈哈哈商业估计也不让分享),也或许也是为什么transformer的开源推荐系统较少的原因之一吧,但不代表各大厂/研究机构用的少哦。

反问句:用transformer干啥?

为什么非要使用transformer呢?

笔者从一个散修(哈哈修仙界对修炼者的一种称呼)的角度聊一聊自己的看法。

不得不用。

首先谷歌/Facebook一众大厂做出来了基于transformer的BERT/roberta/T5等,刷新了各种任务的SOTA,还开源了模型和代码。

注意各种任务啊,啊这,咱们做论文一般都得在几个数据集上验证自己的方法是否有效,人家都SOTA了,咱得引,得复现呀,再说,站在巨人的肩上创下新SOTA也是香的。

的确好用。

Transformer是基于self-attetion的,self-attention的确有着cnn和lstm都没有的优势:

比如比cnn看得更宽更远,比lstm训练更快。

重复累加多层multi-head self-attetion还在被不短证明着其强大的表达能力!

改了继续用。

如果不说transformer的各种优点,说一个大缺点自然就是:

参数量大、耗时耗机器。

但这些问题又被一众efficient transformers再不断被解决。

比如本来整型数运算的硬件开发板无法使用transformers,随后就有INT-BERT说我们不仅可以用,还能更快更好。

上手就用。

以Huggingface/Transformers为例子,一个代码库包含多种深度学习任务,多个开源的transfromer模型,各种预训练transformer模型,以至于各种深度学习任务上手就来,十分方便。

笔者似乎并没有看到其他模型结构有如此大的应用范围和规模了。

未来还要用。

从上一章节可以看出,transformer这股风已经从自然语言处理领域吹出去了,其他领域的SOTA也在不断被transformer打破,那么以为这,自然语言处理领域的历史逐渐在其他领域复现(当然只是笔者个人观点哈)。

原文标题:我们用transformer干啥?

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    0

    文章

    12

    浏览量

    8941
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123901

原文标题:我们用transformer干啥?

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    可以使用CW32的ChirpIOT实现芯片固件升级吗

    可以使用CW32的ChirpIOT实现芯片固件升级吗?这种升级每包有限制吗?一般是多少,可以实现组网内的所有设备同时这种升级吗?
    发表于 12-05 06:51

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

    ]自动驾驶中常提的Transformer本质上是一种神经网络结构,最早在自然语言处理里火起来。与卷积神经网络(CNN)或循环神经网络(RNN)不同,Transformer能够自动审视所有输入信息,并动态判断哪些部分更为关键,同时可以
    的头像 发表于 11-19 18:17 1901次阅读

    科普|5G CPE是什么?可以干什么用?

    在很多项目中,经常会遇到5GCPE设备,很多小伙伴不知道5GCPE是什么设备?具体有哪些用途。首先我们要知道什么是CPE?这是英文CustomerPremiseEquipment的缩写,可以翻译成
    的头像 发表于 08-14 17:38 8094次阅读
    科普|5G CPE是什么?<b class='flag-5'>可以</b><b class='flag-5'>干什么</b>用?

    可以使用 wiced_hal_write_nvram API 更改 BD 地址吗?

    /WICED-Module-Programmer-Download/td-p/290595 我想知道模块中正确的地址或 SV ID BD 地址在哪里? 我可以使用 wiced_hal_write_nvram API 更改 BD 地址吗?
    发表于 07-03 06:20

    请问下CYW20829 是否可以使用miniprog3烧录呢?

    请问下CYW20829 是否可以使用miniprog3烧录呢? 我尝试MTB programmer无法识别miniprog3,PSOC programmer识别后貌似不支持20829的烧录。
    发表于 07-01 07:00

    芯片前端设计与后端设计的区别

    前端设计(Front-end Design):聚焦于电路的逻辑功能实现。本质上是在“纸上”设计电路,包括芯片要“干什么”,要“如何运算”。
    的头像 发表于 05-16 14:56 998次阅读

    粘接聚酰亚胺PI膜除了使用PI膜专用UV胶粘接,还可以使用热固化环氧胶解决!

    粘接聚酰亚胺PI膜可以使用PI膜专用UV胶粘接,但使用UV胶粘接时,需要粘接材料至少有一方要透UV紫外光方可,如不能透UV光,那么粘接PI这种难于粘接的材料时,还可以使用热固化环氧胶解决!热固化环
    的头像 发表于 05-07 09:11 1120次阅读
    粘接聚酰亚胺PI膜除了使用PI膜专用UV胶粘接,还<b class='flag-5'>可以使</b>用热固化环氧胶<b class='flag-5'>来</b>解决!

    钳形表是干什么用的?点开看看就知道了

    的运行过程中,我们需要实时了解电路中的电流大小,以判断设备是否正常工作。比如工厂里的大型电机,通过钳形表可以快速准确地测量电机运行时的电流。如果电流值超出了正常范围,就可能意味着电机存在故障,需要及时检修
    发表于 05-06 15:34

    是否可以使用FX2LP对XCF02SVO20C进行编程?

    我们有一款使用 FX2LP 和 XCF02SVO20C PROM 的产品。在我们的系统中,我们利用 PROM 更新 FPGA 固件。由于我不是固件专家,我想问是否
    发表于 05-06 09:48

    请问图片中电路板的功能?

    朋友们帮看看,这电路模块是干什么用的?
    发表于 04-14 09:40

    gtta光缆是干什么

    扮演着重要角色。它主要用于室外通信,如馈线和配线等,特别是在接入网中。此外,它还可以用于管道、非金属自承架空等常规敷设方式,以及楼道内竖井布线。 二、结构特点 缆芯:光缆的缆芯由一定数量的光纤组成,这些光纤按照一定方式排列并形成缆
    的头像 发表于 03-06 10:21 891次阅读

    AI云服务平台可以干什么

    当今,AI云服务平台,作为连接技术与应用的桥梁,正以其广泛的功能覆盖和深度应用场景,逐步渗透到社会经济的各个角落。下面,AI部落小编带您详细了解AI云服务平台。
    的头像 发表于 02-27 10:11 1042次阅读
    AI云服务平台<b class='flag-5'>可以</b><b class='flag-5'>干什么</b>

    如何使用MATLAB构建Transformer模型

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

    transformer专用ASIC芯片Sohu说明

    2022年,我们打赌说transformer会统治世界。 我们花了两年时间打造Sohu,这是世界上第一个用于transformer(ChatGPT中的“T”)的专用芯片。 将
    的头像 发表于 01-06 09:13 1677次阅读
    <b class='flag-5'>transformer</b>专用ASIC芯片Sohu说明

    安泰高压大功率放大器可以干什么用途

    放大器的基本原理 高压大功率放大器的基本原理是通过增加输入信号的幅度和驱动电压产生大功率输出。它通常由功率放大电路、电源供应系统和保护电路组成。功率放大电路使用适当的放大器器件(如真空管、晶体管或功率模块)
    的头像 发表于 12-10 10:30 847次阅读
    安泰高压大功率放大器<b class='flag-5'>可以</b><b class='flag-5'>干什么</b>用途