[英]Caffe Embed Layer Inputs
Caffe中的Embed層采用什么類型的輸入? 是否需要使用一種熱門形式編碼的單詞?
假設,N =輸入句子中的單詞數; M =詞匯量
然后,單個句子的一個熱矢量將是N×M的階數
這是否意味着輸入dim參數將為N?
最后,應該以什么格式保存句子,以便Caffe嵌入層可以正確讀取它?
請參閱"Embed"
圖層的文檔:
用於學習單熱矢量輸入的“嵌入”的層。 相當於具有單熱矢量作為輸入的InnerProductLayer,但是為了效率,輸入是每列本身的“熱”索引。
因此,您的輸入不是表示單詞(或字符或“項目”)的“熱矢量”,而是單詞的緊湊表示:該單詞中的單詞的整數索引。
因此,如果您的詞典中有M=1000
單詞,並且您想要學習嵌入到100維空間中:
layer {
name: "embed1000_to_100"
type: "Embed"
bottom: "compact_one_hot_dim1000"
top: "embed1000_to_100"
embed_param {
num_output: 100 # output dimension
input_dim: 1000
}
}
注意, "compact_one_hot_dim1000"
的數據應該是范圍(0..999)內的整數。
有關更多信息,請參閱caffe.help 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.