讓我們初學一下Transformer,它確實相對難以理解,下面讓我們開始吧!朋友們.
Don't worry about it
前提
- 在這裡我們用x<t>表示文字位置→輸入
- 用Tx表示文字長度
- 用y<t>表示輸出的文字位置
- 用Ty表示輸出的文字長度
目前這裡有一個文字
X: Harry Potter and hermione granger invented a new spell
這裡我們用one-hot獨熱矩陣,每一個文字都會對應於1個one - hot,
但是我們一個輸入文字就要有一個 one-hot,這樣就會造成大量的引數,於是提出了RNN
接下來我們學習RNN
RNN模型
這裡的Wax、 Waa、 Wya都是引數,就和我們之前學神經網路的W是一個意思
下面我們來學習網路的前向傳播
向前傳播
這裡的g是啟用函式,b是偏置,我們對式子進行簡化,是不是看到式子的時候前面的模型就明白怎麼運轉的了
反向傳播的時候,框架會自動為你實現
上面的模型都是針對Tx=Ty的,當然面對不同的情況會有不同的模型
我們看一下第一個模型
One to many RNN moudle
Cats average 15 hours of sleep a day.
接下來我們討論RNNs梯度消失的問題。
RNNs梯度消失
- 如果碰到梯度爆炸的問題就是出現了 Nan,就只用使用gradient clipping.
- The cat, which ate already... was full。我們如何確保讓機器認識cat是單數,就是依賴問題,儘管現在依賴問題依舊就沒有解決
GRU
這是一個簡單的模型,方便理解,這裡有兩個門,因此我們也稱GRU為2門控
LSTM
這裡有3個門,因此我們稱LSTM為3門控
BRNN
這裡是非常重要的,這裡沒聽的話,後面的注意力模型是不容易看懂的!
這並不是正,逆傳播,而是正反同時開始在時間t輸出的y可以同時被過去和未來所影響,
對於複雜的問題我們會使用到深度RNNs。
下面我們來看一下注意力模型。
注意力模型
這是注意力的計算公式,我們可以把其想像成一個小的網路
接下來我們學習transformer網路,,最有效前的模型。(其實就是注意力模型+ CNN)
Transformer
- 自注意力模型
我們將其softmax改變一下
-
多頭注意力機制
其實就是對自注意力機制進行一個for迴圈
當然每一個通道都有一組引數
- Transformer
我們定義一個深度為4的向量
到此我們的Transformer就整理完了,當然這也在不斷的完善,隨學隨記!
努力不一定有回報,但是一定有收穫!