最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

火遍日本 IT 界的「魚書」續(xù)作來(lái)襲,原來(lái)進(jìn)階深度學(xué)習(xí)竟然那么簡(jiǎn)單

2020-09-16 16:56 作者:圖靈社區(qū)  | 我要投稿

在日本,有一本書在 AI 領(lǐng)域的影響力超越了實(shí)力派的“花書”,長(zhǎng)期位列日亞“人工智能”類圖書榜首,眾多五星好評(píng)。它被眾多高校名師為 AI 入門教材,如果你也是 AI 領(lǐng)域的開(kāi)發(fā)者,說(shuō)不定你手上的這本書已經(jīng)翻爛了。這就是被稱為「魚書」的《深度學(xué)習(xí)入門:基于 Python 的理論與實(shí)現(xiàn)》

原書上市不到2年,就已經(jīng)加印到 100000+ 冊(cè)了,對(duì)于技術(shù)圖書來(lái)講已經(jīng)是個(gè)驚人的數(shù)字了。一方面說(shuō)明深度學(xué)習(xí)確實(shí)火熱,另一方面也說(shuō)明這本書的內(nèi)容確實(shí)有驚人的地方。甚至被日本程序員稱之為「神本」(即「神作」)。這次作者齋藤康毅經(jīng)過(guò)長(zhǎng)時(shí)間籌備創(chuàng)作,「魚書」續(xù)作《深度學(xué)習(xí)進(jìn)階:自然語(yǔ)言處理》終于要在圖靈搶先發(fā)布了!????????

下面我們看看「神本」的續(xù)作,將如何帶領(lǐng)我們進(jìn)階深度學(xué)習(xí),掌握自然語(yǔ)言處理的全技能吧!


作為進(jìn)階書籍,本作將進(jìn)一步深入探索深度學(xué)習(xí)的可能性。和前作一樣,不使用既有的庫(kù)和框架,重視“從零開(kāi)始創(chuàng)建”,通過(guò)親自動(dòng)手,來(lái)探尋深度學(xué)習(xí)相關(guān)技術(shù)的樂(lè)趣和深度。

第一章

神經(jīng)網(wǎng)絡(luò)的復(fù)習(xí)

第一章我們將復(fù)習(xí)一下神經(jīng)網(wǎng)絡(luò)。也就是說(shuō),本章相當(dāng)于前作的摘要。此外,本書更加重視效率,對(duì)前作中的部分代碼規(guī)范進(jìn)行了修改(比如,方法名和參數(shù)的命名方法等)。關(guān)于這一點(diǎn),我們也會(huì)在本章進(jìn)行確認(rèn)。

本章所學(xué)技能

1. 神經(jīng)網(wǎng)絡(luò)具有輸入層、隱藏層和輸出層;2. 通過(guò)全連接層進(jìn)行線性變換,通過(guò)激活函數(shù)進(jìn)行非線性變換;3. 全連接層和 mini-batch 處理都可以寫成矩陣計(jì)算;4. 使用誤差反向傳播法可以高效地求解神經(jīng)網(wǎng)絡(luò)的損失的梯度;5. 使用計(jì)算圖能夠?qū)⑸窠?jīng)網(wǎng)絡(luò)中發(fā)生的處理可視化,這有助于理解正向傳播和反向傳播;6. 在神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)中,通過(guò)將組件模塊化為層,可以簡(jiǎn)化實(shí)現(xiàn);7. 數(shù)據(jù)的位精度和 GPU 并行計(jì)算對(duì)神經(jīng)網(wǎng)絡(luò)的高速化非常重要;

第二章

自然語(yǔ)言和單詞的分布式表示

自然語(yǔ)言處理涉及多個(gè)子領(lǐng)域,但是它們的根本任務(wù)都是讓計(jì)算機(jī)理解我們的語(yǔ)言。何謂讓計(jì)算機(jī)理解我們的語(yǔ)言?存在哪些方法?本章我們將以這些問(wèn)題為中心展開(kāi)討論。為此,我們將先詳細(xì)考察古典方法,即深度學(xué)習(xí)出現(xiàn)以前的方法。

從下一章開(kāi)始,再介紹基于深度學(xué)習(xí)(確切地說(shuō),是神經(jīng)網(wǎng)絡(luò))的方法。本章我們還會(huì)練習(xí)使用 Python 處理文本,實(shí)現(xiàn)分詞(將文本分割成單詞)和單詞 ID 化(將單詞轉(zhuǎn)換為單詞 ID)等任務(wù)。

本章實(shí)現(xiàn)的函數(shù)在后面的章節(jié)中也會(huì)用到。因此,本章也可以說(shuō)是后續(xù)文本處理的準(zhǔn)備工作。那么,讓我們一起進(jìn)入自然語(yǔ)言處理的世界吧!

本章所學(xué)技能

1. 使用 WordNet 等同義詞詞典,可以獲取近義詞或測(cè)量單詞間的相似度等;2. 使用同義詞詞典的方法存在創(chuàng)建詞庫(kù)需要大量人力、新詞難更新等問(wèn)題;3. 目前,使用語(yǔ)料庫(kù)對(duì)單詞進(jìn)行向量化是主流方法;4. 近年來(lái)的單詞向量化方法大多基于“單詞含義由其周圍的單詞構(gòu)成”這一分布式假設(shè);5. 在基于計(jì)數(shù)的方法中,對(duì)語(yǔ)料庫(kù)中的每個(gè)單詞周圍的單詞的出現(xiàn)頻數(shù)進(jìn)行計(jì)數(shù)并匯總(=共現(xiàn)矩陣);6. 通過(guò)將共現(xiàn)矩陣轉(zhuǎn)化為 PPMI 矩陣并降維,可以將大的稀疏向量轉(zhuǎn)變?yōu)樾〉拿芗蛄浚?. 在單詞的向量空間中,含義上接近的單詞距離上理應(yīng)也更近;

第三章

word2vec

接著上一章,本章的主題仍是單詞的分布式表示。在上一章中,我們使用基于計(jì)數(shù)的方法得到了單詞的分布式表示。本章我們將討論該方法的替代方法,即基于推理的方法。顧名思義,基于推理的方法使用了推理機(jī)制。當(dāng)然,這里的推理機(jī)制用的是神經(jīng)網(wǎng)絡(luò)。本章,著名的 word2vec 將會(huì)登場(chǎng)。我們將花很多時(shí)間考察 word2vec 的結(jié)構(gòu),并通過(guò)代碼實(shí)現(xiàn)來(lái)加深對(duì)它的理解。本章的目標(biāo)是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 word2vec。這個(gè)簡(jiǎn)單的 word2vec 會(huì)優(yōu) 先考慮易理解性,從而犧牲一定的處理效率。因此,我們不會(huì)用它來(lái)處理大規(guī)模數(shù)據(jù)集,但用它處理小數(shù)據(jù)集毫無(wú)問(wèn)題。下一章我們會(huì)對(duì)這個(gè)簡(jiǎn)單的 word2vec 進(jìn)行改進(jìn),從而完成一個(gè)“真正的”word2vec?,F(xiàn)在,讓我們一起進(jìn)入基于推理的方法和 word2vec 的世界吧!

本章所學(xué)技能

1. 基于推理的方法以預(yù)測(cè)為目標(biāo),同時(shí)獲得了作為副產(chǎn)物的單詞的分布式表示;2. word2vec 是基于推理的方法,由簡(jiǎn)單的 2 層神經(jīng)網(wǎng)絡(luò)構(gòu)成;3. word2vec 有 skip-gram 模型和 CBOW 模型;4. CBOW 模型從多個(gè)單詞(上下文)預(yù)測(cè) 1 個(gè)單詞(目標(biāo)詞);5. skip-gram 模型反過(guò)來(lái)從 1 個(gè)單詞(目標(biāo)詞)預(yù)測(cè)多個(gè)單詞(上下文);6. 由于 word2vec 可以進(jìn)行權(quán)重的增量學(xué)習(xí),所以能夠高效地更新或添加單詞的分布式;

第四章

word2vec 的高速化

上一章我們學(xué)習(xí)了 word2vec 的機(jī)制,并實(shí)現(xiàn)了 CBOW 模型。因?yàn)?CBOW 模型是一個(gè)簡(jiǎn)單的 2 層神經(jīng)網(wǎng)絡(luò),所以實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單。但是,目前的實(shí)現(xiàn)存在幾個(gè)問(wèn)題,其中最大的問(wèn)題是,隨著語(yǔ)料庫(kù)中處理的詞匯量 的增加,計(jì)算量也隨之增加。實(shí)際上,當(dāng)詞匯量達(dá)到一定程度之后,上一章的 CBOW 模型的計(jì)算就會(huì)花費(fèi)過(guò)多的時(shí)間。因此,本章將重點(diǎn)放在 word2vec 的加速上,來(lái)改善 word2vec。具體而言,我們將對(duì)上一章中簡(jiǎn)單的 word2vec 進(jìn)行兩點(diǎn)改進(jìn):引入名為 Embedding 層的新層,以及引入名為 Negative Sampling 的新?lián)p失函數(shù)。

這樣一來(lái),我們就能夠完成一個(gè)“真正的”word2vec。完成這個(gè)真正的 word2vec 后,我們將在 PTB 數(shù)據(jù)集(一個(gè)大小比較實(shí)用的語(yǔ)料庫(kù))上進(jìn)行學(xué)習(xí),并實(shí)際評(píng)估所獲得的單詞的分布式表示的優(yōu)劣。

本章所學(xué)技能

1. Embedding 層保存單詞的分布式表示,在正向傳播時(shí),提取單詞 ID 對(duì)應(yīng)的向量;2. 因?yàn)?word2vec 的計(jì)算量會(huì)隨著詞匯量的增加而成比例地增加,所以最好使用近似計(jì)算來(lái)加速;3. 負(fù)采樣技術(shù)采樣若干負(fù)例,使用這一方法可以將多分類問(wèn)題轉(zhuǎn)化為二分類問(wèn)題進(jìn)行處理;4. 基于 word2vec 獲得的單詞的分布式表示內(nèi)嵌了單詞含義,在相似的上下文中使用的單詞在單詞向量空間上處于相近的位置;5. word2vec 的單詞的分布式表示的一個(gè)特性是可以基于向量的加減法運(yùn)算來(lái)求解類推問(wèn)題;6. word2vec 的遷移學(xué)習(xí)能力非常重要,它的單詞的分布式表示可以應(yīng)用于各種各樣的自然語(yǔ)言處理任務(wù);

第五章

循環(huán)神經(jīng)網(wǎng)絡(luò)

到目前為止,我們看到的神經(jīng)網(wǎng)絡(luò)都是前饋型神經(jīng)網(wǎng)絡(luò)。前饋 (feedforward)是指網(wǎng)絡(luò)的傳播方向是單向的。

具體地說(shuō),先將輸入信號(hào)傳給下一層(隱藏層),接收到信號(hào)的層也同樣傳給下一層,然后再傳給下一層 ...... 像這樣,信號(hào)僅在一個(gè)方向上傳播。

雖然前饋網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、易于理解,但是可以應(yīng)用于許多任務(wù)中。不過(guò),這種網(wǎng)絡(luò)存在一個(gè)大問(wèn)題,就是不能很好地處理時(shí)間序列數(shù)據(jù)(以下簡(jiǎn)稱為“時(shí)序數(shù)據(jù)”)。

更確切地說(shuō),單純的前饋網(wǎng)絡(luò)無(wú)法充分學(xué)習(xí)時(shí)序數(shù)據(jù)的性質(zhì)(模式)。于是,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)便應(yīng)運(yùn)而生。

本章我們將指出前饋網(wǎng)絡(luò)的問(wèn)題,并介紹 RNN 如何很好地解決這些問(wèn)題。然后,我們會(huì)詳細(xì)解釋 RNN 的結(jié)構(gòu),并用 Python 對(duì)其進(jìn)行實(shí)現(xiàn)。

本章所學(xué)技能

1. RNN 具有環(huán)路,因此可以在內(nèi)部記憶隱藏狀態(tài);2. 通過(guò)展開(kāi) RNN 的循環(huán),可以將其解釋為多個(gè) RNN 層連接起來(lái)的神經(jīng)網(wǎng)絡(luò),可以通過(guò)常規(guī)的誤差反向傳播法進(jìn)行學(xué)習(xí)(= BPTT);3. 在學(xué)習(xí)長(zhǎng)時(shí)序數(shù)據(jù)時(shí),要生成長(zhǎng)度適中的數(shù)據(jù)塊,進(jìn)行以塊為單位的 BPTT 學(xué)習(xí)(= Truncated BPTT);4. Truncated BPTT 只截?cái)喾聪騻鞑サ倪B接;5. 在 Truncated BPTT 中,為了維持正向傳播的連接,需要按順序輸入數(shù)據(jù);6. 語(yǔ)言模型將單詞序列解釋為概率;7. 理論上,使用 RNN 層的條件語(yǔ)言模型可以記憶所有已出現(xiàn)單詞的信息;

第六章

Gated RNN

上一章的 RNN 存在環(huán)路,可以記憶過(guò)去的信息,其結(jié)構(gòu)非常簡(jiǎn)單,易于實(shí)現(xiàn)。不過(guò),遺憾的是,這個(gè) RNN 的效果并不好。原因在于,許多情況下它都無(wú)法很好地學(xué)習(xí)到時(shí)序數(shù)據(jù)的長(zhǎng)期依賴關(guān)系?,F(xiàn)在,上一章的簡(jiǎn)單 RNN 經(jīng)常被名為 LSTM 或 GRU 的層所代替。實(shí) 際上,當(dāng)我們說(shuō) RNN 時(shí),更多的是指 LSTM 層,而不是上一章的 RNN。順便說(shuō)一句,當(dāng)需要明確指上一章的 RNN 時(shí),我們會(huì)說(shuō)“簡(jiǎn)單 RNN”或“Elman”。LSTM 和 GRU 中增加了一種名為“門”的結(jié)構(gòu)?;谶@個(gè)門,可以學(xué)習(xí)到時(shí)序數(shù)據(jù)的長(zhǎng)期依賴關(guān)系。本章我們將指出上一章的 RNN 的問(wèn)題,介紹代替它的 LSTM 和 GRU 等“Gated RNN”。特別是我們將花很多時(shí)間研究 LSTM 的結(jié)構(gòu),并揭示它實(shí)現(xiàn)“長(zhǎng)期記憶”的機(jī)制。此外,我們將使用 LSTM 創(chuàng)建語(yǔ)言模型,并展示它可以在實(shí)際數(shù)據(jù)上很好地學(xué)習(xí)。

本章所學(xué)技能

1. 在簡(jiǎn)單 RNN 的學(xué)習(xí)中,存在梯度消失和梯度爆炸問(wèn)題;2. 梯度裁剪對(duì)解決梯度爆炸有效,LSTM、GRU 等 Gated RNN 對(duì)解決梯度消失有效;3. LSTM 中有 3 個(gè)門:輸入門、遺忘門和輸出門 ;4. 門有專門的權(quán)重,并使用 sigmoid 函數(shù)輸出 0.0 ~ 1.0 的實(shí)數(shù);5. LSTM 的多層化、Dropout 和權(quán)重共享等技巧可以有效改進(jìn)語(yǔ)言模型;6. RNN 的正則化很重要,人們提出了各種基于 Dropout 的方法;

第七章

基于 RNN 生成文本

在第 5 章和第 6 章中,我們仔細(xì)研究了 RNN 和 LSTM 的結(jié)構(gòu)及其實(shí)現(xiàn)?,F(xiàn)在我們已經(jīng)在代碼層面理解了它們。在本章,RNN 和 LSTM 將大顯身手,我們將利用 LSTM 實(shí)現(xiàn)幾個(gè)有趣的應(yīng)用。首先,本章將使用語(yǔ)言模型進(jìn)行文本生成。具體來(lái)說(shuō),就是使用在語(yǔ)料庫(kù)上訓(xùn)練好的語(yǔ)言模型生成新的文本。然后,我們將了解如何使用改進(jìn)過(guò)的語(yǔ)言模型生成更加自然的文本。通過(guò)這項(xiàng)工作,我們可以(簡(jiǎn)單地)體驗(yàn)基于 AI 的文本創(chuàng)作。另外,本章還會(huì)介紹一種結(jié)構(gòu)名為 seq2seq 的新神經(jīng)網(wǎng)絡(luò)。seq2seq 是 “(from) sequence to sequence”(從時(shí)序到時(shí)序)的意思,即將一個(gè)時(shí)序數(shù)據(jù)轉(zhuǎn)換為另一個(gè)時(shí)序數(shù)據(jù)。本章我們將看到,通過(guò)組合兩個(gè) RNN,可以輕松實(shí)現(xiàn) seq2seq。seq2seq 可以應(yīng)用于多個(gè)應(yīng)用,比如機(jī)器翻譯、聊天機(jī)器人和郵件自動(dòng)回復(fù)等。通過(guò)理解這個(gè)簡(jiǎn)單但聰明強(qiáng)大的 seq2seq,應(yīng)用深度學(xué)習(xí)的可能性將進(jìn)一步擴(kuò)大。

本章所學(xué)技能

1. 基于 RNN 的語(yǔ)言模型可以生成新的文本;2. 在進(jìn)行文本生成時(shí),重復(fù)“輸入一個(gè)單詞(字符),基于模型的輸出(概率分布)進(jìn)行采樣”這一過(guò)程;3. 通過(guò)組合兩個(gè) RNN,可以將一個(gè)時(shí)序數(shù)據(jù)轉(zhuǎn)換為另一個(gè)時(shí)序數(shù)據(jù)(seq2seq);4. 在 seq2seq 中,編碼器對(duì)輸入語(yǔ)句進(jìn)行編碼,解碼器接收并解碼這個(gè)編碼信息,獲得目標(biāo)輸出語(yǔ)句;5. 反轉(zhuǎn)輸入語(yǔ)句(Reverse)和將編碼信息分配給解碼器的多個(gè)層(Peeky)可以有效提高 seq2seq 的精度;6. seq2seq 可以用在機(jī)器翻譯、聊天機(jī)器人和自動(dòng)圖像描述等各種各樣的應(yīng)用中;

第八章

Attention

上一章我們使用 RNN 生成了文本,又通過(guò)連接兩個(gè) RNN,將一個(gè)時(shí)序數(shù)據(jù)轉(zhuǎn)換為了另一個(gè)時(shí)序數(shù)據(jù)。我們將這個(gè)網(wǎng)絡(luò)稱為 seq2seq,并用它成功求解了簡(jiǎn)單的加法問(wèn)題。之后,我們對(duì)這個(gè) seq2seq 進(jìn)行了幾處改進(jìn),幾乎完美地解決了這個(gè)簡(jiǎn)單的加法問(wèn)題。本章我們將進(jìn)一步探索 seq2seq 的可能性(以及 RNN 的可能性)。這里,Attention 這一強(qiáng)大而優(yōu)美的技術(shù)將登場(chǎng)。Attention 毫無(wú)疑問(wèn)是近年來(lái)深度學(xué)習(xí)領(lǐng)域最重要的技術(shù)之一。

本章的目標(biāo)是在代碼層面理解 Attention 的結(jié)構(gòu),然后將其應(yīng)用于實(shí)際問(wèn)題,體驗(yàn)它的奇妙效果。

本章所學(xué)技能

1. 在翻譯、語(yǔ)音識(shí)別等將一個(gè)時(shí)序數(shù)據(jù)轉(zhuǎn)換為另一個(gè)時(shí)序數(shù)據(jù)的任務(wù)中,時(shí)序數(shù)據(jù)之間常常存在對(duì)應(yīng)關(guān)系;2. Attention 從數(shù)據(jù)中學(xué)習(xí)兩個(gè)時(shí)序數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系;3. Attention 使用向量?jī)?nèi)積(方法之一)計(jì)算向量之間的相似度,并輸出這個(gè)相似度的加權(quán)和向量;4. 因?yàn)?Attention 中使用的運(yùn)算是可微分的,所以可以基于誤差反向傳播法進(jìn)行學(xué)習(xí);5. 通過(guò)將 Attention 計(jì)算出的權(quán)重(概率)可視化,可以觀察輸入與輸出之間的對(duì)應(yīng)關(guān)系;6. 在基于外部存儲(chǔ)裝置擴(kuò)展神經(jīng)網(wǎng)絡(luò)的研究示例中,Attention 被用來(lái)讀寫內(nèi);

從作者角度看,要深入理解深度學(xué)習(xí),“從零開(kāi)始創(chuàng)建”的經(jīng)驗(yàn)非常重要。從零開(kāi)始創(chuàng)建,是指從自己可以理解的地方出發(fā),在盡量不使用外部現(xiàn)成品的情況下,實(shí)現(xiàn)目標(biāo)技術(shù)。本書是基于深度學(xué)習(xí)的自然語(yǔ)言處理。目標(biāo)就是通過(guò)這樣的過(guò)程來(lái)切實(shí)掌握深度學(xué)習(xí),簡(jiǎn)言之,自然語(yǔ)言處理是讓計(jì)算機(jī)理解我們?nèi)粘Kf(shuō)的語(yǔ)言的技術(shù)。


讓計(jì)算機(jī)理解我們所說(shuō)的語(yǔ)言是一件非常難的事情,同時(shí)也非常重要。實(shí)際上,自然語(yǔ)言處理技術(shù)已經(jīng)極大地改變了我們的生活。Web 檢索、機(jī)器翻譯、語(yǔ)音助理,這些對(duì)世界產(chǎn)生了重大影響的技術(shù)在底層都用到了自然語(yǔ)言處理技術(shù)。本書從深度學(xué)習(xí)的視角探索自然語(yǔ)言處理,建議讀者像讀連載故事一樣,從頭開(kāi)始順序閱讀。在遇到問(wèn)題時(shí),我們會(huì)先想辦法解決問(wèn)題,然后再改進(jìn)解決辦法。按照這種流程,我們以深度學(xué)習(xí)為武器,解決關(guān)于自然語(yǔ)言處理的各種問(wèn)題。通過(guò)這次探險(xiǎn),希望讀者能深入理解深度學(xué)習(xí)中的重要技巧,并體會(huì)到它們的有趣之處。

AI 領(lǐng)域的又一個(gè)「神本」

暢銷書「魚書」的續(xù)作

《深度學(xué)習(xí)進(jìn)階:自然語(yǔ)言處理》

搶先上市


火遍日本 IT 界的「魚書」續(xù)作來(lái)襲,原來(lái)進(jìn)階深度學(xué)習(xí)竟然那么簡(jiǎn)單的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
咸阳市| 昆山市| 多伦县| 农安县| 泽州县| 沂源县| 博客| 凤翔县| 衡东县| 新建县| 栾川县| 宜丰县| 略阳县| 滨海县| 丹东市| 平塘县| 梁山县| 安仁县| 封开县| 安达市| 易门县| 遂川县| 阳春市| 印江| 师宗县| 青州市| 习水县| 汉寿县| 盘山县| 四平市| 肥东县| 理塘县| 青田县| 黄山市| 古田县| 无锡市| 忻州市| 邵东县| 广水市| 宁化县| 淮安市|