TensorFlow是近年來影響較大的神經(jīng)網(wǎng)絡和深度學習平臺,《零起點TensorFlow快速入門》以生動活潑的語言,從入門者的角度,對TensorFlow進行介紹,書中包含大量簡單風趣的實際案例,如孤獨的神經(jīng)元、梵高畫風等,讓廣大初學者快速掌握神經(jīng)網(wǎng)絡的基本編程,為進一步學習人工智能奠定扎實的基礎。
推 薦 序
近日AlphaGo和柯潔的黑白大戰(zhàn),因為對陣的一方是中國頂級圍棋高手柯潔,所以引起國人的高度關注。如果利用百度搜索引擎,輸入AlphaGo,可以得出7000多萬條搜索結果,遠遠高于其他熱門詞條。
事實上,AlphaGo只是Google擁有的兩套人工智能系統(tǒng)中的一套,是Google 2014年收購DeepMind的人工智能系統(tǒng),專注于棋賽開發(fā)。Google另外一套人工智能系統(tǒng)就是本書介紹的TensorFlow系統(tǒng)。
在TensorFlow等人工智能系統(tǒng)出現(xiàn)之前,計算機所做的事情最多就是按照人類編好的既定程序,簡單重復地、按部就班地運行,沒有超越人類事先為計算機設定的思維邊界。
計算機與人類大腦相比,根本的區(qū)別在于不具備學習和創(chuàng)新能力。
計算機最多是記憶的信息多,重復計算的速度快,不受情緒的影響等。但是,在TensorFlow等人工智能系統(tǒng)出現(xiàn)之后,計算機所做的事情除了簡單重復運行之外,更重要的是其具備了一定的自我學習和創(chuàng)新能力。
TensorFlow等人工智能系統(tǒng)使得計算機在一定程度上能夠自主學習,自我提高,總結過去的經(jīng)驗,汲取以往的教訓,具備一定的創(chuàng)新性。這一點從AlphaGo與柯潔對壘的3場棋局的結果中不難看出。
這正是以AlphaGo和TensorFlow為代表的人工智能系統(tǒng)區(qū)別于以往任何計算機技術的關鍵所在,也是為什么TensorFlow被稱為互聯(lián)網(wǎng)以來唯一的“黑科技”項目的原因。
具備了一定的自我學習和創(chuàng)造能力的人工智能系統(tǒng)的出現(xiàn),將對經(jīng)濟系統(tǒng)的各個領域產生重大影響。筆者有著超過20年境內外金融行業(yè)從業(yè)經(jīng)歷,將從一個側面分享人工智能對金融領域的影響。
從整個金融業(yè)的歷史沿革來看,大致經(jīng)歷了四個階段:純人工階段、單機電腦階段、互聯(lián)網(wǎng)(含移動互聯(lián)網(wǎng))階段和人工智能階段。
隨著每個階段的漸次演進,提供金融服務一方的人力成本投入在逐漸減少,提供金融服務的效率在提高;對于接受金融服務的一方來說,金融服務的可獲得性以及便捷程度在逐漸增加,金融服務越來越圍繞著人進行,以人為中心的全方位的社會經(jīng)濟服務體系正在形成。
金融服務體系中銀行服務、證券服務、保險服務等的內部界限開始變得模糊,金融服務與其他非金融的社會經(jīng)濟服務之間的界限開始變得不清。
特別是金融業(yè)進入人工智能階段之后,人工智能系統(tǒng)將接受金融服務一方的身份特征數(shù)據(jù)、交易數(shù)據(jù)和行為數(shù)據(jù)等大數(shù)據(jù),進行實時分析和動態(tài)跟蹤,以遠低于人工成本的成本,為每個人建立一個基于生命周期的綜合金融模型,對每個人未來的金融行為進行預測,自動為他們提供賬戶資金管理、貨幣兌換、證券買賣、保險購買、購房購車計劃、旅行休閑、子女教育、養(yǎng)老規(guī)劃等方面的金融建議和授權代理操作,并根據(jù)模型預測結果與實際情況相比對,自主學習和修正模型,以便更加貼合接受金融服務一方的真實金融意圖,使得人工智能模型的預測建議和人的實際金融行為無限接近。
由此人類將從日常繁雜的各種金融交易中解放出來,投身到更需要自己或自己更感興趣的方面去。
展望未來,人工智能的應用前景無限美好。探尋當下,人工智能在世界各地的各行各業(yè)方興未艾。
千里之行,始于足下,何海群先生的《零起點TensorFlow快速入門》是有志于人工智能領域的IT人士的一塊敲門磚和鋪路石。
祝愿人工智能在華夏大地生根發(fā)芽,開花結果。
——梁忠
何海群,網(wǎng)名:字王,CHRD前海智庫CTO,《中華大字庫》發(fā)明人,出版書籍20余部,在人工智能、數(shù)據(jù)分析等方面具有20年一線專業(yè)經(jīng)驗;zwPython開發(fā)平臺、zwQuant量化軟件設計師,中國“Python創(chuàng)客”項目和“Python產業(yè)聯(lián)盟”發(fā)起人,國內**Python量化課程:《Python量化實盤·魔鬼訓練營》創(chuàng)始人,極寬量化開源團隊的創(chuàng)始人。1990年,發(fā)明國內**個VR數(shù)據(jù)手套并獲得專利授權,被業(yè)界稱為“中國VR之父”;1992年,論文《人工智能與中文字型設計》入選《廣東青年科學家文集》,現(xiàn)已成為中文字庫行業(yè)三大基礎建模理論之一;1997年,出版國內首部網(wǎng)絡經(jīng)濟專著《網(wǎng)絡商戰(zhàn)》;2008年,在北京聯(lián)合創(chuàng)辦國內**4A級網(wǎng)絡公關公司,服務過200余家國際五百強企業(yè),被公關協(xié)會譽為:中國網(wǎng)絡公關事業(yè)的開創(chuàng)者與啟蒙者;2012年,發(fā)布國內**自主研發(fā)的智能中文字庫設計軟件《x2ttf涂鴉造字》,全功能全免費公益軟件;2016年,推出國內首套純python開源量化軟件:zwQuant,以及國內**Tick級別開源金融大數(shù)據(jù)項目:zwDat金融數(shù)據(jù)包。研究成果有:“小數(shù)據(jù)”理論,快數(shù)據(jù)模型,黑天鵝算法,GPU超算工作站、MTRD多節(jié)點超算集群算法、“1+N”網(wǎng)絡傳播模型、人工智能“足彩圖靈法則”等。
第1章 不朽的梵高 1
1.1 星夜傳奇 1
1.2 TensorFlow簡介 3
案例1-1:星夜傳奇實戰(zhàn)編程 5
案例1-2:星夜傳奇批量編程 11
1.3 十萬次迭代 14
1.4 黑箱大法 16
1.5 超級KISS法則與大智若愚 17
第2章 TensorFlow安裝 22
2.1 目錄結構 22
2.2 化繁為簡 23
2.3 CPU版本安裝 25
2.4 GPU版本安裝 25
案例2-1:GPU開發(fā)環(huán)境測試 28
第3章 可視化AI圖表 33
3.1 TensorBoard可視化工具 33
案例3-1:hello,愛麗絲 34
3.1.1 TensorBoard主界面 36
3.1.2 快速啟動腳本 38
3.2 加法器 41
案例3-2:加法器的算法結構圖 41
案例3-3:加法器的變化版本 43
案例3-4:乘法器的算法結構圖 44
第4章 快速入門 47
4.1 你好,神經(jīng)網(wǎng)絡 47
案例4-1:字符串表達式 47
案例4-2:hello,TensorFlow 48
4.2 圖運算與Session 49
案例4-3:缺省圖運算 49
案例4-4:可視化Session 52
4.3 常量、變量與占位符 56
案例4-5:常量加法 57
案例4-6:加法與占位符 58
案例4-7:加法與變量 59
4.4 TensorFlow常用數(shù)值運算 62
第5章 TensorFlow總覽 63
5.1 TensorFlow產業(yè)鏈關系圖 65
5.2 TensorFlow模塊列表 66
5.2.1 源碼目錄結構 66
案例5-1:內置模塊列表 68
5.2.2 模塊結構圖 70
5.2.3 API抽象接口示意圖 71
5.2.4 神經(jīng)網(wǎng)絡三大模塊 71
5.3 數(shù)據(jù)類型 72
5.4 TensorFlow常用術語 73
5.5 TensorFlow簡化接口 77
第6章 基礎知識 79
6.1 數(shù)據(jù)流圖 79
6.2 設備切換Device 81
6.3 三大數(shù)據(jù)類型 82
案例6-1:變量操作 86
6.4 Feed數(shù)據(jù)提交 89
案例6-2:Feed提交數(shù)據(jù) 90
案例6-3:批量Feed提交數(shù)據(jù) 92
案例6-4:批量Feed提交多維數(shù)據(jù) 92
6.5 Fetch獲取數(shù)據(jù) 93
案例6-5:Fetch獲取數(shù)據(jù) 93
案例6-6:Fetch獲取多維數(shù)組 95
案例6-7:會話Session 97
6.6 批尺寸Batch_Size 99
第7章 孤獨的神經(jīng)元 101
7.1 神經(jīng)元模型 101
案例7-1:單細胞算法 102
7.2 可視化分析 107
案例7-2:單細胞算法優(yōu)化版 108
第8章 歸來吧,數(shù)據(jù) 112
8.1 分類——機器學習的核心 112
8.2 萬物皆回歸 112
案例8-1:傳統(tǒng)機器學習 114
案例8-2:TensorFlow線性回歸模型 117
8.3 模型管理 124
案例8-3:TensorFlow模型保存 125
案例8-4:TensorFlow模型讀取 126
第9章 Pkmital入門案例套餐(上) 128
9.1 Halcon簡介 128
9.2 帕拉格?庫馬爾案例合集簡介 129
9.3 Pkmital案例集合詳解 131
9.4 TensorFlow基礎 132
案例9-1:TensorFlow基礎權重設置和圖形計算 132
案例9-2:圖像的卷積計算 140
9.5 回歸算法 145
案例9-3:線性回歸 145
案例9-4:線性回歸修正版 150
9.6 多項式回歸 151
案例9-5:多項式回歸 151
案例9-6:多項式回歸修正版 153
9.7 邏輯回歸模型 154
案例9-7:邏輯回歸模型 154
9.8 CNN卷積神經(jīng)網(wǎng)絡算法 159
案例9-8:CNN卷積神經(jīng)網(wǎng)絡 159
第10章 Pkmital入門案例套餐(下) 165
10.1 自編碼算法 165
案例10-1:自編碼算法 165
10.2 dAE降噪自編碼算法 170
案例10-2:dAE降噪自編碼算法 170
10.3 CAE卷積編碼算法 177
案例10-3:CAE卷積編碼算法 177
10.4 DRN深度殘差網(wǎng)絡 183
案例10-4:DRN深度殘差網(wǎng)絡 183
10.5 VAE變分自編碼算法 189
案例10-5:VAE變分自編碼算法 189
10.6 TDV聯(lián)合矩陣模型 199
第11章 TensorFlow內置案例分析 201
11.1 預備知識 202
11.2 Mnist手寫數(shù)字識別 211
案例11-1:Mnist初級案例 211
案例11-2:Mnist專業(yè)版本 215
11.3 FFNNs前饋神經(jīng)網(wǎng)絡模型 224
案例11-3:FFNNs前饋神經(jīng)網(wǎng)絡模型 224
第12章 TensorLayer案例分析 234
12.1 手寫識別算法 234
案例12-1:Mnist手寫識別 234
12.2 Mnist神經(jīng)網(wǎng)絡模型合集 242
案例12-2:Dropout網(wǎng)絡模型 243
案例12-3:DropConnect網(wǎng)絡模型 253
案例12-4:dAE降噪自編碼算法1 257
案例12-5:dAE降噪自編碼算法2 260
案例12-6:CNN卷積神經(jīng)網(wǎng)絡算法 263
第13章 TFLearn案例分析 267
13.1 生存游戲 268
13.1.1 泰坦尼克數(shù)據(jù)集 268
13.1.2 Kaggle機器學習公開賽 269
案例13-1:泰坦尼克號生存與死亡 270
13.2 線性回歸 274
案例13-2:線性回歸模型 275
13.3 模型管理 278
案例13-3:保存讀取模型數(shù)據(jù) 278
13.4 超智能體 283
案例13-4:超智能體:NOT取反運算 284
案例13-5:超智能體:OR或運算 286
案例13-6:超智能體:AND(與)運算 288
案例13-7:超智能體:XOR(異或)運算 289
13.5 CNN卷積神經(jīng)網(wǎng)絡算法 292
案例13-8:CNN卷積神經(jīng)網(wǎng)絡算法 292
第14章 Keras案例分析 297
14.1 Keras模型 298
14.2 Keras使用流程 299
14.3 Keras常用模塊 300
14.4 Keras模型可視化 301
案例14-1:MLP多層神經(jīng)網(wǎng)絡 303
案例14-2:CNN卷積神經(jīng)網(wǎng)絡 309
案例14-3:IRNN修正循環(huán)神經(jīng)網(wǎng)絡 316
案例14-4:HRNN分層循環(huán)神經(jīng)網(wǎng)絡 322
第15章 TensorFlow常用運行模式 327
15.1 深度學習三大要素 327
15.2 神經(jīng)網(wǎng)絡基本結構 328
15.3 基本神經(jīng)元層 329
15.4 神經(jīng)網(wǎng)絡通用流程 335
15.5 Loss損失函數(shù) 338
15.6 TensorFlow常用優(yōu)化算法 340