일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- OS
- 브루트포스
- BFS
- PYTHON
- 코딩 테스트
- linux
- kick start
- google coding competition
- 코딩
- 동적 프로그래밍
- 구글 킥스타트
- 순열
- CSS
- AI
- 알고리즘
- 파이썬
- nlp
- dp
- 킥스타트
- 프로그래밍
- 그래프
- 딥러닝
- 리눅스
- 네트워크
- 운영체제
- 프로그래머스
- DFS
- 백준
- 코딩테스트
- 동적프로그래밍
- Today
- Total
오뚝이개발자
강화학습(Reinforcement learning)의 방향성 본문
강화학습은 근래 들어 많은 발전이 이루어진 학습 방법이다. 간단히 설명하자면, agent와 environment를 두고 agent가 어떠한 action을 할 때마다 환경으로부터의 피드백(긍정/부정)이 온다. 이를 기반으로 학습을 하는 것이 바로 강화학습(RL)이다.
그런데 이러한 강화학습이 게임 분야에서는 매우 많이 사용이 되지만 왜 현실적인 문제들(예컨대, 자율주행)에서는 실적용이 어려울까? 다른 말로는, 왜 practical하게 적용하지 못할까?
RL은 근본적으로 trial-and-error 방식으로 작동한다. 즉, 어떠한 시도(action)를 해보고 이에 대한 에러를 feedback을 통해 수정하는 방식으로 학습이 진행된다. 하지만, 현실세계에선 이러한 실패(error)가 일어나선 안되는 경우가 많다. 예컨대, 자율주행을 학습시킨다고 한다면 실세계에서의 '실패'는 곧 인명사고를 말한다.
또 다른 이유로는 RL은 일반적으로 turn-by-turn decision making에 효과적으로 작동하도록 설계되었다. 때문에 여러 사건들이 연속성을 갖고 연이어 발생하는 현실세계의 문제에서는 효과적인 적용이 어려운 것이다.
반대로 바로 위와 같은 이유들 때문에 게임에서는 적용이 잘 되는 것이다. 가상의 게임 환경 속에선 무수한 실패를 안정적으로 반복해볼 수가 있고, 주로 turn-by-turn 방식으로 작동하는 게임들이 많기 때문이다.
이러한 문제를 해결하고 더 많이 RL이 사용되도록 하기 위해선, fast learning curve를 갖추도록 하여 적은 실패로부터도 많이 배울 수 있도록 해서 실세계에서 실패를 겪으며 발생하는 risk를 최소화 해야 한다. 또, safe trial이 가능한 환경을 구축해야 한다.
'AI > AI 개념' 카테고리의 다른 글
[AI/ML] 배치(batch)와 에폭(epoch), 적절한 배치 사이즈(batch size) (0) | 2022.01.27 |
---|---|
ML Task별 output 양상과 activation function(활성화 함수) (0) | 2021.10.07 |
overfitting(과적합)은 항상 안좋은가?, overfitting의 이점 (0) | 2021.10.07 |