KR20220083833A - 강인한 딥 생성 모델을 갖는 시스템 및 방법 - Google Patents

강인한 딥 생성 모델을 갖는 시스템 및 방법 Download PDF

Info

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
Application number
KR1020227017666A
Other languages
English (en)
Inventor
제레미 지그 콜터
필립 카브리타 콘데사
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20220083833A publication Critical patent/KR20220083833A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • G06N3/0472
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements 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

머신 러닝 시스템은 인코더 및 디코더 네트워크들을 포함한다. 머신 러닝 시스템은 허용가능한 섭동들의
Figure pct00200
표준 공의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하도록 구성된다. 입력 바운딩 데이터는 입력 데이터에 기초하여 생성된다. 제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 데이터세트에 대한 적대적 공격 효과들의 표현들로 그래프를 도시한다.
예로서 나타내고 설명된 본 명세서에 기재된 실시예들 및 이들의 많은 이점들은 전술한 설명에 의해 이해될 것이며, 개시된 청구물을 벗어나지 않으면서 또는 그 이점들 중 하나 이상을 희생하지 않으면서 컴포넌트들의 형태, 구성 및 배열에서 다양한 변경들이 이루어질 수 있음이 명백할 것이다. 실제로, 이들 실시예들의 설명된 형태들은 단지 설명을 위한 것이다. 이들 실시예들은 다양한 수정들 및 대안의 형태들이 가능하며, 다음의 청구항들은 이러한 변경들을 포괄하고 포함하도록 의도되며 개시된 특정 형태들로 제한되지 않고, 오히려 본 개시의 사상 및 범위에 속하는 모든 수정들, 등가물들 및 대안들을 커버한다.
본 명세서에 설명된 바와 같이, 실시예들은 생성 모델들의 맥락에서 입증가능하게 강인한 훈련들의 애플리케이션들에 관련된다. 보다 구체적으로, 실시예들은 감독된 분류 태스크들보다는 감독되지 않은 생성 모델들의 맥락에서 손실 함수들와 관련하여 입증가능한 경계들을 구성한다. 예시의 실시예에서, 예를 들어 입증가능하게 강인한 훈련은 가변 오토-인코더(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)는 생성 모델과 연관되는,
Figure pct00001
의 분포로부터 선택되거나 취해지는 입력 데이터를 지칭한다. 이러한 특징은 입증가능하게 강인한 생성 모델이 훈련 프로세스(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)는 뉴럴 네트워크 데이터(예를 들어, 다양한 계층들, 파라미터 데이터,
Figure pct00002
데이터 등)를 포함하며, 이들은 그의 훈련 및/또는 동작과 연관된다. 훈련 프로세스(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의 일부 컴포넌트들(예를 들어,
Figure pct00003
등)의 매핑뿐만 아니라 다른 관련 데이터(304A)의 일부 표현들을 도시한다. 또한, 도 3b는 센서 데이터
Figure pct00004
(예를 들어, 핸드라이팅된 숫자 '4' 를 갖는 입력 이미지(304B))의 예 및 센서 데이터의 재구성인 출력 데이터
Figure pct00005
(예를 들어, 재구성된 핸드라이팅된 숫자 '4'를 갖는 출력 이미지(304C))의 예를 도시한다. 입력 이미지(304B) 및 출력 이미지(304C) 양자 모두 분포 내 데이터(또는 "핸드라이팅된 숫자들" 의 분포 내)로서 식별된다.
대체적으로, VAE는 프로세싱 시스템(310)이 적대적 설정에서 추가로 바운딩하도록 구성되는, 로그 가능도에 대한 경계에 기초하여 훈련된다. VAE는 잠재 변수
Figure pct00006
에 관하여 확률
Figure pct00007
을 표현하는, 이른바 증거 하한(ELBO)
Figure pct00008
에 기초하여 훈련되고, 그 후 다음과 같이 가능도를 바운딩하며,
Figure pct00009
여기서
Figure pct00010
는, 뒤쪽의
Figure pct00011
(이 경우 경계가 엄격함)를 근사화하려고 시도하지만, 보다 다루기 쉬운 분포 클래스를 통해 그렇게 행하는, 이른바 가변 분포이다. VAE 설정에서, 프로세싱 시스템(310)은 다음을 선택한다.
Figure pct00012
여기서
Figure pct00013
Figure pct00014
는 입력
Figure pct00015
로부터 정규 분포
Figure pct00016
의 평균과 분산을 예측하는 인코더 네트워크이며,
Figure pct00017
는 잠재 벡터
Figure pct00018
가 주어지면 입력 공간에서 샘플을 생성하는 디코더 네트워크이다.
이러한 가정들 하에서, ELBO는 다음의 명시적 형태를 갖는다:
Figure pct00019
여기서
Figure pct00020
는 상수이다. 대체적으로, 인코더 및 디코더 네트워크들은 다음의 식으로 표현되는 하한을 최대화하도록 공동으로 훈련되며:
Figure pct00021
예를 들어, 확률적 구배 하강법을 사용하면, 프로세싱 시스템(310)이 샘플링 절차
Figure pct00022
를 등가 프로세스
Figure pct00023
Figure pct00024
로 대체하여 샘플을 도출하고 이른바 재파라미터화 기법을 통해 평균 및 분산 항들이 역전파될 수 있음을 보장한다.
도 4는 예시의 실시예에 따른 입증가능하게 강인한 생성 모델(예를 들어, PROVAE(200A))을 생성하기 위한 훈련 프로세스(204)의 방법(400)의 흐름도을 도시한다. 이 방법(400)은 딥 생성 모델들에 대한 분산 외 공격들에 대한 강인한 방어를 공식화하는 기술적 문제에 대한 솔루션을 제공한다. 방법(400)은 허용가능한 섭동들에 대한 ELBO를 더 낮게 바운딩하는 입증가능한 강인한 딥 생성 모델(예를 들어, PROVAE(200A))을 획득함으로써 그러한 방어를 달성한다. 보다 구체적으로, 방법(400)은 허용가능한 섭동들의 세트로서
Figure pct00025
를, 그리고
Figure pct00026
를 중심으로 반경
Figure pct00027
의 공으로서
Figure pct00028
를 식별한다. 본 개시에서는, 표기의 가벼움을 위해, 이들 항들
Figure pct00029
Figure pct00030
는 상호교환가능하게 사용된다.
프로세싱 시스템(310)은
Figure pct00031
로서 모든 가능한 섭동들
Figure pct00032
에 대해 ELBO에 대한 하한을 획득하도록 구성된다. 이 하한은 ELBO의 강인성의 인증서를 제공한다.
Figure pct00033
에서의 임의의 가능한 섭동의 ELBO에 대한 효과는
Figure pct00034
에 의해 더 낮게 바운딩될 것이다. 하한
Figure pct00035
의 최적화는
Figure pct00036
(
Figure pct00037
주위 반경
Figure pct00038
Figure pct00039
공) 내에서 가능한 가장 강력한 분포 외 공격에 강인하도록 네트워크를 효과적으로 훈련한다.
ELBO를 더 낮게 바운딩하기 위해, 프로세싱 시스템(310)은
Figure pct00040
, 및
Figure pct00041
의 계층들 전체에 걸쳐 IBP를 수행하여 프로세싱 시스템(310)이 ELBO에 관하여 입력 공간 상에서 허용가능한 섭동들의 전파에 대한 경계들을 획득한다. 이와 같이 프로세싱 시스템(310)은 섭동된 입력
Figure pct00042
의 Kullback-Leibler(KL) 발산과 섭동된 조건부 로그 가능도
Figure pct00043
의 기대값 양자 모두를 바운딩도록 구성된다. 그렇게 하기 위해, 프로세싱 시스템(310)은 인코더 네트워크들
Figure pct00044
Figure pct00045
에 대한 IBP 와 디코더 네트워크
Figure pct00046
에 대한 IBP를 수행한다.
방법(400)에 대한 예비들로서, 프로세싱 시스템(310)은 인코더 및 디코더 네트워크들의 빌딩 블록들에 대한 하한 및 상한을 전파한다. 대체적으로, 빌딩 블록들은 적어도 선형 및 컨볼루션 계층들과, 단조 요소별(element-wise) 활성화 함수들을 포함한다. 이러한 특징들은 프로세싱 시스템(310)이 딥 뉴럴 네트워크(예를 들어, VAE)의 입력에서 출력까지, 상이한 인터벌 경계들을 순차적으로 연결하는 것을 가능하게 한다. 본 개시에서는, 표기의 편의와 가벼움을 위해,
Figure pct00047
의 상한은
Figure pct00048
로서 표시되고 하한은
Figure pct00049
으로서 표시되며, 이는 다차원 엔티티들을 어드레싱할 때 요소별로 고려된다.
선형 연산자들에 대하여, 프로세싱 시스템(310)은
Figure pct00050
Figure pct00051
에 적용된 선형 연산자
Figure pct00052
로 간주하고,
Figure pct00053
Figure pct00054
의 요소별 상한 및 하한으로 간주한다. 프로세싱 시스템(310)은
Figure pct00055
Figure pct00056
이도록 선형 연산자
Figure pct00057
를 포지티브 및 네거티브 연산자들
Figure pct00058
Figure pct00059
로 분해하며, 여기서 max 및 min은 요소별 최대 및 최소에 대응한다. 그 후 프로세싱 시스템(310)은 선형 연산자의 상한 및 하한을
Figure pct00060
에 적용한다. 보다 구체적으로, 프로세싱 시스템(310)은 선형 성질로 인해, 컨볼루션 계층들 및 선형 계층들에 대해 유지되는, 상한(식 7) 및 하한(식 8)을 적용한다.
Figure pct00061
단조 함수들에 대하여, 프로세싱 시스템(310)은
Figure pct00062
에 대해 요소별 적용된 단조(비감소 또는 비증가) 함수로서
Figure pct00063
를 표시하도록 구성된다. 프로세싱 시스템(310)은 다음과 같이
Figure pct00064
의 상한 및 하한과
Figure pct00065
에 관하여
Figure pct00066
의 상한 및 하한을 표현한다.
Figure pct00067
이러한 경계들은 ReLU 및 시그모이드(sigmoid)와 같은 단조 활성화 함수들에 대해 유지된다.
Figure pct00068
표준 제곱에 대하여, 프로세싱 시스템(310)은
Figure pct00069
의 하한 및 상한에 대한 요소별 종속성이 있음을 인식함으로써
Figure pct00070
Figure pct00071
표준 제곱의 상한 및 하한을 획득하도록 구성된다.
Figure pct00072
이고, 여기서
Figure pct00073
Figure pct00074
의 i 번째 컴포넌트를 표시하기 때문에, 프로세싱 시스템(310)은 다음과 같이
Figure pct00075
Figure pct00076
의 함수로서 개개의 상한 및 하한을 획득한다.
Figure pct00077
예비들이 수행된 후, 프로세싱 시스템(310)은 예를 들어, 적어도 하나의 로그 가능도 함수에 관하여, 최악의 경우의 섭동으로부터 획득된 강인성 인증서를 최적화하기 위해 방법(400)을 구현한다. 방법(400)은 하나 이상의 반복(또는 에포크)을 포함한다. 이 경우, 각각의 반복(또는 에포크)은, 경계 전파를 통해 강인성 인증서를 계산하는 것(예를 들어, 단계들(402-412)), 이 강인성 인증서를 최적화함으로써(예를 들어, 단계(414)), 강인하게 훈련된 인코더 및 디코더 네트워크들(예를 들어, 단계(416))을 제공하는 것을 포함한다. 도 4를 참조하면, 방법(400)은 하기에 설명된 바와 같이, 적어도 다음의 구현을 포함한다.
단계(402)에서, 프로세싱 시스템(310)은 입력 x을 획득하고, 입력 x에 대한 적어도 하나의 경계를 생성하도록 구성된다. 예를 들어, 입력 x는
Figure pct00078
Figure pct00079
이고 여기서
Figure pct00080
인 것과 같은, 훈련 데이터를 포함한다.
Figure pct00081
에 대해, 프로세싱 시스템(310)은 입력
Figure pct00082
에 대한 입력 바운딩 데이터를 생성하도록 구성된다. 입력 바운딩 데이터는 입력
Figure pct00083
에 대한 상한 데이터 및 입력
Figure pct00084
에 대한 하한 데이터를 포함한다.
또한, 제1 인코딩 컴포넌트
Figure pct00085
및 제2 인코딩 컴포넌트
Figure pct00086
가 주어지면, 프로세싱 시스템(310)은 적어도 하나의 마지막 계층이 적어도 하나의 완전히 연결된 선형 계층인 ReLU 활성화들로 일련의 컨볼루션 계층들이 되도록 인코더 네트워크들을 구축한다. 또한, 입력 x로서 섭동들을 필요로 하지 않으면서, 프로세싱 시스템(310)은,
Figure pct00087
로서 섭동 데이터를 정의하고, 다음과 같이 허용가능한 섭동된 입력의 하한 및 상한을 나타냄으로써, 임의의 허용가능한 섭동된 입력
Figure pct00088
을 고려하도록 동작가능하다.
Figure pct00089
단계(404)에서, 프로세싱 시스템(310)은 인코더 네트워크의 출력들에 대한 경계들을 생성하도록 구성된다. 이러한 경계들은 VAE의 제1 바운딩 데이터와 제2 바운딩 데이터를 포함한다. 제1 및 제2 바운딩 데이터는 인코더의 제1 및 제2 인코딩 컴포넌트들의 개개의 출력들에 관한 것이다. 보다 구체적으로, 프로세싱 시스템(310)은 제1 인코딩 컴포넌트
Figure pct00090
의 출력에 대한 제1 상한 데이터 및 제1 하한 데이터를 생성하도록 구성된다. 또한, 프로세싱 시스템(310)은 제2 인코딩 컴포넌트
Figure pct00091
의 출력에 대한 제2 상한 데이터 및 제2 하한 데이터를 생성하도록 구성된다. 프로세싱 시스템(310)은 제1 인코딩 컴포넌트
Figure pct00092
의 제1 바운딩 데이터를 제2 인코딩 컴포넌트
Figure pct00093
의 제2 바운딩 데이터와 독립적으로 생성하도록 구성된다. 이와 관련하여, 프로세싱 시스템(310)은 제1 바운딩 데이터 및 제2 바운딩 데이터를 동시에 또는 상이한 시간에 생성하도록 구성된다.
식들 7 내지 8의 선형 및 컨볼루션 계층들 및 식들 9 내지 10의 활성화 함수들에 대한 인터벌 경계들의 전파로, 프로세싱 시스템(310)은 다음을 통해 인코더 네트워크의 컴포넌트들 전체에 걸쳐
Figure pct00094
Figure pct00095
의 IBP에 기초하여 인코더 네트워크의 출력들을 바운딩하도록 구성된다.
Figure pct00096
여기서
Figure pct00097
Figure pct00098
는 인코더의 출력들이며,
Figure pct00099
Figure pct00100
Figure pct00101
Figure pct00102
는 각각 인코더 네트워크들의 하한 및 상한의 전파에 대응한다. 이는 섭동
Figure pct00103
의 크기
Figure pct00104
의 함수로서
Figure pct00105
(로그와 지수는 단조 비감소임)뿐만 아니라, 인코딩 컴포넌트들
Figure pct00106
Figure pct00107
의 출력들에 대한 경계들을 유발한다.
인코더 네트워크의 출력들에 대한 경계들이 주어지면, 프로세싱 시스템(310)은
Figure pct00108
Figure pct00109
사이에서 다음을 통해 KL 발산을 바운딩하도록 구성된다:
Figure pct00110
여기서
Figure pct00111
Figure pct00112
는 인코더에 의해 출력된 바와 같은, i 번째 샘플의 제곱 평균 및 공분산의 j 번째 컴포넌트를 나타낸다. 또한, 프로세싱 시스템(310)은 IBP가 디코더 네트워크를 통해 수행되는 것을 가능하게 하기 위해 인코더 네트워크들의 단부 부분에서
Figure pct00113
Figure pct00114
에 대한 경계들로부터 계속하도록 구성된다.
단계(406)에서, 프로세싱 시스템(310)은 "ε"으로서 표시된 샘플을 적어도 도출하고, "z"로서 표시된 잠재 변수에 대한 경계들을 계산하도록 구성된다. 예를 들어, 프로세싱 시스템(310)은 재파라미터화 기법들을 통해 잠재 변수에 대한 경계들(또는 VAE의 제3 바운딩 데이터)을 획득하도록 구성된다. 보다 구체적으로, 재파라미터화 기법으로, 잠재 변수에 대한 경계는, 재파라미터화가 선형 연산자이기 때문에, 식들 7 내지 8에서 선형 연산자들에 대한 경계라는 결론이 나온다.
예를 들어, 프로세싱 시스템(310)은
Figure pct00115
이도록
Figure pct00116
Figure pct00117
로 표시된 바와 같이, 샘플을 프로세싱하도록 구성되며, 여기서 0은 평균을 나타내고 I는 공분산에 대한 아이덴티티 벡터를 나타낸다. 이러한 재파라미터화 기법은
Figure pct00118
로서 잠재 변수를 표현함으로써 인코더로부터 무작위성을 분리시킨다. 재파라미터화 기법을 사용한 후, 프로세싱 시스템(310)은 잠재 변수
Figure pct00119
를 바운딩(예를 들어, 제3 바운딩 데이터를 생성) 하도록 구성되며, 이는 다음과 같이 표현된다:
Figure pct00120
단계(408)에서, 프로세싱 시스템(310)은 디코더 네트워크
Figure pct00121
의 출력에 대한 경계들을 생성하도록 구성된다. 이와 관련하여, 프로세싱 시스템(310)은 디코더 네트워크
Figure pct00122
의 제4 상한 데이터 및 제4 하한 데이터를 포함하는, VAE의 제4 바운딩 데이터를 생성하도록 구성된다. 예를 들어, 단계(408)이후에, 잠재 변수(즉, z)에 대한 경계들은 디코더 네트워크
Figure pct00123
를 통해 전파되며, 이는 ReLU 및 시그모이드 활성화들(예를 들어, 경계들이 식들 9 내지 10으로 전파될 수 있는 단조 활성화 함수들) 로 선형 및 컨볼루션 계층들(예를 들어, 경계들이 식들 7 내지 8로 전파될 수 있는 선형 연산자들)을 포함한다. 따라서, 프로세싱 시스템(310)은 인코더 네트워크들과 같이, 잠재 벡터
Figure pct00124
에 대한 경계들의 함수로서 디코더 네트워크의 출력에 대한 경계들을 제공한다.
또한, 프로세싱 시스템(310)은 조건부 로그 가능도
Figure pct00125
를 바운딩하는 문제를 해결한다. 그렇게 하기 위해, 프로세싱 시스템(310)은
Figure pct00126
에서 대각 공분산
Figure pct00127
을 고정한다. 따라서 프로세싱 시스템(310)은
Figure pct00128
를 바운딩하는 문제에 대한 조건부 로그 가능도를 바운딩하는 문제를 감소시킨다. 식들 11 내지 12를 풀면, 프로세싱 시스템(310)은 이 함수를 다음을 통해 바운딩하도록 구성되며,
Figure pct00129
여기서 프로세싱 시스템(310)은
Figure pct00130
의 요소들에 걸쳐
Figure pct00131
에서 요소별 max 및 min과 합을 취하도록 구성된다.
단계(410)에서, 프로세싱 시스템(310)은 손실 함수로서 작용하는, ELBO L에 대한 적어도 하나의 경계를 생성함으로써 강인성 인증서를 생성하도록 구성된다. 보다 구체적으로, 프로세싱 시스템(310)은 ELBO에 대한 하한 데이터를 생성하도록 구성된다. 예를 들어, 프로세싱 시스템(310)은 인코더 네트워크 및 디코더 네트워크에 대한 상한 및 하한과, ELBO가 KL 발산의 네거티브를 고려할 때, 조건부 로그 가능도에 대한 연관된 하한들 및 KL 발산에 대한 상한을 조합함으로써, 다음의 하한으로부터 하한 데이터를 획득한다:
Figure pct00132
여기서 인코더 네트워크들에 대한 상한 및 하한이 전파되며, 재파라미터화 기법은 다음과 같다:
Figure pct00133
ELBO에 대한 결과의 하한은 섭동에 대한 강인성 인증서로서 작동하는, 섭동된 샘플
Figure pct00134
의 로그 가능도를 더 낮게 바운딩한다. 이는 인코더에 공급된 입력 인터벌 경계들이
Figure pct00135
Figure pct00136
Figure pct00137
인 경우(반경
Figure pct00138
Figure pct00139
에 중심이 있는
Figure pct00140
공), 이것이 모든
Figure pct00141
Figure pct00142
에 대해
Figure pct00143
임을 보장함을 의미한다:
방법(400)은 하한을 최적화함으로써 VAE를 훈련하는 것을 포함한다. 예를 들어, 프로세싱 시스템(310)은
Figure pct00144
을 직접 최적화하는 대신, 강인성 인증서를 최적화하는 것에 대응하는,
Figure pct00145
의 하한을 최적화함으로써 입증가능하게 강인한 딥 생성 모델을 훈련한다.
단계(414)에서, 프로세싱 시스템(310)은 ELBO의 하한을 최적화하기 위해 인코더 네트워크 및 디코더 네트워크를 업데이트하도록 구성된다. 예를 들어, 프로세싱 시스템(310)은 VAE의 파라미터들을 업데이트하고 직접적으로 ELBO L의 하한을 최대화하도록 동작가능하다. 이 경우, 파라미터들(즉,
Figure pct00146
)은 VAE 의 인코더 및 디코더 네트워크들과 연관되는, 적어도 내부 가중치들을 포함한다.
단계(416)에서, 프로세싱 시스템(310)은 적어도 제1 인코더 네트워크
Figure pct00147
, 제2 인코더 네트워크
Figure pct00148
, 및 디코더 네트워크
Figure pct00149
를 포함하는, 강인하게 훈련된 네트워크들을 출력하도록 구성된다. 프로세싱 시스템(310)이 강인하게 훈련된 네트워크들을 출력하면, 프로세싱 시스템(310)은 사용을 위해 PROVAE(200A)를 전개하거나 송신하도록 구성된다. 예를 들어, 강인하게 훈련되면, PROVAE(202)는 도 1a의 시스템(100) 또는 임의의 적절한 애플리케이션에서 전개가능 및/또는 이에 의해 채용가능하다.
또한, 방법(400)은 도 4에 나타낸 단계들에 제한되는 것이 아니라, 방법(400)이 유사하거나 실질적으로 유사한 기능들, 효과들, 및/또는 결과들을 제공하면 다양한 수정들을 포함할 수 있다. 이와 관련하여, 수정의 예로서, IBP 대신, 방법(400)은 단계들(404, 406, 및 410)에서 다른 경계 전파 기법들을 포함하도록 구성된다. 이러한 다른 경계 전파 기법들은 더 엄격한 경계들을 제공할 수도 있지만, IBP에 의해 제공되는 것보다 더 복잡한 비용이 든다. 수정의 다른 예로서, 방법(400)은 단계들(408, 410, 및 412)을 1회 초과(예를 들어, 설정된 횟수) 수행하고 그 세트에 대한 결과들을 평균화하는 것을 포함한다. 부가적으로 또는 대안으로, 방법(400)은
Figure pct00150
를 해결하기 위해 몬테카를로 적분(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)에 대한
Figure pct00151
의 PGD 공격으로 이미지 데이터(500)(도 5a)를 포함하는, 적대적 예(504)를 도시한다. 도 5d는 PROVAE(200A)에 대한
Figure pct00152
의 PGD 공격으로 이미지 데이터(500)(도 5a)를 포함하는, 적대적 예(506)를 도시한다.
예시의 평가들에서, VAE 및 PROVAE(200A)는 이미지 데이터(500)의 섭동되지 않은 샘플들에 기초하여 평가된다. 이미지 데이터(500)의 이런 섭동되지 않은 샘플이 VAE에 대한 입력 데이터로 제시될 때, 그 후 손실은 L = -28.28로서 표현된다. 비교로서, 예를 들어 이미지 데이터(500)의 섭동되지 않은 샘플이
Figure pct00153
인 PROVAE(200A)에 대한 입력 데이터로 제시될 때, 그 후 손실은 L = -31.10로 표현된다. 다른 비교로서, 예를 들어 이미지 데이터(500)의 섭동되지 않은 샘플이
Figure pct00154
인 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)가
Figure pct00155
인 PROVAE(200A)에 대한 입력 데이터로서 제시될 때, 그 후 손실은 L = -59.08로 표현되며, 이에 의해 PROVAE(200A)는 이 적대적 예(504)를 분포 내 데이터(예를 들어, 핸드라이팅된 숫자들의 범위 내)로 올바르게 식별하고 프로세싱함으로써, VAE와 비교하여 강인성을 나타낸다. 다른 비교로서, 적대적 예(506)가
Figure pct00156
인 PROVAE 에 대한 입력 데이터로서 제시될 때, 그 후 손실은 L = -50.06로 표현되며, 이에 의해 PROVAE(200A)는 이 적대적 예(504)를 분포 내 데이터(예를 들어, 핸드라이팅된 숫자들의 범위 내)로 정확하게 식별하고 프로세싱함으로써, VAE와 비교하여 강인성을 나타낸다. 더욱이, PROVAE(200A)의 이익들은 또한 VAE 와 PROVAE(200A)의 비교들을 포함하는 도 6a 및 도 6b에 도시되어 있다.
도 6a 및 도 6b는
Figure pct00157
의 상이한 값들로 훈련된 분류기들에 대해, ELBO L로 나타낸 바와 같이, 손실에 대한 적대적 공격들(예를 들어,
Figure pct00158
에 대해 반경
Figure pct00159
Figure pct00160
공에서의 PGD 공격)의 효과들의 그래프 표현들로 그래프들을 도시한다. 도 6a는 제1 데이터세트(예를 들어, MNIST 데이터베이스로부터의 샘플 이미지들)에 기초한 그래프(600)를 도시하는 반면, 도 6b는 제2 데이터세트(예를 들어, CIFAR10(Canadian Institute For Advanced Research) 데이터베이스로부터의 샘플 이미지들)에 기초한 그래프(610)를 도시한다. 도 6a에서, VAE 표현(602)은 제1 데이터세트에 기초하여
Figure pct00161
= 0에 대응한다. 도 6b에서, VAE 표현(612)은 제2 데이터세트에 기초하여
Figure pct00162
= 0에 대응한다. VAE 표현들(602 및 612) 각각은 강인하지 않은 분류기에 대한 손실 L의 빠른 감쇠와 입증가능하게 강인한 분류기를 훈련하는 것이
Figure pct00163
= 0인 섭동되지 않은 데이터에 대해 L의 더 낮은 값을 희생시키면서 이 감쇠를 어떻게 완화하는지를 명확하게 도시한다. 또한, 비교를 위해, 도 6a 및 도 6b는 제1 데이터세트 및 제2 데이터세트에 기초하여
Figure pct00164
표현들(604 및 614)을 각각 도시한다. 또한, 비교를 위해, 도 6a 및 도 6b는 제1 데이터세트 및 제2 데이터세트에 기초하여
Figure pct00165
Figure pct00166
표현들(606 및 616)을 각각 도시한다. 따라서, 도 6a 및 도 6b에 나타낸 바와 같이, proVAE 표현들(604, 606, 614, 및 616)의 각각은 VAE 표현들(602 및 612)과 비교하여
Figure pct00167
를 증가시키기 위해 더 잘 수행한다.
본 명세서에 설명된 바와 같이, 실시예들은 다수의 유리한 특징들 및 이익들을 포함한다. 예를 들어, 실시예들은 가능도들의 가변 하한들(즉, ELBO)에 대한 강인한 하한들을 정의하는 것에 기초하는, 입증가능하게 강인한 생성 모델들을 훈련 및 생성하며 입증가능하게 강인한 생성 모델들에 대한 이러한 하한들을 최적화하는 것에 관한 것이다. 이러한 실시예들은 생성 모델들의 도메인에서 적대적 공격들, 즉 분포 외 공격들에 대한 입증가능한 방어를 도입하며, 여기서 모델의 분포 내의 샘플은 그 가능도를 낮추기 위해 섭동된다.
또한, 도 6a 및 도 6b는 이러한 입증가능한 방어의 효율성을 확인하고 모델 강인성과 연관된 다른 트레이드-오프들을 도입한다. 예를 들어, 도 6a 및 도 6b는 PROVAE(200A)가 도 4의 훈련 프로세스를 통해 강인하게 훈련되지 않은, VAE들과 비교하여(예를 들어,
Figure pct00168
이 증가함에 따라
Figure pct00169
의 더 높은 값들에서 더 높은 로그 가능도를 나타냄으로써) 적대적 공격들에 대해 우수한 방어들을 제공함을 나타낸다. 더욱이, 본 개시에서의 교시들은 분포 내 공격들에 대한 방어들을 생성하는 것과 관련되는 개선의 방향들로 확장가능하며, 여기서 적대적 공격들은 분포 외 샘플
Figure pct00170
을 이것이 분포
Figure pct00171
로부터 나오는 것처럼 보여지게 하도록 섭동할 수 있다.
또한, 실시예들은 적대적 공격들에 대한 머신 러닝 시스템들(예를 들어, 딥 생성 모델들)의 취약성과 연관된 기술적 문제들에 대한 기술적 솔루션들을 제공하는데 유리하다. 이러한 적대적 공격들은 입력 데이터에 감지할 수 없는 변화들을 야기하는 것으로 알려져 있으며, 이는 가능도 함수들에서 급격한 변화들로 이어짐으로써, 부정확한 출력 데이터를 제공할 수도 있다. 이러한 기술적 논쟁을 해결하는데 있어서, 본 명세서에 개시된 바와 같은 실시예들은, 머신 러닝 시스템들의 입력들에 대한 이러한 작은 변화들(예를 들어, 섭동들)이 머신 러닝 시스템들의 가능도 함수들에서 급격한 변화들을 야기하지 않는 입증가능하게 강인한 생성 모델들을 제공한다. 따라서, 위에 논의된 바와 같이, 본 명세서에 설명된 실시예들은 적대적 공격들에 대한 방어 솔루션들을 생성 모델들에 제공하는데 유리하다.
즉, 위의 설명은 예시적인 것이며 제한적이지 않은 것으로 의도되고, 특정 애플리케이션 및 그 요건들의 맥락에서 제공된다. 관련 기술 분야의 통상의 기술자들은 본 발명이 다양한 형태들로 구현될 수도 있고, 다양한 실시예들은 단독으로 또는 조합으로 구현될 수도 있음을 전술한 설명으로부터 이해할 수 있다. 따라서, 본 발명의 실시예들은 그 특정 예들과 관련하여 설명되었지만, 본 명세서에 정의된 일반적인 원리들은 설명된 실시예들의 사상 및 범위로부터 벗어나지 않으면서 다른 실시예들 및 애플리케이션들에 적용될 수도 있으며, 도면들, 명세서들, 및 다음의 청구항들을 연구하면 다양한 수정들이 숙련된 실무자에게 자명할 것이기 때문에, 본 발명의 방법들 및/또는 실시예들의 진정한 범위는 나타내고 설명된 실시예들에 제한되지 않는다. 예를 들어, 컴포넌트들 및 기능들은 다양한 설명된 실시예들의 방식과는 상이하게 분리되거나 조합될 수도 있고, 상이한 용어들을 사용하여 설명될 수도 있다. 이들 및 다른 변형들, 수정들, 부가들 및 개선들은 후속하는 청구항들에서 정의된 바와 같은 본 개시의 범위 내에 있을 수도 있다.

Claims (20)

  1. 섭동들에 강인하도록 머신 러닝 시스템을 훈련하기 위한 컴퓨터에 의해 구현되는 방법으로서,
    허용가능한 섭동들의
    Figure pct00172
    표준 공(norm ball)의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하는 단계;
    상기 입력 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계;
    인코더 네트워크의 제1 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터를 생성하는 단계;
    상기 인코더 네트워크의 제2 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제2 바운딩 데이터를 생성하는 단계;
    상기 제1 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관된 제3 바운딩 데이터를 생성하는 단계;
    디코더 네트워크의 출력 상에서 상기 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계;
    상기 제1 바운딩 데이터, 상기 제2 바운딩 데이터, 상기 제3 바운딩 데이터 및 상기 제4 바운딩 데이터에 기초하여 증거 하한(evidence lower bound)(ELBO)의 하한을 생성함으로써 상기 입력 데이터에 대하여 강인성 인증서(robustness certificate)를 확립하는 단계; 및
    상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 상기 머신 러닝 시스템이 상기 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 상기 강인성 인증서에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계
    를 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 ELBO는 조건부 로그 가능도 함수(conditional log-likelihood function)를 포함하고,
    상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는 상기 ELBO의 하한을 최적화하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  3. 제1항에 있어서,
    상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는,
    상기 ELBO의 하한을 최대화하기 위해 상기 ELBO의 하한에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크의 파라미터들을 업데이트하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 머신 러닝 시스템은 상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 가변 오토인코더를 포함하고;
    상기 잠재 변수는 상기 가변 오토인코더와 연관되는, 컴퓨터에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 인코더 네트워크는 상기 인코더 네트워크의 제1 출력을 생성하기 위한 제1 인코딩 컴포넌트 및 상기 인코더 네트워크의 제2 출력을 생성하기 위한 제2 인코딩 컴포넌트를 포함하고;
    상기 제1 바운딩 데이터를 생성하는 단계는 상기 제1 인코딩 컴포넌트의 제1 상한 데이터 및 제1 하한 데이터를 생성하는 단계를 포함하고;
    상기 제2 바운딩 데이터를 생성하는 단계는 상기 제2 인코딩 컴포넌트의 제2 상한 데이터 및 제2 하한 데이터를 생성하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 강인성 인증서는
    Figure pct00173
    를 만족하는 모든
    Figure pct00174
    에 대해
    Figure pct00175
    임을 보장하기 위해 상기 ELBO의 하한을 생성하며,
    x는 상기 센서 데이터를 나타내고,
    Figure pct00176
    는 섭동 데이터를 나타내고,
    Figure pct00177
    는 상기 섭동 데이터에 의해 섭동되는 상기 센서 데이터에 기초한 상기 ELBO를 나타내고,
    Figure pct00178
    는 상기 ELBO의 하한을 나타내며,
    Figure pct00179
    는 상기 허용가능한 섭동들의
    Figure pct00180
    표준 공의 반경을 나타내는, 컴퓨터에 의해 구현되는 방법.
  7. 제1항에 있어서,
    상기 입력 바운딩 데이터는 상기 입력 데이터의 상한 데이터 및 하한 데이터를 포함하고;
    상기 제1 바운딩 데이터는 상기 인코더 네트워크의 제1 인코딩 컴포넌트의 상기 제1 출력의 제1 상한 데이터 및 제1 하한 데이터를 포함하고;
    상기 제2 바운딩 데이터는 상기 인코더 네트워크의 제2 인코딩 컴포넌트의 상기 제2 출력의 제2 상한 데이터 및 제2 하한 데이터를 포함하고;
    상기 제3 바운딩 데이터는 상기 잠재 변수와 연관된 제3 상한 데이터 및 제3 하한 데이터를 포함하며;
    상기 제4 바운딩 데이터는 상기 디코더 네트워크의 출력의 제4 상한 데이터 및 제4 하한 데이터를 포함하는, 컴퓨터에 의해 구현되는 방법.
  8. 시스템으로서,
    액츄에이터;
    적어도 하나의 센서를 포함하는 센서 시스템;
    머신 러닝 시스템의 손실 함수를 더 낮게 바운딩하는 강인성 인증서에 기초하여 훈련되는 인코더 네트워크 및 디코더 네트워크를 갖는 머신 러닝 시스템을 저장하는 비일시적 컴퓨터 판독가능 매체; 및
    상기 센서 시스템 및 상기 머신 러닝 시스템과의 통신들에 기초하여 상기 액츄에이터를 제어하는 제어 시스템
    을 포함하고, 상기 제어 시스템은 적어도 하나의 전자 프로세서를 포함하고, 상기 적어도 하나의 전자 프로세서는:
    상기 센서 시스템으로부터의 센서 데이터 및 상기 센서 데이터가 섭동 데이터에 의해 섭동되는 교란으로부터의 상기 섭동 데이터를 포함하는 입력 데이터를 획득하고;
    상기 머신 러닝 시스템을 통해 상기 입력 데이터를 프로세싱하며;
    상기 머신 러닝 시스템을 통해 출력 데이터를 생성하도록 - 상기 출력 데이터는 상기 센서 데이터의 재구성이고, 상기 출력 데이터는 상기 섭동 데이터에 의해 섭동되지 않는 가능도와 연관됨 -
    동작가능하고;
    상기 센서 데이터 및 상기 출력 데이터는 상기 머신 러닝 시스템과 연관된 모델 분포에 대응하는 분포 내 데이터이고;
    상기 머신 러닝 시스템은, 상기 머신 러닝 시스템이 상기 모델 분포 외부에 있는 분포 외 데이터인 것으로서 상기 입력 데이터를 식별하고 프로세싱하도록 상기 섭동 데이터가 구축되더라도, 상기 입력 데이터를 상기 분포 내 데이터의 범위 내에 있는 것으로 식별하고 프로세싱하는, 시스템.
  9. 제8항에 있어서,
    상기 제어 시스템은 상기 출력 데이터를 분류하면 분류 데이터를 생성하도록 동작가능하고;
    상기 제어 시스템은 상기 분류 데이터에 기초하여 상기 액츄에이터에 제어 데이터를 생성하도록 동작가능하며;
    상기 액츄에이터는 상기 제어 데이터에 응답하여 액션을 수행하는, 시스템.
  10. 제8항에 있어서,
    상기 머신 러닝 시스템은 섭동들에 강인하도록 훈련되고 상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 가변 오토인코더를 포함하는, 시스템.
  11. 제10항에 있어서,
    상기 제어 시스템과의 통신들 이전에, 상기 가변 오토인코더는 훈련 프로세스에 의해 훈련되고, 상기 훈련 프로세스는:
    훈련 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계 - 상기 훈련 데이터는 허용가능한 섭동들의
    Figure pct00181
    표준 공의 반경 및 다른 센서 데이터를 포함함 -;
    인코더 네트워크의 제1 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터를 생성하는 단계;
    상기 인코더 네트워크의 제2 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제2 바운딩 데이터를 생성하는 단계;
    상기 제1 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관된 제3 바운딩 데이터를 생성하는 단계;
    상기 디코더 네트워크의 출력 상에서 상기 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계;
    상기 제1 바운딩 데이터, 상기 제2 바운딩 데이터, 상기 제3 바운딩 데이터 및 상기 제4 바운딩 데이터에 기초하여 증거 하한(ELBO)의 하한을 생성함으로써 상기 훈련 데이터에 대하여 상기 강인성 인증서를 확립하는 단계; 및
    상기 머신 러닝 시스템이 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 상기 강인성 인증서에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계
    를 포함하는, 시스템.
  12. 제11항에 있어서,
    상기 머신 러닝 시스템은, 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계가:
    상기 ELBO의 하한을 최대화하기 위해 상기 ELBO의 하한에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크의 파라미터들을 업데이트하는 단계를 포함하도록 훈련되는, 시스템.
  13. 제11항에 있어서,
    상기 머신 러닝 시스템은, 상기 강인성 인증서가
    Figure pct00182
    를 만족하는 모든
    Figure pct00183
    에 대해
    Figure pct00184
    Figure pct00185
    임을 보장하기 위해 상기 ELBO의 하한을 생성하도록 훈련되고,
    x는 상기 센서 데이터를 나타내고,
    Figure pct00186
    는 섭동 데이터를 나타내고,
    Figure pct00187
    는 상기 섭동 데이터에 의해 섭동되는 상기 센서 데이터에 기초한 상기 ELBO를 나타내고,
    Figure pct00188
    는 상기 ELBO의 하한을 나타내며,
    Figure pct00189
    는 상기 허용가능한 섭동들의
    Figure pct00190
    표준 공의 반경을 나타내는, 시스템.
  14. 제11항에 있어서,
    상기 입력 바운딩 데이터는 상기 훈련 데이터의 상한 데이터 및 하한 데이터를 포함하고;
    상기 제1 바운딩 데이터는 상기 인코더 네트워크의 제1 인코딩 컴포넌트의 출력의 제1 상한 데이터 및 제1 하한 데이터를 포함하고;
    상기 제2 바운딩 데이터는 상기 인코더 네트워크의 제2 인코딩 컴포넌트의 출력의 제2 상한 데이터 및 제2 하한 데이터를 포함하고;
    상기 제3 바운딩 데이터는 상기 잠재 변수와 연관된 제3 상한 데이터 및 제3 하한 데이터를 포함하며;
    상기 제4 바운딩 데이터는 상기 디코더 네트워크의 출력의 제4 상한 데이터 및 제4 하한 데이터를 포함하는, 시스템.
  15. 전자 프로세서에 의해 실행될 때, 섭동들에 강인하도록 머신 러닝 시스템을 훈련하기 위한 방법을 구현하도록 동작가능한, 적어도 컴퓨터 판독가능 데이터를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 방법은:
    허용가능한 섭동들의
    Figure pct00191
    표준 공의 반경 및 센서 데이터를 포함하는 입력 데이터를 획득하는 단계;
    상기 입력 데이터에 기초하여 입력 바운딩 데이터를 생성하는 단계;
    인코더 네트워크의 제1 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제1 바운딩 데이터를 생성하는 단계;
    상기 인코더 네트워크의 제2 출력 상에서 상기 입력 바운딩 데이터를 전파함으로써 제2 바운딩 데이터를 생성하는 단계;
    상기 제1 및 제2 바운딩 데이터에 기초하여 잠재 변수와 연관된 제3 바운딩 데이터를 생성하는 단계;
    디코더 네트워크의 출력 상에서 상기 제3 바운딩 데이터를 전파함으로써 제4 바운딩 데이터를 생성하는 단계;
    상기 제1 바운딩 데이터, 상기 제2 바운딩 데이터, 상기 제3 바운딩 데이터 및 상기 제4 바운딩 데이터에 기초하여 증거 하한(ELBO)의 하한을 생성함으로써 상기 입력 데이터에 대하여 강인성 인증서를 확립하는 단계; 및
    상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 상기 머신 러닝 시스템이 상기 허용가능한 섭동들에 대한 방어에 대하여 강인하도록 상기 강인성 인증서에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계
    를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 ELBO는 조건부 로그 가능도 함수를 포함하고,
    상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는 상기 ELBO의 하한을 최적화하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  17. 제15항에 있어서,
    상기 인코더 네트워크 및 상기 디코더 네트워크를 업데이트하는 단계는,
    상기 ELBO의 하한을 최대화하기 위해 상기 ELBO의 하한에 기초하여 상기 인코더 네트워크 및 상기 디코더 네트워크의 파라미터들을 업데이트하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 제15항에 있어서,
    상기 머신 러닝 시스템은 상기 인코더 네트워크 및 상기 디코더 네트워크를 포함하는 가변 오토인코더를 포함하고;
    상기 잠재 변수는 상기 가변 오토인코더와 연관되는, 비일시적 컴퓨터 판독가능 매체.
  19. 제15항에 있어서,
    상기 인코더 네트워크는 제1 인코딩 컴포넌트 및 제2 인코딩 컴포넌트를 포함하고;
    상기 제1 바운딩 데이터를 생성하는 단계는 상기 제1 인코딩 컴포넌트의 제1 출력의 제1 상한 데이터 및 제1 하한 데이터를 생성하는 단계를 포함하고;
    상기 제2 바운딩 데이터를 생성하는 단계는 상기 제2 인코딩 컴포넌트의 제2 출력의 제2 상한 데이터 및 제2 하한 데이터를 생성하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  20. 제15항에 있어서,
    상기 강인성 인증서는
    Figure pct00192
    를 만족하는 모든
    Figure pct00193
    에 대해
    Figure pct00194
    임을 보장하기 위해 상기 ELBO의 하한을 생성하며,
    x는 상기 센서 데이터를 나타내고,
    Figure pct00195
    는 섭동 데이터를 나타내고,
    Figure pct00196
    는 상기 섭동 데이터에 의해 섭동되는 상기 센서 데이터에 기초한 상기 ELBO를 나타내고,
    Figure pct00197
    는 상기 ELBO의 하한을 나타내며,
    Figure pct00198
    는 상기 허용가능한 섭동들의
    Figure pct00199
    표준 공의 반경을 나타내는, 비일시적 컴퓨터 판독가능 매체.
KR1020227017666A 2019-10-28 2020-10-20 강인한 딥 생성 모델을 갖는 시스템 및 방법 KR20220083833A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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