怎么做移動網(wǎng)站seo外包公司哪家好
文章目錄
前言
一、什么是CNN
網(wǎng)絡(luò)結(jié)構(gòu)
解決問題
工作原理
實際應(yīng)用
二、什么是RNN
網(wǎng)絡(luò)結(jié)構(gòu)
解決問題
工作原理
應(yīng)用場景
三、什么是LSTM
網(wǎng)絡(luò)結(jié)構(gòu)
解決問題
工作原理
應(yīng)用場景
四、什么是Transformer
網(wǎng)絡(luò)結(jié)構(gòu)
解決問題
工作原理
BERT
GPT
前言
本文將從什么是CNN?什么是RNN?什么是LSTM?什么是Transformer?四個問題,簡單介紹神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
一、什么是CNN
卷積神經(jīng)網(wǎng)絡(luò)(CNN):通過卷積和池化操作有效地處理高維圖像數(shù)據(jù),降低計算復(fù)雜度,并提取關(guān)鍵特征進行識別和分類。
網(wǎng)絡(luò)結(jié)構(gòu)
- 卷積層:用來提取圖像的局部特征。
- 池化層:用來大幅降低參數(shù)量級,實現(xiàn)數(shù)據(jù)降維。
- 全連接層:用來輸出想要的結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)
解決問題
- 提取特征:卷積操作提取圖像特征,如邊緣、紋理等,保留圖像特征。
- 數(shù)據(jù)降維:池化操作大幅降低參數(shù)量級,實現(xiàn)數(shù)據(jù)降維,大大減少運算量,避免過擬合。
工作原理
- 卷積層:通過卷積核的過濾提取出圖片中局部的特征,類似初級視覺皮層進行初步特征提取。
?使用一個過濾器(卷積核)來過濾圖像的各個小區(qū)域,從而得到這些小區(qū)域的特征值
- 池化層:下采樣實現(xiàn)數(shù)據(jù)降維,大大減少運算量,避免過擬合。
原始是20×20的,進行下采樣,采樣為10×10,從而得到2×2大小的特征圖
- 全連接層:經(jīng)過卷積層和池化層處理過的數(shù)據(jù)輸入到全連接層,得到最終想要的結(jié)果。
全連接層
LeNet-5:被譽為卷積神經(jīng)網(wǎng)絡(luò)的“Hello World”,是圖靈獎獲得者Yann LeCun(楊立昆)在1998年提出的CNN算法,用來解決手寫識別的問題。
LeNet-5通過引入卷積層、池化層和全連接層等關(guān)鍵組件,構(gòu)建了一個高效且強大的圖像識別網(wǎng)絡(luò),為后續(xù)卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展奠定了基礎(chǔ)。
- 輸入層:INPUT
- 三個卷積層:C1、C3和C5
- 兩個池化層:S2和S4
- 一個全連接層:F6
- 輸出層:OUTPUT
輸入層-卷積層-池化層-卷積層-池化層-卷積層-全連接層-輸出層
實際應(yīng)用
- 圖像分類:可以節(jié)省大量的人工成本,將圖像進行有效的分類,分類的準確率可以達到95%+。典型場景:圖像搜索。
- 目標定位:可以在圖像中定位目標,并確定目標的位置及大小。典型場景:自動駕駛。
- 目標分割:簡單理解就是一個像素級的分類。典型場景:視頻裁剪。
- 人臉識別:非常普及的應(yīng)用,戴口罩都可以識別。典型場景:身份認證。
二、什么是RNN
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN):一種能處理序列數(shù)據(jù)并存儲歷史信息的神經(jīng)網(wǎng)絡(luò),通過利用先前的預(yù)測作為上下文信號,對即將發(fā)生的事件做出更明智的決策。
網(wǎng)絡(luò)結(jié)構(gòu)
- 輸入層:接收輸入數(shù)據(jù),并將其傳遞給隱藏層。輸入不僅僅是靜態(tài)的,還包含著序列中的歷史信息。
- 隱藏層:核心部分,捕捉時序依賴性。隱藏層的輸出不僅取決于當前的輸入,還取決于前一時刻的隱藏狀態(tài)。
- 輸出層:根據(jù)隱藏層的輸出生成最終的預(yù)測結(jié)果。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
解決問題
- 序列數(shù)據(jù)處理:RNN能夠處理多個輸入對應(yīng)多個輸出的情況,尤其適用于序列數(shù)據(jù),如時間序列、語音或文本,其中每個輸出與當前的及之前的輸入都有關(guān)。
- 循環(huán)連接:RNN中的循環(huán)連接使得網(wǎng)絡(luò)能夠捕捉輸入之間的關(guān)聯(lián)性,從而利用先前的輸入信息來影響后續(xù)的輸出。
工作原理
- 輸入層:先對句子“what time is it ?”進行分詞,然后按照順序輸入。
對句子進行分詞
- 隱藏層:在此過程中,我們注意到前面的所有輸入都對后續(xù)的輸出產(chǎn)生了影響。圓形隱藏層不僅考慮了當前的輸入,還綜合了之前所有的輸入信息,能夠利用歷史信息來影響未來的輸出。
前面所有的輸入都對后續(xù)的輸出產(chǎn)生了影響
- 輸出層:生成最終的預(yù)測結(jié)果:Asking for the time。
輸出結(jié)果:Asking for the time
應(yīng)用場景
(1)處理數(shù)據(jù)
- 文本數(shù)據(jù):處理文本中單詞或字符的時序關(guān)系,并進行文本的分類或翻譯。
- 語音數(shù)據(jù):處理語音信號中的時許信息,并將其轉(zhuǎn)換為相應(yīng)的文本。
- 時間序列數(shù)據(jù):處理具有時間序列特征的數(shù)據(jù),如股票價格、氣候變化等。
- 視頻數(shù)據(jù):處理視頻幀序列,提取視頻中的關(guān)鍵特征。
(2)實際應(yīng)用
- 文本生成:填充給定文本的空格或預(yù)測下一個單詞。典型場景:對話生成。
- 機器翻譯:學習語言之間的轉(zhuǎn)換規(guī)則,并自動翻譯。典型場景:在線翻譯。
- 語音識別:將語音轉(zhuǎn)換成文本。典型場景:語音助手。
- 視頻標記:將視頻分解為一系列關(guān)鍵幀,并為每個幀生成內(nèi)容匹配的文本描述。典型場景:生成視頻摘要。
三、什么是LSTM
長短期記憶網(wǎng)絡(luò)(LSTM):一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),通過引入內(nèi)存塊和門控機制來解決梯度消失問題,從而更有效地處理和記憶長期依賴信息。(RNN的優(yōu)化算法)
網(wǎng)絡(luò)結(jié)構(gòu)
- 細胞狀態(tài)(Cell state):負責保存長期依賴信息。
- 門控結(jié)構(gòu):每個LSTM單眼包含三個門:輸入門、遺忘門和輸出門。
- ????????遺忘門(Forget Gate):決定從細胞狀態(tài)中丟棄哪些信息。
- ????????輸入門(Input Gate):決定哪些新信息被加入到細胞狀態(tài)中。
- ????????輸出門(Output Gate):基于細胞狀態(tài)決定輸出的信息。
長短期記憶網(wǎng)絡(luò)(LSTM)
解決問題
- 短時記憶:RNN難以捕捉和利用序列中的長期依賴關(guān)系,從而限制了其在處理復(fù)雜任務(wù)時的性能。
- 梯度消失/梯度爆炸:在RNN的反向傳播過程中,梯度會隨著時間步的推移而逐漸消失(變得非常小)或爆炸(變得非常大)。
工作原理
LSTM的細胞結(jié)構(gòu)和運算
- 輸入門:決定哪些新信息應(yīng)該被添加到記憶單元中
由一個sigmoid激活函數(shù)和一個tanh激活函數(shù)組成。sigmoid函數(shù)決定哪些信息是重要的,而tanh函數(shù)則生成新的候選信息。
輸入門(sigmoid激活函數(shù) + tanh激活函數(shù))
- 遺忘門:決定哪些舊信息應(yīng)該從記憶單元中遺忘或移除
遺忘門僅由一個sigmoid激活函數(shù)組成。
sigmoid激活函數(shù)(區(qū)間0~1)
遺忘門(sigmoid激活函數(shù))
- 輸出門:決定記憶單元中的哪些信息應(yīng)該被輸出到當前時間步的隱藏狀態(tài)中。
輸出門同樣由一個sigmoid激活函數(shù)和一個tanh激活函數(shù)組成。sigmoid函數(shù)決定哪些信息應(yīng)該被輸出,而tanh函數(shù)則處理記憶單元的狀態(tài)以準備輸出。
輸出門(sigmoid激活函數(shù) + tanh激活函數(shù))
應(yīng)用場景
(1)機器翻譯
應(yīng)用描述:
- LSTM在機器翻譯中用于將源語言句子自動翻譯成目標語言句子。
關(guān)鍵組件:
- 編碼器(Encoder):一個LSTM網(wǎng)絡(luò),負責接收源語言句子并將其編碼成一個固定長度的上下文向量。
- 解碼器(Decoder):另一個LSTM網(wǎng)絡(luò),根據(jù)上下文向量生成目標語言的翻譯句子。
流程:
- 源語言輸入:將源語言句子分詞并轉(zhuǎn)換為詞向量序列。
- 編碼:使用編碼器LSTM處理源語言詞向量序列,輸出上下文向量。
- 初始化解碼器:將上下文向量作為解碼器LSTM的初始隱藏狀態(tài)。
- 解碼:解碼器LSTM逐步生成目標語言的詞序列,直到生成完整的翻譯句子。
- 目標語言輸出:將解碼器生成的詞序列轉(zhuǎn)換為目標語言句子。
優(yōu)化:
- 通過比較生成的翻譯句子與真實目標句子,使用反向傳播算法優(yōu)化LSTM模型的參數(shù),以提高翻譯質(zhì)量。
(2)情感分析
應(yīng)用描述:
- LSTM用于對文本進行情感分析,判斷其情感傾向(積極、消極或中立)。
關(guān)鍵組件:
- LSTM網(wǎng)絡(luò):接收文本序列并提取情感特征。
- 分類層:根據(jù)LSTM提取的特征進行情感分類。
流程:
- 文本預(yù)處理:將文本分詞、去除停用詞等預(yù)處理操作。
- 文本表示:將預(yù)處理后的文本轉(zhuǎn)換為詞向量序列。
- 特征提取:使用LSTM網(wǎng)絡(luò)處理詞向量序列,提取文本中的情感特征。
- 情感分類:將LSTM提取的特征輸入到分類層進行分類,得到情感傾向。
- 輸出:輸出文本的情感傾向(積極、消極或中立)。
優(yōu)化:
- 通過比較預(yù)測的情感傾向與真實標簽,使用反向傳播算法優(yōu)化LSTM模型的參數(shù),以提高情感分析的準確性。
四、什么是Transformer
Transformer:一種基于自注意力機制的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過并行計算和多層特征抽取,有效解決了長序列依賴問題,實現(xiàn)了在自然語言處理等領(lǐng)域的突破。
網(wǎng)絡(luò)結(jié)構(gòu)
由輸入部分輸入輸出嵌入與位置編碼)、多層編碼器、多層解碼器以及輸出部分(輸出線性層與Softmax)四大部分組成。
Transformer架構(gòu)
輸入部分:
- 源文本嵌入層:將源文本中的詞匯數(shù)字表示轉(zhuǎn)換為向量表示,捕捉詞匯間的關(guān)系。
- 位置編碼器:為輸入序列的每個位置生成位置向量,以便模型能夠理解序列中的位置信息。
- 目標文本嵌入層(在解碼器中使用):將目標文本中的詞匯數(shù)字表示轉(zhuǎn)換為向量表示。
編碼器部分:
- 由N個編碼器層堆疊而成。
- 每個編碼器層由兩個子層連接結(jié)構(gòu)組成:第一個子層是多頭自注意力子層,第二個子層是一個前饋全連接子層。每個子層后都接有一個規(guī)范化層和一個殘差連接。
解碼器部分:
- 由N個解碼器層堆疊而成。
- 每個解碼器層由三個子層連接結(jié)構(gòu)組成:第一個子層是一個帶掩碼的多頭自注意力子層,第二個子層是一個多頭自注意力子層(編碼器到解碼器),第三個子層是一個前饋全連接子層。每個子層后都接有一個規(guī)范化層和一個殘差連接。
輸出部分:
- 線性層:將解碼器輸出的向量轉(zhuǎn)換為最終的輸出維度。
- Softmax層:將線性層的輸出轉(zhuǎn)換為概率分布,以便進行最終的預(yù)測。
解決問題
- 長期依賴問題:在處理長序列輸入時,傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)會面臨長期依賴問題,即難以捕捉序列中的遠距離依賴關(guān)系。Transformer模型通過自注意力機制,能夠在不同位置對序列中的每個元素賦予不同的重要性,從而有效地捕捉長距離依賴關(guān)系。
- 并行計算問題:傳統(tǒng)的RNN模型在計算時需要按照序列的順序依次進行,無法實現(xiàn)并行計算,導(dǎo)致計算效率較低。而Transformer模型采用了編碼器-解碼器結(jié)構(gòu),允許模型在輸入序列上進行編碼,然后在輸出序列上進行解碼,從而實現(xiàn)了并行計算,大大提高了模型訓練的速度。
- 特征抽取問題:Transformer模型通過自注意力機制和多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),能夠有效地從輸入序列中抽取豐富的特征信息,為后續(xù)的任務(wù)提供更好的支持。
工作原理
Transformer工作原理
- 輸入線性變換:對于輸入的Query(查詢)、Key(鍵)和Value(值)向量,首先通過線性變換將它們映射到不同的子空間。這些線性變換的參數(shù)是模型需要學習的。
- 分割多頭:經(jīng)過線性變換后,Query、Key和Value向量被分割成多個頭。每個頭都會獨立地進行注意力計算。
- 縮放點積注意力:在每個頭內(nèi)部,使用縮放點積注意力來計算Query和Key之間的注意力分數(shù)。這個分數(shù)決定了在生成輸出時,模型應(yīng)該關(guān)注Value向量的部分。
- 注意力權(quán)重應(yīng)用:將計算出的注意力權(quán)重應(yīng)用于Value向量,得到加權(quán)的中間輸出。這個過程可以理解為根據(jù)注意力權(quán)重對輸入信息進行篩選和聚焦。
- 拼接和線性變換:將所有頭的加權(quán)輸出拼接在一起,然后通過一個線性變換得到最終的Multi-Head Attention輸出。
詳情了解看這篇:神經(jīng)網(wǎng)絡(luò)算法 —— 一文搞懂Transformer !!_神經(jīng)網(wǎng)絡(luò)和transformer-CSDN博客
BERT
BERT是一種基于Transformer的預(yù)訓練語言模型,它的最大創(chuàng)新之處在于引入了雙向Transformer編碼器,這使得模型可以同時考慮輸入序列的前后上下文信息。
BERT架構(gòu)
1. 輸入層(Embedding):
- Token Embeddings:將單詞或子詞轉(zhuǎn)換為固定維度的向量。
- Segment Embeddings:用于區(qū)分句子對中的不同句子。
- Position Embeddings:由于Transformer模型本身不具備處理序列順序的能力,所以需要加入位置嵌入來提供序列中單詞的位置信息。
2. 編碼層(Transformer Encoder):
- BERT模型使用雙向Transformer編碼器進行編碼。
3. 輸出層(Pre-trained Task-specific Layers):
- MLM輸出層:用于預(yù)測被掩碼(masked)的單詞。在訓練階段,模型會隨機遮蓋輸入序列中的部分單詞,并嘗試根據(jù)上下文預(yù)測這些單詞。
- NSP輸出層:用于判斷兩個句子是否為連續(xù)的句子對。在訓練階段,模型會接收成對的句子作為輸入,并嘗試預(yù)測第二個句子是否是第一個句子的后續(xù)句子。
GPT
GPT也是一種基于Transformer的預(yù)訓練語言模型,它的最大創(chuàng)新之處在于使用了單向Transformer編碼器,這使得模型可以更好地捕捉輸入序列的上下文信息。
GPT架構(gòu)
1. 輸入層(Input Embedding):
- 將輸入的單詞或符號轉(zhuǎn)換為固定維度的向量表示。
- 可以包括詞嵌入、位置嵌入等,以提供單詞的語義信息和位置信息。
2. 編碼層(Transformer Encoder):
- GPT模型使用單向Transformer編碼器進行編碼和生成。
3. 輸出層(Output Linear and Softmax):
- 線性輸出層將最后一個Transformer Decoder Block的輸出轉(zhuǎn)換為詞匯表大小的向量。
- Softmax函數(shù)將輸出向量轉(zhuǎn)換為概率分布,以便進行詞匯選擇或生成下一個單詞。
參考:架構(gòu)師帶你玩轉(zhuǎn)AI