看板 NTUcourse 關於我們 聯絡資訊
※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID) (是/否/其他條件): 是 哪一學年度修課: 103 ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄) 李宏毅 λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關) 電機工程研究所 δ 課程大概內容 主要就是講Deep Learning和Structured Learning,不過由於這門課是完全 由作業決定成績,且到後來的內容就越來越和作業沒有關係,我也就不常去 上課了...。老師的網站上寫得很清楚,有興趣可以自己去看,而雖然我沒 修過林軒田的機器學習,不過老師表示他會在內容上盡量和林軒田老師的課 錯開來,所以應該不用怕學不到新東西。 Ω 私心推薦指數(以五分計) ★★★★★ η 上課用書(影印講義或是指定教科書)μ 上課方式(投影片、團體討論、老師教學風格) 投影片上課,不過由於這門課修的人實在太多,老師有開隔壁教室做同步, 老師把投影片和課程錄影錄影公開在課程網頁上,所以我覺得如果只是要聽 老師講機器學習的話,不一定要修課。老師上課常會用很多動漫哏,尤其是 涼宮春日,喜歡的人應該會覺得滿有趣的。另外老師很喜歡大家問問題,有 人舉手就會很激動的停下來給發問的人講,然後幾乎都會說「我覺得這個問 題問得非常好」,才繼續回答。偶爾也會請專家來演講,像是請NVIDIA的人 來講GPU在機器學習的應用,還有請徐宏民教授講 convolutional neural network,Final Stage(等下說明)時也有請聯發科的人講機器學習有用在手 機的什麼什麼功能。 ρ 考題型式、作業方式 因為作業就佔了全部所以這裡我會講詳細一點,我儘量用比較淺顯的方式說 明每個作業在做什麼。其實作業做的都是語音處理,只是這門課不需要相關 基礎也能做。而作業基本上都是分組進行,一組兩到四人,這次大概有五十 組左右。 作業一:手刻DNN(Deep Neural Network) 目標是把一句不知內容為何語音轉成「phone」,phone可以就想做音標,像 是apple 是由 ae p el 三個音標組成的。每一個聲音片段都會對到一個音標 ,所以我們要做的就是把聲音片段的音標找出來,我們拿到每個聲音片段都 是用一個向量表示,所以DNN的輸入就是一個向量,輸出就是它的音標,當然 助教會給有標記的資料讓我們train。會講手刻是因為助教幾乎禁止所有機器 學習的Library,除了計算需要的GPU加速的套件以外。 作業二:Structure Learning 作業二是直接承襲作業一的,雖然現在一句話對應到的 phone sequence 已經決定,但是如果考量每個phone的前後出現機率的話,可以讓結果更好 。這個步驟就是這個作業的目的,而助教是希望我們用 Structured SVM的 Library,搭配Viterbi演算法完成。 作業三:手刻 RNN(Recurrent Neural Network) RNN和一般NN不同的是它有記憶性,而做的事和作業一類似,只是這次輸入 是有挖空並附選項的福爾摩斯小說的句子,而我們要利用RNN找出正確的選 項。train的資料是助教給的十九世紀小說集(只能用這個train)。助教有 另外同意讓我們用google word2vec,只是RNN基本上還是要自己寫。 Final Project:實際完成一個ASR(Automatic Speech Recognition system) 其實前幾次作業都是在做語音辨識系統的一部分,Final Project就是希望 我們把它全部合起來,流程大概是這樣: hw1 hw2 WFST hw3 一堆向量----->一串音標----->一串修正過的音標----->一串單字----->一句話 WFST是助教會提供的,把phone轉成單字的程式,當然你要自己寫也是可以 ,和之前不一樣的是這次開放使用任何Library(不過當然不行直接把音檔丟 google 的語音辨識),不用交程式碼(前幾次都要),只看你上傳的句子的正 確性與繳交的書面報告。最後上傳分數前十組的可以參加 Final Stage,每 組報告十分鐘,有修課的同學都可以來聽,並可參與投票,不過只有最後得 票最高前三組有獎,並有額外的加分(非常多)。 σ 評分方式(給分甜嗎?是紮實分?) 三次作業各20%,Final Project 40% 作業主要依據報告,上傳分數,和繳交的程式碼(Final Project不用) 我的感覺是給分非常甜,雖然不知道最後等第是怎麼打的,不過單次破百似 乎是很正常的。 ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性? 加簽習慣?嚴禁遲到等…) 可能第一次開,加上這主題最近很夯,非常多人想修這個課,應該不太好簽 因為我是一開始就選上所以忘記怎麼簽了...,不過要注意這門課真的很累。 基礎的話我只有上計概知道有NN這個東西而已...,我們這一組也都沒學過 相關的機器學習的知識,第一次作業就比較辛苦,而且有些進階的技巧像是 Maxout, Dropout 之類的老師那時還沒教所以也沒用進去,分數就差了點, 後面幾次就比較沒有這個問題,但還是花很多時間在寫程式和弄懂問題上面 。我是覺得整體來說:程式基礎>機器學習基礎>語音辨識基礎,這門課是希 望你除了會機器學習的方法外,更期待你可以完整的把它實作出來 。另外 這門課不會限制語言,不過大部份人用的不外乎Python,C++或MATLAB,不過 比較麻煩的是這門課很吃計算資源,所以用C/C++可能算較快外,如果組員 有人有好的GPU應該有幫助,好像也是有人花錢買AWS來算就是... Ψ 總結 其實滿推薦這門課的,不過要有花非常多時間的準備,最好找好組員再來修, 能有這個機會可以一起合作寫這些很重的作業也是滿難得的。收穫的部分我 個人是:程式 > 機器學習 > 用Toolkit 的技巧。程式不用說,一直寫,尤 是檔案輸入輸出變得很熟,機器學習部分我覺得有些可惜,因為作業實在太 重,就沒放太多心思在老師上課的內容上。而我們這組到最後幾乎還是什麼 東西都是自己刻,像是Kaldi 之類的工具不是沒試著去學怎麼用,但後來都 因為太複雜弄不懂而放棄,這部分也滿可惜的。不過有時候也很奇怪,一些 步驟用正規toolkit上傳的分數也不見得較自己亂試的方法高。 論整體的收穫,雖然其實我們這組最後成績非常好,但我還是覺得有點浪費 教授細心準備這門好課的感覺,因為沒學到很多機器學習的東西。結論每一 次的作業都滿複雜的,我想助教很難仔細了解你們到底做了什麼,所以成績 也很難反應你的收穫,且因為自由度很大,絕對有可能可以找一些偷吃步的 方法,因此收穫真的很看個人。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.172.236.170 ※ 文章網址: https://www.ptt.cc/bbs/NTUcourse/M.1438932299.A.017.html ※ 編輯: ittfie (1.172.236.170), 08/07/2015 15:32:55
hei566: 能請春日創造一個永無止盡的八月嗎 08/07 20:02
felgher: 看到這ID必推強者我同學XDDD 08/07 23:04
fantasywater: 感謝分享 08/09 06:30
st890609: 感謝您的分享,請問各位大大這門課104-2不開是真的嗎? 08/10 00:50
energyaup6: 104-1好像有開 08/10 09:52
hahaha222: 感謝分享。另外,目前 104-2 應該沒有開課的計畫 08/10 23:14
kriswu8021: 強者我同學 11/08 18:49