本書聚焦近期涌現(xiàn)的人工智能、機器人工程、智能醫(yī)學工程等新工科專業(yè)對于人才培養(yǎng)的實際需求,著力解決人工智能基礎知識交叉貫通不足、配套實驗實踐支撐不強等問題。書中主要內(nèi)容包括Python編程基礎、神經(jīng)網(wǎng)絡基礎、深度學習計算框架、卷積神經(jīng)網(wǎng)絡、序列到序列網(wǎng)絡、目標檢測及其應用、語義分割及其應用等。
本書結合高等院校人工智能相關專業(yè)的知識體系,將基礎知識和編程實踐相結合,通過代碼實例分析,使得基礎知識變得直觀易懂;通過基礎Python編程和PyTorch框架編程的結合進行實踐,適應互聯(lián)網(wǎng)時代共享代碼的社區(qū)生態(tài)需求;通過綜合實踐例程,使讀者經(jīng)歷知識學習、數(shù)據(jù)準備、代碼編寫、參數(shù)調(diào)試、結果分析等過程,在掌握相關技術的同時提高學習興趣。
本書可滿足高等院校人工智能相關專業(yè)的學生學習基礎知識及實踐創(chuàng)新的需求,也可為電子、信息等相關領域的從業(yè)者轉(zhuǎn)型人工智能領域提供入門學習資料。
本教材是基于山東大學人工智能、機器人工程、智能醫(yī)學工程等新工科專業(yè)建設,特別是“人工智能與機器人”新工科實驗班的教學育人實踐,因此本教材有著扎實的理論功底和實踐基礎,是一本理實結合的、有特色的新工科教材。
本教材的編寫專注于人工智能*前沿的深度學習技術。結合大學相關專業(yè)知識體系的構成,將理論和代碼相結合,通過代碼的可視化,使得理論知識變得直觀有趣;介紹應用*廣泛的Pytorch框架為主,滿足新型互聯(lián)網(wǎng)時代共享代碼的社區(qū)生態(tài)需求;本教材包含綜合實踐項目,使同學經(jīng)歷知識學習、編程測試、實際部署、效果展示等過程,在掌握技術的同時提高興趣。
近年來,受益于硬件計算能力的跨越式提升和海量數(shù)據(jù)的涌現(xiàn),神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡、深度學習等理論算法得以高效實現(xiàn)并不斷優(yōu)化,在人工智能技術和相關產(chǎn)業(yè)應用中的地位和重要性日益提升。2006年,G.E.Hinton研究組有關深層網(wǎng)絡訓練的工作使得深度學習重回大眾視野,該年因此也被稱為深度學習元年。2012年,G.E.Hinton研究組憑借AlexNet在備受關注的ImageNet競賽中強勢奪冠后,基于深度學習的人工智能技術更是迎來爆發(fā)式發(fā)展期,在圖像、語音等領域獲得了優(yōu)異的表現(xiàn),并得到產(chǎn)業(yè)界的廣泛認可和大力推進。
在人工智能算法的實現(xiàn)和部署過程中,有C、C++、Java、Python等高級編程語言可供選擇,其中可讀性好、靈活性強、庫資源豐富的Python語言一直是大部分深度學習和人工智能領域開發(fā)人員的首選。對高等院校及相關行業(yè)的人工智能技術初學者來說,在學習前沿理論知識的同時,結合Python編程語言進行人工智能技術實踐,是加深其對人工智能基礎知識的理解、快速提升其技術開發(fā)能力的有效途徑,因而本書使用Python作為算法實現(xiàn)、實驗實踐的編程語言。
本書聚焦國家新一代人工智能發(fā)展規(guī)劃,面向人工智能、機器人工程、智能醫(yī)學工程等新工科專業(yè)人才培養(yǎng)的實際需求,著力解決人工智能基礎知識交叉不足、理論技術和業(yè)界應用關聯(lián)不緊及實驗實踐教材匱乏、內(nèi)容體系支撐不強等問題,主要內(nèi)容包括Python編程基礎、神經(jīng)網(wǎng)絡基礎、深度學習計算框架、卷積神經(jīng)網(wǎng)絡、序列到序列網(wǎng)絡、目標檢測及其應用、語義分割及其應用等。
本書突出前沿性、實踐性,以深度學習關鍵技術為牽引,設計構建緊貼產(chǎn)業(yè)實際的實踐案例,可滿足高等院校相關專業(yè)的本科生或研究生人工智能基礎知識學習及實踐創(chuàng)新的需求,也可以作為相關行業(yè)技術人員的參考資料。
本書基于山東大學人工智能、機器人工程、智能醫(yī)學工程等新工科專業(yè)建設,特別是“人工智能與機器人”新工科實驗班的教學育人實踐,參考借鑒其他高水平大學人工智能相關專業(yè)知識體系的構成,將基礎知識和編程實踐相結合,通過代碼實例分析,使得基礎知識變得直觀易懂;將基礎Python編程和PyTorch框架編程結合設計實踐內(nèi)容,以適應互聯(lián)網(wǎng)時代共享代碼的社區(qū)生態(tài)需求;通過綜合實踐例程,幫助讀者打通知識學習、數(shù)據(jù)準備、代碼編寫、參數(shù)調(diào)試、結果分析等全鏈條學習過程,在掌握相關技術的同時提高學習興趣。
本書編寫過程中,陳佳銘、曹淑強、孟子喻等十余名研究生參與了本書的校對工作,并對其中的代碼進行了驗證和完善,在此一并致謝!書中的實踐例程多來源于人工智能技術的實際應用,具備良好的經(jīng)濟和社會效益,對于實踐創(chuàng)新將起到良好的啟發(fā)和指導作用。
以深度學習為基礎的人工智能技術發(fā)展得如火如荼,但也面臨諸多的挑戰(zhàn)。希望本書能夠引領讀者打開人工智能技術的大門,不斷開拓創(chuàng)新,在學術界或行業(yè)內(nèi)創(chuàng)造優(yōu)異成果!
張偉,教授,山東大學,畢業(yè)于香港中文大學,現(xiàn)從事人工智能、機器人方面的研究與教學工作。先后主持/參與部省校本科教改項目10項;撰寫“新工科人工智能相關專業(yè)程序設計課程體系設置探討”教研論文并發(fā)表在清華大學主辦的教研期刊《計算機教育》;擔任學院教學指導委員會委員,中國自動化學會智慧教育專委會首屆委員;獲山東省自動化學會教學成果特等獎、山東大學教學成果二等獎等榮譽獎勵。
前言
第1章Python編程基礎
1.1Python簡介
1.2Python安裝與運行
1.3Python基礎編程
1.3.1標識符
1.3.2注釋
1.3.3行和縮進
1.3.4變量和數(shù)據(jù)類型
1.3.5基本計算
1.3.6數(shù)據(jù)結構
1.3.7控制語句
1.3.8函數(shù)
1.3.9模塊
1.4Python面向?qū)ο缶幊?br>1.4.1類
1.4.2繼承機制
1.4.3類變量與方法的屬性
1.5Python常用庫介紹
1.5.1NumPy庫
1.5.2Matplotlib庫
1.6小結
參考文獻
第2章神經(jīng)網(wǎng)絡基礎
2.1感知機模型
2.2神經(jīng)網(wǎng)絡模型
2.2.1神經(jīng)網(wǎng)絡的架構
2.2.2激活函數(shù)
2.3神經(jīng)網(wǎng)絡學習原理
2.3.1數(shù)據(jù)集的準備
2.3.2損失函數(shù)
2.3.3小批量學習
2.3.4梯度下降法
2.3.5誤差反向傳播算法
2.4神經(jīng)網(wǎng)絡學習實踐
2.4.1設計神經(jīng)網(wǎng)絡類
2.4.2小批量學習的實現(xiàn)
2.5神經(jīng)網(wǎng)絡學習技巧
2.5.1優(yōu)化方法的選擇
2.5.2權重初始值的設定
2.5.3批量歸一化
2.5.4正則化方法
2.5.5數(shù)據(jù)增強
2.6小結
參考文獻
第3章深度學習計算框架
3.1常用深度學習計算框架簡介
3.2GPU加速配置
3.3PyTorch安裝
3.4張量
3.4.1張量的概念
3.4.2張量的基本操作
3.5動態(tài)計算圖
3.6神經(jīng)網(wǎng)絡層和模塊
3.7PyTorch神經(jīng)網(wǎng)絡學習實踐
3.8小結
參考文獻
第4章卷積神經(jīng)網(wǎng)絡
4.1卷積神經(jīng)網(wǎng)絡的基本原理
4.1.1卷積神經(jīng)網(wǎng)絡的基本架構
4.1.2卷積運算
4.1.3卷積運算實例:邊緣檢測
4.1.4卷積層及其代碼實現(xiàn)
4.1.5填充
4.1.6步幅
4.1.7池化
4.2經(jīng)典卷積神經(jīng)網(wǎng)絡模型
4.2.1數(shù)據(jù)集的準備
4.2.2Pipeline
4.2.3LeNet
4.2.4AlexNet
4.2.5VGG
4.2.6GoogLeNet
4.2.7ResNet
4.3小結
參考文獻
第5章序列到序列網(wǎng)絡
5.1循環(huán)神經(jīng)網(wǎng)絡(RNN)
5.1.1RNN的基本原理
5.1.2RNN的簡單實現(xiàn)
5.2長短期記憶網(wǎng)絡(LSTM)
5.2.1LSTM的基本原理
5.2.2LSTM的簡單實現(xiàn)
5.3Transformer網(wǎng)絡
5.3.1自注意力層
5.3.2Transformer網(wǎng)絡結構
5.3.3Vision Transformer(ViT)網(wǎng)絡
5.4小結
參考文獻
第6章目標檢測及其應用
6.1目標檢測的基本概念
6.1.1邊界框
6.1.2錨框
6.1.3交并比
6.1.4NMS操作
6.1.5評價指標
6.2常用的目標檢測算法
6.2.1區(qū)域卷積神經(jīng)網(wǎng)絡(R-CNN)系列
6.2.2YOLO系列
6.3實踐案例:行人檢測
6.3.1基于Faster R-CNN的行人檢測
6.3.2基于YOLO v5的行人檢測
6.3.3YOLO v5與Faster R-CNN算法對比
6.4小結
參考文獻
第7章語義分割及其應用
7.1語義分割的基本概念
7.1.1語義分割任務描述
7.1.2上采樣
7.1.3膨脹卷積
7.1.4定義損失函數(shù)
7.1.5評價指標
7.2語義分割網(wǎng)絡
7.2.1FCN
7.2.2U-Net架構
7.2.3DeepLab系列
7.3實踐案例:城市街景分割
7.3.1實踐Pipeline
7.3.2算法對比分析
7.4小結
參考文獻