김재호

항공드론 인공지능을 위한 강화학습 본문

2025 co-week

항공드론 인공지능을 위한 강화학습

Kimjaeho 2025. 6. 4. 15:31

아래의 자료는 경북대학교 고영민 교수님의 수업을 바탕으로 제작하였습니다.

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 업데이터하지 않고 특정 주기마다 업데이트함