ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
特别感谢李老师的讲解。能够将复杂的概念讲清楚,除了真正的理解,还有对传道授业解惑的热忱。相信李老师桃李满天下,值得“老师”这一尊称!👍
我讲实话,在看李老师的视频之前,我从来没搞懂transformer到底是怎么运作的,真的讲得太好了,李老师配享太庙!
老師的講解真的很實用,跨時空造福整個亞洲圈,3年前還沒有資源可以玩整個 trasformer,甚至不少人認為trasformer的訓練只有大企業才玩得起,可能發展不會那麼快。誰知道後來 Lora 與 adaption 技術出來之後,人人都可以為快樂微調 LLM 了。並且現在的 instruct 系列的 LLM 都是 based on Transformer 架構,所以要了解 chatGPT, Gemini 的原理,仍然要回來複習這部最經典的 trasformer 課程影片。
要train transformer需要用什麼工具啊?tensorflow已經不夠用了是嘛?需要你說的Lora 與 adaption是嘛?
把所有要素掰开揉碎了授课方式很容易吸收,而且还有直观的理解,不但知识学习,还会让我重新思考,真的受益匪浅,谢谢。
李教授是人类宝贵的财富。
十分感谢李老师的讲解。一直对于transformer的组成,各部分设计的原因和作用有很多不理解的地方,停下来之后真的豁然开朗。感谢!
感謝李老師的分享~ ML全部都是看您的影片自學的,真的講的非常清楚,讓我好羨慕台大的學生ww
通过李老师讲得,终于理清楚了seq2seq,transformer和attention之间的关系,而且后面的启发性思考太棒了!!
感谢李老师的分享,听李老师讲课是一种享受。
從JOJO、諸葛村夫到小傑不能使用念能力😂 老師真的講的很好,謝謝提供這樣的課程內容!
還有硬train一發 哈哈哈
非常感谢李老师的讲解,深入浅出,比TH-cam上其他的讲解都好;配合Dan Jurafsky的教材一起看便帮助很大!
油管中文视频讲的最好的老师了
老师太棒了,从哔哩哔哩转战到youtube来看老师啦
+1
三刷了,每次都有新的收获
老师您真的很喜欢「硬 Train 一发」。
謝謝老師的無私分享
还是得多看别的资料,才能比较熟悉transformer
关于为什么有些任务(例如TTS)需要在inference的时候加noise,其本质原因在于这种任务的ground truth本身就不具备唯一性(这并不是outlier哦),如果硬train,对于某一个input,输出的拟合结果实质是介于若干个ground truth之间的均值,所以不像人声,这种现象在训练集的ground truth中有不同音色、语速的人时会更明显。
谢谢你!我明白了,是和后面的GAN提到的吃豆人视频生成一个道理吧。(如果你暂时还没有看的话,因为训练资料里既有向左的糖豆人,又有向右的糖豆人,ground truth不唯一,所以最后生成的视频里吃豆人会分身,也就是ground truth的平均)但是在为什么加noise会抑制这种现象呢?(具体noise又是加在哪里呢?输入还是ground truth?)
@@jiashupan9181 我也有同样的问题!希望可以得到解答!
@@jiashupan9181 我的猜測是,加noise可一定程度避免"輸入完全等於訓練時看過的資料",例如: 今天天氣真好 => 今天天氣真豪 或是 今天天氣真好!! 因為現在的深度模型大部分都已經overfitted,因此只要在訓練集看過,基本上都可以直接return訓練集結果,而對於多個ground truth的example,就是平均值。總之就是避免"輸入完全等於訓練看過的資料"。
太感谢李老师的。李老师是我的唯一男神!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
網上找了一堆cross attention的片,你這個很清楚,thanks!
老師您好,我想請問一下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來讓模型在輸出後強制停止?
非常感谢,直接跪地磕头,老师能不能讲讲Transformer在CV领域的应用,NLP已经讲很多了
哭惹 老师的课怎么上这么好啊!!
謝謝李教授 教授真的硬帥一發
菜鳥來簽名..... 講的好明白, 害我對神經網路的神祕感消失大半
终于更新了!
Now I know the difference between autoregressive decoder and non autoregressive decoder.
很好的视频
感谢李老师的视频,这个视频对应的作业有网址么。
讲的实在是太好了
李老师、您有没有依托代码讲解的deep learning课程
我有个疑惑,可能有点Picky,Decoder明显是有输入的模型,叫autoregressive 是不是有些迷惑性呢?
老师,NAT这四个BEGIN有点不太懂
decoder 里input的outputs是什么
Decoder上一步是把输出的结果softmax以后选出词表里面的词嵌入还是one-hot编码给到当前的输入呢?这里感觉不清楚
老师,感谢分享。不知道有作业链接吗?
43:27 老師試試「高雄發大財」😂
硬train一发,从call back到three-peat,到停不下来
AT NAT 里的 “T” 代表什么意思?
終於搞懂了😭
李老师太牛了,放个二维码吧 我想给你扫码了
30:15 想請問老師,那張表的y軸單位是什麼啊? 看不太懂這種表... 謝謝
老师真的是我在生父母啊
这个上和下,怎么感觉内容没有连上。。
太讚了
老师您好!请问Decoder的输入Output Embeding如何理解? 不能是one hot向量直接输入吧,one hot向量全是两两正交的,相乘不都变零了么?
不是跟 input embedding 獲得方法一樣?
你可以從十年前的 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 轉成人類看得懂的語言的時候才會用到。
第一时间赶来学习
为什么在做cross-attention的时候是一边的Q和另一边的K,V做,而不是一边的Q和K与另一边的V或者一边的Q和V与另一边的K呢?
我觉得你可能对Transformer的理解有些问题。我尝试跟你解释一下,attention要做的简单讲,就是用q,k求出v对应的比例,对所有的v进行weighted sum。这里的Q,之所以称之为Q,其实是Query的缩写,所以q的个数确定了后面生成的向量的数量。我的意思是,Q可以跟K,V的数量不同,但是K,V的个数必须是相同的,他们是成对出现的。
自然会有人交学~没事有事大家一起当
Great video!
李老师 开源学习 yyds!!!!!
太美了...
硬train一发!
inference, not influence
Beam Search = Monte Carlo Tree Search ?
Beam Search可以看作是贪心与穷举的折中。
那这样子不还是输入N个,输出N个吗?
transformer內的encoder是輸入n個(長度為n的向量序列vector seq)輸出n個(因為是用self-attention模組);decoder是輸入n'個輸出n'個,但transformer本身輸入是n個,輸出是n'個,輸入長度不等於輸出長度。
嗯,看明白了,n‘长度是decoder自己决定的@@laplaceha6700
是不是可以认为这里的问题是overfit @55:42
留下我的脚印哈哈哈哈
助教的课在哪儿呢
同问
借您吉言,输入“习”字后就输出“断”。
硬train一發
老師我想問一下 台大的機器學習課程是只有大三有開課嗎?
研究生也在修的
硬 Train 一发!
团长在黑暗大陆会不会凉
4:30 听到了下课铃声
=====斷=====
encoder你忘了就算了 :)
th-cam.com/video/N6aRv06iv2g/w-d-xo.html 突然乱入幻影兵团
6666666 yyds
特别感谢李老师的讲解。能够将复杂的概念讲清楚,除了真正的理解,还有对传道授业解惑的热忱。相信李老师桃李满天下,值得“老师”这一尊称!👍
我讲实话,在看李老师的视频之前,我从来没搞懂transformer到底是怎么运作的,真的讲得太好了,李老师配享太庙!
老師的講解真的很實用,跨時空造福整個亞洲圈,3年前還沒有資源可以玩整個 trasformer,甚至不少人認為trasformer的訓練只有大企業才玩得起,可能發展不會那麼快。誰知道後來 Lora 與 adaption 技術出來之後,人人都可以為快樂微調 LLM 了。並且現在的 instruct 系列的 LLM 都是 based on Transformer 架構,所以要了解 chatGPT, Gemini 的原理,仍然要回來複習這部最經典的 trasformer 課程影片。
要train transformer需要用什麼工具啊?tensorflow已經不夠用了是嘛?需要你說的Lora 與 adaption是嘛?
把所有要素掰开揉碎了授课方式很容易吸收,而且还有直观的理解,不但知识学习,还会让我重新思考,真的受益匪浅,谢谢。
李教授是人类宝贵的财富。
十分感谢李老师的讲解。一直对于transformer的组成,各部分设计的原因和作用有很多不理解的地方,停下来之后真的豁然开朗。感谢!
感謝李老師的分享~ ML全部都是看您的影片自學的,真的講的非常清楚,讓我好羨慕台大的學生ww
通过李老师讲得,终于理清楚了seq2seq,transformer和attention之间的关系,而且后面的启发性思考太棒了!!
感谢李老师的分享,听李老师讲课是一种享受。
從JOJO、諸葛村夫到小傑不能使用念能力😂 老師真的講的很好,謝謝提供這樣的課程內容!
還有硬train一發 哈哈哈
非常感谢李老师的讲解,深入浅出,比TH-cam上其他的讲解都好;配合Dan Jurafsky的教材一起看便帮助很大!
油管中文视频讲的最好的老师了
老师太棒了,从哔哩哔哩转战到youtube来看老师啦
+1
三刷了,每次都有新的收获
老师您真的很喜欢「硬 Train 一发」。
謝謝老師的無私分享
还是得多看别的资料,才能比较熟悉transformer
关于为什么有些任务(例如TTS)需要在inference的时候加noise,其本质原因在于这种任务的ground truth本身就不具备唯一性(这并不是outlier哦),如果硬train,对于某一个input,输出的拟合结果实质是介于若干个ground truth之间的均值,所以不像人声,这种现象在训练集的ground truth中有不同音色、语速的人时会更明显。
谢谢你!我明白了,是和后面的GAN提到的吃豆人视频生成一个道理吧。(如果你暂时还没有看的话,因为训练资料里既有向左的糖豆人,又有向右的糖豆人,ground truth不唯一,所以最后生成的视频里吃豆人会分身,也就是ground truth的平均)但是在为什么加noise会抑制这种现象呢?(具体noise又是加在哪里呢?输入还是ground truth?)
@@jiashupan9181 我也有同样的问题!希望可以得到解答!
@@jiashupan9181 我的猜測是,加noise可一定程度避免"輸入完全等於訓練時看過的資料",例如: 今天天氣真好 => 今天天氣真豪 或是 今天天氣真好!! 因為現在的深度模型大部分都已經overfitted,因此只要在訓練集看過,基本上都可以直接return訓練集結果,而對於多個ground truth的example,就是平均值。總之就是避免"輸入完全等於訓練看過的資料"。
太感谢李老师的。李老师是我的唯一男神!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
網上找了一堆cross attention的片,你這個很清楚,thanks!
老師您好,我想請問一下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來讓模型在輸出後強制停止?
非常感谢,直接跪地磕头,老师能不能讲讲Transformer在CV领域的应用,NLP已经讲很多了
哭惹 老师的课怎么上这么好啊!!
謝謝李教授 教授真的硬帥一發
菜鳥來簽名..... 講的好明白, 害我對神經網路的神祕感消失大半
终于更新了!
Now I know the difference between autoregressive decoder and non autoregressive decoder.
很好的视频
感谢李老师的视频,这个视频对应的作业有网址么。
讲的实在是太好了
李老师、您有没有依托代码讲解的deep learning课程
我有个疑惑,可能有点Picky,Decoder明显是有输入的模型,叫autoregressive 是不是有些迷惑性呢?
老师,
NAT这四个BEGIN有点不太懂
decoder 里input的outputs是什么
Decoder上一步是把输出的结果softmax以后选出词表里面的词嵌入还是one-hot编码给到当前的输入呢?这里感觉不清楚
老师,感谢分享。不知道有作业链接吗?
43:27 老師試試「高雄發大財」😂
硬train一发,从call back到three-peat,到停不下来
AT NAT 里的 “T” 代表什么意思?
終於搞懂了😭
李老师太牛了,放个二维码吧 我想给你扫码了
30:15 想請問老師,那張表的y軸單位是什麼啊? 看不太懂這種表... 謝謝
老师真的是我在生父母啊
这个上和下,怎么感觉内容没有连上。。
太讚了
老师您好!请问Decoder的输入Output Embeding如何理解? 不能是one hot向量直接输入吧,one hot向量全是两两正交的,相乘不都变零了么?
不是跟 input embedding 獲得方法一樣?
你可以從十年前的 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 轉成人類看得懂的語言的時候才會用到。
第一时间赶来学习
为什么在做cross-attention的时候是一边的Q和另一边的K,V做,而不是一边的Q和K与另一边的V或者一边的Q和V与另一边的K呢?
我觉得你可能对Transformer的理解有些问题。我尝试跟你解释一下,attention要做的简单讲,就是用q,k求出v对应的比例,对所有的v进行weighted sum。这里的Q,之所以称之为Q,其实是Query的缩写,所以q的个数确定了后面生成的向量的数量。我的意思是,Q可以跟K,V的数量不同,但是K,V的个数必须是相同的,他们是成对出现的。
自然会有人交学~没事有事大家一起当
Great video!
李老师 开源学习 yyds!!!!!
太美了...
硬train一发!
inference, not influence
Beam Search = Monte Carlo Tree Search ?
Beam Search可以看作是贪心与穷举的折中。
那这样子不还是输入N个,输出N个吗?
transformer內的encoder是輸入n個(長度為n的向量序列vector seq)輸出n個(因為是用self-attention模組);decoder是輸入n'個輸出n'個,但transformer本身輸入是n個,輸出是n'個,輸入長度不等於輸出長度。
嗯,看明白了,n‘长度是decoder自己决定的@@laplaceha6700
是不是可以认为这里的问题是overfit @55:42
留下我的脚印哈哈哈哈
助教的课在哪儿呢
同问
借您吉言,输入“习”字后就输出“断”。
硬train一發
老師我想問一下 台大的機器學習課程是只有大三有開課嗎?
研究生也在修的
硬 Train 一发!
团长在黑暗大陆会不会凉
4:30 听到了下课铃声
=====斷=====
encoder你忘了就算了 :)
th-cam.com/video/N6aRv06iv2g/w-d-xo.html 突然乱入幻影兵团
6666666 yyds
謝謝老師的無私分享
硬train一发!