RNN vs FFNN

FFNN(前饋神經(jīng)網(wǎng)絡(luò))的局限性

前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network, FFNN):前饋神經(jīng)網(wǎng)絡(luò)(FFNN),也稱為多層感知機(jī)(MLP),通過(guò)多個(gè)隱藏層將輸入數(shù)據(jù)映射到輸出數(shù)據(jù)。它主要由輸入層、一個(gè)或多個(gè)隱藏層以及輸出層組成,數(shù)據(jù)在網(wǎng)絡(luò)中只能單向流動(dòng),即從輸入層經(jīng)過(guò)隱藏層最終到達(dá)輸出層,沒(méi)有反饋環(huán)路。

FFNN

FFNN的局限性:FFNN這種結(jié)構(gòu)在處理序列數(shù)據(jù)時(shí)存在明顯的局限性,因?yàn)槊總€(gè)輸入都是獨(dú)立處理的,并且沒(méi)有考慮它們之間的順序或上下文關(guān)系。這意味著無(wú)法有效處理順序數(shù)據(jù)并捕獲輸入之間的依賴關(guān)系。例如語(yǔ)言建模、機(jī)器翻譯、語(yǔ)音識(shí)別、時(shí)間序列分析以及許多其他需要順序處理的應(yīng)用程序。

Sequence Data

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

RNN的核心思想為了解決FFNN在處理序列數(shù)據(jù)時(shí)的局限性,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)被引入。RNN的核心思想是在隱藏層之間引入循環(huán)連接,使得每個(gè)時(shí)間步的隱藏狀態(tài)不僅取決于當(dāng)前時(shí)間步的輸入,還取決于前一個(gè)時(shí)間步的隱藏狀態(tài)。

RNN 最主要也是最重要的特征是它的隱藏狀態(tài),它可以記住有關(guān)序列的一些信息。該狀態(tài)也稱為記憶狀態(tài),因?yàn)樗鼤?huì)記住網(wǎng)絡(luò)的先前輸入。

RNN的隱藏狀態(tài)

RNN的模型架構(gòu):RNN通過(guò)其隱藏層的隱藏狀態(tài)捕捉輸入序列的時(shí)序依賴性,并基于當(dāng)前輸入和前一隱藏狀態(tài)來(lái)生成輸出序列的預(yù)測(cè)結(jié)果。

輸入層- 隱藏層 – 輸出層

RNN的工作原理通過(guò)一個(gè)具體的案例來(lái)看看RNN的工作原理。例如,用戶說(shuō)了一句“what time is it?”,需要判斷用戶的說(shuō)話意圖,是問(wèn)時(shí)間,還是問(wèn)天氣?

對(duì)句子進(jìn)行分詞

Hidden State存儲(chǔ)了之前所有的輸入信息

輸出結(jié)果:Asking for the time

RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))的局限性

RNN的局限性在于梯度問(wèn)題導(dǎo)致難以學(xué)習(xí)長(zhǎng)期依賴,長(zhǎng)期記憶能力不足,且并行處理能力差。

1. 梯度消失和梯度爆炸問(wèn)題

2. 長(zhǎng)期依賴捕捉能力有限

3. 并行處理能力較差


梯度消失和梯度爆炸

二、神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(NNLM)

神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(Neural Network Language Model, NNLM)是一種利用神經(jīng)網(wǎng)絡(luò)架構(gòu)來(lái)預(yù)測(cè)文本序列中下一個(gè)詞的語(yǔ)言模型。NNLM通過(guò)學(xué)習(xí)大量文本數(shù)據(jù)中的詞匯之間的概率關(guān)系,能夠捕捉到語(yǔ)言的結(jié)構(gòu)和語(yǔ)境,從而生成連貫且符合上下文的文本。本文旨在結(jié)合經(jīng)典論文《A Neural Probabilistic Language Model》的內(nèi)容,詳細(xì)解析NNLM的基本原理、網(wǎng)絡(luò)架構(gòu)及模型訓(xùn)練。

NNLM的基本原理

Yoshua Bengio及其團(tuán)隊(duì)在2003年的論文《A Neural Probabilistic Language Model》中首次展示了如何使用神經(jīng)網(wǎng)絡(luò)(特別是多層感知器MLP)來(lái)構(gòu)建語(yǔ)言模型,這一工作不僅為后續(xù)的深度學(xué)習(xí)在NLP中的應(yīng)用奠定了基石,還意外地催生了詞嵌入(word embedding)這一重要概念。
NNLM的核心思想:利用神經(jīng)網(wǎng)絡(luò)來(lái)建模自然語(yǔ)言中的詞語(yǔ)序列,從而預(yù)測(cè)給定上下文條件下下一個(gè)詞出現(xiàn)的概率。與傳統(tǒng)的n-gram模型相比,NNLM能夠捕捉更長(zhǎng)的上下文依賴關(guān)系,并且通過(guò)詞嵌入技術(shù)將詞語(yǔ)映射到連續(xù)的向量空間中,使得相似的詞語(yǔ)在向量空間中具有相近的表示。

NNLM開(kāi)山之作NNLM中的Distributed Representation(分布式表示)是Embedding(嵌入)最早的理論支撐之一,它代表了一種將單詞或文本表示為連續(xù)向量空間的技術(shù)。這種表示方法相比傳統(tǒng)的獨(dú)熱編碼(One-Hot Encoding)具有顯著的優(yōu)勢(shì),能夠捕捉到單詞之間的語(yǔ)義關(guān)系。

distributed representation vs one-hot representation

NNLM的網(wǎng)絡(luò)架構(gòu)

NNLM的目標(biāo):NNLM是一個(gè)用于語(yǔ)言建模的神經(jīng)模型,該模型旨在學(xué)習(xí)一個(gè)函數(shù)f,該函數(shù)可以根據(jù)給定的前置詞匯預(yù)測(cè)序列中的下一個(gè)詞匯。

函數(shù)f模型 f 分解為兩個(gè)主要部分:詞嵌入層(C)和概率函數(shù)(g)。詞嵌入層將詞匯轉(zhuǎn)換為向量表示,而概率函數(shù)則利用這些向量預(yù)測(cè)文本序列中下一個(gè)詞匯的概率分布。

  1. 詞嵌入層(C):將詞匯表中的每個(gè)詞匯轉(zhuǎn)換成一個(gè)實(shí)值向量。這些向量代表了詞匯的分布式特征,即它們不僅僅表示詞匯本身,還包含了詞匯在不同上下文中的語(yǔ)義信息。
  2. 概率函數(shù)(g):根據(jù)給定的上下文信息來(lái)預(yù)測(cè)下一個(gè)詞匯出現(xiàn)的概率。由多個(gè)詞匯組成的上下文(比如前面的n-1個(gè)詞匯),概率函數(shù)g會(huì)利用這些詞匯的向量表示(即詞嵌入層輸出的向量)來(lái)估計(jì)下一個(gè)詞匯出現(xiàn)的概率分布。

詞嵌入層(C)和概率函數(shù)(g)

NNLM的網(wǎng)絡(luò)架構(gòu):根據(jù)《A Neural Probabilistic Language Model》中的描述,NNLM主要由輸入層、隱藏層及輸出層三部分組成。通過(guò)輸入層接收前文單詞序列的向量表示,在隱藏層中捕捉復(fù)雜的語(yǔ)言結(jié)構(gòu),最后在輸出層輸出每個(gè)單詞作為下一個(gè)詞出現(xiàn)的概率分布。

NNLM的網(wǎng)絡(luò)架構(gòu)

輸入層

輸入層

隱藏層

隱藏層

輸出層

輸出層

NNLM的網(wǎng)絡(luò)架構(gòu)

NNLM的模型訓(xùn)練

NNLM的模型訓(xùn)練:NNLM的訓(xùn)練過(guò)程旨在最大化訓(xùn)練數(shù)據(jù)中序列的聯(lián)合概率,即最大化給定前文單詞的條件下,下一個(gè)單詞出現(xiàn)的概率。在訓(xùn)練過(guò)程中,分布式表示(即詞嵌入)是作為模型的訓(xùn)練參數(shù)之一進(jìn)行更新的。

NNLM

NNLM訓(xùn)練過(guò)程:通過(guò)前向傳播計(jì)算輸出,利用損失函數(shù)評(píng)估差異,然后反向傳播更新權(quán)重,迭代優(yōu)化直至收斂或達(dá)到預(yù)設(shè)迭代次數(shù)。這通常通過(guò)最小化負(fù)對(duì)數(shù)似然(negative log-likelihood)損失函數(shù)來(lái)實(shí)現(xiàn)。

最小化負(fù)對(duì)數(shù)似然

其中 R( θ) 是正則化項(xiàng)(例如,權(quán)重衰減),使用隨機(jī)梯度上升法更新參數(shù) θ

更新參數(shù) θ

其中 ? 是學(xué)習(xí)率。

三、人工神經(jīng)網(wǎng)絡(luò)與貝葉斯網(wǎng)絡(luò)

大模型,特別是那些擁有數(shù)十億甚至更多參數(shù)的深度學(xué)習(xí)模型,往往是以人工神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的。這些模型通過(guò)堆疊多個(gè)隱藏層、增加神經(jīng)元數(shù)量和使用復(fù)雜的非線性激活函數(shù),來(lái)構(gòu)建能夠處理復(fù)雜任務(wù)(如自然語(yǔ)言處理、圖像識(shí)別等)的深度神經(jīng)網(wǎng)絡(luò)。

大模型與人工神經(jīng)網(wǎng)絡(luò)的關(guān)系

什么是人工神經(jīng)網(wǎng)絡(luò)(ANN)?人工神經(jīng)網(wǎng)絡(luò)(ANN)是一種模仿生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能的計(jì)算模型。它由多個(gè)層組成,包括輸入層、隱藏層(可能有多層)和輸出層。每一層都包含多個(gè)神經(jīng)元(或稱為節(jié)點(diǎn)),這些神經(jīng)元通過(guò)帶權(quán)重的連接相互連接。

ANN 輸入層接收外部數(shù)據(jù),隱藏層對(duì)數(shù)據(jù)進(jìn)行處理,輸出層則產(chǎn)生最終的輸出。神經(jīng)元的激活通常通過(guò)一個(gè)非線性函數(shù)(如sigmoid、ReLU等)來(lái)實(shí)現(xiàn),這使得網(wǎng)絡(luò)能夠?qū)W習(xí)復(fù)雜的非線性關(guān)系。

ANN 
大模型與人工神經(jīng)網(wǎng)絡(luò)的關(guān)系:LLM的核心是ANN(人工神經(jīng)網(wǎng)絡(luò)),基于人工神經(jīng)網(wǎng)絡(luò)構(gòu)建更大規(guī)模和復(fù)雜度更高的深度學(xué)習(xí)模型。

  1. PLM(預(yù)訓(xùn)練模型):預(yù)訓(xùn)練語(yǔ)言模型通常使用互聯(lián)網(wǎng)上的海量文本數(shù)據(jù)作為訓(xùn)練語(yǔ)料,這些語(yǔ)料庫(kù)可能包含數(shù)十億甚至數(shù)千億個(gè)單詞。這些模型通過(guò)在大量的未標(biāo)注文本數(shù)據(jù)上進(jìn)行學(xué)習(xí),掌握了語(yǔ)言的共性和規(guī)律,進(jìn)而能夠應(yīng)用于各種NLP下游任務(wù)。
  2. 數(shù)據(jù) + 算力:算力作基礎(chǔ),數(shù)據(jù)為驅(qū)動(dòng);無(wú)監(jiān)督預(yù)訓(xùn)練(Pre-training),有監(jiān)督微調(diào)(Fine-tuning)。
  3. 權(quán)重w和偏置b:模型參數(shù)包括每一層的權(quán)重(weight)和偏置項(xiàng)(bias)。這些參數(shù)在訓(xùn)練過(guò)程中通過(guò)反向傳播算法進(jìn)行調(diào)整,以最小化損失函數(shù)。

LLM 》DL 》ANN

人工神經(jīng)網(wǎng)絡(luò)與貝葉斯網(wǎng)絡(luò)的關(guān)系

什么是貝葉斯網(wǎng)絡(luò)(BN)?貝葉斯網(wǎng)絡(luò)(Bayesian Network,簡(jiǎn)稱BN)是一種基于概率推理的圖形模型,用于表示變量之間的依賴關(guān)系。它由一個(gè)有向無(wú)環(huán)圖(Directed Acyclic Graph,DAG)和條件概率表(Conditional Probability Table,CPT)組成。

Bayesian Network

Bayesian Network

人工神經(jīng)網(wǎng)絡(luò)與貝葉斯網(wǎng)絡(luò)的關(guān)系:兩者都是有向圖模型,其中每個(gè)節(jié)點(diǎn)的取值或狀態(tài)僅依賴于其直接前驅(qū)節(jié)點(diǎn),即遵循馬爾可夫假設(shè)。這種結(jié)構(gòu)使得模型能夠清晰地表示變量之間的依賴關(guān)系。

ANN vs Bayesian Network

Direction Graph

Markov Chain

四、語(yǔ)言模型的發(fā)展歷程

語(yǔ)言模型的發(fā)展歷程

語(yǔ)言模型(LM,Language Model)的發(fā)展歷程可以清晰地劃分為三個(gè)主要階段:統(tǒng)計(jì)語(yǔ)言模型、神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型以及基于Transformer的大語(yǔ)言模型。每個(gè)階段的模型都在前一個(gè)階段的基礎(chǔ)上進(jìn)行了改進(jìn)和優(yōu)化,使得語(yǔ)言模型的性能得到了顯著提升。

語(yǔ)言模型的發(fā)展歷程

統(tǒng)計(jì)語(yǔ)言模型

什么是統(tǒng)計(jì)語(yǔ)言模型?統(tǒng)計(jì)語(yǔ)言模型是早期自然語(yǔ)言處理(NLP)中的重要工具,它們主要通過(guò)分析詞序列的出現(xiàn)頻率來(lái)預(yù)測(cè)下一個(gè)詞。這種方法基于統(tǒng)計(jì)學(xué)的原理,利用大規(guī)模語(yǔ)料庫(kù)中的詞頻信息來(lái)建模語(yǔ)言的概率分布。代表模型:N-gram模型、隱馬爾可夫模型(HMM)

  1. N-gram模型:這是最常見(jiàn)的統(tǒng)計(jì)語(yǔ)言模型之一,它基于馬爾可夫假設(shè),認(rèn)為一個(gè)詞出現(xiàn)的概率僅與其前面的n-1個(gè)詞有關(guān)。N-gram模型簡(jiǎn)單易用,但存在數(shù)據(jù)稀疏和無(wú)法捕捉長(zhǎng)距離依賴關(guān)系的問(wèn)題。
  2. 隱馬爾可夫模型(HMM):另一種重要的統(tǒng)計(jì)語(yǔ)言模型,通過(guò)引入隱藏狀態(tài)來(lái)捕捉序列數(shù)據(jù)中的潛在結(jié)構(gòu)。

統(tǒng)計(jì)語(yǔ)言模型

N-gram模型:N-gram模型是一種基于統(tǒng)計(jì)語(yǔ)言模型的文本分析算法,它用于預(yù)測(cè)文本中下一個(gè)詞出現(xiàn)的概率,基于前面出現(xiàn)的n-1個(gè)詞的序列。這里的n代表序列中元素的數(shù)量,因此稱為N-gram。

N-gram

N-gram模型的工作原理:N-gram模型通過(guò)統(tǒng)計(jì)語(yǔ)料庫(kù)中n-gram序列的頻率,估計(jì)給定前n-1個(gè)元素后下一個(gè)元素出現(xiàn)的概率,從而實(shí)現(xiàn)文本預(yù)測(cè)。

  1. 語(yǔ)料庫(kù)準(zhǔn)備:首先,需要有一個(gè)大型的文本語(yǔ)料庫(kù),用于訓(xùn)練N-gram模型。
  2. 計(jì)算頻率:然后,計(jì)算語(yǔ)料庫(kù)中所有可能的n-gram序列的頻率。
  3. 概率估計(jì):根據(jù)這些頻率,可以估計(jì)出給定n-1個(gè)詞后,下一個(gè)詞出現(xiàn)的概率。
  4. 預(yù)測(cè):在預(yù)測(cè)階段,給定一個(gè)詞序列的前n-1個(gè)詞,模型可以輸出下一個(gè)詞的概率分布,從而可以選擇最可能的詞作為預(yù)測(cè)結(jié)果。

N-gram

神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型

什么是神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型?隨著深度學(xué)習(xí)技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)開(kāi)始被應(yīng)用于語(yǔ)言建模任務(wù)中。神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型通過(guò)引入神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來(lái)捕捉詞與詞之間的復(fù)雜關(guān)系,從而提高了語(yǔ)言模型的性能。代表模型:NNLM、RNN、LSTM、GRU

  1. 神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(NNLM):由Bengio等人提出,通過(guò)嵌入層將單詞映射到連續(xù)的向量空間中,并通過(guò)多個(gè)隱藏層來(lái)學(xué)習(xí)語(yǔ)言的內(nèi)部結(jié)構(gòu)。NNLM能夠捕捉詞與詞之間的語(yǔ)義關(guān)系,提高了語(yǔ)言模型的預(yù)測(cè)能力。
  2. 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)及其變體(LSTM、GRU):RNN通過(guò)引入循環(huán)連接來(lái)處理序列數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系。LSTM和GRU是RNN的改進(jìn)版本,通過(guò)引入門控機(jī)制來(lái)解決梯度消失或梯度爆炸問(wèn)題。

神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型

NNLM:一種基于神經(jīng)網(wǎng)絡(luò)的方法來(lái)建模自然語(yǔ)言中的詞語(yǔ)序列。與傳統(tǒng)的統(tǒng)計(jì)語(yǔ)言模型(如n-gram模型)相比,NNLM能夠捕捉更復(fù)雜的語(yǔ)言結(jié)構(gòu)和語(yǔ)義信息,因?yàn)樗昧松窠?jīng)網(wǎng)絡(luò)強(qiáng)大的非線性建模能力。

NNLM

NNLM的工作原理:通過(guò)嵌入層將輸入的固定長(zhǎng)度前文單詞序列轉(zhuǎn)換為連續(xù)向量表示,然后利用一個(gè)或多個(gè)隱藏層學(xué)習(xí)這些向量的語(yǔ)言結(jié)構(gòu),最后由輸出層輸出下一個(gè)單詞的概率分布,以最大化給定前文條件下的單詞預(yù)測(cè)準(zhǔn)確性。

NNLM

基于Transformer的大語(yǔ)言模型

什么是基于Transformer的大語(yǔ)言模型?基于Transformer的大語(yǔ)言模型在預(yù)訓(xùn)練階段利用大規(guī)模語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,然后在特定任務(wù)上進(jìn)行微調(diào),取得了驚人的效果。代表模型:BERT、GPT系列

  1. BERT:由Google提出的一種基于Transformer的雙向編碼器表示模型。BERT在預(yù)訓(xùn)練階段采用了遮蔽語(yǔ)言模型(Masked Language Model)和下一句預(yù)測(cè)(Next Sentence Prediction)兩個(gè)任務(wù)來(lái)訓(xùn)練模型,提高了模型的語(yǔ)言表示能力。
  2. GPT系列:由OpenAI開(kāi)發(fā)的基于Transformer的生成式預(yù)訓(xùn)練模型。GPT系列模型在預(yù)訓(xùn)練階段采用了自回歸語(yǔ)言建模任務(wù)來(lái)訓(xùn)練模型,能夠生成連貫、自然的文本。隨著模型規(guī)模的增大(如GPT-3、GPT-4等),GPT系列模型在多個(gè)NLP任務(wù)上取得了優(yōu)異的表現(xiàn)。

基于Transformer的大語(yǔ)言模型

Transformer模型:Transformer模型由Vaswani等人在2017年提出,是一種基于自注意力機(jī)制的深度學(xué)習(xí)模型。它徹底摒棄了傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)自注意力機(jī)制和位置編碼來(lái)處理序列數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系和位置信息。

Transformer

  1. Encoder-Decoder Architecture(編碼器-解碼器架構(gòu))
  2. Embedding(向量化)
  3. Attention(注意力機(jī)制)
  4. Position Encoding(位置編碼)
  5. Multi-Head Attention(多頭注意力機(jī)制)
  6. Feed-Forward Network(前饋網(wǎng)絡(luò))
  7. Residual Connection and Layer Normalization(殘差連接和層歸一化)

Transformer

文章轉(zhuǎn)自微信公眾號(hào)@架構(gòu)師帶你玩轉(zhuǎn)AI

上一篇:

圖神經(jīng)網(wǎng)絡(luò)研究綜述(GNN)

下一篇:

一文徹底搞懂機(jī)器學(xué)習(xí) - 決策樹(shù)(Decision Tree)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)