序
為何撰寫本書
從事機器學習教育訓練已屆五年,其間也在『IT邦幫忙』撰寫上百篇的文章(https://ithelp.ithome.com.tw/users/20001976/articles),從學員及讀者的回饋獲得許多寶貴意見,期望能將整個歷程集結成冊,同時,相關領域的進展也在飛速變化,過往的文章內容需要翻新,因此藉機再重整思緒,想一想如何能將演算法的原理解釋得更簡易清晰,協助讀者跨入AI的門檻,另外,也避免流於空談,盡量增加應用範例,希望能達到即學即用,不要有過多理論的探討。
AI是一個將資料轉化為知識的過程,演算法就是過程中的生產設備,最後產出物是模型,再將模型植入各種硬體裝置,例如電腦、手機、智慧音箱、自駕車、醫療診斷儀器、…等,這些裝置就擁有特殊專長的智慧,再進一步整合各項技術就構建出智慧製造、智慧金融、智慧交通、智慧醫療、智慧城市、智慧家庭、…等應用系統。AI的應用領域如此的廣闊,個人精力有限,當然不可能具備十八般武藝,樣樣精通,惟有從基礎紮根,再擴及有興趣的領域,因此,筆者撰寫這本書的初衷,非常單純,就是希望讀者在紮根的過程中,貢獻一點微薄的力量。
PyTorch vs. TensorFlow
深度學習的初學者常會問『應該選擇PyTorch或 TensorFlow套件』,依筆者個人看法,PyTorch、TensorFlow好比倚天劍與屠龍刀,各有擅場,兩個套件的發展方向有所不同,例如在偵錯方面,PyTorch比較容易,但TensorFlow/Keras建模、訓練、預測都只要一行程式,另外,物件偵測主流演算法YOLO,第四版以TensorFlow開發,第五版則以PyTorch開發,若我們只懂TensorFlow,那就無法使用最新版了。
PyTorch與TensorFlow基本設計概念是相通的,可以採用相同的approach,同時學會兩個套件,本書主要以PyTorch開發,另一本姊妹作『深度學習--最佳入門邁向AI專題實戰』,則以TensorFlow為主,兩相對照,可以發現要兼顧一點也不難,還可以比較彼此的優劣。
本書主要的特點
1.由於筆者身為統計人,希望能『以統計/數學為出發點』,介紹深度學習必備的數理基礎,但又不希望內文有太多數學公式的推導,讓離開校園已久的在職者看到一堆數學符號就心生恐懼,因此,嘗試以『程式設計取代定理證明』,縮短學習歷程,增進學習樂趣。
2.PyTorch版本變動快速,幾乎每一、兩個月就更新一個小版本,並且不斷的推出新擴充模組,本書期望對PyTorch主體架構作完整性的介紹外,也儘可能對最新的模組功能作深入探討。
3.各種演算法介紹以理解為主,輔以大量圖表說明,摒棄長篇大論。
4.完整的範例程式及各種演算法的延伸應用,以實用為要,希望能觸發讀者靈感,能在專案或產品內應用。
5.介紹日益普及的演算法與相關套件的使用,例如YOLO(物件偵測)、GAN(生成對抗網路)/DeepFake(深度偽造)、OCR(辨識圖像中的文字)、臉部辨識、BERT/Transformer、聊天機器人(ChatBot)、強化學習(Reinforcement Learning)、自動語音辨識(ASR) 、知識圖譜(Knowledge Graph)等。
目標對象
1.深度學習的入門者:必須熟悉Python程式語言及機器學習基本概念。
2.資料工程師:以應用系統開發為職志,希望能應用各種演算法,進行實作。
3.資訊工作者:希望能擴展深度學習知識領域。
4.從事其他領域的工作,希望能一窺深度學習奧秘者。
閱讀重點
1.第一章介紹AI的發展趨勢,鑑古知今,瞭解前兩波AI失敗的原因,比較第三波發展的差異性。
2.第二章介紹深度學習必備的統計/數學基礎,徹底理解神經網路求解的方法(梯度下降法)與原理。
3.第三章介紹PyTorch基礎功能,包括張量(Tensor)運算、自動微分、神經層及神經網路模型。
4.第四章開始實作,依照機器學習10項流程,以PyTorch撰寫完整的範例,包括各式的損失函數、優化器、效能衡量指標。
5.第五章介紹PyTorch進階功能,包括各種工具,如資料集(Dataset)及資料載入器(DataLoader)、前置處理、TensorBoard以及TorchServe佈署工具,包括Web、桌面程式。
6.第六~十章介紹圖像/視訊的演算法及各式應用。
7.第十一~十四章介紹自然語言處理、語音及各式應用。
8.第十五章介紹AlphaGo的基礎 -- 『強化學習』演算法。
9.第十六章介紹 圖神經網路(Graph Neural Network, GNN)。
本書範例程式碼全部收錄在github.com/mc6666/PyTorch_Book 。
致謝
因個人能力有限,還是有許多議題成為遺珠之憾,仍待後續的努力,過程中要感謝冠瑀在編 輯/校正/封面構想的盡心協助,也感謝深智出版社的大力支援,使本書得以順利出版,最後要謝謝家人的默默支持。
內容如有疏漏、謬誤或有其他建議,歡迎來信指教(
[email protected])。
?