如何系統學習人工智慧
人工智慧入行三個要點:英語、理論、工程。
- 英語很重要
1)翻譯總是不通順,不如原著容易理解
2)Lost in translation
最重要的科研成果全部英文
1)翻譯永遠趕不上新知識產生的速度
2)有能力創新的AI人才也都會用英語發表自己的成果
社群都是英語環境
1)Github
2)Stackoverflow
人工智慧領軍企業的工作環境裡不開英文
- 理論
線性代數(推薦 The Matrix Cookbook)
1)理解非線性系統的主要方式依然是通過區域性線性化
2)Machine Learning 演算法涉及大量的矩陣運算
概率論(初級線性代數和入門概率論應該足夠了)
1)統計機器學習基礎是概率論
2)理解複雜非線性系統的統計特性對於分析Deep Learning演算法至關重要
計算機演算法(推薦:The Art of Computer Programming)
1)AI不僅僅只有Deep Learning
大規模資料的預處理,抽取,etc.
線上服務
嵌入式系統,資源頻寬受限
2)演算法優化
訓練3天完成vs10天完成vs30天完成直接影響科研或產品投放
GPU是否跑滿,IO是否是瓶頸
E.g., approximate softmax
3)數值計算概念
收斂性,收斂速度
機器學習理論(經典Bible:Pattern Recognition and Machine Learning)
1)雖然Deep Learning一統江湖,但是經典機器學習理論還是要知道個大概。
Linear regression/classification(SVM, Lasso, Kernel, etc)
Clustering(K-means, etc)
Dimensionality reduction(PCA, etc)
Probabilitic modeling(Mixture model, EM)
AdaBoost,etc
2)經典機器學習得到的insight在Deep Learning裡一再出現
Restricted Boltzman Machine
Denoising NN
機器學習理論可深可淺
1)實用不需要太深的理論功底
2)理論功底在科研中不可缺少
Intuition比理論推導重要,但是好的Intuition來源於紮實的理論功底。
- 工程
動手很重要
1)DNN的理論框架基本確定(除非量子計算機量產,否則短期變化不大)
2)TensorFlow問世,從此不用再求導數
3)模型design需要大量的實驗驗證
4)Google作為大公司,堅持一切核心系統全部自主研發,擁有完善的code Review 系統。