20220517 Reinforcementlearning
title: "강화학습" date: "2022-05-17"
modified: "2022-05-17"
뭔가 의미없지만 의미있는 정리3
면접때 뭘 물어보면 좋을까
강화학습(Reinforcement Learning)
- 레벨1기초 : 1.1. 묻고자 하는바 : 강화학습이 무엇인지 알고 있으며 주요 키워드에 대한 이해가 있는가? 1.2. 정답 - 주요 키워드 중심으로 :
- 원리 : 특정 개체(agent)가 주어진 환경(state)에 대해 행동(action)을 취하면 보상(reward)를 얻음으로 학습을 진행. 원하는 목표(goal)에 도달할 수 있도록 보상함수(reward function)을 설계. 반복적으로 강화학습을 수행하여 보상의 최대가 되는 최적화(optimization)된 모델을 도출.
- 실제 물리 장치를 통한 학습이 아닌 시뮬레이터를 통한 학습 필요.
- 레벨2심화 : 2.1. 묻고자 하는바 ; 강화학습의 주요 키워드를 이용하여 알고리즘을 설계할 수 있는가? 생산라인에서 2.2.
- 예제 : 생산라인에서 AVG로 물건을 이동하기 위한 길찾기 알고리즘을 강화학습으로 설계할 경우, agv(agent)가 생산 라인의 환경(state)에 대해 좌/우로 방향을 조절하고 속도를 조절하면(action) 그 액션이 물건 배달에 가까운 경우 양의 보상(reward)를 액션이 물건 배달을 방해할 경우 음의 보상을 주는 보상함수(reward function)를 설계한다. 보상함수를 이용하여 반복적으로 강화학습을 진행하여 길찾기에 최적화(optimization)된 모델을 뽑는다.
- 레벨3응용 : 3.1. 묻고자 하는바 : 간단한 리워드 펑션을 설계할 수 있는가? agv가 정해진 트랙 위를 따라 이동하고자 한다. 트랙의 폭은 track_width, 트랙 가운데에서 agv까지의 거리가 distance_from_center로 주어진다. 이 두 파라메터를 이용하여 avg가 트랙에서 벗어나지 않도록 하는 보상함수를 설계하시오 제약 정의) agv의 형태, 바퀴 수, 부분적인 트랙아웃 등은 고려하지 않고 distance_from_center*2가 track_width보다 커지면 agv가 트랙 밖으로 나간 것으로 가정한다.
3.2. 정답 : distance_from_center가 작을 수록 큰 리워드를 주는 방향의 설계를 하고 있으면 정답으로 처리. 나머지는 면접관 재량으로.
예제) aws deepracer reward function 예제에서 발췌def reward_function(track_width, distance_from_center):marker_1 = 0.1 * track_widthmarker_2 = 0.25 * track_widthmarker_3 = 0.5 * track_width# Give higher reward if the car is closer to center line and vice versaif distance_from_center <= marker_1:reward = 1elif distance_from_center <= marker_2:reward = 0.5elif distance_from_center <= marker_3:reward = 0.1else:reward = 1e-3 # likely crashed/ close to off trackreturn reward