【機器學習2021】Transformer (下)

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ย. 2024

ความคิดเห็น • 85

  • @shanggao5336
    @shanggao5336 2 ปีที่แล้ว +107

    特别感谢李老师的讲解。能够将复杂的概念讲清楚,除了真正的理解,还有对传道授业解惑的热忱。相信李老师桃李满天下,值得“老师”这一尊称!👍

  • @haowang-eb1lz
    @haowang-eb1lz 8 หลายเดือนก่อน +14

    我讲实话,在看李老师的视频之前,我从来没搞懂transformer到底是怎么运作的,真的讲得太好了,李老师配享太庙!

  • @hudsonvan4322
    @hudsonvan4322 8 หลายเดือนก่อน +28

    老師的講解真的很實用,跨時空造福整個亞洲圈,3年前還沒有資源可以玩整個 trasformer,甚至不少人認為trasformer的訓練只有大企業才玩得起,可能發展不會那麼快。誰知道後來 Lora 與 adaption 技術出來之後,人人都可以為快樂微調 LLM 了。並且現在的 instruct 系列的 LLM 都是 based on Transformer 架構,所以要了解 chatGPT, Gemini 的原理,仍然要回來複習這部最經典的 trasformer 課程影片。

    • @鄧惇益
      @鄧惇益 8 หลายเดือนก่อน

      要train transformer需要用什麼工具啊?tensorflow已經不夠用了是嘛?需要你說的Lora 與 adaption是嘛?

  • @houwenhe4748
    @houwenhe4748 ปีที่แล้ว +3

    把所有要素掰开揉碎了授课方式很容易吸收,而且还有直观的理解,不但知识学习,还会让我重新思考,真的受益匪浅,谢谢。

  • @noonehere238
    @noonehere238 3 วันที่ผ่านมา +1

    李教授是人类宝贵的财富。

  • @李唱-e9b
    @李唱-e9b 6 หลายเดือนก่อน +1

    十分感谢李老师的讲解。一直对于transformer的组成,各部分设计的原因和作用有很多不理解的地方,停下来之后真的豁然开朗。感谢!

  • @chito0206
    @chito0206 3 ปีที่แล้ว +53

    感謝李老師的分享~ ML全部都是看您的影片自學的,真的講的非常清楚,讓我好羨慕台大的學生ww

  • @alvinpan2255
    @alvinpan2255 2 ปีที่แล้ว +12

    通过李老师讲得,终于理清楚了seq2seq,transformer和attention之间的关系,而且后面的启发性思考太棒了!!

  • @majack4300
    @majack4300 3 ปีที่แล้ว +18

    感谢李老师的分享,听李老师讲课是一种享受。

  • @TTM366
    @TTM366 ปีที่แล้ว +15

    從JOJO、諸葛村夫到小傑不能使用念能力😂 老師真的講的很好,謝謝提供這樣的課程內容!

    • @TTM366
      @TTM366 ปีที่แล้ว +6

      還有硬train一發 哈哈哈

  • @bowenyi-kj3vr
    @bowenyi-kj3vr 8 หลายเดือนก่อน +2

    非常感谢李老师的讲解,深入浅出,比TH-cam上其他的讲解都好;配合Dan Jurafsky的教材一起看便帮助很大!

  • @yhwang366
    @yhwang366 3 ปีที่แล้ว +8

    油管中文视频讲的最好的老师了

  • @anonymouslinkmust2482
    @anonymouslinkmust2482 ปีที่แล้ว +4

    老师太棒了,从哔哩哔哩转战到youtube来看老师啦

  • @qq_cat
    @qq_cat 11 หลายเดือนก่อน +4

    三刷了,每次都有新的收获

  • @ろんサトシ
    @ろんサトシ 3 ปีที่แล้ว +8

    老师您真的很喜欢「硬 Train 一发」。

  • @陳翰儒-d5m
    @陳翰儒-d5m 3 ปีที่แล้ว +10

    謝謝老師的無私分享

  • @Li-oy2bo
    @Li-oy2bo 3 ปีที่แล้ว +6

    还是得多看别的资料,才能比较熟悉transformer

  • @ruanjiayang
    @ruanjiayang 3 ปีที่แล้ว +18

    关于为什么有些任务(例如TTS)需要在inference的时候加noise,其本质原因在于这种任务的ground truth本身就不具备唯一性(这并不是outlier哦),如果硬train,对于某一个input,输出的拟合结果实质是介于若干个ground truth之间的均值,所以不像人声,这种现象在训练集的ground truth中有不同音色、语速的人时会更明显。

    • @jiashupan9181
      @jiashupan9181 3 ปีที่แล้ว +1

      谢谢你!我明白了,是和后面的GAN提到的吃豆人视频生成一个道理吧。(如果你暂时还没有看的话,因为训练资料里既有向左的糖豆人,又有向右的糖豆人,ground truth不唯一,所以最后生成的视频里吃豆人会分身,也就是ground truth的平均)但是在为什么加noise会抑制这种现象呢?(具体noise又是加在哪里呢?输入还是ground truth?)

    • @peiniguo8304
      @peiniguo8304 3 ปีที่แล้ว +1

      @@jiashupan9181 我也有同样的问题!希望可以得到解答!

    • @tony10130
      @tony10130 2 ปีที่แล้ว +4

      @@jiashupan9181 我的猜測是,加noise可一定程度避免"輸入完全等於訓練時看過的資料",例如: 今天天氣真好 => 今天天氣真豪 或是 今天天氣真好!! 因為現在的深度模型大部分都已經overfitted,因此只要在訓練集看過,基本上都可以直接return訓練集結果,而對於多個ground truth的example,就是平均值。總之就是避免"輸入完全等於訓練看過的資料"。

  • @zijianwang858
    @zijianwang858 7 หลายเดือนก่อน

    太感谢李老师的。李老师是我的唯一男神!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @ivantam9432
    @ivantam9432 ปีที่แล้ว

    網上找了一堆cross attention的片,你這個很清楚,thanks!

  • @hawkiyc
    @hawkiyc 2 หลายเดือนก่อน

    老師您好,我想請問一下shift right到底指的是什麼?
    假設我們正在訓練一個機器翻譯模型,而某一筆輸入是像下面這樣,X是原始語言,Y是目標語言
    sample X1 = [, x11, x12, x13, ..., x1i, ]
    sample Y1 = [, y11, y12, y13, ..., y1j, ]
    i, j 可以不相等
    decoder input: [, y11, y12, y13, ..., y1j]
    decoder output: [y11, y12, y13, ..., y1j, ]
    根據我查到的資料,實際上在訓練的時候,encoder的輸入會像上面這樣,而shift right的目的只是為了讓decoder的輸入輸出是等長的,這樣的理解是對的嗎?
    另外一個問題是,即使上面是對的,實際操作的時候,通常輸入不是會動態padding到該batch最長的sequence長度,或是模型的max seq length?那這樣decoder的輸入跟輸出,不就還是會有一堆的 token?當然在訓練的時候,可以透過padding mask來消除 token的影響,可是這樣是不是代表在推論的時候,就要加上一段code來讓模型在輸出後強制停止?

  • @tonygan1132
    @tonygan1132 ปีที่แล้ว +4

    非常感谢,直接跪地磕头,老师能不能讲讲Transformer在CV领域的应用,NLP已经讲很多了

  • @zekunnnnnn6532
    @zekunnnnnn6532 ปีที่แล้ว +4

    哭惹 老师的课怎么上这么好啊!!

  • @客家饒舌執牛耳
    @客家饒舌執牛耳 3 ปีที่แล้ว +4

    謝謝李教授 教授真的硬帥一發

  • @飄飄-k1g
    @飄飄-k1g 6 หลายเดือนก่อน +1

    菜鳥來簽名..... 講的好明白, 害我對神經網路的神祕感消失大半

  • @baobaolong423
    @baobaolong423 3 ปีที่แล้ว +3

    终于更新了!

  • @jijie133
    @jijie133 2 ปีที่แล้ว +2

    Now I know the difference between autoregressive decoder and non autoregressive decoder.

    • @jijie133
      @jijie133 2 ปีที่แล้ว

      很好的视频

  • @铃屋什造-d1w
    @铃屋什造-d1w 6 หลายเดือนก่อน

    感谢李老师的视频,这个视频对应的作业有网址么。

  • @devin6833
    @devin6833 3 ปีที่แล้ว +2

    讲的实在是太好了

  • @qw4316
    @qw4316 2 ปีที่แล้ว +1

    李老师、您有没有依托代码讲解的deep learning课程

  • @yoshiyuki1732ify
    @yoshiyuki1732ify ปีที่แล้ว

    我有个疑惑,可能有点Picky,Decoder明显是有输入的模型,叫autoregressive 是不是有些迷惑性呢?

  • @incendioraven4269
    @incendioraven4269 ปีที่แล้ว +1

    老师,
    NAT这四个BEGIN有点不太懂

  • @kkchi5873
    @kkchi5873 หลายเดือนก่อน

    decoder 里input的outputs是什么

  • @rulala
    @rulala 2 ปีที่แล้ว

    Decoder上一步是把输出的结果softmax以后选出词表里面的词嵌入还是one-hot编码给到当前的输入呢?这里感觉不清楚

  • @LukeJacob-s8n
    @LukeJacob-s8n 7 หลายเดือนก่อน

    老师,感谢分享。不知道有作业链接吗?

  • @deskeyi
    @deskeyi ปีที่แล้ว

    43:27 老師試試「高雄發大財」😂

  • @tonygan1132
    @tonygan1132 ปีที่แล้ว

    硬train一发,从call back到three-peat,到停不下来

  • @asdfasdfsd
    @asdfasdfsd 8 หลายเดือนก่อน

    AT NAT 里的 “T” 代表什么意思?

  • @MRharryshieh
    @MRharryshieh 3 ปีที่แล้ว +4

    終於搞懂了😭

  • @鹏鹏王-e7x
    @鹏鹏王-e7x ปีที่แล้ว +1

    李老师太牛了,放个二维码吧 我想给你扫码了

  • @HebrewSongPod
    @HebrewSongPod ปีที่แล้ว

    30:15 想請問老師,那張表的y軸單位是什麼啊? 看不太懂這種表... 謝謝

  • @easonh6050
    @easonh6050 ปีที่แล้ว +1

    老师真的是我在生父母啊

  • @daddydear9610
    @daddydear9610 ปีที่แล้ว

    这个上和下,怎么感觉内容没有连上。。

  • @布丁-z8m
    @布丁-z8m 3 ปีที่แล้ว +2

    太讚了

  • @georgechang5994
    @georgechang5994 ปีที่แล้ว

    老师您好!请问Decoder的输入Output Embeding如何理解? 不能是one hot向量直接输入吧,one hot向量全是两两正交的,相乘不都变零了么?

    • @rikki146
      @rikki146 ปีที่แล้ว

      不是跟 input embedding 獲得方法一樣?

    • @hudsonvan4322
      @hudsonvan4322 8 หลายเดือนก่อน +1

      你可以從十年前的 Language model 來理解會更容易想通,也就是 google 提出來的 word2vec tensorflow 官方教學程式碼,其實語言模型會有一個 python dict 的 lexicon (辭典),用來將 NLP token (如: 中文詞彙、英文 sub-word) 與 word embedding 做對應。word embedding 是 trainable,當 model decoder forwarding 的時候輸出的 embeddings 可以用第一版的 dict 來查詢 word embedding 究竟是對應什麼 NLP token;接著,backward 之後,會更新 dict 裡面的 word embeddings 向量 (最佳情況可以想成相關的 word 的 embedding 變得更接近、相反意義的 embedding 拉得更遠),這就產生新一版的 dict。所以回答你的疑問,其實模型計算時使用的 Embeding 是 trainable embedding 而不是 one hot vector。程式實作上不會單用一個 dict 來轉換 embedding 與 NLP tokens,而是用 2 個 dict 來間接轉換,你可以用 1 個 dict 把 NLP token 轉成 one-hot 以方便程式撰寫,同時會用第 2 個 dict 把 one-hot 再轉成 trainable word embedding,所以實際上模型計算時是使用 word embedding 而不是 one-hot vector。one-hot vector 是要把模型輸出的 embedding 轉成人類看得懂的語言的時候才會用到。

  • @nekokiku2918
    @nekokiku2918 3 ปีที่แล้ว +1

    第一时间赶来学习

  • @yongminghe2386
    @yongminghe2386 3 ปีที่แล้ว

    为什么在做cross-attention的时候是一边的Q和另一边的K,V做,而不是一边的Q和K与另一边的V或者一边的Q和V与另一边的K呢?

    • @福运汪
      @福运汪 3 ปีที่แล้ว

      我觉得你可能对Transformer的理解有些问题。我尝试跟你解释一下,attention要做的简单讲,就是用q,k求出v对应的比例,对所有的v进行weighted sum。这里的Q,之所以称之为Q,其实是Query的缩写,所以q的个数确定了后面生成的向量的数量。我的意思是,Q可以跟K,V的数量不同,但是K,V的个数必须是相同的,他们是成对出现的。

  • @igocs-z1o
    @igocs-z1o 4 หลายเดือนก่อน

    自然会有人交学~没事有事大家一起当

  • @jijie133
    @jijie133 2 ปีที่แล้ว

    Great video!

  • @alvinpan2255
    @alvinpan2255 2 ปีที่แล้ว

    李老师 开源学习 yyds!!!!!

  • @Jack-dx7qb
    @Jack-dx7qb 2 ปีที่แล้ว

    太美了...

  • @ruanjiayang
    @ruanjiayang 3 ปีที่แล้ว +1

    硬train一发!

  • @chunyuyang911
    @chunyuyang911 3 ปีที่แล้ว

    inference, not influence

  • @miku3920
    @miku3920 3 ปีที่แล้ว

    Beam Search = Monte Carlo Tree Search ?

    • @福运汪
      @福运汪 3 ปีที่แล้ว +2

      Beam Search可以看作是贪心与穷举的折中。

  • @difeitang1823
    @difeitang1823 2 ปีที่แล้ว

    那这样子不还是输入N个,输出N个吗?

    • @laplaceha6700
      @laplaceha6700 2 ปีที่แล้ว +1

      transformer內的encoder是輸入n個(長度為n的向量序列vector seq)輸出n個(因為是用self-attention模組);decoder是輸入n'個輸出n'個,但transformer本身輸入是n個,輸出是n'個,輸入長度不等於輸出長度。

    • @difeitang1823
      @difeitang1823 ปีที่แล้ว

      嗯,看明白了,n‘长度是decoder自己决定的@@laplaceha6700

  • @TomChenyangJI
    @TomChenyangJI 5 หลายเดือนก่อน

    是不是可以认为这里的问题是overfit @55:42

  • @lingju9942
    @lingju9942 3 ปีที่แล้ว +1

    留下我的脚印哈哈哈哈

  • @lifengshi5237
    @lifengshi5237 3 ปีที่แล้ว

    助教的课在哪儿呢

  • @bingeng2272
    @bingeng2272 4 หลายเดือนก่อน

    借您吉言,输入“习”字后就输出“断”。

  • @taoo4612
    @taoo4612 2 ปีที่แล้ว

    硬train一發

  • @darkbreker2271
    @darkbreker2271 3 ปีที่แล้ว

    老師我想問一下 台大的機器學習課程是只有大三有開課嗎?

    • @xiaoyusi5582
      @xiaoyusi5582 3 ปีที่แล้ว +1

      研究生也在修的

  • @asherwang3336
    @asherwang3336 3 ปีที่แล้ว

    硬 Train 一发!

  • @huanhuanzhang9641
    @huanhuanzhang9641 2 ปีที่แล้ว

    团长在黑暗大陆会不会凉

  • @JinzhuWANG
    @JinzhuWANG 3 ปีที่แล้ว

    4:30 听到了下课铃声

  • @space20021
    @space20021 3 หลายเดือนก่อน

    =====斷=====

  • @yijiewu3754
    @yijiewu3754 2 ปีที่แล้ว

    encoder你忘了就算了 :)

  • @junpengqiu4054
    @junpengqiu4054 ปีที่แล้ว

    th-cam.com/video/N6aRv06iv2g/w-d-xo.html 突然乱入幻影兵团

  • @呆橘-b7o
    @呆橘-b7o 3 ปีที่แล้ว

    6666666 yyds

  • @left_right_men
    @left_right_men 3 ปีที่แล้ว +2

    謝謝老師的無私分享

  • @jackzhang2811
    @jackzhang2811 2 ปีที่แล้ว

    硬train一发!