강화학습

강화학습

[강화학습] 자동 주차 시뮬레이션 구현을 위한 Unity 환경 설정

▶️ 문제 상황 현재 졸업프로젝트에서 강화학습을 이용한 자동 주차 시뮬레이션을 구현하려고 한다. 시뮬레이션 환경은 Unity로, 강화학습 모델은 Python(Pytorch)을 이용해 구현할 예정이다. 내가 이번 주차에 맡은 역할은 Unity로 주차장 시뮬레이션 환경을 개발하는 것이다. 우리는 강화학습의 매 에피소드 마다 새로운 주차 환경을 제공함으로써, 다양한 환경에서 자동차가 주차를 학습할 수 있도록 해야 한다. 그렇기 때문에 매 에피소드 마다 주차 환경을 변경해주는 환경을 구현하고자 한다. 우리는 3가지 주차 방식(평행 주차, 전방/후방 주차)에 따라 어느 방식이 가장 효율적인지 확인해야 하기 때문에, 모든 주차 방식을 시행할 수 있는 환경을 만들고자 한다. ▶️ 구현 방법 먼저 아래와 같이 시뮬레이..

강화학습

[강화학습] 탐험(exploration)과 이용(exploitation)

강화학습의 목적은 에이전트가 많은 보상을 받기 위한 최적의 정책을 학습하는 것이다. 에이전트가 최적의 정책을 찾기 위해서는 여러 상황에서 다양한 행동을 하며 많은 경험을 해보는 것이 필수이다. 1️⃣ 탐험(exploration) 에이전트가 항상 현재 알려진 최선의 행동만을 선택하면, 더 좋은 결과를 줄 수 있는 다른 행동을 발견하지 못한다. 에이전트는 다양한 경험을 통한 학습을 거쳐 가장 최적의 정책을 학습할 수 있게 된다. 이렇게 에이전트가 다양한 경험을 할 수 있도록 에이전트의 행동을 결정하는 기법을 탐험이라고 한다. 2️⃣ 이용(exploitation) 하지만 에이전트가 너무 다양한 경험만을 추구하는 것은 좋지 않다. 엄청나게 다양한 상태와 행동이 존재하는 환경에서 에이전트가 모든 경험을 다 해보려..

강화학습

[강화학습] 강화학습의 기초 용어

이번 졸업 프로젝트에서 강화학습과 관련된 프로젝트를 진행하게 됐다. 그 과정에서 강화학습에 공부한 내용을 기록하고자 한다. 다음은 파이토치와 유니티 ML-Agents로 배우는 강화학습이라는 책을 읽고 공부한 내용을 작성한 것이다. 강화학습이란? 강화학습은 지도 학습처럼 정답이 있지도 않고, 비지도 학습처럼 데이터의 특징만을 기반으로 학습하지도 않는다. 강화학습은 에이전트가 환경과 상호작용하고, 이 환경에는 보상이라는 기준이 있어서 다양한 시행착오를 겪어가며 보상을 최대화하는 방향으로 학습한다. 이에 따라 강화학습은 다양한 시행착오를 통해 학습할 수 있으며 비교적 명확한 보상을 설정할 수 있는 문제 해결에 사용한다. 예를 들어, 벽돌 깨기 같은 게임을 강화학습 알고리즘이 푼다면 게임 내에서 다양한 행동들을..

당찬 뱁새
'강화학습' 카테고리의 글 목록