解決問(wèn)題:
- 提取特征:卷積操作提取圖像特征,如邊緣、紋理等,保留圖像特征。
- 數(shù)據(jù)降維:池化操作大幅降低參數(shù)量級(jí),實(shí)現(xiàn)數(shù)據(jù)降維,大大減少運(yùn)算量,避免過(guò)擬合。
工作原理:
- 卷積層:通過(guò)卷積核的過(guò)濾提取出圖片中局部的特征,類(lèi)似初級(jí)視覺(jué)皮層進(jìn)行初步特征提取。
池化層:下采樣實(shí)現(xiàn)數(shù)據(jù)降維,大大減少運(yùn)算量,避免過(guò)擬合。
- 全連接層:經(jīng)過(guò)卷積層和池化層處理過(guò)的數(shù)據(jù)輸入到全連接層,得到最終想要的結(jié)果
LeNet-5:被譽(yù)為卷積神經(jīng)網(wǎng)絡(luò)的“Hello Word”,是圖靈獎(jiǎng)獲得者Yann LeCun(楊立昆)在1998年提出的CNN算法,用來(lái)解決手寫(xiě)識(shí)別的問(wèn)題。
LeNet-5通過(guò)引入卷積層、池化層和全連接層等關(guān)鍵組件,構(gòu)建了一個(gè)高效且強(qiáng)大的圖像識(shí)別網(wǎng)絡(luò),為后續(xù)卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展奠定了基礎(chǔ)。
- 輸入層:INPUT
- 三個(gè)卷積層:C1、C3和C5
- 兩個(gè)池化層:S2和S4
- 一個(gè)全連接層:F6
- 輸出層:OUTPUT
二、什么是RNN?
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN):一種能處理序列數(shù)據(jù)并存儲(chǔ)歷史信息的神經(jīng)網(wǎng)絡(luò),通過(guò)利用先前的預(yù)測(cè)作為上下文信號(hào),對(duì)即將發(fā)生的事件做出更明智的決策。
網(wǎng)絡(luò)結(jié)構(gòu):
- 輸入層:接收輸入數(shù)據(jù),并將其傳遞給隱藏層。輸入不僅僅是靜態(tài)的,還包含著序列中的歷史信息。
- 隱藏層:核心部分,捕捉時(shí)序依賴(lài)性。隱藏層的輸出不僅取決于當(dāng)前的輸入,還取決于前一時(shí)刻的隱藏狀態(tài)。
- 輸出層:根據(jù)隱藏層的輸出生成最終的預(yù)測(cè)結(jié)果。
解決問(wèn)題:
- 序列數(shù)據(jù)處理:RNN能夠處理多個(gè)輸入對(duì)應(yīng)多個(gè)輸出的情況,尤其適用于序列數(shù)據(jù),如時(shí)間序列、語(yǔ)音或文本,其中每個(gè)輸出與當(dāng)前的及之前的輸入都有關(guān)。
- 循環(huán)連接:RNN中的循環(huán)連接使得網(wǎng)絡(luò)能夠捕捉輸入之間的關(guān)聯(lián)性,從而利用先前的輸入信息來(lái)影響后續(xù)的輸出。
工作原理:
- 輸入層:先對(duì)句子“what time is it ?” 進(jìn)行分詞,然后按照順序輸入。
隱藏層:在此過(guò)程中,我們注意到前面的所有輸入都對(duì)后續(xù)的輸出產(chǎn)生了影響。圓形隱藏層不僅考慮了當(dāng)前的輸入,還綜合了之前所有的輸入信息,能夠利用歷史信息來(lái)影響未來(lái)的輸出。
輸出層:生成最終的預(yù)測(cè)結(jié)果:Asking for the time。
詳細(xì)了解看這篇:《一文搞懂RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))》
長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM):一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),通過(guò)引入內(nèi)存塊和門(mén)控機(jī)制來(lái)解決梯度消失問(wèn)題,從而更有效地處理和記憶長(zhǎng)期依賴(lài)信息。
網(wǎng)絡(luò)結(jié)構(gòu):
- 細(xì)胞狀態(tài)(Cell State):負(fù)責(zé)保存長(zhǎng)期依賴(lài)信息。
- 門(mén)控結(jié)構(gòu):每個(gè)LSTM單元包含三個(gè)門(mén):輸入門(mén)、遺忘門(mén)和輸出門(mén)。
解決問(wèn)題:
- 短時(shí)記憶:RNN難以捕捉和利用序列中的長(zhǎng)期依賴(lài)關(guān)系,從而限制了其在處理復(fù)雜任務(wù)時(shí)的性能。
- 梯度消失/梯度爆炸:在RNN的反向傳播過(guò)程中,梯度會(huì)隨著時(shí)間步的推移而逐漸消失(變得非常?。┗虮ǎㄗ兊梅浅4螅?。
工作原理:
- 輸入門(mén):決定哪些新信息應(yīng)該被添加到記憶單元中
- 遺忘門(mén):決定哪些舊信息應(yīng)該從記憶單元中遺忘或移除。
- 輸出門(mén):決定記憶單元中的哪些信息應(yīng)該被輸出到當(dāng)前時(shí)間步的隱藏狀態(tài)中。
三、什么是Transformer?
Transformer:一種基于自注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)并行計(jì)算和多層特征抽取,有效解決了長(zhǎng)序列依賴(lài)問(wèn)題,實(shí)現(xiàn)了在自然語(yǔ)言處理等領(lǐng)域的突破。
網(wǎng)絡(luò)結(jié)構(gòu):由輸入部分(輸入輸出嵌入與位置編碼)、多層編碼器、多層解碼器以及輸出部分(輸出線性層與Softmax)四大部分組成。
- 輸入部分:
- 源文本嵌入層:將源文本中的詞匯數(shù)字表示轉(zhuǎn)換為向量表示,捕捉詞匯間的關(guān)系。
- 位置編碼器:為輸入序列的每個(gè)位置生成位置向量,以便模型能夠理解序列中的位置信息。
- 目標(biāo)文本嵌入層(在解碼器中使用):將目標(biāo)文本中的詞匯數(shù)字表示轉(zhuǎn)換為向量表示。
- 編碼器部分:
- 由N個(gè)編碼器層堆疊而成。
- 每個(gè)編碼器層由兩個(gè)子層連接結(jié)構(gòu)組成:第一個(gè)子層是一個(gè)多頭自注意力子層,第二個(gè)子層是一個(gè)前饋全連接子層。每個(gè)子層后都接有一個(gè)規(guī)范化層和一個(gè)殘差連接。
- 解碼器部分:
- 由N個(gè)解碼器層堆疊而成。
- 每個(gè)解碼器層由三個(gè)子層連接結(jié)構(gòu)組成:第一個(gè)子層是一個(gè)帶掩碼的多頭自注意力子層,第二個(gè)子層是一個(gè)多頭注意力子層(編碼器到解碼器),第三個(gè)子層是一個(gè)前饋全連接子層。每個(gè)子層后都接有一個(gè)規(guī)范化層和一個(gè)殘差連接。
- 輸出部分:
- 線性層:將解碼器輸出的向量轉(zhuǎn)換為最終的輸出維度。
- Softmax層:將線性層的輸出轉(zhuǎn)換為概率分布,以便進(jìn)行最終的預(yù)測(cè)。
解決問(wèn)題:
- 長(zhǎng)期依賴(lài)問(wèn)題:在處理長(zhǎng)序列輸入時(shí),傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)會(huì)面臨長(zhǎng)期依賴(lài)問(wèn)題,即難以捕捉序列中的遠(yuǎn)距離依賴(lài)關(guān)系。Transformer模型通過(guò)自注意力機(jī)制,能夠在不同位置對(duì)序列中的每個(gè)元素賦予不同的重要性,從而有效地捕捉長(zhǎng)距離依賴(lài)關(guān)系。
- 并行計(jì)算問(wèn)題:傳統(tǒng)的RNN模型在計(jì)算時(shí)需要按照序列的順序依次進(jìn)行,無(wú)法實(shí)現(xiàn)并行計(jì)算,導(dǎo)致計(jì)算效率較低。而Transformer模型采用了編碼器-解碼器結(jié)構(gòu),允許模型在輸入序列上進(jìn)行編碼,然后在輸出序列上進(jìn)行解碼,從而實(shí)現(xiàn)了并行計(jì)算,大大提高了模型訓(xùn)練的速度。
- 特征抽取問(wèn)題:Transformer模型通過(guò)自注意力機(jī)制和多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),能夠有效地從輸入序列中抽取豐富的特征信息,為后續(xù)的任務(wù)提供更好的支持。
工作原理:
- 輸入線性變換:對(duì)于輸入的Query(查詢(xún))、Key(鍵)和Value(值)向量,首先通過(guò)線性變換將它們映射到不同的子空間。這些線性變換的參數(shù)是模型需要學(xué)習(xí)的。
- 分割多頭:經(jīng)過(guò)線性變換后,Query、Key和Value向量被分割成多個(gè)頭。每個(gè)頭都會(huì)獨(dú)立地進(jìn)行注意力計(jì)算。
- 縮放點(diǎn)積注意力:在每個(gè)頭內(nèi)部,使用縮放點(diǎn)積注意力來(lái)計(jì)算Query和Key之間的注意力分?jǐn)?shù)。這個(gè)分?jǐn)?shù)決定了在生成輸出時(shí),模型應(yīng)該關(guān)注Value向量的部分。
- 注意力權(quán)重應(yīng)用:將計(jì)算出的注意力權(quán)重應(yīng)用于Value向量,得到加權(quán)的中間輸出。這個(gè)過(guò)程可以理解為根據(jù)注意力權(quán)重對(duì)輸入信息進(jìn)行篩選和聚焦。
- 拼接和線性變換:將所有頭的加權(quán)輸出拼接在一起,然后通過(guò)一個(gè)線性變換得到最終的Multi-Head Attention輸出。
BERT:BERT是一種基于Transformer的預(yù)訓(xùn)練語(yǔ)言模型,它的最大創(chuàng)新之處在于引入了雙向Transformer編碼器,這使得模型可以同時(shí)考慮輸入序列的前后上下文信息。
- 輸入層(Embedding):
- Token Embeddings:將單詞或子詞轉(zhuǎn)換為固定維度的向量。
- Segment Embeddings:用于區(qū)分句子對(duì)中的不同句子。
- Position Embeddings:由于Transformer模型本身不具備處理序列順序的能力,所以需要加入位置嵌入來(lái)提供序列中單詞的位置信息。
- 編碼層(Transformer Encoder):BERT模型使用雙向Transformer編碼器進(jìn)行編碼。
- 輸出層(Pre-trained Task-specific Layers):
- MLM輸出層:用于預(yù)測(cè)被掩碼(masked)的單詞。在訓(xùn)練階段,模型會(huì)隨機(jī)遮蓋輸入序列中的部分單詞,并嘗試根據(jù)上下文預(yù)測(cè)這些單詞。
- NSP輸出層:用于判斷兩個(gè)句子是否為連續(xù)的句子對(duì)。在訓(xùn)練階段,模型會(huì)接收成對(duì)的句子作為輸入,并嘗試預(yù)測(cè)第二個(gè)句子是否是第一個(gè)句子的后續(xù)句子。
GPT:GPT也是一種基于Transformer的預(yù)訓(xùn)練語(yǔ)言模型,它的最大創(chuàng)新之處在于使用了單向Transformer編碼器,這使得模型可以更好地捕捉輸入序列的上下文信息。
GPT架構(gòu)
- 輸入層(Input Embedding):
- 將輸入的單詞或符號(hào)轉(zhuǎn)換為固定維度的向量表示。
- 可以包括詞嵌入、位置嵌入等,以提供單詞的語(yǔ)義信息和位置信息。
- 編碼層(Transformer Encoder):GPT模型使用單向Transformer編碼器進(jìn)行編碼和生成。
- 輸出層(Output Linear and Softmax):
- 線性輸出層將最后一個(gè)Transformer Decoder Block的輸出轉(zhuǎn)換為詞匯表大小的向量。
- Softmax函數(shù)將輸出向量轉(zhuǎn)換為概率分布,以便進(jìn)行詞匯選擇或生成下一個(gè)單詞。
文章轉(zhuǎn)自微信公眾號(hào)@架構(gòu)師帶你玩轉(zhuǎn)AI
我們有何不同?
API服務(wù)商零注冊(cè)
多API并行試用
數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率
查看全部API→
??
熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API