還在用難用的Tensorflow嗎?還在用太簡單的Keras嗎?
2020年將是Pytorch正式超越Tensorflow、一統人工智慧框架世界的時代,如果還在頭痛怎麼用Tensorflow實作MNIST,快點投入PyTorch的懷抱吧!
本書實作最經典的人工智慧神經網路的案例,並且放入最新真實世界中的應用範例,如果有心要學習人工智慧,這本PyTorch實例書將帶你完成史上最有名的幾個經典範例,讓你功力大增之外,更一舉成為人工智慧的強者!
全書重點包括:
深度學習一路走來的歷史
PyTorch的張量、自動微分及nn模組的介紹
預測共享單車投放數量
中文文章情緒分析器
一定要會的用CNN完成MNIST的辨識
大型遷移學習對動物分類進行預測
MNIST的進一步,幫你把數字加起來
自己動手做PRISMA:20種藝術家風格轉到你的照片
假新聞有什麼稀奇,假以亂真的照片才叫厲害:GAN實作
NLP的大神Word2Vec的實作
人工智慧音樂家:利用LSTM製作自動作曲機
Google的祕密武器:神經網路翻譯系統實作
外掛有什麼了不起?用AI打電動,強化學習實作
本書特色
深度學習、PyTorch的入門書
透過實際經典案例循序講解
專家推薦
「這本書緊接業界潮流,將人工智慧科普帶入了後AlphaGo 時代:遊戲飛鳥、自動作曲、語義星空涵蓋了深度學習領域的主流玩法。書中既有清晰容易的知識說明,讓你打好理論基礎,又有詳細的程式展示,一步步地教你做實際專案。這是一本揭示深度學習的秘笈!」-袁行遠,彩雲科技CEO、創始人
「本書寓教於樂,精心設計的實戰案例和循序漸進的學習方式都令人耳目一新。先從實戰專案出發,然後引用理論說明,最後深入剖析工作原理,環環相扣,引人入勝。期待看到PyTorch 之火的燎原之勢。」-高文超,微軟研究院軟體開發工程
「以2011 年AlexNet 贏得ImageNet 競賽為起始點,深度學習迅速席捲了整個人工智慧領域,但目前出版的有關深度學習的書大多偏重理論。這本書注重理論和實作的緊密結合,讀者可以在瞭解深度學習原理之後,立刻跟隨書中的程式動手實作,加深了解。如果想要追上人工智慧的浪潮,這本書是一個不錯的開始。」-鮑捷,文因互連CEO、聯合創始人
作者
集智俱樂部(Swarma Club)
成立於2003年,是一個從事學術研究、享受科學樂趣的探索者團體。宣導以平等開放的態度、科學實證的精神,進行跨學科的研究與交流,力圖搭建一個「沒有圍牆的研究所」。
目錄
前言
01 深度學習簡介
1.1 深度學習與人工智慧
1.2 深度學習的歷史淵源
1.3 深度學習的影響因素
1.4 深度學習為什麼如此成功
1.5 小結
1.6 參考文獻
02 PyTorch 簡介
2.1 PyTorch 安裝
2.2 初識PyTorch
2.3 PyTorch 實例:預測房價
2.4 小結
03 單車預測器:你的第一個神經網路
3.1 共享單車的煩惱
3.2 單車預測器1.0
3.3 單車預測器2.0
3.4 剖析神經網路Neu
3.5 小結
3.6 Q&A
04 機器也懂感情-- 中文情緒分類器
4.1 神經網路分類器
4.2 詞袋模型分類器
4.3 程式實現
4.4 執行結果6
4.5 剖析神經網路
4.6 小結
4.7 Q&A
05 手寫數字識別器-- 認識卷積神經網路
5.1 什麼是卷積神經網路
5.2 手寫數字識別器
5.3 剖析卷積神經網路
5.4 小結
5.5 Q&A
5.6 擴充閱讀
06 手寫數字加法機-- 遷移學習
6.1 什麼是遷移學習
6.2 應用案例:遷移學習如何抗擊貧困
6.3 螞蟻還是蜜蜂:遷移大型卷積神經網路
6.4 手寫數字加法機
6.5 小結
6.6 實作專案:遷移與效率
07 你自己的Prisma -- 影像風格遷移
7.1 什麼是風格遷移
7.2 風格遷移技術發展簡史
7.3 神經網路風格遷移
7.4 神經網路風格遷移實戰
7.5 小結
7.6 擴充閱讀
08 人工智慧造假術-- 影像產生與對抗學習
8.1 反卷積與影像產生
8.2 影像產生實驗1-- 最小均方誤差模型
8.3 影像產生實驗2-- 產生器—識別器模型
8.4 影像產生實驗3--GAN
8.5 小結
8.6 Q&A
8.7 擴充閱讀
09 詞彙的星空-- 神經語言模型與Word2Vec
9.1 詞向量技術介紹
9.2 NPLM:神經機率語言模型
9.3 Word2Vec
9.4 Word2Vec 的應用
9.5 小結
9.6 Q&A
10 LSTM 作曲機-- 序列產生模型
10.1 序列產生問題
10.2 RNN 與LSTM
10.3 簡單01 序列的學習問題
10.4 LSTM 作曲機
10.5 小結
10.6 Q&A
10.7 擴充閱讀
11 神經翻譯機-- 點對點機器翻譯
11.1 機器翻譯簡介
11.2 編碼—解碼模型
11.3 注意力機制
11.4 更多的改進
11.5 神經翻譯機的編碼實現
11.6 更多改進
11.7 廣義的翻譯
11.8 Q&A
12 AI 遊戲高手-- 深度強化學習
12.1 強化學習簡介
12.2 深度Q 學習演算法
12.3 DQN 玩Flappy Bird 的PyTorch 實現
12.4 小結
12.5 通用人工智慧還有多遠
12.6 Q&A
12.7 參考文獻
序/導讀
前言
在21 世紀的第二個十年裡,科技界最大的進展恐怕非人工智慧莫屬了。無論是戰勝人類圍棋高手的AlphaGo,還是遍佈全中國車站的人臉識別系統,配備了深度學習技術的最新人工智慧展現了它無限大的勢能,並已經進入到我們的日常生活中。
人工智慧(Artificial Intelligence,簡稱AI),顧名思義,就是透過計算的方式模擬、延伸和擴充人的智慧。它作為電腦科學的分支,早在1956年就誕生了。然而,長久以來,人工智慧的發展卻不能與它的名字相比對。儘管早期的人工智慧在數學定理證明、推理、棋類遊戲上獲得了長足的進步,但是在擬人化的具體思維方面卻與人類相差甚遠。舉例來說,一個兩三歲的小孩能清楚地認出爸爸和媽媽,但是人工智慧卻不能。
不過近年來,人工智慧的發展正在試圖擺脫人們對它的刻板印象。採用深度神經網路技術的人工智慧同樣可以非常好地進行「形象化」思維。舉例來說,現在人工智慧的人臉識別準確度已經達到了99.7%,超過了人類的識別準確度97.3%。2017 年1 月,百度大腦的人工智慧程式參加了《最強大腦》節目,在人臉識別和聲紋識別上挑戰了人類頂尖高手,並最後完勝了人類的「最強大腦」。如今,人工智慧已經可以在自己的弱項上戰勝人類了。
在2016 年3 月和2017 年5 月,AlphaGo 分別與世界圍棋冠軍李世石和柯潔進行了舉世矚目的比賽。可以看到,配備了深度強化學習技術的人工智慧可以像人類圍棋高手那樣具有出色的大局觀,甚至具有一定的創造力。這種表現是單純依靠邏輯推理和搜索的人工智慧遠遠無法達到的。更有甚者,DeepMind 團隊在2017 年10 月發表在《自然》上的文章提出了一個新版本的AlphaGo—AlphaGo Zero,它完全憑藉自己的「左右互搏」,而無須任何人類經驗,就可以達到世界圍棋的頂尖水準,遠遠超越人類。
然而,這些有關人工智慧的新聞會給我們造成一種錯覺:人工智慧是一種高科技,只有Google、微軟等大公司才有可能應用,與我們普通人或小公司毫無關係。事實並非如此,隨著各大公司開放原始碼了他們的深度學習架構和平台,我們每一個普通企業或個人都可以快速地應用人工智慧技術。你只要有一台筆記型電腦,就可以輕鬆玩轉深度學習,實現諸如人臉識別、影像產生、機器翻譯、聊天機器人等強大的人工智慧功能。
其實,人工智慧早已滲透到了我們的身邊。舉例來說,當我們使用導航系統播報路況的時候,林志玲的聲音就會從手機或汽車音響裡播放出來。難道林志玲會把成千上萬種可能的路況資訊都念一遍嗎?答案顯然是否定的,這是運用了人工智慧中的語音合成技術。
有一款App 叫作Prisma。你只要上傳自己的照片,再選擇一張風格圖片(例如莫內的畫作),點擊一個按鈕,Prisma 就可以產生一張莫內風格的你了。這款應用所使用的是人工智慧中的風格移轉技術。
還有一款App 叫作FaceApp,它可以使你的臉發生各種有趣的變化。例如替你的臉上妝,看一看你以後蒼老的樣子,甚至可以為鬱鬱寡歡的臉增加一抹笑容。這款應用的背後也有人工智慧技術的支撐。它採用影像產生技術,透過不斷分析大量照片中人像的特徵,再造出全新的圖片。
正如20 年前網際網路迅速普及,幾個程式設計師撰寫幾行程式就有可能創業成功,搖身一變成為億萬富翁。新一波人工智慧浪潮帶來的衝擊只會比當年的網際網路革命更加巨大,更加徹底。據有關部門統計,現在每隔11 小時就會有一家人工智慧創業公司誕生。
人工智慧令人心潮澎湃,那麼一般的程式設計師又該如何入門「高大上」的人工智慧技術呢?
工欲善其事,必先利其器。選擇一個好的人工智慧架構平台是我們跨入這個企業的前提,可以說工具選對了,我們的一隻腳就已經跨入了人工智慧的大門。本書給大家推薦的「器」自然就是PyTorch 了,推薦這個深度學習架構平台有以下幾點原因。
■簡單、好用、上手快:這一點對於初學者來說是極具吸引力的。
■功能強大:從電腦視覺、自然語言處理再到深度強化學習,PyTorch 的功能異常強大。而且,如今支援PyTorch、功能強大的套件也越來越多,例如Allen NLP(自然語言處理)和Pyro(機率程式設計)。
■Python 化程式設計:在諸多深度學習開放原始碼架構平台中,PyTorch恐怕是和Python 結合得最好的一個。相比較TensorFlow 架構來說,PyTorch 將會讓你的程式更流暢舒服。
■強大的社區支援:對於一個初學者來說,吸取到前輩的經驗恐怕是最迫切的問題了。儘管PyTorch 僅兩歲有餘,但是它的社區成長飛快。在華人社區,用PyTorch 作為關鍵字搜索就能找到大概五六個網路社區、BBS。各大問答類網站關於PyTorch 的問題數目也在持續增多。
如此強大的功能,如此好用的工具,絕對是值得我們大力推廣的。然而,目前有關PyTorch 的多數優質資料還以英文為主,大部分介紹深度學習、人工智慧的資料充斥著大量的數學公式,這對普通使用者而言是一個不小的門檻。因此,集智俱樂部的成員合力撰寫了這本書,力求進一步推廣PyTorch,普及人工智慧和深度學習等新技術。
集智俱樂部誕生於2003 年,是華人社區最早的人工智慧社區之一。經過十幾年的發展,它已經逐漸成長為一個深受華人頂尖研究者、科學家、工程師和學生群眾熱愛的學術社區。在這十幾年間,集智俱樂部舉辦了大大小小400 多場講座、讀書會等活動,創作了《科學的極致:漫談人工智慧》和《走近2050:注意力、網際網路與人工智慧》兩本人工智慧科普讀物。值得一提的是,中國AI 領域著名的創業黑馬"Momenta" 和「彩雲AI」的創始人及核心成員都來自於集智俱樂部。在人工智慧時代,集智俱樂部理應也必然會為人工智慧企業的發展做出更大的貢獻。
肩負著這樣的使命,本書悄然誕生了。本書內容來自張江老師在「集智AI 學園」開設的網路課程—「火炬上的深度學習」,經各位成員的精心整理和不斷增強,最後成書。我們希望能進一步推廣PyTorch,讓更多人有機會掌握人工智慧和深度學習等新技術,進入人工智慧這個發展快速的企業,共用人工智慧帶來的發展紅利。
繁體中文版說明
本書程式碼均保留在Github上並時常更新。為求程式碼完整,請讀者至
github.com/swarmapytorch/book_DeepLearning_in_PyTorch_Source
下載程式碼,並隨時查看更新程式。此外本書作者為中國大陸人士,因此程式碼為簡體中文。