-
Agent通過不斷的學習跟遇到錯誤,學習如何在環境中完成各項動作並最大化獎勵。
-
Agent, 環境, 動作, 獎勵 - 整合在一個框架中。
- 學習過程。
- 環境更新狀態給Agent
- Agent收到狀態,更新動作給環境。
- 環境收到動作,更新狀態跟獎勵給Agent。
- Agent收到狀態跟獎勵,更新動作給環境。
- 目標: 最大化累積獎勵。
- 階段性任務 - 具有清晰結束點
- ex. 玩遊戲過關,無人車的撞毀
- 每次Agent結束其任務,開始下次任務時,都會掌握前生所學習到一些知識,透過不斷的重複任務來學習知識。
- 連續性任務 - 不具有清晰結束點
- ex. 金融市場的股票買入跟賣出。
- 需要學習選擇動作的最佳方式並不斷與環境互動。(此算法更複雜)
- 不同的任務,都有不同的目標。
- 這些看起來似乎都是不同的目標,都有一個一致性的原則。
- 獎勵假設:所有目標的一致性原則-最大化期望累積獎勵。
- 以機器人走路為例子,來討論強化學習框架中,action, state跟reward應該是什麼
- Action
- 機器人在哪些關節點所使用的力量。
- State
- 所有關節點當前的位置跟速度。
- 機器人所站的地面的量測結果。
- 地面的平坦度,道路上是否有階梯。
- 接觸傳感器數據。
- 機器人是否在行走,或者跌倒。
-
機器人必須根據當前的狀態,來規劃下一個動作。
-
Reward
- walk fast(走的速度越快越好)。
- walk forward(走的方向是往前,而不是方向亂變)。
- walk smoothly(走的姿勢是否很怪異,關節點力量太大)。
- walk for long as possible(走得越久越好,不要馬上跌倒)。
- 機器人學走路的目標就是最大化累積獎勵。
- 強化學習框架的回顧:
- 智能體如何通過與環境的互動實現目標。
- 互動簡化成三種訊號。
- 狀態訊號: 環境向智能體呈現狀況的方式。
- 動作訊號: 智能體做出動作來影響環境。
- 獎勵訊號: 環境針對智能體做出正確動作給予回饋。
- 目標: 最大化累積獎勵。
-
如何最大化累積獎勵 ?
- 不能著重單個時間步 - 只會學習到最大初始化的獎勵動作。
- ex. 機器人只會走得快,在短時間不跌倒,但會走不穩,走不對方向。
- 動作有分成短期後果跟長期後果。
- 智能體要考慮所有時間步的獎勵。
- 不能著重單個時間步 - 只會學習到最大初始化的獎勵動作。
-
獎勵:
- 過去的獎勵是無法改變。
- 只有未來的獎勵能受到控制。
- 因為智能體無法完全肯定預測未來獎勵如何,他必須依賴預測或估算。
-
當前獎勵權重跟未來獎勵權重該相同嗎?
-
折扣回報: 更關心近期獎勵,而不是遙遠未來的獎勵。
- 折扣率越小,越關心近期的獎勵,越大,在越關心未來的獎勵。
- 使用折扣來避免無限未來產生的不良影響。
-
目標:讓回收機器人如何考慮電量狀況下,完成收拾越多回收的垃圾。
-
Actions:
- search: 房間中搜尋垃圾。
- recharge: 回充電站充電。
- wait: 保持不動,讓別人直接丟垃圾進去。
- States:
- high: 電量高。
- low: 電量低。
- 流程1:
- 高電量時,機器人決定進行search,其結果有可能是70%機會仍保持高電量,30%機會變成低電量,因為積極搜尋所以給予4個獎勵。
- 流程2:
- 高電量時,機器人決定進行wait,其結果是100%機會仍保持高電量,因為等待所以只給予1個獎勵。
- 流程3:
- 低電量時,機器人決定進行wait,其結果是100%機會仍保持低電量,因為等待所以只給予1個獎勵。
- 流程4:
- 低電量時,機器人決定進行recharge,其結果是100%機會變回高電量,因為充電所以不給予獎勵。
- 流程5:
- 低電量時,機器人決定進行search,其結果是80%機會耗低電量,死在搜尋過程中,即管是積極搜尋,仍給予3個懲罰,因為20%機會會躲過這個風險,因為積極搜尋所以給予4個獎勵。。
- 動態特性
- 環境是如何根據智能體的動作來動態決定狀態跟獎勵。
- MDP回顧
- Markov Decision Process
- 狀態集合,動作集合,獎勵集合,環境動態特性和折扣率所決定。
- 一般折扣率的設定,都會接近1,而不是接近0,否則智能體只會著重近的未來,而非長期未來。
- 智能體並不清楚獎勵集合跟環境動態特性,是透過互動學習來學習如何達到目標。
- 強化學習中智能體與環境的互動
- 设置,重新经历
- 阶段性任务与连续性任务
- 奖励假设
- 目标和奖励
- 累积奖励
- 折扣回报
- MDPs和一步动态特性