2020.8.29後記: 這篇是我做完專題後所補寫的,所以還是有點出入
最近changken我開始在碰機器學習(ML)、深度學習(DL)這一塊,主要還是因為專題可能會用到ai人工智慧,所以我也只能硬著頭皮來學DL,說實在的,changken我自己是「蠻討厭」數學的,至少在高中之前拉,對於數學就是老師在台上講的很起勁,自己在台下也睡得很爽,呵呵,我還記得有一次我高一的某一次學期分數吧!竟然只有67分,那時候我還謝天謝地,感謝這一科pass了,不過到了後來,我就蒸蒸日上了。
數學和英文是大家惡夢,想想之前國高中的時期,大家爭相去補這兩科,但不好一意思,那個是考試導向的數學,所以學著學著自然就覺得很無聊且沒什麼興趣,而今天要帶給大家的機器、深度學習,不好意思!用數學用得很兇,有時候也要去閱讀國外的資料,所以maybe也會用得到英文,so 讓我們來看一看吧!XD
這一篇文章我不太想要直接去介紹ml、dl的細節,那個還是留到之後再寫吧!我們先來聊一聊學ml、dl究竟需要甚麼東西呢?
第一個就是線性代數,因為ml、dl會牽涉到很多矩陣、向量、張量的加減乘除,舉量像是捲積神經網路(CNN)的捲積層,所以很吃線性代數,如果你不用矩陣和向量來寫ml程式的話,那你就要用for、while迴圈去跑,不過因為很麻煩又浪費時間,所以請去複習矩陣、向量吧XD
統計學,我可以舉一個ml的敲門磚─線性回歸來說,你可以發現它是統計學課本的最後一兩章,又高中數學也有教回歸直線方程式,生產與作業管理的預測產能也有,所以統計可說是ml的一個基石,再舉一個例子,像是統計的貝式定理也是ml的一個model,它叫做樸素貝葉斯(Naive Bayes),只不過統計上最主要是用來作分類用的。
總之現在機器學習、深度學習及強化學習實在是太火紅了,尤其是後兩者,你所看到的alpha go是深度強化學習所訓練的,那些炫泡的AI繪圖也都是它的展現,但與深度學習一樣都是非常耗GPU及TPU資源的,所以如果你有心要走這一條路,請務必記得! 摳摳(錢)要多一點,所耗費的時間就會少很多,記得如果你的論文要找哪位老師,還是工作要去哪間公司的要放亮你的眼光! 找一位真正有在該領域的大神吧! 哈哈!
對了! 順便我也推薦一下我所看的資料、課程及書籍好了!
線上課程
- https://zh-tw.coursera.org/learn/machine-learning─由吳恩達教授所教的機器學習(實際上上到SVM就沒跟了)
- https://zh-tw.coursera.org/specializations/deep-learning─吳恩達教授的深度學習課程(實際上我只有看一部分的課程)
- https://www.youtube.com/channel/UC2ggjtuuWvxrHHHiaDH1dlQ─李弘毅教授的課也很優質
- https://www.udemy.com/course/machinelearningchinese/─机器学习 A-Z (Machine Learning A-Z in Chinese) (這堂課要付錢,我同學有看這一門課,但似乎沒有教到數學原理)
我所參考的資料
- https://hackmd.io/@changken/rkukooSGS─機器學習及深度學習的資料
- https://hackmd.io/@changken/Hy4Zjdd8r─專題資料筆記
- https://hackmd.io/@changken/rJ-cUFTXr─ML、DL讀書進度(您可以參考一下我的讀書進度)
書籍
- https://www.books.com.tw/products/0010761759?sloc=main─Deep Learning:用Python進行深度學習的基礎理論實作(必讀,如果你有心要走深度學習這條路的話’)
- https://www.books.com.tw/products/0010822932?sloc=main─Deep learning 深度學習必讀:Keras 大神帶你用 Python 實作(推薦,作者帶你從多層感知器到強化學習,一步一步了解)
- https://www.books.com.tw/products/0010822845?sloc=main─Python機器學習與深度學習特訓班:看得懂也會做的AI人工智慧實戰(附120分鐘影音教學/範例程式)
- https://www.books.com.tw/products/0010838944?sloc=main─動手做深度強化學習
- https://www.books.com.tw/products/0010846042?sloc=main─機器學習的數學基礎 : AI、深度學習打底必讀(可以讀讀看,裡面有些數學推導)
- https://www.books.com.tw/products/0010844123?sloc=main─NumPy 高速運算徹底解說:六行寫一隻程式?你真懂深度學習?手工算給你看!(很多python ml, dl的lib背後都用numpy來做實現,可以參考看看)
- https://www.books.com.tw/products/0010797283─練好機器學習的基本功:用Python進行基礎數學理論的實作(可以讀讀看,裡面有些數學推導,內容主要是講線性回歸及羅吉斯回歸)
一些牛人的網站
- AI從頭學: https://hemingwang.blogspot.com/2019/05/trilogy.html(這位大哥的網誌很讚! 可以在這邊挖到許多寶)
結論
- 你如果想要學習ML、DL的話,請務必把統計學、線性代數、微積分等課程都修過一遍,會比較好唷!
- ML、DL需要多多的看paper和資料,以及不斷地follow 最新的研究,所以請抱著好奇心及挖寶的心態繼續研究(?)
- 一般在做模型搭建及訓練都不會自己手刻一個模型的程式碼,大部分都會運用現成的框架,舉例來說: tensorflow、keras、pytorch、yolo等,當然,基本的知識你還是要懂!
- 如果沒摳摳的話,用現成的colab來訓練吧! 如果有的話,直接上nvidia geforce rtx 2080ti會比較好唷! 最低也要rtx 2070唷!
- 訓練模型時容易發生overfitting,所以要有耐心去嘗試!
- 這一條路很吃學歷,如果日後要從事相關行業請務必擁有一張頂大的學位!(這也是我棄坑的原因之一)
- 加油再加油! 如果有任何問題可以在文章下方留言問我
近期留言