|
-- 會員 / 註冊 --
|
|
|
|
深入淺出Embedding:原理解析與應用實踐 ( 簡體 字) |
作者:吳茂貴,王紅星 | 類別:1. -> 電腦組織與體系結構 -> 嵌入式系統 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 54653 詢問書籍請說出此書號!【有庫存】 NT售價: 495 元 |
出版日:5/1/2021 |
頁數:320 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111680642 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:這是一本系統、全面、理論與實踐相結合的Embedding技術指南,由資深的AI技術專家和高級數據科學家撰寫,得到了黃鐵軍、韋青、張崢、周明等中國人工智能領域的領軍人物的一致好評和推薦。 在內容方面,本書理論與實操兼顧,一方面系統講解了Embedding的基礎、技術、原理、方法和性能優化,一方面詳細列舉和分析了Embedding在機器學習性能提升、中英文翻譯、推薦系統等6個重要場景的應用實踐;在寫作方式上,秉承復雜問題簡單化的原則,盡量避免復雜的數學公式,盡量采用可視化的表達方式,旨在降低本書的學習門檻,讓讀者能看得完、學得會。 全書一共16章,分為兩個部分: 第1部分(第1~9章)Embedding理論知識 主要講解Embedding的基礎知識、原理以及如何讓Embedding落地的相關技術,如TensorFlow和PyTorch中的Embedding層、CNN算法、RNN算法、遷移學習方法等,重點介紹了Transformer和基于它的GPT、BERT預訓練模型及BERT的多種改進版本等。 第二部分(第10 ~16章)Embedding應用實例 通過6個實例介紹了Embedding及相關技術的實際應用,包括如何使用Embedding提升傳統機器學習性,如何把Embedding技術應用到推薦系統中,如何使用Embedding技術提升NLP模型的性能等。 |
目錄:第一部分 Embedding基礎知識 第1章 萬物皆可嵌入2 1.1 處理序列問題的一般步驟3 1.2 Word Embedding4 1.2.1 word2vec之前4 1.2.2 CBOW模型5 1.2.3 Skip-Gram模型6 1.2.4 可視化Skip-Gram模型實現過程8 1.2.5 Hierarchical Softmax優化14 1.2.6 Negative Sampling優化15 1.3 Item Embedding16 1.3.1 微軟推薦系統使用Item Embedding16 1.3.2 Airbnb推薦系統使用Item Embedding17 1.4 用Embedding處理分類特征17 1.5 Graph Embedding20 1.5.1 DeepWalk方法21 1.5.2 LINE方法21 1.5.3 node2vec方法23 1.5.4 Graph Embedding在阿里的應用23 1.5.5 知識圖譜助力推薦系統實例26 1.6 Contextual Word Embedding26 1.6.1 多種預訓練模型概述27 1.6.2 多種預訓練模型的發展脈絡29 1.6.3 各種預訓練模型的優缺點29 1.6.4 常用預訓練模型30 1.6.5 Transformer的應用32 1.7 使用Word Embedding實現中文自動摘要35 1.7.1 背景說明35 1.7.2 預處理中文語料庫35 1.7.3 生成詞向量36 1.7.4 把文檔的詞轉換為詞向量36 1.7.5 生成各主題的關鍵詞38 1.7.6 查看運行結果39 1.8 小結40 第2章 獲取Embedding的方法41 2.1 使用PyTorch的Embedding Layer41 2.1.1 語法格式41 2.1.2 簡單實例43 2.1.3 初始化44 2.2 使用TensorFlow 2.0的Embedding Layer45 2.2.1 語法格式45 2.2.2 簡單實例45 2.3 從預訓練模型獲取Embedding47 2.3.1 背景說明47 2.3.2 下載IMDB數據集47 2.3.3 進行分詞47 2.3.4 下載并預處理GloVe詞嵌入48 2.3.5 構建模型49 2.3.6 訓練模型50 2.3.7 可視化訓練結果50 2.3.8 不使用預訓練詞嵌入的情況51 2.4 小結53 第3章 計算機視覺處理54 3.1 卷積神經網絡54 3.1.1 卷積網絡的一般架構55 3.1.2 增加通道的魅力56 3.1.3 加深網絡的動機57 3.1.4 殘差連接58 3.2 使用預訓練模型59 3.2.1 遷移學習簡介59 3.2.2 使用預訓練模型的方法60 3.3 獲取預訓練模型63 3.4 使用PyTorch實現數據遷移實例64 3.4.1 特征提取實例64 3.4.2 微調實例67 3.5 小結69 第4章 文本及序列處理70 4.1 循環網絡的基本結構70 4.1.1 標準循環神經網絡71 4.1.2 深度循環神經網絡72 4.1.3 LSTM網絡結構72 4.1.4 GRU網絡結構73 4.1.5 雙向循環神經網絡74 4.2 構建一些特殊模型75 4.2.1 Encoder-Decoder模型75 4.2.2 Seq2Seq模型77 4.3 小結77 第5章 注意力機制78 5.1 注意力機制概述78 5.1.1 兩種常見的注意力機制79 5.1.2 注意力機制的本質79 5.2 帶注意力機制的Encoder-Decoder模型81 5.2.1 引入注意力機制81 5.2.2 計算注意力分配值83 5.2.3 使用PyTorch實現帶注意力機制的Encoder-Decoder模型85 5.3 可視化Transformer88 5.3.1 Transformer的頂層設計89 5.3.2 Encoder與Decoder的輸入91 5.3.3 高并發長記憶的實現91 5.3.4 為加深Transformer網絡層保駕護航的幾種方法98 5.3.5 如何自監督學習98 5.4 使用PyTorch實現Transformer101 5.4.1 Transformer背景介紹101 5.4.2 構建Encoder-Decoder模型101 5.4.3 構建Encoder102 5.4.4 構建Decoder105 5.4.5 構建MultiHeadedAttention107 5.4.6 構建前饋網絡層109 5.4.7 預處理輸入數據109 5.4.8 構建完整網絡112 5.4.9 訓練模型113 5.4.10 實現一個簡單實例117 5.5 Transformer-XL119 5.5.1 引入循環機制119 5.5.2 使用相對位置編碼121 5.5.3 Transformer-XL計算過程122 5.6 使用PyTorch構建Transformer-XL123 5.6.1 構建單個Head Attention123 5.6.2 構建MultiHeadAttention126 5.6.3 構建Decoder129 5.7 Reformer130 5.7.1 使用局部敏感哈希130 5.7.2 使用可逆殘差網絡131 5.8 小結132 第6章 從Word Embedding到ELMo133 6.1 從word2vec到ELMo133 6.2 可視化ELMo原理134 6.2.1 字符編碼層135 6.2.2 雙向語言模型137 6.2.3 生成ELMo詞嵌入138 6.3 小結139 第7章 從ELMo到BERT和GPT140 7.1 ELMo的優缺點140 7.2 可視化BERT原理141 7.2.1 BERT的整體架構141 7.2.2 BERT的輸入143 7.2.3 掩碼語言模型144 7.2.4 預測下一個句子145 7.2.5 微調146 7.2.6 使用特征提取方法147 7.3 使用PyTorch實現BERT148 7.3.1 BERTEmbedding類的代碼149 7.3.2 TransformerBlock類的代碼149 7.3.3 構建BERT的代碼150 7.4 可視化GPT原理151 7.4.1 GPT簡介151 7.4.2 GPT的整體架構151 7.4.3 GPT的模型結構152 7.4.4 GPT-2的Multi-Head與BERT的Multi-Head之間的區別153 7.4.5 GPT-2的輸入153 7.4.6 GPT-2計算遮掩自注意力的詳細過程154 7.4.7 輸出156 7.4.8 GPT與GPT-2的異同156 7.5 GPT-3簡介157 7.6 小結160 第8章 BERT的優化方法161 8.1 可視化XLNet原理162 8.1.1 排列語言模型簡介162 8.1.2 使用雙流自注意力機制163 8.1.3 融入Transformer-XL的理念164 8.1.4 改進后的效果164 8.2 ALBERT方法164 8.2.1 分解Vocabulary Embedding矩陣165 8.2.2 跨層共享參數167 8.2.3 用SOP代替NSP方法168 8.2.4 其他優化方法169 8.3 ELECTRA方法170 8.3.1 ELECTRA概述170 8.3.2 RTD結構171 8.3.3 損失函數171 8.3.4 ELECTRA與GAN的異同172 8.3.5 評估172 8.4 小結173 第9章 推薦系統174 9.1 推薦系統概述174 9.1.1 推薦系統的一般流程174 9.1.2 常用推薦算法175 9.2 協同過濾176 9.2.1 基于用戶的協同過濾176 9.2.2 基于物品的協同過濾177 9.3 深度學習在推薦系統中的應用178 9.3.1 協同過濾中與神經網絡結合178 9.3.2 融入多層感知機的推薦系統179 9.3.3 融入卷積網絡的推薦系統180 9.3.4 融入Transformer的推薦系統181 9.4 小結183 第二部分 Embedding應用實例 第10章 用Embedding表現分類特征186 10.1 項目背景186 10.1.1 項目概述186 10.1.2 數據集說明187 10.2 TensorFlow 2詳細實現188 10.2.1 導入TensorFlow和其他庫188 10.2.2 導入數據集并創建dataframe188 10.2.3 將dataframe拆分為訓練、驗證和測試集189 10.2.4 用tf.data創建輸入流水線189 10.2.5 TensorFlow提供的幾種處理特征列的方法190 10.2.6 選擇特征193 10.2.7 創建網絡的輸入層194 10.2.8 創建、編譯和訓練模型194 10.2.9 可視化訓練過程195 10.2.10 測試模型196 10.3 小結197 第11章 用Embedding提升機器學習性能198 11.1 項目概述198 11.1.1 數據集簡介199 11.1.2 導入數據200 11.1.3 預處理數據201 11.1.4 定義公共函數203 11.2 使用Embedding提升神經網絡性能205 11.2.1 基于獨熱編碼的模型205 11.2.2 基于Embedding的模型207 11.3 構建XGBoost模型211 11.4 使用Embedding數據的XGBoost模型212 11.5 可視化Embedding數據213 11.6 小結215 第12章 用Transformer實現英譯中216 12.1 TensorFlow 2+實例概述216 12.2 預處理數據217 12.2.1 下載數據217 12.2.2 分割數據219 12.2.3 創建英文語料字典220 12.2.4 創建中文語料字典222 12.2.5 定義編碼函數222 12.2.6 過濾數據223 12.2.7 創建訓練集和驗證集223 12.3 構建Transformer模型225 12.3.1 Transformer模型架構圖225 12.3.2 架構說明226 12.3.3 構建scaled_dot_product_attention模塊226 12.3.4 構建MultiHeadAttention模塊227 12.3.5 構建point_wise_feed_forward_network模塊228 12.3.6 構建EncoderLayer模塊228 12.3.7 構建Encoder模塊229 12.3.8 構建DecoderLayer模塊230 12.3.9 構建Decoder模塊231 12.3.10 構建Transformer模型232 12.3.11 定義掩碼函數233 12.4 定義損失函數236 12.5 定義優化器237 12.6 訓練模型239 12.6.1 實例化Transformer239 12.6.2 設置checkpoint239 12.6.3 生成多種掩碼240 12.6.4 定義訓練模型函數240 12.6.5 訓練模型241 12.7 評估預測模型242 12.7.1 定義評估函數242 12.7.2 測試翻譯幾個簡單語句243 12.8 可視化注意力權重243 12.9 小結245 第13章 Embedding技術在推薦系統中的應用246 13.1 Embedding在Airbnb推薦系統中的應用246 13.2 Transformer在阿里推薦系統中的應用249 13.3 BERT在美團推薦系統中的應用250 13.4 小結253 第14章 用BERT實現中文語句分類254 14.1 背景說明254 14.1.1 查看中文BERT字典里的一些信息255 14.1.2 使用tokenizer分割中文語句256 14.2 可視化BERT注意力權重256 14.2.1 BERT對MASK字的預測256 14.2.2 導入可視化需要的庫257 14.2.3 可視化258 14.3 用BERT預訓練模型微調下游任務259 14.3.1 準備原始文本數據259 14.3.2 將原始文本轉換成BERT的輸入格式260 14.3.3 定義讀取數據的函數261 14.3.4 讀取數據并進行數據轉換263 14.3.5 增加一個批量維度264 14.3.6 查看一個批次數據樣例265 14.3.7 微調BERT完成下游任務265 14.3.8 查看微調后模型的結構266 14.4 訓練模型267 14.4.1 定義預測函數267 14.4.2 訓練模型268 14.5 測試模型269 14.5.1 用新數據測試模型269 14.5.2 比較微調前后的數據異同270 14.5.3 可視化注意力權重271 14.6 小結272 第15章 用GPT-2生成文本273 15.1 GPT-2概述273 15.2 用GPT-2生成新聞275 15.2.1 定義隨機選擇函數275 15.2.2 使用預訓練模型生成新聞275 15.3 微調GPT-2生成戲劇文本277 15.3.1 讀取文件277 15.3.2 對文件進行分詞277 15.3.3 把數據集轉換為可迭代對象278 15.3.4 訓練模型278 15.3.5 使用模型生成文本279 15.4 小結280 第16章 Embedding技術總結281 16.1 Embedding技術回顧281 16.1.1 Embedding表示281 16.1.2 多種學習Embedding表示的算法282 16.1.3 幾種Embedding衍生技術283 16.1.4 Embedding技術的不足285 16.2 Embedding技術展望285 16.2.1 從Embedding的表示方面進行優化285 16.2.2 從Embedding的結構上進行優化286 16.3 小結286 附錄A 基于GPU的TensorFlow 2+、PyTorch 1+升級安裝287 附錄B 語言模型307
|
序: |
|