[딥러닝_기초] 1. 강화학습

PurinYun·2023년 12월 4일
0

AIffel

목록 보기
42/75

강화학습이란?

마치 스무고개 같다.

지도학습

: paired data로 학습 (label 이 있음)
(립스틱 불량 상품, 이력서 불합 여부 등)

Object detection(탐지)/tracking(추적)
image segmentation (in 헬스케어, 용종검출)
pose estimation (in 프로 스포츠선수 자세학습, 물리치료, 스트레칭 등)
클로바노트 (인식한 음성을 화자 별로 구분하여 텍스트 변환하는 AI기술 활용)

학생data에서 키/몸무게로 짝지어진 것은 통계학적인 paired data
머신러닝에서는 라벨링이 있는 것은 paired image라고 CV

비지도학습

: Unpaired data(그룹)로 학습 (label(정답 값)은 없고 (정답)그룹이 있음)

스팸이냐 아니냐? 클러스터링, 이상감지모델
딥페이크, 필터로 애니메이션형태로 바꾸기

강화학습

: (paired/unpaired/label 등) 아무것도 없을 때, 누적 보상을 최대화하는 최적의 정책 학습
에이전트가 환경과 상호작용하며 보상을 최대화하기 위해 시행착오를 통해 학습

아이가 걸음을 배울 때, 자전거 배울 때, 게임, 바둑, 자율주행자동차

강화학습 비적용 예

정답이 있는 경우는 S.L(지도학습) 쓰는 것이 좋다.

수술이나 자율주행자동차와 같이 사람이 위험한 상황에 빠지게 되는 경우 좋지 않다. 무수히 많은 state를 학습시키지 않고는 사람의 생명이 위태로울 수 있으므로

강화학습에서 S.A.R 가 중요한 이유

(아무리 머신러닝의 성능이 좋다고 해도) state, action, reward를 잘 설정해야 똑똑한 agent 가 나오게 된다.

state, action, reward를 어떻게 설계하느냐에 따라 agent의 action이 변하고, 그로 인해 강화학습의 결과도 달라지기 때문입니다. 더 좋은 설계를 할수록 강화학습의 결과가 더 좋아집니다.

양궁로봇을 만들기 위한 강화학습에서

state: 에이전트와 과녁의 거리, 바람의 세기 등
action: 활의 방향, 활을 당기는 세기 등
reward: 점수를 많이 받으면 보상을 줍니다 등

자율주행 자동차를 만들기 위한 강화학습에서

state: 내 차량의 위치 정보, 라이다와 레이다 등의 센서로 얻을 수 있는 주변 자동차의 위치 정보. 내 차량과 주변 차량의 속도, 차량의 색깔 등
action: 핸들(-1~+1: 하이퍼탄젠트 함수), 액셀러레이터(0~1: 시그모이드 함수), 브레이크(0~1: 시그모이드 함수)의 정보 등
reward: 부딪히면 패널티를 주고 원하는 목적지로 가면 보상을 줍니다. 너무 느리게 가면 패널티를 주고 빠르게 가면 보상을 줍니다 등

(1) 상태(state)

차량의 주변 환경에 대한 정보 (보통 센서를 통해 수집)

1. 센서 데이터:
카메라: 도로, 차선, 신호등, 신호등 및 표지판 등을 인식하기 위해 사용
레이더: 주변 객체의 거리와 속도를 감지.
라이다(LiDAR): 주변 환경의 거리 및 형태를 3D로 매핑
GPS: 차량의 위치와 목적지까지의 거리를 제공
IMU(Inertial Measurement Unit): 차량의 가속도, 자세 등의 운동학적 정보를 제공

2. 차량 상태 정보:
속도, 가속도, 방향 등의 차량 운전 상태와 관련된 정보도 포함될 수 있음
이러한 다양한 센서 데이터와 차량 상태 정보를 결합하여 강화학습 에이전트가 현재 주행 상황을 이해하고 적절한 행동을 선택할 수 있도록 합니다. 이러한 정보는 강화학습 에이전트가 학습하고 의사 결정을 내리는 데 중요한 입력으로 사용됩니다.

(2) 행동(action)

차량이 취할 수 있는 다양한 운전 조작
우회전이 아직 힘듦

  1. 핸들 조작:
    좌/우 핸들 조작을 통해 차량의 방향을 조절합니다.

  2. 가속과 제동:
    가속을 통해 속도를 높이거나 제동을 통해 감속합니다.

  3. 차선 변경:
    현재 차선에서 다른 차선으로의 변경을 포함합니다.

  4. 신호등 및 표지판 인식에 따른 행동:
    신호등에 따른 정지 또는 출발, 표지판의 내용에 따라 주행 등을 포함합니다.

  5. 장애물 피하는 행동:
    주변의 장애물을 피하기 위해 회피 조작을 포함합니다.

이러한 행동들은 강화학습 에이전트가 주행 환경에 대한 상태 정보를 기반으로 선택할 수 있는 선택지입니다. 에이전트는 현재 상태에 대해 가장 적합한 행동을 학습하여 안전하고 효율적인 주행을 수행할 수 있도록 합니다.

(3) 보상(reward)

보상을 설정하기 위한 요소들

  1. 안전성(Safety): 자동차가 안전하게 운전하는 것에 대한 보상. 교통 규칙 준수, 사고 회피, 보행자 및 다른 차량과의 충돌 회피 등이 안전성의 측면으로 고려될 수 있습니다.

  2. 목표 도달(Target Achievement): 정해진 목적지에 효율적으로 도착하는 것에 대한 보상. 목적지까지의 시간, 경로 최적화 등을 고려할 수 있습니다.

  3. 주행 부드러움(Smooth Driving): 차량의 부드러운 주행에 대한 보상. 급가속, 급제동, 경사로에서의 안정성 등을 고려하여 주행을 최적화할 수 있습니다.

  4. 에너지 효율성(Energy Efficiency): 차량의 연료 또는 전력 소모를 최소화하는데 대한 보상. 에너지를 효율적으로 사용하여 주행하는 것에 대한 요소를 고려할 수 있습니다.

이러한 요소들은 자율주행 자동차가 특정 목표를 달성하고 안전하게 운전하며 효율적으로 에너지를 사용하는 데 도움을 줄 수 있는데, 이러한 요소들을 보상으로 설정하여 강화학습 에이전트가 최적의 행동을 학습하도록 유도합니다.

profile
Fantivation

0개의 댓글