# DRL重點整理 ## Basic Concepts ### State - environment ### Action - possible actions of a state ### Policy - 告訴agent在這state下該做哪個action - pi機率不可為0,mu可以為0(確定的) ### Reward - 做完action後就知 - 不能參考到還沒到的state - 和目前的state跟action有關 ### Trajectory - 從頭到目標 - 可能無限 - diverge ### Return - 一個trajectory的reward總和 - Gt(discount return,要考慮discount rate) - 以數學的方式表示policy好壞 ### Discount Rate - 平衡了遠和近的future reward - 防止diverge ### Episode - resulting trajectory - 通常表示finite trajectory ### MDP - memoryless - 指跟近的有關 - 沒有action,只有機率 ### State Value - Gt的期望值(平均值) - 多個trajectory得到的reward加總再取平均 - 如果確定從這state出發只有一條trajectory,則state value等於return - 從不同state出發的return依賴其他state的return - bootstrapping - 多個trajectory取平均 - 期望值 - immediate reward + mean of future rewards - P表state transition - policy evaluation ### Bellman equation - 描述了不同state間,state value之間的關係 - vpi(s)和vpi(s') - 用bootstrapping算 - mean of immediate rewards + mean of future rewards - st=t可消掉(馬可夫的memoryless) - N個state會有N個式子 ### Action Value - 從一state出發並做一action,得到的average return - 根據state-action pair (s,a) - 得所有action value可算出state value,反之亦然 ### Bellman Optimality Equation(BOE) - core concepts - optimal state value - optimal policy - 所有state中,pi1得到的值都比pi2高,就說pi1比pi2好(最優) - 在Bellman Equation前加max pi - tricky yet elegent - 根據最大action value更新policy - Contraction Mapping Theorem - f(x)後的距離比x小 - existence - uniqueness - algorithm ## RL Algo ### Q-Learning - model free - value-based - 離散動作 - 記錄下學習過的策略,告訴agent什麼state下採取什麼action會有最大的reward - reward存在Q-table中,因此有數目上的限制 ### DQN - model free - off-policy - 有Reply Buffer - 每步(step)都更新,不用等回合結束 - 離散動作 - 有Experience Replay和Target Q network兩大特色 - Experience Replay透過隨機採樣可消除時間關聯性 - Target Q network ### Policy Gradient - policy-based - on-policy - 每回合(episode)結束才更新 - 連續動作 - 透過更改動作機率,使得到的Expected reward越大越好 ### Actor-Critic - Actor(策略網路)+Critic(價值網路) - 結合了Policy-based(Actor)和Value-based(Critic) - Actor為回合更新,故可藉由Critic實現單步更新 - Actor根據機率選action,而Critic則依據選到的action去評分,最後Actor會再從得到的評分去調整action的機率 - 優點:能單步更新 - 缺點:難收斂 ### DDPG(Deep Deterministic Policy Gradient) - Deep Deterministic Policy Gradient - PolicyGradient:能用於連續動作空間 - Deterministic:讓Policy Gradient只輸出一個動作,而非機率 - 為了解決AC難收斂的問題 - model free - off-policy - 連續動作 ### SAC - 探索度更高 - 能學習所有的解 - 相較於DDPG的只能學到一個解 - off-policy - 連續動作