AI: RLOps 알고리즘/최적화
ㅁ RLOps 알고리즘/최적화
1. Proximal Policy Optimization(PPO)
ㅇ 정의:
– 강화학습에서 정책(Policy)을 안정적으로 업데이트하기 위해 제안된 on-policy 계열의 알고리즘으로, 정책 변화 폭을 제한하여 학습 안정성을 높인다.
ㅇ 특징:
– 정책 업데이트 시 KL divergence나 clipping 기법을 사용해 급격한 변화 방지
– 샘플 효율성은 낮지만 안정성이 높음
– Actor-Critic 구조와 함께 사용되는 경우가 많음
ㅇ 적합한 경우:
– 환경 상호작용 비용이 낮고 정책 안정성이 중요한 경우
– 게임 AI, 로봇 제어 등에서 안정적인 수렴이 필요한 경우
ㅇ 시험 함정:
– PPO는 off-policy 알고리즘이라고 오답 유도하는 경우가 있음 (정답: on-policy)
– Clipping은 gradient clipping이 아니라 objective clipping임
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) PPO는 정책 변화 폭을 제한하여 안정성을 높인다.
– (X) PPO는 off-policy 알고리즘이다.
1.1 Clipping
ㅇ 정의:
– PPO에서 정책 비율이 일정 범위를 넘어가지 않도록 손실함수를 제한하는 기법
ㅇ 특징:
– 정책 업데이트 시 과도한 변화 방지
– ε-clip 범위를 지정하여 수렴 안정성 확보
ㅇ 적합한 경우:
– 정책 학습이 불안정하거나 발산하는 경우
ㅇ 시험 함정:
– Clipping을 gradient clipping과 혼동하는 문제 출제 가능
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) PPO의 clipping은 정책 비율을 제한한다.
– (X) PPO의 clipping은 기울기 크기를 제한하는 것이다.
2. Experience Replay Buffer
ㅇ 정의:
– 과거의 경험(상태, 행동, 보상, 다음 상태)을 저장해 두고 학습 시 무작위로 샘플링하여 사용하는 메모리 구조
ㅇ 특징:
– 데이터 상관성 감소, 학습 안정성 증가
– off-policy 알고리즘에서 주로 사용
ㅇ 적합한 경우:
– 환경 상호작용 데이터가 제한적이거나, 데이터 효율성을 높이고 싶은 경우
ㅇ 시험 함정:
– on-policy 알고리즘(PPO 등)에서는 일반적으로 사용하지 않는다는 점을 혼동
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Experience Replay Buffer는 off-policy 학습에서 데이터 상관성을 줄인다.
– (X) PPO는 Experience Replay Buffer를 필수적으로 사용한다.
3. Target Network
ㅇ 정의:
– Q-learning 계열에서 안정적인 학습을 위해 일정 주기마다 메인 네트워크의 가중치를 복사하여 사용하는 별도의 네트워크
ㅇ 특징:
– Q값 추정의 변동성을 줄임
– 주기적 업데이트로 학습 발산 방지
ㅇ 적합한 경우:
– DQN, Double DQN 등 값 기반(value-based) 알고리즘
ㅇ 시험 함정:
– Target Network를 Actor-Critic 구조와 혼동하는 문제 출제 가능
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Target Network는 Q값 추정의 안정성을 높인다.
– (X) Target Network는 정책 기반 알고리즘에서만 사용된다.
ㅁ 추가 학습 내용
PPO와 Clipping은 on-policy 계열에 속한다.
Experience Replay Buffer와 Target Network는 주로 off-policy, value-based 알고리즘에서 사용된다.
시험에서는 on-policy와 off-policy 특징을 바꿔서 제시하는 함정 문제가 자주 출제된다.
PPO의 Clipping은 objective function의 값을 제한하는 것이며, gradient를 제한하는 것이 아니다.
Target Network는 학습의 안정성을 위해 메인 네트워크의 파라미터를 주기적으로 복사하여 사용한다.
Experience Replay Buffer의 Prioritized Experience Replay는 중요도가 높은 샘플을 더 자주 학습하는 방식이다.
PPO의 Adaptive KL Penalty 기법은 목표 KL 값에 따라 penalty를 조정하는 방법이다.