KR20210002018A - 뉴럴 네트워크의 글로벌 불확실성을 추정하기 위한 방법 - Google Patents
뉴럴 네트워크의 글로벌 불확실성을 추정하기 위한 방법 Download PDFInfo
- Publication number
- KR20210002018A KR20210002018A KR1020200078152A KR20200078152A KR20210002018A KR 20210002018 A KR20210002018 A KR 20210002018A KR 1020200078152 A KR1020200078152 A KR 1020200078152A KR 20200078152 A KR20200078152 A KR 20200078152A KR 20210002018 A KR20210002018 A KR 20210002018A
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- measure
- class
- uncertainty
- data
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000009826 distribution Methods 0.000 claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 32
- 230000004913 activation Effects 0.000 claims abstract description 31
- 238000013459 approach Methods 0.000 claims abstract description 22
- 238000013531 bayesian neural network Methods 0.000 claims abstract description 14
- 238000013398 bayesian method Methods 0.000 claims abstract description 3
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010801 machine learning Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003190 augmentative effect Effects 0.000 claims description 2
- 238000001994 activation Methods 0.000 description 22
- 238000012360 testing method Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000005406 washing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 241000894007 species Species 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000007794 visualization technique Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013476 bayesian approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000009189 diving Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000009187 flying Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 235000020825 overweight Nutrition 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009183 running Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000009184 walking Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/259—Fusion by voting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 다음 단계들을 포함하는 컴퓨터 구현 메인 뉴럴 네트워크의 출력 데이터의 글로벌 불확실성을 추정하는 방법을 설명한다:
- 메인 뉴럴 네트워크의 현재 입력 데이터가 메인 뉴럴 네트워크를 트레이닝하는 데 사용되었던 데이터와 동일한 분포를 따르고 있는 정도를 정량화하는 제1 척도를 결정하는 단계(102);
- 특히 적어도 하나의 베이지안 방법, 이를테면 베이지안 뉴럴 네트워크들, 또는 앙상블 기반 접근법을 사용함으로써, 상기 입력 데이터에 기반하여 자체 예측에 있어서의 메인 뉴럴 네트워크의 확실성을 정량화하는 제2 척도를 생성하는 단계(103);
- 입력 데이터의 클래스-판별 특징들의 추정 및 이들 특징들과 클래스 활성화 확률 분포의 비교에 기반하여, 제3 척도를 확인하는 단계(104) - 특히, 클래스 활성화 확률 분포는 메인 뉴럴 네트워크의 트레이닝 동안 추정된 클래스-판별 특징들에 기반하여 생성되었음 -;
- 제1 척도, 제2 척도 및 제3 척도 중 적어도 2 개의 척도에 기반하여 글로벌 불확실성을 결정하는 단계(105).
- 메인 뉴럴 네트워크의 현재 입력 데이터가 메인 뉴럴 네트워크를 트레이닝하는 데 사용되었던 데이터와 동일한 분포를 따르고 있는 정도를 정량화하는 제1 척도를 결정하는 단계(102);
- 특히 적어도 하나의 베이지안 방법, 이를테면 베이지안 뉴럴 네트워크들, 또는 앙상블 기반 접근법을 사용함으로써, 상기 입력 데이터에 기반하여 자체 예측에 있어서의 메인 뉴럴 네트워크의 확실성을 정량화하는 제2 척도를 생성하는 단계(103);
- 입력 데이터의 클래스-판별 특징들의 추정 및 이들 특징들과 클래스 활성화 확률 분포의 비교에 기반하여, 제3 척도를 확인하는 단계(104) - 특히, 클래스 활성화 확률 분포는 메인 뉴럴 네트워크의 트레이닝 동안 추정된 클래스-판별 특징들에 기반하여 생성되었음 -;
- 제1 척도, 제2 척도 및 제3 척도 중 적어도 2 개의 척도에 기반하여 글로벌 불확실성을 결정하는 단계(105).
Description
본 발명은 컴퓨터 구현 뉴럴 네트워크의 출력 데이터의 글로벌 불확실성을 추정하는 방법, 컴퓨터 프로그램, 컴퓨터 판독가능 저장 디바이스, 및 본 방법을 수행하기 위해 배열된 장치를 설명한다.
심층 뉴럴 네트워크(DNN)들은 최첨단 기술이고, 다양한 기술 분야에서 그들의 적용이 증가하고 있다.
안전 필수 임무들을 위해 DNN을 사용하면, 시스템 안전에 대해 몇 가지 문제가 발생한다. DNN 모듈들의 안전성에 대한 기본적인 문제는, 테스트 세트에서 획득된 DNN의 에러가 자동 주행과 같은 복잡한 오픈 컨텍스트 애플리케이션들에서 충족될 수 없는 소정의 가정 하에서 새롭고 처음 보는 샘플로만 일반화될 수 있다는 것이다. 따라서 DNN 컴포넌트들을 보호하기 위해 진보된 안전 척도들을 포함하는 정교한 안전 아키텍처들이 필요하다.
본 발명은 다음 단계들을 포함하는 컴퓨터 구현 메인 뉴럴 네트워크의 출력 데이터의 글로벌 불확실성을 추정하는 방법을 설명한다:
- 메인 뉴럴 네트워크의 현재 입력 데이터가 메인 뉴럴 네트워크를 트레이닝하는 데 사용되었던 데이터와 동일한 분포를 따르고 있는 정도를 정량화하는 제1 척도(또한 신뢰 척도라고 지칭됨)를 결정하는 단계;
- 특히 적어도 하나의 베이지안 방법, 이를테면 베이지안 뉴럴 네트워크들, 또는 앙상블 기반 접근법을 사용함으로써, 입력 데이터에 기반하여 자체 예측에 있어서의 메인 뉴럴 네트워크의 확실성을 정량화하는 제2 척도(또한 내성 불확실성(introspective uncertainty)이라 지칭됨)를 생성하는 단계;
- 입력 데이터의 클래스-판별 특징들의 추정 및 이들 특징들과 클래스 활성화 확률 분포의 비교에 기반하여, 제3 척도(또한 출력 불확실성이라 지칭됨)를 확인하는 단계 - 특히, 클래스 활성화 확률 분포는 메인 뉴럴 네트워크의 트레이닝 동안 추정된 클래스-판별 특징들에 기반하여 생성되었음 -;
- 제1, 제2 및 제3 척도 중 적어도 2 개의 척도에 기반하여 글로벌 불확실성을 결정하는 단계.
그러므로, 본 발명의 핵심은 지각 시스템의 효과적인 보호를 가능하게 하는, 위에서 언급된 3 개의 척도의 단일 글로벌 불확실성으로의 체계적 조합이다.
메인 뉴럴 네트워크는 심층 뉴럴 네트워크일 수 있고, 여기서 심층 뉴럴 네트워크는 일반적으로 적어도 하나의 입력 층, 출력 층 및 적어도 하나의 숨겨진 층을 포함한다. 하나 또는 복수의 센서의 센서 데이터로부터 데이터를 분류하도록 네트워크가 트레이닝될 수 있다. 통상적인 뉴럴 네트워크는 카메라의 이미지들에 기반하여 물체들을 검출하도록 설계 및 트레이닝될 수 있다.
베이지안 뉴럴 네트워크는 뉴럴 네트워크들의 특정 하위 형태이다. 스칼라 가중치(scalar weight)들 대신, 베이지안 뉴럴 네트워크들은 가중치에 대한 분포를 사용한다. 이런 접근법은 설계에 의해 주어진 입력 데이터 세트에 대한 불확실성을 출력하게 한다.
뉴럴 네트워크의 앙상블은 아키텍처가 상이할 수 있거나, 또는 동일한 아키텍처를 사용할 때 상이한 가중치들을 가질 수 있는 다수의 뉴럴 네트워크의 조합이다. 통상적으로, 앙상블은 상이한 트레이닝 세트들로 트레이닝된다. 테스트 시, 각각의 네트(net)가 주어진 데이터에 대해 개별적으로 평가되며, 상이한 출력은 예컨대 투표 전략(과반수 투표, 소수자 투표, ...)에 기반하여 단일 출력으로 융합된다. 앙상블의 불확실성은 개별 출력들의 분산에 의해 측량될 수 있다.
본 방법의 다른 구현에서, 제1 척도의 결정은 오토인코더(autoencoder)에 의해, 특히 변분 오토인코더에 의해 달성된다.
본 방법의 다른 구현에서, 오토인코더는 인코더와 디코더 부분을 포함한다. 인코더 부분은 입력 데이터를 더 낮은 차원 특징 공간, 소위 잠복 공간에 매핑하도록 트레이닝되고 디코더 부분은 잠복 공간으로부터 원래의 더 높은 차원 입력을 재구성하도록 시도한다. 신뢰 척도는 잠복 공간에 매핑된 입력 데이터의 확률 밀도 값의 계산 또는 오토인코더의 추정된 재구성 에러에 기반한다. 특정 실시예에서, 오토인코더는 변분 오토인코더이다.
본 방법의 다른 구현에서, 제2 척도의 생성은 메인 뉴럴 네트워크의 베이지안 모델링에 기반한다. 본 방법의 특정 구현에서, 메인 뉴럴 네트워크는 베이지안 뉴럴 네트워크로 모델링된다. 베이지안 모델링은 특정 모델(이 경우 뉴럴 네트워크)에 불확실성들의 내재적 통합을 허용한다.
본 방법의 다른 구현에서, 메인 뉴럴 네트워크의 가중치들은 분포들로서 모델링된다. 예컨대, 대안적인 가능성들은 고정 값들을 가중치들로 사용하는 것이다.
고정 값들 대신 분포들을 사용하는 것은 메인 뉴럴 네트워크의 제2 척도 또는 소위 내성 불확실성을 쉽게 추출할 가능성을 연다.
본 방법의 다른 구현에서, 메인 뉴럴 네트워크의 트레이닝은 변분 추론에 의해 수행된다. 변분 추론은 다른 더 비싼 베이지안 최적화 방법들, 특히 마르코프 체인 몬테카를로(Markov chain monte carlo)에 비해 가중치 분포들의 알려지지 않은 사후 분포를 효율적으로 추정하는 것을 허용한다.
본 방법의 다른 구현에서, 메인 뉴럴 네트워크는 베이지안 뉴럴 네트워크로서 모델링된다. 베이지안 뉴럴 네트워크의 변분 추론은 수치 적분에 의해 수행되며, 여기서 가중치 분포들은 n 회 샘플링되고 각각의 샘플링된 가중치 세트는 주어진 입력에 대해 n 개의 상이한 출력을 예측하기 위해 1 회 사용된다. 이어서, 샘플링된 출력들의 평균은 메인 뉴럴 네트워크의 예측으로 사용되는 한편, 예측의 분산은 제2 척도를 계산하는 데 사용된다. 베이지안 뉴럴 네트워크들에서 추론을 수행하기 위해, 가중치 분포들에 대해 주변화할 필요가 있는 데, 즉 그들을 적분 제거할 필요가 있다. 분석적으로 이를 행하는 것은 난해한데, 그 이유는 바람직하게 베이지안 뉴럴 네트워크들에서 추론이 수치 적분, 즉 가중치 분포들에 대한 적분의 근사화에 의존하기 때문이다. 대안적으로 또는 부가적으로, 분석적 계산이 또한 가능하다.
본 방법의 다른 구현에서, 제2 척도는 가우시안 프로세스로 뉴럴 네트워크를 보강함으로써 획득된다.
이런 접근법은, 불확실성들이 설계에 의해 생성된다는 장점을 갖는다. 그러므로, 제2 척도는 쉽게 추출될 수 있다. 또한, 트레이닝 프로세스는, 특히 분류 및 회귀 문제들에 대해, 특징 추출기로서 뉴럴 네트워크를 그리고 회귀자로서 가우시안 프로세스를 별도로 트레이닝함으로써 2 개로 분할될 수 있다. 이것은 베이지안 뉴럴 네트워크들에 대한 복잡성을 감소시킨다.
뉴럴 네트워크 및 가우시안 프로세스가 결합되어 트레이닝되면, 자신의 출력을 가우시안 프로세스에 공급하는, 특징 추출기로서 뉴럴 네트워크를 사용하는 접근법은 또한 문헌에서 심층 커널 학습(deep kernel learning)으로 알려져 있다. 다른 일반적인 이름은, 뉴럴 네트워크와 가우스 프로세스가 별도로 트레이닝되는 경우 심층 가우시안 프로세스들이다.
본 방법의 다른 구현에서, 제2 척도는 적어도 2 개의 뉴럴 네트워크의 앙상블 결정을 통해 생성되고, 특히 2 개의 뉴럴 네트워크는 상이한 네트워크 아키텍처들을 갖거나 상이한 트레이닝 데이터 세트들을 사용하여 트레이닝되었다. 여기서 장점은 앙상블을 트레이닝하는 것이 베이지안 접근 방식에 채택되는 값비싼 최적화 방법에 의존하지 않는다는 것이다.
본 방법의 다른 구현에서, 제2 척도는 상이한 기계 학습 방법들의 앙상블 결정을 통해 생성되고, 특히 이들 방법들 중 적어도 하나는 뉴럴 네트워크이다.
앙상블들은 또한 SVM들, 랜덤 포레스트(Random Forest)들, 일반화 선형 모델들 등 같은 상이한 타입들의 기계 학습 방법들로부터 구성될 수 있다.
이런 추가 구현들은 상이한 접근법들 사이를 선택할 가능성을 열어준다. 메인 뉴럴 네트워크, 네트워크 애플리케이션 및 추가적인 영향 요인들에 의존하여, 제2 척도를 생성하기 위한 최상의 접근법이 선택될 수 있다.
본 방법의 다른 구현에서, 클래스-판별 특징들은 스케일링된(scaled) 및/또는 스케일링되지 않은(unscaled) 특징들을 계산함으로써 추정된다. 특정 접근법은 활성화 히트 맵(heat map)들의 사용에 있다. 이런 접근법을 위해, 그래드-캠(Grad-Cam) 방법이 사용될 수 있다.
이런 접근법은, 이미지의 소정의 부분들이 뉴럴 네트워크에 의해 올바르게 분류되었는지 자동으로 검출하는 것을 허용한다. 통상적으로, 히트 맵 방법들을 이용할 때, 결과들의 검사는 수동으로 수행되어야 한다. 이런 접근법은 임의의 수동 노력을 없앤다.
본 방법의 다른 구현에서, 검출된 물체들의 스케일링된 활성화 히트 맵은 클래스 활성화 히트 맵과 비교되고, 이런 클래스 활성화 히트 맵들은 트레이닝 동안 모든 검출된 물체들에 대해 계산되었고 이어서 클래스 활성화 확률 분포들을 획득하기 위해 클래스-단위 및/또는 픽셀-단위로 결합되었다. 장점은 다시, 획득된 히트 맵들의 평가가 자동으로 수행될 수 있으면서 스케일링이 원하지 않는 값들에 대해 불변성을 도입한다는 것이다.
본 방법의 다른 구현에서, 제1, 제2 및 제3 척도는 비교되고 글로벌 불확실성은 3 개의 척도 중 최저 신뢰도를 나타내는 값으로 설정되거나. 또는 글로벌 불확실성은 제1, 제2 및 제3 척도의 평균 또는 임의의 다른 종류의 가중된 합에 기반하여 결정된다.
예컨대, 척도는 0 내지 1의 값으로 정규화될 수 있다. 0은 전혀 신뢰 없음을 나타내고, 1은 절대적 신뢰를 나타낸다.
제1 척도에 대해, 낮은 신뢰도는 입력 데이터의 분포와 트레이닝 데이터의 분포 사이의 낮은 일치성과 같고, 여기서 높은 신뢰도는 우수한 일치성과 같다.
제2 척도에 대해, 신뢰는 메인 뉴럴 네트워크의 자체 예측에의 신뢰와 같을 수 있다.
제3 척도에 대해, 낮은 신뢰도는 추정된 클래스-판별 특징과 클래스 활성화 확률 분포 사이의 큰 편차와 같을 수 있고, 낮은 편차는 큰 신뢰도와 같다.
본 방법의 다른 구현에서, 적어도 부분적으로 자동화된 로봇, 특히 적어도 부분적으로 자동화된 자동차는 글로벌 불확실성에 기반하여 제어된다.
자동화된 또는 자동으로 동작되는 차량은 부분적으로, 고도로 또는 완전히 자동으로 동작되는 차량으로 정의될 수 있다. 특히, 자동화된 차량은 인간 개입 없이 적어도 부분적으로 동작될 수 있는 무인 차량일 수 있다.
차량은 예컨대 고전적인 여객 차 또는 미니버스 또는 셔틀일 수 있다. 차량은 또한 다른 타입의 차량, 이를테면 2 개 또는 3 개의 휠러(wheeler), 보트, 기차, 비행기, 드론 또는 헬리콥터일 수 있다.
입력 데이터는 예컨대 카메라, 레이더, 라이다(lidar), 마이크로폰, 초음파 센서 또는 임의의 종류의 다른 센서로부터 발생될 수 있다.
본 방법의 다른 구현에서, 로봇의 경로 계획은 글로벌 불확실성을 기반으로 함으로써, 특히 미리정의된 임계 값과 비교하여 높은 불확실성 영역들은, 특히 이런 영역들까지 미리정의된 거리를 유지함으로써 로봇을 제어할 때 회피된다.
높은 불확실성 영역은 이 영역을 나타내는 입력 데이터에 기반하여 뉴럴 네트워크의 예측의 글로벌 불확실성을 미리정의된 임계 값과 비교함으로써 추정될 수 있다. 높은 불확실성 레벨은 예컨대, 글로벌 불확실성이 0 내지 1의 스케일 상에서 0.9보다 더 큰 경우 도달될 수 있고, 여기서 0은 전혀 신뢰 없음을 나타내고, 1은 절대적 신뢰를 나타낸다. 미리정의된 임계 값은 로봇의 속도, 로봇이 위치된 영역의 타입, 시간, 날씨 등 같은 몇몇 영향 요인들에 의존하여 조정될 수 있다.
로봇이 차이면, 상이한 위치는 상이한 타입들의 도로들, 고속도로, 주요 도로, 보행자 존 등과 같을 수 있다.
그 영역을 나타내는 입력 데이터는 예컨대 영역을 스캔하는 센서들로부터 발생될 수 있다. 예컨대, 카메라, 라이다, 레이더 또는 초음파 센서.
게다가, 미리정의된 거리들은 로봇의 속도 또는 의의 포지션 같은 몇몇 영향 요인들에 의존하여 조정될 수 있다. 로봇이 느릴수록, 예컨대 미리정의된 거리가 더 작을 수 있다.
적어도 부분적으로 자동화된 로봇이 조작자에 의해 제어될 수 있으면, 또는 적어도 부분적으로 자동화된 차가 운전자에 의해 제어될 수 있는 경우, 자동화된 시스템들/로봇은, 환경의 센서 판독들에 관한 불확실성이 너무 높은 경우, 또는 높은 불확실성의 영역들을 통한 내비게이션이 가능하지 않거나 권고되지 않는 경우, 연결 해제하고 조작자 또는 운전자에게 제어를 다시 넘기거나 안전 상태를 가정하도록 추가로 선택할 수 있다.
대안적으로, 적어도 부분적으로 자동화된 또는 자율 로봇은 또한 다른 이동 로봇, 예컨대 비행, 수영, 다이빙 또는 걷기에 의해 이동하는 로봇일 수 있다. 예컨대, 이동 로봇은 적어도 반자동 잔디 깎기 기계 또는 적어도 반자동 청소 로봇일 수 있다. 이런 경우들에서, 제어 신호는 또한 뉴럴 네트워크의 예측의 글로벌 불확실성에 기반하여 결정될 수 있다.
다른 대안에서, 적어도 파티 자율 로봇은 또한 환경에서 식물들의 종 또는 상태를 결정하기 위해 이미징 센서 및 뉴럴 네트워크를 사용하는 정원 로봇일 수 있다. 제어 신호는, 결정된 종 또는 결정된 상태에 대응하는 화학 물질들의 양이 적용되는 방식으로 예측된 종 또는 식물들의 결정된 상태 및 글로벌 불확실성에 의존하여 결정될 수 있다.
다른 대안들에서, 적어도 파티 자율 로봇은 또한 가정 기기, 특히 세탁기, 스토브, 오븐, 마이크로파 또는 식기세척기일 수 있다. 센서, 예컨대 광학 센서를 사용하여, 가정 기기로 취급되는 물체의 상태, 예컨대 세탁기의 경우, 세탁기에 있는 세탁물의 상태가 기록될 수 있다. 이어서, 뉴럴 네트워크는 센서의 데이터에 기반하여 이 물체의 타입 또는 상태를 결정하는 데 사용될 수 있다. 이어서, 제어 신호는, 가정 기기가 물체의 결정된 타입 및/또는 결정된 상태뿐 아니라 이 예측의 글로벌 불확실성에 의존하여 제어되는 방식으로 결정될 수 있다. 예컨대, 세탁기의 경우에, 세탁물이 만들어진 재료에 의존하여 제어될 수 있다. 세탁기 내에 생물이 없다는 것을 확실히 하기 위해, 글로벌 불확실성은 필요한 높은 안전 기준들을 얻는 것을 돕는다.
부가적으로, 프로그램이 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 전술한 청구항들 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램이 청구된다.
부가적으로, 이 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능 저장 디바이스가 청구된다.
본원에 제시된 접근법은 또한 위에서 제시된 절차의 변형 단계들을 수행, 제어 또는 구현하도록 설계된 디바이스를 생성한다. 또한 디바이스 형태의 본 발명의 이런 실행 변형에 의해, 본 발명의 근본적인 임무는 빠르고 효율적으로 해결될 수 있다.
이 목적을 위해, 디바이스는 신호들 또는 데이터를 프로세싱하기 위한 적어도 하나의 컴퓨팅 유닛, 신호들 또는 데이터를 저장하기 위한 적어도 하나의 메모리 유닛, 센서로부터 센서 신호들을 판독하거나 데이터 또는 제어 신호들을 액추에이터에 출력하기 위한 센서 또는 액추에이터에 대한 적어도 하나의 인터페이스 및/또는 통신 프로토콜에 내장된 데이터를 판독 또는 출력하기 위한 적어도 하나의 통신 인터페이스를 가질 수 있다. 컴퓨팅 유닛은 예컨대 단일 프로세서, 마이크로제어기 등일 수 있고, 여기서 메모리 유닛은 플래시 메모리, EEPROM 또는 자기 메모리 유닛일 수 있다. 통신 인터페이스는 출력 데이터를 무선 및/또는 유선으로 판독하도록 설계될 수 있고, 이에 의해 유선 데이터를 판독하거나 출력할 수 있는 통신 인터페이스는 예컨대 대응하는 데이터 송신 라인으로부터 전기적으로 또는 광학적으로 이 데이터를 판독 또는 출력하거나 이를 대응하는 데이터 송신 라인에 출력할 수 있다.
디바이스는 센서 신호들을 프로세싱하고 이 신호들의 함수로서 제어 및/또는 데이터 신호들을 출력하는 전기 디바이스일 수 있다. 디바이스는 하드웨어 및/또는 소프트웨어의 측면에서 설계될 수 있는 인터페이스를 가질 수 있다. 하드웨어-기반 트레이닝의 경우, 인터페이스들은 예컨대 디바이스의 다양한 기능들을 포함하는 소위 시스템 ASIC의 일부일 수 있다. 그러나, 인터페이스들이 그들 자신의 집적 회로들이거나 적어도 부분적으로 개별 컴포넌트들로 이루어진다는 것이 또한 가능하다. 소프트웨어 트레이닝에서, 인터페이스들은 예컨대 다른 소프트웨어 모듈들과 함께 마이크로제어기 상에 존재하는 소프트웨어 모듈들일 수 있다.
부가적으로, 컴퓨터 프로그램은 기계-판독가능 캐리어 또는 저장 매체, 이를테면 반도체 메모리, 하드 디스크 메모리 또는 광학 메모리 상에 저장될 수 있고 특히 프로그램 제품 또는 프로그램이 컴퓨터 또는 디바이스 상에서 실행될 때 또한 유리한, 위에서 설명된 실행 형태들 중 하나에 따라 프로세스의 단계들을 수행, 구현 및/또는 제어하는 데 사용되는 프로그램 코드로 청구된다.
제시된 방법 및 안전 아키텍처는, 특히 시스템이 안전이 필수적인 경우, 환경의 가상 모델을 획득하기 위해 하나 또는 복수의 센서 입력을 프로세싱하는 데 심층 뉴럴 네트워크들이 사용되는 임의의 시스템에 사용될 수 있다. 유스 케이스(use case)는, 적절한 양의 확실성으로 올바른 표현을 획득할 수 없는 환경의 영역들을 검출하는 것이다(예컨대, 내 환경의 x 지점에서 인간이 있는가).
도 1은 개략 흐름도를 도시한다.
도 2는 상이한 종류들의 불확실성들을 생성할 수 있는 DNN 모듈의 개략도를 도시한다.
도 3은 불확실성들을 갖는 DNN 모듈이 센서 데이터의 조기 융합을 갖는 물체 검출 시스템에서 어떻게 사용될 수 있는지의 개략도를 도시한다.
도 2는 상이한 종류들의 불확실성들을 생성할 수 있는 DNN 모듈의 개략도를 도시한다.
도 3은 불확실성들을 갖는 DNN 모듈이 센서 데이터의 조기 융합을 갖는 물체 검출 시스템에서 어떻게 사용될 수 있는지의 개략도를 도시한다.
지난 몇 년 동안, 새롭고 흥미로운 애플리케이션들이 인공 지능 및 - 더 구체적으로 - 기계 학습 알고리즘에 의해 가능해졌다. 이를 위해 잘-알려진 예는 빠르게 성장중인 자동 주행 분야이다. 그러나, 핸즈-온(hands-on)(레벨 1-2) 운전자 지원에서 핸즈-오프(hands-off) 자동 주행(레벨 3-5)으로의 전환은 시스템 안전에 대한 기본적인 문제들과 함께 발생한다. 특히, 안전-관련 임무들, 예컨대 비디오-기반 물체 검출 및 분류에 대해 심층 뉴럴 네트워크(DNN)들의 사용은 시스템 안전에 관하여 완전히 새로운 문제들을 생성한다.
DNN 컴포넌트들의 안전성에 대한 기본적인 문제는, 새로운 샘플들이 테스트 데이터와 동일한 분포로부터 발생되는 경우 테스트 세트에서 획득된 DNN의 에러가 새롭고 처음 보는 샘플들로만 일반화될 수 있다는 것이다. 부가적으로, 모든 샘플들은 "실세계" 분포에서 무작위로 선택될 필요가 있다. 실제로 다음 둘 모두의 조건들은 거의 충족될 수 없고, 둘 모두의 조건은 다음과 같다:
1. 생성된 트레이닝 및 테스트 데이터 세트들은 "실세계"의 완벽한 표현들을 필요로 하고,
2. "실세계" 분포는 시간에 따라 변하지 않음(시간에 따른 분포 시프트가 없음).
따라서, 안전 자동 주행에 위해 물체 검출 모델이 불확실한 시기를 나타낼 수 있기 위해 DNN의 예측들의 신뢰를 고려하는 것이 가장 중요하다. 예컨대, 자율 주행차가 전면 물체를 보행자로서 인식하지만 위치에 대해 확신이 없으면, 시스템은 치명적인 사고들을 회피하기 위해 운전자에게 초기 단계에서 차를 인계받도록 또는 속도를 늦추도록 경고할 수 있다. DNN들의 출력 확률들이 잘 교정되지 않는 것이 잘 알려져 있기 때문에, 진보된 안전 척도들을 포함하는 정교한 안전 아키텍처들이 DNN 컴포넌트들을 보호하기 위해 필요하다.
언급된 바와 같이, 안전 필수 임무들을 위해 DNN을 사용하면 시스템 안전에 대한 몇 가지 문제가 발생한다. DNN 모듈들의 안전성의 기본적인 문제는, 테스트 세트에서 획득된 DNN의 에러가 자동 주행과 같은 복잡한 오픈 컨텍스트 애플리케이션들에서 충족될 수 없는 소정의 가정 하에서 새롭고 처음 보는 샘플로만 일반화될 수 있다는 것이다. 따라서 DNN 컴포넌트들을 보호하기 위해 진보된 안전 척도들을 포함하는 정교한 안전 아키텍처들이 필요하다.
진보된 운전자 도움 시스템들 및 자동 주행의 맥락에서, 최첨단 타당성 검사들은 일반적으로 다수의 센서 출력을 비교하거나 (예컨대, 어려운 환경 상태들, 이를테면 안개 또는 감소된 데이터 품질, 이를테면 모션 블러(motion blur)를 인식하기 위해) 전문 지식에 기반하여 입력 데이터를 분석하는 것으로 제한된다. 그러나, DNN들의 출력은 자신의 입력 데이터의 확률 분포(예컨대, 비디오-기반 물체 검출의 경우 픽셀-값들의 확률 분포)에 의존하고 반드시 의미론적 단위에 의존하지는 않는다. 결과로서, 가능한 실패 원인들의 이해는 상당히 어렵고 도메인 전문가들에 대해서도 적어도 부분적으로 불가능하다.
그러므로, 본 출원에서, 몇몇 데이터-구동 타당성 검사들뿐 아니라 DNN 모듈들의 예측들에 관한 신뢰를 제공하는 내성 척도를 포함하는 정교한 안전 아키텍처를 제시한다. 불확실성들을 갖는 제안된 향상된 DNN 모듈은 최첨단 DNN들이 사용되는 모든 곳에서 대체될 수 있다. 가능한 적용 영역들은 이미지 인식(카메라 이미지들, 레이더 이미지들, 라이다 이미지들, 초음파 이미지들 및 특히 이의 조합들), 노이즈 분류 등이다. 이들은 보안 애플리케이션들(홈 보안), 자동차 부문에서의, 우주 및 항공 산업에서의, 운송 및 철도 교통을 위한 애플리케이션들에 사용될 수 있다.
DNN 모듈들에 대한 제안된 안전 아키텍처의 일반적인 아이디어는, DNN의 현재 예측을 신뢰할 수 있는지 여부를 동작 동안 결정하는 것이다. 이를 위해, 예측의 글로벌 신뢰는 3 개의 개별 신뢰 척도, 즉 제1, 제2 및 제3 척도를 통해 추정된다. 이어서, 획득된 신뢰 값들(척도들)은 글로벌 신뢰를 획득하기 위해 함께 융합된다. 이어서, 이런 글로벌 신뢰 값은 원하는 기능에 대한 입력으로서 사용될 수 있다.
결정된 척도들은 아래에 더 상세히 설명된다:
결정된 제1 척도는, 현재 입력 데이터(예컨대, 이미지)가 트레이닝 데이터 세트와 동일한 분포를 따르는지 여부를 도시한다. 이것은, 새로운 데이터가 트레이닝 데이터와 동일한 분포로부터 유래되고/트레이닝 데이터와 동일한 분포를 따르는 경우 DNN의 성능이 새로운 데이터로만 일반화될 수 있기 때문에 필요하다. 새로운 데이터가 트레이닝 데이터 분포로부터 기인한 것인지를 추정하는 것은 (잠재적으로) 고차원 데이터에 대한 확률 분포의 추정을 요구할 수 있다. 이것은 예컨대 표준 오토인코더 또는 변분 오토인코더들(VAE)을 통해 달성될 수 있다. 이런 기계 학습 모델들은 인코더 및 디코더 부분으로 이루어지고 감독되지 않는 방식으로 트레이닝될 수 있다.
인코더 부분은 입력 데이터를 저차원 특징 공간(또한 잠복 공간으로 알려짐)에 매핑하기 위해 트레이닝된다.
이어서, 디코더 부분은 잠복 공간으로부터 본래의 고차원 입력을 재구성하려고 시도한다. VAE는, 새로운 데이터가 VAE를 트레이닝하는 데 사용된 데이터와 동일한 분포에서 기인하는지를 예측하기 위해 다수의 방식으로 사용될 수 있다. 그러나, 가장 일반적인 접근법들은 잠복 공간에서 새로운 샘플의 확률 밀도 값을 계산하거나 VAE의 재구성 에러를 사용하는 것을 중심으로 한다. 잠복 공간에서 낮은 밀도 값이, 새로운 데이터가 트레이닝 분포에 부합하지 않는다는 높은 신뢰를 나타내는 한편, 큰 재구성 에러에 대해 마찬가지가 추론될 수 있다.
제시된 안전 아키텍처의 생성된 제2 척도는 DNN이 자신의 예측들에 대한 신뢰를 표현할 수 있게 하는 것과 관련된다. 아래에서, 이 모듈은 내성 척도로 지칭될 것이다. DNN은 일반적으로 예측들의 확실성/불확실성에 대해 진술할 수 없다. 예측된 확률들이 불확실성 값들로서 사용될 수 있지만, 이들은 일반적으로 잘 교정되지 않는다. DNN이 불확실성들을 예측하는 것을 허용하기 위해, 정교한 부가적인 방법들을 갖출 필요가 있다. 이 목적을 위해 가장 성공적인 방법들은 뉴럴 네트워크들의 베이지안 모델링, 통상적으로 변분 추론을 이용한다. 심층 뉴럴 네트워크들에서 변분 추론을 수행하기 위한 2 개의 가능한 방법은 MC Dropout 및 Bayes-by-Backprop이다. 둘 모두의 접근법의 일반적인 아이디어는 고정 값들(즉, 포인트 추정치들) 대신 분포들로서 뉴럴 네트워크의 가중치들을 모델링하는 것이다. 주어진 입력(예컨대, 이미지 데이터)에 대한 예측(예컨대, 분류)의 확실성들/불확실성들을 획득하기 위해, 가중치 분포들은 n 회 샘플링되고 각각의 샘플링된 가중치 세트는 n 개의 상이한 출력을 예측하기 위해 1 회 사용된다. 이어서, 샘플링된 출력들의 평균은 모델로부터의 예측으로서 사용되는 한편, 예측의 분산은 불확실성 척도를 계산하는 데 사용된다.
변분 추론 대신, 내성 불확실성은 또한 설계에 의해 불확실성들을 예측할 수 있는 방법들을 기저의 DNN에 부착함으로써 획득될 수 있다. 예컨대, 이것은 DNN들을 가우시안 프로세스들과 결합하는 것을 통해 달성될 수 있다.
내성 불확실성들을 생성하기 위한 다른 방법은 상이한 아키텍처들에 기반하거나 별개의 트레이닝 데이터 세트들을 사용하여 트레이닝된 몇몇 독립적인 DNN들의 앙상블 결정을 통하는 것이다.
확인된 제3 척도는 또한 출력 불확실성이라 불릴 수 있다. 이런 척도는, 네트워크가 특정 결정을 내리고, 이어서 타당성에 관하여 결론들을 도출하는 방법 및 이유를 이해하는 것을 돕는다. 이 목적에 유용한 방법들의 그룹들은 시각화 방법들이다. 이들은 입력의 어느 특징들이 예측에 중요한지를 이해하는 것을 돕고, 그러므로 뉴럴 네트워크의 고장 모드들뿐 아니라 잘못된 바이어스 및 상관들을 파악하는 것을 돕는다.
예로써, 그래드-캠 기법은 입력에서 클래스-판별 특징들을 국부화하고 시각화한다. 이런 그래드-캠 기법은 예컨대 독일 특허 출원들 DE102019209462호 및 DE102019209463에 상세히 설명된다.
예컨대, 스케일링된 활성화 히트 맵들은 트레이닝 동안 모든 검출된 물체들에 대해 계산될 수 있다. 이어서, 이들은 클래스 활성화 확률 분포들을 획득하기 위해 클래스-단위 및 픽셀-단위로 결합된다. 이들은 새로운 물체들에 대한 타당성 검사들에 사용될 수 있다. 실행-시간 동안, 검출된 물체들의 스케일링된 활성화 히트 맵들은, 샘플이 분포에 속하는지 분포를 따르는지를 결정하기 위해 클래스 활성화 확률 분포들과 비교된다. 낮은 우도 값은 높은 출력 불확실성을 나타낸다.
활성화 히트 맵은 예컨대 기울기 기반 시각화 방법, 예컨대 그래드-캠을 사용하여, 트레이닝 데이터세트 내의 모든 이미지들 및 관련 클래스들의 모든 검출된 물체들에 대해 계산될 수 있고, 대응하는 경계 박스로 스케일링될 수 있다. 이것은, 검출들의 크기가 크게 가변하기 때문에 필요할 수 있다.
각각의 클래스에 대해, 스케일링된 활성화의 확률 분포는 경계 박스 내측 및/또는 외측의 각각의 픽셀에 대해 계산될 수 있고: 확률들이 정규 분포되었다고 가정하면, 다변량 가우시안 분포는 예상 값 및 픽셀 당 표준 편차를 계산함으로써 획득된다. 클래스당 이런 활성화 확률 분포는 트레이닝 데이터에 의존하고 새로운 데이터의 검출들을 위해 타당성 검사들에 사용될 수 있다("테스트 이미지에서 검출은 보여지는 데이터로부터의 편차를 나타냄"). 실행시간 동안, 각각 검출된 물체에 대한 활성화가 계산되고, 스케일링되고, 개별 클래스의 활성화 확률 분포와 비교될 수 있다.
이 방법은 로그-우도의 계산에 의해 수학적으로 구현될 수 있다. 이상 검출은 로그-우도에 대한 임계 값을 정의함으로써 행해질 수 있다. 값이 이 값 미만으로 떨어지면, 이상이 존재한다. 또한, 로그-우도는 트레이닝 및 테스트에서 획득된 값들에 의존할 수 있고, 신뢰 값으로서 스케일링 및 출력될 수 있다. 값이 낮을수록, 뉴럴 네트워크의 신뢰가 낮아지는데, 왜냐하면 일반적으로 사용되는 이미지 지역들/특징들이 뉴럴 네트워크의 예측에 사용되지 않았기 때문이다.
글로벌 불확실성을 결정하는 단계에서, 위에서 설명된 단계들에서 획득된 제1, 제2 및 제3 척도 중 적어도 2 개는 결과/예측에 관한 메인 뉴럴 네트워크의 글로벌 신뢰를 나타내는 하나의 값으로 결합될 수 있다. 이것은 DNN의 출력을 받아 안전-관련 결정들에 이를 이용하는 추가 기능들/컴포넌트들에 대한 중요한 지식이다.
이는 또한 센서 레벨 상에 리던던시(redundancy)를 갖는 시스템에서 상이하고 아마도 모순되는 예측들 사이에서 선택하는 것을 돕는다.
결합은 다수의 방식으로 발생할 수 있다. 예컨대, 보수적인 접근법을 시행하고 최소 양의 신뢰를 예측하는 3 개의 척도 중 하나(또는 2 개의 척도 중 하나만)가 이기게 하는 것을 가능하게 한다. 이 경우, 단지 하나의 확률만이 결합된 확률(승자 독식)로서 포워딩된다.
다른 접근법은 결합된 값을 생성하기 위해 상이한 불확실성 값들(척도들)의 평균 또는 임의의 다른 종류의 가중 합을 취하는 것이다.
위의 2 개의 접근법에서, 척도들의 결합은 개별 불확실성 값들/척도들에 관한 전문 지식을 포함하는 규칙기반 접근법에 의존한다. 이런 접근법 대신, 3 개의 척도 중 적어도 2 개를 입력으로 취하고 결합된 글로벌 불확실성 값을 출력하는 기능을 학습하는 것이 또한 가능하다. 이런 기능은 다시 뉴럴 네트워크 또는 임의의 다른 종류의 통계적 방법, 이를테면 가우시안 프로세스, 일반화 선형 모델, 랜덤 포레스트 등일 수 있다. 적용된 방법에 대한 유일한 필요조건은, 이것이 3 개의 척도 중 적어도 2 개의 공간으로부터 결합된 불확실성 공간으로 매핑하기 위해 적용되는 것이다. 이것은 불확실성 척도를 결합하는 기능을 위한 트레이닝 절차를 요구할 수 있고, 이는 부가적인 트레이닝 데이터를 요구한다.
도 1은 컴퓨터 구현 메인 뉴럴 네트워크의 출력 데이터의 글로벌 불확실성을 추정하기 위한 방법의 제1 실시예를 도시한다. 이 예에서, 뉴럴 네트워크는 사람들을 검출하고, 특히 안전 관련 애플리케이션들에 대한 얼굴 인식을 위해 설계된다. 이 경우, 승인된 사람들은 뉴럴 네트워크에 의해 검출되고 검출에 기반하여 특정 빌딩 내로의 입장이 허용되거나 허용되지 않는다. 뉴럴 네트워크의 예측 정확도를 추정하기 위해, 최종 결정은 뉴럴 네트워크의 진술의 글로벌 불확실성에 기반한다. 이런 글로벌 불확실성을 추정하기 위한 방법은 단계(101)에서 시작된다.
단계(102)에서, 뉴럴 네트워크의 현재 입력 데이터가 메인 뉴럴 네트워크를 트레이닝하는 데 사용되었던 데이터와 동일한 분포를 따르고 있는 정도를 정량화하는 제1 척도가 결정된다. 이것은 변분 오토인코더를 사용하여 행해진다. 그러므로, 잠복 공간에서 새로운 샘플의 확률 밀도 값이 계산된다. 잠복 공간에서 낮은 밀도 값이, 새로운 데이터가 트레이닝 분포에 부합하지 않는다는 높은 신뢰를 나타내는 한편, 큰 재구성 에러에 대해 마찬가지가 추론될 수 있다.
단계(103)에서, 입력 데이터에 기반하여 자체 예측에 있어서의 뉴럴 네트워크 확실성을 정량화하는 제2 척도가 생성된다. 그러므로, 뉴럴 네트워크는 베이지안 뉴럴 네트워크로 설계된다. 주어진 입력(예컨대, 사람들 및 사람들의 얼굴들을 갖는 이미지 데이터)에 대한 제2 척도를 획득하기 위해, 네트워크의 가중치 분포들은 n 회 샘플링되고 각각의 샘플링된 가중치 세트는 n 개의 상이한 출력을 예측하기 위해 1 회 사용된다. 이어서, 샘플링된 출력들의 평균은 모델로부터의 예측으로서 사용되는 한편, 예측의 분산은 제2 척도를 계산하는 데 사용된다.
단계(104)에서, 입력 데이터의 클래스 판별 특징들의 추정 및 클래스 활성화 확률 분포와 이 특징들의 비교에 기반하여, 제3 척도가 확인된다. 이것은 소위 그래드-캠 기법에 의해 행해진다. 그러므로, 스케일링된 활성화 히트 맵들은 트레이닝 동안 모든 검출된 물체들 및 얼굴들에 대해 계산된다. 이어서, 이들은 클래스 활성화 확률 분포들을 획득하기 위해 클래스-단위 및 픽셀-단위로 결합된다. 이어서, 이들은 새로운 물체들에 대한 타당성 검사들에 사용된다. 실행-시간 동안, 검출된 물체들의 스케일링된 활성화 히트 맵들은, 샘플이 분포에 속하는지 분포를 따르는지를 결정하기 위해 클래스 활성화 확률 분포들과 비교된다. 낮은 우도 값은 높은 출력 불확실성을 나타낸다.
단계(105)에서, 제1, 제2 및 제3 척도 중 적어도 2 개의 척도에 기반하여 글로벌 불확실성이 결정된다. 이 예에서, 모두 3 개의 척도가 고려되고 보수적인 접근법이 선택된다. 최소 양의 신뢰를 나타내는 척도는 글로벌 불확실성을 정의한다. 이 경우, 3 개의 척도 중 단지 하나만이 결합된 확률/글로벌 불확실성으로 포워딩된다.
방법은 단계(106)에서 종료된다.
제2 실시예에서, 3 개의 상이한 신뢰 척도(또한 제1, 제2 및 제3 척도라 지칭됨) 및 글로벌 불확실성은 동일한 차량 제어 유닛 상에서 실행되는 4 개의 별개의 모듈, 이 경우 상이한 소프트웨어 모듈들을 통해 계산된다. 일반적인 접근법은 도 1에 묘사된다.
뉴럴 네트워크 모듈(200)은 뉴럴 네트워크(202) 및 4 개의 모듈(210, 220, 230, 240)을 포함한다.
모듈(210)은 입력 데이터(201)를 수신하고, 현재 입력 데이터가 트레이닝 데이터 세트와 동일한 분포를 따르는지를 도시하는 제1 척도(211)를 결정한다.
모듈(220)은 뉴럴 네트워크의 예측(제2 척도(221))에 대한 신뢰를 표현한다.
모듈(230)은 뉴럴 네트워크(202)의 출력 데이터에 기반하여 출력 불확실성(제3 척도(231))을 평가한다.
모듈(240)은 제1(211), 제2(221) 및 제3(231) 척도에 기반하여 글로벌 불확실성(241)을 결정한다.
그러므로, 뉴럴 네트워크 모듈(200)은 입력 데이터(201)를 수신하고 뉴럴 네트워크(202)의 출력 데이터(203), 뉴럴 네트워크의 불확실성들, 제1(211), 제2(221), 및 제3(231) 척도, 및 글로벌 불확실성(241)을 출력한다. 이 블록의 적용에 의존하여, 글로벌 불확실성(241)만 또는 상이한 불확실성들(제1, 제2, 제3 척도 및 글로벌 불확실성)의 조합이 제공될 수 있다.
도 3은 뉴럴 네트워크의 출력에 부가적으로 하나 이상의 불확실성 값을 출력하는 뉴럴 네트워크, 특히 DNN, 모듈을 나타내는 도 2에 설명된 뉴럴 네트워크 모듈(200)이 어떻게 센서 데이터의 조기 융합을 갖는 물체 검출 시스템에 사용될 수 있는지의 개략도를 도시한다.
301은 카메라(311), 레이더(321) 및 라이다(331) 같은 상이한 센서들을 포함하는 센서 블록을 설명한다. 다른 실시예들에서, 마이크로폰 또는 초음파 센서 같은 상이한 또는 부가적인 센서들이 또한 사용될 수 있다.
상이한 센서들(311, 321, 331)은 이미지들(312), 레이더 시그니처(322) 및 라이다 센서(331)로부터의 3D-스캔들 같은 센서 데이터를 생성한다. 이 센서 데이터는 블록(302) 내에서 융합된다. 이 예에서, 모든 센서 데이터(312, 322, 332)는 뉴럴 네트워크의 예측들(305) 및 이 예측(305)에 대한 불확실성들(304)을 출력하도록 설계된 뉴럴 네트워크 모듈(303)에 공급된다.
이와 같은 물체 검출 시스템들은 운전자 보조(DA) 또는 자동 주행(AD) 기능들에 특히 중요하다. 높은 안전 요건들로 인해, 뉴럴 네트워크들, 특히 DNN들의 예측 불확실성에 대한 지식은 매우 중요하다. 예컨대, 후속 기능들은 글로벌 불확실성의 크기에 의존하여 열화 상태에 진입할 수 있다.
Claims (16)
- 컴퓨터 구현 메인 뉴럴 네트워크의 출력 데이터의 글로벌 불확실성을 추정하는 방법으로서,
상기 메인 뉴럴 네트워크의 현재 입력 데이터가 상기 메인 뉴럴 네트워크를 트레이닝하는 데 사용되었던 데이터와 동일한 분포를 따르고 있는 정도를 정량화하는 제1 척도를 결정하는 단계(102);
특히 적어도 하나의 베이지안(Bayesian) 방법 또는 앙상블 기반 접근법을 사용함으로써, 상기 입력 데이터에 기반하여 자체 예측에 있어서의 상기 메인 뉴럴 네트워크의 확실성을 정량화하는 제2 척도를 생성하는 단계(103);
상기 입력 데이터의 클래스-판별 특징들의 추정 및 이들 특징들과 클래스 활성화 확률 분포의 비교에 기반하여, 제3 척도를 확인하는 단계(104) - 특히, 상기 클래스 활성화 확률 분포는 상기 메인 뉴럴 네트워크의 트레이닝 동안 추정된 클래스 판별 특징들에 기반하여 생성되었음 -;
상기 제1 척도, 상기 제2 척도 및 상기 제3 척도 중 적어도 2 개의 척도에 기반하여 상기 글로벌 불확실성을 결정하는 단계(105)
를 포함하는, 방법. - 제1항에 있어서, 상기 제1 척도의 결정(102)은 오토인코더(autoencoder)에 의해, 더 특히 변분 오토인코더에 의해 달성되는, 방법.
- 제2항에 있어서, 상기 오토인코더는 인코더 및 디코더 부분을 포함하고, 상기 인코더 부분은 입력 데이터를 더 낮은 차원 특징 공간, 소위 잠복 공간에 매핑하도록 트레이닝되고, 상기 디코더 부분은 상기 잠복 공간으로부터 원래의 더 높은 차원 입력을 재구성하도록 시도하고, 신뢰 척도는 상기 잠복 공간에 매핑된 상기 입력 데이터의 확률 밀도 값의 계산 또는 상기 오토인코더의 추정된 재구성 에러에 기반하고, 특히 상기 오토인코더는 변분 오토인코더인, 방법.
- 제1항 내지 제3항에 있어서, 상기 제2 척도의 생성(103)은 상기 메인 뉴럴 네트워크의 베이지안 모델링에 기반하고, 특히 상기 메인 뉴럴 네트워크는 베이지안 뉴럴 네트워크로서 모델링되는, 방법.
- 제4항에 있어서, 상기 메인 뉴럴 네트워크의 가중치들은 분포들로서 모델링되는, 방법.
- 제5항에 있어서, 상기 메인 뉴럴 네트워크의 트레이닝은 변분 추론에 의해 수행되는, 방법.
- 제6항에 있어서, 상기 메인 뉴럴 네트워크는 베이지안 뉴럴 네트워크로서 모델링되고, 상기 베이지안 뉴럴 네트워크의 변분 추론은 수치 적분에 의해 수행되고, 가중치 분포들은 n 회 샘플링되고 각각의 샘플링된 가중치 세트는 주어진 입력에 대해 n 개의 상이한 출력을 예측하기 위해 1 회 사용되고, 이어서 상기 샘플링된 출력들의 평균은 상기 메인 뉴럴 네트워크의 예측으로 사용되는 한편, 상기 예측의 분산은 상기 제2 척도를 계산하는 데 사용되는, 방법.
- 제1항 내지 제3항에 있어서, 상기 제2 척도는 가우시안 프로세스로 상기 뉴럴 네트워크를 보강함으로써 획득되는, 방법.
- 제1항 내지 제3항에 있어서, 상기 제2 척도는 적어도 2 개의 뉴럴 네트워크의 앙상블 결정을 통해 생성되고, 특히 상기 2 개의 뉴럴 네트워크는 상이한 네트워크 아키텍처들을 갖거나 상이한 트레이닝 데이터 세트들을 사용하여 트레이닝된, 방법.
- 제1항 내지 제3항에 있어서, 상기 제2 척도는 상이한 기계 학습 방법들의 앙상블 결정을 통해 생성되고, 특히 이들 방법들 중 적어도 하나는 뉴럴 네트워크인, 방법.
- 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 클래스-판별 특징들은 스케일링된(scaled) 및/또는 스케일링되지 않은 특징들을 계산함으로써, 특히 활성화 히트 맵들을 사용함으로써, 특히 그래드-캠(Grad-Cam) 방법을 사용함으로써 추정되는, 방법.
- 제11항에 있어서, 검출된 물체들의 스케일링된 활성화 히트 맵들은 클래스 활성화 히트 맵들과 비교되는 - 상기 클래스 활성화 히트 맵들은 트레이닝 동안 모든 검출된 물체들에 대해 계산되었고 이어서 클래스 활성화 확률 분포들을 획득하기 위해 클래스-단위 및/또는 픽셀-단위로 결합되었음 -, 방법.
- 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 제1 척도, 상기 제2 척도 및 상기 제3 척도는 비교되고 상기 글로벌 불확실성은 3 개의 척도 중 최저 신뢰도를 나타내는 값으로 설정되거나. 또는 상기 글로벌 불확실성은 상기 제1, 상기 제2 및 상기 제3 척도의 평균 또는 임의의 다른 종류의 가중된 합에 기반하여 결정되는, 방법.
- 제1항 내지 제13항 중 어느 한 항에 있어서, 적어도 부분적으로 자동화된 로봇, 특히 적어도 부분적으로 자동화된 자동차는 상기 글로벌 불확실성에 기반하여 제어되는, 방법.
- 제14항에 있어서, 상기 로봇의 경로 계획은 상기 글로벌 불확실성을 기반으로 함으로써, 특히 미리정의된 임계 값과 비교하여 높은 불확실성 영역들은, 특히 이런 영역들까지 미리정의된 거리를 유지함으로써 로봇을 제어할 때 회피되는, 방법.
- 컴퓨터 프로그램으로서,
상기 프로그램이 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금 제1항 내지 제15항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19183368.0A EP3757895A1 (en) | 2019-06-28 | 2019-06-28 | Method for estimating a global uncertainty of a neural network |
EP19183368.0 | 2019-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210002018A true KR20210002018A (ko) | 2021-01-06 |
Family
ID=67137701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200078152A KR20210002018A (ko) | 2019-06-28 | 2020-06-26 | 뉴럴 네트워크의 글로벌 불확실성을 추정하기 위한 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11531899B2 (ko) |
EP (1) | EP3757895A1 (ko) |
KR (1) | KR20210002018A (ko) |
CN (1) | CN112149821A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102446792B1 (ko) | 2021-03-23 | 2022-09-22 | 연세대학교 산학협력단 | 인공 신경망을 설명하기 위한 관련성 가중 클래스 활성화 맵 생성 장치 및 방법 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3118155A1 (en) * | 2018-12-11 | 2020-06-18 | SafeAI, Inc. | Techniques for kinematic and dynamic behavior estimation in autonomous vehicles |
DE102019209457A1 (de) * | 2019-06-28 | 2020-12-31 | Robert Bosch Gmbh | Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm, maschinenlesbares Speichermedium und entsprechende Vorrichtung |
CN113569938A (zh) * | 2021-01-20 | 2021-10-29 | 廖彩红 | 基于时空域特征的业务大数据采集方法及服务器 |
KR102478665B1 (ko) * | 2021-03-02 | 2022-12-16 | 경북대학교 산학협력단 | 통계 및 역학적 태풍 기후 예측 장치 및 방법 |
CN113761454B (zh) * | 2021-08-18 | 2024-01-26 | 苏州西热节能环保技术有限公司 | 一种基于不确定度的垃圾热值测试***及优化方法 |
US20230185881A1 (en) * | 2021-12-15 | 2023-06-15 | International Business Machines Corporation | Stepwise uncertainty-aware offline reinforcement learning under constraints |
EP4235507A1 (en) | 2022-02-25 | 2023-08-30 | Siemens Aktiengesellschaft | Automatically quantifying an uncertainty of a prediction provided by a trained regression model |
EP4322062A1 (en) * | 2022-08-10 | 2024-02-14 | Continental Automotive Technologies GmbH | Method for automated monitoring of a deep neural network, computing system and vehicle |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10202108020VA (en) * | 2017-10-16 | 2021-09-29 | Illumina Inc | Deep learning-based techniques for training deep convolutional neural networks |
US10878569B2 (en) * | 2018-03-28 | 2020-12-29 | International Business Machines Corporation | Systems and methods for automatic detection of an indication of abnormality in an anatomical image |
WO2020097217A1 (en) * | 2018-11-06 | 2020-05-14 | Emory University | Systems and Methods for Training an Autoencoder Neural Network Using Sparse Data |
US10867210B2 (en) * | 2018-12-21 | 2020-12-15 | Waymo Llc | Neural networks for coarse- and fine-object classifications |
EP3739521A1 (en) * | 2019-05-14 | 2020-11-18 | Robert Bosch GmbH | Training system for training a generator neural network |
-
2019
- 2019-06-28 EP EP19183368.0A patent/EP3757895A1/en active Pending
-
2020
- 2020-06-22 US US16/907,957 patent/US11531899B2/en active Active
- 2020-06-24 CN CN202010587459.1A patent/CN112149821A/zh active Pending
- 2020-06-26 KR KR1020200078152A patent/KR20210002018A/ko active Search and Examination
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102446792B1 (ko) | 2021-03-23 | 2022-09-22 | 연세대학교 산학협력단 | 인공 신경망을 설명하기 위한 관련성 가중 클래스 활성화 맵 생성 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US11531899B2 (en) | 2022-12-20 |
CN112149821A (zh) | 2020-12-29 |
EP3757895A1 (en) | 2020-12-30 |
US20200410364A1 (en) | 2020-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531899B2 (en) | Method for estimating a global uncertainty of a neural network | |
EP3796228A1 (en) | Device and method for generating a counterfactual data sample for a neural network | |
WO2021037761A1 (en) | Performance testing for robotic systems | |
US20200247433A1 (en) | Testing a Neural Network | |
CN109782730B (zh) | 用于自主***性能和评级的方法和装置 | |
US20190287404A1 (en) | Traffic prediction with reparameterized pushforward policy for autonomous vehicles | |
US20240029467A1 (en) | Modular Predictions For Complex Human Behaviors | |
EP3816864A1 (en) | Device and method for the generation of synthetic data in generative networks | |
CN108446727B (zh) | 驾驶行为决策方法、***和电子设备 | |
US20220004824A1 (en) | System and method to alter an image | |
CN114179816A (zh) | 车辆的速度预测装置及方法 | |
CN113811894B (zh) | 对车辆的驾驶功能的ki模块的监测 | |
CN112149820A (zh) | 用于训练人工神经网络的方法、人工神经网络和相应计算机程序 | |
CN114648633A (zh) | 确定车辆环境的语义分割的方法 | |
JP2021082155A (ja) | モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム | |
Kuhn et al. | Introspective failure prediction for autonomous driving using late fusion of state and camera information | |
CN112418432A (zh) | 分析多个物理对象之间的相互作用 | |
US20240046614A1 (en) | Computer-implemented method for generating reliability indications for computer vision | |
US20220230418A1 (en) | Computer-implemented method for training a computer vision model | |
US11899750B2 (en) | Quantile neural network | |
Ferreira et al. | Simood: Evolutionary testing simulation with out-of-distribution images | |
US20220390596A1 (en) | Method, apparatus and computer program for enabling a sensor system for detecting objects in an environment of a vehicle | |
CN114368390A (zh) | 用于检验基于ki的信息处理***的方法和设备 | |
Ravishankaran | Impact on how AI in automobile industry has affected the type approval process at RDW | |
EP4280117A1 (en) | Methods and devices for analyzing a reinforcement learning agent based on an artificial neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |