阿里few shot learning文章的個人理解

先貼結構圖:

1、每次C類,每類K樣本,剩下的是測試集。

2、encoder層是BiLSTM+attention,得到編碼向量,假設隱含層個數是96個,句子長度是30,暫不考慮batch_size,那麼每個字的隱含層就是1*192向量,整個H就是30*192,那麼attention的最後輸出就是一個1*192的向量(計算公式如下,權重矩陣W是30*192的矩陣)。

                                                            

                                                                            

3、induction層是加入W和b;

      W = 192*192;

      e(i,j)是第i個類的第j個樣本的encode層的輸出結果,192*1;

      b是一個1*1向量(我大膽猜測的,爲了和下面相對應,因爲如果b是192*1的話就不對應了);

      d是b的softmax結果;

      W*e+b 再經過squash的壓縮=192*1的向量;

       j的取值範圍是1-K,所以這點我有點疑惑了,

       獲取c的加權相加時,d(i,j)像是取值範圍0<i<=C;0<j<=K

      但顯然d是一個1*192的向量吧

       論文中的意思是d(i)是這第i個類中所有樣本的權重相加是1,這樣的話d就是一個C*K的矩陣呀。論文中的意思是這樣的

                                                                 

                                                            

                                                                        

                                                                          

4、預測樣本q得到編碼向量,與每個類向量c計算相似度,得到分類結果。

優點:每次訓練都採用不同的meta-mask,包含了不同的類別組合,這種機制使得模型學到不同meta-mask的共性部分,且在面對新的task時,也能很好學到新的知識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章