本書介紹了人工智能領(lǐng)域常用的方法,包括搜索、統(tǒng)計學習、深度學習和自動機器學習等內(nèi)容。各章節(jié)涉及的問題均根據(jù)歷史典故或現(xiàn)實生活引出,并使用通俗易懂的方式提出問題及其解決方法。因此,讀者在閱讀本書時不會感到枯燥無味,也不需要具備人工智能相關(guān)的知識背景。書中包含很多代碼示例,每個示例均有詳細的解釋,有助于讀者進一步理解相應的算法。在學完本書后,讀者將初步具備使用人工智能算法解決生活中實際問題的能力。
本書可作為高校人工智能及相關(guān)專業(yè)的教材,也可供計算機相關(guān)領(lǐng)域從業(yè)人員參考使用。
(1)由淺入深 通俗易懂
本書旨在以通俗、易懂的方式讓讀者掌握人工智能的基本技術(shù)。描述問題及解答方案時不使用復雜的公式,也不使用晦澀難懂的專業(yè)術(shù)語,因此讀者無需具備相關(guān)領(lǐng)域的專業(yè)知識即可開始閱讀本書。
(2)案例豐富 代碼詳解
除了相關(guān)理論知識外,本書還選取了多個典型的應用案例,每個案例均給出了代碼實現(xiàn)以及詳細的解釋,有助于讀者進一步理解相應的算法原理。
(3)立體資源 多元服務(wù)
本書配套教學PPT、教學大綱、教案、案例素材、文獻導讀及視頻等豐富的教學輔助資源,全方位服務(wù)于教師教學。
周慶國,蘭州大學信息科學與工程學院教授,博導,中國計算機學會(CCF)高級會員,首批全國萬名優(yōu)秀創(chuàng)新創(chuàng)業(yè)導師,教育部“新世紀優(yōu)秀人才支持計劃”入選者,寧夏回族自治區(qū)高等學校特聘教授,青海省“高端創(chuàng)新人才千人計劃”(引進領(lǐng)軍人才)入選者,蘭州大學開源軟件與實時系統(tǒng)教育部工程研究中心副主任,蘭州大學計算機系統(tǒng)結(jié)構(gòu)研究所所長,蘭州大學分布式與嵌入式系統(tǒng)實驗室主任。目前主要從事實時系統(tǒng)、嵌入式系統(tǒng)、人工智能的研究,2017年研制了甘肅省第一輛無人駕駛試驗車。近年來榮獲甘肅省科技進步二等獎(1/8)、第一屆全國高等學校計算機教育教學青年教師優(yōu)秀論文獎一等獎、蘭州大學教學成果獎一等獎(1/5)等榮譽,牽頭編制了《甘肅省網(wǎng)絡(luò)空間安全綱要》。
雍賓賓,蘭州大學信息科學與工程學院副教授,碩士生導師。主要從事高性能計算、深度學習和自動駕駛相關(guān)研究。2018年獲ACM蘭州分區(qū)優(yōu)秀博士,2019年獲得谷歌獎教金,2021年獲得華為云與計算先鋒教師。共發(fā)表學術(shù)論文三十余篇,承擔5項教育部產(chǎn)學合作項目。
人工智能技術(shù)基礎(chǔ) 1
內(nèi)容提要 1
前 言 2
目 錄 4
第 一章 趣談/漫話人工智能 11
1.1 一個古老的職業(yè) 11
1.2 最后的觀(占)星大師 12
1.3 中世紀的宇宙模型 13
1.4 八卦中的秘密 14
1.5 另一個蘋果 16
1.6 神經(jīng)網(wǎng)絡(luò)發(fā)展 20
1.7 新時代的煉金術(shù) 21
1.8 深度學習和大數(shù)據(jù) 22
1.9 最后的圍棋大師 23
本章小結(jié) 24
習題 24
第二章 學習在于實踐-編程環(huán)境和基礎(chǔ) 25
2.1編程環(huán)境管家-Anaconda管理工具 25
2.1.1 Anaconda 簡介 25
2.1.2 如何安裝 25
2.1.3 環(huán)境管理 28
2.2簡明膠水語言-Python 29
2.2.1 簡介 29
2.2.2 安裝 29
2.2.3 基礎(chǔ)語法 30
2.2.4 解決兔子繁殖問題 35
2.3 面向數(shù)組的計算-NumPy 36
2.3.1 簡介 36
2.3.2 安裝 36
2.3.3 基礎(chǔ)語法 37
2.3.4 案例 38
2.4 機器學習百寶箱-Sklearn 41
2.4.1 簡介 41
2.4.2 安裝 41
2.5 大道至簡-keras 42
2.5.1 簡介 42
2.5.2 安裝 42
本章小結(jié) 43
習題 43
第三章 窮舉的魅力-搜索 44
3.1驢友的困惑-經(jīng)典旅行問題 44
3.1.1 七橋問題 44
3.1.2 旅行商問題 45
3.1.3 迷宮問題 46
3.2搜索的積木-基礎(chǔ)數(shù)據(jù)結(jié)構(gòu) 46
3.2.1 樹 46
3.2.2 圖 47
3.2.3 !49
3.2.4 優(yōu)先隊列 50
3.3林深時見鹿-深度優(yōu)先搜索 51
3.3.1 寬度優(yōu)先搜索簡介 51
3.3.2 使用DFS解決七橋問題 54
3.3.3 使用DFS解決旅行商問題 55
3.3.4 使用DFS解決迷宮問題 57
3.4近水樓臺先得月-廣度優(yōu)先搜索 59
3.4.1 廣度優(yōu)先搜索簡介 59
3.4.2使用BFS解決七橋問題 59
3.4.3 使用BFS解決旅行商問題 59
3.4.4 使用BFS解決迷宮問題 60
本章小結(jié) 60
習題 60
第四章 計算機里的物競天擇-進化算法 61
4.1 生物的演化規(guī)律-物種起源 61
4.2程序的優(yōu)化方法-遺傳算法 61
4.2.1 遺傳學的啟發(fā) 61
4.2.2 遺傳定律 62
4.2.3 遺傳算法 62
4.3基因優(yōu)化的模擬-交叉變異 64
4.3.1 基因的二進制表示 64
4.3.2 適應度的選擇方法 65
4.3.3 基因交叉計算 66
4.3.4 基因變異 67
4.4更高級的程序優(yōu)化-進化算法 67
4.4.1 進化算法原理 67
4.4.2 數(shù)值優(yōu)化應用實踐 67
4.4.3 進化算法庫Geatpy 69
4.5橫看成嶺側(cè)成峰-多目標優(yōu)化 72
4.5.1 帕累托最優(yōu) 73
4.5.2 多目標優(yōu)化算法 73
4.5.3 多目標優(yōu)化實踐 73
4.6麻雀雖小五臟俱全-其它進化算法 75
4.6.1 粒子群優(yōu)化算法 75
4.6.2 蟻群算法 76
本章小結(jié) 77
習題 77
第五章 數(shù)據(jù)即規(guī)律-統(tǒng)計學習 78
5.1 潤物細無聲-教師和學習 78
5.2 理想中的世界-線性模型 80
5.3 物以類聚,人以群分-聚類 86
5.4 如何做出選擇-決策樹 87
5.5 維度的秘密-支持向量機 90
5.6 三個臭皮匠頂個諸葛亮--集成機器學習 93
5.7 本章小結(jié) 94
5.8 習題 95
第六章 描述萬物的規(guī)律-神經(jīng)網(wǎng)絡(luò) 96
6.1 最簡單的神經(jīng)網(wǎng)絡(luò)模型-感知機 96
6.2 神經(jīng)網(wǎng)絡(luò)的核心-非線性激活函數(shù) 97
6.3 感知機的缺陷-解決找茬(異或)難題 99
6.4 萬能的神經(jīng)網(wǎng)絡(luò)-通用函數(shù)擬合 103
6.5 魔方缺了一面-利用反向傳播求解神經(jīng)網(wǎng)絡(luò) 106
6.6 構(gòu)建神經(jīng)網(wǎng)絡(luò)的積木-keras API函數(shù) 109
6.7 開始動手-神經(jīng)網(wǎng)絡(luò)應用 112
本章小結(jié) 116
習題 116
第七章 抽象的威力-深度學習 117
7.1被麻醉的貓-生物視覺原理 117
7.2深度學習的視覺-CNN模型 118
7.2.1 彩色圖片數(shù)據(jù)組成 119
7.2.2 CNN是怎么工作的 119
7.2.3 CNN學到了什么 122
7.2.4 CNN應用實例—貓狗大戰(zhàn) 123
7.3瞻前顧后的深度模型-RNN 130
7.3.1 RNN模型結(jié)構(gòu) 130
7.3.2 往前看和往后看——雙向RNN 132
7.3.3 RNN的其他應用 132
7.4 最大的煩惱就是記性太好-長短期記憶網(wǎng)絡(luò) 132
7.4.1 梯度消失和梯度爆炸問題 132
7.5 本章小結(jié) 140
7.6 習題 140
7.7 拓展閱讀 141
第八章 深度學習的集市 142
8.1學會識別不同的圖像-圖像分類 142
8.2尋找物體的相框-目標檢測 150
8.2.1 數(shù)據(jù)集 150
8.2.2 基本原理 152
8.2.3 知名目標檢測模型 153
8.3學會區(qū)分不同的物體邊界-語義分割 158
8.3.1 數(shù)據(jù)集 158
8.3.2 基本原理 161
8.3.3 知名語義分割模型 161
本章小結(jié) 163
習題 163
第九章 基于關(guān)系的網(wǎng)絡(luò)-GNN 164
9.1 關(guān)系的表述-又是圖結(jié)構(gòu) 164
9.1.1 靈活處理非歐數(shù)據(jù)的GNN 164
9.1.2 定義及概念介紹 165
9.2解決社交問題-原理和實踐 167
9.2.1 GCN原理介紹 167
9.2.2 GCN的應用——微博用戶性別預測(節(jié)點分類) 167
9.2.3 GCN的應用——閑魚垃圾評論識別(邊分類) 169
9.2.4 基于keras的GCN代碼解析 171
9.3 改進GCN模型-GAT原理及應用 179
9.3.1 GAT原理介紹 179
9.3.2 GAT的應用——微博用戶性別預測 180
9.3.3 基于keras的GAT代碼解析 181
本章小結(jié) 184
習題 184
拓展閱讀 184
第十章 巴甫洛夫的狗-智能體學習 185
10.1 靈感來源-反射學習 185
10.2 向狗學習-強化學習 185
10.2.1 發(fā)展歷程 185
10.2.2 強化學習范式 186
10.2.3 值函數(shù)與策略函數(shù) 189
10.2.4 MDP求解方法 190
10.3 實現(xiàn)強化學習-兩種策略 191
10.3.1 Off-policy學習 191
10.3.2 On-policy學習 191
10.4 引入萬能的神經(jīng)網(wǎng)絡(luò)-深度強化學習 192
10.4.1 基于值函數(shù)的方法 193
10.4.2 基于策略梯度方法 193
10.5 解決更復雜的問題-分布式強化學習 194
10.5.1 Impala 194
10.5.2 SeedRL 195
10.5.3 Ape-X 196
10.5.4 Acme 196
10.6 史上最強大的狗-阿爾法狗(AlphaGo) 196
10.6.1 圍棋簡介 196
10.6.2 AlphaGo算法運行原理 197
10.6.3 與AlphaGo下棋小例子 199
10.7 走向更強-高級強化學習 200
10.7.1 分層強化學習 200
10.7.2 逆強化學習 200
10.7.3 元強化學習 201
10.7.4 多智能體強化學習 201
本章小結(jié) 202
第十一章 學會藝術(shù)創(chuàng)作-生成學習 203
11.1 和梵高學習畫畫-風格遷移模型 203
11.1.1 深度學習作畫 203
11.1.2 第 一個風格遷移神經(jīng)網(wǎng)絡(luò) 205
11.1.3 固定風格任意內(nèi)容的快速風格遷移 206
11.1.4 基于keras實現(xiàn)的Gatys風格遷移模型 207
11.2 失業(yè)的畫家-生成對抗網(wǎng)絡(luò) 214
11.2.1 對抗生成模型GAN 214
11.2.2 GAN原理解析 214
11.2.3 基于DCGAN的手寫體數(shù)字生成 217
11.3 深度學習也“脆弱”-對抗攻擊 221
11.4復活的唐詩-大規(guī)模預訓練模型 223
11.4.1 大規(guī)模預訓練”語言模型 223
11.4.2 BERT和GPT原理淺析 225
11.4.3 基于BERT和GPT的詩歌生成 226
本章小結(jié) 227
習題 227
拓展閱讀 227
第十二章 學習使我快樂-自動學習 228
12.1 如何實現(xiàn)自動學習-AutoML原理 228
12.1.1 算法模型選擇 229
12.1.2 超參數(shù)優(yōu)化 230
12.1.3 網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化 234
12.2 動手實踐-AutoML實例 234
12.2.1 Auto-sklearn 234
12.2.2 分布式H2O 235
12.3 自動深度學習-AutoDL 236
12.3.1 深度學習概述 236
12.3.2 深度學習參數(shù)調(diào)節(jié) 236
12.4 自動強化學習-AutoRL 237
12.5 自動圖神經(jīng)網(wǎng)絡(luò)-AutoGL 238
12.5.1 圖神經(jīng)網(wǎng)絡(luò)簡介 238
12.5.2 自動圖神經(jīng)網(wǎng)絡(luò) 239
本章小結(jié) 242
參考文獻 243