인공지능/강화학습

matlab 강화 학습 - Reinforcement Learning(RL)

이게될까 2024. 5. 7. 19:30
728x90
728x90

https://kr.mathworks.com/videos/reinforcement-learning-part-1-what-is-reinforcement-learning-1551974943006.html

 

강화 학습이란? | 강화 학습 Part 1

엔지니어의 관점에서 강화학습에 대해 전반적으로 살펴볼 수 있습니다. 강화학습은 매우 까다로운 제어 문제를 해결할 잠재력을 지닌 일종의 머신러닝입니다.

kr.mathworks.com

일단 여기서 진행된 내용입니다.

강화학습을 통해 어려운 제어 문제를 풀 수 있다!

 

전통적인 제어 방식에서 로봇을 걷게하기는 너무 힘든 일이다. 
이미지 -> 특징 추출 -> 센서와 결합하여 상태 추청 -> 컨트롤 (다양한 제어 관계가 있다.) -> 보행

특징 추출, 상태 추정과 컨트롤을 딥러닝(머신러닝) 방식으로 한다.

머신러닝 - 강화, 지도, 비지도 학습이 있다.
비지도 학습 - 라벨이 없는 데이터를 특징에 따라 그룹화 한다.
지도 학습 - 데이터에 대한 답을 가지고 학습한다.
딥러닝 - 수천개의 입력에서 히든 피쳐 계산을 통해 정답을 도출해 낸다.
강화 학습 - 동적 환경에서 작동한다.
최적의 결과를 생성하는 최상의 행동 시퀀스를 찾는다.

에이전트가 환경과 상호작용하며 보상을 받으며 반복한다.

좋은 행동에 대해서는 좋은 보상, 나쁜 행동에 대해서는 음의 보상을 받는다.

정책을 딥러닝으로 나타낼 수 있다. 

심층 강화 학습 - 모든 관측 값을 가져와 엑츄에이터에 넣으면 그에 따른 움직임이 있을 것이고 그럼 보상을 받는다. 특정한 조합이 얼마나 효과적인지 알려주는 것이다. 

관측값과, 리워드, 액션을 수집하여 강화 학습 알고리즘을 통해 가장 유리한 행동을 취한다.

강화 학습은 최적화 문제이다!
다른 최적화와는 다르다!

가치 - 기대할 수 있는 총 보상을 의미한다. 

보상 - 순간적인 이득

단기적 -> 이왼쪽으로가서 +1만 먹는다.

장기적 -> 오른쪽으로 쭉 가서 10을 얻는다.

현재 보상을 미래 보상모다 크게 친다 ( 감쇠인자)

탐욕적 방식 - 최고만 노리고 간다.

탐색적 방식 - 랜덤적으로 진행하여 더 큰 보상을 찾는다.

늘 먹던 것과 새로운 레스토랑의 선택에서 이러한 차이가 난다.

입실론 그리디가 탐색적 방식이겠네요

RL알고리즘이 이걸 단순하게 유지해준다!

 

플랜트의 관측된 상태 == 환경

최고의 액추에이터 명령 == 액션

환경과 액선을 이어주는 제어기 == 정책

 

코스트 = - 보상
딥러닝과 동일한 방식으로 backpropagation하여 진행할 수 있다.

 

각 샘플 시간에 매개 변수를 조정하는 적응형 제어기의 조정 메커니즘과 같다.

이러한 방식으로 시스템에 대해 전혀 알지도 못하는 상태에서도 정책, 즉 제어기를 설정할 수 있다.

시행착오를 통해 올바른 매개 변수를 학습한다.

 

알아야 할 것이 있다

정책을 선택해야 매개 변수와 구조체를 성공적으로 진행할 수 있다.

보상도 정해줘야 한다.

https://kr.mathworks.com/products/reinforcement-learning.html

 

Reinforcement Learning Toolbox

Reinforcement Learning Toolbox는 DQN, A2C, DDPG 및 기타 강화 학습 알고리즘을 사용하는 심층 신경망 정책을 훈련시키기 위한 함수, Simulink 블록, 템플릿 및 예제를 제공합니다.

kr.mathworks.com

https://kr.mathworks.com/videos/deep-reinforcement-learning-for-walking-robots--1551449152203.html

 

Deep Reinforcement Learning for Walking Robots

Use MATLAB, Simulink, and Reinforcement Learning Toolbox to train control policies for humanoid robots using deep reinforcement learning.

kr.mathworks.com

https://www.youtube.com/watch?v=2pWv7GOvuf0

 

728x90