TensorFlow語音識別實戰 ( 簡體 字) |
作者:王曉華 | 類別:1. -> 程式設計 -> 深度學習 2. -> 程式設計 -> 自然語言 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 54901 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:8/1/2021 |
頁數:256 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302584858 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:自動語音識別(Automatic Speech Recognition,ASR)簡稱為語音識別,是目前科學界、互聯網界和工業界研究的一大技術熱點及重點方向,也是很有前途和廣闊發展空間的一大新興技術領域。語音識別可以看成一種廣義的自然語言處理技術,目的是輔助人與人之間、人與機器之間更有效的交流。語音識別目前已經應用在人們生活中的各個方面,常用的有文字轉語音、語音轉文字等。 隨著深度學習在圖像處理中獲得成功,科研人員嘗試使用深度學習解決語音識別的問題,因為這兩個領域的相關特征信息都是相對低層次的,可以借助深度學習的強大學習能力學習其中的復雜信息,目前來看這個嘗試是成功的,深度學習同樣能夠幫助語音識別取得長足進步。 本書選用TensorFlow 2.1作為深度學習的框架,從TensorFlow 2的基礎語法開始,到使用TensorFlow 2進行深度學習語音識別程序的設計和實戰編寫,全面介紹使用TensorFlow 2進行語音識別實戰的核心技術及其相關知識,內容全面而翔實。 本書并不是一本簡單的實戰“例題”性圖書,本書在講解和演示實例代碼的過程中,對TensorFlow 2的核心內容進行深入分析,重要內容均結合代碼進行實戰講解,圍繞深度學習基本原理介紹了大量實戰案例,讀者通過這些案例可以深入地了解和掌握深度學習和TensorFlow 2的相關技術,并對使用深度學習進行語音識別進一步掌握。 本書是一本面向初級和中級讀者的優秀教程。通過本書的學習,讀者能夠掌握使用深度學習進行語音識別的基本技術和在TensorFlow 2框架下使用神經網絡的知識要點,掌握從基于深度學習的語音識別模型的構建到語音識別應用程序的編寫這一整套開發技巧。 本書特色 ( 1)重實踐,講原理。本書立足于深度學習,以語音識別實戰為目的進行講解,提供了完整可運行的語音識別全套代碼,并對其基本原理進行講解,讀者可以直接將其應用到實際生產環境中。 ( 2)版本新,易入門。本書詳細介紹TensorFlow 2的安裝及使用、默認API以及官方所推薦的Keras編程方法與技巧。 ( 3)作者經驗豐富,代碼編寫細膩。作者是長期奮戰在科研和工業界的一線算法設計和程序編寫人員,實戰經驗豐富,對代碼中可能會出現的各種問題和“坑”有豐富的處理經驗,使得讀者能夠少走很多彎路。 (4)理論扎實,深入淺出。在代碼設計的基礎上,本書還深入淺出地介紹了深度學習需要掌握的一些基本理論知識,作者通過公式與圖示結合的方式對理論進行介紹,方便讀者快速理解。 ( 5)對比多種應用方案,實戰案例豐富。本書采用了大量的實例,同時提供了一些實現同類功能的其他解決方案,覆蓋了使用TensorFlow 2進行深度學習開發的常用技術。 本書內容及知識體系 本書完整介紹使用TensorFlow 2.1進行語音識別的方法和一些進階教程,基于TensorFlow 2版本的新架構模式和框架進行講解,主要內容如下: 第1章詳細介紹TensorFlow 2版本的安裝方法以及對應的運行環境的安裝,通過一個例子驗證TensorFlow 2的安裝效果,并將其作為貫穿全書學習的主線。同時介紹了TensorFlow 2硬件的采購,記住一塊能夠運行TensorFlow 2 GPU版本的顯卡能讓你的學習和工作事半功倍。 第2章是本書的重點,從模型的設計開始,循序漸進地介紹TensorFlow 2的編程方法,包括結合Keras進行TensorFlow 2模型設計的完整步驟,以及自定義層的方法。本章內容看起來很簡單,卻是本書的基礎和核心精華,讀者一定要反復閱讀,認真掌握所有內容和代碼的編寫方法。 第3章是TensorFlow 2的理論部分,介紹反饋神經網絡的實現和兩個核心算法,通過圖示結合理論公式的方式詳細地介紹理論和原理,并手動實現了一個反饋神經網絡。 第4章詳細介紹卷積神經網絡的原理和各個模型的使用及自定義內容,講解借助卷積神經網絡算法構建一個簡單的CNN模型進行MNIST數字識別。 第5章是TensorFlow 2新版本的數據讀寫部分,詳細介紹使用TensorFlow 2自帶的Dataset API對數據進行序列化存儲,并通過簡單的想法對數據重新讀取,以及調用程序的方法。 第6章介紹ResNet的基本思想和內容,ResNet是一個具有里程碑性質的框架,標志著粗獷的卷積神經網絡設計向著精確化和模塊化的方向轉化。ResNet本身的程序編寫非常簡單,但是其中蘊含的設計思想卻是跨越性的。 第7章主要介紹自然語言處理的一個基本架構——循環神經網絡進行語音識別的方法,這與第6章的內容互補,可以加深讀者對深度學習中不同模塊和架構的理解。 第8章主要介紹自然語言處理基本的詞嵌入的訓練和使用,從一個有趣的問題引導讀者從文本清洗開始,到詞嵌入的計算,以及利用文本的不同維度和角度對文本進行拆分。 第9章介紹更為細化的自然語言處理部分,總結和復習本書前面所學習的內容,并使用深度學習工具實現一個“解碼器”,從而解決拼音到文字的轉換。這一章的目的是對前期內容的總結,也為下一章語音識別的轉換部分打下基礎。 第10章是本書的最后一章,著重介紹語音識別的應用理論和實現方法,并帶領讀者完整地實現一個語音文字轉換的實戰案例。此實戰案例既可以作為學習示例使用,又可以作為實際應用的程序進行移植。 適合閱讀本書的讀者 ? 語音識別初學者。 ? 深度學習初學者。 ? 機器學習初學者。 ? 高等院校人工智能專業的師生。 ? 專業培訓機構的學員。 ? 其他對智能化、自動化感興趣的技術人員。 源碼、數據集、開發環境下載和技術支持 本書配套的資源請用微信掃描右邊的二維碼下載,也可按掃描出來的頁面填寫自己的郵箱,把鏈接轉發到郵箱中下載。如果學習本書的過程中發現問題,可發送郵件,郵件主題填寫“TensorFlow語音識別實戰”。
勘誤和鳴謝 由于筆者的水平有限,加之編寫時間跨度較長,同時TensorFlow版本演進較快,在編寫此書的過程中難免會出現不準確的地方,懇請讀者批評指正。 感謝所有編輯在本書編寫中提供的無私幫助和寶貴建議,正是他們的耐心和支持才讓本書得以順利出版。感謝家人對我的支持和理解,這些都給了我莫大的動力,讓我的努力更加有意義。
著 者 2021年5月 |
內容簡介:本書使用新的TensorFlow 2作為語音識別的基本框架,引導讀者入門并掌握基于深度學習的語音識別基本理論、概念以及實現實際項目。全書內容循序漸進,從搭建環境開始,逐步深入理論、代碼及應用實踐,是語音識別技術圖書的**。 本書分為10章,內容包括語音識別概況與開發環境搭建、TensorFlow和Keras、深度學習的理論基礎、卷積層與MNIST實戰、TensorFlow Datasets和TensorBoard詳解、ResNet模型、使用循環神經網絡的語音識別實戰、有趣的詞嵌入實戰、語音識別中的轉換器實戰、語音漢字轉換實戰。 本書內容詳盡、示例豐富,適合作為語音識別和深度學習初學者必備的參考書,同時非常適合作為高等院校和培訓機構人工智能及相關專業師生的參考教材。 |
目錄:第1章語音識別之路 1 1.1何謂語音識別 1 1.2語音識別為什么難——語音識別的發展歷程 2 1.2.1高斯混合-隱馬爾科夫時代 3 1.2.2循環神經網絡-隱馬爾科夫時代 4 1.2.3基于深度學習的端到端語音識別時代 5 1.3語音識別商業化之路的三個關鍵節點 5 1.4語音識別的核心技術與行業發展趨勢 7 1.5搭建環境1:安裝Python 8 1.5.1Anaconda的下載與安裝 8 1.5.2Python編譯器PyCharm的安裝 11 1.5.3使用Python計算softmax函數 14 1.6搭建環境2:安裝TensorFlow2.1 15 1.6.1安裝TensorFlow2.1的CPU版本 15 1.6.2安裝TensorFlow2.1的GPU版本 15 1.6.3練習——HelloTensorFlow 18 1.7實戰——基于特征詞的語音喚醒 19 1.7.1第一步:數據的準備 19 1.7.2第二步:數據的處理 20 1.7.3第三步:模型的設計 21 1.7.4第四步:模型的數據輸入方法 22 1.7.5第五步:模型的訓練 24 1.7.6第六步:模型的結果和展示 25 1.8本章小結 25 第2章TensorFlow和Keras 26 2.1TensorFlow和Keras 26 2.1.1模型 27 2.1.2使用KerasAPI實現鳶尾花分類(順序模式) 27 2.1.3使用Keras函數式編程實現鳶尾花分類(重點) 30 2.1.4使用保存的Keras模式對模型進行復用 33 2.1.5使用TensorFlow標準化編譯對iris模型進行擬合 34 2.1.6多輸入單一輸出TensorFlow編譯方法(選學) 38 2.1.7多輸入多輸出TensorFlow編譯方法(選學) 41 2.2全連接層詳解 43 2.2.1全連接層的定義與實現 43 2.2.2使用TensorFlow自帶的API實現全連接層 44 2.2.3打印顯示已設計的Model結構和參數 48 2.3懶人的福音——Keras模型庫 49 2.3.1ResNet50模型和參數的載入 50 2.3.2使用ResNet50作為特征提取層建立模型 52 2.4本章小結 54 第3章深度學習的理論基礎 55 3.1BP神經網絡簡介 55 3.2BP神經網絡兩個基礎算法詳解 59 3.2.1最小二乘法詳解 59 3.2.2道士下山的故事:梯度下降算法 61 3.3反饋神經網絡反向傳播算法 63 3.3.1深度學習基礎 64 3.3.2鏈式求導法則 65 3.3.3反饋神經網絡原理與公式推導 66 3.3.4反饋神經網絡的激活函數 71 3.3.5反饋神經網絡的Python實現 72 3.4本章小結 76 第4章卷積層與MNIST實戰 77 4.1卷積運算的基本概念 77 4.1.1卷積運算 78 4.1.2TensorFlow中卷積函數實現詳解 79 4.1.3池化運算 82 4.1.4softmax激活函數 83 4.1.5卷積神經網絡原理 84 4.2編程實戰:MNIST手寫體識別 86 4.2.1MNIST數據集 86 4.2.2MNIST數據集特征和標簽介紹 88 4.2.3TensorFlow2.X編程實戰:MNIST數據集 90 4.2.4使用自定義的卷積層實現MNIST識別 95 4.3本章小結 98 第5章TensorFlowDatasets和TensorBoard詳解 99 5.1TensorFlowDatasets簡介 99 5.1.1Datasets數據集的安裝 101 5.1.2Datasets數據集的使用 101 5.2Datasets數據集的使用——FashionMNIST 103 5.2.1FashionMNIST數據集下載與展示 104 5.2.2模型的建立與訓練 106 5.3使用Keras對FashionMNIST數據集進行處理 108 5.3.1獲取數據集 108 5.3.2數據集的調整 109 5.3.3使用Python類函數建立模型 109 5.3.4Model的查看和參數打印 111 5.3.5模型的訓練和評估 112 5.4使用TensorBoard可視化訓練過程 114 5.4.1TensorBoard文件夾的設置 115 5.4.2TensorBoard的顯式調用 115 5.4.3TensorBoard的使用 118 5.5本章小結 121 第6章從冠軍開始:ResNet 122 6.1ResNet基礎原理與程序設計基礎 123 6.1.1ResNet誕生的背景 123 6.1.2模塊工具的TensorFlow實現——不要重復造輪子 126 6.1.3TensorFlow高級模塊layers用法簡介 126 6.2ResNet實戰:CIFAR-100數據集分類 134 6.2.1CIFAR-100數據集簡介 134 6.2.2ResNet殘差模塊的實現 136 6.2.3ResNet網絡的實現 139 6.2.4使用ResNet對CIFAR-100數據集進行分類 142 6.3ResNet的兄弟——ResNeXt 143 6.3.1ResNeXt誕生的背景 143 6.3.2ResNeXt殘差模塊的實現 145 6.3.3ResNeXt網絡的實現 146 6.3.4ResNeXt和ResNet的比較 148 6.4本章小結 149 第7章使用循環神經網絡的語音識別實戰 150 7.1使用循環神經網絡的語音識別 150 7.2長短期記憶網絡 151 7.2.1Hochreiter、Schmidhuber和LSTM 152 7.2.2循環神經網絡與長短時間序列 153 7.2.3LSTM的處理單元詳解 154 7.2.4LSTM的研究發展 157 7.2.5LSTM的應用前景 158 7.3GRU層詳解 159 7.3.1TensorFlow中的GRU層詳解 160 7.3.2單向不行,那就雙向 160 7.4站在巨人肩膀上的語音識別 161 7.4.1使用TensorFlow自帶的模型進行文本分類 162 7.4.2用VGGNET替換ResNet是否可行 164 7.5本章小結 165 第8章梅西-阿根廷+意大利=?:有趣的詞嵌入實戰 166 8.1文本數據處理 167 8.1.1數據集介紹和數據清洗 167 8.1.2停用詞的使用 169 8.1.3詞向量訓練模型Word2Vec使用介紹 172 8.1.4文本主題的提取:基于TF-IDF(選學) 175 8.1.5文本主題的提取:基于TextRank(選學) 179 8.2更多的WordEmbedding方法——fastText和預訓練詞向量 181 8.2.1fastText的原理與基礎算法 182 8.2.2fastText訓練以及與TensorFlow2.X的協同使用 183 8.2.3使用其他預訓練參數做TensorFlow詞嵌入矩陣(中文) 189 8.3針對文本的卷積神經網絡模型:字符卷積 191 8.3.1字符(非單詞)文本的處理 191 8.3.2卷積神經網絡文本分類模型的實現:conv1d(一維卷積) 199 8.4針對文本的卷積神經網絡模型:詞卷積 200 8.4.1單詞的文本處理 201 8.4.2卷積神經網絡文本分類模型的實現:conv2d(二維卷積) 203 8.5使用卷積對文本分類的補充內容 206 8.5.1漢字的文本處理 207 8.5.2其他的一些細節 209 8.6本章小結 210 第9章從拼音到漢字——語音識別中的轉換器 211 9.1編碼器的核心:注意力模型 212 9.1.1輸入層——初始詞向量層和位置編碼器層 212 9.1.2自注意力層(重點) 214 9.1.3ticks和LayerNormalization 218 9.1.4多頭自注意力 219 9.2構建編碼器架構 222 9.2.1前饋層的實現 223 9.2.2編碼器的實現 224 9.3實戰編碼器——漢字拼音轉化模型 228 9.3.1漢字拼音數據集處理 228 9.3.2漢字拼音轉化模型的確定 230 9.3.3模型訓練部分的編寫 234 9.3.4推斷函數的編寫 235 9.4本章小結 237 第10章實戰——基于MFCC和CTC的語音漢字轉換 238 10.1語音識別的理論基礎1——MFCC 238 10.2語音識別的理論基礎2——CTC 245 10.3實戰——語音漢字轉換 247 10.3.1數據集THCHS-30簡介 247 10.3.2數據集的提取與轉化 248 10.4本章小結 256 |
序: |