심층 강화 학습

심층 강화 학습은 머신러닝의 한 부류로서, 로봇 및 자율 시스템 같은 복잡한 시스템의 제어기 및 의사결정 시스템을 구현할 수 있습니다. 심층 강화 학습을 통해 물리적 시스템 또는 시뮬레이션된 시스템에서 동적으로 생성되는 데이터로 훈련하여 복잡한 행동을 학습할 수 있는 심층 신경망을 구현할 수 있습니다. 다른 머신러닝 기법과 달리 미리 정의된 레이블 지정 또는 미지정 훈련 데이터셋이 불필요합니다. 일반적으로는 환경을 표현하는 시뮬레이션 모델만 있으면 됩니다.

MATLAB®, Simulink®Reinforcement Learning Toolbox™를 사용하여 의사결정 시스템을 설계하고 배포하는 전체 워크플로를 진행할 수 있습니다. 다음과 같은 작업을 수행할 수 있습니다.

  • 간단한 제어 시스템, 자율 시스템, 로봇공학 및 스케줄링 문제에 대한 예제를 사용하여 심층 강화 학습 시작
  • 약간의 코드 변경만으로 널리 사용되는 강화 학습 알고리즘을 빠르게 전환, 평가 및 비교
  • MATLAB 또는 Simulink에서 환경 모델링
  • 심층 신경망을 사용하여 영상, 비디오 및 센서 데이터를 바탕으로 복잡한 심층 강화 학습 정책 정의
  • 로컬 코어 또는 클라우드를 통해 여러 시뮬레이션을 병렬로 실행하여 더 빠르게 정책 훈련
  • 임베디드 기기에 심층 강화 학습 정책 배포
강화 학습 다이어그램

심층 강화 학습 에이전트

심층 강화 학습 에이전트는 입력 상태를 출력 행동에 매핑하는 심층 신경망 정책과 이 정책을 업데이트하는 알고리즘으로 구성됩니다. 널리 사용되는 알고리즘의 예로는 DQN(Deep Q-network), DDPG(Deep Deterministic Policy Gradient), SAC(Soft Actor Critic) 및 PPO(Proximal Policy Optimization)가 있습니다. 알고리즘은 환경으로부터 수집된 관측값과 보상을 기반으로 정책을 업데이트하여 장기 기대 보상을 최대화합니다.

Reinforcement Learning Toolbox를 사용하면 심층 강화 학습 에이전트를 프로그래밍 방식으로, 또는 강화 학습 디자이너 앱을 통해 대화형 방식으로 만들 수 있습니다. 바로 제공되는 널리 사용 중인 알고리즘 중에서 선택하거나 사용 가능한 템플릿과 예제를 사용하여 직접 사용자 지정 알고리즘을 구현할 수 있습니다.

강화 학습 다이어그램

자세히 알아보기

MATLAB 및 Simulink에서의 환경 모델링

심층 강화 학습 알고리즘을 사용한 훈련은 에이전트가 주변 환경과 상호 작용하는 동적 공정입니다. 로봇공학 및 자율 시스템 같은 응용 분야의 경우 실제 하드웨어로 이 훈련을 수행하려면 많은 비용이 들고 위험할 수 있습니다. 따라서 심층 강화 학습에는 시뮬레이션을 통해 데이터를 생성하는 가상의 환경 모델이 훨씬 더 선호됩니다.

시스템 동특성, 해당 동특성이 에이전트의 행동에 의해 받는 영향 및 행동의 적합성을 평가하는 보상을 설명하는 환경의 모델을 MATLAB 및 Simulink에서 구축할 수 있습니다. 이러한 모델은 연속 모델 또는 이산 모델일 수 있으며 다양한 충실도 수준에서 시스템을 표현할 수 있습니다. 또한 시뮬레이션을 병렬화하여 훈련 속도를 높일 수도 있습니다. 몇몇 경우에는 시스템의 기존 MATLAB 및 Simulink 모델을 약간만 수정하여 심층 강화 학습에 재사용할 수 있습니다.

자세히 알아보기

MATLAB 및 Simulink에서의 환경 모델링

예제 및 참조 응용 사례

역진자 균형 유지, Grid-World 탐색 문제, 카트-폴 시스템 균형 유지와 같은 간단한 문제에 대한 정책을 훈련시켜 심층 강화 학습을 시작할 수 있습니다. 또한 자율주행 차량의 적응 순항 제어, 차선 유지 보조 기능을 위한 시스템을 설계할 수도 있습니다. 심층 강화 학습은 궤도 계획 등의 로봇공학 응용 분야, 보행 등의 동작 교육에 사용할 수도 있습니다.

강화 학습 다이어그램

자세히 알아보기