강화학습이란?
꼭 알아야 할 3가지 사항
꼭 알아야 할 3가지 사항
강화학습은 컴퓨터 에이전트가 환경에서 반복적인 시행착오 상호 작용을 통해 작업 수행 방법을 학습하는 머신러닝 기법의 한 유형입니다. 이 학습 접근법을 통해 에이전트는 인간의 개입 또는 작업 수행을 위한 명시적인 프로그래밍 없이 작업에 대한 보상 메트릭을 최대화하는 결정을 내릴 수 있습니다.
강화학습의 일반적인 훈련 메커니즘은 다양한 실제 시나리오를 반영합니다. 긍정 강화를 통한 반려동물 훈련을 예시로 들어보겠습니다.
강화학습 용어를 사용해서 설명하자면 이 사례의 학습 목표는 강아지(에이전트)가 강아지를 둘러싼 환경과 조련사를 포함한 환경에서 행동을 완료하도록 강아지를 훈련하는 것입니다. 먼저 조련사가 강아지에게 명령 또는 신호를 보내고 강아지는 이를 관찰합니다(관측값). 그런 다음 강아지는 행동을 취하여 응답합니다. 취한 행동이 원하는 행동과 근접한 경우 조련사는 간식 또는 장난감과 같은 보상을 제공할 것입니다. 그렇지 않다면 보상이 제공되지 않습니다. 훈련 초반에 강아지는 특정 관측값을 행동 및 보상과 연관 짓기 위해서 “앉아”라는 명령에 구르는 등 무작위 행동을 더 많이 취할 것입니다. 이러한 관측값과 행동 사이의 연관성 또는 매핑을 정책이라고 합니다. 강아지의 관점에서 최적의 시나리오는 모든 신호에 올바르게 응답하여 최대한 많은 간식을 획득하는 것입니다. 즉, 강화학습 훈련의 의미는 강아지가 보상을 최대화하는 목표 행동을 배울 수 있도록 강아지의 정책을 "조정"하는 데 있습니다. 훈련이 완료되면 강아지는 자신이 개발한 내부 정책을 사용하여 보호자의 “앉아”라는 명령을 관찰하고 적절한 행동을 취할 수 있게 됩니다. 이 시점에는 간식이 제공되면 좋지만 필수적이지는 않습니다.
강아지 훈련 예시를 떠올리면서 자율주행 시스템을 사용한 자동차 주차 작업의 예시를 살펴보겠습니다. 목표는 강화학습을 활용하여 자동차 컴퓨터(에이전트)에게 올바른 주차 위치에 주차하도록 가르치는 것입니다. 강아지 훈련 사례와 동일하게 환경은 에이전트를 제외한 모든 것을 의미하며 차량의 동역학, 근처에 있는 다른 차량, 날씨 등이 포함될 수 있습니다. 훈련 동안 에이전트는 카메라, GPS 및 라이다 등 센서의 판독값(관측값)을 사용하여 운전, 제동 및 가속 명령(행동)을 생성합니다. 관측값으로부터 올바른 행동을 생성하는 방법을 학습(정책 조정)하기 위해 에이전트는 시행착오 절차를 통해 차량의 주차를 반복해서 시도합니다. 시행의 적합성을 평가하고 학습 과정을 인도하기 위해 보상 신호가 제공될 수 있습니다.
강아지 훈련 예시에서 훈련은 강아지 뇌 속에서 이뤄졌습니다. 자율주차 예시에서는 훈련 알고리즘이 훈련을 담당합니다. 훈련 알고리즘은 수집된 센서 판독값, 행동 및 보상을 기반으로 에이전트의 정책 조정을 책임집니다. 훈련이 완료되면 차량의 컴퓨터는 조정된 정책과 센서 판독값으로만 주차를 할 수 있습니다. 이러한 두 가지 모두 환경과의 시행착오적 상호 작용을 통해 데이터를 생성하므로 모델 프리 강화학습의 예시라고 할 수 있습니다.
강화학습의 주요 구성요소(정책, 환경, 에이전트, 행동, 보상, 관측값)는 불확실성이 있는 환경에서 의사결정을 내리기 위한 수학적 모델인 마르코프 결정 과정이라는 프레임워크 내에서 정형화됩니다.
탐색과 활용 간의 절충은 강화학습에 있어 매우 중요한 측면이며 학습 품질에 큰 영향을 미칠 수 있습니다. 핵심 아이디어는 다음 질문에 있습니다. 에이전트가 자신이 이미 알고 있는 가장 큰 보상을 수집하는 행동을 선택하여 환경을 활용해야 할까요? 또는 아직 미지의 환경을 탐색하는 행동을 선택해야 할까요? 에이전트가 내리는 선택은 에이전트가 받는 정보를 결정하며, 따라서 에이전트가 배울 수 있는 정보도 결정하게 됩니다. 탐색에 너무 집중할 경우 에이전트가 좋은 정책으로 수렴할 수 없습니다. 활용에 너무 집중할 경우 에이전트가 국소 준최적해에 갇힐 수 있습니다. 일반적으로 에이전트는 활용할 정보가 충분하지 않은 학습 초기에 더 많이 탐색하고 결국은 활용하는 쪽으로 점차 전환하게 됩니다.
심층 강화학습은 강화학습과 딥러닝을 결합한 것입니다. 간단한 문제의 경우 룩업 테이블 형태의 정책으로 충분할 수 있지만, 이 접근법은 규모가 큰 문제와 본질적으로 연속적 문제에 대해서는 확장성이 떨어집니다. 심층 강화학습으로 훈련된 심층 신경망은 복잡한 행동을 인코딩할 수 있으며, 기존 방법으로는 해결하기 매우 까다롭거나 다루기 어려운 응용 분야에 대안적인 방식을 제공합니다. 예를 들어, 자율주행에서 신경망은 운전자를 대신하여 카메라 프레임, 라이다 측정값 등 다양한 센서를 동시에 살펴보고 스티어링 휠을 어떻게 돌릴지 결정할 수 있습니다. 신경망이 없었다면 이 문제는 카메라 프레임에서 특징 추출, 라이다 측정값 필터링, 센서 출력값 통합, 센서 출력값을 기반으로 “주행” 결정 내리기 등의 여러 개의 작은 문제들로 세분화됐을 것이며, 이 경우 룩업 테이블이나 다항식 함수와 같은 보다 전통적인 정책 표현을 사용하면 더욱 쉽게 해결할 수 있습니다.
강화학습을 사용한 에이전트 훈련의 일반적인 워크플로는 다음과 같은 단계를 포함합니다.
강화학습을 사용하여 에이전트를 훈련하는 절차는 반복적인 과정입니다. 추후 단계의 결정 및 결과로 인해 학습 워크플로의 이전 단계로 다시 돌아와야 할 수 있습니다. 훈련 과정에서 합리적인 시간 내에 최적의 정책으로 수렴하지 않는 경우 다시 훈련시키기 전에 문제 정의(동역학, 관측값, 행동), 보상 신호, 정책 아키텍처, 알고리즘 하이퍼파라미터를 다시 검토해야 할 수 있습니다.
비지도 및 지도 머신러닝과 다르게 강화학습은 정적 데이터셋에 의존할 필요가 없고, 역동적인 환경에서 동작하며 수집된 경험으로부터 학습할 수 있습니다. 데이터 점 또는 경험은 훈련하는 동안 환경과 소프트웨어 에이전트 간의 시행착오 상호 작용을 통해 수집될 수 있습니다. 강화학습의 이 측면은 지도 및 비지도 머신러닝에서는 필요한 훈련 전 데이터 수집, 전처리 및 레이블 지정에 대한 필요성을 해소하기 때문에 중요합니다.
딥러닝은 3가지 머신러닝 모두를 포함합니다. 강화학습과 딥러닝은 상호 배타적이지 않습니다. 복잡한 강화학습 문제는 주로 심층 신경망과 심층 강화학습에 의존합니다.
강화학습 알고리즘은 학습 및 의사결정에 대한 접근법에 따라 몇 가지 범주로 정리할 수 있습니다.
강화학습 알고리즘에는 크게 다음과 같이 세 가지 종류가 있습니다.
모델 기반 강화학습은 환경의 동역학(전이 확률 및 보상 함수)을 나타내는 모델을 구축하거나 사용하여 계획을 세우고 의사결정을 내립니다. 여기서 핵심은 “계획”이란 말입니다. 이러한 알고리즘은 일반적으로 내부 모델을 사용하여 미래 상태를 시뮬레이션하므로 환경과의 상호 작용이 거의 또는 전혀 필요하지 않습니다. 내부 모델은 사전에 제공되거나(이 경우 에이전트는 환경과 상호 작용할 필요가 전혀 없음) 또는 실제 환경과의 상호 작용을 통해 수집된 데이터를 통해 학습될 수 있습니다. 모델 기반 강화학습은 모델을 사용하여 대규모 훈련 데이터셋을 신속하게 생성할 수 있으므로 일반적으로 모델 프리 강화학습보다 샘플 효율성이 더 높습니다. 그러나 모델 기반 방법은 내부 모델의 사용 가능 여부나 학습 여부에 따라 기본 에이전트를 훈련시키는 것 외에도 환경 모델을 훈련시키고 훈련 데이터를 생성해야 하므로 모델 프리 방법보다 훨씬 더 많은 연산 리소스가 필요할 수 있습니다.
모델 기반 알고리즘과 달리, 모델 프리 방법은 환경에 대한 명시적 모델을 구축하지 않습니다. 대신, 직접적인 상호 작용을 통해 시행착오에 의존하여 최적의 행동을 학습합니다. (이전 섹션의 강아지 훈련과 자동 주차 예시를 떠올려 보세요.) 이 접근법은 일반적으로 데이터 사용량 측면에서는 덜 효율적이지만, 더욱 간단하며 고차원 환경이나 비정형 환경에 더 적합합니다. 대부분의 최신 강화학습 알고리즘은 모델 프리 방식에 속하고 있습니다.
온라인 강화학습에서는 에이전트가 학습 과정 동안 환경과 지속적으로 상호작용하며 경험을 수집하고, 정책을 업데이트하며, 새로운 데이터가 들어올 때마다 계속해서 적응합니다. 위에서 설명한 강아지 훈련과 자동 주차 시나리오가 온라인 강화학습의 예입니다.
반면, 오프라인(또는 배치) 강화학습은 환경과의 추가적인 상호 작용 없이 기록된 경험(예: 사람의 시연 또는 과거 정책)으로 구성된 정적 데이터셋을 통해서만 학습합니다. 오프라인 방법은 실제 환경과의 상호 작용이 비용이 많이 들거나 안전하지 않은 경우에 적합하며 무작위 데이터나 비전문가 데이터에서도 유용한 정보를 추출할 수 있습니다(다만 학습 품질은 전문가 데이터나 정형 데이터에서 추출된 것보다 떨어질 수 있음). 실제로, 오프라인 강화학습은 온라인 강화학습으로 넘어가기 전에 정책을 사전에 훈련시키기에 좋은 선택지인 경우가 많습니다. 샘플 효율성은 떨어지지만, 새로운 데이터를 지속적으로 반영하기 때문에 일반적으로 더 우수한 성능을 낼 수 있습니다.
온-폴리시 강화학습 알고리즘은 훈련 데이터 생성에 사용되는 동일한 정책을 업데이트하고 평가합니다. 즉, 에이전트는 실제 행동을 기반으로 현재 정책의 가치를 학습합니다(예: SARSA, PPO, TRPO). 이 접근법은 오프-폴리시 방법처럼 행동과 목표 정책 간 차이를 조정하려고 하지 않기 때문에 업데이트가 더 안정적이고 신뢰할 수 있는 경우가 많습니다. 그리고 단일 정책만 유지하고 업데이트하기 때문에 계산 복잡도가 낮은 경향이 있습니다.
반면, 오프-폴리시 방법(예: Q-러닝, DQN)은 하나의 정책(행동 정책)에서 수집한 데이터를 활용하여 다른 목표 정책(예: 탐욕적 전략 또는 최적 전략)을 학습하거나 개선합니다. 따라서 과거 경험(데이터)을 재생 버퍼에 저장하고 여러 번 재사용할 수 있습니다. 이 방법은 각 정책을 업데이트한 후 데이터를 삭제하는 온-폴리시 방법에 비해 샘플 효율성이 크게 향상됩니다. 오프-폴리시 방법의 다른 이점은 무작위 데이터, 오래된 데이터 또는 사람이 생성한 데이터를 비롯한 모든 정책으로부터 학습할 수 있다는 점입니다. 오프라인 데이터셋이나 시연을 통해 훈련할 수 있는 것은 이러한 유연성 덕분입니다.
경사 기반 알고리즘은 (역전파를 통해) 정책 경사의 잡음이 있는 추정값을 활용하여 빠르고 샘플 효율적인 학습을 제공하기 때문에 많은 현대 심층 강화학습 알고리즘에서 핵심적인 역할을 합니다. 반면, 하이퍼파라미터에 민감하고, 국소 최적해에 빠지기 쉬우며, 미분이 가능해야 합니다.
이에 반해, 진화 강화학습은 정책을 블랙박스로 취급하며, 경사를 사용할 수 없거나 신뢰할 수 없는 경우, 대규모 병렬 연산을 이용할 수 있는 경우 또는 거친 탐색 공간에서 광범위한 탐색이 필요한 경우에 강력한 툴이 됩니다. 진화 전략은 모집단 기반 돌연변이와 선택을 통해 전역적으로 탐색하므로 보상 신호가 희소하거나 구별할 수 없는 경우에도 강인성을 제공하지만 샘플 효율성이 훨씬 떨어지며 수렴 속도가 더 느립니다.
하이브리드 기법을 통해 두 방법의 장점을 모두 활용할 수 있는 경우가 점점 더 많아지고 있습니다. 하이브리드 기법에서는 탐색 및 전역 검색에 진화를 사용한 다음 경사 기반 업데이트를 통해 유망한 정책을 개선해 전반적으로 더 강력한 성능을 달성하는 경우가 많습니다.
당면한 문제의 성격에 따라 적합한 알고리즘이 결정되는 경우가 많습니다. 환경의 상태 및 행동 공간이 서로 다르고 개수가 적다면 여러분은 단순한 테이블을 사용하여 정책을 표현할 수 있습니다. 일반적인 테이블 형식 알고리즘의 예로는 Q-러닝과 SARSA가 있습니다. 상태/행동 쌍이 매우 커지거나 무한하다면 정책 파라미터를 테이블에 표현하기가 실현 불가능합니다. 이를 소위 차원의 저주라고 하며, 이 경우에 신경망이 중요한 역할을 합니다. 일반적으로 대부분의 최신 강화학습 알고리즘은 대규모 상태/행동 공간 및 복잡한 문제에 적합한 신경망에 의존합니다.
단일 에이전트 강화학습에서는 하나의 에이전트만 환경과 상호 작용하므로 학습이 더 단순하고 안정적이며 분석하기 쉽습니다. 반면, MARL(다중 에이전트 강화학습)에서는 동일한 환경 내에서 여러 에이전트가 상호 작용합니다. 에이전트는 서로 영향을 미치기 때문에 환경이 비정상 상태가 되어 마르코프 가정에 위배되며 학습 과정이 불안정해집니다. MARL은 더 복잡한 작업을 해결하고 조정이나 협상 같은 창발적 행동을 발달시킬 수 있지만, 수렴 문제, 높은 계산 비용 및 각 에이전트를 독립적으로 업데이트하는 경우 발생하는 불안정성 등의 과제도 안고 있습니다.
강화학습은 새로운 개념이 아니지만, 최근 딥러닝 및 연산 능력의 발전으로 인해 인공 지능 분야에서 월등한 성과를 거두고 있습니다.
강화학습의 이점은 다음과 같습니다.
강화학습은 강력한 기법이지만, 다음과 같은 어려움도 있습니다.
강화학습은 지난 몇 년 동안 AI 챗봇과 LLM(대규모 언어 모델), 추천 시스템, 마케팅과 광고, 게임 등 여러 분야에서 사용되어 왔습니다. 그러나 생산 응용 분야의 경우 대부분 여전히 평가 단계에 있으며 엔지니어드 시스템의 경우 더욱 그렇습니다. 긍정적인 측면에서 보면 앞서 언급한 이점을 통해 서서히 그러나 꾸준히 이 기술의 사용 범위가 여러 분야로 확대될 것입니다. 엔지니어드 시스템에서 강화학습의 실제 응용 사례는 일반적으로 다음 분야에서 이루어집니다.
MATLAB®, Simulink® 및 Reinforcement Learning Toolbox™는 강화학습 작업을 간소화합니다. 동일한 생태계 내에서 강화학습 워크플로의 모든 단계를 거치면서 제어기 및 의사결정 알고리즘을 구현할 수 있습니다. 구체적으로 다음과 같은 단계를 수행할 수 있습니다.
MATLAB 및 Simulink를 사용해 강화학습과 관련된 많은 일반적인 문제를 해결할 수 있습니다.
Parallel Computing Toolbox™ 및 MATLAB Parallel Server™를 사용해 여러 GPU, 여러 CPU, 컴퓨터 클러스터 및 클라우드 리소스를 활용하여 강화학습 정책을 더욱 빠르게 훈련시킬 수 있습니다. 예를 들어, 여러 시뮬레이션을 병렬로 실행해 훈련 데이터를 더 빠르게 생성하고 경사 계산 속도를 높여 학습 속도를 향상할 수도 있습니다.
또한 Reinforcement Learning Toolbox는 샘플 효율성에 도움이 되는 모델 기반 강화학습을 위한 기능도 제공합니다.
MBPO(모델 기반 정책 최적화) 에이전트의 경우 모델이 대규모의 다양한 경험 세트를 생성할 수 있으므로 모델 프리 에이전트보다 샘플 효율성이 뛰어날 수 있습니다.
Reinforcement Learning Toolbox를 사용해 직접 조정해야 하는 하이퍼파라미터의 수를 줄일 수 있습니다. 예를 들어, 아키텍처 신경망 정책을 직접 지정하지 않고도 에이전트를 생성할 수 있습니다. 강화학습 디자이너 앱의 베이즈 최적화를 사용하면 대화형 방식으로 에이전트 하이퍼파라미터를 조정할 수 있습니다. 또한 Model Predictive Control Toolbox™ 사양 또는 Simulink Design Optimization™ 모델 검증 블록을 통해 지정된 성능 제약 조건이 이미 있는 경우 보상 함수를 자동으로 생성할 수 있습니다.
시뮬레이션은 강화학습의 핵심입니다. Simulink와의 긴밀한 통합을 통해 실제 환경에서 생성하기 어렵고 위험한 극한의 조건이나 위험 조건의 경우에도 다양한 시나리오에서 에이전트를 훈련시켜 도메인 랜덤화를 통해 정책의 일반화를 손쉽게 향상할 수 있습니다.
Reinforcement Learning Toolbox를 사용하면 사용 가능한 모든 데이터 소스를 최대한 활용하여 일반화를 향상하고 sim2real gap을 좁힐 수 있습니다. 오프라인 강화학습으로 기존 데이터(예: 타겟 하드웨어에서 수집한 데이터)를 사용해 정책을 사전에 훈련시킬 수 있습니다. 그런 다음 시뮬레이션된 환경에 대해 훈련시키고 도메인 랜덤화를 적용하여 불특정 요소와 시나리오에 대한 강인성을 확보하여 정책을 개선할 수 있습니다. 시뮬레이션 모델이 실제 시스템을 정확하게 나타내도록 하려면 시스템 식별을 사용하면 됩니다. 이 과정의 마지막 단계는 필요한 경우 실제 하드웨어에 대해 직접 훈련시켜서 훈련된 정책을 미세 조정하는 것입니다. 실제 하드웨어를 훈련 과정에 포함시키는 것은 일반적으로 리스크가 있고 위험할 수도 있지만, 이 워크플로의 처음 두 단계를 통해 정책을 미세 조정하는 데 필요한 물리적 하드웨어와의 상호 작용 횟수를 최소화할 수 있습니다. 이 기능은 실시간 응용 사례에도 사용할 수 있습니다.
강화학습은 “조용한 오류”로 특징되는 경우가 많은데, 이는 훈련이나 실행 중 발생하는 미묘하며 감지하기 어려운 문제를 말합니다. Reinforcement Learning Toolbox를 사용하면 핵심 훈련 데이터를 기록 및 시각화하여 더 쉽게 분석하고 디버그할 수 있습니다.
시뮬레이션 기반 검증은 강화학습 정책의 검증을 위해 가장 널리 사용되는 접근법이고 Simulink를 통해 손쉽게 생성할 수 있습니다. 모델 기반 설계를 사용하면 기존 검증 및 확인을 통해 시뮬레이션 기반 검증을 확장할 수 있습니다. 예를 들어, Requirements Toolbox™를 사용하여 정책에 대한 요구사항을 정형화하고 일관성, 완전성, 정확성을 분석할 수 있습니다. 또한 Deep Learning Toolbox Verification Library에서 제공하는 정형 기법을 사용해 강인성 및 신경망 출력 범위 같은 신경망 정책의 특정 속성을 평가할 수 있습니다.
마지막으로 고려해야 할 사항은 복잡한 문제를 더 작은 하위 문제로 나누는 것이 이 섹션에서 논의된 모든 문제점을 해결하는 데 도움이 될 수 있다는 점입니다. 디버그와 해석 가능성이 보다 용이해지고(문제가 작을수록 일반적으로 더 간단한 정책 아키텍처가 필요함) 검증 요구사항을 줄일 수 있습니다. 이러한 상황에서는 강화학습을 기존 (제어) 방법과 결합할 수 있습니다. 이 아키텍처와 관련된 주요 아이디어는 검증 가능한 방법이나 기존 방법을 사용하여 문제의 안전 필수적인 측면을 해결하고 블랙박스 강화학습 정책으로는 더 높은 수준의 잠재적으로 덜 중요한 구성요소를 처리할 수 있다는 것입니다. 고려해야 할 다른 아키텍처로는 강화학습과 더불어 기존 방법을 실행하는 하이브리드 접근법 또는 강화학습으로 기존 방법을 보강하거나 수정하는 방법이 있습니다. MATLAB을 사용하면 이러한 아키텍처를 쉽게 구현할 수 있습니다. 강화학습 및 AI 기반 방법 외에도 기본으로 제공되는 다양한 기존 방법을 이용할 수 있으며 단일 시뮬레이션 플랫폼인 Simulink를 사용하여 이러한 방법들을 결합할 수 있습니다.
문서, 예제, 비디오 등을 통해 여러분의 지식을 확장할 수 있습니다.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
유럽