最近學校開始了深度學習的課程,想大致上了解下關於機器學習有關的知識:
Nvidia 博客上的這張圖表示了 AI, Machine Learning, Deep Learning 三者的關系。人工智能是一類非常廣泛的問題,機器學習是其中一個重要領域和手段,深度學習則是機器學習的一個分支。在很多人工智能問題上,深度學習的方法突破了傳統機器學習的瓶頸,因而影響力迅速擴大。
什么是機器學習?
00 試着翻出一些機器學習相對權威的定義,看看它們有什么共同點:

Col.DL.MLDefinitions.png
簡單來說,就是機器通過一系列「任務」從「經驗」(數據)中學習,並且評估「效果」如何:

為什么叫做「學習」呢?一般編程語言的做法,是定義每一步指令,逐一執行並最終達到目標。而機器學習則相反,先定義好輸出,然后程序自動「學習」出達到目標的「步驟」。
機器學習可以分為:
- 監督學習:給出定義好的標簽,程序「學習」標簽和數據之間的映射關系
- 非監督學習:沒有標簽的數據集
- 強化學習:達到目標會有正向反饋

機器學習擅長做什么?
當然是替代重復的人工勞動,用機器自動從大量數據中識別模式——也就是「套路」啦。知道「套路」后,我們可以干嘛呢?
- Classification 分類,如垃圾郵件識別(detection, ranking)
- Regression 回歸,例如股市預測
- Clustering 聚類,如 iPhoto 按人分組
- Rule Extraction 規則提取,如數據挖掘
比如垃圾郵件識別的問題,做法是先從每一封郵件中抽取出對識別結果可能有影響的因素(稱為特征 feature),比如發件地址、郵件標題、收件人數量等等。然后使用算法去訓練數據中每個特征和預測結果的相關度,最終得到可以預測結果的特征。
算法再強大,如果無法從數據中「學習到」更好的特征表達,也是徒勞。同樣的數據,使用不同的表達方法,可能會極大影響問題的難度。一旦解決了數據表達和特征提取問題,很多人工智能任務也就迎刃而解。
為什么需要深度學習?
但是對機器學習來說,特征提取並不簡單。特征工程往往需要人工投入大量時間去研究和調整,就好像原本應該機器解決的問題,卻需要人一直在旁邊攙扶。
深度學習便是解決特征提取問題的一個機器學習分支。它可以自動學習特征和任務之間的關聯,還能從簡單特征中提取復雜的特征。
