全書共15章,內容如下
■ 第1章 深度學習(Deep Learning)導論
第一章介紹AI的發展趨勢,鑑古知今,瞭解前兩波AI失敗的原因,比較第三波發展的差異性。
■ 第2章 神經網路(Neural Network)原理
第二章介紹深度學習必備的統計/數學基礎,不僅要理解相關知識,也力求能撰寫程式解題。
■ 第3章 TensorFlow 架構與主要功能
第三章介紹TensorFlow基本功能,包括張量(Tensor)運算、自動微分及神經網路模型的組成,並說明梯度下降法求解的過程。
■ 第4章 神經網路實作
第四章開始實作,依照機器學習10項流程,撰寫完整的範例,包括Web、桌面程式。
■ 第5章 TensorFlow 其他常用指令
第五章介紹TensorFlow進階功能,包括各種工具,如TensorBoard、TensorFlow Serving、Callbacks。
■ 第6章 卷積神經網路(Convolutional Neural Network)
■ 第7章 預先訓練的模型(Pre-trained Model)
■ 第8章 物件偵測(Object Detection)
■ 第9章 進階的影像應用
■ 第10章 生成對抗網路 (GAN)
第六~十章介紹圖像/視訊的演算法及各式應用。
■ 第11章 自然語言處理的介紹
■ 第12章 自然語言處理的演算法
■ 第13章 聊天機器人(ChatBot)
■ 第14章 語音辨識
第十一~十四章介紹自然語言處理、語音及各式應用。
■ 第15章 強化學習
第十五章介紹AlphaGo的基礎 -- 『強化學習』演算法。
作者簡介:
陳昭明
曾任職於IBM、工研院等全球知名企業
IT邦幫忙2018年AI組冠軍
多年AI課程講授經驗
作者序
前言 (Preface)
為何撰寫本書
從事機器學習教育訓練已屆四年,其間也在『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。
致謝
原本只想整理過往文章集結成書,沒想到相關技術發展太快,幾乎全部重寫,結果比預計時程多花了三倍的時間才完成,但因個人能力有限,還是有許多議題成為遺珠之憾,仍待後續的努力,過程中要感謝冠瑀、琮文在編輯/校正/封面構想的盡心協助,也感謝深智出版社的大力支援,使本書得以順利出版,最後要藉此書,紀念一位摯愛的親人。
內容如有疏漏、謬誤或有其他建議,歡迎來信指教(mkclearn@gmail.com)。
前言 (Preface)
為何撰寫本書
從事機器學習教育訓練已屆四年,其間也在『IT邦幫忙』撰寫上百篇的文章(https://ithelp.ithome.com.tw/users/20001976/articles),從學員及讀者的回饋獲得許多寶貴意見,期望能將整個歷程集結成冊,同時,相關領域的進展也在飛速變化,過往的文章內容需要翻新,因此藉機再重整思緒,想一想如何能將演算法的原理解釋得更簡易清晰,協助讀者跨入AI的門檻,另外,也避免流於空談,盡量增加應用範例,希望能達到即學即用,不要有過多理論的探討。
AI是一個將資料轉化為知識的過程,演算法就是過程中的生產...
目錄
第一篇 深度學習導論
第1章 深度學習(Deep Learning)導論
1.1 人工智慧的三波浪潮
1.2 AI 的學習地圖
1.3 機器學習應用領域
1.4 機器學習開發流程
1.5 開發環境安裝
第2章 神經網路(Neural Network)原理
2.1 必備的數學與統計知識
2.2 線性代數(Linear Algebra)
2.3 微積分(Calculus)
2.4 機率(Probability) 與統計 (Statistics)
2.5 線性規劃(Linear Programming)
2.6 最小平方法(OLS) vs. 最大概似法(MLE)
2.7 神經網路(Neural Network)求解
第二篇 TensorFlow 基礎篇
第3章 TensorFlow 架構與主要功能
3.1 常用的深度學習套件
3.2 TensorFlow 架構
3.3 張量(Tensor) 運算
3.4 自動微分(Automatic Differentiation)
3.5 神經層(Neural Network Layer)
第4章 神經網路實作
4.1 撰寫第一支神經網路程式
4.2 Keras 模型種類
4.3 神經層(Layer)
4.4 激勵函數(Activation Function)
4.5 損失函數(Loss Functions)
4.6 優化器(Optimizer)
4.7 效能衡量指標(Performance Metrics)
4.8 超參數調校(Hyperparameter Tuning)
第5章 TensorFlow 其他常用指令
5.1 特徵轉換
5.2 模型存檔與載入(Save and Load)
5.3 模型彙總與結構圖(Summary and Plotting)
5.4 回呼函數(Callbacks)
5.5 TensorBoard
5.6 模型佈署(Deploy) 與TensorFlow Serving
5.7 TensorFlow Dataset
第6章 卷積神經網路(Convolutional Neural Network)
6.1 卷積神經網路簡介
6.2 卷積(Convolution)
6.3 各式卷積
6.4 池化層(Pooling Layer)
6.5 CNN 模型實作
6.6 影像資料增補(Data Augmentation)
6.7 可解釋的AI(eXplainable AI,XAI)
第7章 預先訓練的模型(Pre-trained Model)
7.1 預先訓練模型的簡介
7.2 採用完整的模型
7.3 採用部分模型
7.4 轉移學習(Transfer Learning)
7.5 Batch Normalization 說明
第三篇 進階的影像應用
第8章 物件偵測(Object Detection)
8.1 圖像辨識模型的發展
8.2 滑動視窗(Sliding Window)
8.3 方向梯度直方圖(HOG)
8.4 R-CNN 物件偵測
8.5 R-CNN 改良
8.6 YOLO 演算法簡介
8.7 以TensorFlow 實作YOLO模型
8.8 YOLO 模型訓練
8.9 SSD 演算法
8.10 TensorFlow Object Detection API
8.11 物件偵測的效能衡量指標
8.12 總結
第9章 進階的影像應用
9.1 語義分割(Semantic Segmentation) 介紹
9.2 自動編碼器(AutoEncoder)
9.3 語義分割(Semantic segmentation) 實作
9.4 實例分割(Instance Segmentation)
9.5 風格轉換(Style Transfer) --人人都可以是畢卡索
9.6 臉部辨識(Facial Recognition)
9.7 光學文字辨識(OCR)
9.8 車牌辨識(ANPR)
9.9 卷積神經網路的缺點
第10章 生成對抗網路 (GAN)
10.1 生成對抗網路介紹
10.2 生成對抗網路種類
10.3 DCGAN
10.4 Progressive GAN
10.5 Conditional GAN
10.6 Pix2Pix
10.7 CycleGAN
10.8 GAN 挑戰
10.9 深度偽造(Deepfake)
第四篇 自然語言處理
第11章 生成對抗網路 (GAN)
11.1 詞袋(BOW) 與TF-IDF
11.2 詞彙前置處理
11.3 詞向量(Word2Vec)
11.4 GloVe 模型
11.5 中文處理
11.6 spaCy 套件
第12章 自然語言處理的演算法
12.1 循環神經網路(RNN)
12.2 長短期記憶網路(LSTM)
12.3 LSTM 重要參數與多層LSTM
12.4 Gate Recurrent Unit (GRU)
12.5 股價預測
12.6 注意力機制(Attention Mechanism)
12.7 Transformer 架構
12.8 BERT
12.9 Transformers 套件
12.10 總結
第13章 聊天機器人(ChatBot)
13.1 ChatBot 類別
13.2 ChatBot 設計
13.3 ChatBot 實作
13.4 ChatBot 工具套件
13.5 Dialogflow 實作
13.6 結語
第14章 語音辨識
14.1 語音基本認識
14.2 語音前置處理
14.3 語音相關的深度學習應用
14.4 自動語音辨識(Automatic Speech Recognition)
14.5 自動語音辨識實作
14.6 結語
第15章 強化學習
15.1 強化學習的基礎
15.2 強化學習模型
15.3 簡單的強化學習架構
15.4 Gym 套件
15.5 Gym 擴充功能
15.6 動態規劃(Dynamic Programming)
15.7 值循環(Value Iteration)
15.8 蒙地卡羅(Monte Carlo)
15.9 時序差分(Temporal Difference)
15.10 其他演算法
15.11 井字遊戲
15.12 木棒台車(CartPole)
15.13 結論
第一篇 深度學習導論
第1章 深度學習(Deep Learning)導論
1.1 人工智慧的三波浪潮
1.2 AI 的學習地圖
1.3 機器學習應用領域
1.4 機器學習開發流程
1.5 開發環境安裝
第2章 神經網路(Neural Network)原理
2.1 必備的數學與統計知識
2.2 線性代數(Linear Algebra)
2.3 微積分(Calculus)
2.4 機率(Probability) 與統計 (Statistics)
2.5 線性規劃(Linear Programming)
2.6 最小平方法(OLS) vs. 最大概似法(MLE)
2.7 神經網路(Neural Network)求解
第二篇 TensorFlow 基礎篇
第3章 TensorFlow 架構與主...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。