이 글은 domain randomization의 이해를 돕기 위해 작성된 글입니다. 참고자료1를 해석한 글입니다. 더 자세히 나와있으니 읽어보길 추천합니다!
로보틱스에서 어려운 문제 중 하나는 모델 자체를 실제 환경에서 어떻게 돌아가게 하는지이다. 강화학습 알고리즘의 sample inefficiency와 실제 로봇의 data collection의 문제로 우리는 simulator에 많은 양의 데이터를 제공하여 훈련하도록 하애 한다. 하지만, simulator와 실제 환경 사이의 간극은 로봇을 실제 상황에서 돌아가게 할 때 많이 발생된다. 이러한 간극은 physical parameter, 예를 들어 마찰, kp, dampling, mass, density)나 더 치명적인 비물리적인 모델링 (i.e. 표면사이의 충돌)을 통해서 나타난다.
이러한 sim2real gap을 줄이기 위해서, simulator를 실제 상황과 더 가깝게 보완할 필요가 있다. 다음과 같은 접근법이 존재한다.
- System identification
- System identification은 물리적 시스템에 수학적 모델을 만드는 방식이다; RL에서 수학적 모델은 simulation인 것이다. Calibration을 통해서 simulator를 더욱 현실적으로 만든다. 한마디로 simulator를 real world와 가깝게 코딩한다는 이야기로 해석된다.
- 하지만 calibration 작업은 매우 어렵다. 더 나아가 같은 machine에서라도 물리적인 파라미터 (i.e. 습도, 온도, 위치 등)은 매우 다양하기 때문에 calibration을 더 어렵게 만든다.
- Domain adaptation
- Domain adaptation (DA)는 일종의 transfer learning 기법이다.; 실제 상황의 data distribution에 맞춰져서 update하기 위해 mapping이나 regularization 기법이 사용된다.
- Image classification이나 end-to-end image 기반의 RL task들이 DA 모델에 적용된다.
- Domain randomization
- Domain randomization (DR) 에서는 다양한 simulated environment에서의 randomizaed property를 개발하여 모델은 모든 옵션에서 학습되도록 한다.
- 실제 환경이 훈련된 variation 중에 하나에 속하길 가정하며 이 모델은 실제 환경에서 사용된다.
DA와 DR는 모두 unsupervised한 방식이다. DA는 real world의 distribution을 잡기 위해 해당 real data 정보가 필요함에 반해, DR는 real data를 조금 또는 아예 필요로 하지 않는다. 지금까지 말한 바를 이미지로 정리하면 다음과 같다.

'Robotics & Perception > Basic' 카테고리의 다른 글
[AI614] 01. Introduction to TAMP, Basics of robot manipulation (0) | 2022.10.23 |
---|---|
[AI614] Overview of Robot Task and Motion planning (0) | 2022.09.07 |
PDDL (Planning Domain Definition Language) (0) | 2022.08.06 |
Imitation learning (0) | 2022.07.08 |
[CS391R] Overview of Robot Decision Making (0) | 2022.05.15 |