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