back to index

【機器學習2021】課程結語 - 最後的業配並改編《為學一首示子姪》作結


link |
00:00.000
各位同學大家好,最後我準備了感性的課程結語想要分享給大家。
link |
00:07.160
在這門課裡面,我們到目前為止學過了什麼呢?
link |
00:12.020
在這個學習一開始的時候,我就告訴大家說什麼叫做機器學習。
link |
00:17.400
機器學習不是太神奇的東西,它就是要找一個function。
link |
00:22.520
那在第一堂課,我們就告訴大家linear的model是不夠的。
link |
00:26.880
在第一堂課,我們就直接進入這門課的主題,告訴你什麼是深度學習,什麼是deep learning。
link |
00:35.580
接下來我們告訴大家說,怎麼用deep learning的技術來處理一張圖片,來處理輸入式矩陣的狀況,也就是convolutional的neural network。
link |
00:47.100
那接下來呢,我們還告訴大家說,假設輸入是一個sequence,它是一段聲音,它是一段文字的時候,要怎麼處理?
link |
00:56.320
在這個部分,我們講了self-attention的概念。
link |
01:00.420
最後,我們跟大家講說,我們可以有一個model,這個model叫transformer,它的input跟output的長度可以是不一樣的。
link |
01:10.660
那這是我們前半學習大概跟大家分享的內容。
link |
01:14.240
那因為時間有限的關係,所以在課堂內沒有辦法分享太多各式各樣不同模型的變形,
link |
01:20.900
但是其實你只要知道這頁投影片講的這些模型,你其實就可以處理多數你感興趣的應用。
link |
01:29.860
這是上半學習的部分,接下來過了期中之後,我們開始進入一些機器學習進階的主題,包括怎麼讓機器學會創造這件事,也就是generative model。
link |
01:43.940
那在generative model裡面,我們講了in這個技術,那我們還跟大家講說,怎麼利用沒有標註的資料,也就是現在最熱門的self-supervised learning的技術。
link |
01:57.000
那在self-supervised learning的技術裡面,我跟大家分享了今日最關鍵,大家最耳熟能詳的BERT這個模型。
link |
02:06.200
那我們也講說,如果訓練跟測試資料不匹配不match的時候怎麼辦?我們跟大家講了domain adaptation。
link |
02:13.120
我們還講了每個人都耳熟能詳的REL reinforcement learning,試圖用平易近人的方法來告訴你什麼是reinforcement learning。
link |
02:24.120
那我們還講如何應付來自人類的惡意,如何做模型的攻擊與防禦。
link |
02:31.120
我們還講說,如果學出一個模型以後,怎麼去解釋模型學習的結果?我們講了explainable的machine learning。
link |
02:40.120
我們還講,假設你要在edge device上面做運算的時候該怎麼辦?我們講了如何讓模型進行壓縮,我們講了network compression的技術。
link |
02:51.120
那我們還講了邁向天網之路,或者是我們為什麼沒有辦法製造出天網,我們講了life-long learning的技術。
link |
02:58.120
最後我們要超越機器學習,我們不只要學習,我們還要超越學習這件事,做到學習如何學習,這個就是meta learning。
link |
03:12.120
那在這門課裡面呢,我們也看到了machine learning的各式各樣的應用,看到了機器學習這個技術的種種可能性。
link |
03:21.120
包括把機器學習用在跟COVID-19有關的趨勢預測上,把機器學習用在影像處理上。
link |
03:31.120
那除了最基本的影像分類之外,我們還做了影像系統的攻擊,我們還做了影像系統的調適,我們還做了影像系統的壓縮、解釋,還甚至做了對影像的異常檢測。
link |
03:48.120
那除了對影像做分類以外,我們還帶大家做了讓機器畫圖這件事,我們讓機器可以生成二次元人物的頭像。
link |
04:01.120
除了影像以外,機器也能拿來處理自然語言,我們帶大家做了兩個自然語言處理相關的應用。
link |
04:09.120
一個是翻譯,機器可以把某一個語言自動翻譯成另外一個語言,另外一個是問答,你可以問機器一個問題,它可以給你一個答案。
link |
04:21.120
那我們還做了跟語音相關的應用,我們讓機器可以把聲音訊號辨識成文字,我們做了一個簡化版的語音辨識,我們做了音速辨識這個任務。
link |
04:34.120
我們也讓機器它可以辨識現在的說話的人是誰,我們讓機器做了語者辨識。
link |
04:43.120
那我們還用reinforcement learning的技術讓機器玩了小遊戲。
link |
04:49.120
那在這門課裡面有這麼多的應用就是要告訴你說機器學習、深度學習它可以用在各式各樣的領域。
link |
04:58.120
你可以想想看你現在關注的問題裡面有沒有可以用機器學習、深度學習來解的問題。
link |
05:07.120
這門課是一個漫長的旅程,而這個旅程現在已經進入尾聲,但這個並不是旅程的終點,它只是另外一段旅程的開始。
link |
05:23.120
那我知道很多同學在修這門課的時候,你可能會覺得對很多主題都只是走馬看花的看過而已。
link |
05:32.120
沒錯,這門課最重要的目的並不是帶你深入研究某一個機器學習裡面的問題,而是告訴你說今天在深度學習這個領域裡面有哪些關鍵的技術。
link |
05:45.120
所以我們做的事情像是深度學習的一學其由,就好像說很多有台北一日遊這樣的活動,然後就帶你去看看台北各個景點,但是你也沒有辦法真的了解台北,你可能要在台北住得夠久才能夠了解當地的文化。
link |
06:03.120
所以今天這門課做的事情是深度學習一學其由,我們就是告訴你說有哪些技術,就好像帶你去101,然後爬上去看個夜景,然後就結束了。
link |
06:17.120
甚至很多技術我們只是略微提到,根本沒有詳細的講它的內容,就好像遠遠的指著101告訴你說,看啊,那邊有個景點叫做101,你下次來台北玩的時候可以記得爬上去看看。
link |
06:30.120
所以這門課我們只是走馬看花的告訴你有什麼樣關鍵的技術存在,我們只是帶你到了這些技術的門邊,把門打開來告訴你說門裡面可能有什麼,但是要真的跨入這個門內,那就要靠你未來自己繼續努力。
link |
06:49.120
那有同學可能會問說,在這門課結束之後,接下來我可以做什麼呢?我覺得其實你可以開始嘗試找一個應用來自己解決,如果你是研究生的話,那你一定有你正在研究的問題,而這個問題可能過去你並不知道怎麼用深度學習的技術來處理。
link |
07:10.120
而今天修完這門課以後,你可以想想看,在我們做過的這些作業裡面,有沒有什麼概念是可以派得上用場的,有沒有什麼作業甚至可以直接用在你正在研究的問題上。
link |
07:24.120
如果你想要更進一步學習深度學習的技術的話,其實我認為現在你應該有能力可以讀懂論文了,你可以去找機器學習的頂尖國際會議的論文來看,假設這門課的多數內容你都已經通透,靜下心來,你應該是有辦法看得懂這些論文大致的內容的。
link |
07:46.120
最後啊,還有啊,這個大家聽好了,這個是我最後的業配了,有一個活動叫做Machine Learning Summer School NLSS2021,這個活動是從8月2號到20號,每天會有1到2堂3個小時的課。
link |
08:09.120
歡迎大家來註冊這個活動來繼續學習機器學習這個技術。假設你說完這門課還覺得意猶未盡,想要更深入研究機器學習的各個主題的話,歡迎你報名NLSS,你可以來跟這些大師學習今天這些最前瞻的主題進展到什麼地步。
link |
08:30.120
這個活動還有一個更厲害的地方是,如果你只是要線上聽課,它的General Program對學生是免費的,既然是免費的,那你還不趕快先報名一下再說。
link |
08:44.120
這個是這門課真正最後的業配了,後面真的是沒有其他業配了,感謝大家這學期來修這門課,另外這學期機器學習這門課是設成一類加選,所以只要想修這門課的同學都可以修到,所以起初的時候有非常多人選這門課。
link |
09:06.120
那你可能會好奇說,到期末過了停修申請之後,還剩多少同學呢?現在還剩1280人修課了。
link |
09:17.120
以下我特別還統計了一下各個系所的人數分佈圖,我們可以來看一下,這邊每一個不同的顏色就代表一個不同的系所,人數最多的是資工系,是13.7%,然後第二多的是電機系,11.8%。
link |
09:39.120
有一些系所的人數是超過5%,包括資管系、資工系碩士班,還有電機系碩士班。
link |
09:50.120
其實5%在這門課的人數也不算少了,因為這門課有將近1300人修課,所以1%是13人,5%就已經有80個人了。
link |
10:01.120
這邊有非常多不同的顏色,就代表說修這門課的同學來自於各個不同的系所。
link |
10:11.120
如果你的系所沒有出現在這邊,那不好意思,因為這個圓餅圖的空間有限,沒有辦法把所有的系所都列出來。
link |
10:19.120
那有同學問說,為什麼這學期可以收這麼多人呢?為什麼這學期要設成一類加選呢?
link |
10:27.120
那我知道說今日各行各業都有需要或者是想嘗試深度學習這個技術的需求。
link |
10:37.120
所以其實過去雖然不是一類加選,但是也會有很多同學想要修這門課。
link |
10:44.120
但是過去因為資源比較有限,所以這門課通常也沒有辦法真的讓所有想修這門課的學生都修到。
link |
10:52.120
那你看這學期光是電資學院修課的同學就有六七百個人,而過去通常這個班級只收一百五到兩百人左右。
link |
11:07.120
所以在之前,在本學期以前就算是電資學院的同學也不是每個人都可以修到這門課的。
link |
11:14.120
如果你有聽學長姐講過的話,那這門課過去是有一個先備能力測驗的,那要通過那個測驗才能修課,所以不是每一個同學都能修到我開的機器學習這門課。
link |
11:27.120
那其實起初的時候,過去起初的時候常常會有很多同學來要求加遷,那我都要狠心的拒絕大家,那有時候我心裡是覺得蠻難過的。
link |
11:37.120
所以我希望說如果有一天有足夠的資源,那期待可以讓想修這門課的同學都可以修到。
link |
11:48.120
那就是這學期感謝台大教務處願意支持這門課,那所以既然台大教務處願意支持這門課,所以我就決定說這一學期就不要設任何修課的限制,把這門課設成一類加選,讓想修這門課的同學都能夠修到。
link |
12:04.120
當然我也知道說既然讓這麼多同學修課,那大家的背景一定都非常不一樣,那為了因應這個問題呢,我其實對教材和作業都重新做了設計。
link |
12:19.120
所以如果你把這學期的課程內容跟過去的課程內容比較一下的話,會發現還是有蠻大的不同的,那主要的目標是希望讓更多同學可以聽得懂這門課的內容。
link |
12:30.120
那我知道說要讓所有人都聽懂可能是有點困難嘛,那其實你知道要把一門課講得大家都聽不懂,那個是很容易啦,要講得讓很多人聽懂,那這個是很挑戰的一件事情。
link |
12:44.120
那我可能沒有真的做到說讓所有人都了解這門課的內容,但我期待說至少讓越多人可以了解深度學習的內容越好。
link |
12:52.120
那另外呢,我也其實知道說不是每一個同學都那麼熟悉寫程式這件事,雖然這個開學的時候就跟大家說這不是一門程式的課,其實這也不是一門通識課。
link |
13:07.120
其實開學的時候我把這門課跟申多蓋做對比,然後大家笑聲很大聲,那這個讓我有點後悔講的那個笑話啦,因為我怕你沒有聽到我接下來講的第二句話,
link |
13:19.120
就是這不是一門通識課,這仍然是一門電機系的選修課,所以它其實是有一定程度的難度的。
link |
13:29.120
但是我們還是準備了範例的程式,至少假設你真的完全不會寫程式的話,你也有一些事情可以做。
link |
13:37.120
而我期待說就算是你這學期只有執行了範例程式,你可能覺得沒有真的很深入到機器學習的內容,
link |
13:44.120
但是未來假設有一天你想要實做這些機器學習應用的時候,也許你可以把助教的範例程式改一改,就可以用在你想要解的問題上。
link |
13:55.120
其實我這學期已經有看到很多同學在這麼做,你知道現在很多各個科系的實驗室,
link |
14:03.120
不管原來有沒有在做機器學習的,都期待可以把機器學習用在某一些應用上。
link |
14:08.120
這時候指導教授往往就是直接給研究生下一個指令說,這邊有個問題,你就給我想辦法用機器學習去解,但是怎麼辦,又沒有人可以教你。
link |
14:20.120
我發現這學期有聽到有一些同學跟我講說,他就是改一下助教的作業就解掉了,那這個其實就是我想要達成的目標。
link |
14:28.120
如果你覺得你在什麼應用裡面有用上助教的範例程式的話,希望你可以對助教表示感謝。
link |
14:39.120
我知道說同學們可能來自於非常多不同的系所,所以我相信這堂課可能沒有辦法每一件事情都讓你覺得滿意。
link |
14:50.120
那什麼地方可能會讓你覺得非常不滿呢?我相信會讓你覺得最不滿的地方就是,啊,這個模型訓練的時間太長啦,或者是我沒有好的GPU啊,CodeLab不夠用啊,那我完全了解你的痛苦。
link |
15:08.120
那這些問題不是這學期才有,這些抱怨從這門課剛開始有的時候,我知道同學們就有這些問題。
link |
15:20.120
那我相信我其實比大家更了解這些問題,你知道我是經歷過那個連GPU加速都不知道的年代的人,所以模型訓練的時間,還有沒有好的運算資源的痛苦,我完全可以感同身受。
link |
15:36.120
那我也不知道應該要怎麼安慰你啦,因為這個是做深度學習滿本質的問題。
link |
15:44.120
也許我可以告訴你的事情是,這個痛苦是比較出來的啦,今天也許你覺得訓練一個模型要花好幾個小時太花時間了,這個程式作業不應該花好幾個小時才能完成。
link |
16:00.120
那不用回到我學生的時代,剛回到五六年前,那個時候不是每個人都有GPU,那在那個時候很多同學要做深度學習怎麼辦呢?
link |
16:12.120
哇,你只好用筆電硬做。所以像作業2那樣的模型,過去你有可能作業2的baseline要訓練兩天才可以訓練出來,所以因為有的作業要花好幾天才訓練得出來,這個時候我都會告訴大家說,
link |
16:29.120
這個作業啊,你前一天晚上在掙扎已經沒有用了,如果說作業的deadline只剩下一天的話,你唯一能夠做的事情就是放棄,知道嗎?
link |
16:42.120
因為你已經不可能完成了,那今天訓練模型只需要數個小時,那你在前一個晚上也許還有機會把作業的baseline趕出來。
link |
16:52.120
我知道說colab它有很多問題,那我自己也有用colab的經驗,所以我完全可以了解大家所遇到的問題,但是我想要跟大家講說,沒有colab我們就不太可能開這個超大型的班級。
link |
17:12.120
所以colab雖然不是完美的,但是我們有一個統一的平台,然後助教的範例程式可以成功跑在colab上面,大家至少在colab上面可以成功的跑助教的範例程式。
link |
17:26.120
不過這個運算資源的汰換真的是非常的迅速,我還記得我剛回台大任教的時候,那個時候實驗室好多人要共用一張760,現在760誰要啊?送給你你都嫌佔地方,對不對?
link |
17:42.120
還有我記得colab我剛接觸到的時候是2018年的年初,那時候colab如果我沒記錯的話,上面好像只有k80,但是2018年的時候免費的k80那個多香啊!
link |
17:59.120
現在你抽到k80你都覺得很賭爛對不對?都想抽一張別的卡對不對?所以這個運算資源的汰換真的是非常的迅速。
link |
18:07.120
痛苦是比較出來的,所以未來統一門課,也許同樣的作業只需要幾分鐘就可以完成。
link |
18:18.120
我相信未來你可能會聽到學弟妹抱怨說,哇這個訓練居然要幾分鐘啊,不能接受啊,這個時候你就記得要嗆他說,以前修這門課的時候訓練是要幾個小時的,在作業的daylight前十分鐘是不可能做出來的,知道嗎?
link |
18:32.120
還有同學們常常提到的問題是,這個private set跟public set的結果不一樣啦,或者是每日的submission的次數不該有限制啦,那我可以告訴你說,今天你在cargo上看機器學習的比賽,都有一樣的配置,所以這門課並沒有特意刁難你。
link |
18:53.120
為什麼機器學習要有這樣的設置,那在課堂上其實也跟大家說明過了,希望你可以接受。
link |
18:59.120
還有一個大家常常抱怨的問題就是,哇這個作業一直在通靈啊,都不知道在做些什麼啊,如果你這樣想的話,我是感到欣慰的,代表你真的有認真去勸deep的model。
link |
19:13.120
如果有一個人啊,他告訴你說,喔這個我勸deep naval不用通靈,我都知道超參數要設什麼,我都知道naval應該多深,我都知道learning rate應該要設多少,那你要懷疑說他到底有沒有實際勸過model的經驗,如果你有實際勸過model,你會知道說training的結果千奇百怪往往無法預測。
link |
19:36.120
那我想很多同學應該都聽過這個NIPS 2017年的Test of Time Award得主的演講,這個Ali Rahimi的演講,他把深度學習比喻成煉金術,這個跟大家把深度學習比喻成功妙學習,覺得說這門課應該去行天公開,這個真的是有異曲同工之妙。
link |
19:57.120
講這些只是要告訴你說,不知道該怎麼調hyperparameter,這個也是深度學習本質的問題。所以上述這些問題啊,他可能會讓你覺得沒有很愉快,但是我必須說,他不是bug,我並沒有刻意在為難大家,他就是深度學習本質上的問題。
link |
20:21.120
對我來說,也許把這些讓你可能感到不適的東西藏起來並不是真的那麼困難。我可以說,我們所有的作業都出成選擇題就好,就像教育部的前後策一樣,都問你一些概念性的問題就好,這樣子你會很開心,我也很輕鬆,但我選擇不要這麼做。
link |
20:44.120
為什麼呢?我並不打算藏著、掖著,不把這個深度學習會實際上遇到的困難告訴你。我希望你對深度學習有真實、完整而全面的認識。
link |
20:58.120
我想很多同學可能都知道說,坊間有很多付費的AI課程,其實很多高階主管,你知道現在AI很重要嘛,大家都知道說要學一下AI相關的技術,所以很多高階主管會去上這些付費的AI課程。
link |
21:18.120
你知道在這些AI課程裡面,畢竟是以盈利為目的嘛,所以講到深度學習的時候,一定是要把這些困難的部分藏著、掖著,不讓這些高階主管知道,免得他修了一下覺得不高興跑掉了怎麼辦,課程還要賺錢呢。
link |
21:36.120
所以高階主管上完課,搞不好還執行了一些範例程式,執行完以後覺得太爽了,深度學習就是這麼簡單,然後回去就跟他下面的工程師說,這個深度學習太簡單了,我隨便都train個十個八個network,你明天就給老子弄個幾個應用出來,明天就給我做個Siri出來。
link |
21:56.120
然後工程師做不出來,他就說,你們都是笨蛋啊,我隨便做做都可以做得出來,為什麼你們都做不出來呢?為什麼你們的network都train不起來呢?台灣沒有人才啊!
link |
22:07.120
我不希望你對這個深度學習有錯誤的認識,覺得它是一件非常簡單的事情,我就把所有的面向都告訴你。
link |
22:16.120
對我來說,因為這個課程又不盈利嘛,所以對我來說多一個人少一個人都沒差,所以你喜歡不喜歡對我來說都沒差,我就是把深度學習真實的樣貌呈現給你看。
link |
22:31.120
我覺得呢,這一門課讓你感到的不適,也許就像是注射疫苗一樣。
link |
22:38.120
今天每個東西都要講到疫苗對不對,現在台灣一堆疫苗專家對不對,所以我們也趁熱度講一下疫苗。
link |
22:47.120
所以這門課呢,就像是一個疫苗,也許它有一些地方有副作用,會讓你覺得有一點不舒服,但是你想想看,這一門課最大的副作用是什麼?
link |
23:00.120
它最糟的狀況是什麼?最糟的狀況頂多是你在這門課沒拿到好成績對不對?
link |
23:08.120
那你在台大修的課有多少,你到畢業前可能修了四五十門課嘛,一門課沒有拿到好成績對你的人生會有什麼影響嗎?可能是沒有什麼影響的。
link |
23:19.120
但是如果你有在這門課接觸過深度學習真實的樣貌,也許可以幫助你在未來面對更大的挑戰。
link |
23:27.120
未來你自己要做一個application的時候,你已經沒有助教的範例程式了。
link |
23:34.120
今天我們在做一個作業的時候,有助教告訴你說這個作業可以做到什麼樣的程度。
link |
23:40.120
它有一些提示告訴你說完成每一個提示大概會得到什麼樣的結果,而有一天你必須要自己面對一個全新的問題,在完全沒有提示的情況下自己想辦法解開這個問題,自己想辦法把模型訓練起來。
link |
23:57.120
那也許有的同學會覺得說,啊,修完這門課讓我覺得我再也不想學習深度學習了,沒有關係,這樣也無法。
link |
24:05.120
你知道在這門課裡面,我從頭到尾都沒有告訴大家說,啊,深度學習是最關鍵的技術啊,AI好棒啊,每個人都要學AI啊,AI要取代人類啦,沒有學AI你就要被淘汰啦,我從來沒有說過這些事。
link |
24:22.120
我想要做的事情並不是鼓吹你一定要學習深度學習的技術,而是讓你了解這個技術,你自己決定未來你要不要繼續深入去研究。
link |
24:33.120
最後啊,我想給覺得修這門課很辛苦的你一點勉勵,我的勉勵呢,改編自《唯學一手四指直》這篇文章。
link |
24:46.120
《唯學一手四指直》這篇文章是我們國小有讀過的課文,對不對?那其中有一個故事,這個故事是這樣的。
link |
24:54.120
蜀之彼有二僧,其一貧其一富,貧者欲與富者約。
link |
25:03.120
欲啊,它是動詞,就是貧者對富者這樣說,無欲之南海,何如?
link |
25:10.120
這個之呢是往,就是我要去南海,怎麼樣呢?富者約,指何事而往?你要憑藉著什麼去呢?你怎麼有辦法去南海呢?
link |
25:20.120
那約,這個約是貧者約,貧者說,無一貧一波足矣,我只要一個貧子一個波就夠了。
link |
25:30.120
那富者約呢,無數年來欲買舟而下,猶未能也,指何事而往?
link |
25:37.120
那這個課本的助詩位告訴你說,這個前面的指何事而往跟後面的指何事而往意思是不一樣的。
link |
25:43.120
他們雖然都是問說,你憑藉著什麼可以去,但前一個問題是,真的是問題,他是真的不知道答案。
link |
25:52.120
然後第二個指何事而往呢,是彼移的語氣,是反諷的語氣。
link |
25:57.120
最後,月明年,貧者自南海還,以告富者,富者有蠶色。
link |
26:04.120
接下來是改編版的《唯學一首識字之》。
link |
26:08.120
臺灣大學有二生,其一貧,其一富。
link |
26:13.120
貧者欲於富者約,無欲修李鴻義機器學習,何如?
link |
26:18.120
富者約,指何事而勸?
link |
26:21.120
約,無co-lab足矣。
link |
26:24.120
富者約,無數年來欲買V100而修,猶未能也。
link |
26:28.120
不過我這邊幫富者說一句好話,他可能只是沒有通過先輩能力測驗而已,他其實也不是不想修。
link |
26:35.120
富者接下來說,指何事而勸?
link |
26:39.120
月一學期,貧者完成不止十個作業,以告富者,富者有蠶色。
link |
26:46.120
感謝大家這學期來修機器學習這門課。
link |
26:50.120
我只要說,這次因為開放一類加選,所以很多本來完全沒有機會修到這門課的同學,可以修到這門課。
link |
26:59.120
我知道有些同學你手上可能沒有好的運算資源,所以你修起來特別痛苦,但無論如何你都修完這門課了,期待未來這門課可以對你的人生有一些影響。
link |
27:13.120
那我知道說在座的各位同學來自於各個不同的科系,未來大家會散步到各行各業去,
link |
27:21.120
那你可能會用深度學習做出我今日沒有辦法想像的事,做今日我沒有辦法想像的成就。
link |
27:30.120
這學期的課就上到這邊,請大家給堅持到最後的自己一個熱烈的掌聲,謝謝大家,謝謝!