玩了兩年的ML,但最近發現自己還是像山頂洞人一樣
1.Curriculum Learning
Unity ML可以安排漸進難度的環境,讓Agent不用一開始就面對太高難度的環境而無所適從,根據Agent進展才慢慢提供高難度環境
範例: Wall Jump
2.SetModel
Unity ML 可以根據情況讓Agent更換Model,讓Agent可以在狀態或環境不同時,採用不同的行為策略
範例: Wall Jump
不過還搞不清楚能不能中途切換,Wall Jump是在初始化完的下一禎馬上切換Model,然後貫徹整個訓練
不知能不能做出類似,紅蓮跌倒時採用的是起身的Model,然後起身後改成採用動作的Model,感覺應該是可以,所以值得期待,雖然這樣episode不等長的問題還不知道怎麼處理
不知能不能做出類似,紅蓮跌倒時採用的是起身的Model,然後起身後改成採用動作的Model,感覺應該是可以,所以值得期待,雖然這樣episode不等長的問題還不知道怎麼處理
3.Curiosity
Unity ML可以透過Curiosity去鼓勵Agent探索尚未嘗試過的策略
只有這個是之前就知道
範例: Pyramids
只有這個是之前就知道
範例: Pyramids
4.PPO vs SAC
一直以來都只使用PPO訓練,沒有去調查SAC是怎麼樣的ML,直到看到下方影片才發現大致可以理解成
PPO: 擅長高效找出唯一最佳解
SAC: 可以找出多個泛用解,以便應對各種變動情況
PPO: 擅長高效找出唯一最佳解
SAC: 可以找出多個泛用解,以便應對各種變動情況
由於一直以來都有受困於無法讓紅蓮執行複雜任務的困境
感覺SAC有可能是突破口
不過暫時無法驗證,我的電腦是七年的老電腦,PPO還可以,但同樣程式嘗試SAC後可以說幾乎跑不動
等待這幾天換電腦後再進行驗證了
總之這件事告訴我,學習真的很重要
以後還是不要懶惰也不要傲慢,最好把Unity範例全部掃一圈,以免錯過明明很需要,卻不知道存在的功能