・算法上的研究:
1. PPO2 Numeric:
目前使用4層actor + 4層critic架構。
Initializer and Activation: He_Normal + leakyReLu / Glorot_Uniform + Tanh
Tanh層必須再接一層linear乘數來達到我們想要的output range
Ex: action space = -10~10, tanh*5以上(Tanh活躍在-2~2)
這個recipe可以學超快~
2. Numeric轉Discrete output :
pi & old pi必須轉為dist.Categorical,裡面塞softmax之結果 (不建議sigmoid)
w/ hidden units = 2+(看action space)init = Glorot_Normal()
目前Descrete應用不佳,而且容易梯度消失(爆炸?)
可能原因:action過於侷限,難以反映到reward的比例上
3. Entropy Bonuses :
A3C中在Loss前加了Entropy * Entropy_coef(係數)
可以增加action exploration跳出local minimum
實際機制要深翻一下baseline的code
・如何確定模型有train起來,而不是隨機表現佳?
Train full batch / 設一個normalized reward比例(Ex: episode reward / max reward)
確定模型train起來後每step predict一次valid env
抓學起來尚未壞掉的agent後,再看valid狀況選top N agent再weighted by all agents
最後放到Test看結果,不行再回到資料面
・未來資料方向:
1. 傅立葉轉換
2. 混入個股資料
3. 加入prediction close price from other model
1. PPO2 Numeric:
目前使用4層actor + 4層critic架構。
Initializer and Activation: He_Normal + leakyReLu / Glorot_Uniform + Tanh
Tanh層必須再接一層linear乘數來達到我們想要的output range
Ex: action space = -10~10, tanh*5以上(Tanh活躍在-2~2)
這個recipe可以學超快~
2. Numeric轉Discrete output :
pi & old pi必須轉為dist.Categorical,裡面塞softmax之結果 (不建議sigmoid)
w/ hidden units = 2+(看action space)init = Glorot_Normal()
目前Descrete應用不佳,而且容易梯度消失(爆炸?)
可能原因:action過於侷限,難以反映到reward的比例上
3. Entropy Bonuses :
A3C中在Loss前加了Entropy * Entropy_coef(係數)
可以增加action exploration跳出local minimum
實際機制要深翻一下baseline的code
・如何確定模型有train起來,而不是隨機表現佳?
Train full batch / 設一個normalized reward比例(Ex: episode reward / max reward)
確定模型train起來後每step predict一次valid env
抓學起來尚未壞掉的agent後,再看valid狀況選top N agent再weighted by all agents
最後放到Test看結果,不行再回到資料面
・未來資料方向:
1. 傅立葉轉換
2. 混入個股資料
3. 加入prediction close price from other model
留言
張貼留言