► 一本完整高階的TensorFlow 2.x應用
► 一定要選一個AI框架,TensorFlow是唯一選擇,加入動態圖、整合了Keras
► 學一個TensorFlow,會兩種AI Framework,怎麼看都划算
TensorFlow 是目前使用最廣泛的機器學習架構,能滿足廣大使用者的需求。如今TensorFlow 已經更新到2.X 版本,具有更強的便利性。TensorFlow在2.0版之後做了大幅更動,如果你從舊版1.0學的跌跌撞撞,不如從新版開始。
很多人以為TensorFlow只適用於深度學習,但TensorFlow的廣度和深度是成正比的。本書實作了幾個著名的範例,不再只會MNIST而已了。從NLP、影像辨識、GAN,一直到真槍實彈的機器學習技能,TensorFlow一手包辦。
你真的想找一本完整高階的TensorFlow 2.x應用,這會是最佳的案頭書。
全書內容分為4篇,結構清晰、案例豐富、通俗容易、實用性強。
◎第1篇 準備篇 包含TensorFlow的安裝、使用方法。這部分內容可以讓讀者快速上手TensorFlow工具。
◎第2篇 基礎篇 包含資料集製作、特徵工程等資料前置處理工作,以及與數值分析相關的模型(其中包含wide_deep模型、梯度提升樹、知識圖譜、帶有JANET單元的RNN等模型)。
◎第3篇 進階篇 從自然語言處理、電腦視覺兩個應用方向介紹了基礎的演算法原理和主流的模型。實際包含:TextCNN模型、帶有注意力機制的模型、帶有動態路由的RNN模型、BERTology系列模型、EfficientNet系列模型、Anchor-Free模型、YOLO V3模型等。
◎第4篇 高階篇 介紹產生式模型和零次學習兩種技術,系統地介紹資訊熵、歸一化、f-GAN、最佳傳輸、Sinkhorn演算法,以及變分自編碼、DeblurGAN、AttGAN、DIM、VSC等模型。
適合讀者群:適合對人工智慧、TensorFlow有興趣者,或作為大專相關科系學生、教育訓練機構教材。
作者
李金洪
精通c、c++、彙編、python、java、go等語言。擅長神經網路、演算法、協議分析、逆向、移動互聯網安全架構等技術。先後擔任過CAD演算法工程師、手機遊戲主程、架構師、專案經理、CTO、部門經理、資深產品總監等職位。
目錄
前言
第一篇 準備篇
01 學習準備
1.1 什麼是TensorFlow 架構
1.2 如何學習本書3
02 快速上手TensorFlow
2.1 設定TensorFlow 環境
2.2 訓練模型的兩種方式
2.3 實例1:用靜態圖訓練模型,使其能夠從一組資料中找到 y ≈ 2x 規律
2.4 實例2:用動態圖訓練一個具有儲存檢查點功能的回歸模型
03 TensorFlow 2.X 程式設計基礎
3.1 動態圖的程式設計方式
3.2 掌握估算器架構介面的應用
3.3 實例7:將估算器模型轉化成靜態圖模型
3.4 實例8:用估算器架構實現分散式部署訓練
3.5 掌握tf.keras 介面的應用
3.6 分配運算資源與使用分佈策略
3.7 用tfdbg 偵錯TensorFlow 模型
3.8 用自動混合精度加速模型訓練
第二篇 基礎篇
04 用TensorFlow 製作自己的資料集
4.1 資料集的基本介紹
4.2 實例11:將模擬資料製作成記憶體物件資料集
4.3 實例12:將圖片製作成記憶體物件資料集
4.4 實例13:將Excel 檔案製作成記憶體物件資料集
4.5 實例14:將圖片檔案製作成TFRecord 資料集
4.6 實例15:將記憶體物件製作成Dataset 資料集
4.7 實例16:將圖片檔案製作成Dataset 資料集
4.8 實例17:在動態圖中讀取Dataset 資料集
4.9 實例18:在不同場景中使用資料集
4.10 tf.data.Dataset 介面的更多應用
05 數值分析與特徵工程
5.1 什麼是特徵工程
5.2 什麼是特徵列介面
5.3 實例24:用wide_deep 模型預測人口收入
5.4 實例25:梯度提升樹(TFBT)介面的應用
5.5 實例26:以知識圖譜為基礎的電影推薦系統
5.6 實例27:預測飛機引擎的剩餘使用壽命
第三篇 進階篇
06 自然語言處理
6.1 BERT 模型與NLP 的發展階段
6.2 實例28:用TextCNN 模型分析評論者是否滿意
6.3 實例29:用帶注意力機制的模型分析評論者是否滿意
6.4 實例30:用帶有動態路由的RNN 模型實現文字分類任務
6.5 NLP 中的常見任務及資料集
6.6 了解Transformer 函數庫
6.7 實例31:用管線方式完成多種NLP 任務
6.8 Transformers 函數庫中的自動模型類別(TFAutoModel)
6.9 Transformers 函數庫中的BERTology 系列模型
6.10 Transformers 函數庫中的詞表工具 .
6.11 BERTology 系列模型
6.12 用遷移學習訓練BERT 模型來對中文分類
07 機器視覺處理
7.1 實例34:使用預訓練模型識別影像
7.2 了解EfficientNet 系列模型
7.3 實例36:在估算器架構中用tf.keras 介面訓練ResNet 模型,識別圖片中是橘子還是蘋果
7.4 以圖片內容為基礎的處理任務
7.5 實例37:用YOLO V3 模型識別門牌號
第四篇 高階篇
08 生成式模型:能夠輸出內容的模型
8.1 快速了解資訊熵(information entropy)
8.2 通用的無監督模型-- 自編碼與對抗神經網路
8.3 實例38:用多種方法實現變分自編碼神經網路
8.4 常用的批次歸一化方法
8.5 實例39:建置DeblurGAN 模型,將模糊照片變清晰
8.6 更加了解WGAN 模型
8.7 實例40:建置AttGAN 模型,對照片進行加鬍子、加頭簾、加眼鏡、變年輕等修改
8.8 散度在神經網路中的應用
8.9 實例42:用Deep Infomax(DIM)模型做一個圖片搜尋器
09 識別未知分類的方法:零次學習
9.1 了解零次學習
9.2 零次學習中的常見困難10.1 概述
9.3 帶有視覺結構約束的直推ZSL( VSC模型)
9.4 詳解Sinkhorn 疊代演算法
9.5 實例43:用VSC 模型識別圖片中的鳥屬於什麼類別
9.6 提升零次學習精度的方法
後記
序/導讀
前言
TensorFlow 是目前使用最廣泛的機器學習架構,能滿足廣大使用者的需求。如今TensorFlow 已經更新到2.X 版本,具有更強的便利性。
☘ 本書特色
1. 以2.X 版本為基礎,提供了大量的程式設計經驗
本書中的實例全部基於TensorFlow 2.1 版本,同時也包含了許多該版本的使用技巧和經驗。
2. 覆蓋了TensorFlow 的大量介面
TensorFlow 是一個非常龐大的架構,內部有很多介面可以滿足不同使用者的需求。合理使用現有介面可以在開發過程中獲得事半功倍的效果。然而,由於TensorFlow 的程式更新速度太快,有些介面的搭配文件並不是很全。作者花了大量的時間與精力,對一些實用介面的使用方法進行摸索與整理,並將這些方法寫到書中。
3. 提供了高度可重用程式,公開了大量的商用程式片段
本書實例中的程式大多來自作者的商業專案,這些程式的便利性、穩定性、再使用性都很強。讀者可以將這些程式分析出來直接用在自己的專案中,加快開發進度。
4. 書中的實戰案例可應用於真實場景
本書中大部分實例都是目前應用非常廣泛的通用任務,包含圖片分類、物件辨識文字分類、影像產生、識別未知分類等多個方向。讀者可以在書中介紹的模型的基礎上,利用自己的業務資料集快速實現AI 功能。
5. 從專案角度出發,覆蓋專案開發全場景
本書以專案實現為目標,全面覆蓋開發實際AI 專案中所相關的知識,並全部配有實例,包含開發資料集、訓練模型、特徵工程、開發模型、分散式訓練。其中,特徵工程部分全面說明了TensorFlow 中的特徵列介面。該介面可以使資料在特徵處理階段就以圖的方式進行加工,進一步確保了在訓練場景下和使用場景下模型的輸入統一。
6. 提供了大量前端論文連結地址,便於讀者進一步深入學習
本書使用的AI 模型,參考了一些前端的技術論文,並做了一些結構改進。這些實例具有很高的科學研究價值。讀者可以參考這些論文,進一步深入學習更多的前端知識,再配合本書的實例進行充分了解,達到融會貫通。本書也可以幫助AI 研究者進行學術研究。
7. 注重方法與經驗的傳授
本書在說明知識時,更注重傳授方法與經驗。全書共有幾十個「提示」標籤,其中的內容都是功力很高的成功經驗分享與易錯事項歸納,有關於經驗技巧的,也有關於風險避開的,可以幫助讀者在學習的路途上披荊斬棘,快速進步。
☘ 本書資源下載
本書程式碼請至本公司官網deepmind.com.tw/ 尋找相關書號下載。另本書資料集較大,請至原書網站下載,網址為:www.aianaconda.com/index/tensorFlow2x
☘ 本書適合讀者群
■ 人工智慧同好
■ 人工智慧開發工程師
■ 人工智慧相關課程的大專院校師生
■ 使用 TensorFlow 架構的工程師
■ 整合人工智慧的開發人員
■ 人工智慧初學者
☘ 關於作者
本書的內容由李金洪主筆撰寫,書中的大部分程式由許青幫忙偵錯和整理,在此表示感謝。
許青,NLP 演算法工程師,南京航空太空大學碩士畢業,取得許多電腦視覺相關專利,作為核心開發人員參與過多個領域的AI 專案。
李金洪