先檢討一下RL沒成功的原因:
1. Environment的不同:Trainset vs Valid vs Test,導致Agent在切換環境後表現不佳
2. Actor/ Critic 不夠力:目前為Dense layer,容易有梯度消失問題。未來可用其他架構置換
3. To Hard to play:目前應用太難達成。
所以六月把方向轉到Transformer身上,看會不會有一絲曙光
第一步,把Transformer套到TS資料上做了一些小改變:
1. Embedding層換linear layer
2. 最後一層output先接一層 flatten後再縮到 dimension = 1 的linear layer
一些training的小insight:
1. pearson決定能不能用
2. official API metrics不好用,要記錄loss自己寫比較穩
3. Position Encoding吃固定的參數,所以vocab size = Time step
目前做的其他更動:
1. 拿掉decoder直接用encoder去train:目前課題不需要decoder層
目前/未來修改方向(調參以外):
1. lr調整:拿掉annealing adam lr
2. output層前接一個dense layer / lstm再縮到dim = 1
3. 直接抓multi-head attention最後一個time step進到output層代替flatten
4. R-Transformer:用LocalRNN取代position encoding
5. 按照weight抽樣sample做mini-batch,約莫抽一個epoch的次數當epoch
6. DA-RNN / DSTP-RNN
1. Environment的不同:Trainset vs Valid vs Test,導致Agent在切換環境後表現不佳
2. Actor/ Critic 不夠力:目前為Dense layer,容易有梯度消失問題。未來可用其他架構置換
3. To Hard to play:目前應用太難達成。
所以六月把方向轉到Transformer身上,看會不會有一絲曙光
第一步,把Transformer套到TS資料上做了一些小改變:
1. Embedding層換linear layer
2. 最後一層output先接一層 flatten後再縮到 dimension = 1 的linear layer
一些training的小insight:
1. pearson決定能不能用
2. official API metrics不好用,要記錄loss自己寫比較穩
3. Position Encoding吃固定的參數,所以vocab size = Time step
目前做的其他更動:
1. 拿掉decoder直接用encoder去train:目前課題不需要decoder層
目前/未來修改方向(調參以外):
1. lr調整:拿掉annealing adam lr
2. output層前接一個dense layer / lstm再縮到dim = 1
3. 直接抓multi-head attention最後一個time step進到output層代替flatten
4. R-Transformer:用LocalRNN取代position encoding
5. 按照weight抽樣sample做mini-batch,約莫抽一個epoch的次數當epoch
6. DA-RNN / DSTP-RNN
留言
張貼留言