神經網路語言模型中,詞向量為什麼可以隨著模型的迭代而改變?
在神經網路語言模型中,通常我們認為詞向量是模型的輸入。
對此不太熟悉的朋友可以參考部落格:自然語言處理NLP(3)——神經網路語言模型、詞向量
神經網路語言模型的架構是這個樣子的:
然而,在模型訓練的過程中,輸入層的詞向量可以隨著模型的迭代而改變,就像調整上圖中的權重:一樣。
可能很多人有同樣的疑問:詞向量作為模型的輸入,怎麼能改變呢?
朋友們可以先仔細思考一下這個問題~
(強行分割線……)
實際上完全不矛盾,因為神經網路語言模型真正的輸入根本就不是詞向量。
其實,神經網路語言模型真正的輸入是各個詞的one-hot向量,上圖中的look-up表 將其轉化為詞向量之後才輸入網路中。而真正的輸入:one-hot向量是完全不變的。
如果還是有些疑惑的話,我們來舉個例子:
假設詞彙表中有20w個詞,詞向量的維度為100維。
簡單起見,我們只將一個詞 輸入網路。
很明顯,詞 可以表示為一個1*20w的one-hot向量,其中只有一位值為1,其他維度的值均為0。
經過了一個大小為20w*100的look-up表之後, 被表示成了1*100的向量——也就是我們通常所說的詞向量。
在模型訓練過程中,可以隨著模型迭代而逐漸變化的是這個100維的詞向量,更深一步地說,逐漸變化的其實是這個大小為20w*100的look-up表。
其實,在這個描述中,look-up表和網路中的權重在意義上完全相同!
推廣到多個詞,過程完全相同,只是在將各個詞轉化為詞向量之後需要進行拼接或者其他操作即可。
理解了上面的過程,對這個問題就有了答案:
在模型訓練過程中,真正的輸入是表示各個詞的one-hot向量,look-up表類似一個權重矩陣,將one-hot向量轉化為詞向量,再進行後續操作。可以將look-up表看作一個特殊的權值矩陣,在模型迭代過程中,表中的權值可以變化,以更好地擬合模型輸出。
如果本文中某些表述或理解有誤,歡迎各位大神批評指正。
謝謝!
相關文章
- 語言模型與神經網路模型神經網路
- nlp中的傳統語言模型與神經語言模型模型
- 自然語言處理的神經網路模型初探自然語言處理神經網路模型
- 從經典結構到改進方法,神經網路語言模型綜述神經網路模型
- 自己動手實現神經網路分詞模型神經網路分詞模型
- RNN神經網路模型綜述RNN神經網路模型
- 為什麼說BP神經網路就是人工神經網路的一種?神經網路
- 我的模型能跑多快——神經網路模型速度調研(一)模型神經網路
- 3.4 神經網路為什麼這麼強神經網路
- 機器學習導圖系列(5):機器學習模型及神經網路模型機器學習模型神經網路
- 人人都能搞定的大模型原理 - 神經網路大模型神經網路
- 什麼是大語言模型(LLM)?模型
- 神經網路進化能否改變機器學習?神經網路機器學習
- Python繪製神經網路模型圖Python神經網路模型
- 卷積神經網路(CNN)模型結構卷積神經網路CNN模型
- 利用Tensorflow實現神經網路模型神經網路模型
- 【人工神經網路基礎】為什麼神經網路選擇了“深度”?神經網路
- 人工神經網路初學:是什麼以及為什麼?神經網路
- 14種模型設計幫你改進你的卷積神經網路(CNN)模型卷積神經網路CNN
- 大語言模型的Scaling Law:如何隨著模型大小、訓練資料和計算資源的增加而擴充套件模型套件
- 神經網路:提升深度學習模型的表現神經網路深度學習模型
- 改進大語言模型的最全方法!模型
- 圖神經網路綜述:模型與應用神經網路模型
- B-神經網路模型複雜度分析神經網路模型複雜度
- 檢索式問答系統的語義匹配模型(神經網路篇)模型神經網路
- 隨著變化而變化(Observer) (轉)Server
- 用神經網路模型給你的照片打分(Part I)神經網路模型
- 為什麼大語言模型能將我們帶入AGI?模型
- 從語言學角度看詞嵌入模型模型
- 「川言川語」:神經網路RNN模仿川普的語言風格神經網路RNN
- 利用Tensorflow實現卷積神經網路模型卷積神經網路模型
- Pytorch | Tutorial-04 構建神經網路模型PyTorch神經網路模型
- 使用深度神經網路為什麼8位足夠?神經網路
- 基於神經網路的Alpha Fold改變了生物世界神經網路
- 優雅且語義化的斷言之—將模型屬性斷言變為模型方法斷言模型
- 深度學習——使用卷積神經網路改進識別鳥與飛機模型深度學習卷積神經網路模型
- 模型安全性-圖神經網路後門的攻守道模型神經網路
- 通過NMT訓練出通用的語境詞向量:NLP中的預訓練模型?模型