Transformer模型(1/2): 剥离RNN,保留Attention

Поделиться
HTML-код
  • Опубликовано: 8 янв 2025

Комментарии • 91

  • @ShusenWang
    @ShusenWang  4 года назад +20

    翻墙不方便的请点这里:
    下载链接: pan.baidu.com/s/1FOjyWMuQV7ap3Dw_mc0hMA 密码:lb9t
    搬运请注明视频和课件地址。
    视频:ruclips.net/video/aButdUV0dxI/видео.html
    课件:github.com/wangshusen/DeepLearning

    • @leozhao2831
      @leozhao2831 3 года назад

      感谢王老师分享!非常棒。请问您的课件是如何用哪个软件制作的?是基于Markdown生成的么?

    • @ShusenWang
      @ShusenWang  3 года назад

      @@leozhao2831 用power point就行啊

    • @ronnychen8240
      @ronnychen8240 3 года назад

      老师您可以在Bilbili上开一个账号,Bilibili上有很多youtube搬运资源,自己上传还能避免版权问题。

    • @ShusenWang
      @ShusenWang  3 года назад +1

      @@ronnychen8240 多谢!我开了个账户。

    • @yancao5647
      @yancao5647 3 года назад +5

      王老师讲的太清楚了!有时间可以讲一下GNN (Graph Neural Network)吗?看了几个youtube视频还是云山雾罩的。

  • @jiluo4754
    @jiluo4754 3 года назад +14

    老师讲的太好了,是我目前发现的把原理讲的最清楚的老师,非常感谢老师。

  • @deerbeau
    @deerbeau 2 года назад +8

    我找了全網多個中英文的nlp視頻來學習,發現王老師講的最好。

  • @yongmu2452
    @yongmu2452 8 месяцев назад +1

    看了很多视频和资料,都没搞懂,还是Shusen牛!讲的真明白

  • @darylyoung665
    @darylyoung665 2 года назад +1

    一系列RNN课程看下来醍醐灌顶,实在是太清楚了

  • @PatrickCat99
    @PatrickCat99 Год назад

    大爱老师,这么好的课程尽然不火,真是天理难容

  • @chengcheng6082
    @chengcheng6082 4 года назад +7

    第一次这么清楚的理解!太感谢您啦!

  • @yumincao5878
    @yumincao5878 4 года назад +1

    每次这块儿理论忘了,理不清的时候就来刷一遍视频。真的好。谢谢Mr.Wang

  • @Zeroneu93
    @Zeroneu93 4 года назад +2

    看过很多机器学习的视频课程,王老师是讲的最详细的,谢谢,点赞。

  • @wadewang574
    @wadewang574 3 года назад +1

    好像transformer里既有用到self-attention,又有用到attention,attention是用在encoder输出的结果喂给decoder那部分,因为这时候q来自decoder,k和v来自encoder。
    更新:看完整个视频,好像视频23:43里也是这么说的

  • @volverearound6445
    @volverearound6445 4 года назад +2

    讲得太清楚了! 从RNN跟着一遍这些都懂了, 接下来就是做项目实践了哈哈. 感谢老师!

  • @FightEverything
    @FightEverything 3 года назад +1

    感谢老师的视频. 先去看的论文, 发现难以理解. 老师从背后的设计思想出发, 结合了设计思想的发展历史, 一切显得这么自然. 茅塞顿开!

  • @hy1234
    @hy1234 2 года назад

    这集真的好漫长,生怕稍一个不注意就错过了一个要点。讲的太清楚了

  • @QinwuXu
    @QinwuXu 6 месяцев назад

    Amazing, first time to see it clearly explains how the attention mechanism aij is related to the K, Q, V

  • @chenyuwang9130
    @chenyuwang9130 3 года назад +1

    老师谢谢你仔细的讲解。我有两点不是很明白想向老师求教。 1. 在两个 RNN + Att和 Att only中 k 和v 分别= h* W(RNN +Att) 和 x*W (Att only)所以区别就在于 h和x。 在RNN中h包含了前文的信息。而x只是单个词的信息。那么上文词的信息在 Att only中会不会遗失。 2. 在Att only中decoder的第一个输入 x1'是不是必须是 开始符号 @Shusen Wang

  • @biscltusimmer7608
    @biscltusimmer7608 3 года назад +2

    王老师功德无量

  • @changxiao2687
    @changxiao2687 2 года назад

    讲得很好!希望可以做到你这样清楚流畅

  • @yusun5347
    @yusun5347 4 года назад

    厉害,希望professor你能多发这样的视频!

  • @AJ-cb2bz
    @AJ-cb2bz Год назад

    如果每个Cj‘都内涵了全部X1,X2...Xj信息,那么其输入端再加上X1’,X2‘。。。Xj’,是不是翻译结果更确定更好呢?换句话说,在DECODE端每一个预测新的单词时,不仅仅看到原文全部信息,还加上已经翻译输出的内容,是不是会对后续预测结果更加准确?
    另外,好想看看W参数矩阵里,经过学习,到底放了什么,长什么样子啊?

  • @rck.5726
    @rck.5726 3 года назад

    讲得太好了,Dr. Wang,yyds!

  • @yongmu2452
    @yongmu2452 8 месяцев назад

    这回真的懂了,太感谢了!

  • @Ma-ir3xt
    @Ma-ir3xt Год назад

    讲的太好了!

  • @ddp4775
    @ddp4775 3 года назад +2

    之前都视频attention里面没有提到过value,我有点不是太懂。

  • @mikew793
    @mikew793 Год назад

    讲的非常清楚

  • @yaoweili681
    @yaoweili681 3 года назад +1

    常看常新,忘了就回来复习一下

  • @guangjunliu2903
    @guangjunliu2903 3 года назад

    条理清晰,赞

  • @cuxyang7298
    @cuxyang7298 4 года назад +1

    棒,很清晰。

  • @WangRuinju
    @WangRuinju 4 года назад

    非常清楚和natural

  • @zyflying
    @zyflying 2 года назад

    清晰明了,赞

  • @drwx1625
    @drwx1625 3 года назад

    谢谢老师,讲的真清楚。

  • @chenchen4244
    @chenchen4244 3 года назад

    讲的实在太好了 内牛满面

  • @meolalittlewild5176
    @meolalittlewild5176 4 года назад

    NLP小白请问一下20:33处PPT的 RNN‘s inputs是不是写错了呀,这里不是without RNN吗?应该就是self-attention层inputs?
    另外王学长讲的很好~同浙大同胞帮顶!

    • @ShusenWang
      @ShusenWang  4 года назад

      是的,我写错了。多谢指正!

  • @laurenwong5577
    @laurenwong5577 4 года назад

    老师讲得太好了,谢谢😊

  • @haosun7977
    @haosun7977 2 года назад

    麻烦问一下14.04处decoder的输入不应该是德语的下一个单词的真实值么,为什么这里是下一个单词的预测值呢

  • @ruicao3191
    @ruicao3191 4 года назад

    王老师讲的太好了

  • @boxie9713
    @boxie9713 3 года назад

    王老师,我们需要你。要是多出一些视频就好了

  • @qi-lvchen6197
    @qi-lvchen6197 2 года назад +1

    感谢老师的精彩讲解,想请问下老师的PPT是怎么制作的呢?感觉可视化部分非常直观!

  • @pengxu8542
    @pengxu8542 2 года назад

    请问self attention为什么有两个输入矩阵X呢?计算C的时候不是只需要一个x1,x2…xm的序列吗?

  • @jumpingeagle568
    @jumpingeagle568 2 года назад

    请问老师为什么说 c是向量v的加权“平均”,而不是加权求和呢

  • @coni2333
    @coni2333 4 месяца назад

    那就是transformer和普通seqtoseq的注意力区别就是v向量喽?

  • @WIZARDELF
    @WIZARDELF 4 года назад

    谢谢。讲得真好👍

  • @watson4750
    @watson4750 3 года назад

    老师可以讲讲Deformable DETR 和 TrackFormer吗

  • @macknightxu2199
    @macknightxu2199 Год назад

    请问RNN和seq2seq有何区别?RNN不就是循环结构seq2seq吗?为何说他们不同呢?

  • @勒油刘
    @勒油刘 Год назад

    点赞点赞!太强了!

  • @longzonejazz2009
    @longzonejazz2009 4 года назад

    讲的太棒了wang老师,但是还想请教一下 self-attention layer训练的原理应该是怎么样了

    • @ShusenWang
      @ShusenWang  4 года назад

      我没细讲训练。训练是用Transformer整体去做预测,预测的错误就是loss,然后用loss关于每一层求梯度,做梯度下降更新参数。后面的BERT视频稍微讲了一点训练。

  • @houzeyu1584
    @houzeyu1584 3 года назад

    Pytorch 文件中有提到 Mask 機制,針對 encode 以及 decode 都可以從老師您的投影片很直觀的理解,但是 memory mask 要如何理解呢?

  • @汪钰林
    @汪钰林 3 года назад +1

    请教一下,之前的attention for seq2seq 就没有value,这里突然就冒出来了value,能否解释一下?

    • @heyjianjing
      @heyjianjing Год назад

      应该是transformer里用到了吧,value就是原来的seq2seq里的h再transform一下

  • @sciab3674
    @sciab3674 5 месяцев назад

    谢谢 真牛

  • @jarorkwong8042
    @jarorkwong8042 3 года назад

    请问王老师,关于Attention is all you need这篇论文,为什么要剥离RNN呢,这样做有什么好处?是因为没有Recurrent就可以更有利于并行计算吗?
    还有,如果剥离了RNN,那么计算相关性的时候就没有能够包含全部词语信息的状态向量h了,剥离之后是直接通过输入的词向量序列通过Wk Wv Wq取得的相关性和Context Vector,这样剥离之后是怎么达到和Self-Attention中一样的效果呢?

    • @ShusenWang
      @ShusenWang  3 года назад +1

      好处一个是加速并行计算,另一个是机器翻译的实验效果更好。
      即使不用RNN,输出的c向量还是跟所有的输入相关。你可以看一下这个:
      github.com/wangshusen/DRL/blob/master/Notes_CN/chp16.pdf

    • @jarorkwong8042
      @jarorkwong8042 3 года назад +1

      @@ShusenWang 不用RNN,输出的c向量确实和所有的输入相关。但是在RNN中,词向量是按顺序输入进来的,因此保留了词与词之间的位置信息。如果剥离RNN,是不是就失去了这个位置编码?比如第一个输入是"Tommy bought Jimmy an apple",第二个输入是"Jimmy bought Tommy an apple "。这两句话的主语和宾语正好相反,因为h向量的存在RNN就会看做是不同的。但是剥离掉RNN之后的Self-Attention层是怎么区分词序的呢?如果Attention层不能考虑词序的话,效果还能比RNN+Attention好,是如何达到的呢?
      您的文章中说“只用注意力机制居然表现更好,在机器翻译等任务上效果有大幅提升”,是不是指Transformer的效果会比RNN+注意力机制的效果更好,而不是指一个浅层的单头注意力层的效果比RNN+注意力机制的效果更好呢?
      我的理解是,因为去掉了RNN层,虽然弱化了词序信息,但是因为可以更好地实现并行计算,所以可以搭建更深的深度神经网络,因此可以充分利用语料提取更为抽象的信息,效果对比浅层RNN+Attention就有了显著提升。。我的理解是不是出现了偏差呢?谢谢老师

    • @ShusenWang
      @ShusenWang  3 года назад +1

      @@jarorkwong8042
      1. Attention本身确实没有位置编码,而Transformer会做位置编码,有一些技巧。我在课里面没有讲到。
      2. RNN+Attention也可以是深层的。我相信在Transformer出现之前肯定有人试过,大公司不缺计算资源。要是深层RNN+Attention能有特别好的效果,早就是大新闻了,未必有后来Transformer什么事。

    • @jarorkwong8042
      @jarorkwong8042 3 года назад

      @@ShusenWang 原来Transformer里面的学问这么深,谢谢王老师的耐心解惑~

  • @罗旭东-v6t
    @罗旭东-v6t 3 года назад +1

    王老师在外网用中文开课 功德无量啊 O(∩_∩)O哈哈~

  • @dayday3923
    @dayday3923 4 года назад

    你是天才.

  • @efd3376
    @efd3376 Год назад

  • @llxua7487
    @llxua7487 2 года назад

    十分感谢

  • @yongwangren
    @yongwangren Год назад

    Mark一下,强烈推荐

  • @chenxuyuan7567
    @chenxuyuan7567 4 года назад

    请问下,decoder层的xt不是依次按顺序生成的吗?在还没有生成的情况下,怎么做self-attention呢?

    • @ShusenWang
      @ShusenWang  4 года назад

      是按顺序的。比如做机器翻译的时候,把当前所有的作为输入,预测下一个词。然后把已有的和新生成的词一起作为输入,再预测下一个词。

    • @chenxuyuan7567
      @chenxuyuan7567 4 года назад

      @@ShusenWang 所以对decoder的self-attention来说,比如只预测了两个单词,那么只对这两个单词做self-attention,是吗?

    • @ShusenWang
      @ShusenWang  4 года назад

      @@chenxuyuan7567 是的,机器翻译是这样做的

    • @chenxuyuan7567
      @chenxuyuan7567 4 года назад

      @@ShusenWang 明白啦 感谢老师!

  • @PatrickCat99
    @PatrickCat99 Год назад

    真是一种享受啊

  • @无名氏-w3w
    @无名氏-w3w 5 месяцев назад

  • @NWCedar
    @NWCedar 4 года назад

    请问王老师有没有办法做一个英文的版本?听中文实在听不懂术语。谢谢!

    • @ShusenWang
      @ShusenWang  3 года назад +1

      我刚上传英文的了。不过有点晚了。。。。

    • @NWCedar
      @NWCedar 3 года назад

      @@ShusenWang Much appreciated!

  • @nullllun7124
    @nullllun7124 4 года назад +1

    UP讲的很好,但刚起步似乎关注的人不是很多。有考虑过将视频搬到b站上去吗?

    • @ShusenWang
      @ShusenWang  4 года назад +2

      多谢~ 国内社交平台是非太多了,动不动就把人挂出来diss。我不往墙内发了。别人想转发就随便转吧。

    • @nullllun7124
      @nullllun7124 4 года назад

      @@ShusenWang emmm科技区可能没这种事情,b站环境还可以。如果您同意的话,我把你这边的都打包发到b站可以吗。反正传上去也不用维护啥的,就当传播一下知识。

    • @nullllun7124
      @nullllun7124 4 года назад

      @@ShusenWang 搜了一下,发现已经有同僚搬运了,虽然老实说看的人还是不多吧,但反馈还是可以的。

    • @ShusenWang
      @ShusenWang  4 года назад +1

      @@nullllun7124 一开始都这样,正常~

  • @jiachengwang4462
    @jiachengwang4462 4 года назад

    老师有源码可以分享吗?

  • @YS-cg4mf
    @YS-cg4mf 3 года назад

    Wonderful!

  • @tianhaogao2636
    @tianhaogao2636 4 года назад

    讲的nice,我看完以后有个地方不是很明白,拿视频里机器翻译的例子,第一个问题是:如果当前处于训练阶段,attention得到context向量矩阵之后,那么这个context矩阵接下来应该怎么利用

    • @ShusenWang
      @ShusenWang  4 года назад

      context vectors相当于从文本中提取的特征。Decoder网络用context vectors来做翻译。下面一个视频里有讲。

  • @肉肥-y4h
    @肉肥-y4h 3 года назад

  • @haolee630
    @haolee630 8 месяцев назад

    建议大家移步王木头的Transformer

  • @muhammadzubairbaloch3224
    @muhammadzubairbaloch3224 3 года назад

    please make the video lectures in English. your lectures are of first class. please please.

  • @chinese366
    @chinese366 3 года назад

    我看谁踩

  • @zhixialiu8851
    @zhixialiu8851 3 года назад

    有点念经,其他都很好

  • @jinan9836
    @jinan9836 4 года назад

    讲的真好,谢谢!