輸入是一堆向量的案例:文字處理、聲音處理、
一.文字處理
將輸入詞彙變成數組的方法:
1.one hot encoding獨熱編碼
用一個很長的數組,然後不同位置為1表示不同詞彙,可能意思或類別相近的東西編碼相近
2.詞嵌入word embeding
相似詞性的聚集在一起
二.聲音信號處理
利用一個滑動窗口,10ms移動一次,每一次截取生成一個向量frame-->所以1s中會生成1000/10=100個frame
三.社交網絡
輸出
一.輸入和輸出的數量一樣
二.多個輸入單個輸出
三.多輸入經過模型輸出多個輸出(輸出多少不知道)eg:seq2seq模型
詞性標註
同一個單詞如saw可能詞性不同,所以得聯繫上下文用滑動窗口但容易overfitting
因此要使用self-attention 考慮整個序列
self-attention是輸入一個序列。
每一個輸出要考慮每一個輸入a1、a2、a3、a4
輸入為a1輸出類別b1,因為要考慮上下文,所以考慮a2、a3、a4與a1的關係α
α的計算結果
輸入a1判定a1類別為b1
依次處理a2、a3、a4,輸出b2、b3、b4
需要學習的參數只有Wq、Wk、Wv
最終輸出O
O=VKQ
多查詢
由於self-attention沒有定位,所以有下面改變
CNN是簡化版的自注意力機制,固定感受野
自注意力機制:複雜版CNN,感受野可學習。
CNN適用於少數據
self-attention適用於多數據