실제 운전 시 거의 무한한 수의 시나리오가 발생할 수 있기 때문에 제약없는 세계에서 안전하게 동작할 수 있는 수백만 대의 차량을 구축하는 것은 엄청난 도전입니다. 각 교차로에서 백만 가지의 시나리오가 쉽게 발생할 수 있으며 모든 도로 사용자의 안전을 보장하기 위해 얼마나 많은 테스트가 충분한지를 결정하는 것은 어려운 일입니다. 안전은 오늘날 소비자가 차량을 선택하는 데 있어 중요한 요소이며 AV를 상업적으로 배포하는 경우 규정 준수가 요구될 것입니다. 규제가 있는 경우라도 소비자는 AV의 안전에 대해 여전히 우려할 것입니다. 자율주행차 교육을 위한 파트너(PAVE)가 실시한 조사에 따르면 미국인의 48%가 “자율 주행으로 운행되는 택시나 공유 차량을 절대 타지 않을 것”이라고 답했습니다.
자율 주행 차량 시스템의 안전성 검증을 확신하기 위해 개발 팀은 명목상의 시나리오뿐만 아니라 속도 제한, 환경 조건(예: 날씨, 주간/야간) 및 액터의 유무(예: 주변 차량, 보행자, 물체) 및 액터의 동작과 같은 엄청난 수의 매개 변수 조합이 포함된 대규모 '매개 변수 공간'의 엣지 케이스 시나리오를 테스트하고 통과해야 합니다. 생성된 시나리오로 의도한 상호 작용을 적절하게 테스트할 수 있는 포괄적 솔루션으로 런타임 제약과 같은 접근 방식이 제안되었지만 실제로 더 많은 오류 사례를 감지하기 위해서는 더 지능적이고 계산적으로 효율적인 접근 방식이 필요합니다. 이 게시물에서 Applied Intuition 팀은 이러한 흥미로운 시나리오를 식별하기 위한 오늘날의 일반적 접근 방식을 공유하고 기계 학습 기반 접근 방식을 통해 오류 사례를 사전에 보다 효율적으로 검색하는 방법을 설명하고자 합니다.
오류 시나리오를 찾는 일반적 접근 방식
전체 매개 변수 공간을 테스트하는 것은 매개 변수 공간의 조합 확산(수백만 개의 조합)으로 인해 계산 비용이 많이 들고 대부분의 조합이 '지루'하거나 때로는 비현실적이기 때문에 그다지 유용하지 않습니다. 시뮬레이션에서 커다란 매개 변수 공간을 탐색하기 위해서는 유효하지 않은 시나리오(예: 비현실적인 액터 동작 또는 의도된 상호 작용이 발생하지 않는 상황)를 필터링하고 AV 알고리즘이 잠재적으로 오류를 범할 수 있는 ‘흥미로운 시나리오(예: 거리로 뛰어드는 보행자)’를 현명하게 선택하는 것이 중요합니다.
이탈 및 충돌 보고서
일반적으로 시나리오 유형(반복적인 교통 사례)을 이해하는 과정은 이탈 및 충돌 데이터베이스 검사로부터 시작됩니다. 예를 들어 캘리포니아 차량 관리국(DMV)에서 지정한 자율 주행 차량 충돌 보고서는 AV 프로그램이 충돌 패턴을 이해하기 위한 유용한 데이터 소스입니다. 이전 보고서를 검토하여 개발 팀은 기능 또는 조건(예: 시간대, 도로 상태)에 따른 충돌 분포, AV 충돌 및 이탈에 기여하는 요인 및 사람이 운전하는 차량과 비교했을 때 AV의 안전 성능(단위 거리 당 충돌 빈도로 측정)과 같은 통찰력을 얻을 수 있습니다. 이러한 통찰력은 개발 노력을 집중하기 위해 테스트 시나리오 설계에 영향을 줄 수 있습니다.
실제 사고 사례 분석은 도움이 되지만 테스트 차량에서 발생하는 충돌 횟수가 AV의 제품 배포 후에 발생할 수 있는 고위험 시나리오의 일부에 불과하기 때문에 자율 시스템의 안전성을 검증하는 데 충분하지 않습니다.
요구 사항 기반 테스트
실제 데이터 사용의 제약을 해결하기 위해 시스템 요구 사항 자체에서 시나리오를 도출하는 보다 절차적이고 체계적인 접근 방식을 사용할 수 있습니다. 이러한 접근 방식을 통해 시스템 요구 사항이 있는 검증 프로그램은 해당 AV 스택에 대한 테스트 사례를 정의합니다. 이러한 요구 사항과 테스트 사례는 일단 매개 변수화되면 매개 변수의 많은 순열을 스윕(sweep)하는 매개 변수화된 시나리오에 연결될 수 있습니다. 이렇게 생성된 시나리오는 AV 시스템 엔지니어가 엄청나게 다양한 상황(대부분 극도로 위험하거나 실제 세계에서 테스트하기 불가능한 상황)에서 스택을 테스트하는 데 도움이 됩니다.
매개 변수 스윕(sweep) 기반 요구 사항 테스트를 개선할 수 있는 다양한 방법 중 가장 간단한 방법은 매개 변수 기반 프루닝(pruning)입니다. 매개 변수화된 시나리오는 일반적으로 AV 스택에 대해 현실적이고 쉬운 시나리오, 현실적이고 어려운 시나리오 및 비현실적인 시나리오의 세 가지 시나리오 카테고리를 생성합니다. 매개 변수 기반 프루닝(pruning)을 사용하면 시나리오 생성자가 입력 매개 변수를 기반으로 비현실적이거나 불가능하거나 관련이 없는 시나리오를 제외할 수 있습니다. 매개 변수 스윕(sweep) 시나리오와 프루닝(pruning)의 조합을 통해 AV 팀은 현실적 시나리오 공간에서 실제 적용 가능한 범위를 더 잘 이해할 수 있습니다.
런타임 제약
매개 변수 기반 프루닝(pruning)의 가장 큰 단점은 시나리오 생성자가 시나리오 매개 변수가 시뮬레이션 속성에 미치는 영향을 알고 있어야 한다는 점입니다. 런타임 제약은 시나리오 생성자가 시뮬레이션 속성 자체에 제약을 도입할 수 있도록 해 이 문제를 해결합니다. 시뮬레이션 시간 동안 액터와 에고(ego) 간 상호 작용에 제약을 도입함으로써 요구되는 특정 동작이 나타나지 않는 예시를 무시하거나 강제적으로 특정 동작이 일어나도록 할 수 있습니다.
공격적인 액터가 고속도로에서 진입하지 못하도록 하는 테스트 시나리오의 경우 매개 변수에는 고속도로 교통 스포너(spawner)의 매개 변수와 지정된 공격적인 액터의 속도 또는 공격성 요소가 포함됩니다. 이러한 경우 의미가 없는 시뮬레이션(예를 들어 고속도로 교통 배경과 공격적 액터가 충돌하거나 공격적 액터가 뒤에서 에고(ego) 차량에 부딪히는 경우)은 잘라내거나 조정해야 합니다. 그러나 이러한 관찰 결과는 에고(ego) 동작에 따라 달라질 수 있고 입력 매개 변수와 의미적으로 명확하게 연결되어 있지 않습니다. 이런 경우 런타임 제약은 이러한 오류 사례를 조기에 감지하여 시뮬레이션 오류를 트리거 하거나 시뮬레이션이 경계 조건 내에서 계속되도록 강제합니다.
이 접근 방식에는 몇 가지 한계가 있습니다. 매개 변수 기반 프루닝(pruning)과 유사하게 런타임 제약은 의미적으로 중요한 방식으로 정의하기 어려울 수 있습니다. 위의 후방 충돌 예시의 경우 후방 충돌을 필터링하는 것은 쉬울 수 있지만 그 원인이 테스트 사례의 범위를 벗어났는지 확인하는 것은 어렵습니다. 예를 들어 후방 충돌은 에고(ego)가 너무 빨리 속도를 줄이는 경우에도 발생할 수 있으며, 이 경우 테스트에 포함되어야 합니다. 하지만 이러한 충돌은 액터가 너무 늦게 진입해서 발생할 수도 있으며, 이 경우는 제외해야 하는 오류입니다. 또한 런타임 제약은 특히 제약을 강제하는 경우 비현실적인 요소가 도입될 수도 있습니다.
이러한 제한에도 불구하고 런타임 제약은 매개 변수가 시뮬레이션 속성에 매핑되는 방식을 모르는 경우에도 시나리오의 매개 변수 공간을 의미적으로 프루닝(pruning)할 수 있는 강력한 방법입니다. 입력 매개 변수 공간의 무작위 또는 확률적 샘플링 방법과 결합하는 경우 AV 스택을 검증하는 데 필요한 계산을 크게 줄일 수 있습니다.
기계 학습 기반 접근 방식 (오토 샘플링)
기계 학습(ML) 기반 접근 방식은 개발 팀이 흥미로운 이벤트에 대한 매개 변수 공간을 보다 현명하게 탐색하는 데 도움이 될 수 있습니다. 이 접근 방식(오토 샘플링)을 사용하면 검증 팀이 시뮬레이션 테스트를 실행할 때 일반적이고 흥미롭지 않은 사례가 자동으로 최소화됩니다. 오류가 일어나거나 오류에 가까운 흥미로운 사례를 찾기 위해 조합의 서브셋만 실행되기 때문에 시간과 계산 비용을 대폭 줄일 수 있습니다.
고수준에서 이 접근 방식은 자율 주행 차량 스택을 시나리오의 매개 변수 공간과 시뮬레이션 결과 간 블랙 또는 그레이 박스 함수 매핑으로 모델링하여 동작합니다. 이를 통해 저희 오토 샘플링 메커니즘은 다양한 통계 기술을 적용하여 가장 중요하고 흥미로운 엣지 케이스만 샘플링할 수 있습니다.
오토 샘플링은 검색된 매개 변수의 수를 몇 배로 줄일 수 있습니다. 예를 들어 에고(ego)와 두 개의 액터가 있는 표준 비보호 좌회전 시나리오의 경우 오류를 유도하기 위해 수천 개의 초기 매개 변수 조합을 단순하게 또는 무작위로 샘플링해야 할 수 있습니다. 오토 샘플링을 사용하면 충돌 시간(TTC)에 대한 시나리오 매개 변수 응답 함수를 지능적으로 검색하고 근사할 수 있습니다. 이 기술을 통해 매개 변수 공간의 가장 중요한 영역에 집중하는 것만으로 복잡하게 매개 변수화된 시나리오 실행과 관련된 시뮬레이션 비용과 계산 시간을 90%까지 절약할 수 있습니다.
오토 샘플링에는 블랙 박스 최적화의 근본적 어려움 때문에 발생하는 제한이 있습니다. 오토 샘플링을 가장 효과적으로 하려면 응답 함수가 상대적으로 잘 작동하고 결정성이 완전해야 합니다. 또한 다양한 샘플링 기술은 다양한 응답 함수 지형에 더 적합하며 응답 함수가 어떻게 생겼는지 미리 알기 어렵습니다. 그러나 오토 샘플링을 매개 변수 기반 프루닝(pruning) 및 런타임 제약과 결합하면 이러한 문제의 대부분을 해결할 수 있습니다.
오토 샘플링은 스택의 오류로부터 학습하고 고유한 약점을 탐색하며 기존의 매개 변수화된 시나리오보다 훨씬 짧은 시간 내에 잠재적 오류 모드를 드러내는 강력한 도구입니다. 이러한 기술은 처리하기 쉬운 99%의 사례가 아닌 1%의 오류 사례를 찾고 테스트함으로써 검증 및 확인 워크 플로를 강화합니다. 궁극적으로 오토 샘플링은 검증 및 확인 도구 상자에 강력한 도구를 추가하여 보다 강력한 커버리지 스토리를 전달할 수 있도록 합니다.
Applied Intuition의 제안
Applied Intuition 팀은 잠재적 오류 사례를 사전에 검색하는 탐색적 검증이 기존 검증 워크 플로를 보완해야 한다고 생각합니다. 저희 검증 및 확인 관리 도구는 오류 사례를 조기에 감지하고 비용이 많이 들고 안전하지 않은 상황이 실제로 발생하는 위험을 완화할 수 있도록 AV 개발 팀을 지원합니다. 이 도구는 Applied Intuition의 모든 시뮬레이션 제품과 원활하게 통합 가능하며 흥미로운 이벤트를 지능적으로 발견하도록 시뮬레이션 실행을 최적화합니다. 강력한 제품 내 시각화를 통해 저희 도구는 안전 및 기능 요구 사항을 투자자와 규제 기관에 원활하게 전달할 수 있도록 지원합니다. 저희 도구 또는 검증 워크 플로 접근 방식에 대해 자세히 알아보시려면 엔지니어팀으로 문의하세요!