深度學(xué)習(xí)與自然語(yǔ)言處理 主要概念一覽


CS224d-Day 1:

要開(kāi)始系統(tǒng)地學(xué)習(xí) NLP 課程 cs224d,今天先來(lái)一個(gè)課程概覽榜揖。
課程一共有16節(jié)浑厚,先對(duì)每一節(jié)中提到的模型,算法根盒,工具有個(gè)總體的認(rèn)識(shí)钳幅,知道都有什么,以及它們可以做些什么事情炎滞。


簡(jiǎn)介:

1. Intro to NLP and Deep Learning

NLP:

Natural Language Processing (自然語(yǔ)言處理)的目的敢艰,就是讓計(jì)算機(jī)能‘懂得’人類(lèi)對(duì)它‘說(shuō)’的話(huà),然后去執(zhí)行一些指定的任務(wù)册赛。

這些任務(wù)有什么呢钠导?

Easy:
? Spell Checking--拼寫(xiě)檢查
? Keyword Search--關(guān)鍵詞提取&搜索
? Finding Synonyms--同義詞查找&替換
Medium:
? Parsing information from websites, documents, etc.--從網(wǎng)頁(yè)中提取有用的信息例如產(chǎn)品價(jià)格,日期森瘪,地址牡属,人名或公司名等
Hard:
? Machine Translation (e.g. Translate Chinese text to English)--自動(dòng)的或輔助的翻譯技術(shù)
? Semantic Analysis (What is the meaning of query statement?)--市場(chǎng)營(yíng)銷(xiāo)或者金融交易領(lǐng)域的情感分析
? Coreference (e.g. What does "he" or "it" refer to given a document?)
? Question Answering (e.g. Answering Jeopardy questions).--復(fù)雜的問(wèn)答系統(tǒng)

NLP的難點(diǎn):
  • 情境多樣
  • 語(yǔ)言歧義

Deep Learning:

深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,嘗試自動(dòng)的學(xué)習(xí)合適的特征及其表征扼睬,嘗試學(xué)習(xí)多層次的表征以及輸出逮栅。

它在NLP的一些應(yīng)用領(lǐng)域上有顯著的效果,例如機(jī)器翻譯窗宇,情感分析措伐,問(wèn)答系統(tǒng)等。

和傳統(tǒng)方法相比军俊,深度學(xué)習(xí)的重要特點(diǎn)侥加,就是用向量表示各種級(jí)別的元素,傳統(tǒng)方法會(huì)用很精細(xì)的方法去標(biāo)注粪躬,深度學(xué)習(xí)的話(huà)會(huì)用向量表示 單詞担败,短語(yǔ),邏輯表達(dá)式和句子镰官,然后搭建多層神經(jīng)網(wǎng)絡(luò)去自主學(xué)習(xí)提前。

這里有簡(jiǎn)明扼要的對(duì)比總結(jié)。

向量表示:
詞向量:

  • One-h(huán)ot 向量:
    記詞典里有 |V| 個(gè)詞朋魔,每個(gè)詞都被表示成一個(gè) |V| 維的向量岖研,設(shè)這個(gè)詞在字典中相應(yīng)的順序?yàn)?i卿操,則向量中 i 的位置上為 1警检,其余位置為 0.

  • 詞-文檔矩陣:
    構(gòu)建一個(gè)矩陣 X孙援,每個(gè)元素 Xij 代表 單詞 i 在文檔 j 中出現(xiàn)的次數(shù)。

  • 詞-詞共現(xiàn)矩陣:
    構(gòu)建矩陣 X扇雕,每個(gè)元素 Xij 代表 單詞 i 和單詞 j 在同一個(gè)窗口中出現(xiàn)的次數(shù)拓售。


模型算法:

2. Simple Word Vector representations: word2vec, GloVe

word2vec:

word2vec是一套能將詞向量化的工具,Google在13年將其開(kāi)源镶奉,代碼可以見(jiàn) https://github.com/burness/word2vec 础淤,它將文本內(nèi)容處理成為指定維度大小的實(shí)數(shù)型向量表示,并且其空間上的相似度可以用來(lái)表示文本語(yǔ)義的相似度哨苛。

Word2vec的原理主要涉及到統(tǒng)計(jì)語(yǔ)言模型(包括N-gram模型和神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型)鸽凶,continuousbag-of-words 模型以及 continuous skip-gram 模型。

  • N-gram的意思就是每個(gè)詞出現(xiàn)只看其前面的n個(gè)詞建峭,可以對(duì)每個(gè)詞出現(xiàn)的概率進(jìn)行近似玻侥。
    比如當(dāng)n=2的時(shí)候:
  • 神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(NNLM)用特征向量來(lái)表征每個(gè)詞各個(gè)方面的特征。NNLM的基礎(chǔ)是一個(gè)聯(lián)合概率:

其神經(jīng)網(wǎng)絡(luò)的目的是要學(xué)習(xí):

  • Continuous Bag-of-Words(CBOW) 模型與NNLM類(lèi)似亿蒸,結(jié)構(gòu)如下:

CBOW是通過(guò)上下文來(lái)預(yù)測(cè)中間的詞凑兰,如果窗口大小為k,則模型預(yù)測(cè):

其神經(jīng)網(wǎng)絡(luò)就是用正負(fù)樣本不斷訓(xùn)練边锁,求解輸出值與真實(shí)值誤差姑食,然后用梯度下降的方法求解各邊權(quán)重參數(shù)值的。

  • Continuous skip-gram 模型與CBOW正好相反茅坛,是通過(guò)中間詞來(lái)預(yù)測(cè)前后詞音半,一般可以認(rèn)為位置距離接近的詞之間的聯(lián)系要比位置距離較遠(yuǎn)的詞的聯(lián)系緊密。目標(biāo)為最大化:

結(jié)構(gòu)為:

應(yīng)用:

  • 同義詞查找贡蓖,
  • 文本聚類(lèi)祟剔,實(shí)現(xiàn)方法:用關(guān)鍵詞來(lái)表征文本。關(guān)鍵詞提取用TF-IDF摩梧,然后用word2vec訓(xùn)練得到關(guān)鍵詞向量物延,再用k-means聚類(lèi),最后文本就能夠以關(guān)鍵詞的類(lèi)別進(jìn)行分類(lèi)了仅父。
  • 文本類(lèi)別投遞叛薯,實(shí)現(xiàn)方法:人工標(biāo)記出該詞屬于各個(gè)類(lèi)別的概率,出全體詞屬于各個(gè)類(lèi)別的概率笙纤。

Glove:

Global Vectors 的目的就是想要綜合前面講到的 word-document 和 word-windows 兩種表示方法耗溜,做到對(duì)word的表示即 sementic 的表達(dá)效果好,syntactic 的表達(dá)效果也好:

3. Advanced word vector representations: language models, softmax, single layer networks

softmax:

softmax 模型是 logistic 模型在多分類(lèi)問(wèn)題上的推廣省容, logistic 回歸是針對(duì)二分類(lèi)問(wèn)題的抖拴,類(lèi)標(biāo)記為{0, 1}。在softmax模型中阿宅,label可以為k個(gè)不同的值候衍。

4. Neural Networks and backpropagation -- for named entity recognition

5. Project Advice, Neural Networks and Back-Prop (in full gory detail)

Neural Networks:

神經(jīng)網(wǎng)絡(luò)是受生物學(xué)啟發(fā)的分類(lèi)器,可以學(xué)習(xí)更復(fù)雜的函數(shù)和非線性決策邊界洒放。


模型調(diào)優(yōu):

6. Practical tips: gradient checks, overfitting, regularization, activation functions, details

UFLDL:Unsupervised Feature Learning and Deep Learning

Gradient Checking(梯度檢測(cè)):

反向傳播因?yàn)榧?xì)節(jié)太多蛉鹿,往往會(huì)導(dǎo)致一些小的錯(cuò)誤,尤其是和梯度下降法或者其他優(yōu)化算法一起運(yùn)行時(shí)往湿,看似每次 J(Θ) 的值在一次一次迭代中減小妖异,但神經(jīng)網(wǎng)絡(luò)的誤差可能會(huì)大過(guò)實(shí)際正確計(jì)算的結(jié)果。

針對(duì)這種小的錯(cuò)誤领追,有一種梯度檢驗(yàn)(Gradient checking)的方法他膳,通過(guò)數(shù)值梯度檢驗(yàn),你能肯定確實(shí)是在正確地計(jì)算代價(jià)函數(shù)(Cost Function)的導(dǎo)數(shù)绒窑。

GC需要對(duì)params中的每一個(gè)參數(shù)進(jìn)行check矩乐,也就是依次給每一個(gè)參數(shù)一個(gè)極小量。

overfitting:

就是訓(xùn)練誤差Ein很小回论,但是實(shí)際的真實(shí)誤差就可能很大散罕,也就是模型的泛化能力很差(bad generalization)

發(fā)生overfitting 的主要原因是:(1)使用過(guò)于復(fù)雜的模型(dvc 很大);(2)數(shù)據(jù)噪音傀蓉;(3)有限的訓(xùn)練數(shù)據(jù)欧漱。

regularization:

為了提高模型的泛化能力,最常見(jiàn)方法便是:正則化葬燎,即在對(duì)模型的目標(biāo)函數(shù)(objective function)或代價(jià)函數(shù)(cost function)加上正則項(xiàng)误甚。


平臺(tái):

7. Introduction to Tensorflow

Tensorflow:

Tensorflow 是 python 封裝的深度學(xué)習(xí)庫(kù),非常容易上手谱净,對(duì)分布式系統(tǒng)支持比 Theano 好窑邦,同時(shí)還是 Google 提供資金研發(fā)的

在Tensorflow里:

  • 使用張量(tensor)表示數(shù)據(jù).
  • 使用圖(graph)來(lái)表示計(jì)算任務(wù).
  • 在被稱(chēng)之為會(huì)話(huà)(Session)的上下文 (context)中執(zhí)行圖.
  • 通過(guò)變量 (Variable)維護(hù)狀態(tài).
  • 使用feed和fetch可以為任意的操作(arbitrary operation)賦值或者從其中獲取數(shù)據(jù).

TensorFlow 算是一個(gè)編程系統(tǒng),它使用圖來(lái)表示計(jì)算任務(wù)壕探,圖中的節(jié)點(diǎn)被稱(chēng)之為operation(可以縮寫(xiě)成op)冈钦,一個(gè)節(jié)點(diǎn)獲得0個(gè)或者多個(gè)張量(tensor,下文會(huì)介紹到)李请,執(zhí)行計(jì)算瞧筛,產(chǎn)生0個(gè)或多個(gè)張量。


模型與應(yīng)用:

8. Recurrent neural networks -- for language modeling and other tasks

RNN:

在深度學(xué)習(xí)領(lǐng)域导盅,傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)(feed-forward neural net较幌,簡(jiǎn)稱(chēng)FNN)具有出色的表現(xiàn)。

在前饋網(wǎng)絡(luò)中白翻,各神經(jīng)元從輸入層開(kāi)始乍炉,接收前一級(jí)輸入,并輸入到下一級(jí),直至輸出層岛琼。整個(gè)網(wǎng)絡(luò)中無(wú)反饋底循,可用一個(gè)有向無(wú)環(huán)圖表示。

不同于傳統(tǒng)的FNNs衷恭,RNNs引入了定向循環(huán),能夠處理那些輸入之間前后關(guān)聯(lián)的問(wèn)題纯续。定向循環(huán)結(jié)構(gòu)如下圖所示:

9. GRUs and LSTMs -- for machine translation

傳統(tǒng)的RNN在訓(xùn)練 long-term dependencies 的時(shí)候會(huì)遇到很多困難随珠,最常見(jiàn)的便是 vanish gradient problem。期間有很多種解決這個(gè)問(wèn)題的方法被發(fā)表猬错,大致可以分為兩類(lèi):一類(lèi)是以新的方法改善或者代替?zhèn)鹘y(tǒng)的SGD方法窗看,如Bengio提出的 clip gradient;另一種則是設(shè)計(jì)更加精密的recurrent unit倦炒,如LSTM显沈,GRU。

LSTMs:

長(zhǎng)短期內(nèi)存網(wǎng)絡(luò)(Long Short Term Memory networks)是一種特殊的RNN類(lèi)型逢唤,可以學(xué)習(xí)長(zhǎng)期依賴(lài)關(guān)系拉讯。

LSTMs 刻意的設(shè)計(jì)去避免長(zhǎng)期依賴(lài)問(wèn)題。記住長(zhǎng)期的信息在實(shí)踐中RNN幾乎默認(rèn)的行為鳖藕,但是卻需要很大的代價(jià)去學(xué)習(xí)這種能力魔慷。

LSTM同樣也是鏈?zhǔn)浇Y(jié)構(gòu),但是重復(fù)的模型擁有不同的結(jié)構(gòu)著恩,它與單個(gè)的神經(jīng)網(wǎng)層不同院尔,它有四個(gè), 使用非常特別方式進(jìn)行交互喉誊。

GRUs:

Gated Recurrent Unit 也是一般的RNNs的改良版本邀摆,主要是從以下兩個(gè)方面進(jìn)行改進(jìn)。

一是伍茄,序列中不同的位置處的單詞(已單詞舉例)對(duì)當(dāng)前的隱藏層的狀態(tài)的影響不同栋盹,越前面的影響越小,即每個(gè)前面狀態(tài)對(duì)當(dāng)前的影響進(jìn)行了距離加權(quán)敷矫,距離越遠(yuǎn)贞盯,權(quán)值越小。

二是沪饺,在產(chǎn)生誤差error時(shí)躏敢,誤差可能是由某一個(gè)或者幾個(gè)單詞而引發(fā)的,所以應(yīng)當(dāng)僅僅對(duì)對(duì)應(yīng)的單詞weight進(jìn)行更新整葡。

10. Recursive neural networks -- for parsing

11. Recursive neural networks -- for different tasks (e.g. sentiment analysis)

Recursive neural networks:

和前面提到的 Recurrent Neural Network 相比:

recurrent: 時(shí)間維度的展開(kāi)件余,代表信息在時(shí)間維度從前往后的的傳遞和積累,可以類(lèi)比markov假設(shè),后面的信息的概率建立在前面信息的基礎(chǔ)上啼器。

recursive: 空間維度的展開(kāi)旬渠,是一個(gè)樹(shù)結(jié)構(gòu),就是假設(shè)句子是一個(gè)樹(shù)狀結(jié)構(gòu)端壳,由幾個(gè)部分(主語(yǔ)告丢,謂語(yǔ),賓語(yǔ))組成损谦,而每個(gè)部分又可以在分成幾個(gè)小部分岖免,即某一部分的信息由它的子樹(shù)的信息組合而來(lái),整句話(huà)的信息由組成這句話(huà)的幾個(gè)部分組合而來(lái)照捡。

12. Convolutional neural networks -- for sentence classification

Convolutional neural networks:

卷積神經(jīng)網(wǎng)絡(luò)是一種特殊的深層的神經(jīng)網(wǎng)絡(luò)模型颅湘,它的特殊性體現(xiàn)在兩個(gè)方面,一方面它的神經(jīng)元間的連接是非全連接的栗精, 另一方面同一層中某些神經(jīng)元之間的連接的權(quán)重是共享的(即相同的)闯参。它的非全連接和權(quán)值共享的網(wǎng)絡(luò)結(jié)構(gòu)使之更類(lèi)似于生物 神經(jīng)網(wǎng)絡(luò),降低了網(wǎng)絡(luò)模型的復(fù)雜度悲立,減少了權(quán)值的數(shù)量鹿寨。

13. Guest Lecture with Andrew Maas: Speech recognition
14. Guest Lecture with Thang Luong: Machine Translation

大數(shù)據(jù):

15. Guest Lecture with Quoc Le: Seq2Seq and Large Scale DL

Seq2Seq:

seq2seq 是一個(gè)機(jī)器翻譯模型,解決問(wèn)題的主要思路是通過(guò)深度神經(jīng)網(wǎng)絡(luò)模型(常用的是LSTM薪夕,長(zhǎng)短記憶網(wǎng)絡(luò)释移,一種循環(huán)神經(jīng)網(wǎng)絡(luò))將一個(gè)作為輸入的序列映射為一個(gè)作為輸出的序列,這一過(guò)程由編碼輸入與解碼輸出兩個(gè)環(huán)節(jié)組成寥殖。

Encoder:

Decoder:

注意機(jī)制是Seq2Seq中的重要組成部分:

應(yīng)用領(lǐng)域有:機(jī)器翻譯玩讳,智能對(duì)話(huà)與問(wèn)答,自動(dòng)編碼與分類(lèi)器訓(xùn)練等嚼贡。

Large Scale DL:

為了讓 Neural Networks 有更好的效果熏纯,需要更多的數(shù)據(jù),更大的模型粤策,更多的計(jì)算樟澜。

Jeff Dean On Large-Scale Deep Learning At Google


未來(lái)方向:

16. The future of Deep Learning for NLP: Dynamic Memory Networks

dynamic memory network (DMN):

利用 dynamic memory network(DMN)框架可以進(jìn)行 QA(甚至是 Understanding Natural Language)。

這個(gè)框架是由幾個(gè)模塊組成叮盘,可以進(jìn)行 end-to-end 的 training秩贰。其中核心的 module 就是Episodic Memory module,可以進(jìn)行 iterative 的 semantic + reasoning processing柔吼。


有了一個(gè)總體的了解毒费,看的熱血沸騰的,下一次開(kāi)始各個(gè)擊破愈魏!

[cs224d]

Day 1. 深度學(xué)習(xí)與自然語(yǔ)言處理 主要概念一覽
Day 2. TensorFlow 入門(mén)
Day 3. word2vec 模型思想和代碼實(shí)現(xiàn)
Day 4. 怎樣做情感分析
Day 5. CS224d-Day 5: RNN快速入門(mén)
Day 6. 一文學(xué)會(huì)用 Tensorflow 搭建神經(jīng)網(wǎng)絡(luò)
Day 7. 用深度神經(jīng)網(wǎng)絡(luò)處理NER命名實(shí)體識(shí)別問(wèn)題
Day 8. 用 RNN 訓(xùn)練語(yǔ)言模型生成文本
Day 9. RNN與機(jī)器翻譯
Day 10. 用 Recursive Neural Networks 得到分析樹(shù)
Day 11. RNN的高級(jí)應(yīng)用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末觅玻,一起剝皮案震驚了整個(gè)濱河市想际,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌溪厘,老刑警劉巖胡本,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異畸悬,居然都是意外死亡侧甫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)蹋宦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)披粟,“玉大人,你說(shuō)我怎么就攤上這事妆档∑” “怎么了虫碉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵贾惦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我敦捧,道長(zhǎng)须板,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任兢卵,我火速辦了婚禮习瑰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秽荤。我一直安慰自己甜奄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布窃款。 她就那樣靜靜地躺著课兄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晨继。 梳的紋絲不亂的頭發(fā)上烟阐,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音紊扬,去河邊找鬼蜒茄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛餐屎,可吹牛的內(nèi)容都是我干的檀葛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼腹缩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼驻谆!你這毒婦竟也來(lái)了卵凑?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤胜臊,失蹤者是張志新(化名)和其女友劉穎勺卢,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體象对,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黑忱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了勒魔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甫煞。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冠绢,靈堂內(nèi)的尸體忽然破棺而出抚吠,到底是詐尸還是另有隱情,我是刑警寧澤弟胀,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布楷力,位于F島的核電站,受9級(jí)特大地震影響孵户,放射性物質(zhì)發(fā)生泄漏萧朝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一夏哭、第九天 我趴在偏房一處隱蔽的房頂上張望检柬。 院中可真熱鬧,春花似錦竖配、人聲如沸何址。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)用爪。三九已至,卻和暖如春龄减,著一層夾襖步出監(jiān)牢的瞬間项钮,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工希停, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烁巫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓宠能,卻偏偏與公主長(zhǎng)得像亚隙,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子违崇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容