深度學習技術圖像處理入門 ( 簡體 字) |
作者:楊培文、胡博強 | 類別:1. -> 程式設計 -> 深度學習 2. -> 教材 -> 數位影像處理 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 50055 詢問書籍請說出此書號!【有庫存】 NT售價: 345 元 |
出版日:10/1/2018 |
頁數:255 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302511021 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:回想2017年4月,當清華大學出版社的編輯找到楊培文和我,商量著寫一本與深度學習相關的書時,我還是比較缺乏信心的。首先,自己本專業是基因組學,或者說是生物學,機器學習方面的知識都是自學的。其次,我根本就沒有寫過書,由我參與撰寫,可能是班門弄斧,內容有誤都是小事,萬一寫的內容給讀者灌輸了錯誤的觀念、在大方向上誤導了初學階段的讀者,實在是難辭其咎。 出版社方面同樣了解我們的情況,跟我們說出版社這次想出一本面向非數學、計算機相關專業的書,希望語言更加通俗易懂,例子更貼近實際項目,讓非專業出身的人看了以后,對機器學習、圖像處理以及深度學習三者有一個最基本的認識。這里,我經常向生物、醫學專業背景的人解釋機器學習模型的原理,而培文則有多次數據分析競賽名列前茅的經歷,因此出版社希望我們兩位嘗試一下。 所以接下來編寫書籍的過程中,我們的定位就是相比現在市面上主流的相關書籍,前幾章寫得更加通俗,把入門的門檻再降低一些;然后后面的章節基于參加數據分析競賽的實戰過程,把最終的目標再定高一些;最后我們的配套代碼以及環境要讓初學者可以很容易地跑起來,把書籍的內容落在實際運用中。 我們希望這本書可以讓非科班出身的讀者快速了解深度學習的基本原理,將相關技術舉一反三,運用在自己的課題、項目中。以我自己為例,在書籍編寫完成后的審閱過程中,我仔細閱讀了培文撰寫的運用循環神經網絡進行驗證碼識別這一章節(第10章)的內容,后來參加百度AI挑戰賽時,最初的模型就是培文整理的配套代碼,后來經過調整,最后取得了第二名的成績。 最后一點,閱讀本書,需要讀者具有基本的Python編程基礎,以及科學計算相關模塊的了解。這部分內容本書并未涉及,但讀者可以通過斯坦福大學cs228 相關配套入門習題進行簡單的了解,我們對此進行了漢化。 在此感謝景略集智的王文凱、柯希陽在書籍編寫過程中提供的幫助。
胡博強 2018年7月18日 |
內容簡介:本書從機器學習、圖像處理的基本概念入手,逐步闡述深度學習圖像處理技術的基本原理以及簡單的實現。繼而以幾個實戰案例來介紹如何使用深度學習方法,在數據分析競賽中取得較高的排名。最后,通過一個實戰案例,介紹如何將模型放入 iOS 程序,制作相應的人工智能手機App。 本書適用于對深度學習有興趣、希望入門這一領域的理工科大學生、研究生,以及希望了解該領域基本原理的軟件開發人員。此外,本書所有案例均提供了云環境上的代碼,便于讀者復現結果,并進行深入 學習。 |
目錄:第1章搭建指定的開發環境1 1.1為什么要使用指定的開發環境1 1.2硬件準備2 1.2.1在亞馬遜租用云GPU服務器2 1.2.2在騰訊云租用GPU服務器4 1.2.3在云服務器中開啟搭載開發環境的Docker服務8 1.3軟件準備9 1.3.1在Ubuntu16.04下配置環境9 1.3.2在CentOS7下配置環境12 1.4參考文獻及網頁鏈接12 第2章溫故知新——機器學習基礎知識13 2.1人工智能、機器學習與深度學習13 2.2訓練一個傳統的機器學習模型15 2.2.1第一步,觀察數據16 2.2.2第二步,預覽數據17 2.3數據挖掘與訓練模型29 2.3.1第一步,準備數據29 2.3.2第二步,挖掘數據特征31 2.3.3第三步,使用模型37 2.3.4第四步,代碼實戰44 2.4參考文獻及網頁鏈接49 第3章數形結合——圖像處理基礎知識50 3.1讀取圖像文件進行基本操作51 3.1.1使用python-opencv讀取圖片51 3.1.2借助python-opencv進行不同編碼格式的轉換52 3.1.3借助python-opencv改變圖片尺寸53 3.2用簡單的矩陣操作處理圖像53 3.2.1對圖像進行復制與粘貼53 3.2.2把圖像當成矩陣進行處理——二維碼轉換成矩陣54 3.3使用OpenCV“摳圖”——基于顏色通道以及形態特征59 3.4基于傳統特征的傳統圖像分類方法64 3.4.1將圖片簡化為少數區域并計算每個區域輪廓特征的方向66 3.4.2將HOG變換運用在所有正負樣本中68 3.4.3訓練模型70 3.4.4將訓練好的分類器運用在新的圖片中71 3.5參考文獻及網頁鏈接73 第4章繼往開來——使用深度神經網絡框架74 4.1從邏輯回歸說起74 4.2深度學習框架76 4.3基于反向傳播算法的自動求導77 4.4簡單的深度神經網絡框架實現80 4.4.1數據結構部分81 4.4.2計算圖部分83 4.4.3使用方法85 4.4.4訓練模型86 4.5參考文獻及網頁鏈接89 第5章排列組合——深度神經網絡框架的模型元件90 5.1常用層92 5.1.1Dense92 5.1.2Activation92 5.1.3Dropout93 5.1.4Flatten94 5.2卷積層94 5.2.1Conv2D94 5.2.2Cropping2D101 5.2.3ZeroPadding2D101 5.3池化層102 5.3.1MaxPooling2D102 5.3.2AveragePooling2D102 5.3.3GlobalAveragePooling2D103 5.4正則化層與過擬合104 5.5反卷積層105 5.6循環層109 5.6.1SimpleRNN109 5.6.2LSTM109 5.6.3GRU110 5.7參考文獻及網頁鏈接110 第6章少量多次——深度神經網絡框架的輸入處理112 6.1批量生成訓練數據113 6.2數據增強115 6.3參考文獻及網頁鏈接117 第7章愚公移山——深度神經網絡框架的模型訓練118 7.1隨機梯度下降119 7.2動量法120 7.3自適應學習率算法121 7.4實驗案例124 7.5參考文獻及網頁鏈接128 第8章小試牛刀——使用深度神經網絡進行CIFAR-10數據分類129 8.1上游部分——基于生成器的批量生成輸入模塊131 8.2核心部分——用各種零件搭建深度神經網絡131 8.3下游部分——使用凸優化模塊訓練模型132 8.4參考文獻及網頁鏈接133 第9章見多識廣——使用遷移學習提升準確率134 9.1貓狗大戰1.0——使用卷積神經網絡直接進行訓練135 9.1.1導入數據135 9.1.2可視化137 9.1.3分割訓練集和驗證集138 9.1.4搭建模型140 9.1.5模型訓練141 9.1.6總結142 9.2貓狗大戰2.0——使用ImageNet數據集預訓練模型142 9.2.1遷移學習142 9.2.2數據預處理143 9.2.3搭建模型143 9.2.4模型可視化144 9.2.5訓練模型145 9.2.6提交到kaggle評估146 9.3貓狗大戰3.0——使用多種預訓練模型組合提升表現146 9.3.1載入數據集147 9.3.2使用正確的預處理函數147 9.3.3搭建特征提取模型并導出特征147 9.3.4搭建并訓練全連接分類器模型148 9.3.5在測試集上預測149 9.4融合模型150 9.4.1獲取特征150 9.4.2數據持久化151 9.4.3構建模型151 9.4.4在測試集上預測152 9.5總結153 9.6參考文獻及網頁鏈接154 第10章看圖識字——使用深度神經網絡進行文字識別155 10.1使用卷積神經網絡進行端到端學習155 10.1.1編寫數據生成器157 10.1.2使用生成器157 10.1.3構建深度卷積神經網絡158 10.1.4模型可視化158 10.1.5訓練模型160 10.1.6計算模型總體準確率161 10.1.7測試模型161 10.1.8模型總結162 10.2使用循環神經網絡改進模型162 10.2.1CTCLoss163 10.2.2模型結構164 10.2.3模型可視化165 10.2.4數據生成器167 10.2.5評估模型168 10.2.6評估回調169 10.2.7訓練模型169 10.2.8測試模型171 10.2.9再次評估模型171 10.2.10總結173 10.3識別四則混合運算驗證碼(初賽)173 10.3.1問題描述174 10.3.2數據集探索174 10.3.3模型結構176 10.3.4結果可視化181 10.3.5總結182 10.4識別四則混合運算驗證碼(決賽)183 10.4.1問題描述183 10.4.2數據集探索184 10.4.3數據預處理186 10.4.4模型結構192 10.4.5生成器195 10.4.6模型的訓練197 10.4.7預測結果198 10.4.8模型結果融合199 10.4.9其他嘗試200 10.4.10小結202 10.5參考文獻及網頁鏈接203 第11章見習醫生——使用全卷積神經網絡分割病理切片中的癌組織205 11.1任務描述205 11.1.1賽題設置205 11.1.2數據描述206 11.1.3數據標注206 11.2總體思路206 11.3構造模型207 11.3.1準備數據208 11.3.2構建模型214 11.3.3模型優化217 11.4程序執行225 11.5模型結果可視化226 11.5.1加載函數226 11.5.2選擇驗證集并編寫預測函數226 11.5.3根據tensorborad可視化結果選擇最好的模型228 11.5.4嘗試逐步降低學習率230 11.6觀察模型在驗證集上的預測表現231 11.7參考文獻及網頁鏈接234 第12章知行合一——如何寫一個深度學習App235 12.1CAM可視化235 12.2導出分類模型和CAM可視化模型236 12.2.1載入數據集236 12.2.2提取特征237 12.2.3搭建和訓練分類器237 12.2.4搭建分類模型和CAM模型238 12.2.5可視化測試239 12.2.6保存模型241 12.2.7導出mlmodel模型文件241 12.3開始編寫App242 12.3.1創建工程242 12.3.2配置工程244 12.3.3測試工程249 12.3.4運行程序249 12.4使用深度學習模型250 12.4.1將模型導入到工程中250 12.4.2數據類型轉換函數250 12.4.3實施CAM可視化252 12.4.4模型效果254 12.5參考文獻及網頁鏈接255 |
序: |