深度學習快速入門—使用 TensorFlow (Getting started with TensorFlow)
內容描述
<內容簡介>
約莫20年前,小編正在知識工程實驗室做研究時,人工智慧與機器學習是當時研究室的研究主軸,人工智慧更是資訊工程與科學博士班資格考的科目之一。然而在哪個年代,有許多教授並不看好這個領域能在短期內獲得突飛猛進的成果,原因在於,相關理論研究都已存在數十年了,即便是1997年廣為人知的深藍超級電腦,也只是靠著優異的硬體設備來打敗西洋棋王(採用的僅僅是暴力搜尋法,沒什麼好做學問的)。而圍棋規則所造成的複雜度(分支過多,導致無法單純依靠硬體設備來求勝)一直無法在人工智慧上取得突破。
2016年情勢有所轉變,AlphaGo終於打敗了圍棋棋王,貢獻者黃士傑說明了所使用的是「深度學習」,這下子可不得了,「深度學習」霎那間熱門起來了,連帶再次炒熱了機器學習領域。在眾多求職網站上,到處都可以找到徵求具有深度學習專長的職缺,並且薪資頗高。對此,有許多離開校園五年以上的職場高手也想躍躍欲試,但又對於本身的能力有所懷疑,最常聽到他們這樣說:「人工智慧我學得還不錯,機器學習也修過一次課,但從沒學過深度學習耶!」如果您也是這樣的人,那麼這本書可以做為您快速入門「深度學習」的參考書。
其實說到底,「深度學習」仍舊是由機器學習的一環衍生出來的,而機器學習又是人工智慧的一環;講得更明白一點,深度學習有時其實不過就是一種特殊的類神經網路罷了,聽到「類神經網路」,您應該覺得熟悉多了吧!或許您同時也會覺得,那好像也沒什麼了不起。
的確如此,先來看看AlphaGo貢獻者黃士傑的博士論文吧,那是關於蒙地卡羅樹枝搜尋法在電腦圍棋程式的運用。您或許會問,蒙地卡羅方法不是幾十年前就發明了嗎?是的,AlphaGo當然沒有那麼簡單,但現今與數十年前最主要的變化是GPU誕生了,並且效能獲得大幅提升且日益普及(成本下降),而「深度學習」充分利用了這一點,將相關演算法的運算分配給為數眾多的GPU核心去處理,達到了效能上的要求。
為了快速理解「深度學習」,小編替各位讀者挑選了本書,作為深度學習的入門書籍(這或許是第一本關於深度學習的繁體中文書籍),深度學習的原理與技術細節其實不只一種,各家大廠對此都投入頗深,當中又以Google堪稱現今人工智慧領域的霸主。因此小編選了這本書,因為AlphaGo正是由Google研發出來的,而為了讓更多人參與科技的發展,Google甚至提供了TensorFlow這個可有效運用GPU的深度學習框架,以開放原始碼的方式提供給所有IT技術人員,以期集合眾人之力來改變這個世界。
話說,TensorFlow雖然因著深度學習而紅,但萬丈高樓平地起,蒙地卡羅方法的關鍵在於加入了機率這個概念,因此,本書將從使用TensorFlow求解數學問題開始介紹,進而朝向機器學習與類神經網路邁進,在此同時,您將回顧以往熟悉的線性迴歸、分類(Classifiers)與最近鄰居演算法、群集(clustering)與k-means演算法、單層感知器、邏輯斯迴歸、多層感知器等等知識,並使用TensorFlow來建立模型與求解問題。到了本書的後半段,將正式進入深度學習與GPU程式設計的議題,包含卷積神經網路CNN與遞迴神經網路RNN等兩種最知名的深度學習模型,並且在本書的末尾,也將介紹一個TensorFlow Serving,它是一種RPC,可以提供客戶端服務,伺服器可成功載入並執行經過訓練的TensorFlow模型,讓您沒有太多硬體上的顧慮。這使得實驗室裡的機器學習模型得以正式成為生產系統。
不用再徬徨,現在就透過《深度學習快速入門—使用TensorFlow》這本書,展開您的深度學習的旅程吧!
<作者簡介>
Giancarlo Zaccone
在科學和工業領域擁有10 多年專案管理研究的經驗。他在國家研究委員會C.N.R 擔任研究員,在那裡,他參與了平行數值計算和科學可視化相關的研究專案。目前,他是一家諮詢公司的高級軟體工程師,維護太空和國防應用軟體系統。Giancarlo 擁有那不勒斯的Federico II 物理學碩士學位,並研習了羅馬La Sapienza科學計算二級研究生碩士學程。他也是《Python Parallel Programming Cookbook》的作者。
你可以透過https://it.linkedin.com/in/giancarlozaccone 與他取得聯繫。
<章節目錄>
Chapter 1 TensorFlow:基本概念
機器學習與深度學習的基礎
TensorFlow:總體概述
Python的基礎
安裝TensorFlow
第一次實地操作
資料流圖形
TensorFlow程式設計模型
如何使用TensorBoard
總結
Chapter 2 用TensorFlow求解數學問題
張量資料結構
複數及碎形(fractals)
計算梯度(gradient)
隨機數值
總結
Chapter 3 機器學習簡介與應用
線性迴歸演算法
分類(Classifiers)
資料群集(Data clustering)
總結
Chapter 4 類神經網路簡介
什麼是類神經網路?
單層感知器
邏輯斯迴歸(logistic regression)
多層感知器
多層感知器函數近似(function approximation)
總結
Chapter 5 深度學習
深度學習技術
卷積神經網路CNN
CNN架構
CNN的TensorFlow實作
遞迴神經網路RNN
RNN架構
LSTM網路
使用TensorFlow進行自然語言處理
總結
Chapter 6 GPU程式設計和TensorFlow服務
GPU程式設計
TensorFlow服務(TensorFlow Serving)
如何安裝TensorFlow Serving
如何使用TensorFlow Serving
訓練和輸出模型
執行session
載入與輸出一個TensorFlow模型
測試伺服器
總結