torch.nn.Embedding理解


Pytorch官網的解釋是:一個保存了固定字典和大小的簡單查找表。這個模塊常用來保存詞嵌入和用下標檢索它們。模塊的輸入是一個下標的列表,輸出是對應的詞嵌入。

torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2, scale_grad_by_freq=False, sparse=False)

個人理解:這是一個矩陣類,里面初始化了一個隨機矩陣,矩陣的長是字典的大小,寬是用來表示字典中每個元素的屬性向量,向量的維度根據你想要表示的元素的復雜度而定。類實例化之后可以根據字典中元素的下標來查找元素對應的向量。

輸入下標0,輸出就是embeds矩陣中第0行。

放代碼:

 

調試過程的參數:

 

 

用途:用作自然語言處理中作用很大

而對於一個詞,我們自己去想它的屬性不是很困難嗎,所以這個時候就可以交給神經網絡了,我們只需要定義我們想要的維度,比如100,然后通過神經網絡去學習它的每一個屬性的大小,而我們並不用關心到底這個屬性代表着什么,我們只需要知道詞向量的夾角越小,表示他們之間的語義更加接近

參考網址:https://my.oschina.net/earnp/blog/1113896

http://pytorch-cn.readthedocs.io/zh/latest/package_references/torch-nn/
---------------------
作者:tommorrow12
來源:CSDN
原文:https://blog.csdn.net/tommorrow12/article/details/80896331
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM