沒有reward,訓練很難。
因為一開始機器什麼都不知道,就靠随機。如果随機一個機率特别小的才有reward,reward非常稀疏,就非常難學習,因為做什麼動作都一樣糟糕。
1.reward shaping
環境有一個固定的reward。我們還可以設計一些reward,這些不是真正的reward,但是可以引導機器去做一些你想要他做的事情。
增加好奇心:
鼓勵冒險,真實的s與network1(另外訓練出來的)預測的s越不同,reward越大。這樣可以探索更多的未知。
問題:有些state很難預測,但是并不重要。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxUEROVTRU9EMNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwkzNyIzN1ITM3ITMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
是以再學一個特征提取,把一些沒有意義的東西過濾掉。
學習network2,讓預測的a和真實采取的動作a越像越好。這樣排除無關特征的影響。
2. curriculum learning
為機器的學習做規劃,從簡單到難。 幫機器規劃一下課程。
學習目标的state,找附近的state學習,去掉過難或者過簡單的state。找到難度适中的state,再在其附近找相似的state。
3. Hierarchical Reinforcement Learning
有很多agent,有的負責定目标,把它配置設定給其他的agent完成。
如果低層agent做不到,上層agent就會收到懲罰。
如果agent做到了一個錯誤的目标,把上層的目标給改成這個錯誤的。(這樣動作不會被浪費。)