AI快速入门学习的经验积累-最佳学习路线图谱梳理
一? 最難的一件事
??????? 要成為大牛,其實不難,只需要做一件事 -- 學習;然而其實也很難,因為必須做到一件事 -- 堅持學習。無關智商,無關信仰,能否堅持到底,至關重要。
??????? 白天要上班,往往要加班,還要積極完成小孩的課業與輔導,處理好家務瑣事,只能晚上孤獨的學習,要系統的入門,獨學而無友,有問題只能求諸于己,咬牙死磕。晚上別人在睡前電視,周末別人在愜意時光,都要苦苦戰斗,如切如磋,如琢如磨。100要學AI的IT,真正行動的也許不過1/5,堅持一個月的可能已不足10人,能始終堅持到入門,找到感覺的,也就2-3個人了吧,能有人能成為大牛,是小概率事件了。
??????? 因此,咬牙堅持,是最好的良藥,也是最難的一件事。
??????? 要做到堅持,也要講方法,不能太苦,要快樂的堅持,至少要痛并快樂著。因此學習節奏也就是時間安排非常重要。
??????? 建議的入門時間安排:1)每周一、三、五,每晚花兩個小時學習、看視頻??? 2)周六、周日每天四小時左右。 3)堅持三個月以上。?? 4)平時學習側重看視頻、書籍;周末側重完成課程附帶的編程作業、及思考歸納。
??????? 關于思考與歸納的幾個層次舉例:
????????? 1)知道理解人工智能這個概念(幾乎所有人); ?
????????? 2)知道“機器學習”這個概念(有一部分人); ?
????????? 3)清楚描述“深度學習”、“機器學習”和“神經網絡”的關系(一小部分人); ?
????????? 4)能夠正確說明“卷積”、“池化”、“梯度下降”這些名詞的正確含義與計算/實現的方法(很少一部分人);? ?
????????? 5)能清楚地理解損失函數和反向傳播的數學表達(非常少的人);??? ?
????????? 6)能夠闡述網絡參數的一個修改(比如把卷積核改小)對precision/recall會產生什么影響(極少極少的人);??? ?
????????? 7)準確描述上述影響到底是什么原理(幾乎沒有人)。? ?
二? 數學是最大的攔路虎嗎
一) 別人的經驗
??????? 作為“尚未入門的廣大學友”、“不明真相的吃瓜群眾”,從哪里入手好呢? 線性代數?概率論?那是最糟糕的選擇!它們只會讓你入門之前就徹底喪失信心,其漫長而陡峭的學習曲線還會讓你誤以為這是一個無法進入的領域。事實上,只有已經入門并并深入前進(比如能夠正確并完整的講解“卷積”,“池化”,“LSTM”這些詞的正確含義、原理和計算/實現方法)之后,你才真正需要更多的數學知識。入門學習中用到的數學知識,只有以下三點:
1. 懂得矩陣運算的基本計算方法,能夠手動計算[3×4]×[4×3]的矩陣,并明白為什么會得到一個[3×3]的矩陣。
2. 懂得導數的基本含義,明白為什么可以利用導數來計算梯度,并實現迭代優化。
3. 能夠計算基本的先驗及后驗概率。
二) 一些理解
??????? AI 的學習有多方面的訴求和階段,不同的階段對數學有不同的需求,不同的方向也有不同的需要。除前面所說的,未入門階段其實不需要太多專業數學知識,另外,做研究和做工程、做應用也是兩個不同的難度級別。
??????? 殊途同歸,估計到高深處都是一樣的了。入門時其實不需刻意。
三? 入門學習路線
一) 零基礎學習入門課程:???? 吳恩達的機器學習課程開始: Machine Learning - Stanford University | Coursera
?????? 吳恩達的英語又慢又清晰,課程字幕的翻譯又到位,課程設置與課中測驗及時而又合理,重點清晰、作業方便,再加上吳恩達教授深入淺出的講解,講解過程中不時的鼓勵和調侃,都能讓你更為積極地投入到機器學習的學習之中,讓你扎實而快速地掌握機器學習的必備基礎知識。
?????? 這門在線課程,相當于斯坦福大學CS229的簡化版,涵蓋內容包括機器學習最基礎的知識、概念及其實現,以及最常用的算法(例如PCA、SVM)和模型(全連接神經網絡)。學習這門課程,重要的是基礎的概念與實現。作為一名具備編程基礎的開發人員,在這個階段要將自身理論同實踐相結合的優勢發揮出來,充分利用它所提供的編程作業,盡可能多地實踐,從理論和代碼兩個角度去理解課程中的知識點。
?????? 推薦書籍: 《機器學習》(周志華)??? 《統計學習方法》(李航)?? 《機器學習實戰》(Peter)
二) 夯實基礎
????? 回頭去看一遍CS229,將傳統算法整體熟悉一遍,盡可能把所有的基本概念都掌握扎實。
三) 選擇主攻領域并學習
?????? 任何人不可能選擇計算機視覺(CV)、自然語言處理(NLP)以及其他領域等全部領域學習。在每個領域下,都有大量的研究者在投入精力鉆研,發表論文和成果。可選擇一到兩個方向作為主攻,跟上學術界主流的進展。? 在完成了相應領域的學習后,下一步要做的就是嘗試閱讀最新的經典論文并試圖實現。
四) 編程語言與框架
1.? 入門編程語言?? python
2.? 框架
? 1)? pytorch
? 2)? tensorflow
五) 實戰常用數據集
1.? mnist 手寫數字庫
??????? 每條數據是固定的784個字節,由28x28個灰度像素組成。體積小(10M左右)、數據多(6萬張訓練圖片)、適用范圍廣(NN/CNN/SVM/KNN都可以拿來跑跑)而聞名天下,其地位相當于機器學習界的Hello World。在LeCun的MNIST官方網站上(yann.lecun.com/exdb/mnist/),還貼有各種模型跑這個數據集的最好成績,當前的最好得分是CNN的,約為99.7%。由于該數據集非常之小,所以即便是在CPU上,也可以幾秒鐘就跑完NN的訓練,或是幾分鐘跑完一個簡單的CNN模型。
2. CIFAR? 圖形庫
??????? CIFAR數據庫(官網:www.cs.toronto.edu/~kriz/cifar.html)則是一個圖像學習的入門選項。該數據庫分為2個版本,CIFAR-10和CIFAR-100。顧名思義,CIFAR-10有10個分類,每個分類有5000張訓練圖片和1000張測試圖片,每張圖片是32x32像素的3通道位圖。????? 之所以它比MNIST更適合作為圖片處理的入門,是因為它盡管分辨率較低,但卻是三通道、真實拍攝的照片。其中有些圖片的背景還略微復雜,更貼近我們真實的圖片處理場景。相對而言,MNIST的灰度輸入和干凈背景就顯得過于簡單,況且99.7%的準確率也確實難有提升的空間。
Tensorflow給出了CIFAR的例程:??? https://www.tensorflow.org/tutorials/deep_cnn???????????? 并附有代碼:
https://github.com/tensorflow/models/tree/fb96b71aec356e054678978875d6007ccc068e7a/tutorials/image/cifar10
四? 入門學習經驗之談
1. 最好和一個真正能做出東西的團隊或跟隨真正的牛人一起學習相比,比自己一個人速度要快十倍都不止。深刻理解業務,選擇合適的模型算法,找到實際應用場景,實現它,實現它,實現它。
2. 不要太迷信論文,很多寫論文純粹在編故事(好論文除外),一定要復現論文或者嘗試自己做出一些東西。DL\ML其實是一門實踐性的學科,只有通過實驗才能把握到其中的細節與真諦。雖說也是在寫程序,但是DL的程序基本上無法直觀地debug,所以非得自己去復現一下,實踐一下,用performance來說話,才知道有沒有出錯。
3. 不能淺嘗輒止,不要求快,沒有捷徑。自己首先有個心理預期,數學好的入門也得一年半載的,數學需要補基礎的估計要1-2年。可以去上培訓班,交點錢,但也就跟機器學習混個臉熟。想入門還得花時間慢慢磨,真的沒捷徑,真的沒捷徑,真的沒捷徑!。
4. 不要太迷信復雜的東西和新技術,以為新東西肯定就效果爆棚。其實都是不存在的。永遠不要迷信某個特定的模型,要摸索理解各種不同模型的特性。
5. 模型不求多,精通幾個常見的,把機器學習的套路摸透就可以了。比如LR,樸素貝葉斯,決策樹,基于SVD相關的簡單模型,如推薦系統等。把機器學習的套路摸透什么意思呢?比如LR為什么用logloss,而不是平方損失?為什么logloss 是凸函數,而平方的不是?優化算法啥時候用一階mini-batch sgd,啥時候用二階方法,為什么?這還只是說了損失函數與優化算法,還有模型結構,模型的效果評估指標,如何利用欠擬合/過擬合來分析指導優化模型等等。因為簡單的模型容易理解,有時數學上的證明也是可行的。這樣,以它們為例子更容易理解機器學習這套東西,建立自己的直覺,自己的直覺,自己的直覺,幾何的或物理的。
五? 人工智能工程師學習圖譜
---------------------
原文:https://blog.csdn.net/ebzxw/article/details/80297844
總結
以上是生活随笔為你收集整理的AI快速入门学习的经验积累-最佳学习路线图谱梳理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习入门--进阶资料和流程建议
- 下一篇: 机器学习资源和路线图