R&E 는 Research & Education의 약자로 1년에 걸쳐서 하는 탐구 프로젝트를 말한다.
현재 재학 중인 전북과학고등학교에서는 정보, 수학, 물리, 화학, 생물, 지학 중 한 과목에 대하여
모든 1학년 학생이 4명이 한 조가 되어 각 조마다 R&E 탐구활동을 하고 있다.
그 중 나는 정보 R&E에서 부장을 맡고 있으며, 우리 조의 주제는 다음과 같다.
"협동 게임을 이용한 강화학습 모델 개발"
개발 언어는 Python을 사용할 것이고, 개발 도구는 Pycharm 과 Google colab을 사용할 계획이다.
협동 게임은 "Unrailed!"라는 스팀게임을 택하였다.
강화학습은 기계학습의 한 종류로 어떤 환경 안에서 에이전트(행동의 주체)가 보상이 최대화되도록 행동하는 방법을 의미한다. 초기의 에이전트는 어떠한 값도 가지고 있지 않은 상태이다. 에이전트가 어떤 행동을 하면 환경이 에이전트의 행동을 좋은 행동이었는지, 나쁜 행동이었는지를 판단하고, 목표에 가까운 행동일수록 큰 보상을 준다. 이러한 과정에서 에이전트는 보상이 최대화되는 방향으로 행동하기 시작하면서 문제에 대한 해결방법을 스스로 찾아간다.
우선 강화학습에 대해 단계를 나누어 설명하자면 강화학습의 단계는 크게 네 단계로 나뉘어있다. 먼저 아무 데이터가 없는 상태에서 에이전트가 무작위로 플레이한다. 두 번째로는 각각의 행동에 대한 보상을 받는다. 이때 목표에 가까운 행동일수록 더 큰 보상을 준다. 그리고 에이전트는 점점 보상이 큰 쪽으로 행동하게 된다. 이와 같은 학습 결과를 기반으로 훈련 데이터를 생성하고, 더 좋은 AI를 개발하기 위해 알고리즘을 갱신한다. 이 과정을 거쳐 최종적으로 모델이 완성된다.
프로젝트 진행 계획은 다음과 같다.
1. opencv-python를 이용하여 Unrailed! 윈도우 창 캡쳐하기
2. 캡쳐한 이미지를 토대로 2차원 타일 맵으로 만들기
3. 2차원 타일 맵을 인식 하여 행동하는 간단한 ai를 강화학습 없이 만들어보기
4. 강화학습을 이용하여 ai 학습시키기
5. 학습이 반복할 때마다 결과를 기반으로 학습 데이터를 생성, 알고리즘 갱신하기
6. 데이터를 비교하여 가장 주제에 맞는 모델 도출해내기
7. 완성된 모델의 에이전트들이 협동하는 방식을 관찰하여 효과적인 분업 방식 찾아내기
이 프로젝트의 기대효과 및 활용계획은 다음과 같다.
이 모델을 통해 개발된 인공지능은 최대 4개의 개체가 서로 협동하여 기차가 계속해서 나아갈 수 있게 할 것이다. 이 게임의 목표는 기차가 문제없이 최대한 많은 거리를 가도록 하는 것이다. 따라서 연구가 성공적으로 이루어졌다면 강화학습을 통해 개발된 인공지능들이 협동하여 기차가 나아가도록 할 것이다.
또한, 이 인공지능이 협동하는 방식을 관찰하여 효율적인 협동 방식을 모색할 수 있을 것이다.
기존의 선행연구와는 다르게, 사람의 개입 없이 오로지 강화학습으로 만들어진 인공지능만으로 게임을 플레이한다는 점에서 차별성을 두었다.
또 다른 기대효과는 다른 분야에서의 응용이다. 이 인공지능을 응용하면 현실에도 적용할 수 있을 것이다. 그 예시로, 이 인공지능을 공장 로봇들에게 적용한다면 로봇 스스로 가장 효과적인 분업 방법을 찾을 수 있을 것이다.
R&E 최종 발표일까지 R&E 진행 상황과 공부한 내용들을 시간 나는 대로 블로그에 올려보려 한다.
Github : https://github.com/utilForever/Corailed
'정보 > R&E' 카테고리의 다른 글
Rainbow DQN 강화학습 알고리즘 적용하기 (0) | 2022.03.25 |
---|---|
OpenCV image를 grid-based tiles로 변환하기 (0) | 2021.08.30 |
OpenCV-python를 이용하여 Unrailed! 윈도우 창 캡쳐하기 (0) | 2021.07.14 |