KR20220083833A - 강인한 딥 생성 모델을 갖는 시스템 및 방법 - Google Patents
강인한 딥 생성 모델을 갖는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20220083833A KR20220083833A KR1020227017666A KR20227017666A KR20220083833A KR 20220083833 A KR20220083833 A KR 20220083833A KR 1020227017666 A KR1020227017666 A KR 1020227017666A KR 20227017666 A KR20227017666 A KR 20227017666A KR 20220083833 A KR20220083833 A KR 20220083833A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bounding
- generating
- network
- input
- Prior art date
Links
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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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/0454—
-
- 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
-
- G06N3/0472—
-
- 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/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
머신 러닝 시스템은 인코더 및 디코더 네트워크들을 포함한다. 머신 러닝 시스템은 허용가능한 섭동들의 표준 공의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하도록 구성된다. 입력 바운딩 데이터는 입력 데이터에 기초하여 생성된다. 제1 바운딩 데이터 및 제2 바운딩 데이터는 인코더 네트워크의 제1 및 제2 출력들 상에서 입력 바운딩 데이터를 각각 전파함으로써 생성된다. 제3 바운딩 데이터는 제1 바운딩 데이터 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관하여 생성된다. 제4 바운딩 데이터는 디코더 네트워크의 출력 상에서 제3 바운딩 데이터를 전파함으로써 생성된다. 강인성 인증서는 제1, 제2, 제3 및 제4 바운딩 데이터에 기초하여 증거 하한의 하한을 생성함으로써 입력 데이터에 대하여 확립된다. 인코더 및 디코더 네트워크들은 허용가능한 섭동들에 대한 방어에 대하여 머신 러닝 시스템에 강인성을 제공하기 위해 강인성 인증서에 기초하여 업데이트된다.
Description
본 개시는 대체적으로 머신 러닝 시스템들에 관한 것으로, 보다 구체적으로는 적대적 공격들에 강인한 딥 생성 모델들(deep generative models)에 관한 것이다.
대체적으로, 딥 뉴럴 네트워크들과 같은 러닝 머신 러닝 시스템들은 적대적 공격들에 취약하다. 예로서, 머신 러닝 시스템은 그의 입력들을 통해 공격받을 수도 있다. 이러한 적대적 공격들은 머신 러닝 시스템의 출력에서 변화를 야기하는 입력에 대한 섭동들을 포함한다. 예를 들어, 적대적 공격들이 센서 데이터와 관련될 때, 센서 데이터에 대한 섭동들은, 예를 들어 부정확한 출력 데이터를 제공함으로써 머신 러닝 시스템이 원치않는 방식으로 거동하게 하여, 부정적인 결과들 및 효과들을 초래할 수도 있다. 분류 설정들에서 그리고 보다 적게는, 객체 검출들 또는 이미지 분할들과 같은 다른 감독된 설정들에서 적대적 공격들에 관한 일부 작업이 있지만, 적대적 공격들에 대한 방어적 솔루션들을 생성 모델들에 제공하는 것에 대하여 많은 작업이 있는 것으로 보이지는 않는다.
다음은 하기에서 상세하게 설명되는 소정의 실시예들의 개요이다. 설명된 양태들은 독자에게 이러한 소정의 실시예들의 간략한 개요를 제공하기 위해서만 제시되며 이들 양태들의 설명은 본 개시의 범위를 제한하도록 의도되지 않는다. 실제로, 본 개시는 하기에 명시적으로 기술되지 않을 수도 있는 다양한 양태들을 포괄할 수도 있다.
적어도 하나의 양태에 따라, 컴퓨터에 의해 구현되는 방법은 입력 데이터를 획득하는 단계를 포함한다. 입력 데이터는 허용가능한 섭동들의 ℓp 표준 공의 반경 및 센서 데이터를 포함한다. 방법은 입력 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 인코더 네트워크의 제1 및 제2 출력들 상에서 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터 및 제2 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 잠재 변수와 연관되고 인코더 네트워크의 출력에 기초하는 제3 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 디코더 네트워크의 출력 상에서 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 제1 바운딩 데이터, 제2 바운딩 데이터, 제3 바운딩 데이터 및 제4 바운딩 데이터에 기초하여 증거 하한(evidence lower bound)(ELBO)의 하한을 생성함으로써 입력 데이터에 대하여 강인성 인증서를 확립하는 단계를 포함한다. 방법은 인코더 네트워크 및 디코더 네트워크를 포함하는 머신 러닝 시스템이, 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 강인성 인증서에 기초하여 인코더 네트워크 및 디코더 네트워크를 업데이트하는 단계를 포함한다.
적어도 하나의 양태에 따라, 시스템은 액츄에이터, 센서 시스템, 비일시적 컴퓨터 판독가능 매체, 및 제어 시스템을 포함한다. 센서 시스템은 적어도 하나의 센서를 포함한다. 비일시적 컴퓨터 판독가능 매체는 머신 러닝 시스템의 손실 함수를 더 낮게 바운딩하는 강인성 인증서에 기초하여 훈련되는 인코더 네트워크 및 디코더 네트워크를 갖는 머신 러닝 시스템을 저장한다. 제어 시스템은 센서 시스템 및 머신 러닝 시스템과의 통신들에 기초하여 액츄에이터를 제어하도록 동작가능하다. 제어 시스템은 센서 시스템으로부터의 센서 데이터 및 교란으로부터의 섭동 데이터를 포함하는 입력 데이터를 획득하도록 동작가능한 적어도 하나의 전자 프로세서를 포함하고, 여기서 센서 데이터는 섭동 데이터에 의해 섭동된다. 입력 데이터는 머신 러닝 시스템을 통해 프로세싱된다. 출력 데이터는 머신 러닝 시스템을 통해 생성된다. 출력 데이터는 센서 데이터의 재구성이다. 출력 데이터는 섭동 데이터에 의해 섭동되지 않는 가능도(likelihood)와 연관된다. 가능도는 ELBO에 대응한다. 센서 데이터와 출력 데이터는 머신 러닝 시스템과 연관된 모델 분포에 대응하는 분포 내 데이터이다. 머신 러닝 시스템이 모델 분포 외부에 있는 분포 외 데이터인 것으로서 입력 데이터를 식별하고 프로세싱하도록 섭동 데이터가 구성되더라도 머신 러닝 시스템은 입력 데이터를 분포 내 데이터 범위 내에 있는 것으로 식별하고 프로세싱한다.
적어도 하나의 양태에 따라, 비일시적 컴퓨터 판독가능 매체는 전자 프로세서에 의해 실행될 때, 섭동들에 강인하도록 머신 러닝 시스템을 훈련하기 위한 방법을 구현하도록 동작가능한 적어도 컴퓨터 판독가능 데이터를 포함한다. 방법은 허용가능한 섭동들의 ℓp 표준 공의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하는 단계를 포함한다. 방법은 입력 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 인코더 네트워크의 제1 및 제2 출력들 상에서 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터 및 제2 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 잠재 변수와 연관되고 인코더 네트워크의 출력에 기초하는 제3 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 디코더 네트워크의 출력 상에서 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계를 포함한다. 방법은 제1 바운딩 데이터, 제2 바운딩 데이터, 제3 바운딩 데이터 및 제4 바운딩 데이터에 기초하여 증거 하한(ELBO)의 하한을 생성함으로써 입력 데이터에 대하여 강인성 인증서를 확립하는 단계를 포함한다. 방법은 인코더 네트워크 및 디코더 네트워크를 포함하는 머신 러닝 시스템이, 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 강인성 인증서에 기초하여 인코더 네트워크 및 디코더 네트워크를 업데이트하는 단계를 포함한다.
본 발명의 이러한 그리고 다른 특징들, 양태들 및 이점들은 같은 문자들이 유사하거나 같은 부분들을 나타내는 첨부 도면들에 따라 다음의 상세한 설명에서 논의된다.
도 1a는 본 개시의 예시의 실시예에 따른 머신 러닝 시스템을 포함하는 시스템의 도면이다.
도 1b는 본 개시의 예시의 실시예에 따른 모바일 머신 기술에 대한 도 1a의 시스템의 예의 도면이다.
도 1c는 본 개시의 예시의 실시예에 따른 제조 기술에 대한 도 1a의 시스템의 예의 도면이다.
도 2a는 본 개시의 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 것과 연관된 흐름도이다.
도 2b는 본 개시의 예시의 실시예에 따른 도 2a의 훈련된 입증가능하게 강인한 딥 생성 모델을 동작하는 것과 연관된 흐름도이다.
도 3a는 본 개시의 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 것과 연관된 블록도이다.
도 3b는 본 개시의 예시의 실시예에 따른 가변 오토인코더를 포함하는 입증가능하게 강인한 딥 생성 모델을 훈련하는 개념적 도면이다.
도 4는 본 개시의 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 방법의 흐름도이다.
도 5a, 도 5b, 도 5c, 및 도 5d는 본 개시의 예시의 실시예에 따른 입력 데이터의 비제한적인 예들을 도시한다.
도 6a는 예시의 실시예에 따른 상이한 생성 모델들과 연관하여 제1 데이터세트에 대한 적대적 공격 효과들의 표현들로 그래프를 도시한다.
도 6b는 예시의 실시예에 따른 상이한 생성 모델들과 연관하여 제2 데이터세트에 대한 적대적 공격 효과들의 표현들로 그래프를 도시한다.
도 1b는 본 개시의 예시의 실시예에 따른 모바일 머신 기술에 대한 도 1a의 시스템의 예의 도면이다.
도 1c는 본 개시의 예시의 실시예에 따른 제조 기술에 대한 도 1a의 시스템의 예의 도면이다.
도 2a는 본 개시의 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 것과 연관된 흐름도이다.
도 2b는 본 개시의 예시의 실시예에 따른 도 2a의 훈련된 입증가능하게 강인한 딥 생성 모델을 동작하는 것과 연관된 흐름도이다.
도 3a는 본 개시의 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 것과 연관된 블록도이다.
도 3b는 본 개시의 예시의 실시예에 따른 가변 오토인코더를 포함하는 입증가능하게 강인한 딥 생성 모델을 훈련하는 개념적 도면이다.
도 4는 본 개시의 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 방법의 흐름도이다.
도 5a, 도 5b, 도 5c, 및 도 5d는 본 개시의 예시의 실시예에 따른 입력 데이터의 비제한적인 예들을 도시한다.
도 6a는 예시의 실시예에 따른 상이한 생성 모델들과 연관하여 제1 데이터세트에 대한 적대적 공격 효과들의 표현들로 그래프를 도시한다.
도 6b는 예시의 실시예에 따른 상이한 생성 모델들과 연관하여 제2 데이터세트에 대한 적대적 공격 효과들의 표현들로 그래프를 도시한다.
예로서 나타내고 설명된 본 명세서에 기재된 실시예들 및 이들의 많은 이점들은 전술한 설명에 의해 이해될 것이며, 개시된 청구물을 벗어나지 않으면서 또는 그 이점들 중 하나 이상을 희생하지 않으면서 컴포넌트들의 형태, 구성 및 배열에서 다양한 변경들이 이루어질 수 있음이 명백할 것이다. 실제로, 이들 실시예들의 설명된 형태들은 단지 설명을 위한 것이다. 이들 실시예들은 다양한 수정들 및 대안의 형태들이 가능하며, 다음의 청구항들은 이러한 변경들을 포괄하고 포함하도록 의도되며 개시된 특정 형태들로 제한되지 않고, 오히려 본 개시의 사상 및 범위에 속하는 모든 수정들, 등가물들 및 대안들을 커버한다.
본 명세서에 설명된 바와 같이, 실시예들은 생성 모델들의 맥락에서 입증가능하게 강인한 훈련들의 애플리케이션들에 관련된다. 보다 구체적으로, 실시예들은 감독된 분류 태스크들보다는 감독되지 않은 생성 모델들의 맥락에서 손실 함수들와 관련하여 입증가능한 경계들을 구성한다. 예시의 실시예에서, 예를 들어 입증가능하게 강인한 훈련은 가변 오토-인코더(variational auto-encoder)(VAE)와 같은 적어도 하나의 생성 모델과 관련된다. 이와 관련하여, 인증가능하게, 강인한 하한은 가능도의 가변 하한에 대해 정의된 다음, 이 하한이 훈련 동안 최적화되어 입증가능하게 강인한 VAE(provably robust VAE)("proVAE")를 생성한다. 또한, 이러한 입증가능하게 강인한 생성 모델들은 생성 모델들의 제어 그룹에 비해 적대적 공격들(예를 들어, 생성 모델 하에서 이들의 가능도를 급격히 낮추도록 입력들을 섭동하려는 적수)에 대해 실질적으로 더 강인한 것으로 평가된다.
도 1a는 예시의 실시예에 따른 시스템(100)의 블록도를 도시한다. 시스템(100)은 하나 이상의 센서를 갖는 센서 시스템(110)을 포함한다. 예를 들어, 센서 시스템(110)은 이미지 센서, 카메라, 레이더 센서, 광 검출 및 레인징(light detection and ranging)(LIDAR) 센서, 열 센서, 초음파 센서, 적외선 센서, 모션 센서, 위성 기반 내비게이션 센서(예를 들어, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 센서), 임의의 적절한 센서, 또는 이들의 임의의 조합을 포함한다. 센서 시스템(110)은 제어 시스템(120)과 통신하도록 동작가능하다.
제어 시스템(120)은 센서 시스템(110)의 하나 이상의 센서로부터 직접적으로 또는 간접적으로 센서 데이터를 획득하도록 구성된다. 입력 데이터(예를 들어, 센서 데이터 및/또는 센서 데이터에 기초한 이미지 데이터)를 수신하면, 제어 시스템(120)은 머신 러닝 시스템(200)과 연결되는 프로세싱 시스템(140)을 통해 이 입력 데이터를 프로세싱하도록 구성된다. 이와 관련하여, 프로세싱 시스템(140)은 적어도 하나의 프로세서를 포함한다. 예를 들어, 프로세싱 시스템(140)은 전자 프로세서, 중앙 프로세싱 유닛(CPU), 그래픽스 프로세싱 유닛(GPU), 마이크로프로세서, 필드-프로그램가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 임의의 적절한 프로세싱 기술, 또는 이들의 임의의 조합을 포함한다. 이러한 입력 데이터를 프로세싱하면, 프로세싱 시스템(140)은 머신 러닝 시스템(200)을 통해 출력 데이터를 생성하도록 동작가능하다. 부가적으로 또는 대안으로, 프로세싱 시스템(140)은 머신 러닝 시스템(200)의 출력 데이터를 분류하는 분류 데이터를 생성하도록 동작가능하다. 또한, 프로세싱 시스템(140)은 머신 러닝 시스템(200)의 분류 데이터 및/또는 출력 데이터에 기초하여 액츄에이터 시스템(170)에 제어 데이터를 제공하도록 동작가능하다.
예시의 실시예에서, 머신 러닝 시스템(200)은 메모리 시스템(160)에 저장된다. 예시의 실시예에서, 메모리 시스템(160)은 본 명세서에 개시된 바와 같이, 적어도 동작들 및 기능성을 가능하게 하기 위해 다양한 데이터를 저장하고 이에 대한 액세스를 제공하도록 구성되는, 컴퓨터 또는 전자 저장 시스템이다. 예시의 실시예에서, 메모리 시스템(160)은 단일 디바이스 또는 복수의 디바이스를 포함한다. 예시의 실시예에서, 메모리 시스템(160)은 전기, 전자, 자기, 광학, 반도체, 전자기, 또는 임의의 적절한 기술을 포함할 수 있다. 예를 들어, 예시의 실시예에서, 메모리 시스템(160)은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 디스크 드라이브, 메모리 카드, 광학 저장 디바이스, 자기 저장 디바이스, 메모리 모듈, 임의의 적절한 유형의 메모리 디바이스, 또는 이들의 임의의 조합을 포함할 수 있다. 예시의 실시예에서, 제어 시스템(120) 및/또는 프로세싱 시스템(140)에 대하여, 메모리 시스템(160)은 로컬, 원격, 또는 이들의 조합(예를 들어, 부분적으로 로컬 및 부분적으로 원격)이다. 예를 들어, 메모리 시스템(160)은, 프로세싱 시스템(140) 및/또는 제어 시스템(120)의 다른 컴포넌트들로부터 원격인, 적어도 클라우드 기반 저장 시스템(예를 들어, 클라우드 기반 데이터베이스 시스템)을 포함할 수 있다.
예시의 실시예에서, 머신 러닝 시스템(200)은 적어도 하나의 딥 뉴럴 네트워크를 포함한다. 보다 구체적으로, 딥 뉴럴 네트워크는 적어도 하나의 훈련된, 입증가능하게 강인한 생성 모델("PROVAE")을 포함한다. 입력 데이터에 응답하여, 프로세싱 시스템(140)(머신 러닝 시스템(200)과 연결됨)은 입력 데이터의 재구성인 출력 데이터를 생성하도록 동작가능하다. 예를 들어, 입력 데이터가 센서 데이터(및/또는 센서 데이터에 기초한 이미지 데이터)인 경우, 프로세싱 시스템(140)은 출력 데이터가 센서 데이터의 재구성인 머신 러닝 시스템(200)을 통해 출력 데이터를 생성하도록 동작가능하다. 다른 예로서, 입력 데이터가 섭동 데이터에 의해 섭동되는 센서 데이터(및/또는 센서 데이터에 기초한 이미지 데이터)를 포함하는 경우, 프로세싱 시스템(140)은 출력 데이터가 센서 데이터의 재구성인 머신 러닝 시스템(200)을 통해 출력 데이터를 생성하도록 동작가능하며, 이에 의해 가능도 효과들이 섭동 데이터에 의해 손상되지 않는다. 머신 러닝 시스템(200)의 이러한 특징은 그러한 섭동 데이터가 머신 러닝 시스템(200)의 가능도 효과들 및/또는 출력 데이터에서 급격한 변화들을 야기하지 않는다는 점에서 적대적 공격들에 대한 방어적 솔루션을 제공하는데 유리하다.
또한, 시스템(100)은 센서 시스템(110) 및 액츄에이터 시스템(170)과 관련하여 제어 시스템(120)의 동작에 기여하는 다른 컴포넌트들을 포함한다. 예를 들어, 도 1에 나타낸 바와 같이, 메모리 시스템(160)은 또한 그의 하나 이상의 컴포넌트(예를 들어, 센서 시스템(110), 머신 러닝 시스템(200), 액츄에이터 시스템(170) 등)와 관련하여 시스템(100)의 동작에 관련되는, 다른 관련 데이터를 저장하도록 구성된다. 또한, 제어 시스템(120)은 시스템(100)과 관련되는 하나 이상의 I/O 디바이스에 대한 하나 이상의 인터페이스를 포함하는 입력/출력(I/O) 시스템(130)을 포함한다. 또한, 제어 시스템(120)은 시스템(100)의 기능화를 보조하거나 이에 기여하는 임의의 적절한 하드웨어, 소프트웨어, 또는 이들의 조합과 같은 다른 기능 모듈들(150)을 제공하도록 구성된다. 예를 들어, 다른 기능 모듈들(150)은 오퍼레이팅 시스템 및 시스템(100)의 컴포넌트들이 본 명세서에 설명된 바와 같이 서로 통신하는 것을 가능하게 하는 통신 기술을 포함한다. 적어도 도 1a의 예에서 논의된 구성으로, 시스템(100)은 다양한 기술들에 적용가능하다.
도 1b는 모바일 머신 기술(예를 들어, 로봇 등)에 대하여 시스템(100)의 제1 애플리케이션의 예를 도시한다. 도 1b에서, 시스템(100)은 제어 시스템(120)이 센서 시스템(110)으로부터의 센서 데이터에 따라 차량(10)의 적어도 하나의 액츄에이터 시스템(170)을 제어하는 차량(10)에 의해 채용된다. 보다 구체적으로, 비제한적인 예로서, 제어 시스템(120)은 센서 시스템(110)으로부터의 센서 데이터를 사용하여 엔티티(예를 들어, 객체)를 식별하도록 구성된다. 예를 들어, 시스템(100)은 이미지 센서로부터 이미지 데이터를 획득하면 표지판(예를 들어, 정지 표지판)을 식별하도록 구성된다. 다른 예로서, 시스템(100)은 이미지 센서 및 LIDAR 센서로부터 획득된 센서 데이터에 기초하여 생성되는, 이미지 데이터로부터 보행자를 검출하도록 구성된다. 이와 관련하여, 센서 데이터는 센서 시스템(110)의 하나 이상의 센서로부터 생성 및/또는 획득된다. 이 예에서, 적어도 센서 데이터 및/또는 이미지 데이터를 수신하면, 프로세싱 시스템(140)은 머신 러닝 시스템(200)을 통해, 센서 데이터(및/또는 이미지 데이터)가 엔티티와 연관된 분포에 기초하여 생성되었고 및/또는 분포 내에 있는 높은 값의 가능도로 추정하면 센서 데이터(및/또는 이미지 데이터)로부터의 엔티티를 식별하도록 구성된다. 유리하게, PROVAE(200A)는 입력 데이터(예를 들어, 센서 데이터 및/또는 이미지 데이터)가 섭동(예를 들어, 노이즈)에 의해 섭동될 때에도 높은 값의 가능도를 추정하도록 구성됨으로써, 섭동 외 공격들에 대하여 강인하다. 예를 들어, 비제한적인 예로서, 프로세싱 시스템(140)이 머신 러닝 시스템(200)을 통해, 센서 시스템(110)으로부터의 센서 데이터를 포함하는 섭동되지 않은/섭동된 입력 데이터를 수신하면 다른 차량을 엔티티(그의 모델 분포 내에서)로서 식별하는 경우이면, 제어 시스템(120)은 이 식별된 차량과 충돌하는 것을 회피하기 위해 액츄에이터 시스템(170)(예를 들어, 스티어링 시스템, 제동 시스템, 또는 임의의 적절한 액츄에이터 시스템)을 제어하도록 구성된다. 이 예에서, 액츄에이터 시스템(170)은 자율, 고도 자율, 부분적 자율, 조건부 자율 또는 운전자 보조인 차량의 드라이빙 기능을 제어 또는 보조하도록 구성된다.
도 1c는 제조 기술에 대하여 시스템(100)의 제2 애플리케이션의 예를 도시한다. 도 1c에서, 시스템(100)은 제어 시스템(120)이 센서 시스템(110)으로부터의 센서 데이터에 따라 제조 머신(22)의 적어도 하나의 액츄에이터 시스템(170)을 제어하는 제조 시스템(20)에 의해 채용된다. 보다 구체적으로, 비제한적인 예로서, 제어 시스템(120)은 제품들(24)의 결함성 컴포넌트들에 대한 이미지들의 분포를 모델링함으로써 제품들(24)에서 고장을 식별하도록 구성된다. 이 경우, PROVAE(200A)는 센서 데이터가 비교적 작은 (및/또는 감지할 수 없는) 섭동들에 의해 섭동되는 경우들에서도 제품들(24)의 컴포넌트들에서 결함 또는 고장을 식별하도록 구성된다. 예를 들어, 섭동된 입력 데이터가 제품(24)의 결함성 컴포넌트의 이미지를 포함하는 경우, 프로세싱 시스템(140)은 머신 러닝 시스템(200)을 통해, 제품(24)을 결함성인 것으로 식별하고 제품(24)을 섭동 데이터에 의해 의도된 바와 같이 비결함성인 것으로 식별하지 않도록 구성된다. 이 경우, 이러한 섭동된 입력 데이터의 프로세싱에 응답하여, 제어 시스템(120)은 결함성 제품들의 분포에 속하는 것으로 결함성 제품을 분류하도록 구성되고 결함성인 제품들(24)의 분포 내에 있는 것으로서 제품(24)의 분류 및/또는 머신 러닝 시스템(200)의 출력에 기초하여 액츄에이터 시스템(170)을 제어하도록 구성된다. 이러한 비제한적인 예에서, 예를 들어 액츄에이터 시스템(170)은 결함성인 것으로서 제품(24)의 식별에 기초하여 로봇 또는 제조 머신의 액션을 제어하도록 구성된다.
제1 애플리케이션(도 1b) 및 제2 애플리케이션(도 1c)에 부가적으로 또는 대안으로, 시스템(100)(및/또는 제어 시스템(120))은 또한 다른 애플리케이션들에서 동작가능하다. 예를 들어, 제어 시스템(120)은 이러한 유형들의 머신 러닝 시스템들(200)을 훈련하는데 사용되는 훈련 데이터를 생성하도록 구성된다. 게다가, 시스템(100)(및/또는 제어 시스템(120))은 또한 컴퓨터에 의해 제어되는 머신들, 로봇들, 홈 어플라이언스들, 전력 툴들, 개인용 전자 보조기들, 헬스케어/의료 시스템들, 모바일 머신들, 보안 시스템들, 시뮬레이션 시스템들 등과 같은, 다양한 분야들에 적용가능하다. 더욱이, 시스템(100)(및/또는 제어 시스템(120) 및/또는 머신 러닝 시스템(200))은 위에 언급된 애플리케이션들에 제한되지 않고, 섭동들에 입증가능하게 강인한, 적어도 하나의 훈련된 생성 모델을 갖는 머신 러닝 시스템(200)으로부터 이로운 임의의 적절한 애플리케이션에 적용될 수 있다.
도 2a는 예시의 실시예에 따른 적어도 하나의 입증가능하게 강인한 생성 모델(예를 들어, PROVAE(200A))을 생성하기 위한 머신 러닝 시스템(200)에 대한 훈련 프로세스(204)에 관한 흐름도을 도시한다. 도 2a에 나타낸 바와 같이, 생성 모델(예를 들어, VAE)은 훈련 프로세스(204)(도 4)를 통해 분포 내 데이터(202) 로 훈련된다. 예를 들어, 분포 내 데이터(202)는 생성 모델과 연관되는, 의 분포로부터 선택되거나 취해지는 입력 데이터를 지칭한다. 이러한 특징은 입증가능하게 강인한 생성 모델이 훈련 프로세스(204) 동안 다른 유형의 훈련 데이터(예를 들어, 분포 외 데이터, 섭동 데이터, 적대적 예들 등)를 필요로 하지 않기 때문에 유리하다. 분포 내 데이터(202)로 훈련 프로세스(204)를 완료하면, 훈련된 입증가능하게 강인한 생성 모델(예를 들어, PROVAE(200A))이 생성되고 동작에 대해 준비된다.
도 2b는 예시의 실시예에 따른 적어도 하나의 훈련된 입증가능하게 강인한 생성 모델(예를 들어, PROVAE(200A))을 포함하는, 머신 러닝 시스템(200)의 동작과 연관된 흐름도을 도시한다. 이 흐름도은 입증가능하게 강인한 생성 모델의 이점들을 강조한다. 예를 들어, 이점으로서, 섭동 데이터(208)에 의해 섭동된 분포 내 데이터(202)를 포함하는 입력 데이터를 수신하면, PROVAE(200A)는 이 입력 데이터를 분포 내 데이터인 것으로 식별하고 또한 분포 내 데이터(202)인 출력 데이터를 또한 생성하도록 동작가능하다. 대안으로, 나타내지는 않았지만, 섭동 데이터에 의해 섭동되지 않은 분포 내 데이터(202)를 포함하는 입력 데이터를 수신하면, PROVAE(200A)는 분포 내 데이터(202)인 출력 데이터를 생성하도록 구성된다.
도 3a는 예시의 실시예에 따른 입증가능하게 강인한 딥 생성 모델을 훈련하는 것과 연관된 블록도이다. 도 3a에 나타낸 바와 같이, 훈련 프로세스(204)는 적어도 메모리 시스템(300) 및 프로세싱 시스템(310)을 수반한다. 예시의 실시예에서, 메모리 시스템(300)은 본 명세서에 개시된 바와 같이, 적어도 동작들 및 기능성을 가능하게 하기 위해 다양한 데이터를 저장하고 이에 대한 액세스를 제공하도록 구성되는, 컴퓨터 또는 전자 저장 시스템이다. 예시의 실시예에서, 메모리 시스템(300)은 단일 디바이스 또는 복수의 디바이스를 포함한다. 예시의 실시예에서, 메모리 시스템(300)은 전기, 전자, 자기, 광학, 반도체, 전자기, 또는 임의의 적절한 기술을 포함한다. 예를 들어, 메모리 시스템(300)은 RAM, ROM, 플래시 메모리, 디스크 드라이브, 메모리 카드, 광학 저장 디바이스, 자기 저장 디바이스, 메모리 모듈, 임의의 적절한 유형의 메모리 디바이스, 또는 이들의 임의의 조합을 포함한다. 예시의 실시예에서, 프로세싱 시스템(310)에 대하여, 메모리 시스템(300)은 로컬, 원격, 또는 이들의 조합(예를 들어, 부분적으로 로컬 및 부분적으로 원격)이다. 예를 들어, 메모리 시스템(300)은 프로세싱 시스템(310)으로부터 원격인, 적어도 클라우드 기반 저장 시스템(예를 들어, 클라우드 기반 데이터베이스 시스템)을 포함하도록 구성된다.
예시의 실시예에서, 도 3a에 나타낸 바와 같이, 메모리 시스템(300)은 적어도 훈련 데이터(302), 머신 러닝 데이터(304), 및 입증가능하게 강인한 생성 모델("PROVAE")(200A)을 포함한다. 훈련 데이터(302)는 적어도 센서 데이터(및/또는 센서 데이터에 기초한 이미지 데이터)를 포함한다. 유리하게, 훈련 프로세스(204)는 입력 데이터로서 섭동들을 필요로 하지 않으면서 허용가능한 섭동들에 대해 훈련하도록 동작가능하다. 또한, 머신 러닝 데이터(304)는 다양한 바운딩 데이터(예를 들어, 벡터 데이터), 강인성 인증서 등과 같은 다른 관련 데이터(304A)(도 3b)뿐만 아니라, PROVAE(200A)를 훈련 및 생성하기 위한 방법(400)(도 4)과 연관된 머신 러닝 알고리즘들을 포함한다. PROVAE(200A)는 뉴럴 네트워크 데이터(예를 들어, 다양한 계층들, 파라미터 데이터, 데이터 등)를 포함하며, 이들은 그의 훈련 및/또는 동작과 연관된다. 훈련 프로세스(204)를 완료하면, PROVAE(200A)는 도 1a의 시스템(100) 또는 임의의 적절한 애플리케이션에 의해 전개가능 및/또는 채용가능하다.
훈련 데이터(302)(예를 들어, 센서 데이터 및/또는 센서 데이터에 기초한 이미지 데이터)를 수신하면, 프로세싱 시스템(310)은 머신 러닝 데이터(304)와 관련하여 생성 모델을 훈련하도록 구성된다. 이와 관련하여, 프로세싱 시스템(310)은 적어도 하나의 프로세서를 포함한다. 예를 들어, 프로세싱 시스템(310)은 전자 프로세서, CPU, GPU, 마이크로프로세서, FPGA, ASIC, 임의의 적절한 프로세싱 기술, 또는 이들의 임의의 조합을 포함한다. 예시의 실시예에서, 프로세싱 시스템(310)은 훈련 데이터(302) 및 머신 러닝 데이터(304)에 기초하여 훈련된 입증가능하게 강인한 생성 모델("PROVAE")(200A)을 생성하기 위해 메모리 시스템(300)과 통신한다.
도 3b는 예시의 실시예에 따른 입증가능하게 강인한 생성 모델(예를 들어, PROVAE(200A))을 생성하기 위해 생성 모델(예를 들어, VAE)을 훈련하는 개념적 도면을 도시한다. 대체적으로, VAE는 인코더 네트워크를 갖는 인코더 및 디코더 네트워크를 갖는 디코더를 적어도 포함한다. 이와 관련하여, 인코더는 인식 모델을 포함하는 한편 디코더는 생성 모델을 각각 포함한다. 예시의 실시예에서, 적어도 도 3b 에 나타낸 바와 같이, 인코더 및 디코더는 입력에 대한 섭동의 효과를 전파하기 위해 인터벌 경계 전파(IBP) 기법들을 사용한다. 섭동의 효과는 VAE 전체에 걸쳐 전파된다. 또한, 편의상, 도 3b는 도 4와 함께 입증가능하게 강인한 훈련 프로세스의 예시를 돕기 위해, VAE와 관련하여, VAE의 일부 컴포넌트들(예를 들어, 등)의 매핑뿐만 아니라 다른 관련 데이터(304A)의 일부 표현들을 도시한다. 또한, 도 3b는 센서 데이터 (예를 들어, 핸드라이팅된 숫자 '4' 를 갖는 입력 이미지(304B))의 예 및 센서 데이터의 재구성인 출력 데이터 (예를 들어, 재구성된 핸드라이팅된 숫자 '4'를 갖는 출력 이미지(304C))의 예를 도시한다. 입력 이미지(304B) 및 출력 이미지(304C) 양자 모두 분포 내 데이터(또는 "핸드라이팅된 숫자들" 의 분포 내)로서 식별된다.
대체적으로, VAE는 프로세싱 시스템(310)이 적대적 설정에서 추가로 바운딩하도록 구성되는, 로그 가능도에 대한 경계에 기초하여 훈련된다. VAE는 잠재 변수 에 관하여 확률 을 표현하는, 이른바 증거 하한(ELBO)에 기초하여 훈련되고, 그 후 다음과 같이 가능도를 바운딩하며,
여기서 는, 뒤쪽의 (이 경우 경계가 엄격함)를 근사화하려고 시도하지만, 보다 다루기 쉬운 분포 클래스를 통해 그렇게 행하는, 이른바 가변 분포이다. VAE 설정에서, 프로세싱 시스템(310)은 다음을 선택한다.
이러한 가정들 하에서, ELBO는 다음의 명시적 형태를 갖는다:
예를 들어, 확률적 구배 하강법을 사용하면, 프로세싱 시스템(310)이 샘플링 절차 를 등가 프로세스 로 대체하여 샘플을 도출하고 이른바 재파라미터화 기법을 통해 평균 및 분산 항들이 역전파될 수 있음을 보장한다.
도 4는 예시의 실시예에 따른 입증가능하게 강인한 생성 모델(예를 들어, PROVAE(200A))을 생성하기 위한 훈련 프로세스(204)의 방법(400)의 흐름도을 도시한다. 이 방법(400)은 딥 생성 모델들에 대한 분산 외 공격들에 대한 강인한 방어를 공식화하는 기술적 문제에 대한 솔루션을 제공한다. 방법(400)은 허용가능한 섭동들에 대한 ELBO를 더 낮게 바운딩하는 입증가능한 강인한 딥 생성 모델(예를 들어, PROVAE(200A))을 획득함으로써 그러한 방어를 달성한다. 보다 구체적으로, 방법(400)은 허용가능한 섭동들의 세트로서 를, 그리고 를 중심으로 반경 의 공으로서 를 식별한다. 본 개시에서는, 표기의 가벼움을 위해, 이들 항들 와 는 상호교환가능하게 사용된다.
프로세싱 시스템(310)은 로서 모든 가능한 섭동들 에 대해 ELBO에 대한 하한을 획득하도록 구성된다. 이 하한은 ELBO의 강인성의 인증서를 제공한다. 에서의 임의의 가능한 섭동의 ELBO에 대한 효과는 에 의해 더 낮게 바운딩될 것이다. 하한 의 최적화는 ( 주위 반경 의 공) 내에서 가능한 가장 강력한 분포 외 공격에 강인하도록 네트워크를 효과적으로 훈련한다.
ELBO를 더 낮게 바운딩하기 위해, 프로세싱 시스템(310)은 , 및 의 계층들 전체에 걸쳐 IBP를 수행하여 프로세싱 시스템(310)이 ELBO에 관하여 입력 공간 상에서 허용가능한 섭동들의 전파에 대한 경계들을 획득한다. 이와 같이 프로세싱 시스템(310)은 섭동된 입력 의 Kullback-Leibler(KL) 발산과 섭동된 조건부 로그 가능도 의 기대값 양자 모두를 바운딩도록 구성된다. 그렇게 하기 위해, 프로세싱 시스템(310)은 인코더 네트워크들 및 에 대한 IBP 와 디코더 네트워크 에 대한 IBP를 수행한다.
방법(400)에 대한 예비들로서, 프로세싱 시스템(310)은 인코더 및 디코더 네트워크들의 빌딩 블록들에 대한 하한 및 상한을 전파한다. 대체적으로, 빌딩 블록들은 적어도 선형 및 컨볼루션 계층들과, 단조 요소별(element-wise) 활성화 함수들을 포함한다. 이러한 특징들은 프로세싱 시스템(310)이 딥 뉴럴 네트워크(예를 들어, VAE)의 입력에서 출력까지, 상이한 인터벌 경계들을 순차적으로 연결하는 것을 가능하게 한다. 본 개시에서는, 표기의 편의와 가벼움을 위해, 의 상한은 로서 표시되고 하한은 으로서 표시되며, 이는 다차원 엔티티들을 어드레싱할 때 요소별로 고려된다.
선형 연산자들에 대하여, 프로세싱 시스템(310)은 를 에 적용된 선형 연산자 로 간주하고, 를 의 요소별 상한 및 하한으로 간주한다. 프로세싱 시스템(310)은 및 이도록 선형 연산자 를 포지티브 및 네거티브 연산자들 로 분해하며, 여기서 max 및 min은 요소별 최대 및 최소에 대응한다. 그 후 프로세싱 시스템(310)은 선형 연산자의 상한 및 하한을 에 적용한다. 보다 구체적으로, 프로세싱 시스템(310)은 선형 성질로 인해, 컨볼루션 계층들 및 선형 계층들에 대해 유지되는, 상한(식 7) 및 하한(식 8)을 적용한다.
단조 함수들에 대하여, 프로세싱 시스템(310)은 에 대해 요소별 적용된 단조(비감소 또는 비증가) 함수로서 를 표시하도록 구성된다. 프로세싱 시스템(310)은 다음과 같이 의 상한 및 하한과 에 관하여 의 상한 및 하한을 표현한다.
이러한 경계들은 ReLU 및 시그모이드(sigmoid)와 같은 단조 활성화 함수들에 대해 유지된다.
표준 제곱에 대하여, 프로세싱 시스템(310)은 의 하한 및 상한에 대한 요소별 종속성이 있음을 인식함으로써 의 표준 제곱의 상한 및 하한을 획득하도록 구성된다. 이고, 여기서 가 의 i 번째 컴포넌트를 표시하기 때문에, 프로세싱 시스템(310)은 다음과 같이 및 의 함수로서 개개의 상한 및 하한을 획득한다.
예비들이 수행된 후, 프로세싱 시스템(310)은 예를 들어, 적어도 하나의 로그 가능도 함수에 관하여, 최악의 경우의 섭동으로부터 획득된 강인성 인증서를 최적화하기 위해 방법(400)을 구현한다. 방법(400)은 하나 이상의 반복(또는 에포크)을 포함한다. 이 경우, 각각의 반복(또는 에포크)은, 경계 전파를 통해 강인성 인증서를 계산하는 것(예를 들어, 단계들(402-412)), 이 강인성 인증서를 최적화함으로써(예를 들어, 단계(414)), 강인하게 훈련된 인코더 및 디코더 네트워크들(예를 들어, 단계(416))을 제공하는 것을 포함한다. 도 4를 참조하면, 방법(400)은 하기에 설명된 바와 같이, 적어도 다음의 구현을 포함한다.
단계(402)에서, 프로세싱 시스템(310)은 입력 x을 획득하고, 입력 x에 대한 적어도 하나의 경계를 생성하도록 구성된다. 예를 들어, 입력 x는 이고 여기서 인 것과 같은, 훈련 데이터를 포함한다. 에 대해, 프로세싱 시스템(310)은 입력 에 대한 입력 바운딩 데이터를 생성하도록 구성된다. 입력 바운딩 데이터는 입력 에 대한 상한 데이터 및 입력 에 대한 하한 데이터를 포함한다.
또한, 제1 인코딩 컴포넌트 및 제2 인코딩 컴포넌트 가 주어지면, 프로세싱 시스템(310)은 적어도 하나의 마지막 계층이 적어도 하나의 완전히 연결된 선형 계층인 ReLU 활성화들로 일련의 컨볼루션 계층들이 되도록 인코더 네트워크들을 구축한다. 또한, 입력 x로서 섭동들을 필요로 하지 않으면서, 프로세싱 시스템(310)은, 로서 섭동 데이터를 정의하고, 다음과 같이 허용가능한 섭동된 입력의 하한 및 상한을 나타냄으로써, 임의의 허용가능한 섭동된 입력 을 고려하도록 동작가능하다.
단계(404)에서, 프로세싱 시스템(310)은 인코더 네트워크의 출력들에 대한 경계들을 생성하도록 구성된다. 이러한 경계들은 VAE의 제1 바운딩 데이터와 제2 바운딩 데이터를 포함한다. 제1 및 제2 바운딩 데이터는 인코더의 제1 및 제2 인코딩 컴포넌트들의 개개의 출력들에 관한 것이다. 보다 구체적으로, 프로세싱 시스템(310)은 제1 인코딩 컴포넌트 의 출력에 대한 제1 상한 데이터 및 제1 하한 데이터를 생성하도록 구성된다. 또한, 프로세싱 시스템(310)은 제2 인코딩 컴포넌트 의 출력에 대한 제2 상한 데이터 및 제2 하한 데이터를 생성하도록 구성된다. 프로세싱 시스템(310)은 제1 인코딩 컴포넌트 의 제1 바운딩 데이터를 제2 인코딩 컴포넌트 의 제2 바운딩 데이터와 독립적으로 생성하도록 구성된다. 이와 관련하여, 프로세싱 시스템(310)은 제1 바운딩 데이터 및 제2 바운딩 데이터를 동시에 또는 상이한 시간에 생성하도록 구성된다.
식들 7 내지 8의 선형 및 컨볼루션 계층들 및 식들 9 내지 10의 활성화 함수들에 대한 인터벌 경계들의 전파로, 프로세싱 시스템(310)은 다음을 통해 인코더 네트워크의 컴포넌트들 전체에 걸쳐 및 의 IBP에 기초하여 인코더 네트워크의 출력들을 바운딩하도록 구성된다.
여기서 및 는 인코더의 출력들이며, 및 와 및 는 각각 인코더 네트워크들의 하한 및 상한의 전파에 대응한다. 이는 섭동 의 크기 의 함수로서 (로그와 지수는 단조 비감소임)뿐만 아니라, 인코딩 컴포넌트들 및 의 출력들에 대한 경계들을 유발한다.
여기서 및 는 인코더에 의해 출력된 바와 같은, i 번째 샘플의 제곱 평균 및 공분산의 j 번째 컴포넌트를 나타낸다. 또한, 프로세싱 시스템(310)은 IBP가 디코더 네트워크를 통해 수행되는 것을 가능하게 하기 위해 인코더 네트워크들의 단부 부분에서 및 에 대한 경계들로부터 계속하도록 구성된다.
단계(406)에서, 프로세싱 시스템(310)은 "ε"으로서 표시된 샘플을 적어도 도출하고, "z"로서 표시된 잠재 변수에 대한 경계들을 계산하도록 구성된다. 예를 들어, 프로세싱 시스템(310)은 재파라미터화 기법들을 통해 잠재 변수에 대한 경계들(또는 VAE의 제3 바운딩 데이터)을 획득하도록 구성된다. 보다 구체적으로, 재파라미터화 기법으로, 잠재 변수에 대한 경계는, 재파라미터화가 선형 연산자이기 때문에, 식들 7 내지 8에서 선형 연산자들에 대한 경계라는 결론이 나온다.
예를 들어, 프로세싱 시스템(310)은 이도록 및 로 표시된 바와 같이, 샘플을 프로세싱하도록 구성되며, 여기서 0은 평균을 나타내고 I는 공분산에 대한 아이덴티티 벡터를 나타낸다. 이러한 재파라미터화 기법은 로서 잠재 변수를 표현함으로써 인코더로부터 무작위성을 분리시킨다. 재파라미터화 기법을 사용한 후, 프로세싱 시스템(310)은 잠재 변수 를 바운딩(예를 들어, 제3 바운딩 데이터를 생성) 하도록 구성되며, 이는 다음과 같이 표현된다:
단계(408)에서, 프로세싱 시스템(310)은 디코더 네트워크 의 출력에 대한 경계들을 생성하도록 구성된다. 이와 관련하여, 프로세싱 시스템(310)은 디코더 네트워크 의 제4 상한 데이터 및 제4 하한 데이터를 포함하는, VAE의 제4 바운딩 데이터를 생성하도록 구성된다. 예를 들어, 단계(408)이후에, 잠재 변수(즉, z)에 대한 경계들은 디코더 네트워크 를 통해 전파되며, 이는 ReLU 및 시그모이드 활성화들(예를 들어, 경계들이 식들 9 내지 10으로 전파될 수 있는 단조 활성화 함수들) 로 선형 및 컨볼루션 계층들(예를 들어, 경계들이 식들 7 내지 8로 전파될 수 있는 선형 연산자들)을 포함한다. 따라서, 프로세싱 시스템(310)은 인코더 네트워크들과 같이, 잠재 벡터 에 대한 경계들의 함수로서 디코더 네트워크의 출력에 대한 경계들을 제공한다.
또한, 프로세싱 시스템(310)은 조건부 로그 가능도 를 바운딩하는 문제를 해결한다. 그렇게 하기 위해, 프로세싱 시스템(310)은 에서 대각 공분산 을 고정한다. 따라서 프로세싱 시스템(310)은 를 바운딩하는 문제에 대한 조건부 로그 가능도를 바운딩하는 문제를 감소시킨다. 식들 11 내지 12를 풀면, 프로세싱 시스템(310)은 이 함수를 다음을 통해 바운딩하도록 구성되며,
단계(410)에서, 프로세싱 시스템(310)은 손실 함수로서 작용하는, ELBO L에 대한 적어도 하나의 경계를 생성함으로써 강인성 인증서를 생성하도록 구성된다. 보다 구체적으로, 프로세싱 시스템(310)은 ELBO에 대한 하한 데이터를 생성하도록 구성된다. 예를 들어, 프로세싱 시스템(310)은 인코더 네트워크 및 디코더 네트워크에 대한 상한 및 하한과, ELBO가 KL 발산의 네거티브를 고려할 때, 조건부 로그 가능도에 대한 연관된 하한들 및 KL 발산에 대한 상한을 조합함으로써, 다음의 하한으로부터 하한 데이터를 획득한다:
여기서 인코더 네트워크들에 대한 상한 및 하한이 전파되며, 재파라미터화 기법은 다음과 같다:
ELBO에 대한 결과의 하한은 섭동에 대한 강인성 인증서로서 작동하는, 섭동된 샘플 의 로그 가능도를 더 낮게 바운딩한다. 이는 인코더에 공급된 입력 인터벌 경계들이 및 인 인 경우(반경 의 에 중심이 있는 공), 이것이 모든 에 대해 임을 보장함을 의미한다:
방법(400)은 하한을 최적화함으로써 VAE를 훈련하는 것을 포함한다. 예를 들어, 프로세싱 시스템(310)은 을 직접 최적화하는 대신, 강인성 인증서를 최적화하는 것에 대응하는, 의 하한을 최적화함으로써 입증가능하게 강인한 딥 생성 모델을 훈련한다.
단계(414)에서, 프로세싱 시스템(310)은 ELBO의 하한을 최적화하기 위해 인코더 네트워크 및 디코더 네트워크를 업데이트하도록 구성된다. 예를 들어, 프로세싱 시스템(310)은 VAE의 파라미터들을 업데이트하고 직접적으로 ELBO L의 하한을 최대화하도록 동작가능하다. 이 경우, 파라미터들(즉,)은 VAE 의 인코더 및 디코더 네트워크들과 연관되는, 적어도 내부 가중치들을 포함한다.
단계(416)에서, 프로세싱 시스템(310)은 적어도 제1 인코더 네트워크 , 제2 인코더 네트워크 , 및 디코더 네트워크 를 포함하는, 강인하게 훈련된 네트워크들을 출력하도록 구성된다. 프로세싱 시스템(310)이 강인하게 훈련된 네트워크들을 출력하면, 프로세싱 시스템(310)은 사용을 위해 PROVAE(200A)를 전개하거나 송신하도록 구성된다. 예를 들어, 강인하게 훈련되면, PROVAE(202)는 도 1a의 시스템(100) 또는 임의의 적절한 애플리케이션에서 전개가능 및/또는 이에 의해 채용가능하다.
또한, 방법(400)은 도 4에 나타낸 단계들에 제한되는 것이 아니라, 방법(400)이 유사하거나 실질적으로 유사한 기능들, 효과들, 및/또는 결과들을 제공하면 다양한 수정들을 포함할 수 있다. 이와 관련하여, 수정의 예로서, IBP 대신, 방법(400)은 단계들(404, 406, 및 410)에서 다른 경계 전파 기법들을 포함하도록 구성된다. 이러한 다른 경계 전파 기법들은 더 엄격한 경계들을 제공할 수도 있지만, IBP에 의해 제공되는 것보다 더 복잡한 비용이 든다. 수정의 다른 예로서, 방법(400)은 단계들(408, 410, 및 412)을 1회 초과(예를 들어, 설정된 횟수) 수행하고 그 세트에 대한 결과들을 평균화하는 것을 포함한다. 부가적으로 또는 대안으로, 방법(400)은 를 해결하기 위해 몬테카를로 적분(Monte Carlo integration)을 구현하는 것을 포함한다. 수정의 또 다른 예로서, 방법(400)은 분류기를 통해 생성 모델의 출력을 분류하는 것을 더 포함하여 새로운 강인성 인증서가 로그 가능도에서 감소의 바운딩을 실시할 뿐만 아니라, 분류 출력이 노이즈나 적대적 공격에 의해 변경되지 않게 됨을 보장하는 잘못분류된 샘플들에 대한 패널티를 포괄하도록 한다.
도 5a, 도 5b, 도 5c, 및 도 5d는 예시의 실시예에 따른 입력 데이터의 비제한적인 예들을 도시한다. 입력 데이터의 이러한 예들은 수정된 국립 표준 기술 연구소 데이터베이스(Modified National Institute of Standards and Technology database)("MNIST database")에서 취해진 샘플 이미지들(예를 들어, 핸드라이팅된 숫자들의 이미지들)을 포함한다. 보다 구체적으로, 도 5a는 섭동되지 않고 섭동 데이터를 포함하지 않는 이미지 데이터(500)를 포함하는, 입력 데이터의 섭동되지 않은 샘플을 도시한다. 대조적으로, 도 5b 내지 도 5d는 섭동 데이터에 의해 섭동된 동일한 이미지 데이터(500)를 포함하는, 입력 데이터의 적대적 예들을 도시한다. 예를 들어, 도 5b는 PROVAE 에 대한 PGD(projected gradient descent) 공격과 함께 이미지 데이터(500)(도 5a)를 포함하는, 적대적 예(502)를 도시한다. 한편, 도 5c는 PROVAE(200A)에 대한 의 PGD 공격으로 이미지 데이터(500)(도 5a)를 포함하는, 적대적 예(504)를 도시한다. 도 5d는 PROVAE(200A)에 대한 의 PGD 공격으로 이미지 데이터(500)(도 5a)를 포함하는, 적대적 예(506)를 도시한다.
예시의 평가들에서, VAE 및 PROVAE(200A)는 이미지 데이터(500)의 섭동되지 않은 샘플들에 기초하여 평가된다. 이미지 데이터(500)의 이런 섭동되지 않은 샘플이 VAE에 대한 입력 데이터로 제시될 때, 그 후 손실은 L = -28.28로서 표현된다. 비교로서, 예를 들어 이미지 데이터(500)의 섭동되지 않은 샘플이 인 PROVAE(200A)에 대한 입력 데이터로 제시될 때, 그 후 손실은 L = -31.10로 표현된다. 다른 비교로서, 예를 들어 이미지 데이터(500)의 섭동되지 않은 샘플이 인 PROVAE(200A)에 대한 입력 데이터로 제시될 때, 그 후 손실은 L = -41.31로 표현된다. 이러한 평가들에 의해 실증된 바와 같이, VAE와 PROVAE(200A) 사이에서 성능의 현저한 차이가 없다. 더욱이, 손실 값들에 의해 실증된 바와 같이, VAE 및 PROVAE(200A)는 이미지 데이터(500)를 분포 내 데이터이고 핸드라이팅된 숫자들의 범위 내에 있는 것으로 정확하게 식별하고 프로세싱하도록 동작가능하다.
다른 예의 평가들에서, VAE 및 PROVAE(200A)는 이미지 데이터(500)(도 5a) 가 섭동 데이터에 의해 섭동되는 입력 데이터의 섭동된 샘플들에 기초하여 평가된다. 이와 관련하여, 공격된 데이터의 이러한 적대적 예들에 대하여 VAE를 PROVAE(200A)와 비교하는 경우, 그 후 PROVAE(200A)의 장점들이 VAE와 비교될 때 강조된다. 보다 구체적으로, 적대적 예(502)가 VAE에 대한 입력 데이터로 제시될 때, 그 후 손실은 L = -113.97로 표현된다. 즉, 이 경우, L = -113.97이기 때문에, VAE는 이러한 적대적 예(502)가 핸드라이팅된 숫자들의 이미지 데이터(500)를 포함하더라도 섭동 데이터의 공격으로 인해 분포 외 데이터(예를 들어, 핸드라이팅된 숫자들의 범위 내에 있지 않음)인 것으로 이러한 적대적 예(502)를 부정확하게 해석한다. 대조적으로, 적대적 예(504)가 인 PROVAE(200A)에 대한 입력 데이터로서 제시될 때, 그 후 손실은 L = -59.08로 표현되며, 이에 의해 PROVAE(200A)는 이 적대적 예(504)를 분포 내 데이터(예를 들어, 핸드라이팅된 숫자들의 범위 내)로 올바르게 식별하고 프로세싱함으로써, VAE와 비교하여 강인성을 나타낸다. 다른 비교로서, 적대적 예(506)가 인 PROVAE 에 대한 입력 데이터로서 제시될 때, 그 후 손실은 L = -50.06로 표현되며, 이에 의해 PROVAE(200A)는 이 적대적 예(504)를 분포 내 데이터(예를 들어, 핸드라이팅된 숫자들의 범위 내)로 정확하게 식별하고 프로세싱함으로써, VAE와 비교하여 강인성을 나타낸다. 더욱이, PROVAE(200A)의 이익들은 또한 VAE 와 PROVAE(200A)의 비교들을 포함하는 도 6a 및 도 6b에 도시되어 있다.
도 6a 및 도 6b는 의 상이한 값들로 훈련된 분류기들에 대해, ELBO L로 나타낸 바와 같이, 손실에 대한 적대적 공격들(예를 들어, 에 대해 반경 의 공에서의 PGD 공격)의 효과들의 그래프 표현들로 그래프들을 도시한다. 도 6a는 제1 데이터세트(예를 들어, MNIST 데이터베이스로부터의 샘플 이미지들)에 기초한 그래프(600)를 도시하는 반면, 도 6b는 제2 데이터세트(예를 들어, CIFAR10(Canadian Institute For Advanced Research) 데이터베이스로부터의 샘플 이미지들)에 기초한 그래프(610)를 도시한다. 도 6a에서, VAE 표현(602)은 제1 데이터세트에 기초하여 = 0에 대응한다. 도 6b에서, VAE 표현(612)은 제2 데이터세트에 기초하여 = 0에 대응한다. VAE 표현들(602 및 612) 각각은 강인하지 않은 분류기에 대한 손실 L의 빠른 감쇠와 입증가능하게 강인한 분류기를 훈련하는 것이 = 0인 섭동되지 않은 데이터에 대해 L의 더 낮은 값을 희생시키면서 이 감쇠를 어떻게 완화하는지를 명확하게 도시한다. 또한, 비교를 위해, 도 6a 및 도 6b는 제1 데이터세트 및 제2 데이터세트에 기초하여 표현들(604 및 614)을 각각 도시한다. 또한, 비교를 위해, 도 6a 및 도 6b는 제1 데이터세트 및 제2 데이터세트에 기초하여 표현들(606 및 616)을 각각 도시한다. 따라서, 도 6a 및 도 6b에 나타낸 바와 같이, proVAE 표현들(604, 606, 614, 및 616)의 각각은 VAE 표현들(602 및 612)과 비교하여 를 증가시키기 위해 더 잘 수행한다.
본 명세서에 설명된 바와 같이, 실시예들은 다수의 유리한 특징들 및 이익들을 포함한다. 예를 들어, 실시예들은 가능도들의 가변 하한들(즉, ELBO)에 대한 강인한 하한들을 정의하는 것에 기초하는, 입증가능하게 강인한 생성 모델들을 훈련 및 생성하며 입증가능하게 강인한 생성 모델들에 대한 이러한 하한들을 최적화하는 것에 관한 것이다. 이러한 실시예들은 생성 모델들의 도메인에서 적대적 공격들, 즉 분포 외 공격들에 대한 입증가능한 방어를 도입하며, 여기서 모델의 분포 내의 샘플은 그 가능도를 낮추기 위해 섭동된다.
또한, 도 6a 및 도 6b는 이러한 입증가능한 방어의 효율성을 확인하고 모델 강인성과 연관된 다른 트레이드-오프들을 도입한다. 예를 들어, 도 6a 및 도 6b는 PROVAE(200A)가 도 4의 훈련 프로세스를 통해 강인하게 훈련되지 않은, VAE들과 비교하여(예를 들어, 이 증가함에 따라 의 더 높은 값들에서 더 높은 로그 가능도를 나타냄으로써) 적대적 공격들에 대해 우수한 방어들을 제공함을 나타낸다. 더욱이, 본 개시에서의 교시들은 분포 내 공격들에 대한 방어들을 생성하는 것과 관련되는 개선의 방향들로 확장가능하며, 여기서 적대적 공격들은 분포 외 샘플 을 이것이 분포 로부터 나오는 것처럼 보여지게 하도록 섭동할 수 있다.
또한, 실시예들은 적대적 공격들에 대한 머신 러닝 시스템들(예를 들어, 딥 생성 모델들)의 취약성과 연관된 기술적 문제들에 대한 기술적 솔루션들을 제공하는데 유리하다. 이러한 적대적 공격들은 입력 데이터에 감지할 수 없는 변화들을 야기하는 것으로 알려져 있으며, 이는 가능도 함수들에서 급격한 변화들로 이어짐으로써, 부정확한 출력 데이터를 제공할 수도 있다. 이러한 기술적 논쟁을 해결하는데 있어서, 본 명세서에 개시된 바와 같은 실시예들은, 머신 러닝 시스템들의 입력들에 대한 이러한 작은 변화들(예를 들어, 섭동들)이 머신 러닝 시스템들의 가능도 함수들에서 급격한 변화들을 야기하지 않는 입증가능하게 강인한 생성 모델들을 제공한다. 따라서, 위에 논의된 바와 같이, 본 명세서에 설명된 실시예들은 적대적 공격들에 대한 방어 솔루션들을 생성 모델들에 제공하는데 유리하다.
즉, 위의 설명은 예시적인 것이며 제한적이지 않은 것으로 의도되고, 특정 애플리케이션 및 그 요건들의 맥락에서 제공된다. 관련 기술 분야의 통상의 기술자들은 본 발명이 다양한 형태들로 구현될 수도 있고, 다양한 실시예들은 단독으로 또는 조합으로 구현될 수도 있음을 전술한 설명으로부터 이해할 수 있다. 따라서, 본 발명의 실시예들은 그 특정 예들과 관련하여 설명되었지만, 본 명세서에 정의된 일반적인 원리들은 설명된 실시예들의 사상 및 범위로부터 벗어나지 않으면서 다른 실시예들 및 애플리케이션들에 적용될 수도 있으며, 도면들, 명세서들, 및 다음의 청구항들을 연구하면 다양한 수정들이 숙련된 실무자에게 자명할 것이기 때문에, 본 발명의 방법들 및/또는 실시예들의 진정한 범위는 나타내고 설명된 실시예들에 제한되지 않는다. 예를 들어, 컴포넌트들 및 기능들은 다양한 설명된 실시예들의 방식과는 상이하게 분리되거나 조합될 수도 있고, 상이한 용어들을 사용하여 설명될 수도 있다. 이들 및 다른 변형들, 수정들, 부가들 및 개선들은 후속하는 청구항들에서 정의된 바와 같은 본 개시의 범위 내에 있을 수도 있다.
Claims (20)
- 섭동들에 강인하도록 머신 러닝 시스템을 훈련하기 위한 컴퓨터에 의해 구현되는 방법으로서,
허용가능한 섭동들의 표준 공(norm ball)의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하는 단계;
상기 입력 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계;
인코더 네트워크의 제1 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터를 생성하는 단계;
상기 인코더 네트워크의 제2 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제2 바운딩 데이터를 생성하는 단계;
상기 제1 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관된 제3 바운딩 데이터를 생성하는 단계;
디코더 네트워크의 출력 상에서 상기 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계;
상기 제1 바운딩 데이터, 상기 제2 바운딩 데이터, 상기 제3 바운딩 데이터 및 상기 제4 바운딩 데이터에 기초하여 증거 하한(evidence lower bound)(ELBO)의 하한을 생성함으로써 상기 입력 데이터에 대하여 강인성 인증서(robustness certificate)를 확립하는 단계; 및
상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 상기 머신 러닝 시스템이 상기 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 상기 강인성 인증서에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계
를 포함하는, 컴퓨터에 의해 구현되는 방법. - 제1항에 있어서,
상기 ELBO는 조건부 로그 가능도 함수(conditional log-likelihood function)를 포함하고,
상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는 상기 ELBO의 하한을 최적화하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법. - 제1항에 있어서,
상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는,
상기 ELBO의 하한을 최대화하기 위해 상기 ELBO의 하한에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크의 파라미터들을 업데이트하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법. - 제1항에 있어서,
상기 머신 러닝 시스템은 상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 가변 오토인코더를 포함하고;
상기 잠재 변수는 상기 가변 오토인코더와 연관되는, 컴퓨터에 의해 구현되는 방법. - 제1항에 있어서,
상기 인코더 네트워크는 상기 인코더 네트워크의 제1 출력을 생성하기 위한 제1 인코딩 컴포넌트 및 상기 인코더 네트워크의 제2 출력을 생성하기 위한 제2 인코딩 컴포넌트를 포함하고;
상기 제1 바운딩 데이터를 생성하는 단계는 상기 제1 인코딩 컴포넌트의 제1 상한 데이터 및 제1 하한 데이터를 생성하는 단계를 포함하고;
상기 제2 바운딩 데이터를 생성하는 단계는 상기 제2 인코딩 컴포넌트의 제2 상한 데이터 및 제2 하한 데이터를 생성하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법. - 제1항에 있어서,
상기 입력 바운딩 데이터는 상기 입력 데이터의 상한 데이터 및 하한 데이터를 포함하고;
상기 제1 바운딩 데이터는 상기 인코더 네트워크의 제1 인코딩 컴포넌트의 상기 제1 출력의 제1 상한 데이터 및 제1 하한 데이터를 포함하고;
상기 제2 바운딩 데이터는 상기 인코더 네트워크의 제2 인코딩 컴포넌트의 상기 제2 출력의 제2 상한 데이터 및 제2 하한 데이터를 포함하고;
상기 제3 바운딩 데이터는 상기 잠재 변수와 연관된 제3 상한 데이터 및 제3 하한 데이터를 포함하며;
상기 제4 바운딩 데이터는 상기 디코더 네트워크의 출력의 제4 상한 데이터 및 제4 하한 데이터를 포함하는, 컴퓨터에 의해 구현되는 방법. - 시스템으로서,
액츄에이터;
적어도 하나의 센서를 포함하는 센서 시스템;
머신 러닝 시스템의 손실 함수를 더 낮게 바운딩하는 강인성 인증서에 기초하여 훈련되는 인코더 네트워크 및 디코더 네트워크를 갖는 머신 러닝 시스템을 저장하는 비일시적 컴퓨터 판독가능 매체; 및
상기 센서 시스템 및 상기 머신 러닝 시스템과의 통신들에 기초하여 상기 액츄에이터를 제어하는 제어 시스템
을 포함하고, 상기 제어 시스템은 적어도 하나의 전자 프로세서를 포함하고, 상기 적어도 하나의 전자 프로세서는:
상기 센서 시스템으로부터의 센서 데이터 및 상기 센서 데이터가 섭동 데이터에 의해 섭동되는 교란으로부터의 상기 섭동 데이터를 포함하는 입력 데이터를 획득하고;
상기 머신 러닝 시스템을 통해 상기 입력 데이터를 프로세싱하며;
상기 머신 러닝 시스템을 통해 출력 데이터를 생성하도록 - 상기 출력 데이터는 상기 센서 데이터의 재구성이고, 상기 출력 데이터는 상기 섭동 데이터에 의해 섭동되지 않는 가능도와 연관됨 -
동작가능하고;
상기 센서 데이터 및 상기 출력 데이터는 상기 머신 러닝 시스템과 연관된 모델 분포에 대응하는 분포 내 데이터이고;
상기 머신 러닝 시스템은, 상기 머신 러닝 시스템이 상기 모델 분포 외부에 있는 분포 외 데이터인 것으로서 상기 입력 데이터를 식별하고 프로세싱하도록 상기 섭동 데이터가 구축되더라도, 상기 입력 데이터를 상기 분포 내 데이터의 범위 내에 있는 것으로 식별하고 프로세싱하는, 시스템. - 제8항에 있어서,
상기 제어 시스템은 상기 출력 데이터를 분류하면 분류 데이터를 생성하도록 동작가능하고;
상기 제어 시스템은 상기 분류 데이터에 기초하여 상기 액츄에이터에 제어 데이터를 생성하도록 동작가능하며;
상기 액츄에이터는 상기 제어 데이터에 응답하여 액션을 수행하는, 시스템. - 제8항에 있어서,
상기 머신 러닝 시스템은 섭동들에 강인하도록 훈련되고 상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 가변 오토인코더를 포함하는, 시스템. - 제10항에 있어서,
상기 제어 시스템과의 통신들 이전에, 상기 가변 오토인코더는 훈련 프로세스에 의해 훈련되고, 상기 훈련 프로세스는:
훈련 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계 - 상기 훈련 데이터는 허용가능한 섭동들의 표준 공의 반경 및 다른 센서 데이터를 포함함 -;
인코더 네트워크의 제1 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터를 생성하는 단계;
상기 인코더 네트워크의 제2 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제2 바운딩 데이터를 생성하는 단계;
상기 제1 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관된 제3 바운딩 데이터를 생성하는 단계;
상기 디코더 네트워크의 출력 상에서 상기 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계;
상기 제1 바운딩 데이터, 상기 제2 바운딩 데이터, 상기 제3 바운딩 데이터 및 상기 제4 바운딩 데이터에 기초하여 증거 하한(ELBO)의 하한을 생성함으로써 상기 훈련 데이터에 대하여 상기 강인성 인증서를 확립하는 단계; 및
상기 머신 러닝 시스템이 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 상기 강인성 인증서에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계
를 포함하는, 시스템. - 제11항에 있어서,
상기 머신 러닝 시스템은, 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계가:
상기 ELBO의 하한을 최대화하기 위해 상기 ELBO의 하한에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크의 파라미터들을 업데이트하는 단계를 포함하도록 훈련되는, 시스템. - 제11항에 있어서,
상기 입력 바운딩 데이터는 상기 훈련 데이터의 상한 데이터 및 하한 데이터를 포함하고;
상기 제1 바운딩 데이터는 상기 인코더 네트워크의 제1 인코딩 컴포넌트의 출력의 제1 상한 데이터 및 제1 하한 데이터를 포함하고;
상기 제2 바운딩 데이터는 상기 인코더 네트워크의 제2 인코딩 컴포넌트의 출력의 제2 상한 데이터 및 제2 하한 데이터를 포함하고;
상기 제3 바운딩 데이터는 상기 잠재 변수와 연관된 제3 상한 데이터 및 제3 하한 데이터를 포함하며;
상기 제4 바운딩 데이터는 상기 디코더 네트워크의 출력의 제4 상한 데이터 및 제4 하한 데이터를 포함하는, 시스템. - 전자 프로세서에 의해 실행될 때, 섭동들에 강인하도록 머신 러닝 시스템을 훈련하기 위한 방법을 구현하도록 동작가능한, 적어도 컴퓨터 판독가능 데이터를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 방법은:
허용가능한 섭동들의 표준 공의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하는 단계;
상기 입력 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계;
인코더 네트워크의 제1 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터를 생성하는 단계;
상기 인코더 네트워크의 제2 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제2 바운딩 데이터를 생성하는 단계;
상기 제1 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관된 제3 바운딩 데이터를 생성하는 단계;
디코더 네트워크의 출력 상에서 상기 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계;
상기 제1 바운딩 데이터, 상기 제2 바운딩 데이터, 상기 제3 바운딩 데이터 및 상기 제4 바운딩 데이터에 기초하여 증거 하한(ELBO)의 하한을 생성함으로써 상기 입력 데이터에 대하여 강인성 인증서를 확립하는 단계; 및
상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 상기 머신 러닝 시스템이 상기 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 상기 강인성 인증서에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계
를 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제15항에 있어서,
상기 ELBO는 조건부 로그 가능도 함수를 포함하고,
상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는 상기 ELBO의 하한을 최적화하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제15항에 있어서,
상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는,
상기 ELBO의 하한을 최대화하기 위해 상기 ELBO의 하한에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크의 파라미터들을 업데이트하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제15항에 있어서,
상기 머신 러닝 시스템은 상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 가변 오토인코더를 포함하고;
상기 잠재 변수는 상기 가변 오토인코더와 연관되는, 비일시적 컴퓨터 판독가능 매체. - 제15항에 있어서,
상기 인코더 네트워크는 제1 인코딩 컴포넌트 및 제2 인코딩 컴포넌트를 포함하고;
상기 제1 바운딩 데이터를 생성하는 단계는 상기 제1 인코딩 컴포넌트의 제1 출력의 제1 상한 데이터 및 제1 하한 데이터를 생성하는 단계를 포함하고;
상기 제2 바운딩 데이터를 생성하는 단계는 상기 제2 인코딩 컴포넌트의 제2 출력의 제2 상한 데이터 및 제2 하한 데이터를 생성하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/665,110 US11657290B2 (en) | 2019-10-28 | 2019-10-28 | System and method with a robust deep generative model |
US16/665,110 | 2019-10-28 | ||
PCT/EP2020/079457 WO2021083731A1 (en) | 2019-10-28 | 2020-10-20 | System and method with a robust deep generative model |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220083833A true KR20220083833A (ko) | 2022-06-20 |
Family
ID=73020178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227017666A KR20220083833A (ko) | 2019-10-28 | 2020-10-20 | 강인한 딥 생성 모델을 갖는 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11657290B2 (ko) |
JP (1) | JP7295338B2 (ko) |
KR (1) | KR20220083833A (ko) |
CN (1) | CN114586046A (ko) |
DE (1) | DE112020003343T5 (ko) |
WO (1) | WO2021083731A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201718756D0 (en) * | 2017-11-13 | 2017-12-27 | Cambridge Bio-Augmentation Systems Ltd | Neural interface |
US10846407B1 (en) * | 2020-02-11 | 2020-11-24 | Calypso Ai Corp | Machine learning model robustness characterization |
US11978258B2 (en) | 2021-04-06 | 2024-05-07 | Nvidia Corporation | Techniques for identification of out-of-distribution input data in neural networks |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150096057A1 (en) * | 2013-09-30 | 2015-04-02 | Sonic Ip, Inc. | Device Robustness Framework |
EP3234870A1 (en) | 2014-12-19 | 2017-10-25 | United Technologies Corporation | Sensor data fusion for prognostics and health monitoring |
US20160364553A1 (en) * | 2015-06-09 | 2016-12-15 | Intel Corporation | System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network |
US10270591B2 (en) * | 2015-06-30 | 2019-04-23 | Activevideo Networks, Inc. | Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients |
US20200004933A1 (en) * | 2015-07-10 | 2020-01-02 | Inside Secure | Method and apparatus for a blackbox programming system permitting downloadable applications and multiple security profiles providing hardware separation of services in hardware constrained devices |
US10410113B2 (en) | 2016-01-14 | 2019-09-10 | Preferred Networks, Inc. | Time series data adaptation and sensor fusion systems, methods, and apparatus |
US10417245B2 (en) * | 2017-02-10 | 2019-09-17 | Johnson Controls Technology Company | Building management system with eventseries processing |
US11468297B2 (en) | 2017-10-26 | 2022-10-11 | Uber Technologies, Inc. | Unit-level uncertainty and propagation |
US10324467B1 (en) * | 2017-12-29 | 2019-06-18 | Apex Artificial Intelligence Industries, Inc. | Controller systems and methods of limiting the operation of neural networks to be within one or more conditions |
US10676085B2 (en) * | 2018-04-11 | 2020-06-09 | Aurora Innovation, Inc. | Training machine learning model based on training instances with: training instance input based on autonomous vehicle sensor data, and training instance output based on additional vehicle sensor data |
US11204921B2 (en) * | 2018-06-01 | 2021-12-21 | Sap Se | Robustness metrics for optimization of query execution plans |
WO2020140049A1 (en) * | 2018-12-28 | 2020-07-02 | Nvidia Corporation | Distance to obstacle detection in autonomous machine applications |
US11625487B2 (en) * | 2019-01-24 | 2023-04-11 | International Business Machines Corporation | Framework for certifying a lower bound on a robustness level of convolutional neural networks |
US11164085B2 (en) * | 2019-04-25 | 2021-11-02 | Booz Allen Hamilton Inc. | System and method for training a neural network system |
US11499812B2 (en) * | 2019-07-01 | 2022-11-15 | Pony Ai Inc. | Systems and methods for using piezoelectric sensors to detect alignment anomaly |
US11605028B2 (en) * | 2019-08-26 | 2023-03-14 | International Business Machines Corporation | Methods and systems for sequential model inference |
US11374952B1 (en) * | 2019-09-27 | 2022-06-28 | Amazon Technologies, Inc. | Detecting anomalous events using autoencoders |
-
2019
- 2019-10-28 US US16/665,110 patent/US11657290B2/en active Active
-
2020
- 2020-10-20 DE DE112020003343.0T patent/DE112020003343T5/de active Pending
- 2020-10-20 CN CN202080075163.XA patent/CN114586046A/zh active Pending
- 2020-10-20 WO PCT/EP2020/079457 patent/WO2021083731A1/en active Application Filing
- 2020-10-20 JP JP2022525134A patent/JP7295338B2/ja active Active
- 2020-10-20 KR KR1020227017666A patent/KR20220083833A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
CN114586046A (zh) | 2022-06-03 |
JP2023501198A (ja) | 2023-01-18 |
US20210125107A1 (en) | 2021-04-29 |
DE112020003343T5 (de) | 2022-04-14 |
US11657290B2 (en) | 2023-05-23 |
JP7295338B2 (ja) | 2023-06-20 |
WO2021083731A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220083833A (ko) | 강인한 딥 생성 모델을 갖는 시스템 및 방법 | |
US20170124433A1 (en) | Unsupervised matching in fine-grained datasets for single-view object reconstruction | |
US20190164057A1 (en) | Mapping and quantification of influence of neural network features for explainable artificial intelligence | |
US20180157892A1 (en) | Eye detection method and apparatus | |
EP3836029A1 (en) | Apparatus and method with neural network implementation of domain adaptation | |
US11526755B2 (en) | Training more secure neural networks by using local linearity regularization | |
Khalid et al. | TrISec: training data-unaware imperceptible security attacks on deep neural networks | |
Behzadan et al. | Mitigation of policy manipulation attacks on deep q-networks with parameter-space noise | |
EP3916597B1 (en) | Detecting malware with deep generative models | |
CN113792289B (zh) | 一种后门攻击的防御方法和系统 | |
CN113962399A (zh) | 用于机器学习中学习扰动集的方法和系统 | |
KR20220058189A (ko) | 뉴럴 네트워크를 이용한 분류 방법 및 장치 | |
JP2023118101A (ja) | 機械学習システムに対する敵対的パッチを特定するための装置及び方法 | |
US20220101116A1 (en) | Method and system for probably robust classification with detection of adversarial examples | |
JP7386462B2 (ja) | 演算装置および学習済みモデル | |
US11657282B2 (en) | Efficient inferencing with fast pointwise convolution | |
US20230298315A1 (en) | System and method for improving robustness of pretrained systems in deep neural networks utilizing randomization and sample rejection | |
US20230100132A1 (en) | System and method for estimating perturbation norm for the spectrum of robustness | |
US20230401734A1 (en) | Method and apparatus for estimating depth of image | |
CN112396069B (zh) | 基于联合学习的语义边缘检测方法、装置、系统及介质 | |
US20230107463A1 (en) | Method and system for probably robust classification with multiclass enabled detection of adversarial examples | |
US20240160915A1 (en) | Explainable deep interpolation | |
US20220230416A1 (en) | Training of machine learning systems for image processing | |
US20230297823A1 (en) | Method and system for training a neural network for improving adversarial robustness | |
EP4338099A1 (en) | Adversarial attacks on perception components |