정보/R&E 4

Rainbow DQN 강화학습 알고리즘 적용하기

이전 글 : OpenCV image를 grid-based tiles로 변환하기 https://minseob.tistory.com/12 고등학생들이 공부하고 연구한 내용을 개인적으로 블로그에 정리한 글이다. 전문적이지 않으며 틀린 내용이 있을 수 있음을 미리 밝힌다. 강화학습이란 특정 환경에서 정의된 에이전트가 순차적 의사결정 문제에서 부여되는 누적 보상을 최대화하기 위해 시행착오를 통해 행동을 교정하여 학습하는 머신러닝의 한 분야입니다. 따라서 강화학습의 목적은 에이전트가 누적 보상이 최대화되는 행동을 선택하는 것입니다. MDP란 아래 그림과 같은 그래프를 의미하고 상태, 행동, 전이 확률, 보상 함수, 감가율을 매개변수로 가집니다. MDP는 순차적 의사결정 문제의 하나로서 마르코프 성질을 가집니다. M..

정보/R&E 2022.03.25

OpenCV image를 grid-based tiles로 변환하기

이전 글 : OpenCV-python를 이용하여 Unrailed! 윈도우 창 캡쳐하기 https://minseob.tistory.com/7 OpenCV를 이용하여 게임 화면을 캡쳐한 다음에는 이 화면을 에이전트가 맵을 파악할 수 있도록 grid-based tiles로 변환해주는 작업이 필요하다. 그전에 이전 글에서 캡쳐한 Unrailed! 윈도우 창에서 물체를 인식할 수 있도록 변환해주는 작업이 필요하다. cut_image함수로 화면에서 인식에 필요한 맵 부분을 잘라낸다. def cut_image(im): """Cut the image""" im = rotate(im, -8) x, y = 0, 125 h, w = 320, 800 im = im[y:y + h, x:x + w] rows, cols = im...

정보/R&E 2021.08.30

OpenCV-python를 이용하여 Unrailed! 윈도우 창 캡쳐하기

이전 글 : 2021 정보 R&E 주제 소개 https://minseob.tistory.com/6 게임을 플레이하는 ai를 만들려면 가장 먼저 게임 화면을 실시간으로 캡처해서 ai가 인식할 수 있도록 해야 한다. 이를 수행해주는 것이 바로 OpenCV이다. OpenCV는 Open Source Computer Vision의 약자로 실시간으로 이미지를 프로세싱하는 라이브러리이다. 파이썬 파일은 window화면을 캡처해주는 class가 담긴 window.py와 main.py 두 개를 만든다. Unrailed! 창을 캡처하기 위해서는 OpenCV 뿐만 아니라 win32gui, pyautogui, numpy 라이브러리가 필요하다. 이들 라이브러리를 설치한 후 import 해준다. import win32gui im..

정보/R&E 2021.07.14

2021 정보 R&E 주제 소개

R&E 는 Research & Education의 약자로 1년에 걸쳐서 하는 탐구 프로젝트를 말한다. 현재 재학 중인 전북과학고등학교에서는 정보, 수학, 물리, 화학, 생물, 지학 중 한 과목에 대하여 모든 1학년 학생이 4명이 한 조가 되어 각 조마다 R&E 탐구활동을 하고 있다. 그 중 나는 정보 R&E에서 부장을 맡고 있으며, 우리 조의 주제는 다음과 같다. "협동 게임을 이용한 강화학습 모델 개발" 개발 언어는 Python을 사용할 것이고, 개발 도구는 Pycharm 과 Google colab을 사용할 계획이다. 협동 게임은 "Unrailed!"라는 스팀게임을 택하였다. 강화학습은 기계학습의 한 종류로 어떤 환경 안에서 에이전트(행동의 주체)가 보상이 최대화되도록 행동하는 방법을 의미한다. 초기의..

정보/R&E 2021.07.13