김재호
항공드론 인공지능을 위한 강화학습 본문
아래의 자료는 경북대학교 고영민 교수님의 수업을 바탕으로 제작하였습니다.
1. 강화학습 개요
Machine Learning vs Deep Learning
Supervised Learning

Unsupervised Learning

Reinforcement Learning

강화학습이란?
- 스스로 여러가지 행동을 해보고 좋은 행동(높은 보상을 받은 행동)을 찾음

강화학습이 로봇 제어, 게임등에서 많이 사용되는 이유
- 지도학습은 정확한 라벨이 필요함
- 하지만 위와 같은 문제들은 정확한 라벨을 만들어내기 어려움
- 따라서 스스로 여러가지 행동을 탐색하며 최적의 정책을 찾는 강화학습 알고리즘을 사용
2. 강화학습의 기본 이론
확률 : P(X=1) -> 확률 변수 X가 1일 확률

예시
주사위에서 6이 나올 확률은?
P(X=6) = 1/6
결합확률 : 두 사건이 동시에 일어날 확률, P(X, Y)

예시
주사위에서는 6, 동전에서는 앞면이 나올 확률은?
P(X=6, y= 앞) = 1/6 * 1/2 = 1/12
조건부 확률 : 한 사건(Y)가 일어났을 때, 다른 사건 (X)의 확률, P(X|Y)
- 동전에서 앞면이 나왔ㅇ르 때, 주사위에서는 6이 나올 확률은?
- P(X=6, Y=앞) = 1/6
기댓값 : 어떤 사건이 일어날 때 얻을 것으로 기대할 수 있는 값, E(P(X))
- 동전을 던질 때 앞면이 나오면 100만원, 뒷면이 나오면 10만원일 때 얻을 수 있는 돈의 기댓값은?
- E(P(Y)) = 1/2 * 100 + 1/2 * 10 == 55만원
강화학습에서 확률을 다루는 이유는?
-> Agent의 행동, environment가 주는 보상 등이 확률적인 경우가 많기 때문이다.
정책의 가치
강화학습의 목표는 최적의 정책을 찾는 것

이득(return) : 앞으로 얻을 것으로 예상되는 reward의 합

T : 종단상태
종단 상태가 존재하지 않아 시나리오가 무한히 지속되는 경우도 존재, 이 경우 이득값이 발산
Discount rate : 먼 미래의 보상보다는 가까운 미래의 보상에 가중치를 줌

가치함수 : 현재의 정책이 얼마나 가치있는 것인지 표현
- 현재의 정책을 따랐을 때 얻을 수 있는 이득의 기댓값

벨만 방정식 : 가치함수를 재귀적으로 표현

정책 반복
- 초기에 주어진 정책에 대해 평가하고, 계산된 가치함수를 통해 정책을 발전시키는 과정을 반복하여 최적의 정책을 찾을 수 있으며, 이 과정을 정책 반복(Policy Iteration)이라고 함

정책 평가
- 강화학습 과정에서 처음에는 무작위 정책을 가지고 학습을 시작
- 현재 가지고 있는 정책의 정확한 가치를 모름
- 따라서 주어진 정책의 가치를 정확히 계산해 낼 수 있는 방법이 필요함
정책 발전

정책 평과 과정에서 계산한 가치를 기반으로 현재의 정책보다 좀 더 좋은 정책을 찾아야 함
대표적인 방법으로는 greedy 방법이 있음

3. 딥러닝과 강화학습
- Learning-based methods
- 데이터셋을 통해 학습하여, 원하는 결과를 내기 위한 최적의 파라미터를 찾아냄

데이터를 설명할 수 있는 최적의 직선을 찾아내는 것이 목표
최적의 직선을 찾기 위해 다음과 같은 에러를 최소화 해야함

에러를 최소화하는 파라미터를 찾는 방법 -> 미분

- 주어진 목표 함수와 파라미터에 대해서, 목표 파라미터에 대한 미분을 수행
- 미분을 통해 계산된 방향(gradient)을 통해 최적화 진행
- 여러 step에 걸처 파라미터를 업데이트하고, 목표값에 수렴하거나 더 이상 변화가 없을 때 업데이트를 종료
딥러닝
- 머신러닝 알고리즘에서 모델을. 신경망으로 대체


w : weight, 각 layer가 가지고 있는 파라미터, input node, hidden node마다 다른 값을 가짐
b: bias, 학습되는 파라미터지만 hidden node에만 의존

DQN(Deep Q-network)
- 기존에는 벨만 방정식을 이용하여 반복계산을 수행하고, 이를 통해 정책평가 및 발전을 수행
- DQN에서는 신경망을 통해 정책을 표현하고, 이를 안정적으로 최적화하기 위한 여러 방법을 제시
상태 -> 신경망 -> 행동
- 상태-행동 가치(q value)

※q value를 사용하는 이유

일반 가치함수를 사용할 경우 :
Greedy policy를 취하고 싶음
현재 각도가 10도일 때, greedy policy를 따르면 0도로 상태를 바꿔주는 action을 취해야 함
이걸 몰라서 강화학습을 적용하는 것인데 어떻게 할까 ? ->
q value를 사용할 경우 상태-행동에 대한 가치를 구할 수 있어 이러한 문제를 해결할 수 있음

하지만, 신경망을 통해 q network를 만들고 이를 학습할 때, 다음과 같은 문제 발생
- 데이터 간 correlation이 너무 높음
- 학습이 불안정
데이터 간 높은 correlation
- 만약 개/고양이 분류기에서 무작위 데이터를 뽑아 학습시키는 것이 아니라 고양이 데이터를 모두 학습시키고 나서, 개 데이터를 학습시키면?
- 인간과는 달리 신경망의 학습은 이전 데이터에 대한 기억을 보장하지 못하여 개 데이터에서 학습 했던 것을 모두 잊고 고양이 데이터에 대한 학습 결과만 남음

- 강화학습에서도 마찬가지의 문제가 발생할 수 있음
불안정한 학습

네모 : 학습의 목표가 되는 값 -> 학습이 진행되며 q network가 계속 업데이트 되기 때문에 계속 값이 변함
- 데이터 간 높은 correlation 문제를 해결하기 위해 replay memory 방법 제시
- 취득한 데이터는 어떤 메모리에 보관해놓고, 학습할 때에는 메모리에서 무작위 데이터를 샘플링해 사용

- 학습 목표에 변화에 따른 학습의 불안정성을 해결하기 위해 target network 방법 제시
- q network와 똑같은 구조의 네트워크를 만들어 target network로 두고, 해당 네트워크는 매 step 업데이터하지 않고 특정 주기마다 업데이트함
'2025 co-week' 카테고리의 다른 글
| 자율주행 모빌리티를 위한 계산과학 기술(2) (0) | 2025.07.01 |
|---|---|
| 자율주행 모빌리티를 위한 계산과학 기술 (0) | 2025.06.04 |
| 빅데이터 & AI를 활용한 3D 게임 콘텐츠 자동생성 기법 (0) | 2025.06.04 |
| 지능형 사물인터넷(AIoT)을 위한 소형 AI 모델 개발 방법론 (1) | 2025.06.04 |
| 생성형 AI를 활용한 프리젠테이션 기술 (0) | 2025.06.04 |