RL(11)
-
[RL] ColossalAI PPO 코드 리뷰 (작성중..)
배경InstructGPT 논문에서는 RLHF의 학습에 PPO 알고리즘이 사용된다고 설명한다.다만, 개인적으로 RLHF의 목표 함수와 PPO의 손실 함수 간의 연관성을 파악하지 못해 학습 과정이 어떻게 이루어지는지 알기 어려웠다. 이를 이해하기 위해 ColossalAI의 PPO 코드를 살펴봤다.코드 리뷰0. PPO 학습 파이프라인1. 학습 준비: PPOTrainer의 생성자PPO 학습에 필요한 네 가지 모델이 인자로 전달되는 것을 확인할 수 있다.- inital_model: SFT 모델- actor: Policy 모델 (=RL 모델)- critic: Value 모델 (= Vπ, 추정 상태 가치 함수)- reward_model: Reward 모델 * 엄밀히 말하면, reward_model은 $Q..
2025.02.21 -
[RL] 8.1. DPO(Direct Preference Optimization): Your Language Model is Secretly a Reward Model
Preview RLHFpreview PPO Reward Model Loss function(rϕ,D)=−E(x,yw,yl)∼D[logσ(rϕ(x,yw)−rϕ(x,yl))]where D={x(i),y(i)w,y(i)l}Ni=1 RLHF Objective function$$\begin{matrix} \text{objective} (\theta) &=& \mathbb E_{x \sim \mathcal D, y \sim \pi_..
2024.05.23 -
[RL] 8. PPO: Proximal Policy Optimization
Actor-Critic은 온-정책(on-policy) 알고리즘이기 때문에, 경험 데이터를 한 번만 사용할 수 있다. 다시 말해, 재사용이 불가하다. PPO(Proximal Policy Optimization)는 이러한 한계점을 개선한 알고리즘이다. 이전에 살펴본 Actor-Critic 수식을 advantage function으로 표현하면 다음과 같다.$$\begin{matrix} \nabla_\theta J(\theta) &=& \mathbb E_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^T (R_t + \gamma V_w(s_{t+1})-V_w(s_t)) \nabla_\theta \log \pi_\theta(a_t|s_t)\right] \\ &=& \mathbb E_{\..
2024.05.21 -
[RL] 7.1. Advanced Policy Gradient: A3C, A2C
심층 강화 학습 알고리즘심층 강화 학습 알고리즘은 크게 두 가지로 분류할 수 있다.첫번째, 환경 모델을 사용하는 모델 기반 기법(model-based method)두번째, 환경 모델을 사용하지 않는 모델 프리 기법(model-free method) 모델 기반 기법은 다시 환경 모델이 주어지는 경우와 환경 모델을 학습하는 경우로 나눌 수 있다.모델 프리 기법은 크게 정책 기반 기법과 가치 기반 기법, 그리고 이 둘을 모든 갖춘 기법으로 분류할 수 있다. 이번 글에서는 정책 경사법 계열의 고급 알고리즘 중 분산 학습 알고리즘인 A3C, A2C에 대해 알아볼 것이다.A3C(Asynchronous Advantage Actor-Critic)A3C의 특징은 Asynchronous 즉, '비동기'라는 점이다.여기서..
2024.05.01 -
[RL] 7. Policy Gradient method: REINFORCE, Baseline, Actor-Critic
지금까지 배운 기법(DP, MC, TD)은 모두 가치 기반 기법(value-based method)이다.가치 기반 기법은 가치 함수를 모델링하고 가치 함수를 학습한다. 그리고 가치 함수를 경유하여 정책을 얻는다.참고로, 가치 기반 기법에서는 "일반화한 정책 반복"으로 최적 정책을 찾는 경우가 많다. 이번 글에서는 정책 경사법(policy gradient method)에 기반한 다양한 알고리즘에 대해 알아볼 것이다.The simplest policy gradient method정책 경사법은 기울기를 이용하여 정책을 갱신하는 기법들의 총칭이다.우선 가장 간단한 정책 경사법을 도출해보자. DNN으로 π(a|s) 표현우선, 정책 π(a|s)를 신경망으로 모델링한다.이때, 상태를 입력으로 받으면 모..
2024.04.30 -
[RL] 6. DQN(Deep Q Network)
지금까지는 상태와 행동의 가짓수가 적은 문제만 다뤘기 때문에, 행동 가치 함수(Q 함수)를 테이블로 관리해도 아무런 문제가 없었다.하지만 현실은 훨씬 복잡하기 때문에 Q 함수를 테이블로 관리하는 건 현실적으로 불가능하다. 해결책으로 Q 함수를 더 가벼운 함수로 근사하는 방법을 생각해볼 수 있으며, 딥러닝이 현시점 가장 유력한 후보다. 이번 글에서는 강화학습에서 가장 유명한 알고리즘인 Q 러닝과 DNN(Deep Neural Network)의 결합인 DQN (Deep Q Network)에 대해 알아볼 것이다.DNN으로 Q 함수를 표현지금까지는 Q 함수를 테이블로 Q 함수를 표현(관리)했다.이제 테이블로 표현한 Q 함수를 DNN으로 "변신"시켜보자.다시 말해, DNN으로 Q 함수를 근사해보자. 우선, DNN의..
2024.04.28