天天看點

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

人工智能

人工智能這個詞想必大家都不陌生,但你能準确的告訴我他是什麼嗎?

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

人工智能是人類長久以來的目标 – 希望機器可以和人一樣聰明。

大概80年代以後,有了機器學習的方法。顧名思義就是讓機器擁有自我學習的能力。機器學習就是我們達成這個目标的手段。

火爆的深度學習僅僅是機器學習的一個分支。

人們模仿生物的本能(人類智能)去設計一些機器,如聊天機器人。但是已有的很多産品是基于規則的實作方式。如隻要出現了"turn off"就會關閉機器(如智能音箱),但如果你說的是don’t turn off,依然會關閉 (剛剛用Siri測試了,掉鍊子)。基于手工規則的建構方式,無法窮舉所有的可能,而且無法超越創造者。因為規則本身隻是一種簡單的運算(本質上還是做比對),是無法去學習規則的。

機器學習

機器學習就是讓我們摒棄這種用人腦制定規則的方法,用data讓機器自己制定規則。

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

在我們現如今的技術能力下,研究的AI本質上是Narrow AI,即針對某一類任務的AI,而不是全能性AI。

說白了,機器學習就是要尋找到正确的函數。這個函數可以根據我們的輸入求得一個我們需要的輸出。

機器學習的架構

訓練

  1. 定義函數空間(函數集合)。
  2. 選擇評估函數。
  3. 在函數空間中,根據評估函數選出最優的函數。

測試

用選出最優的函數,測試未知的資料

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

機器學習算法分類

  1. 監督學習(大量有标簽資料)
  2. 半監督學習(少量有标簽資料+大量無标簽資料)
  3. 無監督學習(大量無标簽資料)
  4. 其他:強化學習(根據回報結果(critics)不斷進行學習),推薦系統

監督學習對比強化學習在自動應答中的應用:

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

The Next Step for Machine Learning

本來覺得緒論部分千篇一律,沒什麼意思。但是這部分是2019年春季班的新增内容,為我學習機器學習帶來了更大的興趣。

還有哪些是我們使用機器學習技術時需要克服的難題

1.機器知不知道“我不知道” (Anomaly detection)

例如,當我們訓練好一個貓狗分類的模型,你卻給他一個人的圖檔資料。機器有沒有能力知道這是一個我無法分類的怪東西,還是強行給他分類為狗或者貓。

2.說出我“為什麼”知道

2017年的“馬”識别器,兩個模型都取得了PCT 80多的好成績,下圖中紅色是機器真正看到的地方。圖一看到一匹馬,沒問題。圖二看到左下角有一匹馬,問題很大!因為訓練圖檔都水印都一樣,有水印就證明有馬!他并沒有真正的學會如何識别“馬”。是以我們需要一項可以讓AI告訴我們“為什麼”這麼判斷的技術。

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

3.機器的錯覺?(Adversrial Attack)

識别為熊貓的圖檔,加上噪聲之後,竟然99.3%識别為長臂猿。

如果無人車上的圖檔識别系統,在周圍情景的幹擾下産生這種錯覺撞車了,這是有可能會發生的。是以我們需要一項技術來防止機器發生錯覺。

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

4.機器的終身學習 (Catastrophic Forgetting)

一般我們隻讓一個模型學習一個任務…

問題是:

  • 每個任務都訓練一個模型,那模型的熟練無線增長,存儲空間總會不夠用
  • 不用任務的模型之間無法學習,無法互相幫助

    一個模型學習了新的内容,就得内容就忘記了,這是一個終身學習的大問題。

    李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

5.學習如何學習 (Meta-learning/Learn to learn)

最終達到的效果就是,我們編寫的AI可以自己編寫學習的代碼,這個代碼可以寫出訓練方法,實作自主學習。

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

6.一定需要很多訓練資料嗎?

  • Few-shot learning (少量資料學習方法):給幾個圖檔,就能學習圖像識别
  • Zero-shot learning(沒有學習資料):給一段文字描述,做圖像識别。例如:烏龜就是一個綠色,有大的後蓋的動物。

7.Reinforcement Learning 強化學習

人機對戰的利器,完勝人類的AlphaGo。問題是訓練特别特别長的時間才能和人做的一樣好。有沒有辦法讓RL學的快一點。

8.神經網絡壓縮(Network Compression)

  1. 能不能在應用端把大神經網絡縮小,節省計算資源,降低計算成本
    李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning
  2. 參數二進制化:能不能把所有神經元的參數都變成“+1”和“-1”,提高計算效率。

9.機器學習的謊言(Unsupervised Domain Adaptation)

真實的應用場景往往和訓練集上的資料不同,例如這個數字識别中變換顔色的問題。

李宏毅 機器學習筆記-01 Introduction人工智能機器學習The Next Step for Machine Learning

Introduction部分的筆記到此結束。期待明天進入正式課程的學習。三闆斧,加油!

繼續閱讀