深度學習:從零基礎快速入門到項目實踐(簡體書)
商品資訊
系列名:跟我一起學人工智能
ISBN13:9787302668602
出版社:清華大學出版社(大陸)
作者:文青山
出版日:2024/08/01
裝訂/頁數:平裝/520頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
本書從Python基礎入手,循序漸進地講到機器學習、深度學習等領域的算法原理和代碼實現,在學習算法理論的同時也強調了代碼工程能力的逐步提高。
本書共6個章,第1章從零基礎介紹Python基礎語法、Python數據處理庫NumPy、Pandas、Matplotlib、OpenCV的使用;第2章主要介紹機器學習算法的原理並配有代碼實例,方便在理解原理的同時也能寫出代碼;第3章主要介紹深度學習框架TensorFlow、Keras、PyTorch的API和網絡模型的搭建方法,力保讀者能夠掌握主流深度學習框架的使用;第4章主要介紹CNN卷積神經網絡各種卷積的特性,並同時代碼實戰了多個經典分類網絡;第5章介紹目標檢測領域中多個經典算法的原理,並配套展現了代碼調試的過程,將算法原理與代碼進行了結合,方便更深入地理解算法原理;第6章分享深度學習項目的分析和實現過程。
本書精心設計的算法原理講解、代碼實現,不僅適合對深度學習感興趣的初學者,同時對高校學生、教師、相關技術人員、研究人員及從事深度學習工程師都有參考價值。
作者簡介
文青山,項目經理,從事IoT、人工智能等領域的質量管理和研發工作十余年,擁有豐富的研發及團隊管理經驗,曾主導過CMMI3及ISO 9001質量體系認證,曾供職比亞迪、國泰安、隨手科技等公司,在深度學習工程實戰、軟件質量管理、軟件研發管理等領域擁有豐富的經驗。
名人/編輯推薦
本書是一本深入淺出的深度學習入門指南,旨在幫助讀者快速入門深度學習。本書從Python的基礎開始,逐步引導讀者步入機器學習和深度學習的世界。為了確保每個知識點都能被充分理解和掌握,本書提供了詳細的示例代碼供讀者調試運行,以期更好地理解算法,同時也提供配套PPT和源碼下載供讀者參考,通過閱讀調試這些代碼可以更好地理解算法原理,並加深對知識的理解。
序
如何學習深度學習呢?
針對這個問題也許每個人都有不同的觀點,本書編排的目錄也就是筆者的學習過程。
大概是在2022年的某一天,很偶然接觸到這個領域,剛開始時沒有什麼信心,不知自己能否入門,因為對這個領域十分陌生,聽起來也非常高端,隨便翻翻書,密密麻麻的數學公式看得人頭暈眼花,一籌莫展。
本著複雜的知識如果工作需要,則一定要搞懂的心態,立志後堅定地開始了密集的學習,學習的過程是有點忙碌的,每天研究原理和看代碼直到深夜,周末也沒有休息時間。好在經過一個多月的努力,原來複雜的原理似乎懂了一些,根據原理看開源的代碼也沒有那麼痛苦了,也可以根據工作需要修改開源的代碼實現某些功能,雖然還有一點云裡霧裡的感覺,但至少已經邁出了重要的一步。
趕巧2022年年底在家被閉關半個月。閑著無聊突發奇想重寫一些經典模型的代碼,以加深對於經典算法的理解,於是完成了本書大部分代碼的主體。
然後又在機緣巧合之下跟清華大學出版社的編輯加上了好友,聊著聊著就討論到了如何學習深度學習,如何用最短的時間入門深度學習,後來也就有了寫本書的想法。
因為定位零基礎入門,所以從Python基礎知識入手並逐步深入機器學習、卷積神經網絡、目標檢測等經典算法。為了更好地理解這些知識,並在學習過程中逐步提高代碼編寫能力,本書沒有調用知名第三方庫實現算法或直接解析開源代碼,這是因為第三方庫和開源代碼往往將細節隱藏得很好,不利於初學者掌握基本原理及代碼實現的技巧。本書中的每個例子的每行代碼都經過測試,很有參考意義。
至於閱讀本書是否需要很強的數學背景,個人感覺讀者只要會求導就行。本書涉及的數學知識有些看起來不夠“嚴謹”,因為基本上對複雜的數學公式已經通過數值代入進行了“破壞性”計算,有著很詳細的步驟,這樣做的目的是使讀者更好地理解背後的原理。在編程的世界裡,複雜的數學公式很多時候就是一個Python函數。作為應用方,個人覺得怎麼算、嚴不嚴謹,不是很重要的,重要的是理解它背後做了什麼事,以及意義是什麼。
本書主要內容
第1章從零基礎介紹Python基礎語法、Python數據處理庫NumPy、Pandas、Matplotlib、OpenCV的使用。
第2章主要介紹機器學習算法的原理並配有代碼實例,方便在理解原理的同時也能寫出代碼。
第3章主要介紹深度學習框架TensorFlow、Keras、PyTorch的API和網絡模型的搭建方法,力保讀者能夠掌握主流深度學習框架的使用。
第4章主要介紹卷積神經網絡各種卷積的特性,並通過代碼實現了多個經典分類網絡。
第5章主要介紹目標檢測領域中的多個經典算法的原理,並配套展現了代碼調試的過程,將算法原理與代碼進行結合,方便讀者更深入地理解算法原理。
第6章主要分享深度學習項目的分析和實現過程。
閱讀建議
本書是一本深入淺出的深度學習入門指南,旨在幫助讀者快速入門深度學習,所以本書從Python的基礎開始講解,逐步引導讀者步入機器學習和深度學習的世界。為了確保每個知識點都能被充分理解和掌握,本書也提供了詳細的示例代碼供讀者調試運行,以期更好地理解算法,同時也提供了配套PPT和源碼供讀者參考,通過閱讀及調試這些代碼可以更好地理解算法原理,並加深對知識的理解。掃描目錄上方二維碼,可獲取本書配套資源。
以下是一些閱讀建議。
(1) 全面理解: 從第1章開始,確保對Python的基礎語法和數據處理庫有足夠的了解,這是學習後續章節的基礎。
(2) 理論與實踐並重: 第2章深入講解機器學習算法的原理,並通過配套的代碼實例進行練習,幫助讀者更好地掌握這些概念。
(3) 熟悉深度學習框架: 第3章介紹TensorFlow、Keras和PyTorch等深度學習框架的API和模型搭建的方法,這些庫的應用是構建深度學習代碼的關鍵工具。
(4) 深化CNN知識: 第4章深入講解卷積神經網絡的各種特性,並通過實戰項目來進一步理解分類網絡的工作原理。
(5) 目標檢測的應用: 第5章詳細描述目標檢測領域經典算法的原理,以及算法原理關鍵的實現代碼,嘗試理解並調試這些代碼,可以加深對於算法的理解與應用。
(6) 項目分析與實現: 第6章講解如何分析和實施深度學習項目,這將幫助讀者將前面所學的知識應用於實際業務場景。
(7) 定期復習: 定期回顧之前的學習內容是非常重要的。可以創建一個學習計劃,包括定期復習和實踐編程任務。也可參考每節的總結和練習任務。
(8) 擴展閱讀: 如果可能,則可以利用其他資源(如書籍、在線課程和博客文章)來補充本書的內容,以獲得更豐富的視角和深入的見解。
無論你是初學者還是有一定基礎的學習者都可以通過閱讀本書,並結合本書提供的學習路線、代碼資源等更好地提升自己。
致謝
感謝清華大學出版社趙佳霓編輯的耐心和支持!感謝我的家人,尤其是我的愛人祁超超女士在本書寫作過程中的支持和鼓勵!
由於時間倉促,書中難免存在不妥之處,請讀者見諒並指正。
文青山
2024年6月
目次
教學課件(PPT)
本書源碼
第1章Python編程基礎
1.1環境搭建
1.2基礎數據類型
1.2.1數值型
1.2.2字符串
1.2.3元組
1.2.4列表
1.2.5字典
1.2.6集合
1.2.7數據類型的轉換
1.3條件語句
1.4循環語句
1.5函數
1.6類
1.7文件處理
1.8異常處理
1.9模塊與包
1.10包的管理
1.11NumPy簡介
1.11.1NDArray的創建
1.11.2NDArray索引與切片
1.11.3NDArray常用運算函數
1.11.4NDArray廣播機制
1.12Pandas簡介
1.12.1Pandas物件的創建
1.12.2Pandas的索引與切片
1.12.3Pandas常用統計函數
1.12.4Pandas文件操作
1.13Matplotlib簡介
1.13.1Matplotlib基本使用流程
1.13.2Matplotlib繪直方圖、餅圖等
1.13.3Matplotlib繪三維圖像
1.14OpenCV簡介
1.14.1圖片的讀取和存儲
1.14.2畫矩形、圓形等
1.14.3在圖中增加文字
1.14.4讀取視頻或攝像頭中的圖像
第2章機器學習基礎
2.1HelloWorld之KNN算法
2.1.1KNN算法原理
2.1.2KNN算法代碼實現
2.2梯度下降
2.2.1什麼是梯度下降
2.2.2梯度下降的代碼實現
2.2.3SGD、BGD和MBGD
2.2.4Momentum優化算法
2.2.5NAG優化算法
2.2.6AdaGrad優化算法
2.2.7RMSProp優化算法
2.2.8AdaDelta優化算法
2.2.9Adam優化算法
2.2.10學習率的衰減
2.3線性回歸
2.3.1梯度下降求解線性回歸
2.3.2梯度下降求解多元線性回歸
2.4邏輯回歸
2.4.1最大似然估計
2.4.2梯度下降求解邏輯回歸
2.5聚類算法
2.6神經網絡
2.6.1什麼是神經網絡
2.6.2反向傳播算法
2.6.3Softmax反向傳播
2.7欠擬合與過擬合
2.8正則化
2.9梯度消失與梯度爆炸
第3章深度學習框架
3.1基本概念
3.2環境搭建
3.3TensorFlow基礎函數
3.3.1TensorFlow初始類型
3.3.2TensorFlow指定設備
3.3.3TensorFlow數學運算
3.3.4TensorFlow維度變化
3.3.5TensorFlow切片取值
3.3.6TensorFlow中gather取值
3.3.7TensorFlow中布爾取值
3.3.8TensorFlow張量合並
3.3.9TensorFlow網格坐標
3.3.10TensorFlow自動求梯度
3.4TensorFlow中的Keras模型搭建
3.4.1tf.keras簡介
3.4.2基於tf.keras.Sequential模型搭建
3.4.3繼承tf.keras.Model類模型搭建
3.4.4函數式模型搭建
3.5TensorFlow中模型的訓練方法
3.5.1使用model.fit訓練模型
3.5.2使用model.train_on_batch訓練模型
3.5.3自定義模型訓練
3.6TensorFlow中Metrics評價指標
3.6.1準確率
3.6.2精確率
3.6.3召回率
3.6.4PR曲線
3.6.5F1Score
3.6.6ROC曲線
3.6.7AUC曲線
3.6.8混淆矩陣
3.7TensorFlow中的推理預測
3.8PyTorch搭建神經網絡
3.8.1PyTorch中將數據轉換為張量
3.8.2PyTorch指定設備
3.8.3PyTorch數學運算
3.8.4PyTorch維度變化
3.8.5PyTorch切片取值
3.8.6PyTorch中gather取值
3.8.7PyTorch中布爾取值
3.8.8PyTorch張量合並
3.8.9PyTorch模型搭建
3.8.10PyTorch模型自定義訓練
3.8.11PyTorch調用Keras訓練
3.8.12PyTorch調用TorchMetrics評價指標
3.8.13PyTorch中推理預測
第4章卷積神經網絡
4.1卷積
4.1.1為什麼用卷積
4.1.2單通道卷積計算
4.1.3多通道卷積計算
4.1.4卷積padding和valid
4.1.5感受野
4.1.6卷積程序計算過程
4.2池化
4.3卷積神經網絡的組成要素
4.4常見卷積分類
4.4.1分組卷積
4.4.2逐點卷積
4.4.3深度可分離卷積
4.4.4空間可分離卷積
4.4.5空洞卷積
4.4.6轉置卷積
4.4.7可變形卷積
4.5卷積神經網絡LeNet5
4.5.1模型介紹
4.5.2代碼實戰
4.6深度卷積神經網絡AlexNet
4.6.1模型介紹
4.6.2代碼實戰
4.7使用重復元素的網絡VGG
4.7.1模型介紹
4.7.2代碼實戰
4.8合並連接網絡GoogLeNet
4.8.1模型介紹
4.8.2代碼實戰
4.9殘差網絡ResNet
4.9.1殘差塊
4.9.2歸一化
4.9.3模型介紹
4.9.4代碼實戰
4.10輕量級網絡MobiLeNet
4.10.1模型介紹
4.10.2注意力機制
4.10.3代碼實戰
4.11輕量級網絡ShuffLeNet
4.11.1模型介紹
4.11.2代碼實戰
4.12重參數網絡RepVGGNet
4.12.1模型介紹
4.12.2代碼實戰
第5章目標檢測
5.1標籤處理及代碼
5.2開山之作RCNN
5.2.1模型介紹
5.2.2代碼實戰選擇區域搜索
5.2.3代碼實戰正負樣本選擇
5.2.4代碼實戰特徵提取
5.2.5代碼實戰SVM分類訓練
5.2.6代碼實戰邊界框回歸訓練
5.2.7代碼實戰預測推理
5.3兩階段網絡Faster RCNN
5.3.1模型介紹
5.3.2代碼實戰RPN、ROI模型搭建
5.3.3代碼實戰RPN損失函數及訓練
5.3.4代碼實戰ROI損失函數及訓練
5.3.5代碼實戰預測推理
5.4單階段多尺度檢測網絡SSD
5.4.1模型介紹
5.4.2代碼實戰模型搭建
5.4.3代碼實戰建議框的生成
5.4.4代碼實戰損失函數的構建及訓練
5.4.5代碼實戰預測推理
5.5單階段速度快的檢測網絡YOLOv1
5.5.1模型介紹
5.5.2代碼實戰模型搭建
5.5.3無建議框時標注框編碼
5.5.4代碼實現損失函數的構建及訓練
5.5.5代碼實戰預測推理
5.6單階段速度快的檢測網絡YOLOv2
5.6.1模型介紹
5.6.2代碼實戰模型搭建
5.6.3代碼實戰聚類得到建議框寬和高
5.6.4代碼實戰建議框的生成
5.6.5代碼實現損失函數的構建及訓練
5.6.6代碼實戰預測推理
5.7單階段速度快多檢測頭網絡YOLOv3
5.7.1模型介紹
5.7.2代碼實戰模型搭建
5.7.3代碼實戰建議框的生成
5.7.4代碼實現損失函數的構建及訓練
5.7.5代碼實戰預測推理
5.8單階段速度快多檢測頭網絡YOLOv4
5.8.1模型介紹
5.8.2代碼實戰模型搭建
5.8.3代碼實戰建議框的生成
5.8.4代碼實現損失函數的構建及訓練
5.8.5代碼實戰預測推理
5.9單階段速度快多檢測頭網絡YOLOv5
5.9.1模型介紹
5.9.2代碼實戰模型搭建
5.9.3代碼實戰建議框的生成
5.9.4代碼實現損失函數的構建及訓練
5.9.5代碼實戰預測推理
5.10單階段速度快多檢測頭網絡YOLOv7
5.10.1模型介紹
5.10.2代碼實戰模型搭建
5.10.3代碼實戰建議框的生成
5.10.4代碼實現損失函數的構建及訓練
5.10.5代碼實戰預測推理
5.11數據增強
5.11.1數據增強的作用
5.11.2代碼實現CutOut數據增強
5.11.3代碼實現MixUp數據增強
5.11.4代碼實現隨機復制Label數據增強
5.11.5代碼實現Mosic數據增強
第6章項目實戰
6.1計算機視覺項目的工作流程
6.2條形碼項目實戰
6.2.1項目背景分析
6.2.2整體技術方案
6.2.3數據分布分析
6.2.4參數設置
6.2.5訓練結果分析
6.2.6OpenCV DNN實現推理
參考文獻
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。