Skip to main content
QUICK REVIEW

[논문 리뷰] Scenic: A Language for Scenario Specification and Data Generation

Daniel J. Fremont, Edward Kim|arXiv (Cornell University)|2020. 10. 13.
Autonomous Vehicle Technology and Safety인용 수 14
한 줄 요약

Scenic은 머신러닝 기반 사이버-물리 시스템의 물리적 환경과 에이전트 행동에 대한 분포를 정의하기 위해 설계된 확률적 프로그래밍 언어로, 훈련 및 테스트를 위한 현실적이고 다양한, 희귀한 시나리오를 타겟팅하여 생성할 수 있다. 이는 기존 방법보다 뛰어난 고품질의 합성 데이터를 생성함으로써 자율 시스템의 강건성을 향상시키며, 이를 통해 차량 검출기의 성능을 최신 기술을 초월하게 한다.

ABSTRACT

We propose a new probabilistic programming language for the design and analysis of cyber-physical systems, especially those based on machine learning. Specifically, we consider the problems of training a system to be robust to rare events, testing its performance under different conditions, and debugging failures. We show how a probabilistic programming language can help address these problems by specifying distributions encoding interesting types of inputs, then sampling these to generate specialized training and test data. More generally, such languages can be used to write environment models, an essential prerequisite to any formal analysis. In this paper, we focus on systems like autonomous cars and robots, whose environment at any point in time is a 'scene', a configuration of physical objects and agents. We design a domain-specific language, Scenic, for describing scenarios that are distributions over scenes and the behaviors of their agents over time. As a probabilistic programming language, Scenic allows assigning distributions to features of the scene, as well as declaratively imposing hard and soft constraints over the scene. We develop specialized techniques for sampling from the resulting distribution, taking advantage of the structure provided by Scenic's domain-specific syntax. Finally, we apply Scenic in a case study on a convolutional neural network designed to detect cars in road images, improving its performance beyond that achieved by state-of-the-art synthetic data generation methods.

연구 동기 및 목표

  • 자율 주행과 같은 안전이 중요한 분야에서 머신러닝 기반 사이버-물리 시스템의 훈련 및 테스트를 위한 현실적이고 다양한, 희귀한 데이터를 생성하는 데 도전하는 것.
  • 기하학적 및 행동적 제약 조건을 유지하면서도 현실성과 물리적 타당성을 확보하는 복잡한 환경 분포를 정의할 수 있도록 하는 것.
  • 희귀한 교통 상황이나 가림 현상과 같은 어려운 또는 고장 유도 케이스에 집중하여 데이터를 생성함으로써 시스템의 강건성과 테스트 커버리지를 향상시키는 것.
  • 기본적인 제약 조건, 확률 분포, 명령형에 가까운 문법을 결합한 도메인 특화 언어를 제공하여 직관적인 시나리오 작성 가능성을 높이는 것.
  • 개별 고장 케이스에서 일반화하여 더 넓은 체계적 테스트 시나리오로 이어지는 자동 디버깅 및 오류 발견을 가능하게 하는 것.

제안 방법

  • Scenic은 물리적 객체와 동적 에이전트에 대한 분포로 시나리오를 정의하는 도메인 특화 언어를 사용하며, 위치, 방향, 행동 등의 특징을 포함한다.
  • 비틀림 없는 물체와 현실적인 차량 궤적과 같은 기하학적 및 물리적 타당성을 보장하기 위해 선언적 하드 및 소프트 제약 조건을 지원한다.
  • 객체 위치, 속도 등의 시나리오 파라미터에 대한 확률 분포를 통합하여 다양한 환경 제도를 모델링한다.
  • 확률적 조건과 제약 조건을 동시에 만족하는 시나리오를 효율적으로 생성하기 위해 특수한 샘플링 기법을 적용한다.
  • 재사용 가능한 구성 요소와 사용자 정의 식별자를 통해 복합적인 시나리오 구축을 지원하여 모듈성과 재사용성을 높인다.
  • 시뮬레이션 환경 및 머신러닝 파이프라인과의 통합을 통해 인식 시스템의 종단 간 훈련, 테스트, 디버깅을 가능하게 한다.

실험 결과

연구 질문

  • RQ1확률적 프로그래밍 언어가 머신러닝 기반 사이버-물리 시스템의 훈련 및 테스트를 위한 현실적이고 다양한, 희귀한 시나리오 생성에 효과적으로 활용될 수 있는가?
  • RQ2기하학적 및 동적 제약 조건은 어떻게 선언적으로 표현하고 시나리오 샘플링 도중 효율적으로 강제할 수 있는가?
  • RQ3Scenic이 생성한 합성 데이터는 이전의 비확률적 합성 데이터 생성 방법에 비해 신경망의 강건성과 일반화 능력을 어느 정도 향상시킬 수 있는가?
  • RQ4Scenic을 사용하여 고장 케이스를 체계적으로 식별하고 일반화하여 오류를 유발하는 테스트 케이스를 생성할 수 있는가?
  • RQ5확률 모델링과 시나리오 생성을 통합함으로써 자동 테스팅 및 디버깅의 효율성과 커버리지가 어떻게 향상되는가?

주요 결과

  • Scenic이 생성한 합성 데이터는 이전의 비확률적 합성 데이터 생성 방법보다 훨씬 뛰어난 성능을 보이며, 차량 검출 신경망의 성능을 크게 향상시켰다.
  • 희귀하거나 먼 거리에 있는 차량과 같은 어려운 케이스에 집중한 훈련을 가능하게 하여 도전적인 조건에서 검출 정확도 향상이 측정되었다.
  • Scenic이 복잡한 기하학적 및 행동 제약 조건을 인코딩함으로써 물리적으로 타당한 시나리오를 생성하여 교차하는 차량이나 불가능한 자세와 같은 아티팩트를 방지했다.
  • 언어의 선언적 문법과 제약 조건 시스템 덕분에 간결하고 이해하기 쉬운 시나리오 사양이 가능해져 시나리오 작성의 인지 부담을 줄였다.
  • 이 방법은 개별 고장 케이스에서 일반화하여 더 넓은 체계적 테스트 시나리오로 이어지게 하여 오류 발견 및 디버깅의 효과성을 높였다.
  • Scenic은 자율 주행 외에도 항공기 및 수중 차량 시스템 등에 성공적으로 적용되어 더 넓은 적용 가능성을 입증했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.