作者 | Frank Chen 翻譯 | 智子 整理 | AI100(ID:rgznai100) 讀懂機器學習的四大方法 根據(jù)訓練方法的不同,機器學習可以分為四類:
本文會對各種學習方法給出一種非常直觀的解釋。 文中,我們也會為你介紹那些經(jīng)常在論文中出現(xiàn)的名詞術語,還會給出不同的機器學習方法所對應的學習資源。 總的來說,本文的分類方法,既適用于傳統(tǒng)的機器學習,又適用于新出現(xiàn)的深度學習。 對于數(shù)學相關的問題,可以看看斯坦福大學的深度學習教程,它涵蓋了監(jiān)督學習和無監(jiān)督學習,且附有代碼實例。
▍監(jiān)督學習 監(jiān)督學習是用正確答案已知的例子來訓練神經(jīng)網(wǎng)絡,也就是用標記過的數(shù)據(jù)。如果我們想設計一個系統(tǒng)——從相冊中找出包含你的父母的照片,基本的步驟如下: 第一步:數(shù)據(jù)的生成和分類 首先,需要將你所有的照片看一遍,記錄下來哪些照片上有你的父母。然后把照片分為兩組。第一組叫做訓練集,用來訓練神經(jīng)網(wǎng)絡。第二組叫做驗證集,用來檢驗訓練好的神經(jīng)網(wǎng)絡能否認出你的父母,正確率有多少。 之后,這些數(shù)據(jù)會作為神經(jīng)網(wǎng)絡的輸入,得到一些輸出。用數(shù)學語言表示就是:找到一個函數(shù),該函數(shù)的輸入是一幅照片。當照片上有你的父母的時候,輸出為1;沒有的時候,輸出為0。 這種問題通常叫做分類。因為這個例子中,輸出只有兩個可能,是或者不是。 當然,監(jiān)督學習的輸出也可以是任意值,而不僅僅是0或者1。舉另一個例子,我們的神經(jīng)網(wǎng)絡可以預測一個人還信用卡的概率。這個概率可以是0到100的任意一個數(shù)字。這種問題通常叫做回歸。 第二步:訓練 在進行訓練這一步時,每一幅圖像都會作為神經(jīng)網(wǎng)絡的輸入,根據(jù)一定的規(guī)則(激活函數(shù)),決定某個神經(jīng)元的輸出,進而得到某一層的輸出。當計算完所有神經(jīng)元的時候,最后得到了最右邊的神經(jīng)元(輸出節(jié)點)的輸出,是0還是1。 上一步中,我們已對照片上是否有你父母做過標記。這樣,我們就能知道神經(jīng)網(wǎng)絡所預測的結果是否正確,并把這一信息反饋回神經(jīng)網(wǎng)絡。 這里所反饋的,是成本函數(shù)的計算結果,即神經(jīng)網(wǎng)絡計算結果與實際情況的偏差。這個函數(shù)也叫做目標函數(shù)、效用函數(shù)或者適應度函數(shù)。這一結果用來調(diào)整神經(jīng)元的權重和偏差,這就是BP算法,即反向傳播算法,因為該信息是從后向前傳遞的。 剛才針對的是一個照片。你需要對每張照片不斷重復這個過程。每個過程中都要最小化成本函數(shù)。 BP算法有很多實現(xiàn)方法,最常用還是梯度遞減的方法。 Algobeans 非常通俗易懂的解釋了這個方法。Michael Nielsen 在此基礎上,加上了積分和線性代數(shù),也給出了形象生動的演示。
第三步:驗證 至此,第一組中的數(shù)據(jù)已經(jīng)全部用完。接下來我們會用第二組數(shù)據(jù)驗證訓練得到的模型的準確率。 優(yōu)化模型的許多參數(shù)(超參)需要優(yōu)化,因此導致第二步和第三步通常會交叉進行。常用的超參有神經(jīng)網(wǎng)絡有多少個神經(jīng)元,有多少層神經(jīng)元,哪個函數(shù)用來激活一個神經(jīng)元(激活函數(shù)),用多快的速度來訓練網(wǎng)絡(學習速率)等等。Quora 工程師主管的這一回復很好的解釋了這些超參。
第四步:應用 完成以上三步,模型就訓練好了。接下來,我們可以把模型融合到程序中。模型可以提供一個 API,例如 ParentsInPicture(photo)。當應用程序調(diào)用該 API 的時候,模型會計算得到結果,并返回給應用程序。 稍后,我們將用同樣的方法步驟,在 iPhone 上制作一個 APP,用來識別名片。 對數(shù)據(jù)集進行標記的成本是非常高的。因此,必須確保使用網(wǎng)絡得到的收益比標記數(shù)據(jù)和訓練模型的消耗要更高。 舉例來說,在醫(yī)學領域,根據(jù)X光照片標記病人是否患有癌癥成本是很高的,但能以極高的準確率來診斷病人是否患癌的系統(tǒng)則又非常有價值。 ▍無監(jiān)督學習 無監(jiān)督學習 中使用的數(shù)據(jù)是沒有標記過的,即不知道輸入數(shù)據(jù)對應的輸出結果是什么。無監(jiān)督學習只能默默的讀取數(shù)據(jù),自己尋找數(shù)據(jù)的模型和規(guī)律,比如聚類(把相似數(shù)據(jù)歸為一組)和異常檢測(尋找異常)。
吳恩達“從 YouTube 視頻中找貓”的論文
更多的無監(jiān)督學習技術可以從以下文獻找到:
更系統(tǒng)地學習無監(jiān)督學習,可以用 Udacity 這門課程
最有前景的無監(jiān)督學習方法之一,是剛剛出現(xiàn)的生成式對抗網(wǎng)絡。該方法由當時還在 Yoshua Bengio 實驗室工作的 Ian Goodfellow 提出。在該模型中有兩個相互對抗的神經(jīng)網(wǎng)絡組成。一個叫做生成器,負責生成真實數(shù)據(jù)的近似,企圖騙過另一個叫做判別器的網(wǎng)絡。這個方法已經(jīng)取得了優(yōu)異的成果,比如從文本描述或者手繪素描中生成圖片,所生成的圖片跟照片一樣逼真。
▍半監(jiān)督學習 半監(jiān)督學習訓練中使用的數(shù)據(jù),只有一小部分是標記過的,而大部分是沒有標記的。因此和監(jiān)督學習相比,半監(jiān)督學習的成本較低,但是又能達到較高的準確度。舉例來說,我們在 AI 咨詢公司 Joostware 工作的朋友 Delip Rao,用半監(jiān)督學習方法對每類只標記30個數(shù)據(jù),和用監(jiān)督學習對每個類標記1360個數(shù)據(jù),取得了一樣的效果。并且這使得他們的客戶可以標記更多的類,從20個類迅速擴展到了110個類。 一個直觀的解釋為什么無標記也能提高準確率:即使不知道正確的答案,但是可以知道輸入數(shù)據(jù)長什么樣,有什么可能的取值。 喜歡數(shù)學的可以讀讀朱曉進教授長達135頁的教程和他2008年那篇半監(jiān)督學習縱覽。
▍強化學習 強化學習也是使用未標記的數(shù)據(jù),但是可以通過某種方法知道你是離正確答案越來越近還是越來越遠(即獎懲函數(shù))。傳統(tǒng)的“冷熱游戲”(hotter or colder,是美版捉迷藏游戲 Huckle Buckle Beanstalk 的一個變種)很生動的解釋了這個概念。你的朋友會事先藏好一個東西,當你離這個東西越來越近的時候,你朋友就說熱,越來越遠的時候,你朋友會說冷。冷或者熱就是一個獎懲函數(shù)。半監(jiān)督學習算法就是最大化獎懲函數(shù)??梢园血剳秃瘮?shù)想象成正確答案的一個延遲的、稀疏的形式。 在監(jiān)督學習中,能直接得到每個輸入的對應的輸出。強化學習中,訓練一段時間后,你才能得到一個延遲的反饋,并且只有一點提示說明你是離答案越來越遠還是越來越近。 DeepMind 在自然雜志上發(fā)表了一篇論文 ,介紹了他們把強化學習和深度學習結合起來,讓神經(jīng)網(wǎng)絡學著玩各種雅達利(Atari)游戲(就是各種街機游戲),一些游戲如打磚塊(breakout)非常成功,但是另一些游戲比如蒙特祖瑪?shù)膹统?,就表現(xiàn)的很糟糕。 DeepMind 強化學習論文(https:///blog/deep-reinforcement-learning/ Nervana),團隊(已被英特爾收購)的博客有兩篇文章非常棒,把強化學習的技術細節(jié)講解清楚了。 Nervana 強化學習博文:
斯坦福大學的學生 Russell Kaplan、Christopher Sauer 和 Alexander Sosa 論述了強化學習的存在的問題,并給出了很聰明的解決方案。 DeepMind 的論文介紹了沒有成功利用強學習玩蒙特祖瑪?shù)膹统?。按照三個人的說法是因為強化學習只能給出很少的提示,即稀疏的延遲。如果沒有足夠多的“冷熱”的提示,很難找到被藏起來的鑰匙。斯坦福的學生們通過讓系統(tǒng)理解和執(zhí)行自然語言的提示,比如“爬樓梯”,“拿鑰匙”等,在 OpenAI 大賽中獲得了冠軍,其視頻如下: 此外,使用強化學習來玩超級馬里奧的視頻如下: 還寫了一本關于強化學習的書,第二版的手稿你現(xiàn)在就能看到。 關于強化學習的書
原文鏈接
|
|
來自: 愛因思念l5j0t8 > 《科技》