![]() ![]() |
跟我一起學深度學習 ![]() 本書以深度學習入門內容為主線,通過數(shù)形結合的方式來漸進式引導讀者進行學習,力爭使各位讀者對于每個算法原理不僅要做到知其然更要做到知其所以然。同時,本書采用了深度學習中較為流行且簡單易學的PyTorch框架來進行示例,以便讓各位讀者在學習各個算法的原理過程中也能夠掌握其實際的用法。 本書秉持以數(shù)形結合的方式來介紹每個算法模型,即先通過圖示直觀地來介紹模型的整體思想和原理,再通過實際的數(shù)學計算過程或代碼來刻畫其中的細節(jié)和模糊之處,做到真正數(shù) 形的結合,讓各位讀者能夠真正地做到看得懂、學得會、寫得出。為了將各個算法的建模原理表述清楚,本書使用超過400余幅示意插圖。 作為《跟我一起學機器學習》的姊妹篇,兩年之后《跟我一起學深度學習》一書也終于出版了。北宋大家張載有言: 為天地立心,為生民立命,為往圣繼絕學,為萬世開太平。這兩部著作雖然沒有這樣的宏偉愿景,但在它們的編寫過程中我們自始至終都秉持著為往圣繼絕學的想法在進行。 作為機器學習方向的一個重要分支,深度學習在近年來的發(fā)展可謂大放異彩。隨著深度學習技術的不斷發(fā)展,與之相關的技術應用已經深入滲透到了我們日常生活的方方面面,從醫(yī)療保健、金融服務到零售,以及從交通再到智能助理、智能家居等,尤其是在以GPT為代表的大語言模型出現(xiàn)以后,深度學習技術的影子更是無處不在。如今,利用ChatGPT來作為日常生產力工具更是成為一種共識。例如在本書的成文過程中ChatGPT就為我們提供了不少的靈感和啟示,部分內容也是在ChatGPT的輔助下完成的,而這在10年乃至5年前都是難以想象的。也正因如此,對于這些熱門應用背后技術的探索便逐漸成為計算機行業(yè)及高校所追捧的對象,但對于絕大多數(shù)初學者來講,想要跨入深度學習這一領域依舊存在著較高的門檻,所以一本數(shù) 形結合、動機原理并重、細致考究的入門圖書就顯得十分必要了。 盡管目前市面上已經存在著大量類似圖書,但現(xiàn)有圖書的不足之處在于往往太過高估了學生的學習能力。首先,這類圖書往往都只是羅列了一堆名詞概念、抽象晦澀的數(shù)學公式或是枯燥冗長的代碼,而這對于初學者或是數(shù)學基礎比較薄弱的學生來講是極為糟糕的,作為過來人我們對此深有體會; 其次,這類圖書在介紹各個算法時僅僅做到了知其然而不知其所以然,并沒有介紹每個算法模型出現(xiàn)的背景和動機,仿佛它們都是一個個從天而降的獨立個體,彼此之間毫無前因后果的聯(lián)系; 最后,對于算法原理或實現(xiàn)的細節(jié)之處并沒有充分把握,往往會一筆帶過,而這就導致了初學者總有一種似是而非、朦朦朧朧的感覺。 數(shù)無形時少直覺,形少數(shù)時難入微,數(shù)形結合百般好,這是本書在編寫過程中所遵循的第一大原則。在學習深度學習相關內容的過程中,如果只看論文,則只能了解到算法模型的整體思想而無法精確刻畫其中的細節(jié)之處; 如果只看代碼,則會發(fā)現(xiàn)均是各種矩陣之間的四則運算,并不知道其中的含義。因此,本書在寫作之初就始終秉持著要以數(shù) 形結合的方式來介紹每個算法模型,即先通過圖示直觀地來介紹模型的整體思想和原理,再通過實際的數(shù)學計算過程或代碼來刻畫其中的細節(jié)和模糊之處。用圖形去形像化,用代碼去唯一化,真正做到數(shù) 形結合,讓各位讀者能夠真正地做到看得懂、學得會、寫得出。為了將各個算法的建模原理表述清楚,本書使用了近400幅示意插圖。
知其然,更要知其所以然,這是本書在編寫過程中所遵循的第二大原則。任何一個算法的提出都不會是憑空捏造或無中生有的,它要么是為了解決新場景下的問題,要么是為了對已有算法模型進行改進,因此明白一個算法模型背后的動機就顯得格外重要了。一方面我們能更好地理解作者的想法及與其他算法模型之間的聯(lián)系; 另一方面也可以學習如何去講好一個故事,所以我們不僅需要知道一項技術的原理,還需要知道為什么出現(xiàn)了這種技術、它的動機是什么、它需要解決什么樣的問題等。這樣才更有利于我們了解整個技術的發(fā)展脈絡并形成一個合理的思考方向。 因此,本書在行文過程中對于每個算法模型的介紹都遵循了動機 原理的方式進行,即先梳理其提出時的背景動機,然后介紹其具體的實現(xiàn)原理,而不是直愣愣地開始就某個算法模型進行介紹,以至于前后銜接生硬。這也將使各位讀者不僅能學會一個算法的原理和使用方法,同時還能知道它所提出的契機,養(yǎng)成這樣的思維習慣對于一些讀者后續(xù)的論文寫作也是百利而無一害的。 如履薄冰,有理有據,這是本書在編寫過程中所遵循的第三大原則。在本書簽訂出版合同之初我們就預留了充分的時間,約定15個月交稿,計劃12個月完稿,而實際上14個月就完成了,目的就是能在一個輕松的氛圍下完成寫作。不過如果再算上之前在理解Transformer(2021年38月)和BERT(2021年8月2022年4月)這兩個模型所花費的13個月時間,整本書總共歷經了27個月,所以我們也時常告誡自己切莫心急浮躁、切莫急功近利、切莫誤人子弟,要為我們寫下的每一句話、每個字負責。同時,在本書的編寫過程中對于每個重要細節(jié)的把握我們也會進行多方求證,力爭在理解上不會出現(xiàn)太大偏差。對于同一個模型的實現(xiàn)過程我們通常會參考不同框架中的實現(xiàn)源碼,例如參考TensorFlow、PyTorch、Transformers及論文作者的實現(xiàn)等,然后根據這些代碼整理出一份保留核心邏輯且適合初學者學習的示例代碼。 例如在介紹BERT模型的實現(xiàn)過程時,先后閱讀了GoogleResearch、PyTorch和Transformers框架中的相關實現(xiàn)過程; 為了弄清楚fastText模型中關于中文Ngram的構建方式,我們在官方開源項目的dictionary.cc文件中找到了佐證; 為了畫出ELMo模型的真實結構圖,我們在官方的Allennlp庫中見到了答案; 為了弄清楚大語言模型對話場景中模型在推理時的具體解碼過程,我們歷經幾番周折終于在Transformer庫的generation/utils.py模塊中找到了示例,甚至就連GPT這個簡稱的來歷我們也都細致地進行了考究,而這些本可以一筆帶過。 對于GPT這個簡稱的來歷,它到底應該是Generative PreTraining的縮寫,還是Generative Pretraining Transformer的縮寫,我們也曾反復思考過很多次。此時有讀者可能會說: 這還用想?當然是后者,因為GPT用到的是Transformer中解碼器的部分。可當時我們并不這樣認為。首先GPT表示生成式預訓練模型Generative PreTraining也并無不可,因為它的確是第1個大規(guī)模語料下的生成式預訓練模型; 其次GPT1的論文中并沒有明確交代T的代指,甚至全文中根本沒有出現(xiàn)GPT這一縮寫,反而從標題Improving Language Understanding by Generative PreTraining來看它更符合是Generative PreTraining的縮寫; 最后,我們檢索OpenAI 官網的所有論文和內容后,仍沒有明確發(fā)現(xiàn)GPT的來由,但對于這件事的疑惑并沒有停止。在我們寫作GPT2的相關內容時意外發(fā)現(xiàn)了論文的第二作者 Jeffrey Wu 的 GitHub賬戶。在瀏覽他的所有項目時我們意外發(fā)現(xiàn)了一個名為minGPT的工程,其簡介中赫然寫到一句描述: A minimal PyTorch reimplementation of the OpenAI GPT(Generative Pretrained Transformer)training,到這里總算是找到了官方對于GPT簡稱的認證。 當然,上面提到的細節(jié)之處本書中還有很多,讀者可以在閱讀學習的過程中自行慢慢體會。本書的目的只有一個,那就是所有的坑都讓我們先來踩,所有的錯都先讓我們來犯,各位讀者只需跟隨本書的足跡一步一步踏入深度學習的大門。不過遺憾的是,這本書也只能剛好帶領各位讀者進入深度學習的大門,至于怎么將這些技術用得更好、用得更出色還需要各位讀者在實際使用中進行反復錘煉。 掃描目錄上方的二維碼可下載本書配套資源。 致謝 首先感謝清華大學出版社趙佳霓編輯的耐心指點,以及對本書出版的推動。其次感謝在本書中所引用文獻的作者,沒有你們的付出也不會有本書的出版。如果說我們看得比別人更遠一些,那只是因為我們站在了巨人的肩膀上。在本書的寫作過程中從《動手學深度學習》《神經網絡與深度學習》,以及斯坦福大學的CS224N和CS231N中獲得了不少靈感,在此特意向李沐老師和邱錫鵬老師及相關作者表示感謝,感謝這些深度學習領域中的巨人。同時我們也要感謝我們的家人在身后默默地支持我們。最后要感謝我自己,感謝那個曾經無數(shù)次想要放棄但依舊堅持下來的自己。 寫好一本書不容易,寫好一本能讓初學者讀懂且有所裨益的書更不容易。由于我們才學和資歷尚淺,書中難免存在著這樣或那樣目前尚未發(fā)現(xiàn)的錯誤,因此還請各位讀者海涵與見諒。同時,也歡迎各位同行前輩對本拙作不吝指教。在今后的歲月里,我們也將不遺余力地持續(xù)去打磨這兩本書中的內容,力爭以最直觀、最簡潔和最有新意的語言將各個算法的原理與實現(xiàn)呈現(xiàn)在各位讀者面前,繼續(xù)秉持著為往圣繼絕學的初心。
王成,華東交通大學計算機應用技術碩士畢業(yè),機器學習領域CSDN與知乎專欄常駐作者,浦發(fā)銀行創(chuàng)新研究中心自然語言處理工程師,自媒體創(chuàng)作者。專注于機器學習、深度學習技術原理分享,寫作八年累積數(shù)百萬字手稿,出版了《跟我一起學機器學習》,并著有This Post Is All You Need等電子讀物。 第1章深度學習簡介 1.1深度學習的發(fā)展階段 1.1.1早期理論的發(fā)展 1.1.2人工智能的萌芽 1.1.3反向傳播算法的發(fā)展 1.1.4卷積神經網絡的發(fā)展 1.1.5循環(huán)神經網絡的發(fā)展 1.1.6自然語言處理的發(fā)展 1.2深度學習中的關鍵人物 1.3深度學習框架介紹 1.3.1深度學習框架的出現(xiàn) 1.3.2深度學習框架的歷史 1.4本書的體系結構 1.4.1面向的讀者 1.4.2內容與結構 1.4.3代碼及資源 第2章環(huán)境配置 2.1體系結構介紹 2.1.1基礎軟硬件設施 2.1.2版本依賴關系 2.1.3Conda工具介紹 2.1.4安裝源介紹 2.1.5小結 2.2深度學習環(huán)境安裝 2.2.1在Windows環(huán)境下 2.2.2在Linux環(huán)境下 2.2.3實戰(zhàn)示例 2.2.4GPU租用 2.2.5小結 2.3開發(fā)環(huán)境安裝配置 2.3.1Jupyter Notebook安裝與使用 2.3.2PyCharm安裝與使用 2.3.3遠程連接使用 2.3.4小結 第3章深度學習基礎 3.1線性回歸 3.1.1理解線性回歸模型 3.1.2建立線性回歸模型 3.1.3求解線性回歸模型 3.1.4多項式回歸建模 3.1.5從特征輸入到特征提取 3.1.6從線性輸入到非線性變換 3.1.7單層神經網絡 3.1.8深度神經網絡 3.1.9小結 3.2線性回歸的簡捷實現(xiàn) 3.2.1PyTorch使用介紹 3.2.2房價預測實現(xiàn) 3.2.3梯形面積預測實現(xiàn) 3.2.4小結 3.3梯度下降與反向傳播 3.3.1梯度下降引例 3.3.2方向導數(shù)與梯度 3.3.3梯度下降原理 3.3.4前向傳播過程 3.3.5傳統(tǒng)方式梯度求解 3.3.6反向傳播過程 3.3.7梯度消失和梯度爆炸 3.3.8小結 3.4從零實現(xiàn)回歸模型 3.4.1網絡結構 3.4.2模型實現(xiàn) 3.4.3小結 3.5從邏輯回歸到Softmax回歸 3.5.1理解邏輯回歸模型 3.5.2建立邏輯回歸模型 3.5.3求解邏輯回歸模型 3.5.4從二分類到多分類 3.5.5Softmax回歸 3.5.6特征的意義 3.5.7從具體到抽象 3.5.8從淺層到深層 3.5.9小結 3.6Softmax回歸的簡捷實現(xiàn) 3.6.1PyTorch使用介紹 3.6.2手寫體分類實現(xiàn) 3.6.3小結 3.7從零實現(xiàn)分類模型 3.7.1網絡結構 3.7.2模型實現(xiàn) 3.7.3小結 3.8回歸模型評估指標 3.8.1常見回歸評估指標 3.8.2回歸指標示例代碼 3.8.3小結 3.9分類模型評估指標 3.9.1準確率 3.9.2精確率與召回率計算 3.9.3準確率與召回率的區(qū)別 3.9.4多分類下的指標計算 3.9.5TopK準確率 3.9.6小結 3.10過擬合與正則化 3.10.1模型擬合 3.10.2過擬合與欠擬合概念 3.10.3解決欠擬合與過擬合問題 3.10.4泛化誤差的來源 3.10.5測試集導致的泛化誤差 3.10.6訓練集導致的泛化誤差 3.10.72正則化原理 3.10.82正則化中的參數(shù)更新 3.10.92正則化示例代碼 3.10.101正則化原理 3.10.111與2正則化差異 3.10.12丟棄法 3.10.13小結 3.11超參數(shù)與交叉驗證 3.11.1超參數(shù)介紹 3.11.2模型選擇 3.11.3基于交叉驗證的手寫體分類 3.11.4小結 3.12激活函數(shù) 3.12.1Sigmoid激活函數(shù) 3.12.2Tanh激活函數(shù) 3.12.3ReLU激活函數(shù) 3.12.4LeakyReLU激活函數(shù) 3.12.5小結 3.13多標簽分類 3.13.1Sigmoid損失 3.13.2交叉熵損失 3.13.3不考慮部分正確的評估指標 3.13.4考慮部分正確的評估指標 3.13.5小結 第4章卷積神經網絡 4.1卷積的概念 4.1.1深度學習的思想 4.1.2卷積操作的作用 4.1.3卷積操作的原理 4.1.4小結 4.2卷積的計算過程 4.2.1多卷積核 4.2.2卷積的計算過程 4.2.3深度卷積 4.2.4小結 4.3填充和池化 4.3.1填充操作 4.3.2形狀計算 4.3.3卷積示例代碼 4.3.4池化操作 4.3.5池化的作用 4.3.6池化示例代碼 4.3.7小結 4.4LeNet5網絡 4.4.1LeNet5動機 4.4.2LeNet5結構 4.4.3LeNet5實現(xiàn) 4.4.4小結 4.5AlexNet網絡 4.5.1AlexNet動機 4.5.2AlexNet結構 4.5.3AlexNet實現(xiàn) 4.5.4小結 4.6VGG網絡 4.6.1VGG動機 4.6.2VGG結構 4.6.3VGG實現(xiàn) 4.6.4小結 4.7NIN網絡 4.7.1NIN動機 4.7.2NIN結構 4.7.3NIN實現(xiàn) 4.7.4小結 4.8GoogLeNet網絡 4.8.1GoogLeNet動機 4.8.2GoogLeNet結構 4.8.3GoogLeNet實現(xiàn) 4.8.4小結 4.9ResNet網絡 4.9.1ResNet動機 4.9.2ResNet結構 4.9.3ResNet實現(xiàn) 4.9.4小結 4.10DenseNet網絡 4.10.1DenseNet動機 4.10.2DenseNet結構 4.10.3DenseNet實現(xiàn) 4.10.4小結 第5章模型訓練與復用 5.1參數(shù)及日志管理 5.1.1參數(shù)傳遞 5.1.2參數(shù)載入 5.1.3定義日志函數(shù) 5.1.4日志輸出示例 5.1.5打印模型參數(shù) 5.1.6小結 5.2TensorBoard可視化 5.2.1安裝與啟動 5.2.2連接與訪問 5.2.3TensorBoard使用場景 5.2.4使用實例 5.2.5小結 5.3模型的保存與復用 5.3.1查看模型參數(shù) 5.3.2自定義參數(shù)前綴 5.3.3保存訓練模型 5.3.4復用模型推理 5.3.5復用模型訓練 5.3.6小結 5.4模型的遷移學習 5.4.1遷移學習 5.4.2模型定義與比較 5.4.3參數(shù)微調 5.4.4參數(shù)凍結 5.4.5小結 5.5開源模型復用 5.5.1ResNet結構介紹 5.5.2遷移模型構造 5.5.3結果對比 5.5.4小結 5.6多GPU訓練 5.6.1訓練方式 5.6.2數(shù)據并行 5.6.3使用示例 5.6.4小結 5.7數(shù)據預處理緩存 5.7.1修飾器介紹 5.7.2修飾器定義 5.7.3定義數(shù)據集構造類 5.7.4定義緩存修飾器 5.7.5小結 第6章模型優(yōu)化方法 6.1學習率調度器 6.1.1使用示例 6.1.2實現(xiàn)原理 6.1.3狀態(tài)恢復 6.1.4小結 6.2梯度裁剪 6.2.1基于閾值裁剪 6.2.2基于范數(shù)裁剪 6.2.3使用示例 6.2.4小結 6.3批歸一化 6.3.1批歸一化動機 6.3.2批歸一化原理 6.3.3批歸一化實現(xiàn) 6.3.4小結 6.4層歸一化 6.4.1層歸一化動機 6.4.2層歸一化原理 6.4.3層歸一化實現(xiàn) 6.4.4小結 6.5組歸一化 6.5.1組歸一化動機 6.5.2組歸一化原理 6.5.3組歸一化實現(xiàn) 6.5.4小結 6.6動量法 6.6.1動量法動機 6.6.2動量法原理 6.6.3使用示例 6.6.4小結 6.7AdaGrad算法 6.7.1AdaGrad動機 6.7.2AdaGrad原理 6.7.3使用示例 6.7.4小結 6.8AdaDelta算法 6.8.1AdaDelta動機 6.8.2AdaDelta原理 6.8.3使用示例 6.8.4小結 6.9Adam算法 6.9.1Adam動機 6.9.2Adam原理 6.9.3使用示例 6.9.4小結 6.10初始化方法 6.10.1初始化動機 6.10.2初始化原理 6.10.3使用示例 6.10.4小結 第7章循環(huán)神經網絡 7.1RNN 7.1.1RNN動機 7.1.2RNN原理 7.1.3RNN計算示例 7.1.4RNN類型 7.1.5多層RNN 7.1.6RNN示例代碼 7.1.7BPTT原理 7.1.8小結 7.2時序數(shù)據 7.2.1時序圖片 7.2.2基于RNN的圖片分類 7.2.3時序文本 7.2.4基于RNN的文本分類 7.2.5小結 7.3LSTM網絡 7.3.1LSTM動機 7.3.2LSTM結構 7.3.3LSTM實現(xiàn) 7.3.4LSTM梯度分析 7.3.5小結 7.4GRU網絡 7.4.1GRU動機 7.4.2GRU結構 7.4.3GRU實現(xiàn) 7.4.4GRU與LSTM對比 7.4.5類RNN模型 7.4.6小結 7.5BiRNN網絡 7.5.1BiRNN動機 7.5.2BiRNN結構 7.5.3BiRNN實現(xiàn) 7.5.4小結 7.6CharRNN網絡 7.6.1任務構造原理 7.6.2數(shù)據預處理 7.6.3古詩生成任務 7.6.4小結 第8章時序與模型融合 8.1TextCNN 8.1.1TextCNN結構 8.1.2文本分詞 8.1.3TextCNN實現(xiàn) 8.1.4小結 8.2TextRNN 8.2.1TextRNN結構 8.2.2TextRNN實現(xiàn) 8.2.3小結 8.3CNNRNN 8.3.1CLSTM結構 8.3.2CLSTM實現(xiàn) 8.3.3BiLSTMCNN結構 8.3.4BiLSTMCNN實現(xiàn) 8.3.5小結 8.4ConvLSTM網絡 8.4.1ConvLSTM動機 8.4.2ConvLSTM結構 8.4.3ConvLSTM實現(xiàn) 8.4.4KTH數(shù)據集構建 8.4.5KTH動作識別任務 8.4.6小結 8.53DCNN 8.5.13DCNN動機 8.5.23DCNN結構 8.5.33DCNN實現(xiàn) 8.5.4小結 8.6STResNet 8.6.1STResNet動機 8.6.2任務背景 8.6.3STResNet結構 8.6.4數(shù)據集構建 8.6.5STResNet實現(xiàn) 8.6.6小結 第9章自然語言處理 9.1自然語言處理介紹 9.1.1語言模型 9.1.2基于規(guī)則的語言模型 9.1.3基于統(tǒng)計的語言模型 9.1.4基于神經網絡的語言模型 9.1.5小結 9.2Word2Vec詞向量 9.2.1Word2Vec動機 9.2.2Word2Vec模型 9.2.3連續(xù)詞袋模型 9.2.4跳元模型 9.2.5小結 9.3Word2Vec訓練與使用 9.3.1近似訓練 9.3.2載入預訓練詞向量 9.3.3可視化與類別計算 9.3.4詞向量訓練 9.3.5小結 9.4GloVe詞向量 9.4.1GloVe動機 9.4.2共現(xiàn)矩陣 9.4.3GloVe原理 9.4.4GloVe詞向量使用 9.4.5小結 9.5詞向量的微調使用 9.5.1詞嵌入層介紹 9.5.2詞嵌入層使用 9.5.3多通道TextCNN網絡 9.5.4小結 9.6fastText網絡 9.6.1fastText動機 9.6.2fastText原理 9.6.3fastText庫介紹 9.6.4詞向量的使用與訓練 9.6.5fastText文本分類 9.6.6小結 9.7Seq2Seq網絡 9.7.1Seq2Seq動機 9.7.2Seq2Seq結構 9.7.3搜索策略 9.7.4小結 9.8序列模型評價指標 9.8.1困惑度 9.8.2雙語評估輔助 9.8.3小結 9.9NMT網絡 9.9.1谷歌翻譯簡介 9.9.2統(tǒng)計翻譯模型弊端 9.9.3NMT數(shù)據集構建 9.9.4Seq2Seq實現(xiàn) 9.9.5NMT模型實現(xiàn) 9.9.6NMT推理實現(xiàn) 9.9.7NMT模型訓練 9.9.8小結 9.10注意力機制 9.10.1注意力的起源 9.10.2注意力機制思想 9.10.3注意力計算框架 9.10.4填充注意力掩碼 9.10.5Bahdanau注意力 9.10.6Luong注意力 9.10.7小結 9.11含注意力的NMT網絡 9.11.1含注意力的NMT結構 9.11.2含注意力的NMT實現(xiàn) 9.11.3模型訓練 9.11.4小結 9.12含注意力的RNN 9.12.1含注意力的RNN結構 9.12.2含注意力的RNN實現(xiàn) 9.12.3小結 第10章現(xiàn)代神經網絡 10.1ELMo網絡 10.1.1ELMo動機 10.1.2ELMo結構 10.1.3ELMo實現(xiàn) 10.1.4ELMo遷移 10.1.5小結 10.2Transformer網絡 10.2.1Transformer動機 10.2.2自注意力機制 10.2.3多頭注意力機制 10.2.4輸入編碼 10.2.5小結 10.3Transformer結構 10.3.1單層Transformer結構 10.3.2多層Transformer結構 10.3.3多頭注意力實現(xiàn) 10.3.4小結 10.4Transformer實現(xiàn) 10.4.1嵌入層實現(xiàn) 10.4.2編碼器實現(xiàn) 10.4.3解碼器實現(xiàn) 10.4.4Transformer網絡實現(xiàn) 10.4.5小結 10.5Transformer對聯(lián)模型 10.5.1數(shù)據預處理 10.5.2網絡結構 10.5.3模型訓練 10.5.4模型推理 10.5.5小結 10.6BERT網絡 10.6.1BERT動機 10.6.2BERT結構 10.6.3BERT輸入層 10.6.4預訓練任務 10.6.5小結 10.7從零實現(xiàn)BERT 10.7.1工程結構 10.7.2Input Embedding實現(xiàn) 10.7.3BERT網絡實現(xiàn) 10.7.4小結 10.8BERT文本分類模型 10.8.1任務構造原理 10.8.2數(shù)據預處理 10.8.3加載預訓練模型 10.8.4文本分類 10.8.5小結 10.9BERT問題選擇模型 10.9.1任務構造原理 10.9.2數(shù)據預處理 10.9.3問題選擇 10.9.4小結 10.10BERT問題回答模型 10.10.1任務構造原理 10.10.2樣本構造與結果篩選 10.10.3數(shù)據預處理 10.10.4問題回答 10.10.5小結 10.11BERT命名體識別模型 10.11.1任務構造原理 10.11.2數(shù)據預處理 10.11.3命名體識別 10.11.4小結 10.12BERT從零訓練 10.12.1構建流程與格式化 10.12.2數(shù)據預處理 10.12.3預訓練任務實現(xiàn) 10.12.4模型訓練與微調 10.12.5小結 10.13GPT1模型 10.13.1GPT1動機 10.13.2GPT1結構 10.13.3GPT1實現(xiàn) 10.13.4小結 10.14GPT2與GPT3模型 10.14.1GPT2動機 10.14.2GPT2結構 10.14.3GPT2使用 10.14.4GPT3結構 10.14.5GPT3的局限性與安全性 10.14.6小結 10.15基于GPT2的中文預訓練模型 10.15.1項目介紹 10.15.2生成結果篩選 10.15.3模型推理 10.15.4模型訓練 10.15.5小結 10.16InstructGPT與ChatGPT 10.16.1InstructGPT動機 10.16.2人類反饋強化學習 10.16.3InstructGPT原理 10.16.4InstructGPT評估及結果 10.16.5InstructGPT數(shù)據集 10.16.6InstructGPT局限性 10.16.7ChatGPT 10.16.8小結 10.17ChatGPT與提示詞工程 10.17.1提示詞工程 10.17.2提示詞的構成 10.17.3簡單提示詞 10.17.4少樣本提示詞 10.17.5情境化提示詞 10.17.6定制化 10.17.7場景應用 10.17.8ChatGPT的攻擊與防御 10.17.9小結 10.18百川大模型使用 10.18.1模型簡介 10.18.2項目介紹 10.18.3模型結構 10.18.4模型推理 10.18.5模型微調 10.18.6小結 10.19百川大模型實現(xiàn) 10.19.1解碼緩存原理 10.19.2解碼層實現(xiàn) 10.19.3語言模型實現(xiàn) 10.19.4模型微調實現(xiàn) 10.19.5模型推理實現(xiàn) 10.19.6模型解碼過程 10.19.7小結 10.20GPT4與GPT的使用 10.20.1GPT4介紹 10.20.2GPT4模型的使用 10.20.3GPT介紹 10.20.4小結 參考文獻
你還可能感興趣
我要評論
|