250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 최대 힙
- 최소힙
- 멀티프로세서
- spring
- JPA
- jpa n+1 문제
- Kruskal
- python
- posix
- 백준장학금
- 점근적 표기법
- 스케줄링
- 완전이진트리
- 백준 장학금
- 강화학습
- 연결리스트
- 연결리스트 종류
- MSA
- 자료구조
- 엔티티 그래프
- heapq
- 이분탐색이란
- 힙트리
- SpringSecurity
- 알고리즘
- JVM
- 운영체제
- 프로세스
- AVL트리
- HTTP
Archives
- Today
- Total
KKanging
[강화학습] 1. 강화학습이란 본문
1. 지도학습과 강화학습

지도학습과 강화학습을 설명하는 예시이다.
자전거 학습을 하는 어린이로 예를 들자면
지도학습은 아버지가 자전거를 타는법을 지도해주는 것과 같고,
강화학습은 혼자서 자전거를 넘어지기도 하면서 배우는 학습과 같다.
즉 강화학습은 시행착오 (Trial & Error)를 통한 학습이라고 생각하면 된다.
머신러닝/딥러닝과 달리 데이터가 많이 필요하지 않고,
스스로 데이터를 만들어내는 효과
ex)
구글 딥 마인드 - 알파고, 눈스캔 질병 진단
주식 트레이딩 봇 .. 등등
더 자세한 지도학습과 강화학습 설명
지도학습은 정답이 주어진 학습데이터(training data) 를 통해서 학습을 한다
학습데이터의 정답을 추출하기 위해서 feature를 부여하고 학습을 한다
요즘은 딥러닝이라는 방법론을 이용해서 피쳐를 자동으로 추출하여 학습하는 방법을 많이 사용한다.
그래서 학습을 끝낸 지도학습 모델은 정답을 모르는 데이터에 대한 정답을 낼 수 있게된다.
강화학습은 더 자세히 설명하면
"순차적 의사결정 문제에서 누적 보상을 최대화 하기 위해 시행착오를 통해 행동을 교정하는 학습
과정"이다.
or
"보상 체계를 활용해 에이전트가 긍정적 행동을 할 수 있도록 에이전트의 행동을 제어하는 정책을 찾아내는 최적화 기법
2. 순차적 의사결정 문제
순차적 의사결정 문제는 우리 주위에 곳곳에 볼 수 있다.
자전거 예시로 돌아가 보면 핸들을 많이 기울면 중심이 흔들린다던가 패닯을 안밟으면 자전거가 속도가
줄어든다거나 하는 것처럼
어떤 행동을 취하면 어떤 상황이 주어지고 그 상황에 대해 또 행동을 취하는 것처럼
결국 연이은 행동을 잘 선택해야 하는 문제가 바로 순차적 의사결정 문제이다.
3. 보상이란
보상이란 의사결정을 얼마나 잘하고 있는지 알려주는 신호이다.
그리고 강화 학습의 목적은 순차적 의사결정에서 받는 보상의 총합, 즉 누적 보상(cumulative reward)
을 최대화하는 것이다.
다음은 보상의 3가지 특징을 설명하겠다.
1. 어떻게 X 얼마나 O
보상이 담고 있는 정보는 어떻게에 대한 정보를 담고 있지 않다는 점이다.
보상은 내가 어떠한 행동을 하면 그것에 대해 얼마나 잘 하고 있는지만 평가를 해줄 뿐,
어떻게 해야 높은 보상을 얻을 수 있을지 알려주지 않는다.
그럼 보상은 어떻게 하고있는지 알려주지 않는데 학습이 가능할까?
에 대한 답은 많은 시행착오를 통해 학습을 한다이다.
보상이 담고있는 얼마나에 대한 수치를 통해 학습을 하는 주체는 이때까지 했던 행동을 평가하고
학습한다.
2. 스칼라
보상의 두 번째 특징은 보상이 스칼라라는 점이다.
스칼라는 벡터와는 다르게 크기를 나타내는 값 하나로 이루어져 있다. (1차원)
만약 추구하는 목표가 여러개의 목표를 가지게 된다면 ex (x,y,z)
목표의 가중치를 둬서 50% 25% 25%라면 0.5x + 0.25.y + 0.25.z = 로 하나의 값으로 나타내는등의
과정을 가져야 한다.
혹은 문제를 단순화하여 하나의 목표를 설정해야한다.
3. 희소하고 지연된 보상
보상의 세 번째 특징은 보상이 희소(sparse) 할 수 있으며 또 지연(delay)될 수 있다.
이상적인 경우라면 하나의 의사결정당 하나의 보상이 주어지면 좋다.
하지만 많은 문제가 그렇지 않다.
바둑만 봐도 바둑의 목적은 경기를 이기는 것이기 때문에 이기면 +1 지면 -1의 형태로
정의한다면 250수의 의사 결정에 하나의 보상이 결정되기 때문이다.
보상이 희소할 수록 강화학습이 어렵고 학습하기 어려워진다.
이런 문제를 해결하기 위해 최근에는 밸류 네트워크등의 다양한 아이디어가 등장했다.
4. 에이전트와 환경

위에 설명했던 순차적 의사결정 문제를 도식화하여 식으로 설명하면 위 그림과 같다
Agent : 강화학습의 주인공이자 주체
Action (A t) : 에이전트가 취하는 행동을 의미
Environment : 에이전트를 제외한 모든 요소를 환경이라한다. (그래서 환경을 명확하게 정의하는 것은
어려움)
State (S t) : 에이전트가 취한 Action에 대한 Environment가 변한 상태를 의미
환경은 결국 상태 변화를 일으키는 역할을 담당
t : 실제상황에서 시간의 흐름은 연속적이지만
순차적 의사결정 문제에서 시간 흐름은 이산적이다.
그 이산적인 시간의 단위를 tick 또는 time step이라고 한다.
과정 설명
1. 현재 상황 St에서 어떤 액션을 해야할지 At를 경정
2. 결정된 행동 At를 환경에 보냄
3. 에이전트로부터 받은 액션 At를 통해서 상태 변화를 일으킴
4. 그 결과 상태는 St->St+1로 바뀜
5. 에이전트에게 줄 보상 rt+1도 함께 계산
6. st+1과 r+1을 에이전트에게 전달
에이전트는 ‘정책’에 따라 주어진 ‘환경’에서 ‘행동’을 한다.
위 행동에 따라 환경의 ‘상태’가 바뀌고, 결과에 따라 ‘보상’을 얻는다.
강화학습은 위 보상이 최대가 될 수 있게 하는 ‘정책’을 찾는 것
가장 좋은 정책을 찾는 것이 목적 → 누적 보상의 합을 최대로 함
'인공지능 > Reinforcement Learning' 카테고리의 다른 글
[강화학습] 5. MDP를 모를 때 밸류 평가하기 (0) | 2024.05.20 |
---|---|
[강화학습] 4. MDP를 알 때의 플래닝 (0) | 2024.05.12 |
[강화학습] 3. 벨만 방정식 (0) | 2024.05.09 |
[강화학습] 2. 마르코프 결정 프로세스 (0) | 2024.05.05 |