강화학습 첫걸음 - 강화학습 및 심층학습의 역사

Yubin Hong·2021년 7월 28일
0

강화학습 첫걸음

목록 보기
2/5

앞으로 배울 내용

  1. 강화학습이란 무엇인가?
  2. 미로찾기를 위한 강화학습 구현
  3. 역진자 문제를 위한 강화학습 구현
  4. 파이토치를 이용한 딥러닝 구현
  5. 딥러닝을 적용한 강화학습 - DQN 구현
  6. 딥러닝을 적용한 강화학습 - 심화과정
  7. AWS GPU 환경에서 벽돌깨기 구현





오늘은 1. 강화학습이란 무엇인가!


1.2 강화학습 및 심층강화학습의 역사

1.2.1 강화학습과 뇌에서 일어나는 학습

이번 절에서는 강화학습의 역사에 대해 알아보겠다. 요즘 강화학습이 주목받는 이유로 두 가지를 꼽는다. 첫 번째는 강화학습이 뇌의 학습 메커니즘과 비슷하다는 것과, 두 번째는 딥러닝과의 접목, 즉 심층강화학습을 통해 지금까지 해결하기 어려웠던 다양한 태스크에서 성능 향상이 꾸준히 보고되고 있다는 점이다.

2000년대 후반에 강화학습 연구가 사그라든 이유는 "상태를 요약해서 나타낼 좋은 방법"이 없었기 때문이다. "상태의 요약표현"이라는 용어를 더 쉽게 설명하겠다.

상태란 예른 들어 보행로봇이라면 "각다리 관절의 각도 및 속도" 따위의 정보를 의미한다. 바둑이나 장기라면 반상의 어느 위치에 어떤 말이 오느냐 같은 정보가 될 것이다. 즉 어떤 사각 t에 제어 대상이 처한 상황을 재현하기 위해 필요한 정보를 상태라고 부르며 이를 s(t)라 표기한다.

이어서 요약표현에 대해 설명하겠다. 강화학습 시스템은 상태 s(t)를 입력하면 그 다음에 취할 행동 a(t)를 출력한다. 이때 가능한 상태의 모든 패턴을 열거하고 각 패턴마다 모든 종류의 행동을 학습시키는 방법을 표형식 표현(tabular representation)이라고 한다. 표형식 표현에서는 (상태의 패턴 수) x (행동의 가짓수) 크기의 표를 사용한다. 표형식 표현은 강화학습을 적용하려는 대상 태스크가 단순하고, 상태 수 및 행동의 가짓수가 적을 때 사용할 수 있다.

그러나 로봇의 보행이나 바둑, 장기처럼 패턴 수 가 매우 많다면 표형식 표현을 적용하기 어렵다. 이 문제를 해결하기 위해 상태 패턴을 줄이는 방법을 생각해 볼 수 있다. 다시 말해, 상태 s(t)를 그냥 사용하는 것이 아니라 여기서 다시 중요한 정보만 추출하는 것이다. 이런 과정을 "상태를 요약(압축)해서 표현한다"고 한다.

장기를 예로 들면, 장기판 위의 모든 정보를 다루는 대신 "왕과 차, 포 등의 위치 관계만 따지도록"하는 것과 같다(단지 이해를 돕기위한 설명으로, 실제 장기 AI의 동작과는 다르다) 그러나 현실에 존재하는 복잡한 문제에서는 어떻게 상태 정보를 추출해야 할지 알 수 없기 때문에 "상태를 요약해서 나타낼 좋은 방법"을 알 수 없다는 것이 문제였다.


1.2.2 강화학습과 딥러닝의 결합

상태를 요약표현할 방법이 없다는 문제를 해결하게된 방법이 바로 앞서 말한 딥러닝이다. 딥러닝의 요약표현 능력을 활용해 강화학습 상태 s(t)를 요약해보려는 시도를 하게 됬다.

10시간 정도 심층강화학습한 벽돌깨기 게임

딥러닝이나 강화학습에 관심을 가지고 자료를 찾아본 사람이라면 심층강화학습을 이용한 벽돌 깨기 게임 동영상을 한 번쯤은 본 적이 있을 것이다. 이 게임은 벽돌을 파괴하면 양의 값의 보상을 받는 규칙으로 강화학습을 통해 구현된 것이다.

’이세돌 vs 알파고’ 세기의 대결 이후 5년…AI 어디까지 왔나

벽돌 깨기에 이어 심층강화학습이 화제에 오르게 된 계기로 알파고(AlphaGO)를 들 수 있다. 2015년 10월 바둑계의 유럽 챔피언인 판 후이(Fan Hui)를 꺾은 후로 2016년 3월에는 세계 랭킹 1위를 거친 이세돌을 꺾었다. 이어 2017년 5월에는 당시 세계 랭킹 1위였던 커제를 꺾고 사실상 인간을 능가한 바둑 프로그램이 됐다.

"
"
"
"
"
"
"
"
"
"
"
"
"

Reference

profile
기억보단 기록을

0개의 댓글