DRL을 이용하여 새로운 문제를 해결하려면 일단 환경이 존재해야 한다.
환경의 구현을 위해 디지털 트윈(Digital Twin)과 같은 환경을 구성하는 다양한 방식들이 논의되고 있지만, 그 모든 환경의 구현 이전에는 문제의 모델링이 우선되어야 한다.
강화학습의 문제 모델링에 대해서는 다음 네 가지를 고려해야 한다.
- 상태
- 행동
- 보상
- 전이함수
이번 글에서는 이 중 행동에 집중해서 알아볼 것이다.
행동을 구현하는 데에는 다음 두가지를 고려해야 한다.
- 행동의 완결성(completeness)
- 원하는 모든 것을 제어할 수 있게 해주는가?
- 행동의 복잡성(complexity)
- 행동의 최소 단위를 어느정도의 수준으로 둘 것인가?
우선, 행동의 설계를 몇 가지 확인하고, 각 질문에 대한 상세한 정보를 알아보자.
행동의 설계
행동의 표현
행동은 보통 텐서로 표현한다.
따라서 행동은 임의의 랭크와 모양을 가질 수 있다.
- 운전대: rank-0 텐서(스칼라)
- 휠의 각도
- 피아노 건반: rank-1 텐서(벡터)
- 각 버튼 별 눌러진 강도
- 스마트폰의 멀티터치: rank-2 텐서(행렬)
- 각 터치 별 x축과 y축
- 모션 캡처: rank-3 텐서
- x축, y축, z축
행동의 제어
행동은 보통 다음과 같은 방식으로 설계하게 된다.
- 단수형(singular)
- 단수형의 조합(singular-combination)
- 다수형(multiple)
단수형
간단한 환경에서, 제어는 보통 단수형이다.
행동이 rank-0 텐서(스칼라)이기 때문에 에이전트는 한 번에 하나만 할 수 있다.
카트 폴에서 취할 수 있는 행동은 왼쪽이나 오른쪽으로 움직이는 것이지만 에이전트는 한 번에 하나의 선택만 할 수 있다.
단수형의 조합
아타리 게임의 경우, 게임 컨트롤러는 행동의 조합을 가능하게 한다.
예를 들면, 버튼을 눌러 총을 쏘면서 조이스틱을 기울여 움직일 수 있다.
환경을 설계할 때, 이러한 조합이 에이전트에게 하나의 행동으로 나타나도록 구현할 수 있다.
이것을 단수형의 조합이라고 표현한다.
다수형
때로는 단수형의 조합이 문제를 더 어렵게 만든다.
로보틱스에서 에이전트는 일반적으로 다수의 토크와 관절 각도를 동시에 제어할 필요가 있다.
이러한 변수들은 개별적인 실숫값으로 표현된다.
조합 전체를 열거하려면 불필요하게 큰 정수 집합이 필요하다.
이 경우, 차원을 분리하여 행동이 '다수형 하위 행동'으로 구성되도록 해야 한다.
이렇게 구현할 시, 하위 행동 하나가 차원 하나에 해당한다.
행동의 완결성
행동 공간을 구성할 때는 행동 공간이 문제를 해결하기 위한 다양하고 정밀한 제어를 제공하도록 해야 한다.
즉, 완결성을 갖추도록 해야 한다.
행동 공간은 원하는 모든 것을 제어할 수 있게 해주는가가 중요하다.
행동 설계를 결정한 후에는 행동을 알맞는 범위로 부호화하기에 적합한 데이터 유형을 식별할 수 있다.
- 제어의 차원이 이산적이라면, 행동은 버튼이나 이산적 다이얼로 변환될 수 있고, 따라서 정수로 부호화될 수 있다.
- 제어의 차원이 연속적이라면, 행동은 연속적 다이얼이나 슬라이더로 변환되어 실숫값으로 부호화될 수 있다.
행동 공간 설계에 있어서 간결함과 표현의 다양성 사이에서 균형을 맞추는 것이 중요하다.
- 행동 공간이 너무 작으면, 에이전트가 시스템을 제어하는 정밀도가 충분하지 못할 수도 있다.
- 최악의 경우에는 요구되는 작업을 전혀 하지 못할 것이다.
- 행동 공간이 너무 크거나 복잡하면, 시스템을 제어하기 위한 학습이 훨씬 더 어려워질 것이다.
행동의 복잡성
행동이 너무 복잡하면 학습이 어려워지기에, 행동의 복잡성을 낮출 수 있는 전략 또한 다양하게 존재한다.
이중 대표적인 몇가지를 간단히 요약한다.
- 더 낮은 차원으로 일대일 대응시키거나 더 많은 수의 차원으로 분리
- 행동을 1D로 일대일 대응시키는 것은 복잡한 하위 행동의 조합을 찾는데 도움이 된다.
- 카디널리티를 다루기 위해 행동의 차원을 나눈다.
- 절대적 행동과 상대적 행동 사이의 전환
- 지역적 제어를 위한 상대 척도의 장점을 이용하여 문제를 단순화한다.
- 전체적 제어를 위해서는 절대 척도를 사용한다.
- 이산화
- 제어가 갖는 원래의 특성에 가깝게 유지하려고 하되, 해상도를 충분히 유지한 채로 단순화하기 위해 이산화를 수행한다.
- 대칭성을 이용한 복잡성의 감소
- 행동에서 대칭성을 찾으려고 하고 행동 공간을 줄이기 위해 대칭성을 적용한다.
- 행동 공간 대비 상태 공간의 크기 비율을 확인
- 온전성 검사의 일환으로, 행동 공간은 상태 공간보다 더 복잡하지 않다는 것을 확인한다.
- 일반적으로, 행동 공간은 상태 공간보다 현격이 더 작아야 한다.
- 간단한 것에서 시작
- 가장 단순한 행동 설계에서부터 시작한다.
- 그런 다음 점진적으로 복잡성을 늘려간다.
본 글은 단단한 심층강화학습 도서를 참고하여 작성되었습니다.
[전자책]단단한 심층강화학습 - 예스24
심층강화학습의 확고한 기반을 다지기 위한 완벽한 방법!이 책은 이론과 실무적 내용을 독특하게 결합한 심층강화학습 소개서다. 직관적인 설명에서 시작하여 심층강화학습 알고리즘에 대한
www.yes24.com
'AI Repository > DRL' 카테고리의 다른 글
DRL 환경 - 보상의 설계 (0) | 2025.09.29 |
---|---|
DRL 환경 - 상태의 설계 (0) | 2025.09.28 |
강화학습의 신경망 선택 방법 (0) | 2025.09.27 |
DRL에서의 디버깅 방법, 하이퍼파라미터 설정 (0) | 2025.09.27 |