KR20210099564A - 인공 지능을 이용한 보안 시스템 - Google Patents

인공 지능을 이용한 보안 시스템 Download PDF

Info

Publication number
KR20210099564A
KR20210099564A KR1020217016452A KR20217016452A KR20210099564A KR 20210099564 A KR20210099564 A KR 20210099564A KR 1020217016452 A KR1020217016452 A KR 1020217016452A KR 20217016452 A KR20217016452 A KR 20217016452A KR 20210099564 A KR20210099564 A KR 20210099564A
Authority
KR
South Korea
Prior art keywords
data
input
inference
output
input data
Prior art date
Application number
KR1020217016452A
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 KR20210099564A publication Critical patent/KR20210099564A/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Image Analysis (AREA)

Abstract

다양한 공격들에 대항하여 AI 시스템들을 강화하기 위한 기법들 및 장치들이 제공된다. 상이한 기법들 및 장치들 중에서, 가시 클래스들 및 은닉 클래스들 모두를 포함하도록 추론 모델에 대한 도메인을 확장하는 기법들 및 장치들이 제공된다. 은닉 클래스들은 모델에 대한 가능한 프로빙 공격들을 검출하는데 사용될 수 있다.

Description

인공 지능을 이용한 보안 시스템
관련 출원의 상호 참조
본 출원은 2018년 12월 31일자로 출원된, 발명의 명칭이 "인공 지능을 이용한 보안 시스템(Securing Systems Employing Artificial Intelligence)"인 미국 가출원 제62/786,941호에 대한 이익을 주장하며, 이 출원은 그 전체가 참조로 본 명세서에 통합된다.
머신 인텔리전스(machine intelligence)라고도 지칭되는 인공 지능(AI)은 그 환경을 인지하고 다양한 목표들을 성공적으로 달성할 기회들을 최대화하기 위한 액션들을 취하는 디바이스들, 시스템들, 또는 프로세스들을 지칭한다. AI는, 예를 들어, 자동차, 산업, 항공우주, 군사, 제조, 여행, 물류, 인간 상호작용 등과 같은 다수의 분야들에서 이용된다. 또한, AI는, 예를 들어, 수리적 검색 및 최적화, 인공 신경망, 통계, 확률, 경제 등과 같은 다수의 과학 및 학술 분야들에 의존한다.
일반적으로, 그리고 극히 높은 레벨에서, AI 시스템들은 블랙 박스로서 설명될 수 있으며, 입력들이 박스에 제공되고, 블랙 박스가 입력들에 기초하여 일부 추론을 수행하고, 이후 추론에 대응하는 출력(들)을 제공한다. 출력(들)은 판정들을 내리거나 액션의 일부 과정을 결정하기 위해 사용된다. 일부 응용들에서, AI 시스템은 액션들 또는 거동을 지시 또는 제어할 수 있다. 예를 들어, AI 시스템들은 디바이스 제어 시스템에 결합될 수 있고, 여기서 제어들은 AI 시스템으로부터의 출력에 기초하여 작동될 수 있다. 특정 예로서, AI 시스템들은 자동차 내의 제동 시스템뿐만 아니라 센서들 및/또는 카메라에 결합될 수 있다. 이러한 AI 시스템은 센서들 및/또는 카메라로부터 수신된 입력들 및 이들 입력들에 기초하여 이루어진 추론들에 기초하여 브레이크들을 작동시킬 수 있다.
AI 시스템들의 복잡한 성질 및 다수의 분야들에서의 그들의 증가하는 보급 및 사용으로 인해, 공격들에 대해 AI 시스템들을 보안하거나, AI 시스템들을 강화하는 것이 중요하다.
도 1은 제1 예시적 추론 환경을 예시한다.
도 2는 제1 예시적 기법을 예시한다.
도 3은 제2 예시적 기법을 예시한다.
도 4는 강화된 시스템의 제1 예를 예시한다.
도 5는 로직 흐름의 제1 예를 예시한다.
도 6은 강화된 시스템의 제2 예를 예시한다.
도 7은 로직 흐름의 제2 예를 예시한다.
도 8은 강화된 시스템의 제3 예를 예시한다.
도 9는 강화된 시스템의 제4 예를 예시한다.
도 10a는 제5 예시적 강화된 시스템을 예시하는 도면이다.
도 10b는 제1 예시적 훈련/시험 데이터 세트를 예시한다.
도 11은 강화된 시스템의 제6 예를 예시한다.
도 12는 로직 흐름의 제3 예를 예시한다.
도 13은 로직 흐름의 제4 예를 예시한다.
도 14는 강화된 시스템의 제7 예를 예시한다.
도 15는 입력 디바이스를 예시한다.
도 16은 제3 예시적 기법을 예시하는 도면이다.
도 17은 로직 흐름의 제5 예를 예시한다.
도 18은 제1 예시적 추론 환경을 예시한다.
도 19는 제2 예시적 추론 환경을 예시한다.
도 20은 제3 예시적 추론 환경을 예시한다.
도 21은 제4 예시적 기법을 예시하는 도면이다.
도 22는 추론 모델에 대한 예시적 도메인을 묘사하는 그래프를 예시한다.
도 23a는 제4 예시적 추론 환경을 예시한다.
도 23b는 제2 예시적 훈련/시험 데이터 세트를 예시한다.
도 24는 제5 예시적 추론 환경을 예시한다.
도 25는 제6 예시적 로직 흐름을 예시한다.
도 26은 강화된 시스템의 제8 예를 예시한다.
도 27은 제6 예시적 추론 환경을 예시한다.
도 28은 제7 예시적 로직 흐름을 예시한다.
도 29는 제8 예시적 추론 환경을 예시한다.
도 30은 제8 예시적 로직 흐름을 예시한다.
도 31은 강화된 시스템의 제9 예를 예시한다.
도 32는 제9 예시적 로직 흐름을 예시한다.
도 33은 제5 예시적 기법을 예시한다.
도 34는 강화된 시스템의 제10 예를 예시한다.
도 35는 로직 흐름의 제10 예를 예시한다.
도 36은 강화된 시스템의 제11 예를 예시한다.
도 37은 로직 흐름의 제11 예를 예시한다.
도 38은 강화된 시스템의 제12 예를 예시한다.
도 39는 로직 흐름의 제12 예를 예시한다.
도 40은 강화된 시스템의 제13 예를 예시한다.
도 41은 로직 흐름의 제13 예를 예시한다.
도 42는 제14 예시적 강화된 시스템을 예시한다.
도 43은 제5 예시적 기법을 예시한다.
도 44는 에러들을 포함하는 제1 예시적 훈련/시험 데이터 세트를 예시한다.
도 45는 제1 예의 복원 훈련/시험 데이터를 예시한다.
도 46은 제14 예시적 로직 흐름을 예시한다.
도 47은 제15 예시적 강화된 시스템을 예시한다.
도 48은 제1 예시적 추론 모델을 예시한다.
도 49는 제6 예시적 기법을 예시한다.
도 50은 강화된 시스템의 제16 예를 예시한다.
도 51은 로직 흐름의 제15 예를 예시한다.
도 52는 제1 예시적 적대적 모델 훈련 연결을 예시한다.
도 53은 제9 예시적 추론 환경을 예시한다.
도 54는 제7 예시적 기법을 예시한다.
도 55는 제10 예시적 추론 환경을 예시한다.
도 56은 제11 예시적 추론 환경을 예시한다.
도 57은 제8 예시적 기법을 예시한다.
도 58은 제17 예시적 강화된 시스템을 예시한다.
도 59는 로직 흐름의 제16 예를 예시한다.
도 60은 로직 흐름의 제17 예를 예시한다.
도 61은 로직 흐름의 제18 예를 예시한다.
도 62는 제18 예시적 강화된 시스템을 예시한다.
도 63은 로직 흐름의 제19 예를 예시한다.
도 64는 로직 흐름의 제20 예를 예시한다.
도 65는 제19 예시적 강화된 시스템을 예시한다.
도 66은 강화된 시스템의 제20 예를 예시한다.
도 67은 로직 흐름의 제21 예를 예시한다.
도 68a는 제2 예시적 적대적 모델 훈련 연결을 예시한다.
도 68b는 제3 예시적 적대적 모델 훈련 연결을 예시한다.
도 68c는 제4 예시적 적대적 모델 훈련 연결을 예시한다.
도 69는 예시적 컴퓨터 판독가능 매체를 예시한다.
도 70은 예시적 컴퓨팅 시스템을 예시한다.
도 71은 제1 예시적 시스템을 예시한다.
도 72는 제2 예시적 시스템을 예시한다.
도 73은 제3 예시적 시스템을 예시한다.
다양한 공격들에 대해 AI 시스템들을 강화하기 위한 기법들 및 장치들이 본 명세서에 제공된다. 본 명세서에서 사용될 때, "강화(harden)"라는 용어는 AI 시스템들을 공격하기 위한 영역들 또는 AI 시스템들의 공격들에 대한 민감성을 소정의 방식으로 감소시키는데 사용되는 방법들, 시스템들, 장치, 기법들, 또는 접근법들을 암시하는 것을 의도한다. 강화라는 용어는 공격 벡터와 연관된 모든 위험이 감소되거나, 또는 모든 공격들이 중단되거나, 방지되거나, 검출되거나, 또는 다른 방식으로 완화될 것임을 암시하려는 의도는 아니다. 그 대신에, 본 명세서에서 사용되는 바와 같이, 어떤 공격 또는 공격 벡터에 대해 "강화된" 시스템은 시스템이 공격(들)을 완화시키도록 설계된 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 포함한다는 것을 의미하지만, 공격(들)이 모든 경우들 또는 상황들에서 완화되는 것을 의미하지는 않는다.
본 출원에서 사용되는 바와 같은 인공 지능(AI) 이라는 용어는 입력들에 기초하여 추론하도록 배열되는 컴퓨터 구현 시스템을 의미하는 것을 의도한다. 용어 AI는 상이한 계통들(예를 들어, 학계, 산업, 소비자 등)에서 상이한 사물들을 의미할 수 있다는 점을 이해하여야 한다. 본 명세서에서 AI라는 용어의 사용은 제한적인 의도는 아니며, 추론 엔진, 전문가 시스템, 기계 학습 모델, 신경망, 심층 학습 시스템, 퍼지 로직 엔진, 또는 AI로 분류될 수 있는 다른 이러한 시스템, 모델 및 엔진을 포함하는 것을 의도한다. 종종 AI 산하에 그룹화되는 용어들(예를 들어, 신경망, 추론 엔진 등)은 본 명세서에서 교환 가능하게 사용된다.
일반적으로, AI는 데이터를 통해 학습 및 발견을 자동화하는데 사용될 수 있다. 종종, AI는 기존 제품들에 "지능"을 부가하는 데 사용된다. 예를 들어, 이미지 인식 및/또는 분류, 패턴 인식, 음성 인식, 예측 분석 등은 대량의 데이터와 조합되어 AI를 통해 다수의 기술들을 개선할 수 있다.
AI는 데이터로부터 점진적으로 학습할 수 있다. 달리 말하면, 추론 엔진 또는 "모델"은 훈련되고, 훈련 동안 데이터의 구조 및 규칙성을 발견하며, 따라서 모델은 보이지 않는 또는 장래의 데이터로부터 무언가를 추론(예를 들어, 분류, 예측, 순위화 등)할 수 있다. 이러한 모델들을 훈련시키기 위한 다수의 타입의 모델 및 기법, 예를 들어 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 베이지안망(Bayesian belief networks), 볼츠만 머신 등이 존재한다. 이러한 추론 모델들 및 그들의 훈련 기법들에 대한 철저한 설명은 편의성 및 명료성을 위해 여기에 제시되지 않는다. 그러나, 본 개시내용은 AI 시스템의 기초가 되는 모델과 독립적으로, 이러한 AI 시스템들을 강화시키는 디바이스들을 구현하는데 적용될 수 있다.
언급한 바와 같이, AI는 다수의 분야들에서 구현될 수 있다. 예를 들어, 건강 관리 분야에서, AI는 개인화된 진단, X-레이 판독, 암 선별 등을 제공하도록 구현될 수 있다. 다른 예로서, 소매 분야에서, AI는 개인화된 쇼핑 추천들을 제공하거나 또는 소비자와 구매 옵션들을 논의하도록 구현될 수 있다. 추가 예로서, 제조 분야에서, AI는 공장에 대한 예상 부하 또는 수요를 예측하고, 픽-앤-플레이스(pick-and-place) 시스템에 대한 부품들을 분류하는 등을 수행할 수 있다. 이들은 AI가 구현될 수 있는 많은 산업들 중 단지 몇몇일 뿐이다.
위에 소개된 바와 같이, AI 시스템들은 다양한 공격들에 취약할 수 있다. 예를 들어, AI 시스템(예를 들어, 블랙 박스)이 재생성되거나 복제될 수 있다. AI 시스템들은 프로빙 타입 공격들에 취약하다. AI 시스템들에 대한 입력들은 항상 제어되지는 않으며, 따라서 적대적이거나 손상될 수 있다. AI 시스템들이 매우 불투명하므로, AI 시스템들의 운영자들 및 사용자들은 AI 시스템이 어떻게 동작하는지, AI 시스템이 어떻게 훈련되었는지, 훈련 데이터 세트 등에 대한 가시성을 가지지 못하여 위험을 겪을 수 있다. 이들은 AI 시스템들의 공격 벡터들 또는 공격 취약성들의 단지 몇몇 예들일 뿐이다.
본 개시내용은 이러한 공격 벡터들의 일부 또는 전부에 대해 AI 시스템들을 강화시키는 다수의 시스템들 및 방법들을 제공한다. 본 개시내용이 모든 가능한 AI 공격 벡터들을 논의하려고 시도하지는 않으며, 본 개시내용이 본 명세서에서 설명된 시스템들 및 방법들과 각각의 시스템 또는 기법이 완화시킬 수 있는 AI 공격 벡터들의 포괄적인 목록 사이의 매핑을 제공하려고 시도하지도 않는다는 점에 유의한다. 그러나, 이러한 공격 벡터들 및 이들 공격 벡터들과 연관된 위험을 완화하는 시스템들 및 방법들의 다수의 예들이 본 기술분야의 통상의 기술자가 이해하기에 적절한 설명을 제시하기 위해 제공된다.
본 개시내용은 섹션들로 대략적으로 정리되며, 이러한 섹션들에서 공격 또는 관련 공격 벡터들의 타입에 대한 AI 시스템 취약성을 완화하기 위한 다수의 시스템들 및 방법들을 논의할 수 있다. 그러나, 하나의 섹션에서 설명된 개념들은 예들에서 사용된 것과는 상이한 공격 벡터들을 따르는 공격들을 완화시키기 위하여 적용될 수도 있다는 것을 유의하여야 한다. 구체적으로는, 하나의 섹션에서 또는 하나의 타입의 공격과 관련하여 설명된 시스템들 및 방법들은, 다른 섹션에서 설명된 것과 같은, 다른 타입의 공격들을 완화시키는 데 사용될 수 있다.
본 명세서에서 고려되는 시스템들 및 방법들의 상세한 설명에 앞서, 본 개시내용에 따라 구현될 수 있는, 다양한 AI 공격 벡터들에 대해 강화되는 시스템의 개요가 제공된다.
본 명세서에서 사용되는 표기법들 및 명명법을 일반적으로 참조하여, 후속하는 상세한 설명의 하나 이상의 부분들은 컴퓨터 또는 컴퓨터들의 네트워크 상에서 실행되는 프로그램 프로시저들의 견지에서 제시될 수 있다. 이러한 프로시저 관련 설명들 및 표현들은 본 기술분야의 통상의 기술자들이 그들의 작업의 본질들을 본 기술분야의 다른 통상의 기술자들에게 가장 효과적으로 전달하기 위해 사용한다. 프로시저는 일반적으로 원하는 결과를 초래하는 동작들의 일관성 있는 시퀀스(self-consistent sequence)인 것으로 고려된다. 이러한 동작들은 물리량들의 물리적 조작들을 필요로 하는 것들이다. 일반적으로, 반드시 그런 것은 아니지만, 이러한 양들은 저장, 전달, 조합, 비교, 및 다른 방식으로 조작될 수 있는 전기, 자기, 또는 광학 신호들의 형태를 취한다. 주로 일반적으로 사용되기 때문에, 이러한 신호들을 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 수들 등으로서 지칭하는 것이 때때로 편리하다. 그러나, 이들 및 유사한 용어들은 적절한 물리량들과 연관지어 고려하여야 하며, 단지 이들 양들에 적용되는 편리한 라벨들일 뿐이라는 점에 유의해야 한다. 또한, 이러한 조작들을 수행하도록 배열된 다양한 시스템들, 컴퓨팅 환경들, 장치들, 특별히 설계된 컴퓨팅 디바이스들, 또는 회로가 설명된다.
이제 도면을 참조하며, 도면에서, 유사한 참조 번호들은 전체에 걸쳐 유사한 요소들을 지칭하도록 사용된다. 이하의 설명에서, 설명의 목적상, 그 철저한 이해를 제공하기 위해 다수의 구체적인 세부사항들이 기재되어 있다. 그러나, 새로운 실시예들은 이러한 구체적인 세부사항 없이도 실시될 수 있다는 것이 명백할 수 있다. 다른 경우들에서, 잘 알려진 구조들 및 디바이스들은 그 설명을 용이하게 하기 위해 블록도 형태로 도시된다. 의도는 청구항들의 범위 내의 모든 수정, 등가물들, 및 대안들을 커버하고자 하는 것이다.
도 1은 본 개시내용에 따라 구현될 수 있는 강화된 시스템(101)을 포함하는 추론 환경(100)을 예시한다. 강화된 시스템(101)은 서버, 워크스테이션, 랩톱, 가상화된 컴퓨팅 시스템, 에지 컴퓨팅 디바이스 등과 같은 임의의 수 또는 타입의 컴퓨팅 시스템들에 의해 구현될 수 있다. 추가적으로, 강화된 시스템(101)은 심층 학습 가속기 카드, 심층 학습 가속을 갖는 프로세서, 뉴럴 컴퓨트 스틱(neural compute stick) 등과 같은 임베디드 시스템일 수 있다. 일부 구현들에서, 강화된 시스템(101)은 SoC(System on a Chip)를 포함하는 반면, 다른 구현들에서, 강화된 시스템(101)은 2개 이상의 개별 컴포넌트들을 갖는 인쇄 회로 보드 또는 칩 패키지를 포함한다. 게다가, 강화된 시스템(101)은 입력들에 기초하여 어떤 결과, 분류, 또는 특성을 추론하도록 배열된 다양한 타입의 "모델들" 중 임의의 것을 이용할 수 있다.
강화된 시스템(101)은 회로(110) 및 메모리(120)를 포함한다. 메모리(120)는 추론 모델(122), 입력 데이터(124), 출력 데이터(126) 및 명령어들(128)을 저장한다. 동작 동안, 회로(110)는 입력 데이터(124)로부터 출력 데이터(126)를 생성하기 위해 명령어들(128) 및/또는 추론 모델(122)을 실행할 수 있다. 때때로, 출력 데이터(126)는 본 명세서에 설명된 입력 데이터(124)로부터 생성될 수 있다. 예를 들어, 입력 데이터(124)는 훈련 데이터를 포함할 수 있고, 회로(110)는 입력 데이터(124)에 기초하여 출력 데이터(126)로서 "훈련된" 추론 모델(122)을 생성하기 위해 명령어들(128)을 실행할 수 있다. 예를 들어, 입력 데이터는 고양이들을 포함하거나 고양이들을 포함하지 않는 것으로서 라벨 표시된 복수의 화상들을 포함할 수 있다. 이러한 예들에서, 복수의 화상들은 화상이 고양이들을 포함하는지 여부를 추론할 수 있는 추론 모델을 생성하기 위해 사용될 수 있고, 훈련된 추론 모델이 출력 데이터(122)로서 제공될 수 있다. 많은 이러한 예들에서, 회로(110)는 입력 데이터(124)를 분류하고 입력 데이터(124)의 분류를 출력 데이터(126)로서 제공하기 위해 명령어들(128) 및 추론 모델(122)을 실행할 수 있다. 예를 들어, 입력 데이터(124)는 화상을 포함할 수 있고, 출력 데이터(126)는 화상의 분류(예를 들어, 고양이, 개 등)의 표시를 포함할 수 있다. 다양한 이러한 예들에서, 입력 데이터(124)는 시험 데이터 세트(예를 들어, 화상들 및 그들의 분류)를 포함할 수 있고, 회로(110)는 시험 데이터 세트로 추론 모델(122)의 성능을 평가하고 평가의 표시를 출력 데이터(126)로서 제공하기 위해 명령어들(128)을 실행할 수 있다. 입력 데이터(124)로부터 출력 데이터(126)를 생성하기 위해 명령어들(128) 및/또는 추론 모델(122)을 실행하는 이들 및 다양한 다른 양태들은 예컨대 아래의 예들과 관련하여 더 상세히 논의될 것이다.
강화된 시스템(101)은 또한 인터페이스(130)를 포함할 수 있다. 인터페이스(130)는 강화된 시스템(101) 외부의 디바이스들과 같은, 추론 환경(100) 내의 하나 이상의 디바이스들에 결합될 수 있다. 예를 들어, 입력 디바이스(152), 출력 디바이스(154), 다른 컴퓨팅 디바이스(156)가 도시되어 있다. 일반적으로, 인터페이스(130)는 강화된 시스템(101)을 다른 디바이스 또는 시스템에 결합시키기 위해 인터커넥트(예를 들어, 유선, 무선 등)에 결합하도록 배열된 하드웨어 인터페이스 또는 제어기를 포함할 수 있다. 예를 들어, 인터페이스(130)는 인터커넥트를 통해 정보 요소들을 송신 및/또는 수신하고, 인터커넥트에 또한 결합된 다른 디바이스들(예를 들어, 입력 디바이스(152), 출력 디바이스(154), 다른 컴퓨팅 디바이스(156) 등) 사이에서 정보 요소들(예를 들어, 데이터, 제어 신호들 등을 포함함)을 통신 및/또는 수신하도록 배열된 회로를 포함할 수 있다. 일부 예들에서, 인터페이스(130)는 다양한 표준들 중 임의의 것을 준수하는 인터페이스에 결합하도록 배열될 수 있다. 일부 예들에서, 인터페이스(130)는 이더넷 인터커넥트, 셀룰러 인터커넥트, 범용 직렬 버스(USB) 인터커넥트, 주변 컴포넌트 인터커넥트(PCI) 등에 결합하도록 배열될 수 있다. 일부 예들에서, 추론 시스템(100)은, 예를 들어, 상이한 인터커넥트들을 통해 상이한 디바이스들에 결합하기 위한 다중 인터페이스를 포함할 수 있다.
일반적으로, 입력 디바이스(152)는 입력들로서 신호들을 강화된 시스템(101)에 제공하도록 배열된 임의의 디바이스일 수 있다. 일부 예들에서, 입력 디바이스(152)는 임의의 수 및 타입의 디바이스들 또는 센서들일 수 있다. 동작 동안, 회로(110)는 인터페이스(130)를 통해 이러한 센서들로부터 신호들을 수신하기 위해 명령어들(128)을 실행할 수 있다. 회로(110)는, 명령어들(128)을 실행할 때, 수신된 신호들을 입력 데이터(124)로서 저장할 수 있다. 대안적으로, 회로(110)는, 명령어들(128)을 실행함에 있어서, (예를 들어, 인터페이스(130)를 통해 센서들로부터 수신된 원시 신호들에 일부 처리를 적용함으로써) 신호들에 기초하여 입력 데이터(124)를 생성할 수 있다. 다른 예로서, 회로(110)는 입력 데이터(124)의 표시들을 포함하는 정보 요소들을 다른 컴퓨팅 디바이스(156)로부터 수신하기 위해 명령어들(128)을 실행할 수 있다. 일부 예들에서, 입력 디바이스(152), 출력 디바이스(154) 및/또는 다른 컴퓨팅 디바이스(156) 중 임의의 하나 이상은 강화된 시스템(101)과 함께 패키징될 수 있다. 예들은 이에 관하여 제한되지 않는다.
강화된 시스템(101)은 강화기(140)를 더 포함한다. 일반적으로, 강화기(140)는 강화된 시스템(101)을 목표로 사용될 수 있는 공격 벡터 또는 공격 벡터들에 대한 완화 또는 "강화"를 위해 배열된 하드웨어, 소프트웨어, 및/또는 이들의 조합을 포함할 수 있다. 강화기들(140)의 다수의 예들이 아래의 예들에서 주어진다. 그러나, 여기서, 강화기(140)가 강화된 시스템(101)의 독립형 하드웨어, 소프트웨어, 및/또는 조합 하드웨어 소프트웨어 요소로서 구현되는 것으로 묘사되어 있다는 것을 유의하여야 한다. 대안적으로, 강화기(140)는 강화된 시스템(101) 또는 추론 환경(100)의 요소들 중 임의의 하나 이상의 요소 내에 구현될 수 있다. 예를 들어, 회로(110), 메모리(120), 인터페이스(130), 추론 모델(122), 입력 데이터(124), 출력 데이터(126), 및/또는 명령어들(128)은 강화기(140)를 포함할 수 있다. 다른 예로서, 강화기(140)는 강화된 시스템(101)을 포함할 수 있거나 강화된 시스템(101)과 별개이고 구별될 수 있다. 예를 들어, 강화기는 인터페이스(140), 또는 입력 디바이스(152)와 같은 다른 디바이스의 일부에 결합될 수 있다.
앞서 소개된 바와 같이, 본 개시내용은 추론 모델(122)을 포함하는 시스템(101)과 같은 AI를 이용하는 시스템들에 대한 공격 벡터들을 완화하거나 감소시키도록 배열된 장치들 및 방법들을 제공한다. 따라서, 강화기(140)는 이러한 공격 벡터들을 완화하거나 감소시키기 위해 추론 환경(100) 내에 배열되고 배치된다. 예를 들어, 강화기(140)는 모델 도난(model theft)이라고 일반적으로 지칭되는 공격 벡터들을 완화시키도록 배열될 수 있다. 모델 도난은 추론 모델(122) 자체의 도난이다(예를 들어, 추출, 복제, 리버스 엔지니어링, 모델 반전 등). 강화기(140)는 모델 복제, 추출된 모델의 동작, 모델 반전, 또는 리버스 엔지니어링을 완화시키도록 배열될 수 있다. 예를 들어, 강화기(140)는 훈련 데이터에 대한 정보를 검색하려고 시도하는 프로빙 공격들을 완화하도록 배열될 수 있다. 다른 예로서, 강화기(140)는 일반적으로 적대적 입력들이라고 지칭되는 공격 벡터들을 완화하도록 배열될 수 있다. 적대적 입력들은 입력에 기초하여 추론 시스템을 "기만(fool)하거나" 특정 추론을 트리거하도록 설계된 입력들이다. 강화기(140)는 입력 프로빙 공격들, 입력 왜곡, 입력 수정 등을 완화하도록 배열될 수 있다. 일부 예들에서, 강화기(140)는 (예를 들어, 하나 이상의 입력 디바이스 특성에 기초하여) 입력 데이터 신뢰성, 유효성, 또는 상관들을 증가시키도록 배열될 수 있다. 강화기(140)는 입력 데이터를 무결화(sanitize)하거나 입력 디바이스들을 인증하도록 배열될 수 있다. 다른 예로서, 강화기(140)는 프라이버시 누설 또는 노출을 완화하도록 배열될 수 있다. 예를 들어, 모든 출력들(예를 들어, 정확한 추론, 부정확한 추론, 고확률 추론들, 저확률 추론들, 분류기들의 수 등)은 모델 및/또는 훈련 데이터에 관련한 유용한 정보를 수집하기 위해 적대자에 의해 사용될 수 있다는 점을 이해하여야 한다. 이러한 공격들뿐만 아니라, 다른 타입들의 공격들에 대하여 강화된 시스템들의 다수의 예들이 아래에서 상세하게 설명된다.
일반적으로, 회로(110)는 종래의 중앙 처리 유닛(CPU), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 다른 로직과 같은 하드웨어를 나타낸다. 예를 들어, 회로(110)는 그래픽 처리 유닛(GPU) 또는 가속기 로직을 구현할 수 있다. 특정 예로서, 회로(110)는 Google®의 Tensor processing unit®, 인텔®의 Nervana NNP®(Neural Network Processor), Movidius의 Myriad 2® 프로세서, Mobileeye®의 EyeQ® 프로세서일 수 있다. 일부 예들에서, 회로(110)는 코어들 중 하나 이상이 AI 명령어들을 처리하도록 배열되는 다수의 코어들을 갖는 프로세서일 수 있다. 예를 들어, Qualcomm®의 Snapdragon 845® 프로세서 또는 애플®의 A11/A12 Bionic SoC®이다. 이러한 예들은 한정이 아니라 명료성 및 편의를 위해 제공된다.
회로(110)는 명령어 세트(도시되지 않음)를 포함할 수 있거나, 예를 들어, x86 아키텍처 또는 ARM 아키텍처와 같은 임의의 수의 명령어 세트 아키텍처들을 준수할 수 있다. 이러한 명령어 세트는 32 비트 명령어 세트, 64 비트 명령어 세트 등일 수 있다. 추가적으로, 명령어 세트는 반정도(half-precision), bflaot16 부동 소수점 포맷 등과 같은 저정도(low precision) 산술을 사용할 수 있다. 예들은 이에 관하여 제한되지 않는다.
메모리(120)는 매우 다양한 정보 저장 기술들 중 임의의 것에 기초할 수 있다. 예를 들어, 메모리(120)는 중단없는 전력 제공을 필요로 하는 휘발성 기술들 또는 이를 요구하지 않는 비휘발성 기술들에 기초할 수 있고, 가능하게는 이동식일 수 있거나 이동식이 아닐 수 있는 머신 판독가능 저장 매체의 사용을 수반하는 기술들을 포함할 수 있다. 따라서, 이들 저장소들 각각은, ROM(read-only memory), RAM(random-access memory), DRAM(dynamic RAM), DDR-DRAM(Double-Data-Rate DRAM), SDRAM(synchronous DRAM), SRAM(static RAM), PROM(programmable ROM), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 폴리머 메모리(예를 들어, 강유전성 폴리머 메모리), 오보닉 메모리(ovonic memory), 상변화 또는 강유전성 메모리, SONOS(silicon-oxide-nitride-oxide-silicon) 메모리, 자기 또는 광학 카드, 하나 이상의 개별 강자성 디스크 드라이브, 또는 하나 이상의 어레이로 조직화된 복수의 저장 디바이스(예를 들어, 중복 어레이 독립 디스크(Redundant Array of Independent Disks) 어레이 또는 RAID 어레이로 조직화된 다중 강자성 디스크 드라이브)를 포함하지만 이에 제한되지 않는, 임의의 다양한 타입(또는 타입들의 조합)의 저장 디바이스를 포함할 수 있다.
도 2는 예컨대 앞서 설명한 추론 환경(100)의 강화된 시스템(101)에 의해 추론 환경에서 구현될 수 있는 예시적 기법(200)을 예시한다. 기법(200)은 편의성 및 명료성을 위해 도 1의 추론 환경(100)을 참조하여 설명됨에 유의한다. 그러나, 이는 제한을 의도하지 않는다.
기법(200)은 원 2.1에서 시작할 수 있다. 원 2.1에서, 입력 디바이스(152) 및/또는 다른 컴퓨팅 디바이스(156)는 입력 데이터(124)를 강화된 시스템(101)에 전달할 수 있다. 원 2.2에서, 강화된 시스템(101)은 입력 데이터(124)를 수신할 수 있다. 예를 들어, 입력 데이터(124)는 인터페이스(130)를 통해 전달될 수 있다. 일부 예들에서, 강화기(140)는 입력 디바이스(152), 다른 컴퓨팅 디바이스(156) 또는 추론 모델(122)에 결합되고, 공격 벡터들에 대해 추론 모델(122)을 강화하도록 배열될 수 있다. 예를 들어, 강화기(140)는 입력 데이터(124)를 무결화하도록 배열될 수 있다. 다른 예로서, 강화기(140)는 입력 디바이스(152)를 유효성 검사하도록 배열될 수 있다. 다른 예로서, 강화기(140)는 입력 데이터(124)를 변환하도록 배열될 수 있다. 이들 및 다른 예들은 아래에 더 상세히 설명된다.
기법(200)은 원 2.3으로 계속될 수 있다. 원 2.3에서, 추론 모델(122)은 일부 추론을 수행하거나 출력 데이터(126)를 생성하기 위해 입력 데이터(124)에 대해 실행 또는 동작할 수 있다. 일부 예들에서, 강화기(140)는 추론 모델(122)에 결합될 수 있다. 예를 들어, 추론 모델(122)은 프로빙 공격들을 식별하도록 배열된 다수의 은닉 클래스들을 포함할 수 있다. 다른 예로서, 추론 모델(122)은 암호화될 수 있거나 암호화된 데이터에 작용하도록 배열된 활성화 함수들을 포함할 수 있다. 다른 예로서, 추론 모델(122)은 상이한 컴퓨팅 엔티티들이 추론 모델(122)의 상이한 부분들을 실행할 수 있도록 세그먼트화되거나 파티셔닝될 수 있다. 또한, 다른 예로서, 추론 모델(122)은 디지털 권한 관리를 위해 모델 신원증명을 제공하거나, 프로빙 공격의 표시를 제공하는 등의 다수의 은닉 클래스를 갖도록 배열될 수 있다. 이들 및 다른 예들은 아래에 더 상세히 설명된다.
기법(200)은 원 2.4로 계속될 수 있다. 원 2.4에서, 강화된 시스템(101)은 데이터(126)를 출력할 수 있고, 예를 들어 강화된 시스템(100)은 출력 데이터(126)를 출력 디바이스(154)(및/또는 다른 컴퓨팅 디바이스(156))에 전달할 수 있다. 일부 예들에서, 출력 데이터(126)는 입력 데이터(124)의 분류와 같은 입력 데이터(124)에 관련한 추론을 포함할 수 있다. 원 2.5에서, 출력 디바이스(154)는 출력 데이터(126)를 수신할 수 있다. 예를 들어, 출력 데이터(126)는 인터페이스(130)를 통해 전달될 수 있다. 일부 예들에서, 강화기(140)는 공격 벡터들에 대해 강화하기 위해 강화된 시스템(101)의 출력에 또는 출력 디바이스(154)에 결합될 수 있다. 예를 들어, 강화기(140)는 출력 데이터(124)를 프루닝(prune)하도록 배열될 수 있다. 이러한 그리고 다른 예들은 아래에 더 상세히 설명된다.
도 3은 예컨대, 추론 모델(예를 들어, 추론 모델(122) 등)을 훈련하기 위해 추론 환경(100)의 강화된 시스템(101)에 의해 추론 환경에서 구현될 수 있는 예시적 훈련/시험 기법(300)을 예시한다. 기법(300)은 편의성 및 명료성을 위해 도 1의 추론 환경(100)을 참조하여 설명됨을 유의한다. 그러나, 이는 제한을 의도하지 않는다. 일반적으로, 추론 모델들은 반복 프로세스에 의해 훈련된다. 추론 모델 훈련의 일부 예들이 본 명세서에 주어진다. 그러나, 본 명세서에 제공된 다수의 예들은 추론 모델을 훈련하는데 사용되는 알고리즘과는 독립적으로, 공격에 대항하여 추론 환경들을 강화하도록 구현될 수 있다는 것에 유의한다.
기법(300)은 원 3.1에서 시작할 수 있다. 원 3.1에서, 입력 디바이스(152) 및/또는 다른 컴퓨팅 디바이스(156)는 훈련 데이터 세트(362)를 강화된 시스템(101)에 전달할 수 있다. 원 3.2에서, 강화된 시스템(101)은 훈련 데이터 세트(362)를 수신할 수 있다. 예를 들어, 훈련 데이터 세트(362)는 인터페이스(130)를 통해 전달될 수 있다. 일부 예들에서, 강화기(140)는 입력 디바이스(152), 다른 컴퓨팅 디바이스(156) 또는 추론 모델(122)에 결합되고, 공격 벡터들을 강화하도록 배열될 수 있다. 예를 들어, 강화기(140)는 추론 모델(122)이 동작 동안 적대적 공격들을 식별하도록 훈련될 수 있도록 적대적 공격 입력들 및 연관된 출력을 추가하도록 배열될 수 있다. 이러한 그리고 다른 예들은 아래에 더 상세히 설명된다.
기법(300)은 원 3.3으로 계속될 수 있다. 원 3.3에서, 추론 모델(122)은 일부 추론을 수행하거나 출력 데이터를 생성하기 위해 훈련 데이터 세트(362)로부터의 입력 데이터(124)를 실행하거나 그에 대해 동작할 수 있다. 원 3.4에서, 추론 모델(122)은 훈련 데이터 세트(362)의 입력 데이터 및 훈련 데이터 세트(362)의 대응하는 원하는 출력으로부터 원 3.3에서 생성된 출력에 기초하여 조정될 수 있다. 예를 들어, 추론 모델 가중치, 연결, 층 등은 원 3.4에서 조정될 수 있다. 종종, 원 3.3 및 3.4는 추론 모델(122)이 수용 가능한 성공률(종종 최소 에러 조건에 도달하는 것으로 지칭됨)에 수렴할 때까지 상호작용적으로 반복된다. 추론 모델(122)이 수용 가능한 성공률에 수렴하는지 여부의 결정은 임계값(예를 들어, 임계값 초과, 임계값 이상 등)과의 비교에 기초하여 이루어질 수 있다. 일부 예들에서, 훈련된 추론 모델은 출력 데이터(126)로서 제공될 수 있다. 일부 예들에서, 강화기(140)는 추론 모델(122)에 결합될 수 있다. 예를 들어, 추론 모델(122)은 훈련 데이터 세트(362)를 감염시키는 악성 입력 데이터에 기초하여 원 3.4에서 이루어진 조정들을 취소하기 위한 롤백 특징을 포함할 수 있다. 이러한 그리고 다른 예들은 아래에 더 상세히 설명된다.
추론 모델(122)이 훈련되면, 추론 모델(122)이 테스트될 수 있다. 원 3.5에서, 입력 디바이스(152) 및/또는 다른 컴퓨팅 디바이스(156)는 시험 데이터 세트(364)를 강화된 시스템(101)에 전달할 수 있다. 원 3.6에서, 강화된 시스템(101)은 시험 데이터 세트(364)를 수신할 수 있다. 예를 들어, 시험 데이터 세트(362)는 인터페이스(130)를 통해 전달될 수 있다. 원 3.7에서, 추론 모델(122)은 시험 데이터 세트(364)의 입력 데이터를 실행하거나 그에 대해 동작하여 일부 추론을 수행하거나 출력 데이터(126)를 생성할 수 있다. 원 3.8에서, 강화된 시스템(101)은 출력 데이터(126)를, 예를 들어, 출력 디바이스(154)(및/또는 다른 컴퓨팅 디바이스(156))에 전달할 수 있다. 원 3.9에서, 출력 디바이스(154)는 출력 데이터(126)를 수신할 수 있고 출력 데이터(126)를 시험 데이터 세트(324)로부터의 원하는 출력 데이터와 비교하여 추론 모델(122)이 정확한 출력을 얼마나 잘 추론하거나 생성하는지를 결정할 수 있다. 일부 예들에서, 시험의 결과들은 출력 데이터(126)로서 제공될 수 있다. 종종 입력 디바이스(152) 및 출력 디바이스(154)는 추론 모델의 훈련 및 시험 동안 동일할 수 있다는 점에 유의한다. 일부 예들에서, 강화기(140)는 추론 모델(122)에 결합될 수 있다. 예를 들어, 추론 모델(122)은 나중에 훈련 데이터 세트(362)를 사용한 추론 모델(122)의 훈련을 증명하기 위해 신뢰할 수 있는 방식으로 훈련 데이터 세트(362)와 연관될 수 있다. 이러한 그리고 다른 예들은 아래에 더 상세히 설명된다.
이제, 강화된 추론 시스템들의 다수의 예들 및 이러한 시스템들에 의해 완화될 수 있는 공격 벡터들의 특정 예들을 제공하는 것에 대한 설명으로 돌아간다. 예들은 관련된 공격 벡터들에 기초하여 섹션들로 대략적으로 정리되어 있다. 모델 도난(또는 IP 도난)에 관련된 공격 벡터들을 완화시키도록 구현될 수 있는 예들이 섹션 1에서 함께 그룹화된다. 적대적 입력들과 관련된 공격 벡터들을 완화하도록 구현될 수 있는 예들은 섹션 II에서 함께 그룹화된다. 데이터 신뢰를 제공하도록 구현될 수 있는 예들은 섹션 III에서 함께 그룹화된다. 향상된 추론 모델 훈련을 제공하도록 구현될 수 있는 예들은 섹션 IV에서 함께 그룹화된다. 추론 모델에 대한 향상된 프라이버시 특징들을 제공하도록 구현될 수 있는 예들은 섹션 V에서 함께 그룹화된다. 마지막으로, 섹션 VI는 일반적으로 공격 벡터들을 완화하도록 구현될 수 있는 예들을 제공한다. 그러나, 일 예가 공격 벡터들의 타입 또는 그룹화와 관련된 하나의 섹션에서 논의될 수 있지만, 그 예들은 다른 섹션들에서 설명된 다른 공격 벡터들을 완화하도록 구현될 수 있다는 점에 유의한다. 또한, 다수의 타입의 공격 벡터들을 완화하기 위한 강화된 시스템들을 제공하기 위해 다수의 예가 조합될 수 있다. 예들은 이에 관하여 제한되지 않는다.
섹션 I - 추론 모델 도난
프로빙을 통한 모델 재생성을 완화하기 위한 출력 트리밍
도 4는 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(401)을 예시한다. 강화된 시스템(401)은 회로(410), 메모리(420) 및 입력 디바이스(452)를 포함한다. 메모리(420)는 추론 모델(422), 입력 데이터(424), 출력 데이터(426), 명령어들(428), 추론 확률(423), 임계값(425), 및 널 출력 데이터(427)를 저장한다. 동작 동안, 회로(410)는 입력 데이터(424)로부터 출력 데이터(426)를 생성하기 위해 명령어들(428) 및/또는 추론 모델(422)을 실행할 수 있다.
추론 시스템들에 대한 공통 공격은 종종 "프로빙(probing)"으로 지칭되는 추론 시스템의 반복 질의이다. 프로빙 동안, 공격자는, 예를 들어, 분류 카테고리들과 같은 시스템 거동을 학습하려는 시도로 시스템에 대해 다수의 질의들을 실행한다. 특정 예로서, 이미지들을 분류하도록 배열된 추론 시스템은 추론 시스템이 이미지들을 분류하기 위해 훈련되는 카테고리들의 타입들을 식별하기 위해 반복적으로 질의될 수 있다. 본 개시내용은 추론 확률이 임계 레벨 미만인 경우에 출력을 트리밍하거나 마스킹하도록 배열된 강화된 시스템(401)을 제공한다.
예를 들어, 동작 동안, 회로(410)는 입력 데이터(424)를 수신하기 위해 명령어들(428)을 실행할 수 있다. 회로(410)는 입력 데이터(424)로부터 출력 데이터(426)를 생성하기 위해 추론 모델(422)을 실행할 수 있다. 회로(410)는 출력(426)이 임계값(425) 위의 추론 확률(423)을 갖는지를 결정하기 위해 명령어들(428)을 실행할 수 있다. 달리 말하면, 회로(410)는 출력(426)이 정확할 확률이 임계 레벨보다 더 큰지를 결정하기 위해 명령어들(428)을 실행할 수 있다. 일반적으로, 임계값(425)은 프로빙을 억제하기에 충분히 유의한 임의의 값, 예를 들어, 80% 정확, 85% 정확, 90% 정확, 95% 정확, 99% 정확 등일 수 있다. 일부 예들에서, 임계값(425)은 (예를 들어, 질의 소스, 공격 확률, 질의 빈도, 동일한 소스 또는 유사한 소스들로부터의 질의 빈도 등에 기초하여) 동적으로 계산될 수 있다. 다른 예들에서, 임계값(425)은 모델 소유자 또는 인가된 관리자에 의한 동작 동안 또는 그 이전에, 예를 들어, 모델 생성 시에 정적으로 설정될 수 있다.
회로(410)는 결정된 추론 확률(423)이 임계값(425)보다 더 큰 경우에 출력 데이터(426)를 제공하고 결정된 추론 확률(423)이 임계값(425)보다 더 큰 경우에 널 출력 데이터(427)를 제공하기 위해 명령어들(428)을 실행할 수 있다. 일부 예에서, 널 출력 데이터(427)는 (예를 들어, 분류 시스템의 경우) "없음"일 수 있다.
도 5는 로직 흐름(500)을 예시한다. 로직 흐름(500)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(401)(또는 그 컴포넌트들)은 추론 시스템으로부터의 출력을 트리밍하여 프로빙을 억제하기 위해 로직 흐름(500)의 동작들을 수행할 수 있다.
로직 흐름(500)은 블록 510 "입력 데이터 수신"에서 시작할 수 있고, 시스템(401)은 입력 데이터(424)를 수신할 수 있다. 예를 들어, 강화된 시스템(401)은 입력 디바이스(452)로부터 입력 데이터(424)를 수신할 수 있다. 블록 520 "추론 모델을 통해, 수신된 입력에 기초하여 출력을 생성"으로 계속되어, 시스템(401)은 추론 모델(422)을 통해 입력 데이터(424)로부터 출력 데이터(426)를 생성할 수 있다. 예를 들어, 회로(410)는 입력 데이터(424)로부터 출력 데이터(426)를 생성하기 위해 추론 모델(422)을 실행할 수 있다. 블록 530 "생성된 출력의 추론 확률을 결정"으로 계속되어, 시스템(401)은 생성된 출력의 추론 확률을 결정할 수 있다. 예를 들어, 회로(410)는 출력 데이터(426)의 추론 확률(423)을 결정하기 위해 명령어들(428)을 실행할 수 있다.
판정 블록 540 "추론 확률이 임계값보다 큰가?"로 계속되어, 시스템(401)은 블록 530에서 결정된 추론 확률이 임계 레벨보다 더 큰지를 결정할 수 있다. 예를 들어, 회로(410)는 추론 확률(423)이 임계값(425)보다 더 큰지를 결정하기 위해 명령어들(428)을 실행할 수 있다. 블록 540으로부터, 로직 흐름(500)은 어느 하나의 블록(550 또는 560)으로 계속될 수 있다. 추론 확률(423)이 임계값(425)보다 더 크다는 결정에 기초하여 로직 흐름(500)은 블록 540으로부터 블록 550으로 계속될 수 있는 반면, 추론 확률(423)이 임계값(425)보다 더 크지 않다는 결정에 기초하여 로직 흐름(500)은 블록 540으로부터 블록 560으로 계속될 수 있다.
블록 550 "생성된 출력을 제공"에서, 시스템(401)은 블록 520에서 생성된 출력을 제공할 수 있다. 예를 들어, 회로(410)는 출력 데이터(426)를 (예를 들어, 출력 디바이스, 다른 컴퓨팅 디바이스 등에) 제공하기 위해 명령어들(428)을 실행할 수 있다. 블록 560 "널 출력을 제공"에서, 시스템(401)은 널 출력 데이터를 제공할 수 있다. 예를 들어, 회로(410)는 널 출력 데이터(427)를 (예를 들어, 출력 디바이스에, 다른 컴퓨팅 디바이스에 등) 제공하기 위해 명령어들(428)을 실행할 수 있다.
모델 디지털 권한 관리를 위한 보안 마킹
도 6은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(601)을 예시한다. 강화된 시스템(601)은 회로(610), 메모리(620), 인터페이스(630), 입력 디바이스(652) 및 신뢰할 수 있는 실행 환경(TEE)(670)을 포함한다. 메모리(620)는 추론 모델(622), 입력 데이터(624), 출력 데이터(626) 및 명령어들(628)을 저장한다. TEE(670)는 마커(672) 및 명령어들(674)을 저장한다. 일반적으로, TEE(670)는 시스템(601) 내의 임의의 신뢰할 수 있는 실행 엔클레이브 또는 파티션일 수 있다. 예를 들어, TEE(670)는 회로(610) 내의 신뢰할 수 있는 실행 파티션일 수 있다. 다른 예로서, TEE(670)는 신뢰할 수 있는 방식으로 회로(610) 및 메모리(620)로부터 세그먼트화된 그 자신의 회로 및 메모리(도시되지 않음)를 포함할 수 있다. 일반적으로, TEE(670)는 마커(672)의 기밀성과 함께 (예를 들어, 명령어들(674)의) 격리된 실행과 같은 보안 특징들을 제공할 수 있다.
예를 들어, TEE(670)는 본 명세서에 설명되는 기능들을 구현하는 명령어들을 실행하도록 안전하게 배열되는 회로 및/또는 저장소를 포함할 수 있다. 본 명세서에서 사용되는 TEE는 임의의 수의 보안 실행 파티션(예를 들어, SGX(Software Guard Extension), IME(Intel® Manageability engine), IE(Innovation Engine), Apple®에 의한 보안 엔클레이브, TrustZone 등)을 포함할 수 있다. TEE는 메모리(TEE의 일부인 보안 메모리, 또는 다른 메모리) 내에 저장된 명령어들을 실행할 수 있다는 점에 유의한다. 이러한 명령어들은 TEE로 하여금 본 명세서에 설명되는 기법들을 수행하게 하도록 TEE의 회로 또는 처리 컴포넌트(들) 상에서 동작하는 컴퓨터 실행 가능 명령어들을 포함할 수 있다. TEE는 더 큰 회로(예를 들어, 프로세서, SoC 등)에 통합되고 본 명세서에 설명된 디바이스들의 일부로서 제공될 수 있다는 점에 유의하는 것이 중요하다.
훈련된 추론 모델들(예를 들어, 추론 모델(622))은 매우 가치있는 지적 재산 자산이며, 이는 적대적 제3자에 의해 도난당해 다른 제품들(예컨대, 경쟁자 제품들)에서 제어불가능한 방식으로 사용될 수 있음을 이해하여야 한다. 따라서, 추론 모델의 부적절한 사용을 검출하는 능력이 바람직하다. 본 명세서에서 상세히 설명되는 일부 접근법들은 모델 사용의 검출을 지원하기 위해 소위 "백도어 클래스들"을 사용할 수 있다. 예를 들어, 추론 모델들은 은닉 클래스로 훈련되며, 이는 적절한 질의가 시스템에 전송될 때 추론되거나 출력될 수 있다. 이 질의 및 대응하는 은닉 클래스 출력은 인가되지 않은 사용을 검출하기 위해 추론 모델의 소유자에 의해 사용될 수 있다. 그러나, 이와 같은 은닉 클래스들의 사용은 여전히 본연의 부정확성들에 취약하므로, 일부 경우들에서, 은닉 클래스는 오분류될 수 있다. 또한, 은닉 클래스들을 추론 시스템에 추가하는 것(예를 들어, 은닉 클래스로 추론 시스템을 훈련하는 것)은 성능 저하뿐만 아니라 훈련 프로세스의 더 높은 비용을 초래할 수 있다. 추가적으로, 이 방법은 확장가능하지 않은데, 그 이유는 새로운 은닉 클래스를 추가하는 것이 모델 용량을 감소시킬 것이기 때문이다.
본 개시내용은 유입 질의를 매칭시켜 인가되지 않은 사용을 결정하는 데 사용될 수 있는 마커(672)를 갖는 시스템(601)을 제공한다. 마커(472)는 예를 들어 TEE(670)를 통해 보안 방식으로 암호화되고 저장된다는 점에 유의한다. 따라서, 마커(672)는 워터마크 또는 디지털 권한 관리 토큰으로서 사용될 수 있다. 동작 동안, TEE(670)는 입력 데이터(624)를 마커(672)와 매칭시키기 위해 명령어들(674)을 실행할 수 있다. 일부 예들에서, TEE(670) 내의 명령어들(674)은 비트 단위 비교기에 의해 구현될 수 있다. 이와 같이, 동작 동안, TEE(670)는 입력 데이터(624)와 마커(672)의 비트 단위 비교를 적용하여 입력 데이터(624)가 마커(672)와 매칭되는지를 결정할 수 있다. 일부 예들에서, TEE(670)는 입력 데이터(624)의 부분들이 마커(672)와 매칭되는지를 (예를 들어, 비트 단위 비교 등을 통해) 결정하기 위해 명령어(674)를 실행할 수 있다. 특정 예로서, TEE(670)는, 명령어들(674)을 실행함에 있어서, 입력 데이터(624)의 선택된 비트들(예를 들어, 비트들 x 내지 y, 여기서 x 및 y는 정수들이고 x는 1 이상이고 y는 x보다 더 큼)을 마커(672)와 비교할 수 있다. 즉, "마커"는 입력 데이터(624) 내의 어디에나 삽입될 수 있다. 따라서, 동작 동안 TEE(670)는 입력 데이터(624) 내의 그 특정 위치(예를 들어, 비트들의 특정 범위 등)를 조사하고 그 위치가 마커(672)와 매칭되는지를 결정하도록 구성될 수 있다.
입력 데이터(624)와 마커(672) 사이의 매칭이 결정되지 않는 경우, TEE(670)는 명령어들(674)을 실행할 때, 비인가 추론 모델(622) 사용의 표시를 (예를 들어, 출력 데이터(626) 등을 통해) 출력할 수 있다. 매칭이 발견되는 경우, 추론 모델(622)은 정상으로서 사용될 수 있다. 시스템(601)은 강건하고 확장가능하다는 점을 유의하는 것이 중요하다. 또한, 시스템(601)은 (예를 들어, 마커(674) 등을 업데이트함으로써) 장래에 수정될 수 있다. 일부 예들에서, 마커(674)는 사전 로딩(예를 들어, 제조 등)될 수 있다. 마커(674)는, 예를 들어, TEE(670)에서 e-prom에 저장되거나, 1회용 퓨즈들에 의해 인코딩될 수 있다.
도 7은 로직 흐름(700)을 예시한다. 로직 흐름(700)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(601)(또는 그 컴포넌트들)은 추론 모델의 인가되지 않은 사용을 검출하기 위해 로직 흐름(700)의 동작들을 수행할 수 있다.
로직 흐름(700)은 블록 710 "입력 데이터 수신"에서 시작할 수 있고, 시스템(601)은 입력 데이터(624)를 수신할 수 있다. 예를 들어, 강화된 시스템(601)은 입력 디바이스(652)로부터 입력 데이터(624)를 수신할 수 있다. 블록 720 "입력 데이터를 마커에 매칭"으로 계속되어, 시스템(601)은 수신된 입력 데이터를 마커에 매칭시킬 수 있다. 예를 들어, TEE(670)는 입력 데이터(624)를 마커(672)에 매칭시키기 위해 명령어들(674)을 실행할 수 있다.
판정 블록 730 "마커가 입력과 매칭되는가?"로 계속되어, 시스템(601)은 마커가 입력과 매칭되는지를 결정할 수 있다. 예를 들어, 회로(610)는 TEE(670)가 마커(674) 매칭된 입력 데이터(624)를 나타내는지를 결정하기 위해 명령어들(628)을 실행할 수 있다. 블록 730으로부터, 로직 흐름(700)은 어느 하나의 블록(740 또는 750)으로 계속될 수 있다. 마커(674)가 입력 데이터(624)와 매칭되지 않는다는 결정에 기초하여 로직 흐름(700)은 블록 730으로부터 블록 740으로 계속될 수 있는 반면, 마커(674)가 입력 데이터(624)와 매칭된다는 결정에 기초하여 로직 흐름(700)은 블록 730으로부터 블록 750으로 계속될 수 있다.
블록 740 "추론 모델을 통해, 수신된 입력에 기초하여 출력을 생성"에서, 시스템(601)은 추론 모델(622)을 통해 입력 데이터(624)로부터 출력 데이터(626)를 생성할 수 있다. 예를 들어, 회로(610)는 입력 데이터(624)로부터 출력 데이터(626)를 생성하기 위해 추론 모델(622)을 실행할 수 있다. 블록 750 "인가되지 않은 사용의 표시를 출력"에서, 시스템(601)은 추론 모델(622)의 인가되지 않은 사용의 표시를 출력할 수 있다. 달리 말하면, 시스템(601)은 수신된 입력 데이터(624)의 제공자가 추론 모델(622)에 대한 적절한 소유권 권한을 갖는지를 결정할 수 있다.
일부 예들에서, 입력 데이터는 하나 이상의 추론 모델, 또는 추론 모드의 특징에 대한 소유권, 유효한 라이센스, 또는 인가된 사용 권한을 결정하기 위해 다수의 마크와 비교될 수 있다. 도 8은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(801)을 예시한다. 강화된 시스템(801)은 회로(810), 메모리(820), 인터페이스(830), 입력 디바이스(852) 및 신뢰할 수 있는 실행 환경(TEE)(870)을 포함한다. 메모리(820)는 추론 모델들(822-n), 입력 데이터(824), 출력 데이터(826) 및 명령어들(828)을 저장한다. TEE(870)는 마커들(872-n) 및 명령어들(874)을 저장한다.
일반적으로, 시스템(801)은 마커들(872-n) 중 하나와 매칭되는 입력 데이터(824)에 기초하여 추론 모델들(822-n) 중 하나를 가능화하도록 배열될 수 있다. 예를 들어, 이 도면은 추론 모델들(822-1, 822-2, 및 822-3)을 포함하는 메모리(820)를 묘사하고, TEE(870)는 마커들(872-1, 872-2, 및 872-3)을 저장한다. 동작 동안, TEE(870)는 입력 데이터(824)를 마커들(872-1, 872-2, 또는 872-3) 중 하나와 매칭시키기 위해 명령어들(874)을 실행할 수 있다. 일부 예들에서, TEE(870) 내의 명령어들(874)은 비트 단위 비교기에 의해 구현될 수 있다. 이와 같이, 동작 동안, TEE(870)는 입력 데이터(824)와 마커들(872-1, 872-2, 또는 872-3)의 비트 단위 비교를 적용하여 입력 데이터(824)가 하나 이상의 마커(872-1, 872-2, 또는 872-3)와 매칭되는지를 결정할 수 있다.
입력 데이터(824)와 마커들(872-1, 872-2, 또는 872-3) 중 하나 사이의 매칭이 결정되는 경우, 입력 데이터 제공자는 대응하는 추론 모델에 대한 권한들(예를 들어, 소유권 권한, 라이센스 권한 등)을 갖는 것으로 가정될 수 있다. 따라서, TEE(870)는, 명령어들(874)을 실행할 때, 입력 데이터(824)가 마커들(872-1, 872-2, 또는 872-3) 중 하나와 매칭된다는 결정에 기초하여 모델들(822-1, 822-2, 또는 822-3) 중 대응하는 하나를 가능화할 수 있다.
일부 예들에서, 입력 데이터는 마커를 위조하려는 시도로 입력 데이터가 제3자에 의해 도난 및/또는 재생성되는 것을 완화하기 위해 암호화될 수 있다. 도 9는 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(901)을 예시한다. 강화된 시스템(901)은 회로(910), 메모리(920), 인터페이스(930), 입력 디바이스(952) 및 신뢰할 수 있는 실행 환경(TEE)(970)을 포함한다. 메모리(920)는 추론 모델(922), 암호화된 입력 데이터(924), 출력 데이터(926) 및 명령어(928)를 저장한다. TEE(970)는 마커(972), 명령어들(974), 복호화된 입력 데이터(975), 및 키(976)를 저장한다.
일반적으로, 시스템(901)은 마커(972)와 매칭되는 입력 데이터(924)에 기초하여 추론 모델(922)을 사용하기 위한 소유권 또는 인가를 검사하도록 시스템(401)과 유사하게 배열될 수 있다. 그러나, 강화된 시스템(901)은, 메모리(920)에 저장된 입력이 암호화되어 입력 데이터가 마커(972)를 재생성하거나 위조하기 위해 적대자에 의해 사용되는 것을 방지하는 것을 더 포함한다.
동작 동안, TEE(970)는 키(976)를 사용하여 암호화된 입력 데이터(924)를 복호화하고 복호화된 입력 데이터(975)를 마커(972)와 매칭시키기 위해 명령어들(974)을 실행할 수 있다.
적대적 워터마킹을 통한 도난 모델 검출
언급한 바와 같이, 훈련된 추론 모델은 매우 가치있는 지적 재산 자산이며, 이는 적대적 제3자에 의해 도난당해 다른 제품(경쟁자 제품 등)에서 제어불가능한 방식으로 사용될 수 있다. 따라서, 추론 모델의 부적절한 사용을 검출하는 능력이 바람직하다. 본 개시내용의 일부 예들에서, 비인가 모델 사용을 용이하게 하기 위해 일부 적대적 입력들을 분류하도록 훈련된 추론 모델이 제공될 수 있다.
적대적 입력들은 정정된 분류에 매우 가깝지만 정확하지는 않은 입력들이라는 것을 이해하여야 한다. 예를 들어, 칼을 분류하도록 설계된 분류 시스템에 대한 적대적 입력은 펜으로 위장된 칼을 칼이 아니라 펜으로 분류할 수 있다. 본 개시내용은 다수의 적대적 입력들을 분류하도록 훈련되는 추론 모델을 제공한다. 따라서, 추론 모델은 모델이 훈련되는 적대적 입력 세트에 대해 실행되어, 적대적 입력들의 정확한 분류를 도출할 수 있다. 따라서, (예를 들어, 인가되지 않은 사용들을 식별하기 위한) 모델 사용의 결정은 적대적 입력 세트에 의해 용이해질 수 있다. 적대적 입력 세트를 상이한 모델(예를 들어, 적대적 입력 세트에 대해 훈련되지 않은 모델)에 제공하면 모델들이 상이하다는 것을 표시하는 잘못된 분류들(예를 들어, 칼을 펜으로 분류하는 것 등)을 야기할 것이다. 적대적 입력들의 전이성(transferability)의 특성들로 인해, 모델의 분류에 대한 임의의 무작위 변경은 적대적 입력들의 수 퍼센트를 초과한 결과들을 변경하지 않으면서 정상 입력 세트에 대한 부인 방지를 생성하기에 충분해야 한다. 따라서, 모델이 적대자에 의해 수정되더라도, 본 명세서에서 상세히 설명된 적대적 입력 분류 검출 특징들을 제거하는 것은 어려울 것이다. 따라서, 모델이 복사되었다는 사실을 숨기는 것은 어려울 것이다.
도 10a는 추론 모델을 훈련하는 예시적 시스템(1001)을 예시한다. 시스템(1001)은 회로(1010) 및 메모리(1020)를 포함한다. 메모리(1020)는 추론 모델(1022), 명령어들(1028), 시험/훈련 데이터 세트(1060) 및 출력 데이터(1026)를 저장한다. 시험/훈련 데이터 세트(1060)는 시험 데이터(1062) 및 훈련 데이터(1064) 둘 모두를 포함한다. 시험 데이터(1062) 및 훈련 데이터(1064)는 예를 들어 도 3의 기법(300)을 사용하여 추론 모델(1022)을 "훈련"하는데 사용될 수 있다.
시험/훈련 데이터 세트(1060)의 예가 도 10b에 묘사된다. 이 도면을 간략히 참조하면, 시험/훈련 데이터 세트(1060)는 입력들(1061) 및 적대적 입력들(1063)을 포함한다. 시험/훈련 데이터 세트(1060)는 또한, 각각의 입력(1061) 및 적대적 입력(1063)에 대해, 예상 출력(1065)을 포함한다. 일반적으로, 입력들(1061)은 모델이 훈련(또는 시험)되어야 하는 정상 입력들일 수 있는 반면, 적대적 입력들은 본 명세서에 설명되는 바와 같은 모델 도난 검출 특징들을 제공하기 위해 모델이 훈련(또는 시험)되어야 하는 적대적 입력들일 수 있다. 입력들(1061)은 입력 값(들)(1061-n)을 포함할 수 있고, 여기서 n은 양의 정수인 반면, 적대적 입력들(1063)은 적대적 입력 값(들)(1063-m)을 포함할 수 있고, 여기서 m은 양의 정수이다. 실시 동안, 입력들(1061) 및 적대적 입력들(1063)의 수는 상당히 클 수 있다는 점에 유의한다. 그러나, 이 도면은 표현의 명확성을 위해 몇몇 개의 입력을 묘사하고 있다. 예를 들어, 입력들(1061)에 대해 입력 값(들)(1061-1), 입력 값(들)(1061-2), 입력 값(들)(1061-3), 입력 값(들)(1061-4), 입력 값(들)(1061-5) 내지 입력 값(들)(1061-N)이 도시되어 있다. 마찬가지로, 적대적 입력들(1063)에 대해 적대적 입력 값(들)(1063-1), 적대적 입력 값(들)(1063-2), 적대적 입력 값(들)(1063-3) 내지 적대적 입력 값(들)(1063-M)이 도시되어 있다.
각각의 입력 값(1061-n) 및 적대적 입력 값(1063-m)에 대해, 연관된 예상 출력(1065)이 도시되어 있다. 각각의 예상 출력은 추론 모델(1022)이 입력들을 할당하도록 훈련되는 추론(예를 들어, 분류 등)에 대응할 수 있다. 예를 들어, 예상 출력(1065)은 입력이 추론 모델(1022)에 의해 분류되는 클래스(1067)의 표시를 포함한다. 예를 들어, 클래스(1067-1), 클래스(1067-2) 및 클래스(1067-3)가 묘사되어 있다. 추론 모델은 입력들을 임의의 수의 클래스들로 분류하도록 훈련될 수 있다는 점에 유의한다. 그러나, 여기에 묘사된 수는 표현의 명확성을 위해 선택된다.
회로(1010)는 예를 들어 도 3을 참조하여 설명된 바와 같이 시험/훈련 데이터 세트(1060)를 사용하여 추론 모델(1022)을 훈련하기 위해 명령어들(1028)을 실행할 수 있다. 따라서, 동작 동안, 훈련된 추론 모델(1022)은 적대적 입력들(1063)을 추론 모델에 제공하고 출력들(1026)을 대응하는 예상 출력들(1065)과 비교함으로써 인가되지 않은 사용(예를 들어, 모델 도난 등을 표시함)을 결정하기 위해 사용될 수 있다. 적대적 입력들(1063)에 대한 정확한 분류는 추론 모델이 추론 모델(1022)과 동일하다는 것을 나타낼 수 있다. 예를 들어, 적대적 입력(1063-M)의 클래스(1067-2)로의 분류는 적대적 입력(1063-M)이 제공된 추론 모델이 추론 모델(1022)과 동일하다는 것을 나타낼 수 있다.
도 11은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(1101)을 예시한다. 강화된 시스템(1101)은 회로(1110), 메모리(1120) 및 입력 디바이스(1152)를 포함한다. 메모리(1120)는 추론 모델(1122), 입력 데이터(1124), 출력 데이터(1126) 및 명령어들(1128)을 저장한다. 일부 예들에서, 메모리(1120)는 또한 분류 임계값(1123)을 포함할 수 있다. 동작 동안, 회로(1110)는 입력 데이터(1124)로부터 출력 데이터(1126)를 생성하기 위해 명령어들(1128) 및/또는 추론 모델(1122)을 실행할 수 있다. 추론 모델(1122)은 다수의 적대적 입력들(예를 들어, 적대적 입력들(1063-m) 등)로 훈련되는 추론 모델(1022)과 유사할 수 있다. 따라서, 적대적 입력들(1063-m)을 추론 모델(1122)에 제공하고 출력 데이터(1126)를 적대적 입력들(1063-m)에 대한 예상 출력들(1065)과 비교하는 것은 모델 도난의 신원증명을 용이하게 할 수 있다.
예를 들어, 동작 동안, 회로(1110)는 입력 데이터(1152)를 수신하기 위해 명령어들(1128)을 실행할 수 있다. 회로(1110)는 입력 데이터(1124)로부터 출력 데이터(1126)를 생성하기 위해 추론 모델(1122)을 실행할 수 있다. 입력 데이터(1152)가 적대적 입력들(1063-m)에 대응하는 경우, 회로(1110)는 출력(1126)이 적대적 입력들(1063-m)에 대한 예상 출력(1065)에 대응하는지를 결정하기 위해 명령어들(1128)을 실행할 수 있다. 달리 말하면, 회로(1110)는 추론 모델(1122)이 입력 데이터(1124)(예를 들어, 적대적 입력(1063-m))를 정확한 클래스(1067)로 분류했는지를 결정하기 위해 명령어들(1128)을 실행할 수 있다. 추론 모델(1122)이 적대적 입력들을 정확하게 분류하는 경우, 모델(1122)은 모델(1022)이라고 가정될 수 있다.
일부 예들에서, 추론 모델(1122)이 적대적 입력들을 분류 임계값(1123)을 초과하는 횟수로 정확하게 분류하는 경우에 추론 모델(1122)이 불법적으로 사용되고 있다고 가정될 수 있다. 일부 예들에서, 추론 모델(1122)이 적대적 입력들을 분류하는 횟수가 카운팅되고 수시로(rolling basis)(예를 들어, 시간 기반, 제시된 적대적 입력들의 수, 입력들의 총 수 등) 분류 임계값(1123)과 비교될 수 있다.
도 12는 로직 흐름(1200)을 예시한다. 로직 흐름(1200)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(1101)(또는 그 컴포넌트들)은 모델의 인가되지 않은 사용(예를 들어, 모델 도난)을 검출하기 위해 로직 흐름(1200)의 동작들을 수행할 수 있다.
로직 흐름(1200)은 블록 1210 "입력 데이터 수신"에서 시작할 수 있고, 시스템(1101)은 입력 데이터(1124)를 수신할 수 있다. 예를 들어, 강화된 시스템(1101)은 입력 디바이스(1152)로부터 입력 데이터(1124)를 수신할 수 있다. 일부 경우들에서, 입력 데이터는 도 10a 및 도 10b의 시험/훈련 데이터 세트(1060)의 적대적 입력들(1063-m) 중 임의의 것에 대응할 수 있다.
블록 1220 "추론 모델을 통해, 수신된 입력에 기초하여 출력을 생성"으로 계속되어, 시스템(1101)은 추론 모델(1122)을 통해 입력 데이터(1124)로부터 출력 데이터(1126)를 생성할 수 있다. 예를 들어, 회로(1110)는 입력 데이터(1124)로부터 출력 데이터(1126)를 생성하기 위해 추론 모델(1122)을 실행할 수 있다. 판정 블록 1230 "입력 데이터가 적대적인가?"로 계속하여, 시스템(1101)은 입력 데이터(1124)가 적대적인지(예를 들어, 입력들이 입력들(1063-m)인지 등)를 결정할 수 있다. 예를 들어, 회로(1110)는 입력들(1124)이 적대적인지를 결정하기 위해 명령어들(1128)을 실행할 수 있다. 판정 블록 1230으로부터, 로직 흐름(1200)은 판정 블록 1240 또는 블록 1250 중 어느 하나로 계속될 수 있다. 입력들이 적대적이지 않다는 결정에 기초하여 로직 흐름(1200)은 판정 블록 1230으로부터 블록 1240으로 계속될 수 있는 반면, 입력들이 적대적이라는 결정에 기초하여 로직 흐름(1200)은 판정 블록 1230으로부터 판정 블록 1240으로 계속될 수 있다.
판정 블록 1240 "입력 데이터가 정확하게 분류되었는가?"에서, 시스템(1101)은 입력들(1124)이 정확하게 분류되는지를 결정할 수 있다. 예를 들어, 회로(1110)는 입력 데이터(1124)로부터 추론 모델(1122)에 의해 생성된 출력 데이터(1126)가 입력 데이터(1124)가 대응하는 적대적 입력들을 정확하게 분류하는지를 결정하기 위해 명령어들(1128)을 실행할 수 있다. 특정 예로서, 적대적 입력이 펜으로서 위장된 칼이면, 판정 블록 1240에서, 추론 모델(1122)이 칼을 펜으로서 부정확하게 분류하는 것과는 대조적으로 칼을 칼로서 정확하게 분류했는지에 대한 결정이 이루어질 수 있다. 판정 블록 1240으로부터, 로직 흐름(1200)은 블록 1250 또는 블록 1260 중 어느 하나로 계속될 수 있다. 입력 데이터가 정확하게 분류되지 않았다는 결정에 기초하여 로직 흐름(1200)은 판정 블록 1240으로부터 블록 1250으로 계속될 수 있는 반면, 입력 데이터가 정확하게 분류되었다는 결정에 기초하여 로직 흐름(1200)은 판정 블록 1240으로부터 블록 1260으로 계속될 수 있다.
블록 1250 "생성된 출력을 제공"에서, 시스템(1101)은 추론 모델(1122) 및 입력 데이터(1124)로부터 생성된 출력을 제공할 수 있다. 예를 들어, 회로(1110)는 추론 모델(1122)을 실행하여 출력 데이터(1126)를 (예를 들어, 호스트 시스템, 인터커넥트를 통해 결합된 시스템 등에) 제공할 수 있다.
블록 1260 "모델 사용이 인가되지 않았다는 표시를 제공"에서, 시스템(1101)은 모델 사용이 인가되지 않았다는(예를 들어, 모델이 도난되었다는 등) 표시를 제공할 수 있다. 예를 들어, 회로(1110)는, 명령어(1128)를 실행하는데 있어서, 모델(1122)이 모델(1022)과 동일할 수 있다는 표시(예를 들어, 모델(1122)이 도난되었다는 표시 등)를 포함하는 정보 요소를 보고 기관(또는 이와 유사한 것)에 전송할 수 있다. 블록 1260으로부터, 로직 흐름(1200)은 블록 1250으로 계속될 수 있다.
일부 예들에서, 분류 임계값(1123)이 초과되는 경우 비인가 모델 사용의 표시가 제공될 수 있다. 즉, 블록 1260 자체는 분류 임계값(1123)이 초과되었는지를 결정하기 위한 로직 흐름에 대응할 수 있다. 도 13은 로직 흐름(1300)을 예시한다. 로직 흐름(1300)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(1101)(또는 그 컴포넌트들)은, 도 12의 블록 1260에서와 같이, 모델의 인가되지 않은 사용의 표시(예를 들어, 모델 도난)를 출력할지를 결정하기 위해 로직 흐름(1300)의 동작들을 수행할 수 있다.
로직 흐름(1300)은 시스템(1101)이 카운터를 증분시킬 수 있는 블록 1310 "카운터 증분"에서 시작할 수 있다. 판정 블록 1320 "분류 임계값 초과?"로 계속하여, 시스템(1101)은 (예를 들어, 카운터 등에 의해) 분류 임계값(1123)이 초과되었는지를 결정할 수 있다. 판정 블록 1320으로부터, 로직 흐름(1300)은 판정 블록 1330 또는 판정 블록 1340 중 어느 하나로 계속될 수 있다. 분류 임계값(1123)이 초과되었다는 결정에 기초하여 로직 흐름(1300)은 판정 블록 1320으로부터 블록 1330으로 계속될 수 있는 반면, 분류 임계값(1123)이 초과되지 않았다는 결정에 기초하여 로직 흐름(1300)은 판정 블록 1320으로부터 블록 1340으로 계속될 수 있다.
블록 1330 "모델 사용이 인가되지 않았다는 표시를 제공"에서, 시스템(1101)은 모델 사용이 인가되지 않았다는 (예를 들어, 모델이 도난되었다는 등) 표시를 제공할 수 있다. 예를 들어, 회로(1110)는, 명령어(1128)를 실행하는데 있어서, 모델(1122)이 모델(1022)과 동일할 수 있다는 표시(예를 들어, 모델(1122)이 도난되었다는 표시 등)를 포함하는 정보 요소를 보고 기관(또는 이와 유사한 것)에 전송할 수 있다.
판정 블록 1340 "카운터 리셋 필요?"에서 시스템(1101)은 (예를 들어, 블록 1310으로부터의) 카운터가 리셋될 필요가 있는지를 결정할 수 있다. 예를 들어, 일부 구현들에서, 카운터는 일정 시간 기간 이후에 리셋될 수 있다. 다른 예들에서, 카운터는 일정 시간 기간 이후에 감분될 수 있다. 다른 예들에서, 카운터는 다수의 입력이 처리된 이후에 감분될 수 있다.
판정 블록 1340으로부터, 로직 흐름(1300)은 블록 1350으로 계속되거나 종료될 수 있다. 카운터가 리셋될 필요가 있다는 결정에 기초하여 로직 흐름(1300)은 판정 블록 1340으로부터 블록 1350으로 계속될 수 있는 반면, 카운터가 리셋될 필요가 없다는 결정에 기초하여 로직 흐름(1300)은 판정 블록 1340으로부터 종료로 계속될 수 있다.
블록 1350 "카운터 리셋"에서, 시스템(1101)은 카운터를 리셋할 수 있다. 예를 들어, 카운터가 감분되거나, 0으로 리셋되는 등일 수 있다.
모델 도난을 방지하기 위한 하드웨어 종속 입력 변환
도 14는 본 개시내용에 따라 구현될 수 있는 강화된 시스템(1401)의 예를 예시한다. 강화된 시스템(1401)은 회로(1410), 메모리(1420), 인터페이스(1430), 입력 디바이스(1452) 및 신뢰할 수 있는 실행 환경(TEE)(1470)을 포함한다. 메모리(1420)는 변환된 입력 데이터(1425), 출력 데이터(1426), 플랫폼 구성 (1427), 및 명령어들(1428)을 저장한다. TEE(1470)는 추론 모델(1422), 사전 로딩된 플랫폼 구성(1472), 복원된 입력 데이터(1424), 및 TEE 명령어들(1478)을 저장한다. 일반적으로, TEE(1470)는 시스템(1401) 내의 임의의 신뢰할 수 있는 실행 엔클레이브 또는 파티션일 수 있다. 예를 들어, TEE(1470)는 회로(1410) 내의 신뢰할 수 있는 실행 파티션일 수 있다. 다른 예로서, TEE(1470)는 신뢰할 수 있는 방식으로 회로(1410) 및 메모리(1420)로부터 세그먼트화된 그 자신의 회로 및 메모리(도시되지 않음)를 포함할 수 있다. 일반적으로, TEE(1470)는 사전 로딩된 플랫폼 구성(1472)의 기밀성과 함께 (예를 들어, 추론 모델(1422)의 TEE 명령어들(1478)의) 격리된 실행과 같은 보안 특징들을 제공할 수 있다.
언급한 바와 같이, 훈련된 추론 모델(예를 들어, 추론 모델(1422))은 매우 가치있는 지적 재산 자산이며, 이는 적대적 제3자에 의해 도난당해 다른 제품(경쟁자 제품 등)에서 제어불가능한 방식으로 사용될 수 있다. 따라서, 추론 모델의 부적절하거나 인가되지 않은 사용을 검출할 수 있는 능력은 바람직하다.
본 개시내용은 컴퓨팅 플랫폼(예를 들어, 입력 데이터가 수집되는 플랫폼, 추론 모델이 실행되는 플랫폼 등)의 특성들에 기초하여 입력 데이터를 변환(예를 들어, 인코딩)하도록 배열된 시스템(1401)을 제공한다. 추론 모델에 입력들을 제공하기 전에, 시스템(1401)은 미리 구성된 플랫폼 특성들에 기초하여 입력 데이터를 복원(예를 들어, 디코딩)하도록 배열된다. 입력 복원은 TEE(1470)에서 기밀 방식으로 유지되는 사전 로드된 플랫폼 구성(1473)에 기초한다는 점에 유의한다. 이와 같이, 모델이 인가되지 않은 플랫폼에서 실행되는 경우에, 미리 구성된 플랫폼 특성은 입력 데이터를 정확하게 디코딩하지 않을 것이고, 입력은 추론 모델에 대한 입력으로서 사용할 수 없을 것이다. 즉, 출력은 의미가 없을 것이다. 따라서, 모델의 인가되지 않은 사용이 억제될 수 있다.
동작 동안, 시스템(1401)의 회로(1410)는 입력 데이터(1424)를 수신하기 위해 명령어들(1428)을 실행할 수 있다. 예를 들어, 회로(1410)는 입력 디바이스(1452)로부터 입력 데이터(1424)를 수신할 수 있다. 다른 예로서, 회로(1410)는 인터페이스(1430)를 통해 다른 컴퓨팅 디바이스로부터 입력 데이터(1424)를 수신할 수 있다. 회로(1410)는, 명령어들(1428)을 실행할 때, 플랫폼 구성(1427)을 생성할 수 있다. 일부 예들에서, 플랫폼 구성(1427)은 시스템(1401)의 고유 신원증명 특징들일 수 있다. 예를 들어, 플랫폼 구성(1427)은 시스템(1401)과 연관된 UUID(universally unique identifier)의 표시들을 포함할 수 있다. 다른 예로서, 플랫폼 구성(1427)은 회로(1410), 메모리(1420), 인터페이스(1430), 입력 디바이스(1452) 등에 대한 고유 식별자의 표시들을 포함할 수 있다. 일부 예들에서, 플랫폼 구성(1427)은 식별자들의 조합의 표시들(예를 들어, 회로(1410) 및 입력 디바이스(1452)에 대한 UUID 등)을 포함할 수 있다.
회로(1410)는, 명령어들(1428)을 실행할 때, 입력 데이터(1424) 및 플랫폼 구성(1427)으로부터 변환된 입력 데이터(1425)를 생성할 수 있다. 예를 들어, 회로(1410)는, 명령어(1428)를 실행하는데 있어서, 플랫폼 구성(1427)을 사용하여 입력 데이터(1424)의 인코딩, 암호화, 난독화 등을 할 수 있다. 간단한 예로서, 회로(1410)는 플랫폼 구성(1427)에 표시된 UUID를 암호화 키로서 사용하여 입력 데이터(1425)를 암호화할 수 있다. 다양한 인코딩 방식들, 암호화 방식들, 특히 무손실 방식들 중 임의의 것이 구현될 수 있다.
TEE(1470)는, TEE 명령어들(1478)을 실행할 때, 변환된 입력 데이터(1425) 및 사전 로드된 플랫폼 구성(1472)으로부터 복원된 입력 데이터(1474)를 생성할 수 있다. 일부 예들에서, 사전 로드된 플랫폼 구성(1472)은 시스템(예를 들어, 시스템(1401) 등)의 고유 신원증명 특징들의 표시들을 포함할 수 있다. TEE(1470)는 사전 로드된 플랫폼 구성(1472)으로 구성될 수 있다(예를 들어, 1401이 프로비저닝될 때 등). 따라서, 동작 동안, TEE(170)는 사전 로드된 플랫폼 구성(1472) 및 변환된 입력 데이터(1425)로부터 복원된 입력 데이터(1474)를 생성할 수 있다. 간단한 예로서, TEE(170)는 사전 로드된 플랫폼 구성(1472)을 복호화 키로서 사용하여 변환된 입력 데이터(1425)를 복호화할 수 있다. 시스템이 동작하고 있는 플랫폼이 사전 로드된 플랫폼 구성 데이터와 매칭된다고 가정하면, 이 때, 복원된 입력 데이터(1474)는 입력 데이터(1424)와 매칭되어야 한다. 달리 말하면, 시스템(1401)이 사전 로드된 플랫폼 구성(1472)과 매칭되는 구성 정보(예를 들어, UUID 등)를 갖는 경우, 입력 데이터(1424)의 변환(예를 들어, 암호화) 및 복원(예를 들어, 복호화)은 입력 데이터(1424)를 그 원래 상태로 복귀되게 할 것이다.
명령어들(1478)을 실행함에 있어서, TEE(1470)는 추론 모델(1422)을 실행하여 복원된 출력 데이터(1474)로부터 출력 데이터(1426)를 생성할 수 있다. 앞서 설명한 바와 같이, 플랫폼 구성(1427)이 사전 로드된 플랫폼 구성(1472)과 매칭되지 않는 경우, 복원된 입력 데이터(1474)는 입력 데이터(1424)에 대응하지 않을 것이고, 출력 데이터(1426)는 의미가 없을 것이다. 따라서, 추론 모델(1422)의 인가되지 않은 사용이 억제될 것이다.
일부 예들에서, 변환된 입력 데이터는 입력 디바이스로부터 직접 출력될 수 있다. 도 15는 도 14의 시스템(1401)으로부터의 입력 디바이스(1452)로서 구현될 수 있는 입력 디바이스(1552)를 예시한다. 입력 디바이스(1552)는 입력 캡처 회로(1591), 입력 변환 회로(1592), 및 입력 데이터 버퍼(1593)를 포함할 수 있다. 입력 캡처 회로(1591)는 입력 데이터(1524)를 캡처하도록 배열된 회로일 수 있다. 보다 구체적으로는, 입력 캡처 회로(1591)는, 예를 들어, 마이크로폰, 이미지 센서, 전역적 위치확인 센서, 열 센서 등 같은 입력의 표시를 캡처할 수 있다. 입력 변환 회로(1592)는 입력 캡처 회로(1591)에 의해 생성된 캡처된 입력의 표시를 변환하도록 배열된 회로를 포함할 수 있다. 일부 예들에서, 입력 변환 회로(1592)는 예를 들어 입력 디바이스(1552)와 연관된 UUID와 같은 입력 디바이스(1552)의 특성들에 기초하여 캡처된 입력을 인코딩하도록 배열될 수 있다. 일부 예들에서, 입력 변환 회로(1592)는, 예를 들어, 1회 프로그램가능 퓨즈(1594)에 저장된 정보와 같은, 입력 디바이스(1552)에 하드 코딩된 데이터의 특성들에 기초하여 캡처된 입력을 인코딩하도록 배열될 수 있다. 입력 데이터 버퍼(1593)는 데이터를 저장하도록 배열된 회로를 포함할 수 있다. 예를 들어, 입력 데이터 버퍼(1593)는 변환된 입력 데이터(1525)를 저장할 수 있다.
도 16은 본 명세서에서 설명되는 바와 같이 입력 데이터의 하드웨어 변환들을 통해 모델을 보호하기 위해 강화된 시스템(예를 들어, 강화된 시스템(1401) 등)에 의해 구현될 수 있는 예시적 기법(1600)을 예시한다. 기법(1600)은 편의 및 명확성을 위해 도 14의 강화된 시스템(1401)을 참조하여 설명됨에 유의한다. 그러나, 이는 제한을 의도하지 않는다. 변환된 입력 데이터(1425)를 신뢰성 있게(예를 들어, TEE(1470) 등을 통해) 복원하는 데 사용되는 사전 로드된 플랫폼 구성(1472)을 유지함으로써 추론 모델(1422)의 도난(예를 들어, 비인가 또는 무허가 플랫폼들 상에서의 실행)으로부터의 보호가 용이해진다.
기법(1600)은 원 16.1에서 시작할 수 있다. 원 16.1에서, 강화된 시스템(1401)은 입력 데이터(1424)를 수신할 수 있다. 예를 들어, 회로(1410)는 입력 디바이스(1452)로부터 입력 데이터(1424)를 수신할 수 있다. 원 16.2에서, 회로(1410)는 입력 데이터(1424) 및 플랫폼 구성(1427)으로부터 변환된 입력 데이터(1425)를 생성할 수 있다. 보다 구체적으로, 입력 데이터(1424)는 변환된 입력 데이터(1425)를 생성하기 위해 플랫폼 구성(1427)에 기초하여 변환될 수 있다.
원 16.3에서, TEE(1470)는 사전 로드된 플랫폼 구성(1472)에 기초하여 변환된 입력 데이터(1425)로부터 입력 데이터를 복원할 수 있다. 보다 구체적으로, 변환된 입력 데이터(1425)는 복원된 입력 데이터(1474)를 생성하기 위해 사전 로드된 플랫폼 구성(1472)을 사용하여 디코딩될 수 있다. 원 16.4에서, 출력 데이터는 복원된 입력 데이터(1474)에 기초하여 추론 모델(1422)을 사용하여 생성될 수 있다.
도 17은 로직 흐름(1700)을 예시한다. 로직 흐름(1700)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(1401)(또는 그 컴포넌트들)은 로직 흐름(1700)에서 플랫폼의 하드웨어 특성들에 기초하여 입력 데이터를 변환하고 복원함으로써 추론 모델의 인가되지 않은 사용을 억제하기 위한 동작들을 수행할 수 있다.
로직 흐름(1700)은 블록 1710 "입력 데이터 수신"에서 시작할 수 있고, 시스템(1401)은 입력 데이터(1424)를 수신할 수 있다. 예를 들어, 강화된 시스템(1401)은 입력 디바이스(1452)로부터, 인터페이스(1430)를 통해, 또는 유사한 것에 의해, 입력 데이터(1424)를 수신할 수 있다. 블록 1720 "플랫폼 구성 결정"으로 계속하여, 시스템(1401)은 시스템(1401)의 하드웨어의 표시들을 포함하는 플랫폼 구성(1427)을 결정할 수 있다. 예를 들어, 회로(1410)는, 명령어들(1428)을 실행할 때, 시스템(1401)의 컴포넌트들(예를 들어, 회로(1410), 메모리(1420), 인터페이스(1430), 입력 디바이스(1452) 등)에 대한 UUID를 결정하고 결정된 UUID(들)를 플랫폼 구성(1427)으로서 설정할 수 있다.
블록 1730 "플랫폼 구성에 기초한 입력 데이터 변환"으로 계속하여, 시스템(1401)은 구성 데이터(1427)에 기초하여 입력 데이터(1424)를 변환할 수 있다. 예를 들어, 회로(1410)는, 명령어들(1428)을 실행할 때, 변환에 대한 키로서 플랫폼 구성(1427)을 사용하여 입력 데이터(1424)를 변환(예를 들어, 인코딩, 암호화 등)하는 것에 의해 변환된 입력 데이터(1425)를 생성할 수 있다. 블록 1740 "사전 로드된 플랫폼 구성 및 변환된 입력 데이터에 기초하여 입력 데이터를 복원"으로 계속하여, 시스템(1401)은 변환된 입력 데이터(1425) 및 사전 로드된 플랫폼 구성(1472)으로부터 입력 데이터(1424)를 복원할 수 있다. 시스템(1401)은 입력 데이터(1424)를 보안 방식으로 복원할 수 있다는 점에 유의한다. 즉, 사전 로드된 플랫폼 구성(1472)은 (예를 들어, TEE(1470) 등에) 안전하게 저장될 수 있고, 복원된 입력 데이터(1474)는 (예를 들어, TEE(1470) 등에서) 보안 처리를 통해 생성될 수 있다. 예를 들어, TEE(1470)는, 명령어들(1478)을 실행할 때, 복원에 대한 키로서 사전 로드된 플랫폼 구성(1472)을 사용하여 변환된 입력 데이터(1425)를 복원(예를 들어, 복호화, 디코딩 등)함으로써 복원된 입력 데이터(1474)를 생성할 수 있다.
블록 1750 "추론 모델을 통해, 복원된 입력 데이터에 기초하여 출력을 생성"으로 계속하여, 시스템(1401)은 추론 모델(1422)을 통해 복원된 입력 데이터(1474)로부터 출력 데이터(1426)를 생성할 수 있다. 예를 들어, TEE(1470)는 복원된 입력 데이터(1474)로부터 출력 데이터(1426)를 생성하기 위해 추론 모델(1422)을 실행할 수 있다. 앞서 설명한 바와 같이, 사전 로드된 플랫폼 구성(1472)(예를 들어, 사전 로드된 UUID 등)이 블록 1720에서 결정된 플랫폼 구성(예를 들어, 시스템(1401)의 UUID)과 매칭되는 경우, 이 때, 복원된 입력 데이터(1474)는 원본 입력 데이터(1424)와 매칭될 것이다. 그러나, 사전 로드된 플랫폼 구성(1472)(예를 들어, 사전 로드된 UUID 등)이 블록 1720에서 결정된 플랫폼 구성(예를 들어, 시스템(1401)의 UUID)과 매칭되지 않는 경우, 이 때, 복원된 입력 데이터(1474)는 원본 입력 데이터(1424)와 매칭되지 않을 것이다. 따라서, 출력 데이터(1426)는 사용 불가능하거나 무의미할 수 있고, 인가되지 않은 방식의 또는 비인가 하드웨어에 의한 추론 모델(1422)의 사용은 억제될 것이다.
섹션 II - 적대적 입력
입력 무결화의 클라이언트측 오프로딩
도 18은 서버(1801) 및 클라이언트 시스템(1803)을 포함하는 예시적 추론 환경(1800)을 예시한다. 일반적으로, 서버(1801) 및 클라이언트 시스템(1803)은 광역 네트워크, 근거리 네트워크 또는 인터넷과 같은 임의의 적절한 인터커넥트를 통해 결합될 수 있다. 서버(1801)는 회로(1810-1), 메모리(1820-1) 및 인터페이스(1830-1)를 포함한다. 메모리(1820-1)는 추론 모델(1822), 출력 데이터(1826), 명령어들(1828-1), 무결화 페이로드(1823) 및 무결화된 입력 데이터(1825)를 저장한다. 클라이언트 시스템(1803)은 회로(1810-3), 메모리(1820-3), 인터페이스(1830-3) 및 입력 디바이스(1852)를 포함한다. 메모리(1820-3)는 원시 입력 데이터(1824), 명령어들(1828-3), 무결화 페이로드(1823) 및 무결화된 입력 데이터(1825)를 저장한다.
종종, 추론 시스템은 적대적 입력, 또는 특정 추론을 유발하도록 배열되거나 설계된 입력을 제공함으로써 공격받을 수 있다. 본 개시내용은 예를 들어, 적대적 입력으로부터의 영향들을 감소시키기 위해 입력들을 무결화하는 것을 제공한다. 일부 예에서, 입력 무결화가, 추론 서버 상에서 구현되는 것과 달리, 클라이언트 또는 에지 디바이스로 오프로드될 수 있다. 특정 예로서, 클라이언트 디바이스는 추론 모델에 입력하기 위해 서버에 무결화된 입력들을 송신하기 전에 입력들을 수신하고 입력들을 무결화하도록 배열될 수 있다.
이를 위해, 클라이언트 시스템(1803)은 원시 입력 데이터(1824)에 대한 입력 무결화 프로세스의 표시들을 포함하는 무결화 페이로드(1823)를 수신할 수 있다. 클라이언트 시스템(1803)은 무결화 페이로드(1823) 및 원시 입력 데이터(1824)에 기초하여 무결화된 입력 데이터(1825)를 생성할 수 있다. 예를 들어, 무결화 페이로드(1823)는 적대적 입력들을 완화시키려고 시도하기 위해 원시 입력 데이터(1824)를 무결화하는 데 사용될 수 있는 디코딩, 필터링, 및 인코딩 방식의 표시들을 포함할 수 있다. 클라이언트 시스템(1803)은 추론 모델(1822)과 함께 사용하기 위해 서버(1801)에 무결화된 입력 데이터(1825)를 제공할 수 있다.
일부 예들에서, 무결화 페이로드는, 디코딩 기법, 필터링 기법, 및 원시 입력 데이터(1824)를 무결화하는 인코딩 기법 같은 무결화 프로토콜의 표시를 포함할 수 있다. 일부 예들에서, 무결화 페이로드(1823)는 원시 입력 데이터(1824)의 처리 및/또는 무결화된 입력 데이터(1825) 및 무결화 페이로드(1823)의 취급과 관련하여 구현하기 위한 신뢰 또는 암호화의 레벨의 표시들을 포함할 수 있다.
특정 예로서, 회로(1810-1)는 무결화 페이로드(1823)를 클라이언트 시스템(1803)으로 전송하기 위해 명령어(1828-1)를 실행할 수 있다. 회로(1810-3)는 서버(1801)로부터 무결화 페이로드(1823)를 수신하기 위해 명령어들(1828-3)을 실행할 수 있다. 예를 들어, 무결화 페이로드(1823)는 인터페이스들(1830-1 및 1830-3)을 통해 통신될 수 있다.
회로(1810-3)는 예를 들어 입력 디바이스(1852)로부터 원시 입력 데이터(1824)를 수신하기 위해 명령어들(1828-3)을 실행할 수 있다. 회로(1810-3)는 무결화 페이로드(1823)에 기초하여 원시 입력 데이터(1824)를 무결화하기 위해 명령어들(1828-3)을 실행할 수 있다. 예를 들어, 회로(1810-3)는 원시 입력 데이터(1824)를 디코딩, 필터링 및 인코딩하여 무결화된 입력 데이터(1825)를 생성하는 명령어들(1828-3)을 실행할 수 있다. 다른 예로서, 회로(1810-3)는 원시 입력 데이터(1824)를 트랜스코딩하여 무결화된 입력 데이터(1825)를 생성하기 위해(예를 들어, 다른 포맷으로 디코딩 및 인코딩, 동일한 포맷으로 디코딩 및 재인코딩 등) 명령어들(1828-3)을 실행할 수 있다. 회로(1810-3)는 무결화된 입력 데이터(1825)를 서버(1801)에 전송하기 위해 명령어들(1828-3)을 실행할 수 있다. 회로(1810-1)는 무결화된 입력 데이터(1825)를 수신하기 위해 명령어들(1828-1)을 실행할 수 있다. 예를 들어, 무결화된 입력 데이터(1825)는 인터페이스들(1830-1 및 1830-3)을 통해 통신될 수 있다. 회로(1810-1)는 추론 모델(1822)을 실행하여 무결화된 입력 데이터(1825)로부터 출력 데이터(1826)를 생성할 수 있다.
일부 예들에서, 클라이언트 시스템(1803)은 입력 데이터를 무결화하도록 배열된 신뢰할 수 있는 실행 환경(TEE)을 구비할 수 있다. 예를 들어, 도 19는 서버(1801) 및 클라이언트 시스템(1903)을 포함하는 예시적 추론 환경(1900)을 예시한다. 클라이언트 시스템(1903)은 클라이언트 시스템(1903)이 TEE(1970)를 포함하는 것을 제외하고는 도 18의 클라이언트 시스템(1801)과 유사하다. 일반적으로, TEE(1970)는 클라이언트 시스템(1903) 내의 임의의 신뢰할 수 있는 실행 엔클레이브 또는 파티션일 수 있다. 예를 들어, TEE(1970)는 회로(1810-3) 내의 신뢰할 수 있는 실행 파티션일 수 있다. 다른 예로서, TEE(1970)는 신뢰할 수 있는 방식으로 회로(1810-3) 및 메모리(1820-3)로부터 세그먼트화된 그 자신의 회로 및 메모리(도시되지 않음)를 포함할 수 있다. 일반적으로, TEE(1970)는 격리된 실행(예컨대, 무결화된 입력 데이터(1825)의 생성)과 같은 보안 특징들을 무결화 페이로드(1823)의 기밀성과 함께 제공할 수 있다.
도 20은 서버(1801), 클라이언트 시스템(1803) 및 에지 디바이스(2005)를 포함하는 예시적 추론 환경(2000)을 예시한다. 일반적으로, 에지 디바이스(2005)는 서버(1801)에 또는 서버(1801)에 결합된 네트워크에 엔트리 포인트를 제공하는 임의의 디바이스일 수 있다. 예를 들어, 에지 디바이스(2005)는 라우터, 라우팅 스위치, IAD(integrated access device), 멀티플렉서, 셀 노드, 기지국 등일 수 있다. 추론 환경(1800 및 1900)과 같이, 추론 환경(2000)은 서버(1801)로부터 원시 입력의 무결화를 오프로드한다. 그러나, 이 예에서, 에지 디바이스(2005)는 무결화된 입력 데이터(1825)를 생성한다.
에지 디바이스(2005)는 회로(1810-5), 메모리(1820-5) 및 인터페이스(1830-5)를 포함한다. 메모리(1820-5)는 원시 입력 데이터(1824), 명령어들(1828-5), 무결화 페이로드(1823) 및 무결화된 입력 데이터(1825)를 저장한다. 동작 동안, 에지 디바이스(2005)는 클라이언트 시스템(1803)으로부터 원시 입력 데이터(1824)를 수신할 수 있고, 원시 입력 데이터(1824)를 무결화할 수 있으며, 무결화된 입력 데이터(1825)를 서버(1801)에 제공할 수 있다.
회로(1810-1)는 명령어들(1828-1)을 실행하여 무결화 페이로드(1823)를 에지 디바이스(2005)로 전송할 수 있다. 회로(1810-5)는 서버(1801)로부터 무결화 페이로드(1823)를 수신하기 위해 명령어들(1828-3)을 실행할 수 있다. 예를 들어, 무결화 페이로드(1823)는 인터페이스들(1830-1 및 1830-3)을 통해 통신될 수 있다.
회로(1810-3)는 예를 들어 입력 디바이스(1852)로부터 원시 입력 데이터(1824)를 수신하기 위해 명령어들(1828-3)을 실행할 수 있다. 회로(1810-3)는 에지 디바이스(2005)에 원시 입력 데이터(1824)를 전송하기 위해 명령어들(1828-3)을 실행할 수 있다. 회로(1810-5)는 원시 입력 데이터(1824)를 수신하기 위해 명령어들(1828-5)을 실행할 수 있다. 예를 들어, 원시 입력 데이터(1824)는 인터페이스들(1830-3 및 1830-5)을 통해 통신될 수 있다.
회로(1810-5)는 무결화 페이로드(1823)에 기초하여 원시 입력 데이터(1824)를 무결화하기 위해 명령어들(1828-5)을 실행할 수 있다. 예를 들어, 회로(1810-5)는 원시 입력 데이터(1824)를 디코딩, 필터링 및 인코딩하여 무결화된 입력 데이터(1825)를 생성하기 위해 명령어들(1828-5)을 실행할 수 있다. 회로(1810-5)는 무결화된 입력 데이터(1825)를 서버(1801)에 전송하기 위해 명령어들(1828-5)을 실행할 수 있다. 회로(1810-1)는 무결화된 입력 데이터(1825)를 수신하기 위해 명령어들(1828-1)을 실행할 수 있다. 예를 들어, 무결화된 입력 데이터(1825)는 인터페이스들(1830-1 및 1830-5)을 통해 통신될 수 있다. 회로(1810-1)는 추론 모델(1822)을 실행하여 무결화된 입력 데이터(1825)로부터 출력 데이터(1826)를 생성할 수 있다.
비록 묘사되어 있지는 않지만, 에지 디바이스(2005)가, 예를 들어, 도 19의 에지 디바이스(1903)와 유사하게, 무결화된 입력 데이터(1825)가 생성될 수 있는 TEE를 포함할 수 있다는 것에 유의하는 것이 중요하다.
도 21은 본 명세서에서 상세히 설명되는 바와 같이 입력들을 무결화하기 위해 추론 환경(예를 들어, 추론 환경(1800), 추론 환경(1900), 또는 추론 환경(2000) 등)에서 구현될 수 있는 예시적 기법(2100)을 예시한다. 기법(2100)은 편의성 및 명확성을 위해 도 20의 추론 환경(2000)을 참조하여 설명된다는 점에 유의한다. 그러나, 이는 제한을 의도하지 않는다.
기법(2100)은 원 21.1에서 시작할 수 있다. 원 21.1에서, 강화된 시스템(2001)은 원시 입력 데이터(1824)를 수신할 수 있다. 예를 들어, 클라이언트 시스템(1803)은 입력 디바이스(1852)로부터 원시 입력 데이터(1824)를 수신할 수 있다. 원시 입력 데이터(1824)의 다수의 상이한 인스턴스들이 본 명세서에 설명된 바와 같이 수신되고 무결화될 수 있다는 점에 유의한다. 예를 들어, 클라이언트 시스템(1803)은 원 21.1에서 원시 입력 데이터(1824)를 반복적으로 수신하고, 본 명세서에 설명된 바와 같이 원시 입력 데이터(1824)를 무결화할 수 있다.
원 21.2에서, 서버(1801)는 클라이언트 시스템(1803)에 질의하여 클라이언트 시스템(1803)의 컴퓨팅 능력을 결정할 수 있다. 원 21.3에서, 클라이언트 시스템(1803)은 컴퓨팅 능력의 표시를 서버(1801)로 전송할 수 있다. 일반적으로, 서버(1801)는 클라이언트 시스템(1803)에 질의하여 클라이언트 시스템(1803)의 무결화 능력을 결정할 수 있다. 일부 예들에서, 서버(1801)는 클라이언트 시스템(1803)에 질의하여 클라이언트 시스템(1803)이 무결화 페이로드(1823)의 최소 계산 요건들(예를 들어, 처리, 신뢰 수준, 메모리 등)을 충족시키는지를 결정할 수 있다. 원 21.4에서, 서버(1801) 및 클라이언트 시스템(1803)은 신뢰할 수 있는 연결을 확립할 수 있다. 예를 들어, 서버(1801)와 클라이언트 시스템(1803)은 신뢰된 및/또는 암호화된 통신 채널을 확립하기 위해 크리덴셜(예를 들어, 암호화, 유효성확인 등)을 교환할 수 있다.
원 21.5에서, 서버(1801)는 무결화 페이로드를 클라이언트 시스템(1803)으로 전송할 수 있다. 일부 예들에서, 무결화 페이로드는, 디코딩 기법, 필터링 기법, 및 원시 입력 데이터(1824)를 무결화하는 인코딩 기법 같은 무결화 프로토콜의 표시를 포함할 수 있다. 원 21.6에서, 클라이언트 시스템(1803)은 무결화 페이로드(1823)에 기초하여 원시 입력 데이터(1824)로부터 무결화된 입력 데이터(1825)를 생성할 수 있다. 예를 들어, 클라이언트 시스템(1803)은 원시 입력 데이터(1824)를 디코딩, 필터링 및 인코딩할 수 있다.
원 21.7에서, 클라이언트 시스템(1803)은 무결화된 입력 데이터(1825)를 서버(1801)에 전송할 수 있다. 추가적으로, 원 21.7에서, 서버(1801)는 클라이언트 시스템(1803)의 상태(예를 들어, 보안 정책, 계산 리소스 등)를 모니터링할 수 있다. 또한, 원 21.7에서, 서버(1801)는 클라이언트 시스템(1803)으로부터 무결화 페이로드(1823)를 비활성화 및/또는 제거할 수 있다.
적대적 공격을 발견하는 은닉 클래스
도 22는 예시적 추론 모델에 대한 가능한 입력들에 대해 플로팅된 잠재적 출력들을 묘사하는 그래프(2200)를 예시한다. 다양한 클래스들을 포함하는 잠재적 출력들이 묘사되어 있다. 구체적으로는, 잠재적 출력들은 가시 클래스들(2210-1, 2210-2, 2210-3 및 2210-3)은 물론, 은닉 클래스들(2220-1, 2220-2 및 2220-3)을 포함한다. 또한, 잠재적 출력들은 가능한 입력들 [2201, 2203]에 대해 플로팅된다. 가능한 입력들(2201 및 2203)이 표현의 명확성을 위해 2차원(2D)으로 묘사되어 있다는 점에 유의한다. 그러나, 실제로, 추론 모델의 도메인은 다차원적일 수 있다.
일반적으로, 본 개시내용은 추론 모델에 대한 도메인이 가시 클래스들(예를 들어, 클래스들(2210)) 및 은닉 클래스들(2220) 둘 모두를 포함할 수 있다는 것을 제시한다. 은닉 클래스들은, 아래에 더 상세히 설명되는, 모델에 대한 가능한 프로빙 공격들을 검출하기 위해 사용된다. 추론 시스템에 대한 한가지 보안 위험은 프로빙이다. 추론 모델은 시스템을 "기만(fool)"할 수 있는 입력들을 식별하기 위한 노력으로 입력 섭동들(input perturbation)로 공격되거나 프로빙될 수 있다. 보다 구체적으로, 공격자는 이미지 입력들에 사용되는 알려진 대상들을 꾸미거나, 노이즈를 주입하거나, 다른 방식으로 추론 모델에 대한 입력을 변환할 수 있다. 이들 수정된 또는 변환된 입력들은 오분류를 초래하는 입력들을 생성하기 위해 추론 모델을 프로빙하는데 사용될 수 있다. 예를 들어, 총과 수도 꼭지의 이미지를 모핑하는 것은 추론 엔진이 총의 이미지를 수도 꼭지로서 오분류하게 할 수 있다.
다른 예로서, 프로빙은 적대자가 모델 지원 기능을 인식하지 못하는 경우에 발생할 수 있다. 이러한 경우들에서, 적대자는 모델의 기능에 대한 이해를 얻으려는 시도로 인위적으로 합성된 입력들 또는 잡음성 입력들을 적용할 수 있다. 이러한 입력들은 종종 종래의 또는 예상된 입력들에 의해서는 통상적으로 활성화되지 않는 모델의 영역들을 활성화 또는 여기시킨다.
일부 추론 시스템들은, 예를 들어, 적대적 섭동들을 필터링하기 위해 입력들을 전처리함으로써 입력들을 무결화하려고 시도한다. 그러나, 이러한 기술들은 항상 신뢰성이 있는 것은 아니다. 또한, 이러한 전처리에 대한 계산 요건들은 추론 시스템에 대한 필요한 전력 및 컴퓨팅 리소스 요건들을 추가한다. 이와 같이, 전처리는 항상 확장가능하지는 않다.
도 23a는 추론 모델을 훈련하기 위한 예시적 시스템(2300)을 예시한다. 시스템(2300)은 회로(2310) 및 메모리(2320)를 포함한다. 메모리(2320)는 추론 모델(2322), 명령어들(2328), 시험/훈련 데이터 세트(2360) 및 출력 데이터(2326)를 저장한다. 시험/훈련 데이터 세트(2360)는 시험 데이터(2362) 및 훈련 데이터(2364) 양자 모두를 포함한다. 시험 데이터(2362) 및 훈련 데이터(2364)는 예를 들어 도 3의 기법(300)을 사용하여 추론 모델(2322)을 "훈련"하는데 사용될 수 있다.
시험/훈련 데이터 세트(2360)의 예가 도 23b에 도시된다. 이 도면을 간략히 참조하면, 시험/훈련 데이터 세트(2360)는 입력(2361)은 물론 예상 출력(2363)을 포함한다. 일반적으로, 예상된 입력들은 입력 값(들)(2361-n)을 포함할 수 있고, 여기서 n은 양의 정수이다. 예를 들어, 입력(2361)에 대해 도시된 바와 같이, 입력 값(들)(2361-1), 입력 값(들)(2361-2), 입력 값(들)(2361-3), 입력 값(들)(2361-4), 입력 값(들)(2361-5) 내지 입력 값(들)(2361-N)이 있다. 각각의 입력 값(2361-n)에 대해, 연관된 예상 출력(2363)이 도시되어 있다. 예상 출력들(2363) 각각은 가시 클래스(2210) 또는 은닉 클래스(2220) 중 어느 하나에 대응하며, 이에 대해 추론 모델(2322)은 입력을 분류하도록 훈련된다. 일 예로서, 가시 클래스들(2210)은, 펜, 칼, 검, 자, 가위, 및 연필과 같은, 추론 시스템(2322)에 의해 분류될 대상들의 카테고리들에 대응할 수 있다. 은닉 클래스들(2220)은, 예를 들어, 펜들로서 위장된 칼들, 자들로서 위장된 검들 등과 같은 잠재적 프로빙을 표시할 수 있는 카테고리들에 대응할 수 있다. 일부 예들에서, 은닉 클래스들(2220)은 입력들로서 허용되지 않는 블랙리스트 대상들에 대응할 수 있다. 은닉 클래스들과 연관된 입력 값(들)(2361-n)은 추론 모델(2322)에 의한 오분류를 트리거하려고 시도하기 위해 변환된 입력들에 대응할 수 있다. 예를 들어, 총의 이미지를 수도 꼭지의 이미지와 모핑함으로써 예시적 입력 값(들)(2361-n)이 생성될 수 있다.
동작 동안, 훈련된 추론 모델(2322)은 입력들이 은닉 클래스들 중 하나의 카테고리화 또는 추론을 트리거할 때 네트워크에 대한 잠재적 프로빙 공격들을 식별하기 위해 사용될 수 있다. 추론 모델(2322)이 구현되는 추론 시스템은 아래에 더 상세히 설명되는 일부 완화 액션들을 취하도록 배열될 수 있다.
도 24는 강화된 시스템(2401) 및 서버(2403)를 포함하는 예시적 추론 환경(2400)을 예시한다. 일반적으로, 강화된 시스템(2401) 및 서버(2403)는, WAN(wide area network), LAN(local area network) 또는 인터넷과 같은, 임의의 적절한 인터커넥트를 통해 결합될 수 있다. 강화된 시스템(2401)은 회로(2410-1), 메모리(2420-1), 인터페이스(2430-1), 입력 디바이스(2252) 및 신뢰할 수 있는 실행 환경(TEE)(2470)을 포함한다. 메모리(2420-1)는 명령어들(2428-1), 입력 데이터(2424) 및 난독화된 출력 데이터(2427)를 저장한다. TEE(2470)는 신뢰적 회로(2411) 및 신뢰적 메모리(2421)를 포함한다. 신뢰적 메모리(2421)는 TEE 명령어들(2429), 추론 모델(2322), 출력 데이터(2426), 난독화된 출력 데이터(2427), 포렌식 데이터(2482) 및 프로빙 경보(2484)를 저장한다.
서버(2403)는 회로(2410-3), 메모리(2420-3) 및 인터페이스(2430-3)를 포함한다. 메모리(2420-3)는 명령어(2428-3), 포렌식 데이터(2482), 프로빙 경보(2484) 및 포렌식 데이터베이스(2486)를 저장한다.
일반적으로, 강화된 시스템(2401)은 잠재적 프로빙 공격들을 검출하도록 동작한다. 회로(2410-1)는, 예를 들어, 입력 디바이스(2452)로부터 입력 데이터(2424)를 수신하기 위해 명령어들(2428-1)을 실행할 수 있다. TEE 회로(2411)는 입력 데이터(DD324)를 사용하여 추론 모델(2322)을 실행함으로써 출력 데이터(2426)를 생성하기 위해 TEE 명령어들(2429)을 실행할 수 있다. TEE 회로(2411)는 입력 데이터(2424)가 잠재적 프로빙 공격일 수 있는지, 또는 다시 말해, 입력 데이터(DD324)가 잠재적 프로빙 공격과 연관되는지를 결정하기 위해 TEE 명령어들(2429)을 실행할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 출력 데이터(2426)가 은닉 클래스들(2220)에 대응하는지(예를 들어, 은닉 클래스들(2220) 중 하나인지 등)를 결정할 수 있다. 달리 말하면, 추론 모델(2322)이 입력 데이터(2424)를 은닉 클래스들(2220) 중 하나로서 분류하면, TEE 회로(2411)는 입력 데이터(2424)가 프로빙 공격과 연관된다고 결정할 수 있다.
2424가 잠재적 프로빙 공격과 연관된다고 결정한 것에 응답하여, TEE 회로(2411)는, TEE 명령어들(2429)을 실행함에 있어서, 잠재적 프로빙 공격에 관련한 정보를 수집하고 수집된 정보를 포렌식 데이터(2482)로서 저장할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 입력 디바이스(2452), 입력 디바이스(2452) 조작자, 입력 데이터(2424), 추론 모델(2322)에 관련한 데이터(예를 들어, 컨텍스트, 이력, 상태들 등)의 표시를 포함하는 정보를 포렌식 데이터(2482)로서 저장할 수 있다. 게다가, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 프로빙 경보(2484)를 생성할 수 있고, 프로빙 경보의 표시를(예를 들어, 인터페이스(2430-1), 등을 통해) 서버(2403)에게 전송할 수 있다. 프로빙 경보(2484)는 잠재적 프로빙 공격이 시스템(2401)에 대해 개시되었고 포렌식 데이터(2482)가 저장되었다는 표시를 포함할 수 있다. 추가적으로, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 포렌식 데이터(2482)를 서버(2403)에 제공할 수 있다.
일부 구현들에서, 강화된 시스템(2401)은 프로빙이 검출되었을 수 있다는 사실을 숨기기 위해 출력 데이터(2426)를 난독화할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 출력 데이터(2426)로부터 난독화된 출력 데이터(2427)를 생성할 수 있고, 여기서 난독화된 출력 데이터(2427)는 가시 클래스들(2210)을 포함할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 출력 데이터(2426)의 은닉 클래스(2220)와 연관된 가시 클래스(2210)의 표시를 포함하는 난독화된 출력 데이터(2427)를 생성할 수 있다. 위의 총 및 수도 꼭지 예를 사용하여; 출력 데이터(2426)는 총을 수도 꼭지로 기만하거나 오분류하도록 수정된 총의 이미지인 입력 데이터(2424)에 대응하는 은닉된 분류(2220)의 표시를 포함할 수 있다. 그러나, 난독화된 출력 데이터(2427)는 입력 데이터(2424)의 수도 꼭지로서의 분류를 나타낼 수 있다. 예를 들어, 프로빙이 검출된다는 통지를 공격자에게 제공하지 않기 위해 난독화된 출력 데이터(2427)가 생성될 수 있다.
회로(2410-3)는 프로빙 경보(2482)를 수신하기 위해 명령어들(2428-3)을 실행할 수 있다. 프로빙 경보(2482)를 수신하는 것에 응답하여, 회로(2410-3)는, 명령어(2428-3)를 실행할 때, 강화된 시스템(2401)으로부터 포렌식 데이터(2484)를 수신할 수 있고 포렌식 데이터베이스(2486)에 포렌식 데이터(2484)를 추가할 수 있다. 포렌식 데이터베이스(2486)는, 예를 들어, 추가 오분류를 방지하는데 사용될 수 있다.
도 25는 로직 흐름(2500)을 예시한다. 로직 흐름(2500)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(2401)(또는 그 컴포넌트들)은 은닉 클래스들을 사용하여 잠재적인 프로빙을 검출하기 위해 로직 흐름(2500)의 동작들을 수행할 수 있다.
로직 흐름(2500)은 블록 2510 "입력 데이터 수신"에서 시작할 수 있고, 시스템(2401)은 입력 데이터(2424)를 수신할 수 있다. 예를 들어, 회로(2410-1)는, 명령어들(2428-1)을 실행할 때, (예를 들어, 입력 디바이스(2452) 등으로부터) 입력 데이터(2424)를 수신할 수 있다. 블록 2520 "추론 모델을 통해, 수신된 입력 데이터에 기초하여 출력 데이터를 생성"으로 계속하여, 강화된 시스템(2401)은 추론 모델(2322) 및 입력 데이터(2424)로부터 출력 데이터(2426)를 생성할 수 있다. 예를 들어, TEE 회로(2411)는, 명령어들(2429)을 실행할 때, 입력 데이터(2424)에 대해 추론 모델(2322)을 실행함으로써 출력 데이터(2426)를 생성할 수 있다.
판정 블록 2530 "은닉 클래스와 연관된 출력 데이터인가?"로 계속하여, 강화된 시스템(2401)은 출력 데이터(2426)가 은닉 클래스(2220)와 연관되는지, 또는 달리 말하면, 추론 시스템(2322)이 입력 데이터(2424)를 은닉 클래스(2220)로서 분류하는지를 결정할 수 있다. 판정 블록 2530으로부터, 로직 흐름(2500)은 블록 2540 또는 블록 2550 중 어느 하나로 계속될 수 있다. 출력 데이터(2426)가 은닉 클래스(2220)와 연관되지 않는다는 결정에 기초하여 로직 흐름(2500)은 판정 블록 2530으로부터 블록 2540으로 계속될 수 있는 반면, 출력 데이터(2426)가 은닉 클래스(2220)와 연관되어 있다는 결정에 기초하여 로직 흐름(2500)은 판정 블록 2530으로부터 블록 2550으로 계속될 수 있다.
블록 2540 "생성된 출력을 제공"에서, 강화된 시스템(2401)은 출력 데이터(2426)를 출력 데이터 소비자(예를 들어, 출력 디바이스, 다른 컴퓨팅 디바이스 등)에게 제공할 수 있다. 예를 들어, 회로(2410-1)는, 명령어들(2428-1)을 실행할 때, 출력 데이터(2426)를 출력 데이터 소비자에게 제공할 수 있다. 블록 2540으로부터, 로직 흐름(2500)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복할 수 있다.
블록 2550 "잠재적 프로빙에 대해 모니터링 시스템에 경보"에서, 강화된 시스템(2401)은 잠재적 프로빙 공격들에 대해 모니터링 시스템(예를 들어, 서버(2403))에 경보할 수 있다. 예를 들어, 회로(2410-1)는, 명령어들(2428-1)을 실행할 때, 프로빙 경보(2482)를 서버(2403)에 제공할 수 있다. 블록 2560 "포렌식 데이터 수집"으로 계속되어, 강화된 시스템(2401)은 잠재적 프로빙 공격과 연관된 포렌식 데이터를 수집할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행함에 있어서, 잠재적 프로빙 공격과 연관된 정보를 수집하고 수집된 정보의 표시들을 포렌식 데이터(2484)로서 저장할 수 있다. 블록 2570 "포렌식 데이터를 모니터링 시스템에 제공"으로 계속되어, 강화된 시스템(2401)은 포렌식 데이터(2484)를 모니터링 시스템(예를 들어, 서버(2403))에 제공할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 포렌식 데이터(2484)를 서버(2403)에 제공할 수 있다.
블록 2580 "출력 데이터를 난독화"로 계속하여, 강화된 시스템(2401)은 출력 데이터(2426)를 난독화할 수 있다. 예를 들어, TEE 회로(2411)는, TEE 명령어들(2429)을 실행할 때, 출력 데이터(2426)로부터 난독화된 출력 데이터(2427)를 생성할 수 있다. 블록 2590으로 계속하여, 난독화된 출력 데이터를 출력 데이터 소비자(예를 들어, 출력 디바이스, 다른 컴퓨팅 디바이스 등)에게 제공한다. 예를 들어, 회로(2410-1)는, 명령어들(2428-1)을 실행할 때, 난독화된 출력 데이터(2427)를 출력 데이터 소비자에게 제공할 수 있다. 블록 2590으로부터, 로직 흐름(2500)은 종료될 수 있거나, 새로운 입력을 수신한 것에 기초하여 반복할 수 있다.
적대적 공격으로부터 보호하기 위한 입력 왜곡
언급한 바와 같이, 추론 모델들은 다수의 공격 벡터를 따른 적대적 공격들에 취약하다. 예를 들어, 추론 모델들의 도난 및/또는 인가되지 않은 사용뿐만 아니라 프로빙에 대한 민감성은 2가지 이러한 공격 벡터들이다. 따라서, 추론 모델의 부적절하거나 인가되지 않은 사용을 검출하는 것은 물론, 프로빙을 방지하거나 억제시키는 능력이 바람직하다.
일반적으로, 본 개시내용은 난독화된 입력 데이터로 훈련되는 추론 모델을 제공한다. 달리 말하면, 본 개시내용은 난독화되거나 일부 왜곡들을 포함하는 입력 데이터를 정확하게 분류하도록 훈련된 추론 모델을 제공한다. 난독화 또는 왜곡은 처리(도 26 내지 도 28)를 통해 또는 입력 디바이스의 물리적 속성(도 29 내지 도 30)의 결과로서 제공될 수 있다. 따라서, 적대적 섭동들에 기초한 공격들은 덜 효과적이거나, 무효할 수 있는데, 그 이유는 모델이 난독화된 입력 데이터를 정규 입력 데이터와 달리 분류하도록 훈련되기 때문이다.
일부 예들에서, 입력 데이터는 미리 선택된 키 등을 사용하여 입력 데이터를 인코딩하는 것을 통해 난독화될 수 있다(예를 들어, 도 26 및 도 27). 다른 예들에서, 입력 데이터는 필터들, 입력 왜곡 디바이스들 등을 통해 입력 디바이스(예를 들어, 도 28)에서 난독화될 수 있다. 종종, 이미지 캡처 디바이스 및 이미지 난독화의 예들이 본 명세서에서 사용된다는 점에 유의한다. 그러나, 본 개시내용은 예를 들어, 오디오, 비디오, 다른 데이터 타입들 또는 구조들 등과 같은 임의의 타입의 입력 데이터를 난독화하도록 구현될 수 있다.
도 26은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(2601)을 예시한다. 강화된 시스템(2601)은 회로(2610), 메모리(2620), 인터페이스(2630), 입력 디바이스(2652) 및 신뢰할 수 있는 실행 환경(TEE)(2670)을 포함한다. 메모리(2620)는 추론 모델(2622), 입력 데이터(2624), 난독화된 입력 데이터(2625), 출력 데이터(2626), 및 명령어들(2628)을 저장한다. TEE(2670)는 난독화 키(2672) 및 TEE 명령어들(2678)을 저장한다. 일반적으로, TEE(2670)는 시스템(2601) 내의 임의의 신뢰할 수 있는 실행 엔클레이브 또는 파티션일 수 있다. 예를 들어, TEE(2670)는 회로(2610) 내의 신뢰할 수 있는 실행 파티션일 수 있다. 다른 예로서, TEE(2670)는 신뢰할 수 있는 방식으로 회로(2610) 및 메모리(2620)로부터 세그먼트화된 그 자신의 회로 및 메모리(도시되지 않음)를 포함할 수 있다. 일반적으로, TEE(2670)는 난독화 키(2672)의 기밀성과 함께 (예를 들어, TEE 명령어들(2678)의) 격리된 실행과 같은 보안 특징들을 제공할 수 있다. 일반적으로, 시스템(2601)은 난독화된 입력 데이터를 보안 방식으로(예를 들어, TEE(2670) 등을 통해) 생성할 수 있다. 이러한 난독화된 입력 데이터는 이러한 난독화된 입력 데이터를 분류하도록 훈련된 추론 모델(예를 들어, 추론 모델(2622))에 대한 입력 데이터로서 사용될 수 있다. 따라서, 정확하게 난독화된 입력 데이터가 없으면, 추론 모델은 사용 불가능할 수 있다. 즉, 추론 모델은 난독화된 입력 데이터에 대해 훈련되기 때문에 입력 데이터 자체를 정확하게 분류하지 않을 수 있다. 이는 모델 도난, 모델의 인가되지 않은 사용, 또는 프로빙을 억제할 수 있다.
동작 동안, 시스템(2601)의 회로(2610)는 입력 데이터(2624)를 수신하기 위해 명령어들(2628)을 실행할 수 있다. 예를 들어, 회로(2610)는 입력 디바이스(2652)로부터 입력 데이터(2624)를 수신할 수 있다. 다른 예로서, 회로(2610)는 인터페이스(2630)를 통해 다른 컴퓨팅 디바이스로부터 입력 데이터(2624)를 수신할 수 있다.
TEE(2670)는, 명령어들(2678)을 실행할 때, 입력 데이터(2624) 및 난독화 키(2672)로부터 난독화된 입력 데이터(2625)를 생성할 수 있다. 예를 들어, TEE(2670)는, 명령어들(2678)을 실행할 때, 난독화 키(2672)를 사용하여 입력 데이터(2624)를 인코딩, 왜곡, 또는 다른 방식으로 난독화할 수 있다.
회로(2610)는, 명령어들(2628)을 실행할 때, 난독화된 입력 데이터(2625)로부터 출력 데이터(2626)를 생성하기 위해 추론 모델(2622)을 실행할 수 있다. 앞서 설명한 바와 같이, 추론 모델(2622)은 (예를 들어, 난독화된 입력 데이터(2625)와 같은) 난독화된 입력 데이터에 대해 훈련되고, 따라서, 추론 모델(2622)은 본 명세서에 설명되는 바와 같이 정확하게 난독화된 입력 데이터(2624)를 정확하게 분류할 수 있다.
일부 예들에서, 입력 디바이스는 난독화된 입력 데이터를 출력하도록 배열될 수 있다. 도 27은 시스템(2701) 및 입력 디바이스(2752)를 포함하는 추론 환경(2700)을 예시한다. 입력 디바이스(2752)는 회로(2710-1), 메모리(2720-1), 인터페이스(2730-1), 입력 캡처 회로(2751) 및 신뢰할 수 있는 실행 환경(TEE)(2770)을 포함한다. 메모리(2720-1)는 입력 데이터(2724), 난독화된 입력 데이터(2725), 및 명령어들(2728-1)을 저장한다. TEE(2770)는 난독화 키(2772) 및 TEE 명령어들(2778)을 저장한다. 일반적으로, TEE(2770)는 입력 디바이스(2752) 내의 임의의 신뢰할 수 있는 실행 엔클레이브 또는 파티션일 수 있다. 예를 들어, TEE(2770)는 회로(2710-1) 내의 신뢰할 수 있는 실행 파티션일 수 있다. 다른 예로서, TEE(2770)는 신뢰할 수 있는 방식으로 회로(2710-1) 및 메모리(2720-1)로부터 세그먼트화된 그 자신의 회로 및 메모리(도시되지 않음)를 포함할 수 있다. 일반적으로, TEE(2770)는 난독화 키(2772)의 기밀성과 함께 (예를 들어, TEE 명령어들(2778)의) 격리된 실행과 같은 보안 특징들을 제공할 수 있다.
입력 디바이스(2752)는 입력 데이터를 캡처하고, 입력 데이터를 난독화하고, 난독화된 입력 데이터를 시스템(2701)에 제공하도록 배열될 수 있다. 일반적으로, 입력 디바이스(2752)는 난독화된 입력 데이터를 보안 방식으로(예를 들어, TEE(2770) 등을 통해) 생성할 수 있다. 입력 캡처 회로(2751)는 입력 데이터(2724)를 캡처하도록 배열된 임의의 하드웨어일 수 있다. 예를 들어, 입력 캡처 회로(2751)는 이미지 센서(예를 들어, CMOS 센서 등), 마이크로폰, GPS 센서, 열 센서, 생체인식 센서 등일 수 있다. 일부 예들에서, 회로(2710-1)는 입력 캡처 회로(2751)에 의해 생성된 신호들을 수신하고 이러한 신호들의 표시들을 입력 데이터(2724)로서 저장하기 위해 명령어들(2728-1)을 실행할 수 있다.
TEE(2770)는, 명령어들(2778)을 실행할 때, 입력 데이터(2724) 및 난독화 키(2772)로부터 난독화된 입력 데이터(2725)를 생성할 수 있다. 예를 들어, TEE(2770)는, 명령어들(2778)을 실행할 때, 난독화 키(2772)를 사용하여 입력 데이터(2724)를 인코딩, 왜곡, 또는 다른 방식으로 난독화할 수 있다. 회로(2710-1)는 난독화된 입력 데이터(2725)를 시스템(2701)에게 전송하기 위해 명령어들(2728-1)을 실행할 수 있다. 예를 들어, 회로(2710-1)는 인터페이스(2730-1)로 하여금 난독화된 입력 데이터(2725)의 표시들을 포함하는 정보 요소를 (예를 들어, 인터페이스(2730-2) 등을 통해) 시스템(2701)에게 전송하게 하기 위해 제어 신호들을 인터페이스(2730-1)에게 전송할 수 있다.
회로(2710-2)는, 명령어들(2728-2)을 실행할 때, 난독화된 입력 데이터(2725)로부터 출력 데이터(2726)를 생성하기 위해 추론 모델(2722)을 실행할 수 있다. 앞서 설명한 바와 같이, 추론 모델(2722)은 (예를 들어, 난독화된 입력 데이터(2725)와 같은) 난독화된 입력 데이터에 대해 훈련되고, 따라서, 추론 모델(2722)은 본 명세서에 설명되는 바와 같이 정확하게 난독화된 입력 데이터(2724)를 정확하게 분류할 수 있다.
도 28은 로직 흐름(2800)을 예시한다. 로직 흐름(2800)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(2601)(또는 그 컴포넌트들)은 입력 데이터를 난독화함으로써 적대적 공격을 억제하기 위해 로직 흐름(2800)의 동작을 수행할 수 있다. 다른 예로서, 추론 환경 시스템(2700)(또는 그 컴포넌트들)은 입력 데이터를 난독화함으로써 적대적 공격들을 억제하기 위해 로직 흐름(2800)의 동작들을 수행할 수 있다. 로직 흐름(2800)은 명확성을 위해 강화된 시스템(2601)을 참조하여 설명된다. 그러나, 예들은 이에 관하여 제한되지 않는다.
로직 흐름(2800)은 블록 2810 "입력 데이터 수신"에서 시작할 수 있고, 시스템(2601)은 입력 데이터(2624)를 수신할 수 있다. 예를 들어, 강화된 시스템(2601)은 입력 디바이스(2652)로부터, 인터페이스(2630)를 통해, 또는 유사한 것에 의해, 입력 데이터(2624)를 수신할 수 있다. 블록 2820 "입력 데이터 난독화"하는 것으로 계속하여, 시스템(2601)은 난독화 키(2672)에 기초하여 입력 데이터(2624)를 난독화할 수 있다. 시스템(2601)은 보안 방식으로 입력 데이터(2624)를 난독화할 수 있다는 점에 유의한다. 즉, 난독화 키(2672)는 (예를 들어, TEE(2670) 등에) 안전하게 저장될 수 있고, 난독화된 입력 데이터(2625)는 보안 처리를 통해 (예를 들어, TEE(2670) 등에) 생성될 수 있다. 예를 들어, TEE(2670)는, 명령어들(2678)을 실행할 때, 난독화된 입력 데이터(2625)를 생성하기 위해 난독화 키(2672)를 사용하여 입력 데이터(2624)를 난독화할 수 있다.
블록 2830 "추론 모델을 통해, 난독화된 입력 데이터에 기초하여 출력을 생성"으로 계속하여, 시스템(2601)은, 추론 모델(2622)을 통해, 난독화된 입력 데이터(2625)로부터 출력 데이터(2626)를 생성할 수 있다. 예를 들어, 회로(2610)는 난독화된 입력 데이터(2625)로부터 출력 데이터(2626)를 생성하기 위해 추론 모델(2622)을 실행할 수 있다.
일부 구현들에서, 입력은 입력 디바이스들의 하드웨어 특징들 또는 물리적 특징들에 의해 난독화될 수 있다. 예를 들어, 카메라는 종종 이미지를 분류하도록 배열된 추론 시스템의 입력 디바이스로서 사용된다. 이러한 예에서, 카메라는 캡처된 이미지를 왜곡 또는 난독화하고 난독화된 입력 데이터를 제공하기 위한 렌즈를 구비할 수 있다.
도 29는 시스템(2901) 및 입력 디바이스(2952)를 포함하는 추론 환경(2900)을 예시한다. 입력 디바이스(2952)는 회로(2910-1), 메모리(2920-1), 인터페이스(2930-1) 및 입력 캡처 회로(2951)를 포함한다. 메모리(2920-1)는 난독화된 입력 데이터(2925) 및 명령어들(2928-1)을 저장한다. 입력 디바이스(2952)는 난독화된 입력 데이터를 캡처하고 난독화된 입력 데이터를 시스템(2901)에 제공하도록 배열될 수 있다. 일반적으로, 입력 디바이스(2952)는 입력을 캡처하고, 입력을 캡처하는 것의 일부로서, 캡처된 입력을 난독화할 수 있다. 예를 들어, 입력 디바이스(2952)가 카메라인 경우, 카메라에 의해 캡처된 이미지들을 왜곡시키도록 배열된 난독화 렌즈(2953)가 카메라에 제공될 수 있다. 회로(2910-1)는 입력 캡처 회로(2951)에 의해 생성된 신호들을 수신하고 이들 신호들의 표시들을 난독화된 입력 데이터(2925)로서 저장하기 위해 명령어들(2928-1)을 실행할 수 있다. 또한, 회로(2910-1)는 난독화된 입력 데이터(2925)를 시스템(2901)에게 전송하기 위해 명령어들(2928-1)을 실행할 수 있다. 예를 들어, 회로(2910-1)는 인터페이스(2930-1)로 하여금 난독화된 입력 데이터(2925)의 표시들을 포함하는 정보 요소를 (예를 들어, 인터페이스(2930-2) 등을 통해) 시스템(2901)에게 전송하게 하기 위해 제어 신호들을 인터페이스(2930-1)에게 전송할 수 있다.
회로(2910-2)는, 명령어들(2928-2)을 실행할 때, 난독화된 입력 데이터(2925)로부터 출력 데이터(2926)를 생성하기 위해 추론 모델(2922)을 실행할 수 있다. 앞서 설명한 바와 같이, 추론 모델(2922)은 (예를 들어, 난독화된 입력 데이터(2925)와 같은) 난독화된 입력 데이터에 대해 훈련되고, 따라서 추론 모델(2922)은 이미지 캡처 회로(2951) 및 난독화 렌즈(2953)를 통해 캡처된 입력을 정확하게 분류할 수 있다.
도 30은 로직 흐름(3000)을 예시한다. 로직 흐름(3000)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 추론 환경 시스템(2900)(또는 그 컴포넌트들)은 입력 데이터를 난독화함으로써 적대적 공격들을 억제하기 위해 로직 흐름(3000)의 동작들을 수행할 수 있다.
로직 흐름(3000)은 블록 3010 "입력 디바이스로부터 난독화된 입력 데이터를 수신"에서 시작할 수 있고, 난독화된 입력 데이터(2925)가 입력 디바이스로부터 수신될 수 있다. 입력 데이터(2952)는 이미지 데이터를 캡처하고 캡처된 이미지 데이터를 캡처 프로세스의 일부로서(예를 들어, 난독화 렌즈(2953) 등을 통해) 난독화하도록 배열될 수 있다.
블록 3020 "추론 모델을 통해, 난독화된 입력 데이터에 기초하여 출력을 생성"으로 계속하여, 시스템(2901)은, 추론 모델(2922)을 통해, 난독화된 입력 데이터(2925)로부터 출력 데이터(2926)를 생성할 수 있다. 예를 들어, 회로(2910-2)는 난독화된 입력 데이터(2925)로부터 출력 데이터(2926)를 생성하기 위해 추론 모델(2922)을 실행할 수 있다.
네트워크 활성화에 기초한 추론 확률
언급한 바와 같이, 추론 시스템들에 대한 잠재적 공격 벡터는 오분류를 야기하려는 이러한 의도로 추론 시스템에서의 본연의 부정확성들(예를 들어, 손실 함수들, 등)을 이용하고 있다. 이러한 공격의 일반적인 예는 이미지 내의 선택된 픽셀들을 조작하여 분류 시스템이 이미지를 오분류하게 하는 것이다. 특정 예로서, CIFAR-10(Canadian Institute for Advanced Research) 분류 시스템에 제공된 단일 픽셀 이미지는 80% 신뢰도로 항공기로서의 단일 픽셀 이미지의 분류를 야기한다.
본 개시내용은 추론 신뢰성 점수를 생성하기 위해 추론 시스템으로부터 출력을 생성하는 것과 관련된 정보(예를 들어, 네트워크 활성화들 등)를 이용하도록 배열된 강화된 시스템을 제공한다. 신뢰성 점수는 추론 모델 자체에 의해 생성된 신뢰도 확률을 증대시키거나 수정하기 위해 생성될 수 있다. 달리 말하면, 일부 추론 모델들(예를 들어, 콘볼루션 신경망들 등)은 신뢰도 확률뿐만 아니라 추론의 표시들을 포함하는 출력을 생성한다. 이러한 예에서, 신뢰성 점수는 추론 모델에 의해 생성된 신뢰도 확률을 보충하도록 생성될 수 있다.
도 31은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(3101)을 예시한다. 강화된 시스템(3101)은 회로(3110), 메모리(3120), 인터페이스(3130) 및 입력 디바이스(3152)를 포함한다. 메모리(3120)는 추론 증강 맵(3121), 추론 모델(3122), 입력 영역 영향 맵(3123), 입력 데이터(3124), 신뢰성 점수(3125), 출력 데이터(3126), 신뢰성 규칙들(3127), 및 명령어들(3128)을 저장한다.
일반적으로, 강화된 시스템(3101)은 입력 데이터(3124)의 어느 부분들 또는 컴포넌트들이 출력 데이터(3126)에 영향을 미쳤는지의 표시들에 부분적으로 기초하여 신뢰성 점수를 제공할 수 있다. 동작 동안, 시스템(3101)의 회로(3110)는 입력 데이터(3124)를 수신하기 위해 명령어들(3128)을 실행할 수 있다. 예를 들어, 회로(3110)는 입력 디바이스(3152)로부터 입력 데이터(3124)를 수신할 수 있다. 다른 예로서, 회로(3110)는 인터페이스(3130)를 통해 다른 컴퓨팅 디바이스로부터 입력 데이터(3124)를 수신할 수 있다.
회로(3110)는, 명령어들(3128)을 실행함에 있어서, 입력 데이터(3124)로부터 출력 데이터(3126)를 생성하고 또한 추론 증강 맵(3121)을 생성하기 위해 추론 모델(3122)을 실행할 수 있다. 달리 말하면, 추론 모델(3122)은, 입력 데이터(3124)에 기초하여, (1) 출력 데이터(3126) 및 (2) 추론 증강 맵(3121)을 출력할 수 있다. 일반적으로, 추론 증강 맵(3121)은 추론 동안 수행되는 산술 연산들의 표시들 또는 정보, 실행 동안(예를 들어, 출력(3126)을 생성할 때) 추론 모델(3122)의 상태들 등을 포함할 수 있다. 일부 예들에서, 추론 증강 맵(3121)은 출력 데이터(3126)의 생성 동안 모델 활성화 맵 또는 네트워크 활성화 히트 맵(예를 들어, 층 활성화들, 뉴런 활성화들 등의 표시들을 포함함)을 포함할 수 있다. 일부 예들에서, 추론 증강 맵(3121)은 다수의 층들(예를 들어, 각각의 층은 추론 모델(3122)의 각각의 층에 대한 뉴런 활성화들 등에 대응함)을 포함할 수 있다.
회로(3110)는 명령어들(3128)의 실행시에 입력 영역 영향 맵(3123)을 생성할 수 있다. 예를 들어, 회로(3110)는 추론 증강 맵(3121)에 기초하여 입력 데이터(3124)를 마스킹할 수 있다. 특정 예로서, 회로(3110)는 출력 데이터(3126)를 생성하기 위해 추론 모델(3122)을 활성화하는 것을 주로 담당하지 않았던 입력 데이터(3124)의 영역, 부분 또는 컴포넌트를 식별할 수 있다. 특정 예로서, 추론 모델(3122)이 이미지 분류기이고 입력 데이터(3124)가 이미지라고 가정한다. 입력 영역 영향 맵(3123)은 (추론 증강 맵(3121)에 기초하여) 출력 데이터(3126)에 영향을 미치는 영역들을 식별하는 입력 데이터(3124)의 사본을 포함할 수 있다. 일부 예들에서, 회로(3110)는 추론 증강 맵(3121) 및 신뢰성 규칙들(3127)에 기초하여 입력 영역 영향 맵(3123)을 생성할 수 있다. 이러한 예에서, 신뢰성 규칙(3127)은 뉴런 활성화에 대응하는 임계값 활성화 레벨의 표시를 포함할 수 있다. 예를 들어, 뉴런 활성화 함수가 0과 1 사이의 출력을 야기하는 경우, 신뢰성 규칙들(3127)은 출력 데이터(3126)에 기여하거나 이에 영향을 주기 위해 뉴런 활성화가 0.3보다 더 커야 한다는 표시를 포함할 수 있다. 일부 예들에서, 신뢰성 규칙들(3127)은 도메인들, 태스크들, 분류 클래스들 등 사이에서 달라질 수 있다. 특정 예로서, 신뢰성 규칙들(3127)은 분류 클래스 "개들"에 대한 규칙들 및 분류 클래스 "고양이들"에 대한 상이한 규칙들을 포함할 수 있다.
회로(3110)는, 명령어들(3128)을 실행할 때, 입력 영역 영향 맵(3123) 및 신뢰성 규칙들(3127)에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 앞서 설명된 이미지 분류기 예를 사용하여, 회로(3110)는 (예를 들어, 입력 영역 영향 맵(3123) 등에 기초하여) 출력 데이터(3126)에 기여하는(또는 기여하지 않는) 입력 데이터(3124)(예를 들어, 이미지)의 백분율에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 다른 예로서, 회로(3110)는 (예를 들어, 입력 영역 영향 맵(3123) 등에 기초하여) 출력 데이터(3126)에 기여하는(또는 기여하지 않는) 이미지의 부분들에 대한 이미지 데이터의 가변성(예를 들어, 픽셀 컬러, 픽셀 컬러 사이의 분산 등)에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 일부 예들에서, 회로(3110)는 출력 데이터(3126)에 기여하지 않는 이미지의 부분들에 대한 이미지 데이터의 가변성에 대한 출력 데이터(3126)에 기여하는 이미지의 부분들에 대한 이미지 데이터의 가변성(예를 들어, 픽셀 컬러, 픽셀 컬러 사이의 분산 등)의 비율에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 일부 예들에서, 회로(3110)는 입력 데이터(3124) 가변성, 입력 데이터(3124)의 출력 데이터(3126)에 대한 기여(또는 기여하지 않음)의 백분율, 및/또는 입력 데이터 가변성의 비율의 조합에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 일부 예들에서, 회로(3110)는 입력 데이터(3124)의 어느 부분(들)이 출력 데이터(3126)에 기여했는지(또는 기여하지 않았는지)에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 예를 들어, 입력 데이터(3124)의 선택된 부분들(예를 들어, 이미지의 코너들 등)이 출력 데이터(3126)에 기여한 경우, 신뢰성 점수가 보다 낮을 수 있다.
도 32는 본 명세서에 설명된 바와 같이 추론 신뢰성 점수를 생성하기 위해 강화된 시스템(예를 들어, 강화된 시스템(3100) 등)에 의해 구현될 수 있는 예시적 기법(3200)을 예시한다. 기법(3200)은 편의성 및 명확성을 위해 도 31의 강화된 시스템(3100)을 참조하여 설명된다. 그러나, 이는 제한을 의도하지 않는다. 기법(3200)은 원 32.1에서 시작할 수 있다. 원 32.1에서, 입력 디바이스(3152)는 입력 데이터(3124)를 캡처할 수 있다.
원 32.2에서, 추론 모델(3122)은 출력 데이터(3126)를 생성할 수 있다. 예를 들어, 회로(3110)는 추론 모델(3122)을 실행하여 출력 데이터(3126)를 생성할 수 있다. 일부 예들에서, 출력 데이터는 추론 및 추론 확률 양자 모두를 포함할 수 있다. 원 32.3에서, 추론 모델(3122)은 추론 증강 맵(3121)을 출력할 수 있다. 예를 들어, 추론 모델(3122)은 출력 데이터(3126)를 생성하는 것의 일부로서 추론 증강 맵(3121)을 생성할 수 있다.
원 32.4에서, 회로(3110)는, 명령어들(3128)의 실행시, 입력 영역 영향 맵(3123)을 생성할 수 있다. 예를 들어, 회로(3110)는 (예를 들어, 추론 증강 맵(3121)에 기초하여) 추론 모델(3122)의 어느 부분들이 입력 데이터(3124)에 의해 활성화되는지를 결정할 수 있다. 원 32.5에서, 회로(3110)는, 명령어들(3128)을 실행할 때, 입력 영역 영향 맵(3123)을 생성할 수 있다. 예를 들어, 회로(3110)는 신뢰성 규칙 및 입력 영역 영향 맵(3123)에 부분적으로 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 기법(3200)은 선택적으로 원 32.6을 포함할 수 있다. 원 32.6에서, 회로(3110)는 출력 데이터(3126)의 일부로서 추론 모델(3122)에 의해 출력되는 확률을 업데이트, 수정 또는 다른 방식으로 증대시킬 수 있다.
도 33은 로직 흐름(3300)을 예시한다. 로직 흐름(3300)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(3101)(또는 그 컴포넌트들)은 로직 흐름(3300)의 동작들을 수행하여 추론 모델에 의해 생성된 출력의 신뢰성의 표시를 포함하는 신뢰성 점수를 생성할 수 있다. 로직 흐름(3300)은 명확성을 위해 강화된 시스템(3101)을 참조하여 설명된다. 그러나, 예들은 이에 관하여 제한되지 않는다.
로직 흐름(330)은 블록 3310 "입력 데이터 수신"에서 시작할 수 있으며, 시스템(3101)은 입력 데이터(3124)를 수신할 수 있다. 예를 들어, 강화된 시스템(3101)은 입력 디바이스(3152)로부터, 인터페이스(3130)를 통해, 또는 유사한 것에 의해, 입력 데이터(3124)를 수신할 수 있다. 블록 3320 "추론 모델을 통해, 수신된 입력 데이터에 기초하여 출력 데이터를 생성" 및 블록 3330 "추론 모델을 통해 추론 증강 맵을 생성"으로 계속하여, 시스템(3101)은 추론 모델(3122)을 통해 입력 데이터(3124)으로부터의 출력 데이터(3126) 및 추론 증강 맵(3121)을 생성할 수 있다. 예를 들어, 회로(3110)는 추론 모델(3122)의 실행(또는 추론)과 연관된 입력 데이터(3124) 및 추론 증강 맵(3121)으로부터 출력 데이터(3126)를 생성하기 위해 추론 모델(3122)을 실행할 수 있다. 언급된 바와 같이, 추론 증강 맵(3121)은 출력 데이터 생성으로부터의 추론 모델 활성화들에 기초한다. 따라서, 추론 증강 맵(3121)은 출력 데이터(3126)의 생성 동안 추론 모델(3122)의 "활성화들"에 대응한다. 언급된 바와 같이, 추론 증강 맵(3121)은 추론 모델(3122)의 활성화들에 대응하는 네트워크 활성화 히트 맵을 포함할 수 있다.
블록 3340 "입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성"으로 계속하여, 시스템(3101)은 출력 데이터(3126)에 영향을 미치는 (예를 들어, 추론 모델(3122)의 활성화에 기여하는) 입력 데이터(3124)의 영역들의 표시들을 포함하는 입력 영역 영향 맵(3123)을 생성할 수 있다. 예를 들어, 회로(3110)는 명령어들(3128)을 실행함에 있어서, 추론 증강 맵(3121)에 기초하여 출력 데이터(3126)에 기여하는 입력 데이터(3124)의 부분들을 식별할 수 있고, 입력 데이터(3124)의 이러한 부분들의 표시들을 포함하는 입력 영역 영향 맵(3123)을 생성할 수 있다.
블록 3350 "적어도 입력 영역 영향 맵에 기초하여 신뢰성 점수를 생성"으로 계속하여, 시스템(3101)은 입력 영역 영향 맵(3123)에 기초하여 신뢰성 점수(3125)를 생성할 수 있다. 예를 들어, 회로(3110)는 명령어들(3128)을 실행함에 있어서 입력 영역 영향 맵(3123)에 기초하여 출력 데이터(3126)의 신뢰성을 나타내는 점수를 결정하고, 점수의 표시를 신뢰성 점수(3125)로서 저장할 수 있다.
로직 흐름(3300)은 블록 3360 "신뢰성 점수를 추론 모델에 의해 생성된 확률과 융합"을 선택적으로 포함할 수 있고, 시스템(3101)은 출력 데이터(3126)의 일부로서 추론 모델(3122)에 의해 출력된 확률을 업데이트, 수정 또는 다른 방식으로 증대시킬 수 있다.
섹션 III - 데이터 신뢰
제3자 추론의 결합에 의한 입력 세트 무결화
도 34는 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(3401)을 예시한다. 강화된 시스템(3401)은 회로(3410), 메모리(3420), 및 입력 디바이스(3452)를 포함한다. 메모리(3420)는 하나 이상의 추론 모델(3422-1, 3422-2, 3422-N)(또는 추론 모델(3422)), 훈련 데이터 세트(3424), 하나 이상의 분류 데이터(3425-1, 3425-2, 3425-N)(또는 분류 데이터(3425)), 상관되지 않은 출력 데이터(3426), 상관된 출력 데이터(3427) 및 명령어들(3428)을 저장한다. 동작 동안, 회로(3410)는 명령어들(3428) 및/또는 추론 모델들(3422) 중 하나 이상을 실행하여 훈련 데이터 세트(3424)를 상관되지 않은 출력 데이터(3426) 및/또는 상관된 출력 데이터(3427)로 분리할 수 있다.
추론 시스템들에 대한 공격은 추론 모델의 훈련 동안 백도어들(예를 들어, 은닉 클래스들)의 생성을 포함할 수 있다. 백도어는 악의적 행위자에게 의도하지 않은 액세스를 제공하거나 추론 시스템의 하나 이상의 양태들을 제어할 수 있다. 예를 들어, 악의적 행위자(예를 들어, 범죄자 데이터 과학자 또는 데이터 공급자)는 훈련 세트에 부적절한 데이터를 주입할 수 있어서, 훈련된 추론 모델에서 숨겨진 취약점들을 야기한다. 이러한 취약점들은 추론 모델이 입력 데이터를 오분류하게 할 수 있다. 다른 예로서, 훈련 세트에 주입된 부적절한 데이터는 테러리스트들 및 유명인사들 양자 모두를 식별하는 훈련된 추론 모델을 도출할 수 있다.
일반적으로, 훈련 데이터를 준비(예를 들어, 입력에 대한 라벨 표시 등)하는 것은 악의적 행위자에 의한 훈련 데이터의 수정과 같은 공격 벡터들을 노출시키는 인간의 노동이다. 부정확하게 준비된 훈련 데이터를 검토, 검출 및 정정하는 것도 시간 소모적이고 노동 집약적인 프로세스이다. 본 개시내용은 샘플들 각각이 상관되지 않은 출력 데이터(3426) 또는 상관된 출력 데이터(3427) 중 어느 쪽으로 고려될 수 있는지를 결정하기 위해 2개 이상의 추론 모델들(3422)을 사용하여 훈련 데이터 세트(3424) 내의 각각의 샘플을 분류하도록 배열된 강화된 시스템(3401)을 제공한다.
예를 들어, 동작 동안 회로(3410)는 (예를 들어, 입력 디바이스로부터의 입력 데이터로서) 훈련 데이터 세트(3424)를 수신하기 위해 명령어들(3428)을 실행할 수 있다. 전형적으로, 훈련 데이터 세트(3424)는 복수의 샘플을 포함할 수 있다. 훈련 데이터 세트(3424) 내의 각각의 샘플에 대해, 회로(3410)는 분류 데이터(3425-1)를 생성하기 위해 추론 모델(3422-1), 분류 데이터(3425-2)를 생성하기 위해 추론 모델(3422-2), 및 분류 데이터(3425-N)를 생성하기 위해 추론 모델(CA 122-N)를 실행할 수 있다. 때때로, 훈련 데이터 세트(3424) 내의 하나 이상의 샘플에 대한 분류 데이터는 제3자 서비스에 의해 생성될 수 있다. 회로(3410)는 분류 데이터(3425)를 비교하고 훈련 데이터 세트(3424) 내의 각각의 샘플이 추론 모델(3422) 각각에 의해 동일하게 분류되었는지를 결정하기 위해 명령어(3428)를 실행할 수 있다.
또한, 회로(3410)는 각각의 추론 모델(3422)에 의해 동일하게 분류되지 않은 훈련 데이터 세트(3424) 내의 샘플을 상관되지 않은 출력 데이터(3426)에 추가하고 각각의 추론 모델(3422)에 의해 동일하게 분류된 훈련 데이터 세트(3424) 내의 샘플을 상관된 출력 데이터(3427)에 추가하기 위한 명령어(3428)를 실행할 수 있다. 다른 경우에는, 샘플이 상관되지 않은 출력 데이터(3426) 또는 상관된 출력 데이터(3427) 중 어느 쪽에 추가되어야 하는지를 결정하기 위해 임계 수의 상이한 분류들이 사용될 수 있다. 다양한 예들에서, 추론 모델들(3422)에 대한 신뢰 파라미터는 동일한 입력 상의 상이한 시스템들에 의해 제공되는 출력들에서의 분류기 분포의 함수에 기초하여 설정될 수 있다.
상관된 출력 데이터(3427)는 백도어들을 포함하지 않는 것으로 신뢰되는 추론 모델을 훈련하는 데 사용될 수 있다. 달리 말하면, 상관된 출력 데이터(3427)는 백도어들을 포함하지 않는 것으로 신뢰되는 추론 모델을 생성하는 데 사용되는 머신 러닝 알고리즘에 대한 훈련 세트로서 사용될 수 있다. 일부 예들에서, 상관된 출력 데이터 상관된 출력 데이터(3427)에 대해 훈련된 추론 모델은 신뢰적 추론 모델로서 지칭될 수 있다. 추가적으로, 상관되지 않은 출력 데이터(3426)는 추가의 제어가능 적대적 또는 복원력 훈련 흐름들에서 사용될 수 있다. 때때로, 회로(3410)는 상관되지 않은 출력 데이터(3426) 및/또는 상관된 출력 데이터(3427)를 출력 디바이스, 다른 컴퓨팅 디바이스 등에 제공하기 위해 명령어들(3428)을 실행할 수 있다. 하나 이상의 예에서, 상관된 출력 데이터(3426) 및/또는 상관되지 않은 출력 데이터를 특징짓는 측정치 세트가 생성될 수 있다.
도 35는 로직 흐름(3500)을 예시한다. 로직 흐름(3500)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(3401)(또는 그 컴포넌트들)은 훈련 데이터 세트를 상관되지 않은 출력 데이터와 상관된 출력 데이터로 분리하기 위해 로직 흐름(3500)의 동작들을 수행할 수 있다.
로직 흐름(3500)은 블록 3510 "복수의 샘플들을 갖는 훈련 데이터 세트 수신"에서 시작할 수 있고, 강화된 시스템(3401)은 복수의 샘플들을 포함하는 훈련 데이터 세트(3424)를 수신할 수 있다. 예를 들어, 강화된 시스템(3401)은 입력 디바이스(3452)로부터 훈련 데이터 세트(3424)를 수신할 수 있다. 블록 3520 "훈련 데이터 세트 내의 샘플에 기초하여 2개 이상의 추론 모델에 대한 분류 데이터를 생성"으로 계속하여, 강화된 시스템(3401)은 훈련 데이터 세트(3424)에서의 샘플에 기초하여 2개 이상의 추론 모델(3422) 각각에 대한 분류 데이터(3425)를 생성할 수 있다. 예를 들어, 강화된 시스템(3401)은 추론 모델(3422-1)에 기초한 훈련 데이터 세트(3424) 내의 샘플에 대한 분류 데이터(3425-1), 또는 그 일부, 추론 모델(3422-2)에 기초한 훈련 데이터 세트(3424) 내의 샘플에 대한 분류 데이터(3425-2), 또는 그 일부, 및 추론 모델(3422-N)에 기초한 훈련 데이터 세트(3424) 내의 샘플에 대한 분류 데이터(3425-N), 또는 그 일부를 생성할 수 있다.
판정 블록 3530 "샘플에 기초하여 각각의 추론 모델에 대해 생성된 분류 데이터가 상관 임계값을 충족하는가?"로 진행하여, 강화된 시스템(3401)은 훈련 데이터 세트(3424) 내의 샘플에 기초하여 2개 이상의 추론 모델(3530) 각각에 대해 생성된 분류 데이터가 상관 임계값을 충족시키는지를 결정할 수 있다. 일부 예들에서, 강화된 시스템(3401)은 훈련 데이터 세트(3424) 내의 샘플에 2개 이상의 추론 모델들(3422)에 의해 최소 신뢰도 수준을 갖는 공통 분류가 할당되는지를 결정할 수 있다. 예를 들어, 강화된 시스템(3401)은 샘플에 대응하는 분류 데이터(3425-1)의 부분, 샘플에 대응하는 분류 데이터(3425-2)의 부분, 및 샘플에 대응하는 분류 데이터(3425-N)의 부분이 상관 임계값(예를 들어, 80%)을 초과하는 또는 상위 'x' 신뢰도 점수들 내에 있는 샘플 분류를 포함하는지를 결정할 수 있다.
때때로, 어떤 샘플도 상관 임계값을 충족시키지 않을 수 있다. 판정 블록 3530으로부터, 로직 흐름(3500)은 블록 3540 또는 블록 3550 중 어느 하나로 계속될 수 있다. 많은 예들에서, 샘플들은 상관 임계값을 충족시키지 않는다. 샘플에 기초하여 각각의 추론 모델에 대해 생성된 분류 데이터가 매칭된다는 결정에 기초하여 로직 흐름(3500)은 블록 3530에서 블록 3540으로 계속될 수 있는 반면, 샘플에 기초하여 각각의 추론 모델에 대해 생성된 분류 데이터가 매칭되지 않는다는 결정에 기초하여 로직 흐름(3500)은 블록 3530에서 블록 3550으로 계속될 수 있다.
블록 3540 "상관된 출력 데이터에 훈련 데이터 세트 내의 샘플을 추가"에서, 강화된 시스템(3401)은 훈련 데이터 세트(3424)로부터의 샘플을 상관된 출력 데이터(3427)에 추가할 수 있다. 블록 3550 "상관되지 않은 출력 데이터에 훈련 데이터 세트 내의 샘플을 추가"에서, 강화된 시스템(3401)은 훈련 데이터 세트(3424)로부터의 샘플을 상관되지 않은 출력 데이터(3427)에 추가할 수 있다. 판정 블록 3560 "훈련 데이터 세트 내의 각각의 샘플이 상관되지 않은 출력 데이터 또는 상관된 출력 데이터 중 어느 하나에 추가되었는가?"로 계속하여, 강화된 시스템(3401)은 훈련 데이터 세트(3424) 내의 각각의 샘플이 상관되지 않은 출력 데이터(3426) 또는 상관된 출력 데이터(3427) 중 어느 하나에 추가되었는지를 결정할 수 있다. 달리 말하면, 강화된 시스템(3401)은 훈련 데이터 세트(3424) 내의 모든 샘플들이 상관되지 않은 출력 데이터(3426) 또는 상관된 출력 데이터(3427) 중 어느 하나에 추가되었는지를 결정할 수 있다. 판정 블록 3560으로부터, 로직 흐름(3500)은 종료되거나 3520으로 복귀하여, 훈련 데이터 세트(3424) 내의 다음 샘플에 대해 블록들 3520-3560을 반복할 수 있다.
입력 디바이스들에 대한 소스 신뢰 적응
현용의 추론 시스템들에서의 한 가지 문제는 다양한 입력 디바이스들이 해상도, 포맷, 프레임 레이트, 동적 범위, 신뢰 등과 같은 상이한 특성들을 갖는 입력 데이터를 생성할 수 있다는 것이다. 다양한 입력 디바이스들의 상이한 특성들은 이러한 다양한 입력 디바이스들로부터의 입력 데이터가 추론 모델에 의해 어떻게 훈련 또는 분류되는지에 영향을 미칠 수 있다. 예를 들어, 고해상도를 가진 입력 디바이스(예를 들어, 비디오 카메라)로부터의 입력 데이터에 대해 훈련된 추론 모델은 저해상도를 가진 입력 디바이스로부터의 입력 데이터를 분류하는데 어려움이 있을 수 있다. 다른 예에서, 입력 디바이스들은 다양한 액세스가능성을 갖는 다양한 환경들에 위치될 수 있다(예를 들어, 개인 빌딩의 위치 대 공원의 위치). 공원과 같은 고도로 액세스가능한 환경들에서, 악의적 행위자들은 본 명세서에서 설명된 바와 같이 백도어를 생성하는 것과 같이, 입력 디바이스에 의해 생성된 입력 데이터를 조작할 더 나은 기회들을 가질 수 있다. 따라서, 매우 액세스가능한 환경의 입력 디바이스는 액세스하기 어려운 환경의 입력 디바이스보다 더 낮은 신뢰 수준과 연관될 수 있다.
다른 예에서, 입력 디바이스와 강화된 시스템 사이의 데이터 경로의 보안은 입력 디바이스의 신뢰 수준의 인자일 수 있다(예를 들어, 암호화된 데이터 경로는 암호화되지 않은 데이터 경로보다 더 신뢰할 수 있는 것으로 고려될 수 있다). 일부 예에서, 신뢰 수준은 입력 디바이스의 하나 이상의 동작 파라미터 및/또는 특성을 지칭할 수 있다. 따라서, 본 개시내용은 입력 디바이스의 특성들에 부분적으로 기초하여 훈련 또는 추론이 이루어지는 추론 시스템 또는 추론 환경을 제공한다. 예를 들어, 본 개시내용은 입력 디바이스로부터의 입력 데이터를 사용하여 (다수의 추론 모델 중) 어느 추론 모델을 훈련할지를 선택할 때 입력 디바이스 특성을 사용하도록 배열된 시스템을 제공한다(예를 들어, 도 36 내지 도 37 참조). 다른 예로서, 본 개시내용은 입력 디바이스로부터의 입력 데이터를 사용하여 추론을 생성하기 위해 (다수의 추론 모델들 중) 어느 추론 모델을 사용할지를 선택할 때 입력 디바이스 특성들을 사용하도록 배열된 시스템을 제공한다(예를 들어, 도 38 및 도 39 참조).
본 명세서에 제공된 예들 중 다수(예를 들어, 도 36 내지 도 39와 연관된 설명)가 비디오 카메라를 입력 디바이스로서 사용하지만, 다수의 입력 디바이스가 적절할 수 있다는 점에 유의한다. 예를 들어, 본 개시내용은 스틸 카메라, 마이크로폰, 적외선 검출기, 마이크로파 검출기, 또는 입력을 나타내는 신호들을 방출하도록 배열된 임의의 다른 디바이스로 구현될 수 있다.
도 36은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(3601)을 예시한다. 강화된 시스템(3601)은 회로(3610), 메모리(3620), 인터페이스(3630), 및 입력 디바이스들(3652-1 및 3652-2)을 포함한다. 메모리(3620)는 하나 이상의 훈련되지 않은 추론 모델들(3621-1, 3621-2, 3621-N)(또는 훈련되지 않은 추론 모델들(3621)), 입력 데이터(3624-1 및 3624-2), 하나 이상의 입력 디바이스 특성들(3625-1 및 3625-2), 및 명령어들(3628)을 저장한다. 많은 예들에서, 입력 데이터(3624)는 훈련 데이터 세트(예를 들어, 훈련 데이터 세트(362))를 포함할 수 있는 한편, 훈련되지 않은 추론 모델들(3621)은 훈련 데이터 세트(예를 들어, 3624)에 기초하여 추론 모델들을 생성하는 알고리즘들을 참조할 수 있다. 동작 동안, 회로(3610)는 각각의 입력 데이터(3624)에 대한 입력 디바이스 특성들(3625)에 기초하여 입력 데이터(3624)로 훈련할 훈련되지 않은 추론 모델들(3621) 중 하나를 선택하기 위해 명령어들(3628)을 실행할 수 있다.
예를 들어, 회로(3610)는 입력 디바이스들(3652-1 및 3652-2)로부터 입력 데이터(3624-1 및 3624-2)를 각각 수신하기 위해 명령어들(3628)을 실행할 수 있다. 회로(3610)는 입력 디바이스들(3652-1 및 3652-2)에 각각 대응하는 입력 디바이스 특성(들)(3625-1 및 3625-2)을 결정하기 위해 명령어들(3628)을 실행할 수 있다. 때때로, 하나 이상의 입력 디바이스 특성(3625-1 및 3625-2)은, 예컨대 부팅 시간에 인터페이스(3630)를 통해 각각의 입력 디바이스(예를 들어, 3652-1, 3652-2 등)에 질의함으로써 결정될 수 있다. 예를 들어, 입력 디바이스(3652-1)는 애플리케이션 프로그래밍 인터페이스(API)를 가질 수 있으며, 이를 통해 하나 이상의 입력 디바이스 특성(3625-1)이 결정될 수 있다. 다른 경우에, 각각의 입력 디바이스(예를 들어, 3652-1, 3652-2 등)는 입력 데이터(3624-1, 3624-2)의 하나 이상의 부분을 메모리(3620)에 제공하는 것과 관련하여 하나 이상의 입력 디바이스 특성(3625-1, 3625-2)을 제공할 수 있다. 예를 들어, 입력 디바이스(3652-2)는 입력 데이터(3624-2)를 제공하는 것과 관련하여 입력 디바이스 특성(3625-2)을 제공할 수 있다.
때때로, 회로(3610)는 메모리(3620)가 입력 디바이스(3652)에 결합되는 인터페이스(3630)에 기초하여 또는 인터페이스(3630)가 입력 디바이스(3652)와 통신하는 통신 방식에 기초하여 하나 이상의 입력 디바이스 특성(3625-1)을 식별하기 위해 명령어들(3628)을 실행할 수 있다. 예를 들어, 입력 디바이스(3652-1)와 메모리(3620) 사이의 데이터 경로의 보안은 인터페이스(3630)에 적어도 부분적으로 기초하여 결정될 수 있다. 이러한 예에서, 데이터 경로의 보안은, 적어도 부분적으로, 입력 디바이스(3652-1) 및 입력 디바이스 특성(3625-1)에 대한 신뢰 수준을 결정하는데 사용될 수 있다. 단일 인터페이스(3630)가 묘사되어 있다는 점에 유의한다. 그러나, 일부 예에서, 상이한 입력 디바이스들(3652) 또는 상이한 특성들(예를 들어, 상이한 보안 요건들 등)을 가지는 입력 디바이스들(3652)에 대해 상이한 인터페이스(3630)가 제공될 수 있다.
회로(3610)는 각각의 입력 디바이스 특성들(3625-1 및 3625-2)에 기초하여 입력 데이터(3624-1 또는 3624-2)로 훈련하기에 가장 적합한 훈련되지 않은 추론 모델들(3621) 중 하나를 선택하기 위해 명령어들(3628)을 실행할 수 있다. 설명한 바와 같이, 다양한 예들에서, 회로(3610)는 복수의 입력 디바이스들(예를 들어, 입력 디바이스(3652-1 및 3652-2) 등)로부터 입력 데이터 및/또는 입력 디바이스 특성들을 수신하기 위해 명령어들(3628)을 실행할 수 있다. 이러한 예들에서, 회로(3610)는 원하는 입력 디바이스 특성들을 갖는 하나 이상의 입력 디바이스로부터의 데이터를 조합함으로써 특정한 훈련되지 않은 추론 모델에 대한 훈련 데이터 세트를 구축하기 위해 명령어들(3628)을 실행할 수 있다. 2개의 입력 디바이스(3652-1 및 3652-2)가 묘사되지만, 실제로는 많은 수(예를 들어, 어레이, 클러스터 등)의 입력 디바이스들(3652)이 강화된 시스템(3601)에 결합될 수 있고, 훈련되지 않은 추론 모델들(3621)을 훈련하기 위해 사용될 수 있다.
도 37은 로직 흐름(3700)을 예시한다. 로직 흐름(3700)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(3601)(또는 그 컴포넌트들)은 입력 디바이스로부터의 입력 데이터에 대해 훈련할 훈련되지 않은 추론 모델을 식별하기 위해 로직 흐름(3700)의 동작들을 수행할 수 있다.
로직 흐름(3700)은 블록 3710 "입력 디바이스 특성 결정"에서 시작할 수 있고, 강화된 시스템(3601)은 입력 디바이스(3652-1)의 입력 디바이스 특성들(3625-1), 입력 디바이스(3652-2)의 입력 디바이스 특성들(3625-2) 등을 결정할 수 있다. 예를 들어, 강화된 시스템(3601)은 API를 통해 입력 디바이스(3652-1)에 질의하여 입력 디바이스 특성(3625-1)을 결정할 수 있다. 다른 예로서, 강화된 시스템(3601)은 입력 데이터(3624-2)를 수신하는 것과 관련하여 입력 디바이스(3652-2)로부터 입력 디바이스 특성들(3625-2)을 수신할 수 있다.
블록 3720 "입력 디바이스 특성에 기초하여 훈련되지 않은 추론 모델을 선택"으로 계속되어, 강화된 시스템(3601)은 입력 디바이스 특성들(3625-1, 3625-2 등)에 기초하여 하나 이상의 훈련되지 않은 추론 모델(3621)로부터 선택할 수 있다. 예를 들어, 강화된 시스템(3601)은 입력 디바이스 특성들(3625-1)에 기초하여 입력 데이터(3624-1)로 훈련할 훈련되지 않은 추론 모델(3621-2)을 선택할 수 있다. 다른 예로서, 강화된 시스템(3601)은 입력 디바이스 특성들(3625-2)에 기초하여 입력 데이터(3624-2)로 훈련하기 위해 훈련되지 않은 추론 모델(3621-1)을 선택할 수 있다.
블록 3730 "입력 디바이스로부터의 입력 데이터로 입력 디바이스 특성들에 기초하여 선택된 추론 모델을 훈련"으로 진행하여, 강화된 시스템(3601)은 훈련되지 않은 추론 모델들(121)로부터 선택된 추론 모델을 입력 데이터(예를 들어, 입력 데이터(3624-1), 입력 데이터(3624-2) 등)로 훈련할 수 있다. 예를 들어, 강화된 시스템(3601)은 입력 디바이스 특성들(3625-1)에 기초하여 훈련되지 않은 추론 모델(3621-2)을 입력 데이터(3624-1)로 훈련할 수 있고, 입력 디바이스 특성들(3625-2)에 기초하여 훈련되지 않은 추론 모델(3621-1)을 입력 데이터(3624-2)로 훈련할 수 있다. 블록 3730으로부터, 로직 흐름(3700)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복될 수 있다.
도 38은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(3801)을 예시한다. 강화된 시스템(3801)은 회로(3810), 메모리(3820), 인터페이스(3630), 및 입력 디바이스들(3652-1 및 3652-2)을 포함한다. 메모리(3820)는 하나 이상의 훈련된 추론 모델들(3623-1, 3623-2, 3623-N)(또는 훈련된 추론 모델들(3623)), 입력 데이터(3824-1 및 3824-2), 입력 디바이스 특성들(3625-1 및 3625-2), 및 명령어들(3828)을 저장한다. 많은 예들에서, 입력 데이터(3824-1 및 3824-2)는 훈련된 추론 모델들(3623) 중 하나 이상에 의한 분류를 위한 데이터를 포함할 수 있다. 동작 동안, 회로(3810)는 각각 입력 디바이스 특성들(3625-1 및 3625-2)에 기초하여 입력 데이터(3824-1 및 3824-2)를 분류하기 위해 훈련된 추론 모델들(3623) 중 하나를 선택하기 위해 명령어들(3828)을 실행할 수 있다.
예를 들어, 동작 동안, 회로(3810)는 입력 디바이스(3652-1)의 하나 이상의 입력 디바이스 특성(3625-1)을 결정하고 입력 디바이스(3652-2)의 하나 이상의 입력 디바이스 특성(3625-2)을 결정하기 위해 명령어(3828)를 실행할 수 있다. 때때로, 하나 이상의 입력 디바이스 특성(3625)은, 예컨대, 부팅 시간에, 인터페이스(3630)를 통해 각각의 입력 디바이스(3652)에 질의함으로써 결정될 수 있다. 예를 들어, 입력 디바이스(3652-1)는 API를 가질 수 있으며, 이를 통해 하나 이상의 입력 디바이스 특성(3625-1)이 결정될 수 있다. 다른 경우에, 입력 디바이스(3652)는 입력 데이터(3624)의 하나 이상의 부분을 메모리(3820)에 제공하는 것과 관련하여 하나 이상의 입력 디바이스 특성(3625)을 제공할 수 있다. 예를 들어, 입력 디바이스(3652-2)는 입력 데이터(3624-2)를 제공하는 것과 관련하여 입력 디바이스 특성(3625-2)을 제공할 수 있다.
때때로, 회로(3810)는, 메모리(3820)가 입력 디바이스(152)에 결합되는 인터페이스(3630)에 기초하여 또는 인터페이스(3630)가 입력 디바이스(3652)와 통신하는 통신 방식에 기초하여, 하나 이상의 입력 디바이스 특성(3625)을 식별하기 위해 명령어(3828)를 실행할 수 있다. 예를 들어, 입력 디바이스(3652-1)와 메모리(3820) 사이의 데이터 경로의 보안은 인터페이스(3630)에 적어도 부분적으로 기초하여 결정될 수 있다. 이러한 예에서, 데이터 경로의 보안은, 적어도 부분적으로, 입력 디바이스(3652-1) 및 입력 디바이스 특성(3625-1)에 대한 신뢰 수준을 결정하는데 사용될 수 있다. 단일 인터페이스(3630)가 묘사되어 있다는 점에 유의한다. 그러나, 일부 예에서, 상이한 입력 디바이스들(3652) 또는 상이한 특성들(예를 들어, 상이한 보안 요건들 등)을 가지는 입력 디바이스들(3652)에 대해 상이한 인터페이스(3630)가 제공될 수 있다. 일부 예들에서, 입력 디바이스 특성들 및/또는 신뢰는 입력 소스 품질 조건을 결정하는데 사용될 수 있거나, 입력 소스 품질 조건에 기초할 수 있다. 많은 예에서, 입력 소스 품질 조건은 식별된 신뢰 및/또는 입력 소스 품질 조건과 함께 동작하도록 조정된 추론 모델과 같은 추론 모델을 선택하는데 있어서의 한 인자일 수 있다.
회로(3810)는 입력 디바이스 특성들(3625-1 및 3625-2)에 기초하여 입력 데이터(3824-1 및 3824-2)를 분류하는데 가장 적합한 훈련된 추론 모델들(3623) 중 하나를 선택하기 위해 명령어들(3828)을 실행할 수 있다. 설명한 바와 같이, 다양한 예들에서, 회로(3810)는 복수의 입력 디바이스들(예를 들어, 입력 디바이스(452-1 및 452-2) 등)로부터 입력 데이터 및/또는 입력 디바이스 특성들을 수신하기 위해 명령어들(3828)을 실행할 수 있다. 이러한 예들에서, 회로(3810)는 입력 데이터(3824)가 그로부터 수신된 각각의 입력 디바이스(3652)에 대한 입력 디바이스 특성들(3625)에 기초하여 입력 데이터(3824)를 분류하기 위해 사용할 훈련된 추론 모델(3623)을 선택하기 위해 명령어들(3828)을 실행할 수 있다.
도 39는 로직 흐름(3900)을 예시한다. 로직 흐름(3900)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(3801)(또는 그 컴포넌트들)은 하나 이상의 입력 디바이스 특성에 기초하여, 입력 디바이스로부터의 입력 데이터를 분류하기 위한 훈련된 추론 모델을 식별하기 위해 로직 흐름(3900)의 동작들을 수행할 수 있다.
로직 흐름(3900)은 블록 3910 "입력 디바이스 특성 결정"에서 시작할 수 있으며, 강화된 시스템(3801)은 각각 입력 디바이스들(3652-1 및 3652-2)의 입력 디바이스 특성들(3625-1 및 3625-2)을 결정할 수 있다. 예를 들어, 강화된 시스템(3801)은 입력 디바이스 특성(3625-1)을 결정하기 위해 API를 통해 입력 디바이스(3652-1)에 질의할 수 있다. 다른 예로서, 강화된 시스템(3801)은 입력 데이터(3824-2)를 수신하는 것과 관련하여 입력 디바이스 특성들(3625-2)을 수신할 수 있다. 일부 예들에서, 입력 디바이스 특성들(3625-1, 3625-2)은 렌즈 특성 및 오디오 증폭기 중 하나 이상을 포함할 수 있다.
블록 3920 "입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택"으로 계속되어, 강화된 시스템(3801)은 입력 디바이스 특성들(3625)(예를 들어, 3625-1, 3625-2 등)에 기초하여 하나 이상의 훈련된 추론 모델(3623)로부터 선택할 수 있다. 예를 들어, 강화된 시스템(3801)은 입력 디바이스 특성들(3625-2)에 기초하여 입력 데이터(3824-2)를 분류하기 위해 훈련된 추론 모델(3623-1)을 선택할 수 있다. 다른 예로서, 강화된 시스템(3801)은 입력 디바이스 특성들(3625-1)에 기초하여 입력 데이터(3824-1)를 분류하기 위해 훈련된 추론 모델(3623-2)을 선택할 수 있다.
블록 3930 "입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류"로 진행하면, 강화된 시스템(3801)은 훈련된 추론 모델들(123)로부터 선택된 추론 모델로 입력 데이터(3824)를 분류할 수 있다. 예를 들어, 강화된 시스템(3801)은 입력 디바이스 특성들(3625-2)에 기초하여 훈련된 추론 모델(3623-1)로 입력 데이터(3824-2)를 분류할 수 있다. 다른 예로서, 강화된 시스템(3801)은 입력 디바이스 특성들(3625-1)에 기초하여 훈련된 추론 모델(3623-2)로 입력 데이터(3824-1)를 분류할 수 있다. 블록 3930으로부터, 로직 흐름(3900)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복될 수 있다.
모델과의 훈련 세트의 신뢰적 연관
도 40은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(4001)을 예시한다. 강화된 시스템(4001)은 회로(4010), 메모리(4020), 및 신뢰할 수 있는 실행 환경(TEE)(4070)을 포함한다. 메모리(4020)는 입력 데이터(4024), 명령어들(4028), 및 출력 데이터(4026)를 저장한다. 몇몇 예들에서, 입력 데이터(4024)는 훈련 데이터 세트를 포함할 수 있다. 동작 동안, 회로(4010)는 TEE(4070)와 연관된 다양한 입력/출력 동작들을 수행하기 위해 명령어들(4028)을 실행할 수 있다. TEE(4070)는 신뢰적 회로(4011) 및 신뢰적 메모리(4021)를 포함한다. 신뢰적 메모리는 TEE 명령어들(4072), 트랜스코딩된 입력 데이터(4074), 훈련 데이터 세트 무결성 상태(TSIS)(4076), 훈련되지 않은 추론 모델(4078), 훈련된 추론 모델(4080), 및 추론 모델 무결성 서명(IMIS)(4082)을 저장한다. 많은 예들에서, 트랜스코딩된 입력 데이터(4074)는 트랜스코딩된 훈련 데이터 세트를 포함할 수 있다. 동작 동안, 신뢰적 회로(4011)는 추론 모델이 지정된 훈련 데이터 세트에 대해 훈련되었다는 검증을 가능하게 하기 위해 TEE 명령어들(4072)을 실행할 수 있다.
앞서 설명한 바와 같이, 추론 시스템들에 대한 공격은 추론 모델의 훈련 동안 백도어들(예를 들어, 은닉 클래스들)의 생성을 포함할 수 있다. 때때로, 악의적 행위자(예를 들어, 범죄자 데이터 과학자 또는 데이터 공급자)는 훈련된 추론 모델에서 숨겨진 취약점들을 야기하려는 의도로 훈련 데이터 세트에 부적절한 데이터를 주입할 수 있다. 따라서, 본 개시내용은 추론 모델이 주장된 훈련 데이터 세트에 의해 훈련되었다는 검증을 가능하게 하도록 배열된 강화된 시스템(4001)을 제공한다.
예를 들어, 동작 동안, 회로(4010)는 입력 데이터(4024)를 TEE(4070)에 이용가능하게 만들기 위해 명령어들(4028)을 실행할 수 있다. 전형적으로, 입력 데이터(4024)는 복수의 샘플들을 갖는 훈련 데이터 세트를 포함할 수 있다. 신뢰적 회로(4011)는 입력 데이터(4024)를 트랜스코딩된 입력 데이터(4074)로 변환하기 위해 TEE 명령어들(4072)을 실행할 수 있다. 예를 들어, 입력 데이터(4024) 내의 각각의 샘플은 수학적 표현으로 변환될 수 있다. 신뢰적 회로(4011)는 트랜스코딩된 입력 데이터(4074)에 기초하여 TSIS(4076)를 생성하기 위해 TEE 명령어들(4072)을 실행할 수 있다. 예를 들어, 순서 및 반복에 민감하지 않은 암호화 알고리즘이 트랜스코딩된 입력 데이터(4074) 내의 각각의 샘플에 기초하여 TSIS(4076)를 생성하는 데 이용될 수 있다. 많은 예들에서, 훈련 데이터 세트의 내용은 TSIS(4076)를 갖는 제3자에 의해 (예를 들어, TSIS(4076)을 재계산함으로써) 검증될 수 있다.
또한, 신뢰적 회로(4011)는 훈련된 추론 모델(4080)을 생성하기 위해 트랜스코딩된 입력 데이터(4074)에 대해 훈련되지 않은 추론 모델(4078)을 훈련하도록 TEE 명령어들(4072)을 실행할 수 있다. 예를 들어, 훈련되지 않은 추론 모델(4078)은 트랜스코딩된 입력 데이터(4074)에 기초하여 훈련된 추론 모델(4080)을 발생시키기 위한 기계 학습 알고리즘을 포함할 수 있다. 일부 예들에서, 훈련되지 않은 추론 모델(4078)은 훈련 데이터를 포함할 수 있다. 다양한 예들에서, 훈련되지 않은 추론 모델(4078)은 훈련된 추론 모델(4080)이 생성된 이후에 메모리 내에 보유되지 않을 수 있다.
신뢰적 회로(4011)는 TEE 명령어들(4072)을 실행하여 추론 모델 무결성 서명(IMIS)(4082)을 생성할 수 있다. 예를 들어, IMIS(4082)는 훈련된 추론 모델(4080)의 암호 해시를 포함할 수 있다. 많은 예에서, 추론 모델의 내용은 제3자에 의해 IMIS(4082)로(예를 들어, IMIS(4082)를 재계산함으로써) 검증될 수 있다. TSIS(4076), IMIS(4082), 및 훈련된 추론 모델(4080) 중 하나 이상이 출력으로서 제공될 수 있다(예를 들어, 출력 데이터(4026)로서 저장됨). 예를 들어, 신뢰적 회로(4011)는 TSIS(4076), IMIS(4082), 및 훈련된 추론 모델(4080)을 튜플로서 출력하기 위해 TEE 명령어들(4072)을 실행할 수 있다. 때때로, 회로(4010)는 출력 데이터(4026)를 출력 디바이스, 또 다른 컴퓨팅 디바이스 등에 제공하기 위해 명령어(4028)를 실행할 수 있다.
도 41은 로직 흐름(4100)을 예시한다. 로직 흐름(4100)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(4001)(또는 그 컴포넌트들)은 훈련된 추론 모델(4080) 및/또는 훈련된 추론 모델(4080)에 대응하는 주장된 훈련 세트의 검증을 가능하게 하기 위해 TSIS(4076), IMIS(4082), 및 훈련된 추론 모델(4080) 중 하나 이상을 발생시키도록 로직 흐름(4100)의 동작들을 수행할 수 있다.
로직 흐름(4100)은 블록 4110 "입력 데이터 수신"에서 시작할 수 있고, 강화된 시스템(4001)이 입력 데이터(4024)를 수신할 수 있다. 예를 들어, 강화된 시스템(4001)은 입력 데이터(4024)로서 복수의 샘플들을 갖는 훈련 데이터 세트를 수신할 수 있다. 블록 4120 "입력 데이터를 트랜스코딩"으로 계속되어, 강화된 시스템(4001)은 입력 데이터(4024)를 트랜스코딩하여 트랜스코딩된 입력 데이터(4074)를 생성할 수 있다. 예를 들어, 트랜스코딩된 입력 데이터(4074)는 입력 데이터(4024) 내의 각각의 샘플의 수치 표현을 포함할 수 있다. 다음으로, 로직 흐름(4100)은 블록 4130 및/또는 블록 4140으로 진행할 수 있다. 달리 말하면, 블록 4130 및 블록 4140은 트랜스코딩된 입력 데이터(4120)를 사용하여 병렬로 수행될 수 있다.
블록 4130 "트랜스코딩된 입력 데이터에 기초하여 TSIS 값을 생성"에서, 트랜스코딩된 입력 데이터에 기초하여 TSIS 값이 생성될 수 있다. 예를 들어, 강화된 시스템(4001)은 암호화 알고리즘을 사용하여 트랜스코딩된 입력 데이터(4074)에 기초하여 TSIS 값(4074)을 생성할 수 있다. 로직 흐름(4100)은 블록 4130으로부터 블록 4160으로 진행할 수 있다. 블록 4140 "트랜스코딩된 입력 데이터로 추론 모델을 훈련"을 다시 참조하면, 추론 모델은 트랜스코딩된 입력 데이터에 기초하여 훈련될 수 있다. 예를 들어, 강화된 시스템(4001)은 트랜스코딩된 입력 데이터(4074)에 기초하여 훈련된 추론 모델(4080)을 생성하기 위해 기계 학습 알고리즘을 이용할 수 있다. 블록 4150 "추론 모델에 기초하여 IMIS 값을 생성"으로 계속되어, IMIS 값은 훈련된 추론 모델(4080)에 기초하여 생성될 수 있다. 예를 들어, 훈련된 추론 모델(4080)에 기초하여 IMIS 값(4082)을 생성하기 위해 암호 해시가 사용될 수 있다. 블록 4160으로부터, 로직 흐름(4100)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복될 수 있다.
섹션 IV - 향상된 추론 모델 훈련
악성 훈련 후의 추론 모델 복원
본 명세서에서 상세히 설명되는 바와 같이, 추론 모델들은 데이터 세트들(예를 들어, 훈련 및 시험 데이터 세트들)을 사용하여 훈련된다. 종종, 추론 모델들은 상이한 데이터 세트들을 사용하여 반복적으로 훈련될 수 있다. 예를 들어, 추론 모델은 제1 데이터 세트에 대해 훈련된 다음, 후속하여 제2 데이터 세트에 대해 훈련될 수 있다. 일부 구현들에서, 훈련 데이터 세트들은 제어되지 않는 소스들(예를 들어, 연구 기관들, 오픈 소스, 온라인 데이터 세트들 등)로부터 발생한다. 그 결과, 추론 모델은 추론 모델의 성능을 저하시키는 데이터를 포함하는 데이터 세트들로 훈련될 수 있다. 예를 들어, 추론 모델은 추론 모델의 성능을 저하시키는 오분류된 데이터(예를 들어, 의도적으로 오분류된, 우발적으로 오분류된 등)를 포함하는 데이터 세트로 훈련될 수 있다. 일부 경우들에서, 악의적인 당사자들은 백도어들, 은닉 클래스들, 또는 추론 모델에 대한 알려진 오분류 취약점들을 도입하려는 의도로 훈련하는데 사용되는 데이터 세트들을 의도적으로 수정할 수 있다.
본 개시내용은 추론 모델의 성능을 저하시키는 훈련 데이터 세트들의 발견에 대응하는 "와일드카드" 클래스를 의도적으로 훈련하는 것을 제공한다. 이러한 와일드카드 클래스(들)는 저하된 성능을 복원하고 훈련 데이터 세트 내의 에러들에 기초한 잠재적인 적대적 공격들을 완화하도록 훈련될 수 있다.
도 42는 추론 모델을 훈련하기 위한 예시적 시스템(4201)을 예시한다. 시스템(4201)은 회로(4210), 메모리(4220), 및 인터페이스(4230)를 포함한다. 메모리(4220)는 추론 모델(4222), 명령어들(4228), 및 시험/훈련 데이터 세트(4260)를 저장한다. 메모리(4220)는 또한 선택적으로 복원된 추론 모델(4223)을 포함할 수 있다. 시험/훈련 데이터 세트(4260)는 훈련 데이터(4262)는 물론 시험 데이터(4264) 양자 모두를 포함한다. 설명한 바와 같이, 훈련은 다수의 상이한 훈련 및/또는 시험 데이터 세트들을 사용하는 스테이지들에서 구현될 수 있다. 예를 들어, 데이터 세트(4260)는 훈련 데이터 세트(4262-1), 훈련 데이터 세트(4262-2), 및 훈련 데이터 세트(4262-3)는 물론, 시험 데이터 세트(4264-1) 및 시험 데이터 세트(4264-1)를 포함하는 것으로 묘사되어 있다. 데이터 세트(4260)가 임의의 수의 훈련 데이터 세트들(4262) 및 임의의 수의 시험 데이터 세트들(4264)을 포함할 수 있다는 점에 유의한다. 여기에 설명된 수들은 한정이 아니라 명확성을 위해 선택된 것이다. 또한, 메모리(4220)는 복원 훈련 데이터 세트(4272) 및 복원 시험 데이터 세트(4274)를 포함하는 복원 시험/훈련 데이터 세트(4270)를 포함할 수 있다. 복원 훈련 데이터 세트(4272) 및 복원 시험 데이터 세트(4274)는 에러들(예를 들어, 악의적으로 도입된 에러들, 우발적으로 도입된 에러들 등)을 포함하는 훈련 데이터 세트들(4262) 중 하나를 사용하여 추론 모델(4222)을 훈련하는 것으로부터 "복원"하기 위해 사용될 수 있다. 보다 구체적으로, 복원 훈련 데이터 세트(4272)는 훈련 데이터 세트(4262)에서의 에러들에 기초한 잠재적인 적대적 공격들을 완화시키기 위해, 예를 들어, 와일드카드 클래스와 같은, 추가적인 클래스로 추론 모델(4222)을 훈련시키는 데 사용될 수 있다.
도 43은 에러들을 포함하는 데이터 세트로 추론 모델을 훈련하는 것으로부터의 복원을 위해 도 42의 시스템(4201)과 같은 시스템에 의해 구현될 수 있는 예시적 기법(4300)을 예시한다. 기법(4300)은 편의성 및 명확성을 위해 도 42의 시스템(4201)을 참조하여 설명된다는 점에 유의한다. 그러나, 이는 제한을 의도하지 않는다.
기법(4300)은 원 43.1에서 시작할 수 있다. 원 43.1에서, 시스템(4201)은 훈련 데이터 세트(4262-1)를 사용하여 추론 모델(4222)을 훈련한다. 예를 들어, 회로(4210)는 (예를 들어, 도 3의 기법(300) 등에 기초하여) 추론 모델 훈련 알고리즘을 구현하여 훈련 데이터 세트(4262-1)를 사용하여 추론 모델(4222)을 훈련하기 위해 명령어들(4228)을 실행할 수 있다. 훈련 데이터 세트(4262-1)를 사용하여 추론 모델(4222)을 훈련하는 것은 추론 모델(4222-1)의 반복을 초래할 수 있다. 원 43.2에서, 시스템(4201)은 시험 데이터 세트(예를 들어, 시험 데이터 세트(4264-1) 등)를 사용하여 추론 모델 반복 1(4222-1)을 시험할 수 있다. 예를 들어, 회로(4210)는 시험 데이터 세트(4264-1)를 사용하여 추론 모델 반복 1(4222-1)의 성능을 시험하기 위해 명령어(4228)를 실행할 수 있다.
추론 모델(4222)은 추가적인 훈련 데이터 세트로 더 훈련될 수 있다. 원 43.3에서, 시스템(4201)은 훈련 데이터 세트(4262-2)를 사용하여 추론 모델(4222)을 훈련한다. 예를 들어, 회로(4210)는 훈련 데이터 세트(4262-2)를 사용하여 추론 모델 반복 1(4222-1)을 훈련하기 위해 (예를 들어, 도 3의 기법(300) 등에 기초하여) 추론 모델 훈련 알고리즘을 구현하기 위해 명령어들(4228)을 실행할 수 있다. 훈련 데이터 세트(4262-2)를 사용하여 추론 모델 반복 1(4222-1)을 훈련하는 것은 추론 모델(4222)의 다른 반복(예를 들어, 추론 모델 반복 2(4222-2))을 초래할 수 있다. 원 43.4에서, 시스템(4201)은 시험 데이터 세트(예를 들어, 시험 데이터 세트(4264-1) 등)를 사용하여 추론 모델 반복 2(4222-2)를 시험할 수 있다. 예를 들어, 회로(4210)는 시험 데이터 세트(4264-1)를 사용하여 추론 모델 반복 2(4222-2)의 성능을 시험하기 위해 명령어(4228)를 실행할 수 있다.
추론 모델(4222)은 다시 제3 추가적인 훈련 데이터 세트로 더 훈련될 수 있다. 원 43.5에서, 시스템(4201)은 훈련 데이터 세트(4262-3)를 사용하여 추론 모델(4222)을 훈련한다. 예를 들어, 회로(4210)는 훈련 데이터 세트(4262-2)를 사용하여 추론 모델 반복 2(4222-2)를 훈련하기 위해 (예를 들어, 도 3의 기법(300) 등에 기초하여) 추론 모델 훈련 알고리즘을 구현하기 위한 명령어들(4228)을 실행할 수 있다. 훈련 데이터 세트(4262-2)를 사용하여 추론 모델 반복 2(4222-2)를 훈련하는 것은 추론 모델(4222)의 다른 반복(예를 들어, 추론 모델 반복 3(4222-3))을 초래할 수 있다. 원 43.6에서, 시스템(4201)은 시험 데이터 세트(예를 들어, 시험 데이터 세트(4264-2) 등)를 사용하여 추론 모델 반복 3(4222-3)을 시험할 수 있다. 예를 들어, 회로(4210)는 시험 데이터 세트(4264-2)를 사용하여 추론 모델 반복 3(4222-3)의 성능을 시험하기 위해 명령어(4228)를 실행할 수 있다.
설명한 바와 같이, 일부 실제 사용 사례들에서, 훈련 데이터 세트 내의 에러들의 발견은 훈련 이후에 발생할 수 있다. 원 43.7에서, 훈련 데이터 세트(예를 들어, 훈련 데이터 세트(4262-1), 훈련 데이터 세트(4262-2), 및/또는 훈련 데이터 세트(4262-3)) 내의 에러들이 발견될 수 있다. 일부 예들에서, 에러들은 추론 모델의 과거 반복들을 훈련하는데 사용되는 훈련 데이터 세트에서 발견된다. 특정 예로서, 훈련 데이터 세트(4262-2)에서 에러가 발견될 수 있다. 이와 같이, 추론 모델(4222) 내의 에러들(또는 취약점들)은 훈련 데이터 세트(4262-2) 내의 에러들로 인해 추론 모델 반복 2(4222-2)에서와 같이 도입되었을 수 있다. 원 43.8에서, 복원 시험/훈련 데이터 세트(4270)(복원 훈련 데이터 세트(4272) 및 복원 시험 데이터 세트(4274)를 포함함)가 수신될 수 있다. 회로(4210)는, 명령어들(4228)을 실행할 때, 인터페이스(4230) 등을 통해 복원 시험/훈련 데이터 세트(4270)를 수신할 수 있다. 일부 예들에서, 복원 훈련 데이터 세트(4272)는 이전에 사용된 훈련 데이터 세트(4262)에서의 에러들에 기초한 적대적 공격들을 완화하는데 사용될 수 있는 추가적인 와일드카드 클래스로 추론 모델(4222)(현재 반복에서 시작함)을 훈련하도록 설계될 수 있다.
원 43.9에서, 시스템(4201)은 복원 훈련 데이터 세트(4272)를 사용하여 추론 모델(4222)을 훈련한다. 예를 들어, 회로(4210)는 복원 훈련 데이터 세트(4272)를 사용하여 추론 모델 반복 3(4222-3)을 훈련하기 위해(예를 들어, 도 3의 기법(300) 등에 기초하여) 추론 모델 훈련 알고리즘을 구현하기 위해 명령어들(4228)을 실행할 수 있다. 복원 훈련 데이터 세트(4272)를 사용하여 추론 모델 반복 3(4222-3)을 훈련하는 것은 추론 모델(4222)(예를 들어, 복원된 추론 모델(4223) 등)의 다른 반복을 초래할 수 있다. 원 43.10에서, 시스템(4201)은 복원 시험 데이터 세트(4274)를 사용하여 복원된 추론 모델(4223)을 시험할 수 있다. 예를 들어, 회로(4210)는 복원 시험 데이터 세트(4274)를 사용하여 복원된 추론 모델(4223)의 성능을 시험하기 위해 명령어들(4228)을 실행할 수 있다.
시스템(4201) 및 기법(4300)은 적대적 공격들의 완화(예를 들어, 경보 트리거 등)가 실현될 수 있다는 점에서 이점을 제공한다. 또한, 시스템(4201) 및 기법(4300)은 처음부터 또는 캡처된 인스턴스(예를 들어, 반복 등)로부터 훈련을 재시작할 필요가 없다는 이점을 제공한다.
본 명세서에 설명한 바와 같이, 시험/훈련 데이터는 추론 모델의 성능을 "훈련"하고 평가하는데 사용된다. 그러나, 시험/훈련 데이터 세트들은 에러들을 포함할 수 있다. 예를 들어, 도 44는 추론 모델(4222)을 훈련하는데 사용될 수 있는 예시적 시험/훈련 데이터 세트(4460)를 묘사한다. 시험/훈련 데이터 세트(4460)는, 도 42의 시스템(4201)의 훈련 데이터 세트들(4262) 및 시험 데이터 세트들(4264) 중 하나에 대응할 수 있는, 훈련 데이터 세트(4462) 및 시험 데이터 세트(4464)를 포함한다. 시험/훈련 데이터 세트(4460)는 입력(4461)은 물론 예상 출력(4465)을 포함한다. 일반적으로, 입력들(4461)은 입력 값(들)(4463-n)을 포함할 수 있으며, 여기서 n은 양의 정수이다. 예를 들어, 입력들(4461)에 대해 입력 값(들)(4463-1), 입력 값(들)(4463-2), 입력 값(들)(4463-3), 입력 값(들)(4463-4), 입력 값(들)(4463-5) 내지 입력 값(들)(4463-N)이 도시되어 있다. 각각의 입력 값(4463-n)에 대해, 연관된 예상 출력(4465)이 도시되어 있다. 예상 출력들(4465) 각각은 입력들(예를 들어, 입력들(4461))을 분류하도록 추론 모델(4222)이 훈련될 클래스(2210, 4467)에 대응한다. 일반적으로, 예상 출력(4465)은 임의의 수의 클래스(4467)를 포함할 수 있다. 특정 예로서, 클래스들(4467)은 CIFER-10 분류 데이터 세트(예를 들어, 비행기들, 자동차들, 새들, 고양이들, 사슴, 개들, 안개들, 말들, 개구리들, 선박들, 및 트럭들)로부터의 카테고리들에 대응할 수 있다. 그러나, 예들은 이에 관하여 제한되지 않는다. 일부 사용 사례들에서, 시험/훈련 데이터 세트(예를 들어, 4460)는 에러들(4469)을 포함할 수 있다. 묘사된 바와 같이, 데이터 세트(4460)는 다수의 에러들(4469)을 포함한다. 특정 예로서, 에러들(4469) 중 하나는 클래스(4467-2)에 대응하는 입력 값(들)(4463-4)을 보여준다. 설명을 위해, 추론 시스템(4222)이 이미지들을 클래스들로 분류하도록 배열된 이미지 분류기라고 가정한다. 이 예에서, 에러(4469)는 입력 값들(4463-4)과 연관된 이미지가 잘못된 클래스에 대응하도록 부정확하게 라벨 표시되거나 태깅되는 것일 수 있다(예를 들어, 이미지는 총이지만 헤어브러시 등으로서 태깅됨). 설명한 바와 같이, 이러한 부정확한 라벨 표시는 악의적이거나 부주의일 수 있다. 그러나, 본 개시내용은 앞서 상세히 설명한 바와 같이 복원 시험/훈련 데이터 세트를 사용하여 시험/훈련 데이터 세트(4460)에서의 에러들에도 불구하고 훈련을 계속하는 것을 제공한다.
도 45는 추론 모델(4222)을 훈련하는데 사용될 수 있는 예시적 복원 시험/훈련 데이터 세트(4570)를 묘사한다. 복원 시험/훈련 데이터 세트(4570)는 도 42의 시스템(4201)의 복원 훈련 데이터 세트들(4272) 및 복원 시험 데이터 세트들(4274)에 대응할 수 있는 훈련 데이터 세트(4572) 및 시험 데이터 세트(4574)를 포함한다. 복원 시험/훈련 데이터 세트(4570)의 설명은 도 44의 시험/훈련 데이터 세트(4460)를 참조하여 이루어진다. 그러나, 예들은 이에 관하여 제한되지 않는다.
복원 시험/훈련 데이터 세트(4560)는 입력들(4461)뿐만 아니라 예상 출력들(4465)을 포함한다. 일반적으로, 입력들(4461)은 입력 값(들)(4573-m)을 포함할 수 있으며, 여기서 m은 양의 정수이다. 게다가, 입력(4461)은 에러(4469)와 연관된 임의의 입력 값(들)을 포함할 수 있다. 예를 들어, 시험/훈련 데이터 세트(4460)로부터의 에러(4469)와 연관된 입력 값(들)(4463-4)이 복원 시험/훈련 데이터 세트(4570)의 입력들(4461)에 포함된다. 또한, 입력들(4461)에 대해 입력 값(들)(4573-1), 입력 값(들)(4573-2), 입력 값(들)(4573-3), 입력 값(들)(4573-4) 내지 입력 값(들)(4573-M)이 도시되어 있다.
각각의 입력 값(4463 또는 4573)에 대해, 연관된 예상 출력(4465)이 도시되어 있다. 앞서 설명한 바와 같이, 복원 시험/훈련 데이터 세트(4570)는 이미지들을 특정 와일드카드 클래스(4577)로 인식하기 위해 추론 모델(4222)을 훈련하도록 설계되거나 배열된다. 이 와일드카드 클래스(4577)는 추론 모델(4222)이 분류하도록 훈련되는 새로운 클래스일 수 있다. 대안으로서, 와일드카드 클래스(4577)는 와일드카드 클래스(4577)로서 용도 변경된 클래스들(예를 들어, 도 44의 클래스(4467) 등) 중 하나일 수 있다. 예를 들어, 앞서 제공된 가설을 사용하여, 헤어브러시처럼 보이도록 태깅된 총의 경우, 와일드카드 클래스(4577)가 "헤어브러시처럼 보이는 총"으로서 도입될 수 있고, 입력을 이 새로운 와일드카드 클래스(4577)로 분류하도록 추론 모델(4222)을 훈련하기 위해 입력 값(4573-4)으로서 이미지가 제공된다.
도 46은 로직 흐름(4600)을 예시한다. 로직 흐름(4600)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 시스템(4201)(또는 그 컴포넌트들)은 에러들을 포함하는 시험/훈련 데이터 세트(4260)(예를 들어, 에러들(4469)을 포함하는 데이터 세트(4460) 등)로 추론 모델(4222)을 훈련한 이후에 복원하기 위해 로직 흐름(4600)의 동작들을 수행할 수 있다.
로직 흐름(4600)은 블록 4610 "시험/훈련 데이터 세트 수신"에서 시작할 수 있고, 시스템(4201)은 시험/훈련 데이터 세트(4260)를 수신할 수 있다. 예를 들어, 회로(4210)는, 명령어들(4228)을 실행할 때, 훈련 데이터 세트(4262-1)(및 시험 데이터 세트(4264-1) 등)를 수신할 수 있다. 블록 4620 "시험/훈련 데이터 세트에 기초하여 추론 모델 훈련"으로 계속하여, 시스템(4201)은 블록 4610에서 수신된 시험/훈련 데이터 세트(4260)에 기초하여 추론 모델(4222)을 훈련할 수 있다. 예를 들어, 회로(4210)는, 명령어(4228)를 실행할 때, 블록 4610에서 수신된 시험/훈련 데이터 세트(4260)(예를 들어, 훈련 데이터 세트(4262-1), 시험 데이터 세트(4264-1) 등)를 사용하여 추론 모델(4222)을 훈련하기 위해 추론 모델 훈련 알고리즘(예를 들어, 도 3의 기법(300) 등)을 구현할 수 있다.
판정 블록 4630 "시험/훈련 데이터 세트에서 에러들이 검출되었는가?"로 계속하여, 블록 4610에서 수신되고 블록 4620에서 추론 모델(4222)을 훈련하기 위해 사용되는 시험/훈련 데이터 세트(4260)(예를 들어, 훈련 데이터 세트(4262-1) 등)에 에러가 존재하는지에 관련한 결정이 이루어질 수 있다. 판정 블록 4630으로부터, 로직 흐름(4600)은 판정 블록 4640 또는 블록 4650 중 어느 하나로 계속될 수 있다. 로직 흐름(4600)은 블록 4610에서 수신되고 블록 4620에서 사용되어 추론 모델(4222)을 훈련하는 시험/훈련 데이터 세트(4260)에 에러가 존재하지 않는다는 결정에 기초하여 판정 블록 4630에서 판정 블록 4640으로 계속될 수 있다. 대안적으로, 로직 흐름(4600)은, 블록 4610에서 수신되고 블록 4620에서 사용되어 추론 모델(4222)을 훈련하는 시험/훈련 데이터 세트(4260)에 에러가 존재한다는 결정에 기초하여 판정 블록 4630에서 블록 4650으로 계속될 수 있다.
블록 4650 "복원 시험/훈련 데이터 세트 수신"에서, 시스템(4201)은 복원 시험/훈련 데이터 세트(4270)를 수신할 수 있다. 예를 들어, 회로(4210)는, 명령어들(4228)을 실행할 때, 복원 훈련 데이터 세트(4272)(및 복원 시험 데이터 세트(4274) 등)를 수신할 수 있다. 블록 4660 "복원 시험/훈련 데이터 세트에 기초한 추론 모델의 훈련"으로 계속하여, 시스템(4201)은, 블록 4650에서 수신된 복원 시험/훈련 데이터 세트(4270)에 기초하여 추론 모델(4222)을 훈련할 수 있다. 예를 들어, 회로(4210)는, 명령어들(4228)을 실행할 때, 블록 4610에서 수신된 복원 시험/훈련 데이터 세트(4270)(예를 들어, 훈련 데이터 세트(4272), 시험 데이터 세트(4274) 등)를 사용하여 추론 모델(4222)을 훈련하기 위해 추론 모델 훈련 알고리즘(예를 들어, 도 3의 기법(300) 등)을 구현할 수 있다. 구체적으로는, 입력들을 와일드카드 클래스(4577)로 분류하기 위해 블록 4660에서 추론 모델(4222)이 훈련될 수 있다.
블록 4660으로부터, 로직 흐름은 판정 블록 4640으로 계속될 수 있다. 판정 블록 4640 "추가 시험/훈련 데이터 세트가 수신되었는가?"에서, 추가적인 시험/훈련 데이터 세트들이 수신되었는지에 대한 결정이 이루어질 수 있다. 예를 들어, 회로(4210)는, 명령어(4228)를 실행할 때, 추가적인 시험/훈련 데이터 세트(예를 들어, 훈련 데이터 세트(4262-2), 훈련 데이터 세트(4262-3), 시험 데이터 세트(4274-2) 등)가 수신되었는지를 결정할 수 있다. 판정 블록 4640으로부터, 로직 흐름(4600)은 예를 들어 새로 수신된 시험/훈련 데이터 세트들(4260)을 사용하여 추론 모델(4222)을 더 훈련하기 위해 블록 4620으로 복귀할 수 있거나; 또는 로직 흐름(4600)이 종료될 수 있다. 로직 흐름(4600)은 추가적인 시험/훈련 데이터 세트들(4260)이 수신되었다는 결정에 기초하여 판정 블록 4640으로부터 블록 4620으로 복귀할 수 있다. 다른 대안으로서, 로직 흐름(4600)은 추가적인 시험/훈련 데이터 세트(4260)가 수신되지 않았다는 결정에 기초하여 종료될 수 있다.
안전한 모델 실행을 위한 적대적 훈련
도 47은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(4701)을 예시한다. 강화된 시스템(4701)은 회로(4710), 메모리(4720), 인터페이스(4730), 입력 디바이스(4752) 및 신뢰할 수 있는 실행 환경(TEE)(4770)을 포함한다. 메모리(4720)는 공개 추론 모델 파티션(4722-PUB), 입력 데이터(4724), 중간 출력 데이터(4723), 출력 데이터(4726), 및 명령어들(4728)을 저장한다. TEE(4770)는 비공개 추론 모델 파티션(4722-PRIV) 및 TEE 명령어들(4778)을 저장한다. 일반적으로, TEE(4770)는 시스템(4701) 내의 임의의 신뢰할 수 있는 실행 엔클레이브 또는 파티션일 수 있다. 예를 들어, TEE(4770)는 회로(4710) 내의 신뢰할 수 있는 실행 파티션일 수 있다. 다른 예로서, TEE(4770)는 신뢰할 수 있는 방식으로 회로(4710) 및 메모리(4720)로부터 세그먼트화된 그 자신의 회로 및 메모리(도시되지 않음)를 포함할 수 있다. 일반적으로, TEE(4770)는 (예를 들어, TEE 명령어들(4778)의) 격리된 실행과 같은 보안 특징들을 비공개 추론 모델 파티션(4722-PRIV)의 기밀성과 함께 제공할 수 있다. 일반적으로, 시스템(4701)은 추론 모델의 일부(예를 들어, 비공개 추론 모델 파티션 4722-PRIV)를 보안 방식으로(예를 들어, TEE(4770) 내에서) 실행할 수 있는 반면, 추론 모델의 나머지(예를 들어, 공개 추론 모델 파티션 4722-PUB)는 비보안 컴퓨팅 리소스들(예를 들어, 회로(4710) 및 메모리(4720) 등)에서 실행된다.
일부 예들에서, 공개 추론 모델 파티션(4722-PUB)은 적대적 추론 모델로 훈련될 수 있으며, 따라서 공개 추론 모델 파티션(4722-PUB)은 부정확하거나 덜 정확한 국소 최소값(local minimum)으로 해석된다. 달리 말하면, 공개 추론 모델 파티션(4722-PUB)은, 그 자체로 실행될 때, 부정확하거나 덜 정확한 국소 최소값으로 해석된다. 그러나, 완전한 추론 모델(예를 들어, 공개 추론 모델 파티션(4722-PUB) + 비공개 추론 모델 파티션(4722-PRIV))은 정확한 국소 최소값으로 해석된다.
이는 추론 모델이 보안 방식으로 실행되고 기밀 방식으로 유지되는 모델의 일부로서 보호된다는 점에서 이점을 제공한다. 이는 단순히 보안 환경(TEE)에서 전체 추론 모델을 실행하는 것보다 이점을 제공한다는 점에 유의한다. 예를 들어, 많은 보안 환경들은 제한된 메모리 및 계산 리소스들을 갖는다. 이와 같이, 많은 현대의 추론 모델들은 완전히 보안 환경 내에서 실행될 수 없다. 일부 예들에서, 비공개 추론 모델 파티션(4722-PRIV)이 TEE(4770) 이외의 시스템들 또는 기법들을 사용하여 보호될 수 있다는 것을 유의한다. 예를 들어, 4722-PRIV는 예컨대 호모모픽 암호화, 다자간 계산, 또는 다른 이러한 암호화된 실행 기법들을 사용하여 암호화된 형태로 포팅될 수 있다. 이러한 예에서, TEE(4770)의 제한된 메모리 공간 대신에, 암호화된 모델은 실행하기 위해 더 많은 계산 리소스를 필요로 하고 암호화되지 않은 실행보다 더 긴 런타임이 소요될 수 있다. 본 명세서에 제공된 예들이 TEE(4770)을 사용하지만, 개시된 예들이 TEE(4770) 이외의 수단(예를 들어, 암호화된 실행, 다자간 실행 등)을 사용하여 보안된 비공개 추론 모델 파티션들(예를 들어, 4722-PRIV)에 대해 구현될 수 있다는 것을 이해하여야 한다.
본 개시내용은 추론 모델의 일부가 보안 환경에서 유지되는 추론 모델의 보안을 제공하는 시스템들 및 기법들을 제공한다. 게다가, 적대자가 공개 추론 모델 파티션(4722-PUB)을 획득하는 경우에도, 적대자는 부정확하거나 덜 정확한 국소 최소값으로 해석되는 공개 추론 모델 파티션(4722-PUB)으로 인해 추론 모델(4722)의 전체 기능을 재생할 수 없을 것이다.
도 48은 본 개시내용의 예에 따라 (예를 들어, 도 1의 강화된 시스템(4701)의 추론 시스템(4722)으로서) 구현될 수 있는 파티셔닝된 추론 시스템(4822)의 예를 예시한다. 도 49는 추론 모델을 보안 방식으로 실행하기 위해 강화된 시스템(예를 들어, 도 1의 강화된 시스템(4701))에 의해 구현될 수 있는 예시적 기법(4900)을 예시한다. 도 1의 강화된 시스템(4701)의 동작이 도 48 및 도 49를 참조하여 설명된다.
도 48을 보다 구체적으로 참조하면, 추론 모델(4822)(또는 파티셔닝된 추론 모델)이 묘사되어 있다. 추론 모델(4822)은 연결(4893)을 통해 연결된 다수의 노드(4891)를 포함한다. 추론 모델(4822)은 예를 들어 신경망 등과 같은 임의의 다양한 추론 모델일 수 있다. 일반적으로, 노드들(4891)은 연결들(4893)을 통해 입력(들)을 수신하고 활성화 함수에 기초하여 출력을 유도한다. 다양한 활성화 함수들(예를 들어, 아이덴티티, 이진 스텝, 탄젠트, 아크-탄젠트, 시그모이드, 로지스틱 또는 소프트 시그모이드, 가우시안 등) 중 임의의 것이 사용될 수 있다. 게다가, 종종, 값들은 각각의 연결(4893)에서, 가중치라고 지칭되는, 연결 특정 상수에 의해 스케일링된다.
노드들(4891)의 그룹들은 층(4890)이라고 지칭될 수 있다. 예를 들어, 층(4890-1), 층(4890-2), 층(4890-3), 층(4890-4), 및 층(4890-5)이 묘사되어 있다. 추론 모델은 임의의 수의 노드들, 및 층들 및 층당 노드들의 수 등을 포함할 수 있다는 점에 유의한다. 실제로, 추론 모델은 종종 여기에 묘사된 것보다 더 많은 노드들 및 층들을 포함할 것이다. 여기에 묘사된 네트워크 아키텍처는 단지 표현의 명확성을 위한 것이고, 제한적이지 않다.
추론 모델(4822)은 선택된 층들이 파티션들 중 하나에 포함된 공개 추론 모델 파티션(4822-PUB) 및 비공개 추론 모델 파티션(4822-PRIV)으로 파티셔닝된다. 예를 들어, 공개 추론 모델 파티션(4822-PUB)은 층들(4890-1, 4890-2, 4890-3)을 포함하는 반면, 비공개 추론 모델 파티션(4822-PRIV)은 층들(4890-4, 4890-5)을 포함한다. 비공개 파티션 또는 TEE(4770)에서 유지되는 파티션은 묘사된 바와 같은 나중 층들과 달리 추론 모델(4822)의 이전 또는 초기 층들을 포함할 수 있다는 점에 유의한다. 예들은 이에 관하여 제한되지 않는다.
도 49를 보다 구체적으로 참조하면, 기법(4900)은 원 49.1에서 시작할 수 있다. 원 49.1에서, 강화된 시스템은 입력 데이터(4724)를 수신할 수 있다. 예를 들어, 시스템(4701)의 회로(4710)는 입력 데이터(4724)를 수신하기 위해 명령어들(4728)을 실행할 수 있다. 예를 들어, 회로(4710)는 입력 디바이스(4752)로부터 입력 데이터(4724)를 수신할 수 있다. 다른 예로서, 회로(4710)는 인터페이스(4730)를 통해 다른 컴퓨팅 디바이스로부터 입력 데이터(4724)를 수신할 수 있다.
원 49.2로 계속되어, 강화된 시스템(4701)은 공개 추론 모델 파티션(4722-PUB)을 실행하여 입력 데이터(4724)로부터 중간 출력 데이터(4723)를 생성할 수 있다. 예를 들어, 회로(4710)는, 명령어들(4728)을 실행할 때, 입력 데이터(4724)를 파티션의 제1 층(4890)에 대한 입력으로서 사용하여 공개 추론 모델 파티션(4722-PUB)의 층들(4890)과 연관된 계산들에 기초하여 중간 출력 데이터(4723)를 유도할 수 있다. 특정 예로서, 중간 출력 데이터(4723)는 층(4890-3), 즉 공개 추론 모델 파티션(4722-PUB)의 마지막 층으로부터의 노드들로부터의 출력들에 대응할 수 있다. 원 BD3.3으로 계속되어, 강화된 시스템(4701)의 TEE(4770)는 중간 출력 데이터(4723)를 수신하거나 그에 액세스할 수 있다. 예를 들어, TEE(4770)는, TEE 명령어들(4778)을 실행할 때, (예를 들어, 메모리(4720) 등으로부터의) 중간 출력 데이터(4723)에 액세스할 수 있다.
원 49.4로 계속되어, 강화된 시스템(4701)은 비공개 추론 모델 파티션(4722-PRIV)을 보안 방식으로 실행하여, 중간 출력 데이터(4723)로부터 출력 데이터(4726)를 생성할 수 있다. 예를 들어, TEE(4770)는, TEE 명령어들(4778)을 실행할 때, 파티션의 제1 층(4890)에 대한 입력으로서 중간 입력 데이터(4723)를 사용하여 비공개 추론 모델 파티션(4722-PRIV)의 층들(4890)과 연관된 계산들에 기초하여 출력 데이터(4726)를 유도할 수 있다. 특정 예로서, 출력 데이터(4726)는 층(4890-5), 즉 비공개 추론 모델 파티션(4722-PRIV)의 마지막 층으로부터의 노드로부터의 출력에 대응할 수 있다.
도 50은 파티셔닝된 추론 모델을 훈련하도록 구현될 수 있는 시스템(5001)을 예시한다. 도 51은 로직 흐름(5100)의 일 예를 예시한다. 로직 흐름(5100)은 파티셔닝된 추론 모델(예를 들어, 추론 모델(4722), 추론 모델(4822) 등)을 훈련하기 위해 본 명세서에 설명된 하나 이상의 예에 의해 실행되는 동작들 중 일부 또는 전부를 나타낼 수 있다. 예를 들어, 시스템(5001)(또는 그 컴포넌트)은 로직 흐름(4600)에서 추론 모델에 대한 비공개 및 공개 파티션을 생성하는 동작을 수행할 수 있다. 시스템(5001) 및 로직 흐름(5100)은 서로 관련하여 그리고 또한 도 48의 파티셔닝된 추론 모델(4822)을 참조하여 설명된다. 그러나, 예들은 이에 관하여 제한되지 않는다.
도 50을 보다 구체적으로 참조하면, 시스템(5001)은, 회로(5010), 메모리(5020), 및 인터페이스(5030)를 포함할 수 있다. 메모리(5020)는 비공개 추론 모델 파티션(5022-PRIV) 및 공개 추론 모델 파티션(5022-PUB)을 포함하는 추론 모델(5022)을 저장한다. 메모리(5020)는 성능 특성들(5027), 명령어들(4228), 성능 예산(5029) 및 적대적 훈련 모델(5080)을 더 포함한다.
도 51을 보다 구체적으로 참조하면, 로직 흐름(5100)은 블록 5110에서 시작할 수 있다. 블록 5110 "성능 예산 수신"에서, 시스템(5001)은 성능 예산(5029)을 수신할 수 있다. 예를 들어, 회로(5010)는 명령어들(5028)을 실행할 때, 사용자 선택에 기초하여 성능 예산을 수신할 수 있다. 일부 예에서, 성능 예산(5029)은 예를 들어 전체 런타임 저하와 같은 성능 저하의 수용 가능한 수준의 표시를 포함할 수 있다. 특정 예로서, 성능 예산(5029)은 20%까지의 성능 페널티가 수용 가능하다는 표시를 포함할 수 있다.
블록 5120 "비공개 파티션에 층 Li 추가/공개 파티션으로부터의 제거"로 계속하여, 시스템(5001)은 비공개 모델 파티션(5022-PRIV)에 층 Li를 추가할 수 있다. 일부 예들에서, 층들을 비공개 및 공개 파티션들로 그룹화하는 것은 추론 모델의 마지막(예를 들어, 출력에 가장 가까운) 층에서 시작할 수 있다. 예를 들어, 5개의 층(4890)을 갖는 추론 모델(예를 들어, 추론 모델(4822) 등)의 경우, i는 "5"에서 시작할 수 있다. 이 예를 사용하여, 블록 520에서, 회로(5010)는 비공개 추론 모델 파티션(5090-5)에 층(5090-5)을 추가하고 공개 추론 모델 파티션(5022-PUB)으로부터 층(5090-5)을 제거하기 위해 명령어들(5028)을 실행할 수 있다.
블록 5130 "비공개 추론 모델 파티션에 대한 성능 비용 평가"로 계속하여, 시스템(5001)은 보안 환경(예를 들어, TEE(4770) 등)에서 비공개 추론 모델 파티션(DBV422-PRIV)를 실행하기 위한 성능 비용을 평가할 수 있다. 일부 예들에서, TEE(4770)는 TEE의 계산 능력들(예를 들어, 메모리 공간, 동작(들)당 성능 영향, 페이지 크기, 캐시 크기 등)을 노출시키는 API(application programming interface)를 포함할 수 있다. 그에 따라, 일부 예들에서, 블록 5130에서(또는 블록 5120 이전에), 로직 흐름(5100)은 TEE(4770)에서 추론 모델을 실행하기 위한 성능 메트릭들을 결정할 수 있다. 일부 예들에서, 블록 5130에서(또는 블록 5120 이전에), 로직 흐름(5100)은 또한 회로(4710) 및 메모리(4720)를 사용하여 추론 모델을 실행하기 위한 성능 메트릭들을 결정할 수 있다. 예를 들어, 회로(5010)는 TEE와 연관된 성능 메트릭들을 결정하기 위해 TEE(예를 들어, TEE(4770))에 질의하는 명령어들(5028)을 실행할 수 있고, 이러한 성능 메트릭들의 표시들을 성능 특성들(5027)로서 저장할 수 있다. 블록 BD530에서, 회로(5010)는 추론 모델(5022)의 층(4890)의 아키텍처 및 성능 특성들(5027)에 기초하여 TEE에서 비공개 추론 모델 파티션(5022-PRIV)(또는 비공개 추론 모델 파티션(5022-PIRV)에 추가된 층들)을 실행하는 것에 대한 성능을 계산하는 비용을 평가하기 위해 명령어들(5028)을 실행할 수 있다.
판정 블록 5140 "성능 예산 초과?"로 계속하여, 보안 환경에서(예를 들어, TEE(4770)에서) 비공개 추론 모델 파티션(5022-PRIV)을 실행함으로써 성능 예산(5029)이 초과되는지에 관련한 결정이 이루어질 수 있다. 예를 들어, 비공개 추론 모델 파티션(5022-PRIV)이 추론 모델(4822)의 층(4890-5)을 포함하고 TEE(4770)에서 층(4890-5)을 실행하는 것이 10% 성능 페널티를 도입한다고 가정한다. 또한, 성능 예산(5029)이 20% 미만의 수용 가능한 성능 저하를 나타낸다고 가정한다. 이러한 예들을 사용하여, 성능 예산(5029)은 층(4890-5)을 포함하는 비공개 추론 모델 파티션(5022-PRIV)에 의해 초과되지 않는다. 일부 예들에서, 명령어들(5028)을 실행함에 있어서 회로(5010)는 성능 특성들(5027)에 기초하여 비공개 추론 모델 파티션(5022-PRIV)의 추정된 실행 런타임이 성능 예산(5029)을 초과하는지를 결정할 수 있다.
판정 블록 5140으로부터, 로직 흐름(5100)은 판정 블록 5150 또는 판정 블록 5160 중 어느 하나로 계속될 수 있다. 로직 흐름(5100)은 성능 예산(5029)이 초과되지 않는다는 결정에 기초하여 판정 블록 5140으로부터 판정 블록 5150으로 계속될 수 있는 반면, 로직 흐름(5100)은 성능 예산(5029)이 초과된다는 결정에 기초하여 판정 블록 5140으로부터 판정 블록 5160으로 계속될 수 있다.
판정 블록 5150 "i가 1보다 더 큰가?"에서, i가 1보다 더 큰지 여부, 즉 공개 추론 모델 파티션(5022-PUB) 내에 여전히 층이 있는지 여부를 결정한다. 판정 블록 5150으로부터, 로직 흐름(5100)은 블록 5170 또는 블록 5190 중 어느 하나로 계속될 수 있다. 로직 흐름(5100)은 i가 1보다 더 크다는 결정에 기초하여 판정 블록 5150으로부터 블록 5170으로 계속될 수 있는 반면, 로직 흐름(5100)은 i가 1보다 더 크지 않다는 결정에 기초하여 판정 블록 5150으로부터 블록 5190으로 계속될 수 있다.
판정 블록 5160 "비공개 추론 모델 파티션에 2개 이상의 층이 있는가?"에서, 비공개 추론 모델 파티션(5022-PRIV)이 2개 이상의 층을 포함하는지에 대한 결정이 이루어진다. 예를 들어, 회로(5010)는 비공개 추론 모델(5022-PRIV)이 1개를 초과하는 층을 포함하는지를 결정하기 위해 명령어들(5028)을 실행할 수 있다. 판정 블록 5160으로부터, 로직 흐름(5100)은 블록 5180 또는 블록 5190 중 어느 하나로 계속될 수 있다. 로직 흐름(5100)은, 비공개 추론 모델 파티션이 1개 초과의 층을 포함한다는 결정에 기초하여 판정 블록 5160으로부터 블록 5180으로 계속될 수 있는 반면, 로직 흐름(5100)은, 비공개 추론 모델 파티션이 1개 초과의 층을 포함하지 않는다는 결정에 기초하여 판정 블록 5160으로부터 블록 5190으로 계속될 수 있다.
블록 5170 "i를 감분"에서, 시스템(5001)은 i를 감분시킬 수 있다. 예를 들어, 명령어들(5028)을 실행하는 회로(5010)는 i를 감분시킬 수 있다. 블록 5170으로부터, 로직 흐름(5100)은 블록 5120으로 복귀하여 비공개 추론 모델 파티션에 다른 층을 평가하고 어쩌면 추가할 수 있다. 블록 5180 "비공개 파티션으로부터 층 Li 제거/공개 파티션에 대한 추가"에서, 시스템(5001)은 비공개 모델 파티션(5022-PRIV)으로부터 층 Li를 제거하고 층 Li를 공개 추론 모델 파티션(5022-PUB)에 추가할 수 있다.
블록 5190 "적대적 모델로 공개 추론 모델 파티션을 훈련"에서, 시스템(5001)은 적대적 모델(5080)을 사용하여 공개 추론 모델 파티션(5022-PUB)을 훈련할 수 있다. 일반적으로, 적대적 모델(5080)로 공개 추론 모델 파티션(5022-PUB)을 훈련하는 것은, 비공개 모델 대신에 대체 서브-모델로 실행될 때, 공개 추론 모델 파티션(5022-PUB)을 부정확하거나 덜 정확한 국소 최소값에 도달하도록 안내할 것이다. 즉, 적대적 손실은 비공개 모델이 키로서 기능하도록 비공개 모델 내의 층들에 의해 생성된 중간 표현들을 암호화 또는 스크램블링하도록 전체 모델을 "교육"한다.
도 52는 예시적 추론 모델(5222)이 비공개 추론 모델 파티션(5222-PRIV) 및, 적대적 훈련을 위해 적대적 모델들(5280) 및 대체 서브-모델들(5282)에 결합된, 2개의 공개 추론 모델 파티션들(5222-PUB1 및 5222-PUB2)로 분할되는 것을 묘사한다. 언급한 바와 같이, 훈련은 대체 서브-모델(5282-1 및 5282-2)로 실행될 때 공개 추론 모델 파티션(5222-PUB1 및 5222-PUB2)을 부정확하거나 덜 정확한 국소 최소값에 도달하도록 안내하도록 동작한다. 훈련 동안, 추론 모델(5222)은 모델 파티션들(예를 들어, 공개 추론 모델 파티션(5222-PUB1), 비공개 추론 모델 파티션(5222-PRIV), 및 공개 추론 모델 파티션(5222-PUB2))에 대한 판독 및 기입 액세스를 갖는다. 또한, 적대적 모델들(5280)은 대응하는 대체 서브-모델들(5282)에 대한 판독 및 기입 액세스를 갖는다(예를 들어, 적대적 모델(5280-1)은 대체 서브-모델(5282-1)에 대한 판독 및 기입 액세스를 갖는 반면, 적대적 모델(5280-2)은 대체 서브-모델(5282-2)에 대한 판독 및 기입 액세스를 갖는다). 나머지 연결들(예를 들어, 점선 연결들)은 판독 전용이다.
일부 예들에서, 메인 모델(5222)에는 더 많은 훈련 반복들, 적대적 모델들(528-0-1 및 5280-2)의 가중치들에 대한 액세스(예를 들어, 판독 액세스)(예를 들어, 훈련 동안 적대자들이 이동하고 있는 "방향"을 결정하기 위한 그래디언트들을 결정함), 더 많은 훈련 데이터 등이 제공될 수 있다. 이러한 제공들은 비공개 추론 모델 파티션(5222-PRIV)에 의해 더 큰 보안 또는 더 큰 암호화를 제공할 수 있다.
섹션 V - 프라이버시
에지 디바이스들에 대한 프라이버시 인식 특징 균형화기
현용의 추론 시스템들에서의 한 가지 문제는, 대상 검출기들(예를 들어, 분류기 모델들)이, 프라이버시 영향들에 관계없이, 모든 검출된 대상들을 보고하도록 배열된다는 것이다. 예를 들어, 현용의 추론 시스템들은 이미지 내의 모든 대상들을 분류할 것이고, 모든 분류된 대상들을 보고하여, 시스템의 임의의 프라이버시 영향들 또는 강화를 환경의 상위 층들에 남길 것이다. 본 개시내용은, 예를 들어, 일부 검출된 대상들의 프라이버시를 보호하기 위해, 정의된 범위 외부의 대상들의 보고를 스크리닝하도록 배열될 수 있는 추론 환경을 제공한다. 이것의 일 예는 카메라에 의해 캡처된 이미지들에서 대상을 검출하도록 배열된 스마트 감시 카메라일 수 있다. 스마트 감시 카메라는 지정된 범위 외부에 있는 검출의 보고를 필터링 또는 스크리닝하도록 구성될 수 있다.
법령 또는 정부 규정에 의해 프라이버시의 관리가 점점 더 요구되고 있음을 이해하여야 한다. 예를 들어, EU(European Union)의 GDPR(General Data Protection Regulation)은 개인의 개인 데이터의 반출 및 사용을 규제하고 개인들에게 그들의 개인 정보의 사용에 대한 제어 권한을 제공한다. 이와 같이, 본 명세서에서 설명된 바와 같이 검출된 일부 대상들의 프라이버시를 유지하는 것이 일부 법률들 하에서 요구될 수 있다.
도 53은 서버(5301) 및 에지 디바이스(5303)를 포함하는 예시적 추론 환경(5300)을 예시한다. 일반적으로, 에지 디바이스(5303)는 서버(5303) 또는 서버(5303)에 결합된 네트워크에 엔트리 포인트를 제공하는 임의의 디바이스일 수 있다. 예를 들어, 에지 디바이스(5303)는 라우터, 라우팅 스위치, IAD(integrated access device), 멀티플렉서, 셀 노드, 기지국 등일 수 있다. 다른 예로서, 에지 디바이스(5303)는, 예를 들어, 카메라, 마이크로폰 등과 같은, 입력 캡처 디바이스일 수 있다. 일반적으로, 서버(5301) 및 에지 디바이스(5303)는 광역 네트워크, 근거리 네트워크 또는 인터넷과 같은 임의의 적절한 인터커넥트를 통해 결합될 수 있다. 서버(5301)는 회로(5310-1), 메모리(5320-1) 및 인터페이스(5330-1)를 포함한다. 메모리(5320-1)는 명령어들(5328-1), 스크리닝 능력들(5329), 프라이버시 수준 사양(5323) 및 프라이버시 스크리닝된 출력 데이터(5327)를 저장한다.
에지 디바이스(5303)는 회로(5310-3), 메모리(5320-3), 인터페이스(5330-3) 및 입력 디바이스(5352)를 포함한다. 메모리(5320-3)는 명령어들(5328-3), 입력 데이터(5324), 추론 모델(5322), 출력 데이터(5326), 스크리닝 능력들(5329), 프라이버시 수준 사양(5323) 및 프라이버시 스크린 출력 데이터(5327)를 저장한다.
회로(5310-3)는 예를 들어 입력 디바이스(5352)로부터 입력 데이터(5324)를 수신하기 위해 명령어들(5328-3)을 실행할 수 있다. 추가적으로, 회로(5310-3)는 명령어(5328-3)를 실행하여 추론 모델(5322) 및 입력 데이터(5324)로부터 출력 데이터(5326)를 생성할 수 있다. 예를 들어, 회로(5310-3)는 입력 데이터(5324)에 대해 추론 모델(5322)을 실행하여 출력 데이터(5326)를 생성할 수 있다. 일부 예들에서, 입력 디바이스(5352)는 이미지 프레임(예를 들어, 정화상 프레임, 비디오 프레임 등)을 캡처하도록 배열된 이미지 센서일 수 있다. 추론 모델(5322)은 입력 데이터(5324)를 수신하고 입력 데이터(5324)로부터 대상(예를 들어, 이미지 프레임에 표현된 대상 등)을 검출하고 분류하도록 배열될 수 있다.
회로(5310-1)는 에지 디바이스(129)의 스크리닝 능력들(5329)을 수집 및/또는 확인하기 위해 에지 디바이스(5303)에 질의하는 명령어(5328-1)를 실행할 수 있다. 일반적으로, 스크리닝 능력들(5329)은 추론 모델(5322)에 의해 분류 가능한 대상의 표시를 포함할 수 있다. 예를 들어, 스크리닝 능력들(5329)은 입력 데이터(5324)로부터 검출되고 분류될 수 있는 대상, 액션, 장면, 배우 등의 표시를 포함할 수 있다. 게다가, 회로(5310-1)는 스크리닝 능력들(5329)에 부분적으로 기초하여 프라이버시 수준 사양(5323)을 생성하기 위해 에지 디바이스(5303)에 질의하는 명령어(5328-1)를 실행할 수 있고, 프라이버시 수준 사양(5323)을 에지 디바이스(5303)로 통신할 수 있다. 예를 들어, 추론 엔진이 이미지에서 다음과 같은 대상 [총, 칼, 폭탄, 공, 펜, 전화, 키, 바위, 인간, 개, 고양이]를 검출하고 분류하도록 배열된다고 가정하면 스크리닝 능력들(5329)은 추론 엔진(5322)이 검출 및 분류하도록 배열된 대상의 표시를 포함할 수 있다. 스크리닝 능력이 주어지면, 회로(5310-1)는, 명령어(5328-1)를 실행할 때, 총, 칼 및 폭탄을 제외한 모든 검출된 대상을 스크리닝(또는 필터링)하는 표시를 포함하는 프라이버시 수준 사양을 생성할 수 있다.
회로(5310-3)는 출력 데이터(5326) 및 프라이버시 수준 사양(5323)으로부터 스크리닝된 출력 데이터(5327)를 생성하기 위해 명령어들(5328-3)을 실행할 수 있다. 예를 들어, 회로(5310-3)는, 명령어(5328-3)를 실행할 때, 출력 데이터(5326)로부터 프라이버시 수준 사양(5323)에 표시된 대상들의 리스트 외부의 분류된 대상들을 필터링할 수 있다. 또한, 회로(5310-3)는 스크리닝된 출력 데이터(5327)를 서버(5301)에 제공하기 위해 명령어(5328-3)를 실행할 수 있다. 예를 들어, 회로(5310-3)는 스크리닝된 출력 데이터(5327)를 인터페이스(5330-3)를 통해 서버(5301)에 제공할 수 있다.
도 54는 추론 환경에서 프라이버시를 증가시키기 위해 에지에서의 출력을 스크리닝하기 위해 환경(5300)과 같은 추론 환경에서 구현될 수 있는 예시적 기법(5400)을 예시한다. 기법(5400)은 편의 및 명확성을 위해 도 53의 추론 환경(5300)을 참조하여 설명됨을 유의한다. 그러나, 이는 제한을 의도하지 않는다.
기법(5400)은 원 54.1에서 시작할 수 있다. 원 54.1에서, 서버(5301)는 에지 디바이스(5303)의 스크리닝 능력을 결정하기 위해 에지 디바이스(5303)에 질의할 수 있다. 예를 들어, 서버(5301)는 인터페이스(5330-1)를 통해 에지 디바이스(5303)에 스크리닝 능력들(5329)을 수신하라는 요청을 전송할 수 있다. 원 54.2에서, 에지 디바이스(5303)는 스크리닝 능력들(5329)의 표시를 포함하는 정보 요소를 서버(5301)에 전송할 수 있다. 예를 들어, 원 54.1에서 요청을 수신하는 것에 응답하여, 에지 디바이스(5303)는, 인터페이스(5330-3)를 통해, 스크리닝 능력들(5329)을 서버(5301)에 전송할 수 있다. 또한, 원 2.2에서, 서버(5301)는 인터페이스(5330-1)를 통해 에지 디바이스(5303)로부터 스크리닝 능력들(5329)을 수신할 수 있다.
원 54.3에서, 서버(5301)는 스크리닝 능력들(5329)에 부분적으로 기초하여 프라이버시 수준 사양(5323)을 생성할 수 있다. 예를 들어, 에지 디바이스(5303)의 스크리닝 능력들(5329)이 주어지면, 서버(5301)는 프라이버시 침입을 완화하거나 억제하기 위해 필터링할 분류 카테고리들의 리스트를 생성할 수 있다. 원 54.4에서, 서버(5301)는 프라이버시 수준 사양(5323)의 표시를 포함하는 정보 요소를 에지 디바이스(5303)로 전송할 수 있다. 예를 들어, 서버(5301)는, 인터페이스(5330-1)를 통해, 프라이버시 수준 사양(5323)을 에지 디바이스(5303)로 전송할 수 있다. 또한, 원 2.4에서, 에지 디바이스(5303)는 인터페이스(5330-3)를 통해 서버(5301)로부터 프라이버시 수준 사양(5323)을 수신할 수 있다.
원 54.5에서, 에지 디바이스(5303)는 입력 데이터(5324)를 수신할 수 있다. 예를 들어, 에지 디바이스(5303)는 입력 디바이스(5352)로부터 입력 데이터(5324)를 수신할 수 있다. 유의할 점은, 입력 데이터(5324)의 다수의 상이한 인스턴스들이 본 명세서에 설명되는 바와 같이 수신되고 스크리닝(또는 필터링)될 수 있다는 것이다. 예를 들어, 에지 디바이스(5303)는 본 명세서에 설명된 바와 같이 원 54.5에서 입력 데이터(5324)를 반복적으로 수신하고 프라이버시 스크리닝된 출력(5327)을 생성할 수 있다. 원 54.6에서, 에지 디바이스(5303)는 추론 모델(5322) 및 입력 데이터(5324)로부터 출력 데이터(5326)를 생성할 수 있다. 예를 들어, 에지 디바이스(5303)는 입력 데이터(5324)에 대해 추론 모델(5322)을 실행하여 출력 데이터(5326)를 생성할 수 있다. 원 54.7에서, 에지 디바이스(5303)는 출력 데이터(5326) 및 프라이버시 수준 사양(5323)으로부터 프라이버시 스크리닝된 출력 데이터(5327)를 생성할 수 있다. 예를 들어, 에지 디바이스(5303)는 보고되지 않을 대상들(예를 들어, 프라이버시 수준 사양(5323)에 열거된 대상들, 프라이버시 수준 사양(5323)으로부터 생략된 대상들 등)을 출력 데이터(5326)로부터 스크리닝, 필터링, 또는 다른 방식으로 제거하고 필터링된 출력들을 프라이버시 스크리닝된 출력 데이터(5327)에 저장할 수 있다.
원 54.8에서, 에지 디바이스(5303)는 프라이버시 스크리닝된 출력 데이터(5327)의 표시를 포함하는 정보 요소를 서버(5301)에 전송할 수 있다. 예를 들어, 에지 디바이스(5303)는, 인터페이스(5330-3)를 통해, 프라이버시 스크리닝된 출력 데이터(5327)를 서버(5301)에 전송할 수 있다. 또한, 원 2.8에서, 서버(5301)는 인터페이스(5330-1)를 통해, 에지 디바이스(5303)로부터 프라이버시 스크리닝된 출력 데이터(5327)를 수신할 수 있다.
일부 예들에서, 추론 모델 자체는 본 명세서에서 설명된 바와 같이 출력들을 스크리닝하도록 수정될 수 있다. 예를 들어, 추론 모델은 특정 출력들을 드롭 아웃하도록 수정될 수 있다. 특정 예로서, 추론 모델 내의 마지막 층을 연결하는 특정 가중치들은 추론 모델이 이러한 가중치들과 연관된 클래스들을 출력하지 않게 하도록 수정(예를 들어, 0으로 설정 등)될 수 있다. 도 55는 서버(5501) 및 에지 디바이스(5503)를 포함하는 예시적 추론 환경(5500)을 예시한다. 일반적으로, 에지 디바이스(5503)는 서버(5501)에 또는 서버(5501)에 결합된 네트워크에 엔트리 포인트를 제공하는 임의의 디바이스일 수 있다. 예를 들어, 에지 디바이스(5503)는 라우터, 라우팅 스위치, IAD(integrated access device), 멀티플렉서, 셀 노드, 기지국 등일 수 있다. 다른 예로서, 에지 디바이스(5503)는, 예를 들어, 카메라, 마이크로폰 등과 같은, 입력 캡처 디바이스일 수 있다. 일반적으로, 서버(5501) 및 에지 디바이스(5503)는 광역 네트워크, 근거리 네트워크 또는 인터넷과 같은 임의의 적절한 인터커넥트를 통해 결합될 수 있다. 서버(5501)는 회로(5510-1), 메모리(5520-1) 및 인터페이스(5530-1)를 포함한다. 메모리(5520-1)는 명령어들(5528-1) 및 프라이버시 스크리닝된 출력 데이터(5527)를 저장한다.
에지 디바이스(5503)는 회로(5510-3), 메모리(5520-3), 인터페이스(5530-3) 및 입력 디바이스(5552)를 포함한다. 메모리(5520-3)는 명령어들(5528-3), 입력 데이터(5524), 프라이버시 스크리닝된 추론 모델(5523), 및 프라이버시 스크린 출력 데이터(5527)를 저장한다. 프라이버시 스크리닝된 추론 모델(5523)은 프라이버시 스크리닝된 출력 데이터(5527)를 자동으로 생성하도록 조정된 추론 모델일 수 있다. 예를 들어, 프라이버시 스크리닝된 추론 모델(5523)은 추론 모델이 비-비공개 클래스들(또는 유사한 것)과 연관된 데이터를 출력하게 하기 위해 추론 모델에서 가중치들 또는 연결들을 조정함으로써 생성될 수 있다. 상기 예를 사용하여, 추론 모델은 총, 칼 또는 폭탄의 분류를 출력하는 프라이버시 스크리닝된 추론 모델(5523)을 생성하도록 (예를 들어, 연결 등을 조정함으로써) 수정될 수 있다.
회로(5510-3)는 예를 들어 입력 디바이스(5552)로부터 입력 데이터(5524)를 수신하기 위해 명령어들(5528-3)을 실행할 수 있다. 추가적으로, 회로(5510-3)는 프라이버시 스크리닝된 추론 모델(5523) 및 입력 데이터(5524)로부터 프라이버시 스크리닝된 출력 데이터(5527)를 생성하기 위해 명령어들(5528-3)을 실행할 수 있다. 예를 들어, 회로(5510-3)는 프라이버시 스크리닝된 출력 데이터(5527)를 생성하기 위해 입력 데이터(5524)에 대해 프라이버시 스크리닝된 추론 모델(5523)을 실행할 수 있다. 일부 예들에서, 입력 디바이스(5352)는 이미지 프레임(예를 들어, 정화상 프레임, 비디오 프레임 등)을 캡처하도록 배열된 이미지 센서일 수 있다. 추론 모델(5322)은 입력 데이터(5324)를 수신하고 입력 데이터(5324)로부터 대상(예를 들어, 이미지 프레임에 표현된 대상 등)을 검출하고 분류하도록 배열될 수 있다.
프라이버시 인식 다중-위치 모델 실행
본 개시내용은 분산 방식의 추론 모델 실행의 예들을 제공한다. 예를 들어, 추론 모델의 일부는 서버에 결합된 에지 디바이스들 상에서 실행될 수 있다. 다른 예로서, 다수의 서버가 분산 방식으로 추론 모델을 실행하는 데 사용될 수 있는데, 즉 각각의 서버는 모델의 일부를 실행한다. 또한, 본 개시내용은 플랫폼들의 보안 능력들을 결정하기 위해 분산 컴퓨팅 플랫폼들(예를 들어, 서버들, 에지 디바이스들 등)에 문의하고, 그 후 추론 모델을 분할하고 결정된 보안 능력들뿐만 아니라 추론 모델의 상이한 부분들의 보안 요건들에 기초하여 부분들(또는 슬라이스들)을 플랫폼들에 할당하는 것을 제공한다.
따라서, 추론 모델의 분산 실행과 연관된 위험들이 완화될 수 있다. 예를 들어, 추론 모델의 상이한 부분들은 상이한 값들 또는 프라이버시 우려들을 가질 수 있다. 특정 예로서, 신경망 내의 초기 층들(예를 들어, 입력에 더 가까움)은 종종 복원(예를 들어, 재생성)하기 위해 더 많은 훈련 반복들이 소요되는 반면; (예를 들어, 출력에 더 가까운) 나중의 층들은 종종 추론 모델이 훈련된 데이터에 관련한 정보를 더 쉽게 노출시킨다. 따라서, 추론 모델의 나중 층들은 분산 실행 환경에서 다른 플랫폼들보다 더 높은 보안 능력을 갖는 플랫폼에 분할되고 할당될 수 있다.
도 56은 클라이언트 디바이스(5601) 및 서버들(5603 및 5605)을 포함하는 예시적 추론 환경(5600)을 예시한다. 일반적으로, 서버들(5603 및 5605)은 분산 방식으로 추론 모델의 일부를 실행하도록 배열된다. 서버들(5603 및 5605)은 클라우드 기반(또는 액세스가능한) 컴퓨팅 리소스들, 에지 디바이스들, 구체적으로 배열된 추론 모델 실행 가속기들 등일 수 있다. 게다가, 2개의 서버(5603 및 5605)가 이 도면에 묘사되어 있지만, 임의의 수(2, 3, 4 또는 그 이상)의 서버가 추론 환경(5600)에 제공될 수 있다는 것을 이해하여야 한다. 설명한 바와 같이, 추론 환경(5600)의 서버들(5603 및 5605)은 에지 디바이스들일 수 있다. 일부 예들에서, 추론 환경(5600)은 클라이언트 디바이스(5601)가 "에지"(예를 들어, 에지 디바이스들(5603, 5605) 등)에서 유휴 계산력을 이용하는 멀티-에지 환경일 수 있다.
클라이언트 디바이스(5601) 및 서버들(5603 및 5605)은 (예를 들어, 인터넷 등을 포함할 수 있는) 네트워크를 통해 결합될 수 있다. 보다 구체적으로는, 인터페이스들(5630-1, 5630-3 및 5630-5)은 디바이스들 사이의 통신 또는 데이터의 교환을 용이하게 하기 위해 네트워크에 결합될 수 있다.
클라이언트 디바이스(5601)는 회로(5610-1), 메모리(5620-1) 및 인터페이스(5630-1)를 포함한다. 메모리(5620-1)는 추론 모델(5622), 입력 데이터(5624), 출력 데이터(5626), 모델 보안 요건들(5627), 명령어들(5628), 및 서버 능력들(5629)을 저장한다. 일반적으로, 클라이언트 디바이스(5601)는 모델 보안 요건들(5627) 및 서버 능력들(5629)에 기초하여 추론 모델(5622)을 모델 슬라이스들(5623)로 분할한 다음, 모델 보안 요건들(5627) 및 서버 능력들(5629)에 기초하여 이들 모델 슬라이스들(5623)을 서버들(5603 또는 5605) 중 하나에 할당하도록 동작한다. 따라서, 추론 모델(5622)은 서버들(5603 및 5605)에 의해 분산 방식으로 실행될 수 있는 한편, 서버들의 서버 능력들(5629) 및 추론 모델(5622)의 보안 요건들(5627)에 기초하여 모델의 부분들의 보안 보호를 제공할 수 있다.
서버(5603)는 회로(5610-3), 메모리(5620-3) 및 인터페이스(5630-3)를 포함한다. 메모리(5620-3)는 모델 슬라이스(5622-1) 및 명령어(5628-3)를 저장한다. 마찬가지로, 서버(5605)는 회로(5610-5), 메모리(5620-5) 및 인터페이스(5630-5)를 포함한다. 메모리(5620-5)는 모델 슬라이스(5622-2) 및 명령어들(5628-5)을 저장한다. 일반적으로, 서버(5603, 5605)는 각각의 서버의 보안 능력(예를 들어, 변조 방지, 보안 실행 제공 등)을 노출시키는 API(application programming interface)를 제공한다. 또한, 서버들(5603 및 105)은 분산 방식으로 추론 모델(5622)의 부분들(예를 들어, 모델 슬라이스(5623))을 실행하도록 배열된다.
회로(5610-1)는 명령어들(5628-1)을 실행하여 서버들(5603 및 5605)에 질의하여 각각의 서버들 각각의 보안 능력들을 결정할 수 있다. 회로(5610-3 및 5610-5)는, 질의에 응답하여, 각각의 서버(5603 또는 5605)의 보안 능력을 클라이언트 디바이스(5601)로 전송하기 위해, 각각, 명령어들(5628-3 및 5628-5)을 실행할 수 있다. 회로(5610-1)는 각각의 서버들로부터 수신된 보안 능력들의 표시들을 서버 능력들(5629)로서 저장하기 위해 명령어들(5628-1)을 실행할 수 있다.
회로(5610-1)는 서버 능력들 및 모델 보안 요건들(5627)에 기초하여 추론 모델(5622)을 모델 슬라이스들(5623)로 분할하기 위해 명령어들(5628-1)을 실행할 수 있다. 일반적으로, 모델 보안 요건들(5627)은 추론 모델(5622)의 각각의 층들, 부분들 또는 일부들 대한 보안 요건의 표시를 포함할 수 있다. 회로(5610-1)는 모델 보안 요건들(5627) 및 서버 능력들(5629)에 기초하여 어느 서버(5603 또는 5605)가 어느 모델 슬라이스(5623)를 실행할지를 결정하기 위해 명령어들(5628-1)을 실행할 수 있다. 또한, 회로(5610-1)는, 할당된 모델 슬라이스(5623)의 표시를 포함하는 정보 요소들을 (예를 들어, 인터페이스(5630-1) 등을 통해) 서버들(5603 및 5605) 각각에 전송하기 위해 명령어(5628-1)와 모델 슬라이스(5623)를 분산 방식으로 실행하기 위해 명령어를 실행할 수 있다.
회로(5610-3 및 5610-5)는 수신된 모델 슬라이스(5623)를 분산 방식으로 실행하기 위해 명령어들(5628-3 및 5628-5)을 각각 실행할 수 있다.
도 57은 분산 컴퓨팅 플랫폼들의 보안 능력들에 기초하여 분산 방식으로 추론 모델을 실행하기 위해 환경(5600)과 같은 추론 환경에서 구현될 수 있는 예시적 기법(5700)을 예시한다. 기법(5700)은 편의성 및 명확성을 위해 도 56의 추론 환경(5600)을 참조하여 설명됨을 유의한다. 그러나, 이는 제한을 의도하지 않는다.
기법(5700)은 원 57.1에서 시작할 수 있다. 원 57.1에서, 클라이언트 디바이스(5601)는 서버(5603, 5605)의 보안 능력들에 대해 서버(5603, 5605)에 질의할 수 있다. 예를 들어, 클라이언트 디바이스(5601)는 인터페이스(5630-1)를 통해 서버들(5603 및 5605)의 서버 능력들(5629)을 수신하기 위한 요청을 에지 디바이스(5303)에 전송할 수 있다.
원 57.2 및 57.3에서, 서버(5603, 5605)는, 각각, 그 각각의 보안 능력들의 표시를 클라이언트 디바이스(5601)로 전송할 수 있다. 예를 들어, 원 57.1에서 요청을 수신하는 것에 응답하여, 서버(5603)는, 인터페이스(5630-3)를 통해, 서버(5603) 각각에 대한 서버 능력들(5629)을 클라이언트 디바이스(5601)에 전송할 수 있다. 마찬가지로, 원 57.1에서 요청을 수신하는 것에 응답하여, 서버(5605)는, 인터페이스(5630-5)를 통해, 서버(5605) 각각에 대한 서버 능력들(5629)을 클라이언트 디바이스(5601)에 전송할 수 있다.
원 57.4에서, 클라이언트 디바이스(5601)는 모델 보안 요건들(5627) 및 수신된 서버 능력들(5629)에 부분적으로 기초하여 추론 모델(5622)을 모델 슬라이스들(5623)로 분할할 수 있다. 또한, 원 57.4에서, 클라이언트 디바이스(5601)는 서버 능력들(5629) 및 모델 보안 요건들(5627)에 기초하여 분산 방식으로 실행하기 위해 모델 슬라이스들(5623)을 서버들(5603 또는 5605) 중 하나에 할당할 수 있다.
원 57.5 및 57.6에서, 클라이언트 디바이스(5601)는, 서버(5603 및 5605) 각각에, 수신된 모델 슬라이스(5623)를 분산 방식으로 실행하기 위한 표시와 함께 각각의 서버에 할당된 모델 슬라이스(5623)의 표시를 전송할 수 있다. 예를 들어, 원 57.5에서, 클라이언트 디바이스(5601)는, 인터페이스(5630-1)를 통해, 서버(5603)에 모델 슬라이스(5623-1)를 전송할 수 있다. 마찬가지로, 원 57.6에서, 클라이언트 디바이스(5601)는 인터페이스(5630-1)를 통해 서버(5605)에 모델 슬라이스(5623-2)를 전송할 수 있다. 원 57.7 및 57.8에서, 서버(5603 및 5605)는 수신된 모델 슬라이스(5623)를 분산 방식으로 실행할 수 있다.
섹션 VI - 일반사항
입력 품질을 보상하기 위한 반복 추론
현용의 추론 시스템의 한 가지 문제는 입력 데이터 품질 및/또는 양이 바람직하지 않을 수 있다는 것이다. 예를 들어, 데이터 세트 내의 과도한 수의 샘플들이 수용 불가능한 것으로 평가될 수 있다. 이러한 경우에, 추론 모델은 임계 레벨의 신뢰도 없이 수용 불가능한 샘플들을 분류하지 못할 수 있다. 또한, 이들 수용 불가능한 샘플들이 필터링 제거되어, (예를 들어, 훈련 또는 시험 목적을 위한) 입력 데이터의 양을 감소시킬 수 있다. 따라서, 본 개시내용은 입력 데이터 내의 수용 불가능한 샘플들을 수용 가능한 샘플들로 변환하려는 노력으로 수용 불가능한 샘플들을 증강할 수 있는 추론 시스템을 제공한다.
도 58은 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(5801)을 예시한다. 강화된 시스템(5801)은 회로(5810), 메모리(5820), 인터페이스(5830), 및 입력 디바이스(5852)를 포함한다. 메모리(5820)는 하나 이상의 추론 모델들(5822-1, 5822-2, 5822-N)(또는 추론 모델들(5822))의 세트, 입력 데이터(5824), 증강된 입력 데이터(5825), 출력 데이터(5826), 분류 데이터(5828), 증강된 분류 데이터(5829), 및 명령어들(5828)을 저장한다. 많은 예들에서, 입력 데이터(5824)는 추론 모델들(5822) 중 하나 이상에 의한 분류를 위한 하나 이상의 샘플의 데이터 세트를 포함할 수 있다. 동작 동안, 회로(5810)는 입력 데이터(5824)에 기초하여 추론 모델들(5822) 중 하나 이상에 의해 생성된 분류 데이터(5828)가 수용 불가능한 것으로서 평가되는 것에 응답하여 하나 이상의 증강된 입력 데이터(5825-1, 5825-2, 5825-N)의 세트(또는 증강된 입력 데이터(5825)의 세트)를 생성하기 위해 명령어들(5828)을 실행할 수 있다.
또한, 회로(5810)는 증강된 입력 데이터(5825)를 추론 모델들(5822) 중 하나 이상으로 분류하여 증강된 분류 데이터(5829)를 생성하기 위해 명령어들(5828)을 실행할 수 있다. 몇몇 예들에서, 이 사이클은 증강된 분류 데이터(5829)가 수용 가능한 것으로 평가될 때까지 반복될 수 있다. 때때로, 회로(5810)는 입력 데이터(5824) 품질 및/또는 양을 보상하는 것과 같이, 하나 이상의 반복 추론을 수행하기 위해 명령어들(5828)을 실행할 수 있다. 많은 예들에서, 분류 데이터를 수용 가능한 것 또는 수용 가능하지 않은 것으로 평가하는 것은 분류 데이터(5828)에 포함된 신뢰도 수준에 기초할 수 있다. 예를 들어, 입력 데이터에서의 아티팩트들(예를 들어, 비디오/이미지 아티팩트들)은 낮은 신뢰도 수준을 초래할 수 있다. 일단 분류 데이터가 수용 가능한 것으로서 평가되면, 입력 데이터(5824), 분류 데이터(5828), 증강된 입력 데이터(5825), 및 증강된 분류 데이터(5829) 중 하나 이상, 또는 그의 표시가 출력 데이터(5826)로서 제공될 수 있다.
일부 예들에서, 투표(5832)는 분류 또는 추론을 결정하기 위해 추론 모델들(5822)의 세트 중에서 발생할 수 있다. 다양한 예들에서, 흐름 오케스트레이션(5830)은 데이터가 추론 모델들(5822)의 세트를 통해 어떻게 흐르는지를 매핑할 수 있다. 하나 이상의 예에서, 경보들(5834)이 예컨대 추론 모델들(5822) 중 하나 이상에 의한 분류에 기초하여 생성될 수 있다.
예를 들어, 회로(5810)는 추론 모델(522)에 의한 입력 데이터(5824)의 분류에서의 신뢰도 수준이 임계값(예를 들어, 75%)을 초과할 때 분류 데이터(예를 들어, 분류 데이터(5828) 및/또는 증강된 분류 데이터(5829))를 수용 가능한 것으로서 평가하기 위해 명령어들(5828)을 실행할 수 있다. 다양한 예들에서, 수용 불가능한 샘플의 하나 이상의 양태들을, 증강 이후에 이들이 수용 가능한 것으로 평가되도록, 증강시키는 것에 의해 (예를 들어, 수용 가능한 것으로 평가되는) 데이터 세트 내의 이용가능한 샘플들의 수가 증가될 수 있다. 몇몇 예들에서, 수용 불가능한 샘플의 증강은 감마의 변경, 픽셀 시프트, 노이즈-제거, 에러 정정 등 중 하나 이상을 포함할 수 있다. 때때로, 하나 이상의 증강이 병렬로 수행 및/또는 분류될 수 있다. 또한, 하나 이상의 증강된 버전들의 세트는 예컨대 동작 이상들을 식별하기 위해 비교되고 평가될 수 있다. 종종, 이용가능한 샘플들의 수를 증가시키는 것은 강화된 시스템들의 정확도를 향상시킬 수 있다. 예를 들어, 추론 모델(5822)은 더 큰 샘플 세트에 대해 재훈련될 수 있으며, 일반적으로 개선된 추론 모델을 야기한다.
때때로, 회로(5810)는 메모리(5820)가 입력 디바이스(5852)에 결합되는 인터페이스(5830)에 기초하여 또는 인터페이스(5830)가 입력 디바이스(5852)와 통신하는 통신 방식에 기초하여 입력 데이터(5824)를 식별 및/또는 수신하기 위해 명령어들(5828)을 실행할 수 있다. 많은 예들에서, 입력 디바이스(5852)는 환경들 및/또는 상황들에 대한 프리미엄 및/또는 도전적인 액세스를 포함할 수 있다. 예를 들어, 입력 디바이스(5852)는 위성, 스파이 카메라, 사물 인터넷(IoT) 디바이스, 또는 희귀한 또는 제한된 이벤트(예를 들어, 쓰나미, 지진, 충돌, 시장 이상, 제한된 이력 기록 등)를 캡처하는 다른 트랜스듀서를 포함할 수 있다. 단일 인터페이스(5830)가 묘사되어 있다는 점에 유의한다. 그러나, 일부 예에서, 상이한 특성(예를 들어, 상이한 보안 요건 등)을 가지는 상이한 입력 디바이스(152) 또는 입력 디바이스(152)에 대해 상이한 인터페이스(5830)가 제공될 수 있다.
회로(5810)는 입력 데이터(5824)에 기초하여 분류 데이터(5828)를 생성하기 위해 추론 모델(5822)을 이용하도록 명령어(5828)를 실행할 수 있다. 분류 데이터(5828)는 이어서 (예를 들어, 신뢰도 임계값을 초과함으로써) 입력 데이터(5824)가 수용 가능한지를 결정하기 위해 평가될 수 있다. 입력 데이터(5824)가, 예컨대 분류 데이터(5828) 등에 기초하여, 수용 불가능한 것으로 생각될 때, 회로(5810)는 입력 데이터(5824)를 하나 이상의 방식들로 증강하여 증강된 입력 데이터(5825)를 생성시키는 명령어들(5828)을 실행할 수 있다. 일부 예들에서, 증강들은 로컬 속성들을 보존하는 변환들을 포함할 수 있다. 증강된 입력 데이터(5825)는 증강된 분류 데이터(5829)를 생성하기 위해 추론 모델(5822)에 의해 분류될 수 있다. 증강된 분류(5829)는 증강된 분류 데이터(5829)가 출력 데이터로서 제공하도록 수용 가능한지를 결정하기 위해 평가될 수 있다.
다양한 예들에서, 분류 데이터(5828) 및 증강된 분류 데이터(5829)의 하나 이상의 버전은 예컨대 동작 이상들을 검출하기 위해 비교될 수 있다. 예를 들어, 추론 모델(5822)이 상이한 분류들 및/또는 신뢰도 수준들을 생성하는 증강된 분류 데이터(5829)의 하나 이상의 버전들 및 분류 데이터(5828)는 강화된 시스템(5801)을 기만하기 위한 시도를 나타낼 수 있다. 예를 들어, 증강 이전 및 이후의 동일한 입력들의 2개의 출력들이 모순되는 예측들(예를 들어, <<Stop>> 대 <<Limit 90>>)을 초래하는 경우, 이는 시스템을 기만하기 위한 시도를 나타낼 수 있다. 때때로, 경보 또는 로그와 같은, 통지가 입력 데이터(5824)의 평가에 기초하여 생성될 수 있다. 추가적으로 또는 다른 대안으로서, 입력 데이터(5824)의 평가에 기초하여 하나 이상의 정정 조치가 구현될 수 있다.
도 59는 로직 흐름(5900)을 예시한다. 로직 흐름(5900)은 본 명세서에 설명되는 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(5801)(또는 그 컴포넌트들)은 입력 데이터 품질(예를 들어, 입력 데이터가 추론 모델에 의해 분류되는 정확도 또는 신뢰도)을 개선시키기 위해 입력 데이터를 증강하기 위해 로직 흐름(5900)의 동작들을 수행할 수 있다.
로직 흐름(5900)은 블록 5910 "입력 데이터 수신"에서 시작할 수 있고, 강화된 시스템(5801)이 입력 데이터(5824)를 수신할 수 있다. 예를 들어, 입력 데이터(5824)는 인터페이스(5830)를 통해 입력 디바이스(5852)로부터 수신될 수 있다. 일부 예들에서, 입력 데이터(5824)는 블록 5912 이전에 전처리될 수 있다. 블록 5912 "입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성"으로 진행하여, 입력 데이터는 추론 모델에 기초하여 분류되어 분류 데이터를 생성할 수 있다. 예를 들어, 추론 모델(5822)은 입력 데이터(5824)에 기초하여 분류 데이터(5828)를 생성할 수 있다. 판정 블록 5914 "입력 데이터 품질이 수용 가능한가?"에서, 입력 데이터는 분류 데이터에 기초하여 수용 가능한 것으로 또는 수용 불가능한 것으로서 평가될 수 있다. 예를 들어, 입력 데이터(5824)는 분류 데이터(5828)에 기초하여 수용 가능한 것으로 또는 수용 불가능한 것으로 평가될 수 있다. 입력 데이터가 수용 불가능한 것으로 평가되면, 로직 흐름(5900)은 블록 5916으로 진행할 수 있고, 입력 데이터가 수용 가능한 것으로 평가되면, 로직 흐름(5900)은 블록 5918로 진행할 수 있다.
블록 5916 "입력 데이터 증강"에서, 입력 데이터가 증강될 수 있다. 예를 들어, 입력 데이터(5824)는 증강된 입력 데이터(5825)를 생성하도록 수정될 수 있다. 많은 예들에서, 로직 흐름(5900)이 블록 5916을 통과할 때마다 입력 데이터에 상이한 증강이 적용될 수 있다. 로직 흐름(5900)은 이어서 블록 5912로 복귀하여 앞서 설명한 바와 같이 반복될 수 있다. 그러나, 입력 데이터가 수용 가능한 것으로 평가되고 로직 흐름(5900)이 블록 5918로 진행하는 경우, 분류 데이터가 출력 데이터로서 제공될 수 있다. 예를 들어, 증강된 분류 데이터(5829)는 출력 데이터(5826)로서 제공될 수 있다. 일부 예들에서, 입력 데이터(5824), 분류 데이터(5828), 및 증강된 입력 데이터(5825) 중 하나 이상이 증강된 분류 데이터(5829)에 부가하여, 또는 대안으로 출력 데이터(5826)로서 제공될 수 있다. 블록 5918로부터, 로직 흐름(5900)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복될 수 있다.
도 60은 로직 흐름(6000)을 예시한다. 로직 흐름(6000)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(5801)(또는 그 컴포넌트들)은 입력 데이터를 분할 및/또는 증대시키고 투표를 사용하여 입력 데이터 품질(예를 들어, 입력 데이터가 추론 모델에 의해 분류되는 정확도 또는 신뢰도)을 개선시키기 위해 로직 흐름(6000)의 동작들을 수행할 수 있다.
로직 흐름(6000)은 강화된 시스템(5801)이 입력 데이터(5824)를 수신할 수 있는 블록 6010 "입력 데이터 수신"에서 시작할 수 있다. 예를 들어, 입력 데이터(5824)는 인터페이스(5830)를 통해 입력 디바이스(5852)로부터 수신될 수 있다. 일부 예들에서, 입력 데이터(5824)는 블록 6012 이전에 전처리될 수 있다. 블록 6012 "입력 데이터에 기초하여 증강된 입력 데이터의 세트를 생성- 세트 내의 각각의 증강된 입력 데이터는 상이하게 증강됨 -"으로 진행하여, 증강된 입력 데이터의 세트가 생성된다. 일부 예들에서, 증강된 입력 데이터의 세트는 증강된 데이터(5825-1, 5825-2, 5825-N)를 포함할 수 있다. 예를 들어, 증강된 입력 데이터의 세트는 다양한 증강들(예를 들어, 감마의 변경, 픽셀 시프트, 노이즈-제거, 에러 정정 등)의 결과들을 포함할 수 있다.
블록 6014 "세트 내의 각각의 증강된 입력 데이터를 하나 이상의 추론 모델로 분류"로 진행하여, 다양한 증강들 각각이 하나 이상의 추론 모델로 분류될 수 있다. 예를 들어, 입력 데이터의 각각의 증강된 버전은 추론 모델들(5822-1, 5822-2, 5822-n) 중 하나 이상에 의해 분류될 수 있다. 판정 블록 6016 "상이한 증강된 입력 데이터의 분류에 기초한 투표를 통해 수용 가능한 입력 데이터가 식별되었는가?"로 계속하여, 입력 데이터(또는 그의 하나 이상의 증강)가 상이한 증강된 입력 데이터의 분류들에 기초한 투표를 통해 수용 가능한지가 결정될 수 있다. 판정 블록 6016이 예라고 평가하면, 로직 흐름(6000)은 블록 6020으로 처리할 수 있고, 판정 블록 6016이 아니오라고 평가하면, 로직 흐름(6000)은 블록 6018로 처리할 수 있다.
블록 6018 "입력 데이터에 대한 새로운 증강들의 세트를 식별"에서, 입력 데이터에 대한 새로운 증강들의 세트가 식별될 수 있다. 예를 들어, 증강된 입력 데이터(5825)는 입력 데이터(5824)에 대한 새로운 증강 세트로 업데이트될 수 있다. 블록 6018 이후에, 로직 흐름(6000)은 블록 6012로 복귀하여, 앞서 설명한 바와 같이 새로운 증강 세트로 반복할 수 있다. 블록 6016이 예라고 평가할 때를 다시 참조하면, 로직 흐름(6000)은 블록 6020으로 계속될 수 있다. 블록 6020 "출력 데이터로서 최고 신뢰도 점수를 갖는 분류 데이터 제공"에서, 최고 신뢰도 점수를 갖는 분류가 출력 데이터로서 제공될 수 있다. 일부 예들에서, 이는 추가적으로 또는 대안적으로 투표에 기초하여 결정될 수 있다. 블록 6020으로부터, 로직 흐름(6000)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복될 수 있다.
도 61은 로직 흐름(6100)을 예시한다. 로직 흐름(6100)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(5801)(또는 그 컴포넌트들)은 입력 데이터를 분할 및/또는 증대시키고 투표를 사용하여 이상들을 검출하며 경보를 생성하고 및/또는 적대자들을 필터링 제거하기 위해 로직 흐름(6100)의 동작들을 수행할 수 있다.
로직 흐름(6100)은 블록 6110 "입력 데이터 수신"에서 시작할 수 있고, 강화된 시스템(5801)이 입력 데이터(5824)를 수신할 수 있다. 예를 들어, 입력 데이터(5824)는 인터페이스(5830)를 통해 입력 디바이스(5852)로부터 수신될 수 있다. 일부 예들에서, 입력 데이터(5824)는 블록 512 이전에 전처리될 수 있다. 블록 6112 "입력 데이터에 기초하여 증강된 입력 데이터의 세트를 생성- 세트 내의 각각의 증강된 입력 데이터는 상이하게 증강됨 -"으로 진행하여, 증강된 입력 데이터의 세트가 생성된다. 일부 예들에서, 증강된 입력 데이터의 세트는 증강된 데이터(5825-1, 5825-2, 5825-N)를 포함할 수 있다. 예를 들어, 증강된 입력 데이터의 세트는 다양한 증강들(예를 들어, 감마의 변경, 픽셀 시프트, 노이즈-제거, 에러 정정 등)의 결과들을 포함할 수 있다.
블록 6114 "세트 내의 각각의 증강된 입력 데이터를 하나 이상의 추론 모델로 분류"로 진행하여, 다양한 증강들 각각이 하나 이상의 추론 모델로 분류될 수 있다. 예를 들어, 입력 데이터의 각각의 증강된 버전은 추론 모델들(5822-1, 5822-2, 5822-n) 중 하나 이상에 의해 분류될 수 있다. 판정 블록 6116 "입력 데이터의 상이한 증강들의 분류들에 기초한 투표를 통해 이상이 검출되었는가?"로 계속하여, 상이한 증강된 입력 데이터의 분류들에 기초한 투표를 사용하여 이상들을 검출할 수 있다. 판정 블록 6116이 예라고 평가하면, 로직 흐름(6100)은 블록 6120으로 처리할 수 있고, 판정 블록 6116이 아니오라고 평가하면, 로직 흐름(6100)은 블록 6118로 처리할 수 있다.
블록 6118 "출력 데이터로서 최고 신뢰도 점수를 갖는 분류 데이터 제공"에서, 최고 신뢰도 점수를 갖는 분류가 출력 데이터로서 제공될 수 있다. 일부 예들에서, 이는 추가적으로 또는 대안적으로 투표에 기초하여 결정될 수 있다. 블록 6116이 예라고 평가할 때를 다시 참조하면, 로직 흐름(6100)은 블록 6120으로 계속될 수 있다. 블록 6120 "이상을 필터링 및/또는 경보를 생성"에서, 경보 및/또는 필터는 이상의 검출들에 응답하여 구현될 수도 있다. 예를 들어, 경보는 예외의 생성을 포함할 수 있다. 블록 6120으로부터, 로직 흐름(6100)은 종료될 수 있거나, 새로운 입력들을 수신하는 것에 기초하여 반복될 수 있다.
암호화된 모델에 대한 활성화 함수
현용의 추론 시스템의 한 가지 문제는 AI 네트워크 내의 노드의 활성화가 비효율적일 수 있다는 것이다. 따라서, 본 개시내용은 추론 시간 동안 입력 데이터에 대해 계산이 행해질 것을 요구하지 않고 효율적인 활성화를 가능하게 하여, 데이터 애그노스틱 시스템으로 이어지는 추론 시스템을 제공한다. 데이터 애그노스틱 시스템은 호모모픽 암호화와 함께 사용될 수 있다. 다양한 예들에서, 호모모픽 암호화는 암호문들에 대한 계산을 허용하여, 암호화된 결과를 생성하는 암호화의 형태를 포함할 수 있고, 암호화된 결과는, 복호화될 때, 연산들이 평문에 대해 수행되는 것처럼 동작들의 결과와 매칭된다. 전형적으로, 호모모픽 암호화는 다항식 계산들을 지원한다. 따라서, 공통 활성화 함수들(예를 들어, ReLU, TanH, Sigmoid, Softmax)은 그대로 사용될 수 없다. 따라서, 근사치들(예를 들어, 테일러 급수(Taylor series), 체비셰프(Chebyshev))이 호모모픽적으로 암호화된 네트워크들에서 전형적으로 사용되지만, 이들은 덜 정확하고 런타임 비용이 많이 든다.
많은 예들에서, 본 명세서에 설명된 추론 시스템(예를 들어, 강화된 시스템(6201))은 모델 저장을 위해 무시할만한 오버헤드를 요구할 수 있는 한편, 일반적인 활성화 함수들에서와 같이 (예를 들어, +/-1% 점수 변화 내에서) 정확도를 보존한다. 활성화 함수는, 입력 또는 입력들의 세트가 주어지면, 노드 또는 뉴런의 출력을 정의할 수 있다. 종종, 이 출력은 그 후 다음 노드에 대한 입력으로서 사용되는 등등이고, 솔루션이 발견될 때까지 계속된다. 몇몇 예들에서, 강화된 시스템(6201)은 근사화 기반 활성화들보다 몇 자릿수 더 빠르게 실행할 수 있다. 다양한 예들에서, 강화된 시스템(6201)은 방법을 이미 훈련된 모델들에 사후 적용할 수 있다. 또한, 방법은 미세 조정을 요구하지 않을 수 있다. 때때로 효율성을 향상시키기 위해 전용 하드웨어가 포함될 수 있다.
도 62는 본 개시내용에 따라 구현될 수 있는 예시적 강화된 시스템(6201)을 예시하고 있다. 강화된 시스템(6201)은 회로(6210), 메모리(6220), 인터페이스(6230), 및 입력 디바이스(6252)를 포함한다. 메모리(6220)는 입력 데이터(6224), 추론 모델(6222), 출력 특징 맵들(6225), 파라미터들(6227), 활성화 통계(6223), 출력 데이터(6226), 활성화 행렬들(6229) 및 명령어들(6228)를 저장한다. 많은 예들에서, 입력 데이터(6224)는 훈련 데이터 세트를 포함할 수 있다. 동작 동안, 회로(6210)는 새로운 데이터 애그노스틱 활성화에 의존하는 암호화된 모델들에 대한 전용 활성화 함수를 구현하기 위해 명령어들(6228)을 실행할 수 있다.
아래에 더 상세히 설명되는 바와 같이, 회로(6210)는 활성화 통계(6228)의 수집, 활성화 통계(6228)의 분석 및 추론 시간에서의 처리 중 하나 이상을 수행하기 위해 명령어들(6228)을 실행할 수 있다. 예를 들어, 먼저, 회로(6210)는 추론 모델(6222)(예를 들어, 훈련된 심층 신경망(DNN) 모델) 및 입력 데이터(6224)(예를 들어, 샘플들을 갖는 훈련 데이터 세트)를 취하고 모든 층들에 대한 각각의 출력 특징 맵(6225)에 대응하는 빈 활성화 행렬(6229)을 초기화하기 위해 명령어들(6228)을 실행할 수 있다. 전형적으로, 입력 데이터(6224) 내의 각각의 훈련 샘플은 순방향 전파될 수 있는 반면, 모든 층들에 대한 모든 활성화들은 활성화 맵들(6231)을 생성하기 위해 대응하는 활성화 행렬(6229)에 누적된다. 다양한 예에서, 활성화 통계(6223)는 완료된 활성화 행렬들(6229) 및/또는 활성화 맵들을 포함할 수 있다.
그 다음에, 회로(6210)는 활성화 통계(6223)를 분석하기 위해 명령어(6228)를 실행할 수 있다. 일부 예들에서, 통계는 하나 이상의 파라미터(6227)에 기초하여 분석될 수 있다. 때때로, 하나 이상의 파라미터(6227)는 사용자에 의해 제공될 수 있다. 종종, 하나 이상의 파라미터(6227)는 제1, 제2, 및 제3 파라미터들을 포함할 수 있다. 제1 파라미터는 해고 활성화들 중 어느 것이 고정되어야 하는지의 퍼센트를 포함할 수 있다. 제2 파라미터는 해고되어야 하는 뉴런들의 총 퍼센트를 포함할 수 있다. 제3 파라미터는 고정된 제1 파라미터 인덱스들을 취하기 위한 총 상위 활성화들의 백분위수를 포함할 수 있다. 예를 들어, 사용자는 제1 파라미터를 50으로서, 제2 파라미터를 80으로서, 그리고 제3 파라미터를 70으로서 선택할 수 있다. 이러한 예들에서, 이는, 전체적으로, 뉴런들의 80%가 해고될 것이고; 이들 중 50%가 실행마다 랜덤화된다는 것을 의미한다. 나머지 50%는 미리 고정되고 활성화들의 상위 70%로부터 무작위로 선택된다. 회로(6210)는 명령어들(6228)을 실행하여 각각의 활성화 맵(6231)을 스캐닝할 수 있고, 상위 활성화 뉴런들로부터 선택된 랜덤 제1 파라미터 퍼센트의 인덱스들의 인덱스들(예를 들어, 가장 활성화된 특징 맵들의 값들)이 저장된다.
런타임에서의 추론을 위해, 회로(6210)는 활성화 통계(6223)를 분석하기 위해 명령어들(6228)을 실행할 수 있다. 추론 시간에서의 실제 활성화 동작은 처리된 층에 대한 대응하는 저장된 위치 맵(예를 들어, 활성화 맵들(6231))에 있는 모든 뉴런들을 전달하는 것으로 이루어질 수 있다. 나머지(제2 파라미터-제1 파라미터) 활성화 퍼센트는 요구되는 수의 뉴런을 무작위로 해고함으로써 충족될 수 있다. 이 방법은 효율적인 활성화를 가능하게 할 수 있지만, 데이터 자체에 대한 추론 시간 동안 계산이 행해지지 않는다(따라서, 데이터 애그노스틱). 또한, 모델 저장을 위해 무시할만한 오버헤드가 필요할 수 있는 반면, 정확도는 보존되며, 근사화 기반 활성화들보다 수 자릿수 더 빨리 실행될 수 있다. 또한, 이 방법은 이미 훈련된 모델들에 사후 적용될 수 있고 미세 조정을 필요로 하지 않는다.
도 63은 로직 흐름(6300)을 예시한다. 로직 흐름(6300)은 본 명세서에 설명된 하나 이상의 디바이스들에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(6201)(또는 그 컴포넌트들)은 효율적인 추론 시스템에 대한 로직 흐름(6300)의 동작들을 수행할 수 있다.
로직 흐름(6300)은 블록 6302에서 시작할 수 있다. 블록 6302 "추론 모델에서의 각각의 층에 대한 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화"에서, 추론 모델 내의 각각의 층에 대한 출력 특징 맵에 대응하는 하나 이상의 행렬이 초기화될 수 있다. 예를 들어, 하나 이상의 출력 특징 맵(6225)에 대응하는 하나 이상의 활성화 행렬(6229)이 초기화될 수 있다.
블록 6304 "데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하여 활성화 통계를 생성"으로 계속하여, 데이터 세트 내의 샘플의 활성화가 대응하는 행렬에 누적되어 활성화 통계를 생성할 수 있다. 예를 들어, 각각의 샘플의 각각의 활성화는 활성화 행렬들(6229) 내에 누적될 수 있다. 일부 예들에서, 각각의 샘플은 순방향 전파될 수 있는 반면, 모든 층들에 대한 활성화 맵들 모두가 저장된다.
블록 6306 "제1, 제2, 및 제3 파라미터들을 결정- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -"에서, 제1, 제2, 및 제3 파라미터들이 결정될 수 있다. 예를 들어, 파라미터들(6227)은 제1, 제2, 및 제3 파라미터들을 포함할 수 있다. 다양한 예들에서, 파라미터들(6227)은 사용자 입력에 기초하여 결정될 수 있다.
블록 6308 "활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현"으로 계속하여, 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수가 구현될 수 있다. 예를 들어, 전용 활성화 함수는 파라미터(6227) 및 활성화 통계(6223)에 기초하여 구현될 수 있다. 이러한 경우에, 활성화 통계(6223)는 활성화 행렬(6229) 및/또는 활성화 맵(6231)을 포함할 수 있다.
도 64는 로직 흐름(6400)을 예시한다. 로직 흐름(6400)은 본 명세서에 설명된 하나 이상의 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 예를 들어, 강화된 시스템(401)(또는 그 컴포넌트들)은 효율적인 추론 시스템에 대한 로직 흐름(6400)의 동작들을 수행할 수 있다.
로직 흐름(6400)은 블록 6402에서 시작할 수 있다. 블록 6402에서, "저장된 고정된 활성화들을 로드"에서, 저장되어 있는 고정된 활성화들이 로딩될 수 있다. 예를 들어, 활성화 행렬들(6229) 및 활성화 맵들(6231) 중 하나 이상 내의 고정된 활성화들이 로딩될 수 있다. 블록 6404 "구성: 해고할 출력 뉴런들의 고정된 위치 & 퍼센트"로 진행하여, 해고할 출력 뉴런의 고정된 위치 및 퍼센트를 포함하는 하나 이상의 구성 파라미터가 결정, 구현 및/또는 구성될 수 있다. 예를 들어, 명령어(6228)는, 입력 데이터(6224), 추론 모델(6222), 활성화 통계(6223), 출력 특징 맵(6225), 파라미터(6227), 출력 데이터(6226), 및 활성화 맵(6231) 중 하나 이상에 기초하여 출력 뉴런의 고정된 위치 및 퍼센트를 결정/구성할 수 있다.
블록 6402를 다시 참조하면, 저장된 고정된 활성화들이 로딩되면, 로직 흐름(6400)은 블록 6406으로 진행할 수 있다. 블록 6406 "고정된 위치들의 뉴런들과 랜덤 퍼센트의 뉴런들을 더하여 해고"에서, 고정된 위치의 뉴런 그리고 뉴런의 랜덤 퍼센트 또는 랜덤 뉴런의 퍼센트를 해고한다. 예를 들어, 뉴런들의 랜덤 퍼센트는 파라미터(6227) 중 하나 이상에 기초하여 결정될 수 있다. 일부 예들에서, 본 명세서에 설명된 하나 이상의 활성화 함수는 다자간 계산(예를 들어, MPC 방식들 및/또는 호모모픽 암호화 등)으로 암호화된 신경망들에 사용될 수 있다.
모델 보호를 위한 다자간 실행
본 명세서에서 제공되는 바와 같이, 추론 모델들은 예를 들어 클라우드 컴퓨팅 리소스들에 의해, 에지 디바이스들 등에 의해 분산 환경에서 실행될 수 있다. 이러한 환경들에서의 추론 시스템의 부분들의 실행은 데이터 누설에 위험들을 도입할 수 있다. 간단한 예로서, 추론 시스템은 개인적 요소(예를 들어, 건강 기록, 금융 정보 등)로 정보를 추론하도록 배열될 수 있다. 적대자들은 분산 환경 내의 플랫폼들 상에서 실행하고 있는 추론 모델의 하나 이상의 "슬라이스"로부터의 입력들 및/또는 출력들이 주어지면 이 개인 정보를 추론할 수 있다. 또한, 모델의 부분들은 클라우드 및/또는 에지 디바이스들 상에서 실행될 때 추출의 위험이 종종 있다.
본 개시내용은 메인 추론 모델이 적대적 모델들로부터의 피드백에 기초하여 훈련되는, 훈련 동안의 부가 추론 모델들("적대적 모델들" 또는 "적대자들"로 언급됨)의 사용을 제공한다. 예를 들어, 각각의 분산 컴퓨팅 플랫폼(예를 들어, 각각의 모델 슬라이스 등)을 표현하기 위해 적대적 모델이 생성될 수 있다. 적대자들은 다른 적대자들로부터의 입력들 및 출력들에 액세스할 수 있다. 적대적 모델들은 훈련을 위해 추론 모델의 슬라이스들에 결합된다. 훈련 동안, 추론 모델은 모델의 각각의 컴포넌트가 결정적인(critical) 것을 보장하기 위해 공동 손실(joint loss)(예를 들어, 분류 손실 등과 같은 일반적인 작업 특정 손실) 및 적대적 손실(adversarial loss)을 적용하여 훈련된다. 즉, 훈련은 모든 모델의 공동 손실에 기초하여 전체 추론 모델(또는 모든 슬라이스의 조합)을 국소 최소값으로 안내한다. 그러나, 각각의 슬라이스는 적대적 손실을 최소화하도록 훈련된다. 따라서, 슬라이스들은 개별적으로 취해질 때 적대적 손실 훈련으로 인해 덜 정확한 국소 최소값으로 안내된다.
따라서, 일단 훈련되고 나면, 모델 슬라이스들은 데이터 누설 또는 모델 추출의 위험을 감소시키면서 분산 방식으로 상이한 컴퓨팅 플랫폼들에 의해 실행될 수 있다. 즉, 다자간 적대적 훈련의 결과로서, 모델 슬라이스들 각각은 추론 정확도를 유지하면서 프라이버시 및/또는 보안 특징들을 나타낼 수 있다. 이는 모델 슬라이스들을 실행하는 컴퓨팅 플랫폼들이 서로 I/O 액세스를 갖는 경우에도 사실이다. 달리 말하면, 적대적 훈련은 비밀 공유자들로서 협력하도록 모델 슬라이스들을 안내하기 위해 사용될 수 있고, 여기서 비밀은 모델 함수(예를 들어, 입력 매핑에 대한 추론 모델 출력)이다. 즉, 비밀은 f(x)→y이고, 여기서 x는 입력 샘플이고 y는 결과(예를 들어, 분류, 예측, 추론, 생성된 출력 등)이다. 따라서, 각각의 모델 슬라이스는 비밀(예를 들어, f(x)→y)을 확인하는 데 필수적이다. 그러나, 각각의 모델 슬라이스는 단독으로 사용될 때 비밀(f(x)→y)을 확인하기에는 불충분하다.
도 65는 클라이언트 디바이스(6501), 및 서버들(6503, 6505 및 6507)을 포함하는 예시적 추론 환경(6500)을 예시한다. 일반적으로, 서버들(6503, 6505, 6507)은 분산 방식으로 추론 모델의 일부를 실행하도록 배열된다. 서버들(6503, 6505 및 6507)은 클라우드 기반(또는 액세스가능한) 컴퓨팅 리소스들, 에지 디바이스들, 구체적으로 배열된 추론 모델 실행 가속기들 등일 수 있다. 게다가, 3개의 서버(6503, 6505, 6507)가 이 도면에 묘사되어 있지만, 임의의 수(1, 2, 3, 4, 또는 그 이상)의 서버가 추론 환경(6500)에 제공될 수 있다는 것을 이해하여야 한다. 설명한 바와 같이, 추론 환경(6500)의 서버들(6503, 6505 및 6507)은 에지 디바이스들일 수 있다. 일부 예들에서, 추론 환경(6500)은 멀티-에지 환경일 수 있고, 여기서 클라이언트 디바이스(6501)는 모델 슬라이스들을 실행하기 위해 "에지"(예를 들어, 에지 디바이스들(6503, 6505) 등)에서 유휴 계산력을 이용한다.
클라이언트 디바이스(6501) 및 서버들(6503, 6505 및 6507)은 (예를 들어, 인터넷 등을 포함할 수 있는) 네트워크를 통해 결합될 수 있다. 보다 구체적으로는, 인터페이스들(6530-1, 6530-3, 6530-5 및 6530-7)은 디바이스들 사이의 통신 또는 데이터의 교환을 용이하게 하기 위해 네트워크에 결합될 수 있다.
클라이언트 디바이스(6501)는 회로(6510-1), 메모리(6520-1) 및 인터페이스(6530-1)를 포함한다. 메모리(6520-1)는 추론 모델(6522), 입력 데이터(6524), 출력 데이터(6526)를 저장한다. 추론 모델(6522)은 모델 슬라이스들(6523)을 포함한다. 일반적으로, 클라이언트 디바이스(6501)는 추론 모델(6522)의 분산 실행을 조정하고 제공하도록 동작한다.
서버(6503)는 회로(6510-3), 메모리(6520-3) 및 인터페이스(6530-3)를 포함한다. 메모리(6520-3)는 모델 슬라이스(6522-1) 및 명령어들(6528-3)을 저장한다. 마찬가지로, 서버(6505)는 회로(6510-5), 메모리(6520-5) 및 인터페이스(6530-5)를 포함한다. 메모리(6520-5)는 모델 슬라이스(6522-2) 및 명령어들(6528-5)을 저장한다. 추가적으로, 서버(6507)는 회로(6510-7), 메모리(6520-7) 및 인터페이스(6530-7)를 포함한다. 메모리(6520-7)는 모델 슬라이스(6522-3) 및 명령어들(6528-7)을 저장한다. 일반적으로, 서버들(6503, 6505 및 6507)은 추론 모델(6522)의 부분들(예를 들어, 모델 슬라이스들(6523-1, 6523-2, 및 6523-3) 등)에 대한 실행 환경들을 제공한다.
일반적으로, 서버들(6503, 6505, 6507) 각각은 모델 슬라이스들(6523) 중 하나를 분산 방식으로 실행할 수 있다. 예를 들어, 회로(6510-3)는 모델 슬라이스들(6523-1)을 실행하는 명령어들(6528-3)을 실행할 수 있고, 회로(6510-5)는 모델 슬라이스들(6523-2)을 실행하는 명령어들(6528-5)을 실행할 수 있으며, 회로(6510-7)는 모델 슬라이스들(6523-3)을 실행하는 명령어들(6528-7)을 실행할 수 있다.
앞서 설명한 바와 같이, 본 개시내용은 모델 슬라이스들이, 분산 시스템에서의 각각의 당사자를 대체하는, 적대적 모델들로 훈련될 수 있다는 것을 제공한다.
도 66은 앞서 설명한 바와 같이 분산 환경에서 보안 실행을 위해 파티셔닝된 추론 모델을 훈련하도록 구현될 수 있는 시스템(6601)을 예시한다. 시스템(6601)은 회로(6610), 메모리(6620), 및 인터페이스(6630)를 포함한다. 메모리(6620)는 다수의 부분들, 또는 모델 슬라이스들(6623)로 분할된 추론 모델(6622)을 저장한다. 예를 들어, 추론 모델(6622)은 모델 슬라이스들(6623-1, 6623-2 및 6623-3)을 포함하는 것으로 묘사된다. 일반적으로, 추론 모델은 분산 컴퓨팅 플랫폼들만큼 많은 부분들(또는 슬라이스들)로 분할될 수 있다. 예를 들어, 도 65의 추론 환경(6500)은 모델 부분들, 특히 서버들(6503, 6505, 및 6507)을 실행할 수 있는 세(3) 개의 컴퓨팅 플랫폼들(또는 당사자들)을 묘사한다. 메모리(6620)는 또한 각각의 모델 슬라이스(6623)에 대한 적대적 모델(6625)을 포함한다. 예를 들어, 이 도면은 적대적 모델(6625-1, 6625-2 및 6625-3)을 묘사하고 있다.
회로(6610)는 적대적 훈련 기법을 사용하여 적대적 모델들 및 대체 서브-모델들(도 67 및 도 68 참조)을 사용하여 모델 슬라이스들(6623)을 훈련하기 위해 명령어들(6628)을 실행할 수 있다.
도 67은 적대적 훈련을 위해 배열된 적대적 모델들(6725) 및 대체 서브-모델들(6726)에 결합된, 모델 슬라이스들(6723-1, 6723-2 및 6723-3)로 분할된 예시적 추론 모델(6722)을 예시한다. 일반적으로, 이 도면은 적대적 모델들과 모델 슬라이스들 사이에 1:1 대응이 있는 구현을 묘사한다. 설명한 바와 같이, 훈련은 대응하는 대체 서브-모델(6726)로 실행될 때 부정확하거나 덜 정확한 국소 최소값에 개별적으로 도달하도록 모델 슬라이스들(6723)을 안내하도록 동작한다. 훈련 동안, 적대적 모델(6725)은 적대적 모델(6725)에 대응하지 않는 다른 모델 슬라이스들(6723)에 대한 판독 액세스 및 적대적 모델(6725)에 대응하는 대체 서브-모델(6726)에 대한 판독 및 기입 액세스를 갖는다. 예를 들어, 적대적 모델(6725-1)은 모델 슬라이스들(6723-2 및 6723-3)에 대한 판독 액세스 및 대체 서브-모델(6725-1)에 대한 판독 및 기입 액세스를 갖는다.
도 68a, 도 68b 및 도 68c는 적대적 훈련을 위해 배열된 적대적 모델들(6825) 및 대체 서브-모델들(6826)에 결합된 모델 슬라이스들(6823-1, 6823-2 및 6823-3)로 분할된 예시적 추론 모델(6822)을 예시한다. 일반적으로, 이 도면은 적대적 모델들과 모델 슬라이스들 사이에 N:1 대응관계가 있는 구현을 예시한다. 달리 말하면, 이 도면은 적대적 훈련을 위해 단일 모드 슬라이스에 결합된 다수의 적대적 모델을 묘사한다.
도 68a를 더 상세히 살펴보면, 적대적 모델들(6825-11, 6825-12 및 6825-13)과 함께 대응하는 대체 서브-모델들(6826-11, 6826-12 및 6826-13)이 묘사되어 있다. 적대적 모델들(6825-11, 6825-12 및 6825-13) 뿐만 아니라 대체 서브-모델들(6826-11, 6826-12, 및 6826-13)은 모델 슬라이스(6823-1)에 적대적 훈련을 제공하기 위해 모델 슬라이스들(6823-2 및 6823-3)에 대한 판독 액세스와 연결된다. 마찬가지로, 도 68b는 적대적 모델들(6825-21, 6825-22 및 6825-23)을 대응하는 대체 서브-모델들(6826-21, 6826-22 및 6826-23)과 함께 묘사한다. 적대적 모델들(6825-21, 6825-22 및 6825-23)뿐만 아니라 대체 서브-모델들(6826-21, 6826-22 및 6826-23)은 모델 슬라이스(6823-2)에 적대적 훈련을 제공하기 위해 모델 슬라이스들(6823-1 및 6823-3)에 대한 판독 액세스와 연결된다. 마지막으로, 도 68c는 적대적 모델들(6825-31, 6825-32, 6825-33)을 대응하는 대체 서브-모델들(6826-31, 6826-32, 6826-33)과 함께 묘사한다. 적대적 모델들(6825-31, 6825-32 및 6825-33) 뿐만 아니라 대체 서브-모델들(6826-31, 6826-32, 및 6826-33)은 모델 슬라이스(6823-3)에 적대적 훈련을 제공하기 위해 모델 슬라이스들(6823-1 및 6823-2)에 대한 판독 액세스와 연결된다.
예시적 물리적 실시예들
일부 예들은 제조 물품 또는 적어도 하나의 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 로직을 저장하는 비일시적 저장 매체를 포함할 수 있다. 일부 예들에서, 비일시적 저장 매체는 휘발성 메모리 또는 비휘발성 메모리, 이동식 또는 비이동식 메모리, 소거 가능 또는 소거 불가능 메모리, 기입 가능 또는 재기입 가능 메모리 등을 포함하는, 전자 데이터를 저장할 수 있는 하나 이상의 타입의 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 일부 예들에서, 로직은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 시스템 프로그램들, 머신 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 함수들, 메소드들, 프로시저들, 소프트웨어 인터페이스들, API, 명령어 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 심볼들, 또는 이들의 임의의 조합과 같은 다양한 소프트웨어 요소들을 포함할 수 있다.
일부 예들에 따르면, 컴퓨터 판독가능 매체는, 기계, 컴퓨팅 디바이스 또는 시스템에 의해 실행될 때, 기계, 컴퓨팅 디바이스 또는 시스템으로 하여금 설명된 예들에 따른 방법들 및/또는 동작들을 수행하게 하는 명령어들을 저장 또는 유지하는 비일시적 저장 매체를 포함할 수 있다. 명령어들은 소스 코드, 컴파일된 코드, 인터프리트된 코드, 실행가능 코드, 정적 코드, 동적 코드 등과 같은 임의의 적합한 타입의 코드를 포함할 수 있다. 명령어들은 기계, 컴퓨팅 디바이스 또는 시스템에 특정 기능을 수행하라고 명령하기 위해, 미리 정의된 컴퓨터 언어, 방식 또는 신택스에 따라 구현될 수 있다. 명령어들은 임의의 적절한 고레벨, 저레벨, 객체 지향, 비주얼, 컴파일된 및/또는 해석된 프로그래밍 언어를 사용하여 구현될 수 있다.
도 69는 저장 매체(6900)를 예시한다. 저장 매체(6900)는, 광학, 자기 또는 반도체 저장 매체와 같은, 임의의 비일시적 컴퓨터 판독가능 저장 매체 또는 기계 판독가능 저장 매체를 포함할 수 있다. 다양한 실시예들에서, 저장 매체(6900)는 제조 물품을 포함할 수 있다. 일부 실시예들에서, 저장 매체(6900)는, 예컨대 200, 300, 500, 700, 1200, 1300, 1600, 1700, 2100, 2500, 2800, 3000, 3200, 3300, 3500, 3700, 3900, 4100, 4300, 4600, 4900, 5100, 5400, 5700, 5900, 6000, 6100, 6300, 또는 6400과 관련하여, 본 명세서에 설명된 기법들, 로직 흐름들 또는 동작들 중 하나 이상을 구현하기 위한 컴퓨터 실행가능 명령어들과 같은 컴퓨터 실행가능 명령어들을 저장할 수 있다. 추가적으로, 저장 매체(6900)는 입력 데이터, 출력 데이터, 추론 모델들, 시험/훈련 데이터 세트들 등을 나타내는 데이터 구조들을 저장할 수 있다. 컴퓨터 판독가능 저장 매체 또는 기계 판독가능 저장 매체의 예들은 휘발성 메모리 또는 비휘발성 메모리, 이동식 또는 비이동식 메모리, 소거 가능 또는 소거 불가능 메모리, 기입 가능 또는 재기입 가능 메모리 등을 포함하는, 전자 데이터를 저장할 수 있는 임의의 유형의(tangible) 매체를 포함할 수 있다. 컴퓨터 실행가능 명령어들의 예들은 소스 코드, 컴파일된 코드, 인터프리트된 코드, 실행가능 코드, 정적 코드, 동적 코드, 객체 지향 코드, 비주얼 코드 등과 같은 임의의 적합한 타입의 코드를 포함할 수 있다. 실시예들은 이에 관하여 제한되지 않는다.
프로그램 코드를 저장 및/또는 실행하는 데 적절한 강화된 시스템은 시스템 버스를 통해 메모리 요소들에 직접 또는 간접적으로 결합되는 적어도 하나의 프로세서를 포함할 것이다. 메모리 요소들은 프로그램 코드의 실제 실행 동안 이용되는 로컬 메모리, 벌크 스토리지, 및 코드가 실행 동안 벌크 스토리지로부터 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 일시적 저장을 제공하는 캐시 메모리들을 포함할 수 있다. 용어 "코드"는 애플리케이션들, 드라이버들, 프로세스들, 루틴들, 메소드들, 모듈들, 펌웨어, 마이크로코드, 및 서브프로그램들을 포함하는, 광범위한 소프트웨어 컴포넌트들 및 구성체들을 커버한다. 따라서, "코드"라는 용어는 처리 시스템에 의해 실행될 때 원하는 동작 또는 동작들을 수행하는 명령어들의 임의의 집합을 지칭하는 데 사용될 수 있다.
본 명세서에 설명된 로직 회로, 디바이스들 및 인터페이스들은 하드웨어로 구현되고 하나 이상의 프로세서 상에서 실행되는 코드로 구현되는 기능들을 수행할 수 있다. 로직 회로는 하나 이상의 로직 기능을 구현하는 하드웨어 또는 하드웨어 및 코드를 지칭한다. 회로는 하드웨어이며, 하나 이상의 회로를 지칭할 수 있다. 각각의 회로는 특정 기능을 수행할 수 있다. 회로의 회로는 하나 이상의 도체, 집적 회로, 칩 패키지, 칩셋, 메모리 등과 인터커넥트된 개별 전기 컴포넌트들을 포함할 수 있다. 집적 회로들은 실리콘 웨이퍼와 같은 기판 상에 생성된 회로들을 포함하고, 컴포넌트들을 포함할 수 있다. 그리고 집적 회로들, 프로세서 패키지들, 칩 패키지들, 및 칩셋들은 하나 이상의 프로세서를 포함할 수 있다.
프로세서들은 입력(들)에서 명령어들 및/또는 데이터와 같은 신호들을 수신하고 적어도 하나의 출력을 생성하기 위해 신호들을 처리할 수 있다. 코드를 실행하는 동안, 코드는 프로세서 파이프라인을 구성하는 트랜지스터들의 물리적 상태들 및 특성들을 변경한다. 트랜지스터들의 물리적 상태들은 프로세서 내의 레지스터들에 저장된 1들 및 0들의 로직 비트들로 변환된다. 프로세서는 트랜지스터들의 물리적 상태들을 레지스터들로 전송하고 트랜지스터들의 물리적 상태들을 다른 저장 매체에 전송할 수 있다.
프로세서는 프로세서의 전체 기능을 수행하도록 구현되는 하나 이상의 하위 기능을 수행하기 위한 회로들을 포함할 수 있다. 프로세서의 일 예는 적어도 하나의 입력 및 적어도 하나의 출력을 포함하는 상태 기계 또는 주문형 집적 회로(ASIC) 이다. 상태 기계는 적어도 하나의 입력에 대해 미리 결정된 일련의 직렬 및/또는 병렬 조작들 또는 변환들을 수행함으로써 적어도 하나의 출력을 생성하기 위해 적어도 하나의 입력을 조작할 수 있다.
앞서 설명한 바와 같은 로직은 집적 회로 칩을 위한 설계의 일부일 수 있다. 칩 설계는 그래픽 컴퓨터 프로그래밍 언어로 생성되고, (디스크, 테이프, 물리적 하드 드라이브, 또는 저장 액세스 네트워크에서와 같은 가상 하드 드라이브와 같은) 컴퓨터 저장 매체 또는 데이터 저장 매체에 저장된다. 설계자가 칩들 또는 칩들을 제조하는 데 사용되는 포토리소그래픽 마스크들을 제조하지 않는 경우, 설계자는 결과적인 설계를 물리적 수단에 의해(예를 들어, 설계를 저장하는 저장 매체의 사본을 제공함으로써) 또는 전자적으로(예를 들어, 인터넷을 통해) 이러한 엔티티들로 직접 또는 간접적으로 전송한다. 저장된 설계는 이어서 제조를 위해 적절한 포맷(예를 들어, GDSII)으로 변환된다.
결과적인 집적 회로 칩들은 제조자에 의해 미가공 웨이퍼 형태로(즉, 다수의 패키징되지 않은 칩들을 갖는 단일 웨이퍼로서), 베어 다이로서, 또는 패키징된 형태로 분배될 수 있다. 후자의 경우, 칩은 (마더보드 또는 다른 상위 레벨 캐리어에 부착되는 리드들을 갖는 플라스틱 캐리어와 같은) 단일 칩 패키지 내에 또는 (표면 상호접속부들 또는 매립 상호접속부들 중 어느 하나 또는 둘 모두를 갖는 세라믹 캐리어와 같은) 멀티칩 패키지 내에 장착된다. 어느 경우든지, 칩은 이어서 (a) 프로세서 보드, 서버 플랫폼, 또는 마더보드와 같은 중간 제품, 또는 (b) 최종 제품의 일부로서 다른 칩들, 개별 회로 요소들, 및/또는 다른 신호 처리 디바이스들과 통합된다.
도 70은 시스템(7000)을 예시한다. 시스템(7000)은 분산 컴퓨팅 시스템, 수퍼컴퓨터, 고성능 컴퓨팅 시스템, 컴퓨팅 클러스터, 메인프레임 컴퓨터, 미니컴퓨터, 클라이언트-서버 시스템, 개인용 컴퓨터(PC), 워크스테이션, 서버, 휴대용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, PDA(personal digital assistant)와 같은 핸드헬드 디바이스, 또는 정보를 처리, 디스플레이, 또는 송신하는 다른 디바이스와 같은 다수의 프로세서 코어들을 갖는 컴퓨터 시스템이다. 유사한 실시예들은, 예를 들어, 휴대용 음악 플레이어 또는 휴대용 비디오 플레이어, 스마트폰 또는 다른 셀룰러 폰, 전화, 디지털 비디오 카메라, 디지털 스틸 카메라, 외부 저장 디바이스 등과 같은 엔터테인먼트 디바이스들을 포함할 수 있다. 추가 실시예들은 대규모 서버 구성들을 구현한다. 다른 실시예들에서, 시스템(7000)은 하나의 코어 또는 하나보다 많은 프로세서를 갖는 단일 프로세서를 가질 수 있다. "프로세서"라는 용어는 단일 코어를 갖는 프로세서 또는 다수의 프로세서 코어를 갖는 프로세서 패키지를 지칭한다는 점에 유의한다. 적어도 하나의 실시예에서, 컴퓨팅 시스템(7000)은 본 명세서에 설명된 강화된 시스템, 클라이언트 디바이스들, 서버들, 에지 디바이스들, 또는 다른 컴퓨팅 디바이스들을 나타낸다. 보다 일반적으로, 컴퓨팅 시스템(7000)은 도 1 내지 도 69를 참조하여 본 명세서에 설명되는 모든 로직, 시스템들, 로직 흐름들, 방법들, 장치들, 및 기능을 구현하도록 구성된다.
본 출원에서 사용될 때, 용어 "시스템" 및 "컴포넌트" 및 "모듈"은, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 어느 하나인 컴퓨터-관련 엔티티를 지칭하기 위한 것이며, 그 예는 예시적 시스템(7000)에 의해 제공된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 하드 디스크 드라이브, (광 및/또는 자기 저장 매체의) 다수의 저장 드라이브, 객체, 실행 파일, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이에 제한되지 않는다. 예시로서, 서버 상에서 실행되는 애플리케이션 및 서버 양자 모두가 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터 상에 국재화되고/되거나 2개 이상의 컴퓨터 사이에 분산될 수 있다. 또한, 컴포넌트들은 동작들을 조정하기 위해 다양한 타입의 통신 매체에 의해 서로 통신가능하게 결합될 수 있다. 조정은 정보의 단방향 또는 양방향 교환을 수반할 수 있다. 예를 들어, 컴포넌트들은 통신 매체를 통해 통신되는 신호들의 형태로 정보를 통신할 수 있다. 정보는 다양한 신호 라인들에 할당된 신호들로서 구현될 수 있다. 이러한 할당에서, 각각의 메시지는 신호이다. 그러나, 추가 실시예들은 대안적으로 데이터 메시지들을 이용할 수 있다. 이러한 데이터 메시지들은 다양한 접속들을 통해 전송될 수 있다. 예시적 접속들은 병렬 인터페이스들, 직렬 인터페이스들, 및 버스 인터페이스들을 포함한다.
이 도면에 도시된 바와 같이, 시스템(7000)은 플랫폼 컴포넌트들을 장착하기 위한 마더보드(7005)를 포함한다. 마더보드(7005)는 UPI(Ultra Path Interconnect), IF(Infinity Fabric) 등과 같은 포인트-투-포인트 인터커넥트(7056)를 통해 결합된 제1 프로세서(7010) 및 제2 프로세서(7030)를 포함하는 포인트-투-포인트 인터커넥트 플랫폼이다. 다른 실시예들에서, 시스템(7000)은 멀티-드롭 버스와 같은 다른 버스 아키텍처일 수 있다. 또한, 프로세서들(7010 및 7030) 각각은 프로세서 코어(들)(7020 및 7040)를 각각 포함하는 다수의 프로세서 코어들을 갖는 프로세서 패키지들일 수 있다. 시스템(7000)은 2-소켓(2S) 플랫폼의 예이지만, 다른 실시예들은 2개보다 많은 소켓 또는 하나의 소켓을 포함할 수 있다. 예를 들어, 일부 실시예들은 4-소켓(4S) 플랫폼 또는 8-소켓(8S) 플랫폼을 포함할 수 있다. 각각의 소켓은 프로세서를 위한 마운트이고 소켓 식별자를 가질 수 있다. 플랫폼이라는 용어는 프로세서들(7010) 및 칩셋(7060)과 같은 특정 컴포넌트들이 장착된 마더보드를 지칭한다는 점에 유의한다. 일부 플랫폼들은 추가적인 컴포넌트들을 포함할 수 있고, 일부 플랫폼들은 프로세서들 및/또는 칩셋을 탑재하기 위한 소켓들을 포함할 수 있다.
프로세서들(7010, 7020)은 Intel® Celeron®, Core®, Core(2) Duo®, Itanium®, Pentium®, Xeon®, 및 XScale® 프로세서들(이들로 제한되지 않음); AMD® Athlon®, Duron® 및 Opteron® 프로세서들; ARM® 애플리케이션, 임베디드 및 보안 프로세서들; IBM® 및 Motorola® DragonBall® 및 PowerPC® 프로세서들; IBM 및 Sony® 셀 프로세서들; 및 유사한 프로세서들을 비롯한 다양한 상업적으로 이용가능한 프로세서들 중 임의의 것일 수 있다. 듀얼 마이크로프로세서들, 멀티-코어 프로세서들, 및 다른 멀티 프로세서 아키텍처들이 또한 프로세서들(7010, 7020)로서 이용될 수 있다. 일반적으로, 프로세서(7010 및/또는 7020)는, 예를 들어, 도 1 내지 도 68에 관련하여 예시되고 설명된 회로 등의, 여기서 설명된 임의의 회로에 대응할 수 있다.
제1 프로세서(7010)는 IMC(integrated memory controller)(7014) 및 P-P(point-to-point) 인터페이스들(7018 및 7052)을 포함한다. 유사하게, 제2 프로세서(7030)는 IMC(7034) 및 P-P 인터페이스들(7038 및 7054)을 포함한다. IMC들(7014 및 7034)은 프로세서들(7010 및 7030)을, 각각, 각각의 메모리들, 메모리(7012) 및 메모리(7032)에 결합시킨다. 일반적으로, 프로세서들(7010 및/또는 7020)은, 예를 들어, 도 1 내지 도 68과 관련하여 예시되고 설명된 메모리와 같은, 본 명세서에서 설명된 메모리들 중 임의의 것에 대응할 수 있다. 메모리들(7012 및 7032)은 더블 데이터 레이트 타입 3(DDR3) 또는 타입 4(DDR4) 동기식 DRAM(SDRAM)과 같은 플랫폼에 대한 메인 메모리(예를 들어, 동적 랜덤 액세스 메모리(DRAM))의 부분들일 수 있다. 본 실시예에서, 메모리들(7012 및 7032)은 각각의 프로세서들(7010 및 7030)에 로컬로 부착된다. 다른 실시예들에서, 메인 메모리는 버스 및 공유 메모리 허브를 통해 프로세서들과 결합될 수 있다.
프로세서들(7010 및 7030)은 프로세서 코어(들)(7020 및 7040) 각각과 각각 결합된 캐시들을 포함한다. 본 실시예에서, 프로세서(7010)의 프로세서 코어(들)(7020) 및 프로세서(7030)의 프로세서 코어(들)(7040)는 앞서 설명한 회로(예를 들어, 도 1 내지 도 69를 참조하여 설명된 회로 N10)를 포함한다. 즉, 기능성은 또한 프로세서(7010) 내의 회로로서 전체적으로 또는 부분적으로 상주할 수 있고, 예를 들어, 프로세서들(7010, 7030) 내의 레지스터들(7016)과 같은 레지스터들 또는 버퍼들 내에서, 또는 프로세서들(7010, 7030)의 명령어 파이프라인 내에서 동작들을 수행할 수 있다.
프로세서 코어(들)(7020 및 7040)는 프로세서 내의 회로와, 캐시, 메모리(7012), 버퍼들, 레지스터들, 및/또는 이와 유사한 것과 같은 메모리에 앞서 설명한 회로, 로직, 또는 기법들의 기능의 전부 또는 일부를 저장하는 매체의 조합을 나타낼 수 있다. 몇몇 실시예들에서, 그 기능성은 칩셋(7060)을 통해 프로세서들(7010, 7030)에 부착된 저장 매체(700)와 같은 메모리 내의 코드로서 전체적으로 또는 부분적으로 상주한다. 추가적으로, 기능성은 메모리(7012 및/또는 7032)(예를 들어, 도 1 내지 도 69를 참조하여 설명된 메모리(N20))와 같은 메모리에 전체적으로 또는 부분적으로 상주할 수도 있다.
설명한 바와 같이, 프로세서들(7010 및 7030) 중 둘 이상은 인터페이스(I/F)(7066)를 통해 칩셋(7060)과 결합된 하드웨어(예를 들어, 가속기 등)로 설명된 기능성을 포함할 수 있다. I/F(7066)는, 예를 들어, PCI-e(Peripheral Component Interconnect-enhanced)일 수 있다.
제1 프로세서(7010)는 P-P 인터커넥트들(7052 및 7062)을 통해 칩셋(7060)에 결합되고 제2 프로세서(7030)는 P-P 인터커넥트들(7054 및 7064)을 통해 칩셋(7060)에 결합된다. DMI들(Direct Media Interfaces)(7057 및 7058)은 P-P 인터커넥트들(7052 및 7062) 및 P-P 인터커넥트들(7054 및 7064)을 각각 연결할 수 있다. DMI는 예를 들어 DMI 3.0과 같은 초당 8 기가 전송(GT/s)을 용이하게 하는 고속 인터커넥트일 수 있다. 다른 실시예들에서, 프로세서들(7010 및 7030)은 버스를 통해 인터커넥트될 수 있다.
칩셋(7060)은 플랫폼 제어기 허브(PCH)와 같은 제어기 허브를 포함할 수 있다. 칩셋(7060)은 클로킹 기능들을 수행하는 시스템 클록을 포함할 수 있고, 플랫폼 상의 주변 디바이스들의 접속을 용이하게 하기 위해, USB(universal serial bus), PCI(peripheral component interconnect), SPI(serial peripheral interconnect), I2C(integrated interconnect) 등과 같은 I/O 버스를 위한 인터페이스들을 포함할 수 있다. 다른 실시예들에서, 칩셋(8060)은 메모리 제어기 허브, 그래픽 제어기 허브, 및 입력/출력(I/O) 제어기 허브를 갖는 칩셋과 같은 하나보다 많은 제어기 허브를 포함할 수 있다.
본 실시예에서, 칩셋(7060)은 인터페이스(I/F)(7070)를 통해 신뢰 플랫폼 모듈(TPM)(7072) 및 UEFI, BIOS, 플래시 컴포넌트(7074)와 결합된다. TPM(7072)은 암호 키들을 디바이스들에 통합함으로써 하드웨어를 보안화하도록 설계된 전용 마이크로컨트롤러이다. UEFI, BIOS, 플래시 컴포넌트(7074)는 사전 부팅 코드를 제공할 수 있다.
또한, 칩셋(7060)은 칩셋(7060)을 고성능 그래픽 엔진인 그래픽 카드(7065)와 결합하는 I/F(7066)를 포함한다. 다른 실시예들에서, 시스템(7000)은 프로세서들(7010, 7030)과 칩셋(7060) 사이에 플렉시블 디스플레이 인터페이스(FDI)를 포함할 수 있다. FDI는 프로세서 내의 그래픽 프로세서 코어를 칩셋(7060)과 인터커넥트한다.
버스(7081)를 제2 버스(7091)에 결합하는 버스 브리지(7080) 및 버스(7081)를 칩셋(7060)과 접속하는 I/F(7068)와 함께, 다양한 I/O 디바이스들(7092)이 버스(7081)에 결합된다. 일 실시예에서, 제2 버스(7091)는 LPC(low pin count) 버스일 수 있다. 예를 들어, 키보드(7082), 마우스(7084), 통신 디바이스들(7086), 및 본 명세서에서 이전에 설명된 바와 같은 컴퓨터 실행가능 코드를 저장할 수 있는 저장 매체(6900)를 포함하는 다양한 디바이스들이 제2 버스(7091)에 결합될 수 있다. 또한, 오디오 I/O(7090)가 제2 버스(7091)에 연결될 수 있다. I/O 디바이스들(7092), 통신 디바이스들(7086), 및 저장 매체(6900) 중 다수는 마더보드(7005) 상에 상주할 수 있는 반면, 키보드(7082) 및 마우스(7084)는 애드-온 주변기기들일 수 있다. 다른 실시예들에서, I/O 디바이스들(7092), 통신 디바이스들(7086), 및 저장 매체(6900)의 일부 또는 전부는 애드-온 주변기기들이고 마더보드(7005) 상에 상주하지 않는다. 일반적으로, 오디오 디바이스(7090) 및/또는 I/O 디바이스(7092)는, 예를 들어, 도 1 내지 도 68에 관련하여 예시되고 설명된 입력 디바이스, 출력 디바이스(또는 이와 유사한 것) 등의, 여기서 설명된 입력 및/또는 출력 디바이스들 중 임의의 것에 대응할 수 있다.
도 71은 시스템(7100)을 예시한다. 시스템(7100)은, 예를 들어, 추론 모델들을 훈련하고, 추론 모델들로부터 출력을 생성하는 것 등과 같은, 본 명세서에 설명된 바와 같은 다양한 작업부하들을 처리하도록 구현될 수 있는 컴퓨터 시스템이다. 이 도면의 처리 리소스들은 앞서 설명한 강화된 시스템들, 추론 환경들 등 중 임의의 것에 의해 사용될 수 있다. 시스템(7100)은 에지 디바이스들(7110), 데이터센터 또는 클라우드 서비스들(7120), 노드들(7130), 및 네트워크(7140)를 포함한다.
노드들(7130)은 처리 리소스들 및/또는 입력 리소스들을 갖는 시스템(7100)의 임의의 컴포넌트 또는 디바이스를 포함할 수 있다. 이들 컴포넌트들은 앞서 설명된 것들(예를 들어, 시스템(100), 시스템(7000) 등)과 유사한 특징들을 포함할 수 있다. 예를 들어, 노드들(7130)은 추론 모델 작업부하들(예를 들어, 데이터 센터 내의 기계 학습 가속기들)을 처리하도록 배열된 처리 리소스들로 구현된 데이터센터들 및/또는 클라우드 서비스들(7120), 처리 리소스들로 구현된 에지 디바이스들(7110)(예를 들어, 최종 사용자 디바이스들(7112), 사물 인터넷(IoT) 디바이스들(7114), 게이트웨이들(7116)) 등을 포함할 수 있다. 다른 예로서, 노드들(7130)은 추론 모델들에 대한 입력을 생성하도록 배열된 컴포넌트들(예를 들어, 카메라, 센서 등)로 구현된 에지 디바이스들(7110)을 포함할 수 있다. 시스템(7100)의 이러한 다양한 컴포넌트들이 아래에 더 설명된다.
에지 디바이스들(7110)은 통신 시스템(예를 들어, 시스템(7100), 네트워크(7140) 등)의 "에지" 근방에 배치되거나 연결된 임의의 장비 및/또는 디바이스들을 포함할 수 있다. 에지 디바이스(7110)는, 네트워크(7140) 같은 하나 이상의 네트워크 및/또는 통신 프로토콜을 통해 서로 및/또는 다른 원격 네트워크 및 서비스(예를 들어, 데이터센터 및/또는 클라우드 서비스(7120))와 통신할 수 있다. 일부 실시예들에서, 특정 에지 디바이스들(7110)은 본 개시내용 전반에 걸쳐 설명된 처리 리소스들을 포함할 수 있고, 따라서 노드들(7130)로서 사용될 수 있다. 예시된 실시예에서, 에지 디바이스들(7110)은, 디바이스들 중에서도 특히, 최종 사용자 디바이스들(7112)(예를 들어, 데스크톱들, 랩톱들, 모바일 디바이스들), IoT 디바이스들(7114), 및 게이트웨이들, 라우터들, 스위치들, 및/또는 허브들(7116)을 포함한다.
최종 사용자 디바이스들(7112)은, 예들 중에서도 특히, 예를 들어, 데스크톱 컴퓨터들, 랩톱들, 태블릿들, 모바일 폰들 및 다른 모바일 디바이스들, 그리고 웨어러블 디바이스들(예를 들어, 스마트 시계들, 스마트 안경들, 헤드셋들)을 비롯한, 컴퓨팅 시스템(7100)과의 사용자 상호작용을 가능하게 하거나 용이하게 하는 임의의 디바이스를 포함할 수 있다.
IoT 디바이스들(7114)은 IoT 시스템 또는 네트워크와 통신할 수 있고 그리고/또는 그에 참여할 수 있는 임의의 디바이스를 포함할 수 있다. IoT 시스템들은 특정 애플리케이션 또는 사용 사례에 대해 연동하는 다수의 상이한 디바이스들(예를 들어, IoT 디바이스들(7114))로 이루어진 새로운 또는 개선된 애드혹 시스템들 및 네트워크들을 지칭할 수 있다. 이러한 애드혹 시스템들은 점점 더 많은 제품들 및 장비가 진화하여 "스마트"해짐에 따라 등장하고 있으며, 이는 이들이 컴퓨터 프로세서들에 의해 제어 또는 모니터링되고, 다른 디바이스들과 통신할 수 있다는 것을 의미한다. 예를 들어, IoT 디바이스(7114)는, 데이터센터 및/또는 클라우드 서비스들(7120) 및/또는 다른 에지 디바이스들(7110)과 같은, 시스템(7100)의 다른 컴포넌트들과의 연동을 가능하게 해주기 위해 컴퓨터 프로세서 및/또는 통신 인터페이스를 포함할 수 있다. IoT 디바이스들(7114)은 근본적으로 IoT 능력들을 갖고 개발되는 "그린필드" 디바이스들, 또는 IoT 능력들을 IoT 능력들 없이 초기에 개발된 기존의 레거시 디바이스들에 통합함으로써 생성되는 "브라운필드" 디바이스들일 수 있다. 예를 들어, 일부 경우에, IoT 디바이스(7114)는, 장비, 장난감, 도구, 차량, 생물(예를 들어, 식물, 동물, 인간) 등의 "사물"에 통합되거나 부착된 센서 및 통신 모듈로부터 구축될 수 있다. 대안적으로 또는 추가적으로, 특정 IoT 디바이스들(7114)은 시스템(7100)의 다양한 컴포넌트들과 통신하기 위해, 에지 게이트웨이들 또는 라우터들(7116)과 같은, 중간 컴포넌트들에 의존할 수 있다.
IoT 디바이스들(7114)은 그들의 환경의 특성들과 연관된 센서 데이터 및 신호들을 모니터링, 검출, 측정, 및 생성하기 위한 다양한 타입들의 센서들을 포함할 수 있다. 예를 들어, 주어진 센서는, 예들 중에서도 특히, 모션, 무게, 물리적 접촉, 온도, 바람, 잡음, 광, 위치, 습도, 방사선, 액체, 특정 화학 화합물, 배터리 수명, 무선 신호, 컴퓨터 통신, 및 대역폭과 같은, 하나 이상의 각각의 특성을 검출하도록 구성될 수 있다. 센서들은 물리적 센서들(예를 들어, 물리적 모니터링 컴포넌트들) 및 가상 센서들(예를 들어, 소프트웨어 기반 모니터링 컴포넌트들)을 포함할 수 있다. IoT 디바이스들(7114)은 또한 그 각각의 환경들에서 다양한 액션들을 수행하기 위한 액추에이터들을 포함할 수 있다. 예를 들어, 액추에이터는, 다른 예들 중에서도, 보안 시스템(예를 들어, 알람, 카메라, 자물쇠들) 또는 가정용 기기(예를 들어, 오디오 시스템, 조명, HVAC 기기들, 차고 도어들)의 전력 또는 동작을 토글링하는 것과 같은 특정 기능성을 선택적으로 활성화시키기 위해 사용될 수 있다.
실제로, 본 개시내용은 IoT 디바이스들(7114) 및 연관된 센서들/액추에이터들의 잠재적으로 무한한 유니버스의 사용을 고려한다. IoT 디바이스들(7114)은, 예를 들어, 무엇보다도, 운송(예를 들어, 자동차, 항공사), 산업 제조, 에너지(예를 들어, 발전소), 통신(예를 들어, 인터넷, 셀룰러, 및 텔레비전 서비스 제공자), 의료(예를 들어, 헬스케어, 의약품), 식품 처리, 및/또는 소매 산업을 비롯한, 임의의 타입의 시스템(7100) 및/또는 산업과 연관된 임의의 타입의 장비 및/또는 디바이스들을 포함할 수 있다. 운송 산업에서, 예를 들어, IoT 디바이스들(7114)은, 내비게이션 시스템들, 자율 비행 또는 주행 시스템들, 트래픽 센서들 및 제어기들, 및/또는 센서들(예를 들어, 엔진들)에 의해 모니터링되는 임의의 내부 기계적 또는 전기적 컴포넌트들과 같은, 항공기들, 자동차들, 또는 선박들과 연관된 장비 및 디바이스들을 포함할 수 있다. IoT 디바이스들(7114)은 또한, 예들 중에서도 특히, 산업 제조 및 생산, 선적(예를 들어, 화물 추적), 통신 네트워크들(예를 들어, 게이트웨이들, 라우터들, 서버들, 셀룰러 타워들), 서버 팜들, 발전소들, 풍력 발전소들, 오일 및 가스 파이프라인들, 물 처리 및 분배, 폐수 수집 및 처리, 그리고 기상 모니터링(예를 들어, 온도, 바람, 및 습도 센서들)과 연관된 장비, 디바이스들, 및/또는 인프라구조를 포함할 수 있다. IoT 디바이스들(7114)은 또한, 예들 중에서도 특히, 예를 들어, 스마트 엔터테인먼트 시스템들(예를 들어, 텔레비전들, 오디오 시스템들, 비디오게임 시스템들), 스마트 가정용 또는 사무실 기기들(예를 들어, HVAC(heat-ventilation-air-conditioning) 기기들, 냉장고들, 세탁기들 및 건조기들, 커피 브루어들), 전력 제어 시스템들(예를 들어, 자동 전기, 조명, 및 HVAC 컨트롤들), 보안 시스템들(예를 들어, 경보기들, 자물쇠들, 카메라들, 모션 검출기들, 지문 스캐너들, 얼굴 인식 시스템들), 및 다른 홈 오토메이션 시스템들과 같은, 임의의 타입의 "스마트" 디바이스 또는 시스템을 포함할 수 있다. IoT 디바이스들(7114)은, 건물, 벽, 바닥, 지면, 가로등 기둥, 표지판, 물 타워, 또는 임의의 다른 고정 또는 정적 구조 상에 장착되는 것과 같이, 정적으로 위치될 수 있다. IoT 디바이스들(7114)은 또한, 예들 중에서도 특히, 차량들 또는 항공기들 내의 디바이스들, 드론들, (예를 들어, 화물을 추적하기 위한) 패키지들, 모바일 디바이스들, 및 웨어러블 디바이스들과 같은, 모바일일 수 있다. 또한, IoT 디바이스(7114)는 또한 최종 사용자 디바이스들(7112) 및 에지 게이트웨이들 및 라우터들(7116)을 포함한, 임의의 타입의 에지 디바이스(7110)일 수 있다.
에지 게이트웨이들 및/또는 라우터들(7116)은 노드들(7130)로서 프로비저닝될 수 있다. 추가적으로, 에지 게이트웨이들 및/또는 라우터들(7116)은 에지 디바이스들(7110)로의 그리고 그로부터의 통신을 용이하게 하는 데 사용될 수 있다. 예를 들어, 게이트웨이들(7116)은 임의의 이러한 능력들 없이 초기에 개발된 기존의 레거시 디바이스들(예를 들어, "브라운필드" IoT 디바이스들)에 통신 능력들을 제공할 수 있다. 게이트웨이들(7116)은 또한, 블루투스 또는 ZigBee 통신 능력들을 갖는 IoT 디바이스들(7114)과 같은, 단거리, 독점적, 또는 다른 방식으로 제한된 통신 능력들을 갖는 에지 디바이스들(7110)의 지리적 도달 범위를 확장시키는 데 이용될 수 있다. 예를 들어, 게이트웨이들(7116)은, IoT 디바이스들(7114)에 그들의 네이티브 통신 능력들(예를 들어, 블루투스, ZigBee)을 사용하여 프론트홀을 제공하는 것, 및 다른 유선 또는 무선 통신 매체(예를 들어, 이더넷, Wi-Fi, 셀룰러)를 사용하여 다른 네트워크들(7140) 및/또는 데이터센터 및/또는 클라우드 서비스들(7120)에 백홀을 제공하는 것에 의해, IoT 디바이스들(7114)과 원격 네트워크들 또는 서비스들 사이의 중개자들로서 역할할 수 있다. 일부 실시예들에서, 게이트웨이(7116)는 전용 게이트웨이 디바이스에 의해, 또는, 다른 IoT 디바이스(7114), 최종 사용자 디바이스(7112), 또는 다른 타입의 에지 디바이스(7110)와 같은, 범용 디바이스에 의해 구현될 수 있다.
일부 경우들에서, 게이트웨이들(7116)은 또한, 데이터센터 및/또는 클라우드 서비스들(7120) 및/또는 다른 에지 디바이스들(7110)과 같은, 다른 컴포넌트들과 별개로 또는 그와 함께, 특정 네트워크 관리 및/또는 애플리케이션 기능(예를 들어, IoT 디바이스들(7114)에 대한 IoT 관리 및/또는 IoT 애플리케이션 기능)을 구현할 수 있다. 예를 들어, 일부 실시예들에서, 구성 파라미터들 및/또는 애플리케이션 로직이 게이트웨이 디바이스(7116)로 푸시되거나 그로부터 풀링될 수 있어, 게이트웨이(7116)의 범위 또는 근접성 내의 IoT 디바이스들(7114)(또는 다른 에지 디바이스들(7110))이 특정의 IoT 애플리케이션 또는 사용 사례를 위해 구성될 수 있게 한다.
데이터센터 및/또는 클라우드 서비스들(120)은 네트워크(7140)를 통해 또는 "클라우드"에서 원격으로(예를 들어, 데이터센터, 다수의 데이터센터 등에서) 호스팅되는 서비스들을 포함할 수 있다. 일부 실시예에서, 예를 들어, 데이터센터 및/또는 클라우드 서비스(7120)는 데이터센터 내의 서버(예를 들어, 애플리케이션 서버, 데이터베이스 서버, 가속기를 갖춘 서버 등) 상에서 원격으로 호스팅될 수 있다. 데이터센터 및/또는 클라우드 서비스들(7120)은, 예들 중에서도 특히, 데이터 저장, 계산 서비스들(예를 들어, 데이터 분석, 검색, 진단 및 결함 관리), 보안 서비스들(예를 들어, 감시, 경보, 사용자 인증), 매핑 및 내비게이션, 지오로케이션 서비스들, 네트워크 또는 인프라구조 관리, IoT 애플리케이션 및 관리 서비스들, 지불 처리, 오디오 및 비디오 스트리밍, 메시징, 소셜 네트워킹, 뉴스, 및 날씨를 포함하지만 이들로 제한되지 않는, 에지 디바이스들(7110)에 의해 또는 에지 디바이스들(7110)에 대해 이용될 수 있는 임의의 서비스들을 포함할 수 있다. 일부 실시예들에서, 특정 데이터센터 및/또는 클라우드 서비스들(7120)은 본 개시내용 전반에 걸쳐 설명된 행렬 처리 기능성을 포함할 수 있고, 따라서 노드들(7130)로서 사용될 수 있다.
네트워크(7140)는 컴퓨팅 시스템(7100)의 컴포넌트들 사이의 통신을 용이하게 하는 데 사용될 수 있다. 예를 들어, 최종 사용자 디바이스들(7112) 및 IoT 디바이스들(7114)과 같은, 에지 디바이스들(7110)은 서로 통신하고 그리고/또는 하나 이상의 원격 서비스(예를 들어, 데이터센터 및/또는 클라우드 서비스(7120))에 액세스하기 위해 네트워크(7140)를 사용할 수 있다. 네트워크(7140)는, 예를 들어, 근거리 네트워크, 광역 네트워크, 공중 네트워크, 인터넷, 셀룰러 네트워크, Wi-Fi 네트워크, 단거리 네트워크(예를 들어, 블루투스 또는 ZigBee), 및/또는 임의의 다른 유선 또는 무선 네트워크 또는 통신 매체를 비롯한 임의의 수 또는 타입의 통신 네트워크를 포함할 수 있다.
시스템(7100)의 컴퓨팅 디바이스들 중 임의의 것, 전부, 또는 일부는, 특정 운영 체제의 실행을 가상화하도록 적응된 가상 기계들과 함께, Linux 또는 다른 UNIX 기반 운영 체제들, Microsoft Windows, Windows Server, MacOS, Apple iOS, Google 안드로이드, 또는 임의의 커스터마이즈된 및/또는 독점적 운영 체제를 비롯한, 임의의 운영 체제를 실행하도록 적응될 수 있다.
도 71이 복수의 요소들을 포함하거나 그와 연관되어 있는 것으로 설명되어 있지만, 도 71의 시스템(7100) 내에 도시된 요소들 전부가 본 개시내용의 각각의 대안의 구현에서 이용될 수 있는 것은 아니다. 추가적으로, 도 71의 예들과 관련하여 설명된 요소들 중 하나 이상이 시스템(7100)의 외부에 위치될 수 있는 반면, 다른 경우들에서, 특정 요소들이 다른 설명된 요소들은 물론, 도시된 구현에서 설명되지 않은 다른 요소들 중 하나 이상 내에 또는 그의 일부로서 포함될 수 있다. 또한, 도 71에 도시된 특정 요소들은 다른 컴포넌트들과 조합될 수 있을 뿐만 아니라, 본 명세서에 설명된 목적들에 더하여 대안적인 또는 추가적인 목적들을 위해 사용될 수 있다.
도 72는 데이터센터 네트워크(7210)를 통해 인터커넥트된 노드들을 포함하는 시스템(7200)을 예시한다. 예를 들어, 도시된 바와 같이, 다수의 노드(7202, 7204, 7206)가 데이터센터 네트워크(7210)를 통해 결합될 수 있다. 이러한 노드들은 인스턴스화되고 추론 모델(예를 들어, 신경망 등)의 다수의 층을 병렬화하는 데 사용될 수 있다. 일 예에서, 각각의 노드는 서버로서 구현될 수 있고, 적어도 하나의 하드웨어 노드, 또는 회로(예를 들어, FPGA, ASIC, 프로세서 등)를 추가로 포함할 수 있다. 따라서, 노드(7202)는 회로(7222)를 포함할 수 있고, 노드(7204)는 회로(7224)를 포함할 수 있고, 노드(7206)는 회로(7226)를 포함할 수 있다.
회로는 광 전송 층 프로토콜 기반 시스템을 통해 인터커넥트될 수 있다. 일 예에서, 회로(7222)의 제1 인스턴스는 전송 링크(132)를 통해 회로(7224)의 제1 인스턴스와 결합될 수 있고 회로(7222)의 제1 인스턴스는 전송 링크(7234)를 통해 회로(7224)의 제2 인스턴스와 추가로 결합될 수 있다. 회로(7224)의 제1 인스턴스는 전송 링크(7236)를 통해 회로(7226)의 제1 인스턴스와 결합될 수 있고 회로(7224)의 제1 인스턴스는 전송 링크(7240)를 통해 회로(7226)의 제1 인스턴스와 추가로 결합될 수 있다. 유사하게, 회로(7224)의 제2 인스턴스는 전송 링크(7242)를 통해 회로(7226)의 제1 인스턴스와 결합될 수 있고 회로(7224)의 제2 인스턴스는 전송 링크(7238)를 통해 회로(7226)의 제2 인스턴스와 추가로 결합될 수 있다. 광 전송 층 프로토콜은 패킷들 또는 다른 이러한 데이터를 데이터센터 네트워크(7210)를 통해 서로 전송하거나 수신하는 능력을 회로에 제공할 수 있다. 회로는 다른 구성들로도 인터커넥트될 수 있다. 예를 들어, 회로(7222)의 몇몇 인스턴스들은 다수의 전송 링크들(7252)을 통해 회로(7224)의 몇몇 인스턴스들에 결합될 수 있다. 유사하게, 회로(7224)의 몇몇 인스턴스들은 전송 링크들(7254)을 통해 회로(7226)의 몇몇 인스턴스들에 결합될 수 있다. 도 72는 회로를 포함하는 소정 수 및 배열의 노드들을 예시하지만, 더 많거나 더 적은 수의 노드가 상이하게 배열될 수 있다.
도 73은, 데이터센터(예를 들어, 데이터센터(7120)) 내의 서버들(예를 들어, 시스템(7000), 시스템(100) 등)의 랙으로서 구현될 수 있는 분산형 노드들을 포함하는 시스템(7300)을 예시한다. 이 도면은 특정 방식으로 배열된 시스템의 특정 수의 컴포넌트들을 예시하지만, 상이하게 배열된 더 많거나 더 적은 수의 컴포넌트들이 있을 수 있다.
서버들 각각은 TOR(top-of-rack) 스위치에 결합될 수 있다. 다른 랙들은, 예시되지는 않았지만, 유사한 구성을 가질 수 있다. 각각의 서버는 적어도 하나의 노드 또는 다수의 노드를 포함할 수 있다. 각각의 노드는 서버(예를 들어, 서버(7304), 서버(7306), 또는 서버(7308))를 포함할 수 있고, 각각의 서버는 TOR 스위치(예를 들어, TOR 스위치(7310))에 결합될 수 있다. 서버(7304)는, 로컬 링크(7320)를 통해 하드웨어 노드, 예컨대, 회로(7318)에 결합될 수 있는, 프로세서(7314) 및 프로세서(7316)와 같은, 프로세서들을 포함하는 호스트 컴포넌트를 포함할 수 있다. 각각의 하드웨어 노드는 또한(예를 들어, 데이터센터에 대한 네트워크 인프라구조에 걸쳐 통신하기 위해 사용되는) 네트워크 인터페이스 제어기(7322)에 의해 결합될 수 있다. 시스템(7300)은 노드들이 TOR 스위치 또는 다른 스위치들로부터 수신되는 (및/또는 이에 전송되는) 추론 작업부하들에 대한 처리를 수행할 수 있게 할 수 있다. 이 예시적 시스템을 사용하여, 개별 노드들은 앞서 설명한 바와 같이 추론 모델들을 훈련하고 및/또는 추론 모델들로부터 추론을 생성하는데 사용될 수 있다. 예를 들어, 추론 모델 작업부하들의 처리는 시스템(7300) 내의 다양한 처리 리소스들(예를 들어, 프로세서들, 회로 등)에 걸쳐 파티셔닝될 수 있다.
다수의 노드들에 걸친 층들의 분할 또는 다수의 노드들에 걸친 층 내의 신경 가중치들의 분할에 의한 추론 모델(예를 들어, 신경망 등)의 병렬화. 예로서, 단일 추론 모델(예를 들어, RNN, LSTM 가중치 행렬들 등)은 다수의 노드에 걸쳐 파티셔닝되고 피닝될(pinned) 수 있다. 이 예의 구현에서, RNN 모델은 다수의 회로 각각의 메모리들(예를 들어, 온-칩 메모리)에 걸쳐 분산될 수 있다.
일부 예들은 "일 예에서" 또는 "예"라는 표현을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이 용어들은 예와 관련하여 설명된 특정 특징, 구조, 또는 특성이 적어도 하나의 예에 포함된다는 것을 의미한다. 본 명세서의 여러 곳에서 나오는 "일 예에서"라는 문구 모두가 꼭 동일한 예를 말하는 것은 아니다.
일부 예들은 "결합된" 및 "연결된"이라는 표현을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이들 용어들은 반드시 서로 동의어로서 의도된 것은 아니다. 예를 들어, 용어 "연결된" 및/또는 "결합된"을 사용한 설명은, 2개 이상의 요소가 서로 직접 물리적으로 또는 전기적으로 접촉한다는 것을 나타낼 수 있다. 그러나, 용어 "결합된"은 또한 2개 이상의 요소가 서로 직접 접촉하지 않지만, 여전히 서로 협력하거나 상호작용하는 것을 의미할 수 있다.
또한, 앞서 설명한 상세한 설명에서, 다양한 특징들은 본 개시내용을 간소화하기 위해 단일 예에서 함께 그룹화된다. 이러한 개시 방법은 청구된 예들이 각각의 청구항에 명시적으로 기재된 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로서 해석되지 않아야 한다. 오히려, 이하의 청구항들이 반영하는 바와 같이, 단일의 개시된 예의 모든 특징들보다 적은 특징들에 본 발명의 요지가 있다. 따라서, 이하의 청구항들은 이로써 상세한 설명에 포함되며, 각각의 청구항은 개별 예로서 독립적이다. 첨부된 청구항들에서, "포함하는(including)" 및 "여기서(in which)"라는 용어들은 각각 "포함하는(comprising)" 및 "여기서(wherein)"라는 각각의 용어들의 평이한 영어 등가물들로서 사용된다. 또한, 용어들 "제1", "제2", "제3" 등은 단지 라벨로서 사용되고, 그들의 대상들에 수치적 요건들을 부여하는 것을 의도하지 않는다.
발명 요지가 구조적 특징들 및/또는 방법론적 동작들과 관련하여 설명되어 있지만, 첨부된 청구항들에 정의된 발명 요지가 꼭 앞서 설명한 특정의 특징들 또는 동작들로 제한되는 것은 아니라는 것을 이해하여야 한다. 오히려, 앞서 설명한 특정 특징들 및 동작들은 청구항들을 구현하는 예시적 형태들로서 개시된다.
일부 실시예들은 "일 실시예" 또는 "실시예"라는 표현을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이러한 용어들은 실시예와 관련하여 설명되는 특정 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 여러 곳에서 나오는 "일 실시예에서"라는 문구 모두가 꼭 동일한 실시예를 말하는 것은 아니다. 또한, 일부 실시예들은 "결합된" 및 "연결된"이라는 표현을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이들 용어들은 반드시 서로 동의어로서 의도된 것은 아니다. 예를 들어, 일부 실시예들은 2개 이상의 요소들이 서로 직접 물리적으로 또는 전기적으로 접촉하는 것을 나타내기 위해 "연결된" 및/또는 "결합된"이라는 용어들을 사용하여 설명될 수 있다. 그러나, 용어 "결합된"은 또한 2개 이상의 요소가 서로 직접 접촉하지는 않지만, 여전히 서로 협력하거나 상호작용하는 것을 의미할 수 있다. 또한, 상이한 실시예들로부터의 양태들 또는 요소들이 조합될 수 있다.
본 개시내용의 요약서는 독자가 기술적 개시내용의 본질을 신속하게 확인할 수 있게 하기 위해 제공된다는 점이 강조된다. 이는 청구항들의 범위 또는 의미를 해석하거나 제한하기 위해 사용되지 않을 것이라는 이해 하에 제출된다. 또한, 앞서 설명한 상세한 설명에서, 본 개시내용을 간소화할 목적으로 다양한 특징들이 단일 실시예에서 함께 그룹화되는 것을 알 수 있다. 이러한 개시 방법은 청구되는 실시예들이 각각의 청구항에 명시적으로 기재된 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로서 해석되지 않아야 한다. 오히려, 이하의 청구항들이 반영하는 바와 같이, 단일의 개시된 실시예의 모든 특징들보다 적은 특징들에 본 발명의 요지가 있다. 따라서, 이하의 청구항들은 이로써 상세한 설명에 포함되며, 각각의 청구항은 개별 실시예로서 자립적이다. 첨부된 청구항들에서, "포함하는(including)" 및 "여기서(in which)"라는 용어들은 각각 "포함하는(comprising)" 및 "여기서(wherein)"라는 각각의 용어들의 평이한 영어 등가물들로서 사용된다. 또한, 용어들 "제1", "제2", "제3" 등은 단지 라벨로서 사용되고, 그들의 대상들에 수치적 요건들을 부여하는 것을 의도하지 않는다.
앞서 설명한 것은 개시된 아키텍처의 예들을 포함한다. 물론, 컴포넌트들 및/또는 방법론의 모든 상상 가능한 조합을 설명하는 것은 가능하지 않지만, 본 기술분야의 통상의 기술자는 많은 추가 조합들 및 치환들이 가능하다는 것을 인식할 수 있다. 따라서, 새로운 아키텍처는 첨부된 청구항들의 사상 및 범위 내에 속하는 모든 이러한 변경들, 수정들 및 변형들을 포함하는 것을 의도한다. 상세한 개시내용은 이제 추가 실시예들에 관련한 예들을 제공하는 것으로 돌아간다. 아래에 제공된 예들은 제한을 의도하지는 않는다.
예 1. 장치로서, 회로; 및 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하고; 생성된 출력에 대한 추론 확률을 결정하고; 추론 확률이 임계값보다 더 큰지를 결정하고; 추론 확률이 임계값보다 더 크지 않다는 결정에 기초하여 널 출력을 제공하게 한다.
예 2. 장치로서, 회로; 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 입력 데이터를 수신하고; 추론 모델을 통해, 수신된 입력 데이터에 기초하여 출력을 생성하고; 입력 데이터 및 출력 데이터에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않았다는 표시를 제공하게 한다.
예 3. 장치로서, 회로; 회로에 결합된 인터페이스- 인터페이스는 네트워크에 결합됨 -; 및 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 인터페이스를 통해, 네트워크에 결합된 서버로부터 무결화 페이로드를 수신하고- 무결화 페이로드는 무결화 프로토콜의 표시들을 포함함 -; 입력 데이터에 무결화 프로토콜을 적용하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하고; 인터페이스 및 네트워크를 통해 서버에 무결화된 입력 데이터를 전송하게 한다.
예 4. 장치로서, 회로; 및 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고- 출력 데이터는 가시 클래스 또는 은닉 클래스 중 하나에 대한 표시를 포함함 -; 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하고; 출력 데이터가 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 생성된 출력을 출력 소비자에게 제공하게 한다.
예 5. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 키에 부분적으로 기초하여 입력 데이터를 난독화하고; 난독화된 입력 데이터를 사용하여 출력 데이터를 생성하기 위해 추론 모델을 실행하게 한다.
예 6. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, (1) 추론의 표시를 포함하는 출력 데이터 및 (2) 추론 증강 맵을 생성하기 위해 입력 데이터를 사용하여 추론 모델을 실행하고; 입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성하고; 입력 영역 영향 맵에 적어도 기초하여 신뢰성 점수- 신뢰성 점수는 추론의 신뢰성의 표시를 포함함-를 생성하게 한다.
예 7. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택하고; 입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류하게 한다.
예 8. 장치로서, 회로; 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고; 출력 데이터를 필터링하여 스크리닝된 출력 데이터를 생성하게 한다.
예 9. 장치로서, 회로; 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 제1 서버의 능력들을 결정하기 위해 제1 서버에 질의하고; 제1 서버의 능력들에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하고; 복수의 모델 슬라이스 중 하나의 표시 및 복수의 모델 슬라이스 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하기 위한 명령어를 포함하는 정보 요소를 제1 서버에 전송하게 한다.
예 10. 장치로서, 회로; 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 제1 서버에서, 제1 서버의 능력들을 결정하기 위한 질의를 수신하고; 제1 서버에서, 복수의 모델 슬라이스들 중 하나의 표시, 및 복수의 모델 슬라이스들 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하라는 명령어를 포함하는 정보 요소를 수신- 추론 모델은 제1 서버의 능력에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할됨 -하게 한다.
예 11. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성하고; 분류 데이터에 기초하여 입력 데이터를 수용 불가능한 것으로서 평가하고; 분류 데이터가 수용 불가능한 것으로 평가될 때 증강된 입력 데이터를 생성하기 위해 입력 데이터를 수정하고; 증강된 분류 데이터를 생성하기 위해 추론 모델에 기초하여 증강된 입력 데이터를 분류하고; 증강된 분류 데이터에 기초하여 증강된 입력 데이터를 수용 가능한 것으로서 평가하고; 증강된 분류 데이터를 출력 데이터로서 제공하게 한다.
예 12. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델 내의 각각의 층에 대한 각각의 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화하고; 활성화 통계를 생성하기 위해 데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하고; 제1, 제2, 및 제3 파라미터들을 결정하고- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -; 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현하게 한다.
예 13. 장치로서, 회로; 및 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 추론 모델을 복수의 모델 슬라이스로 분할하고; 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들을 훈련하게 한다.
예 14. 예 1 내지 예 13 중 어느 하나의 장치는, 회로에 결합된 신뢰할 수 있는 실행 환경(TEE)을 포함하고, TEE는 TEE 회로 및 신뢰적 메모리를 포함한다.
예 15. 장치로서, 회로; 회로에 결합된 메모리- 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하게 함 -; 및 신뢰할 수 있는 실행 환경(TEE)을 포함하고, 신뢰할 수 있는 실행 환경은 회로; 회로에 결합된 신뢰적 메모리를 포함하고, 신뢰적 메모리는 워터마크 및 TEE 명령어들을 저장하고, TEE 명령어는, 회로에 의해 실행될 때, 회로로 하여금: 입력이 워터마크와 매칭되는지를 결정하고; 입력이 워터마크와 매칭된다는 결정에 기초하여 출력 데이터를 생성하지 않기 위한 제1 표시를 회로에 전송하게 한다.
예 16. 장치로서, 회로; 명령어들을 저장하는 메모리- 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 장치와 연관된 고유 신원증명(UUID)을 결정하고; UUID에 부분적으로 기초하여 입력 데이터를 변환하게 함 -; 및 회로를 포함하는 신뢰할 수 있는 실행 환경(TEE)을 포함하며, TEE의 회로는 사전 로드된 UUID 및 변환된 입력 데이터에 부분적으로 기초하여 복원된 입력 데이터를 생성하며, 복원된 입력 데이터는 추론 모델을 통해 출력을 발생시키기 위해 사용된다.
예 17. 예 2 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하고; 생성된 출력에 대한 추론 확률을 결정하고; 추론 확률이 임계값보다 더 큰지를 결정하고; 추론 확률이 임계값보다 더 크지 않다는 결정에 기초하여 널 출력을 제공하게 한다.
예 18. 예 1 또는 예 3 내지 예 16 중 어느 하나의 예의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 추론 모델을 통해, 수신된 입력 데이터에 기초하여 출력을 생성하고; 입력 데이터 및 출력 데이터에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않았다는 표시를 제공하게 한다.
예 19. 예 1 내지 2 중 어느 하나 또는 예 4 내지 16 중 어느 하나의 장치에 있어서, 회로에 결합된 인터페이스- 인터페이스는 네트워크에 결합됨 -를 포함하고; 메모리는 명령어들을 추가로 저장하며, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 인터페이스를 통해, 네트워크에 결합된 서버로부터 무결화 페이로드를 수신하고- 무결화 페이로드는 무결화 프로토콜의 표시들을 포함함 -; 입력 데이터에 무결화 프로토콜을 적용하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하고; 인터페이스 및 네트워크를 통해 서버에 무결화된 입력 데이터를 전송하게 한다.
예 20. 예 1 내지 3 중 어느 하나 또는 예 5 내지 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고- 출력 데이터는 가시 클래스 또는 은닉 클래스 중 하나에 대한 표시를 포함함 -; 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하고; 출력 데이터가 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 생성된 출력을 출력 소비자에게 제공하게 한다.
예 21. 예 1 내지 예 4 중 어느 하나 또는 예 6 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 키에 부분적으로 기초하여 입력 데이터를 난독화하고; 난독화된 입력 데이터를 사용하여 출력 데이터를 생성하기 위해 추론 모델을 실행하게 한다.
예 22. 예 1 내지 예 5 중 어느 하나 또는 예 7 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, (1) 추론의 표시를 포함하는 출력 데이터 및 (2) 추론 증강 맵을 생성하기 위해 입력 데이터를 사용하여 추론 모델을 실행하고; 입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성하고; 입력 영역 영향 맵에 적어도 기초하여 신뢰성 점수- 신뢰성 점수는 추론의 신뢰성의 표시를 포함함-를 생성하게 한다.
예 23. 예 1 내지 6 중 어느 하나 또는 예 8 내지 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택하고; 입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류하게 한다.
예 24. 예 1 내지 예 7 중 어느 하나 또는 예 9 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고; 출력 데이터를 필터링하여 스크리닝된 출력 데이터를 생성하게 한다.
예 25. 예 1 내지 예 8 중 어느 하나 또는 예 10 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금, 제1 서버의 능력들을 결정하기 위해 제1 서버에 질의하고; 제1 서버의 능력들에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하고; 복수의 모델 슬라이스 중 하나의 표시 및 복수의 모델 슬라이스 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하기 위한 명령어를 포함하는 정보 요소를 제1 서버에 전송하게 한다.
예 26. 예 1 내지 예 9 중 어느 하나 또는 예 11 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 제1 서버에서, 제1 서버의 능력들을 결정하기 위한 질의를 수신하고; 제1 서버에서, 복수의 모델 슬라이스들 중 하나의 표시, 및 복수의 모델 슬라이스들 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하라는 명령어를 포함하는 정보 요소를 수신- 추론 모델은 제1 서버의 능력에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할됨 -하게 한다.
예 27. 예 1 내지 예 10 중 어느 하나 또는 예 12 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성하고; 분류 데이터에 기초하여 입력 데이터를 수용 불가능한 것으로서 평가하고; 분류 데이터가 수용 불가능한 것으로 평가될 때 증강된 입력 데이터를 생성하기 위해 입력 데이터를 수정하고; 증강된 분류 데이터를 생성하기 위해 추론 모델에 기초하여 증강된 입력 데이터를 분류하고; 증강된 분류 데이터에 기초하여 증강된 입력 데이터를 수용 가능한 것으로서 평가하고; 증강된 분류 데이터를 출력 데이터로서 제공하게 한다.
예 28. 예 1 내지 예 11 중 어느 하나 또는 예 13 내지 예 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델 내의 각각의 층에 대한 각각의 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화하고; 활성화 통계를 생성하기 위해 데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하고; 제1, 제2, 및 제3 파라미터들을 결정하고- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -; 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현하게 한다.
예 29. 예 1 내지 12 중 어느 하나 또는 예 14 내지 16 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 추론 모델을 복수의 모델 슬라이스로 분할하고; 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들을 훈련하게 한다.
예 30. 예 14 또는 예 16의 장치로서, TEE 명령어는, TEE 회로에 의해 실행될 때, TEE 회로로 하여금: 입력이 워터마크와 매칭되는지를 결정하고; 입력이 워터마크와 매칭된다는 결정에 기초하여 출력 데이터를 생성하지 않기 위한 제1 표시를 회로에 전송하게 한다.
예 31. 예 14 내지 예 15 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 장치와 연관된 고유 신원증명(UUID) 및 UUID에 부분적으로 기초한 변환 입력 데이터를 결정하게 하고; TEE 명령어는, TEE 회로에 의해 실행될 때, TEE 회로로 하여금: 사전 로드된 UUID 및 변환된 입력 데이터에 부분적으로 기초하여 복원된 입력 데이터를 생성하게 하며, 복원된 입력 데이터는 추론 모델을 통해 출력을 발생시키기 위해 사용된다.
예 32. 예 1 내지 예 31 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 입력 데이터를 수신하는 것에 응답하여 출력을 생성하게 한다.
예 33. 예 1 내지 예 32 중 어느 하나의 장치에 있어서, 메모리는 회로에 의해 실행될 때, 회로로 하여금 추론 확률이 임계값보다 더 크다는 결정에 기초하여 생성된 출력을 출력 디바이스에 제공하게 하는 명령어들을 추가로 저장한다.
예 34. 예 1 내지 예 33 중 어느 하나의 장치에 있어서, 메모리는 추론 모델을 저장한다.
예 35. 예 1 내지 예 34 중 어느 하나의 장치에 있어서, 추론 모델은 신경망 또는 패턴 분류기 네트워크이다.
예 36. 예 14 내지 예 35 중 어느 하나의 장치에 있어서, 신뢰적 메모리는 회로에 의해 실행될 때, 회로로 하여금, 입력이 워터마크와 매칭된다는 결정에 기초하여 추론 모델의 디지털 권한 위반의 표시를 제공하기 위한 제2 표시를 회로에 전송하게 하는 TEE 명령어들을 더 저장한다.
예 37. 예 36의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 제2 표시를 수신한 것에 응답하여 추론 모델의 디지털 권한 위반의 표시를 출력 디바이스에 제공하고; 제1 표시를 수신하는 것에 응답하여 출력 데이터를 생성하지 않게 한다.
예 38. 예 14 내지 예 37 중 어느 하나의 장치의 장치로서, 신뢰적 메모리는 TEE 명령어들을 추가로 저장하고, TEE 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 입력 데이터를 워터마크와 비트 단위로 비교하고; 비트 단위 비교에 부분적으로 기초하여 입력 데이터가 워터마크와 매칭되는 것으로 결정하게 한다.
예 39. 예 14 내지 예 38 중 어느 하나의 장치에 있어서, 신뢰적 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 제3 표시를 수신하는 것에 응답하여 출력 데이터를 생성하기 위한 제3 표시를, 회로에, 전송하게 하는 TEE 명령어들을 추가로 저장한다.
예 40. 예 14 내지 예 39 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 제1 표시를 수신하는 것에 응답하여 출력 데이터를 생성하게 하는 명령어들을 추가로 저장한다.
예 41. 예 14 내지 예 40 중 어느 하나의 장치에 있어서, 메모리는 추론 모델을 저장한다.
예 42. 예 14 내지 예 41 중 어느 하나의 장치에 있어서, 추론 모델은 신경망이다.
예 43. 예 14 내지 예 42 중 어느 하나의 장치에 있어서, 출력은 복수의 분류들 중 하나의 분류의 표시를 포함하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금: 입력 데이터에 기초하여 복수의 분류 중 하나가 정확한지를 결정하고; 입력 데이터에 기초하여 복수의 분류 중 하나가 정확하다는 결정에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않은 것으로 결정하게 한다.
예 44. 예 14 내지 예 43 중 어느 하나의 장치에 있어서, 명령어들은 회로에 의해 실행될 때 회로로 하여금 추론 모델의 사용이 인가되지 않았다는 결정에 기초하여 출력을 제공하게 한다.
예 45. 예 14 내지 예 44 중 어느 하나의 장치에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 복수의 입력 데이터를 수신하고; 추론 모델을 통해, 수신된 복수의 입력 데이터 각각에 기초하여 출력을 생성하고- 복수의 출력 각각은 복수의 분류 중 하나의 분류의 표시를 포함함 -; 복수의 출력 각각에 대해, 복수의 출력 중 하나에 대응하는 복수의 입력 데이터 중 하나에 기초하여 복수의 분류 중 하나가 정확한지를 결정하고; 복수의 출력 중 하나에 대응하는 복수의 입력 데이터 중 하나에 기초하여 복수의 분류 중 하나가 정확하다는 결정에 기초하여 카운터를 증분하고; 카운터가 임계 수를 초과한 것에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않은 것으로 결정하게 한다.
예 46. 예 14 내지 예 45 중 어느 하나의 장치에 있어서, 입력 데이터를 캡처하는 입력 디바이스를 포함한다.
예 47. 예 14 내지 예 46 중 어느 하나의 장치에 있어서, 메모리는 추론 모델을 저장하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금 복원된 입력 데이터에 부분적으로 기초하여 출력 데이터를 생성하기 위해 추론 모델을 실행하게 한다.
예 48. 예 14 내지 예 47의 장치로서, TEE는 추론 모델을 저장하고, TEE 회로는 복원된 입력 데이터에 부분적으로 기초하여 출력 데이터를 생성하기 위해 추론 모델을 실행하도록 배열된다.
예 49. 예 1 내지 예 48 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 서버로부터, 회로의 컴퓨팅 능력들을 보고하기 위한 표시를 포함하는 질의를 수신하고; 회로의 컴퓨팅 능력들의 표시를 포함하는 보고를 서버에 전송하게 한다.
예 50. 예 1 내지 예 49 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 네트워크를 통해 서버와의 신뢰할 수 있는 연결을 확립하게 하는 명령어들을 추가로 저장한다.
예 51. 예 1 내지 예 50 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 제1 데이터 포맷으로부터 제2 데이터 포맷으로 변환하는 것에 부분적으로 기초하여 디코딩된 입력 데이터를 생성하고; 디코딩된 입력 데이터에 필터를 적용하는 것에 부분적으로 기초하여 필터링된 입력 데이터를 생성하고; 필터링된 입력 데이터를 제2 데이터 포맷으로부터 제1 데이터 포맷으로 변환하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하게 한다.
예 52. 예 1 내지 예 51 중 어느 하나의 장치에 있어서, 무결화 페이로드는 제2 데이터 포맷 및 필터의 표시를 포함한다.
예 53. 예 1 내지 예 52 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 더 저장하고, 명령어들은 회로에 의해 실행될 때, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 기초하여, 회로가 모니터링 시스템에 경보를 전송하게 한다.
예 54. 예 1 내지 예 53 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력- 난독화된 출력은 가시 클래스의 표시를 포함함 -을 생성하고; 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력을 출력 소비자에게 제공하게 한다.
예 55. 예 1 내지 예 54 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 수집하며- 포렌식 데이터는 입력 데이터 및 입력 디바이스 중 적어도 하나의 표시를 포함함 -, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 모니터링 시스템에 제공하게 한다.
예 56. 예 1 내지 예 55 중 어느 하나의 장치에 있어서, 가시 클래스는 복수의 가시 클래스들을 포함하고, 출력 데이터는 은닉 클래스 또는 복수의 가시 클래스들 중 하나의 클래스의 표시를 포함한다.
예 57. 예 1 내지 예 56 중 어느 하나의 장치에 있어서, 은닉 클래스는 복수의 은닉 클래스들을 포함하고, 출력 데이터는 복수의 은닉 클래스들 중 하나 또는 복수의 가시 클래스들 중 하나의 표시를 포함한다.
예 58. 예 1 내지 예 57 중 어느 하나의 장치에 있어서, 복수의 은닉 클래스 중 적어도 하나는 블랙리스트화된 입력들에 대응한다.
예 59. 예 1 내지 예 58 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 출력 데이터에 의해 표시되는 복수의 은닉 클래스 중 하나와 연관된 복수의 가시 클래스 중 하나를 식별하고; 복수의 가시 클래스들 중 식별된 하나의 가시 클래스의 표시를 포함하도록 난독화된 출력을 생성하게 한다.
예 60. 예 1 내지 예 59 중 어느 하나의 장치에 있어서, 입력 데이터를 캡처하도록 배열된 입력 디바이스를 포함하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금 입력 디바이스로부터 입력 데이터를 수신하게 한다.
예 61. 예 1 내지 예 60 중 어느 하나의 장치에 있어서, 입력 디바이스를 포함하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금 입력 디바이스로부터 입력 데이터를 수신하게 한다.
예 62. 예 1 내지 예 61 중 어느 하나의 장치에 있어서, 추론 증강 맵은 모델 활성화 맵이다.
예 63. 예 1 내지 예 62 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터 및 입력 디바이스 특성들을 수신하게 한다.
예 64. 예 1 내지 예 63 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로가 입력 디바이스로부터의 입력 디바이스 특성들을 요청하게 하는 명령어들을 저장한다.
예 65. 예 1 내지 예 64 중 어느 하나의 장치에 있어서, 훈련되지 않은 추론 모델들은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 66. 예 1 내지 예 65 중 어느 하나의 장치에 있어서, 출력 데이터는 복수의 클래스들 중 적어도 하나의 클래스의 표시를 포함하고, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 복수의 클래스 중 적어도 하나가 복수의 클래스의 서브세트에 포함되는지를 결정하고; 출력 데이터를 필터링하기 위해 복수의 클래스들의 서브세트에 포함된 복수의 클래스들 중 적어도 하나에 대한 표시를 제거하게 한다.
예 67. 예 1 내지 예 66 중 어느 하나의 장치에 있어서, 회로에 결합된 인터페이스를 포함하고, 인터페이스는 네트워크에 결합되고, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 인터페이스를 통해, 서버로부터 프라이버시 수준 사양을 수신하게 하는 명령어들을 추가로 저장하고, 프라이버시 수준 사양은 복수의 클래스들의 서브세트의 표시를 포함한다.
예 68. 예 67의 장치에서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 인터페이스를 통해, 스크리닝된 출력을 서버에 제공하게 하는 명령어들을 추가로 저장한다.
예 69. 예 67 내지 예 68 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 서버로부터 질의를 수신하고- 질의는 회로의 스크리닝 능력들을 보고하기 위한 표시를 포함함 -; 회로의 스크리닝 능력의 표시를 포함하는 보고를 서버에 전송하게 한다.
예 70. 예 67 내지 예 69 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금: 제2 서버의 능력들을 결정하기 위해 제2 서버에 질의하고; 제1 서버 및 제2 서버의 능력에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하고; 복수의 모델 슬라이스 중 또 다른 하나의 표시, 및 복수의 모델 슬라이스 중 다른 하나를 제2 서버에서 분산 방식으로 실행하기 위한 명령어를 포함하는 정보 요소를 제2 서버에 전송하게 한다.
예 71. 예 67 내지 예 70 중 어느 하나의 장치에 있어서, 제1 서버 및 제2 서버의 능력들은 각각의 제1 서버 및 제2 서버의 보안 특징 세트의 표시를 포함한다.
예 72. 예 67 내지 예 71 중 어느 하나의 장치에 있어서, 메모리는 또한, 회로에 의해 실행될 때, 회로로 하여금, 복수의 모델 슬라이스들 중 하나의 취약성 레벨과 제1 및 제2 서버들의 보안 특징 세트들에 기초하여 복수의 모델 슬라이스들 중 하나를 제1 서버에 할당하게 하는 명령어들을 저장한다.
예 73. 예 1 내지 예 72 중 어느 하나의 장치에 있어서, 추론 모델은 제1 서버의 능력들 및 제2 서버의 능력들에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할된다.
예 74. 예 1 내지 예 73 중 어느 하나의 장치에 있어서, 제1 서버 및 제2 서버의 능력들은 각각의 제1 서버 및 제2 서버의 보안 특징 세트의 표시를 포함한다.
예 75. 예 1 내지 예 74 중 어느 하나의 장치에서, 복수의 모델 슬라이스 중 하나는 복수의 모델 슬라이스 중 하나의 취약성 레벨과 제1 및 제2 서버들의 보안 특징 세트에 기초하여 제1 서버에 할당된다.
예 76. 예 1 내지 예 75 중 어느 하나의 장치에 있어서, 분류 데이터는 입력 데이터의 클래스 및 클래스의 정확도와 연관된 신뢰도 수준을 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금 신뢰도 수준이 임계값 아래로 떨어질 때 분류 데이터를 수용 불가능한 것으로 평가하고 신뢰도 수준이 임계값을 초과할 때 분류 데이터를 수용 가능한 것으로 평가하게 한다.
예 77. 예 1 내지 예 76 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 감마에서의 변경, 픽셀 시프트, 노이즈-제거 및 에러 정정 중 하나 이상으로 입력 데이터를 수정하게 하는 명령어들을 저장한다.
예 78. 예 1 내지 예 77 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 동작 이상들을 검출하기 위해 분류 데이터와 증강된 분류 데이터를 비교하게 하는 명령어들을 저장한다.
예 79. 예 1 내지 예 78 중 어느 하나의 장치에 있어서, 입력 데이터는 추론 모델에 의한 분류를 위한 하나 이상의 샘플들의 데이터 세트를 포함한다.
예 80. 예 1 내지 예 79 중 어느 하나의 장치에 있어서, 데이터 세트 내의 샘플들의 활성화들은 추론 모델의 각각의 층에 대한 활성화 맵들이 저장되는 동안 각각의 샘플을 순방향 전파함으로써 누적된다.
예 81. 예 1 내지 예 80 중 어느 하나의 장치에 있어서, 전용 활성화 함수의 구현은 처리된 층에 대한 대응하는 행렬에 있는 모든 노드를 전달하는 것을 포함한다.
예 82. 예 1 내지 예 81 중 어느 하나의 장치에 있어서, 활성화 퍼센트는 추론 모델에서 하나 이상의 노드들을 무작위로 해고함으로써 충족된다.
예 83. 예 1 내지 예 82 중 어느 하나에 있어서, 활성화 퍼센트는 제2 파라미터에서 제1 파라미터를 뺀 것과 동일한, 장치.
예 84. 예 1 내지 예 83 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 사용자로부터 수신된 입력에 기초하여 제1, 제2, 및 제3 파라미터들을 결정하게 하는 명령어들을 저장한다.
예 85. 예 1 내지 예 84 중 어느 하나의 장치에서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 복수의 대체 서브-모델들 및 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들 각각을 훈련시키게 하는 명령어들을 저장한다.
예 86. 예 1 내지 예 85 중 어느 하나의 장치에 있어서, 복수의 대체 서브-모델은 복수의 모델 슬라이스들 각각에 대한 대체 서브-모델을 포함한다.
예 87. 예 1 내지 예 86 중 어느 하나의 장치에서, 복수의 적대적 모델은 복수의 모델 슬라이스 각각에 대한 적대적 모델을 포함한다.
예 88. 예 1 내지 예 87 중 어느 하나의 장치에 있어서, 추론 모델은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 89. 입력 디바이스로서, 캡처된 입력을 나타내는 신호들을 출력하도록 배열된 입력 캡처 회로; 및 신호들을 수정하고 수정된 신호들을 나타내는 난독화된 입력 데이터를 생성하도록 배열되는 입력 난독화 회로를 포함한다.
예 90. 예 80의 입력 디바이스로서, 입력 캡처 회로는 이미지 캡처 센서를 포함하고, 입력 디바이스는: 이미지 캡처 센서에 결합된 렌즈; 및 렌즈를 통해 투과된 광을 난독화하도록 배열된, 렌즈에 결합된 필터를 포함한다.
예 91. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은 컴퓨팅 디바이스의 회로에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하고; 생성된 출력에 대한 추론 확률을 결정하고; 추론 확률이 임계값보다 더 큰지를 결정하고; 추론 확률이 임계값보다 더 크지 않다는 결정에 기초하여 널 출력을 제공하게 한다.
예 92. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 입력 디바이스로부터 입력 데이터를 수신하고; 인터페이스를 통해, 네트워크에 결합된 서버로부터 무결화 페이로드를 수신하고- 무결화 페이로드는 무결화 프로토콜의 표시들을 포함함 -; 입력 데이터에 무결화 프로토콜을 적용하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하고; 무결화된 입력 데이터를 인터페이스 및 네트워크를 통해 서버에 전송하게 한다.
예 93. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고- 출력 데이터는 가시 클래스 또는 은닉 클래스 중 하나에 대한 표시를 포함함 -; 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하고; 출력 데이터가 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 생성된 출력을 출력 소비자에게 제공하게 한다.
예 94. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 키에 부분적으로 기초하여 입력 데이터를 난독화하고; 난독화된 입력 데이터를 사용하여 출력 데이터를 생성하기 위해 추론 모델을 실행하게 한다.
예 95. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, (1) 추론의 표시를 포함하는 출력 데이터 및 (2) 추론 증강 맵을 생성하기 위해 입력 데이터를 사용하여 추론 모델을 실행하고; 입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성하고; 입력 영역 영향 맵에 적어도 기초하여 신뢰성 점수- 신뢰성 점수는 추론의 신뢰성의 표시를 포함함-를 생성하게 한다.
예 96. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택하고; 입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류하게 한다.
예 97. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고; 출력 데이터를 필터링하여 스크리닝된 출력 데이터를 생성하게 한다.
예 98. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 제1 서버의 능력들을 결정하기 위해 제1 서버에 질의하고; 제1 서버의 능력들에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하고; 복수의 모델 슬라이스 중 하나의 표시 및 복수의 모델 슬라이스 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하기 위한 명령어를 포함하는 정보 요소를 제1 서버에 전송하게 한다.
예 99. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 제1 서버에서, 제1 서버의 능력들을 결정하기 위한 질의를 수신하고; 제1 서버에서, 복수의 모델 슬라이스들 중 하나의 표시, 및 복수의 모델 슬라이스들 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하라는 명령어를 포함하는 정보 요소를 수신- 추론 모델은 제1 서버의 능력에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할됨 -하게 한다.
예 100. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성하고; 분류 데이터에 기초하여 입력 데이터를 수용 불가능한 것으로서 평가하고; 분류 데이터가 수용 불가능한 것으로 평가될 때 증강된 입력 데이터를 생성하기 위해 입력 데이터를 수정하고; 증강된 분류 데이터를 생성하기 위해 추론 모델에 기초하여 증강된 입력 데이터를 분류하고; 증강된 분류 데이터에 기초하여 증강된 입력 데이터를 수용 가능한 것으로서 평가하고; 증강된 분류 데이터를 출력 데이터로서 제공하게 한다.
예 101. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델 내의 각각의 층에 대한 각각의 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화하고; 활성화 통계를 생성하기 위해 데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하고; 제1, 제2, 및 제3 파라미터들을 결정하고- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -; 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현하게 한다.
예 102. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 복수의 모델 슬라이스로 분할하고; 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들을 훈련하게 한다.
예 103. 예 91 내지 예 102 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체로서, 회로는 신뢰할 수 있는 실행 환경(TEE)의 일부이다.
예 104. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하게 하고, 마커를 저장하는 신뢰할 수 있는 실행 환경(TEE)에 의해 실행될 때, TEE로 하여금 입력이 마커와 매칭되는지를 결정하게 하고; 입력이 마커와 매칭된다는 결정에 기초하여, 출력 데이터를 생성하지 않기 위한 제1 표시를 회로에 전송하게 한다.
예 105. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 장치와 연관된 고유 신원증명(UUID)을 결정하고; UUID에 부분적으로 기초하여 입력 데이터를 변환하게 하며; 신뢰할 수 있는 실행 환경(TEE)으로 하여금: 사전 로드된 UUID 및 변환된 입력 데이터에 부분적으로 기초하여 복원된 입력 데이터를 생성하게 하며, 복원된 입력 데이터는 추론 모델을 통해 출력을 발생시키기 위해 사용된다.
예 106. 예 92 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금: 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하고; 생성된 출력에 대한 추론 확률을 결정하고; 추론 확률이 임계값보다 더 큰지를 결정하고; 추론 확률이 임계값보다 더 크지 않다는 결정에 기초하여 널 출력을 제공하게 한다.
예 107. 예 91 또는 예 93 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금: 입력 디바이스로부터 입력 데이터를 수신하고; 인터페이스를 통해, 네트워크에 결합된 서버로부터 무결화 페이로드를 수신하고- 무결화 페이로드는 무결화 프로토콜의 표시들을 포함함 -; 입력 데이터에 무결화 프로토콜을 적용하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하고; 무결화된 입력 데이터를 인터페이스 및 네트워크를 통해 서버에 전송하게 한다.
예 108. 예 91 내지 예 92 중 어느 하나 또는 예 94 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고- 출력 데이터는 가시 클래스 또는 은닉 클래스 중 하나에 대한 표시를 포함함 -; 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하고; 출력 데이터가 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 생성된 출력을 출력 소비자에게 제공하게 한다.
예 109. 예 91 내지 예 93 중 어느 하나 또는 예 95 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 키에 부분적으로 기초하여 입력 데이터를 난독화하고; 난독화된 입력 데이터를 사용하여 출력 데이터를 생성하기 위해 추론 모델을 실행하게 한다.
예 110. 예 91 내지 예 94 중 어느 하나 또는 예 96 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: (1) 추론의 표시를 포함하는 출력 데이터 및 (2) 추론 증강 맵을 생성하기 위해 입력 데이터를 사용하여 추론 모델을 실행하고; 입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성하고; 입력 영역 영향 맵에 적어도 기초하여 신뢰성 점수- 신뢰성 점수는 추론의 신뢰성의 표시를 포함함-를 생성하게 한다.
예 111. 예 91 내지 예 95 중 어느 하나 또는 예 97 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택하고; 입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류하게 한다.
예 112. 예 91 내지 예 96 중 어느 하나 또는 예 98 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 입력 디바이스로부터 입력 데이터를 수신하고; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고; 출력 데이터를 필터링하여 스크리닝된 출력 데이터를 생성하게 한다.
예 113. 예 91 내지 예 97 중 어느 하나 또는 예 99 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 제1 서버의 능력들을 결정하기 위해 제1 서버에 질의하고; 제1 서버의 능력들에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하고; 복수의 모델 슬라이스 중 하나의 표시 및 복수의 모델 슬라이스 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하기 위한 명령어를 포함하는 정보 요소를 제1 서버에 전송하게 한다.
예 114. 예 91 내지 예 98 중 어느 하나 또는 예 100 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 제1 서버에서, 제1 서버의 능력들을 결정하기 위한 질의를 수신하고; 제1 서버에서, 복수의 모델 슬라이스들 중 하나의 표시, 및 복수의 모델 슬라이스들 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하라는 명령어를 포함하는 정보 요소를 수신- 추론 모델은 제1 서버의 능력에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할됨 -하게 한다.
예 115. 예 91 내지 예 99 중 어느 하나 또는 예 101 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 입력 데이터를 수신하고; 입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성하고; 분류 데이터에 기초하여 입력 데이터를 수용 불가능한 것으로서 평가하고; 분류 데이터가 수용 불가능한 것으로 평가될 때 증강된 입력 데이터를 생성하기 위해 입력 데이터를 수정하고; 증강된 분류 데이터를 생성하기 위해 추론 모델에 기초하여 증강된 입력 데이터를 분류하고; 증강된 분류 데이터에 기초하여 증강된 입력 데이터를 수용 가능한 것으로서 평가하고; 증강된 분류 데이터를 출력 데이터로서 제공하게 한다.
예 116. 예 91 내지 예 100 중 어느 하나 또는 예 102 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 추론 모델 내의 각각의 층에 대한 각각의 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화하고; 활성화 통계를 생성하기 위해 데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하고; 제1, 제2, 및 제3 파라미터들을 결정하고- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -; 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현하게 한다.
예 117. 예 91 내지 예 101 중 어느 하나 또는 예 103 내지 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 회로로 하여금: 추론 모델을 복수의 모델 슬라이스로 분할하고; 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들을 훈련하게 한다.
예 118. 예 103 또는 예 105 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하게 하고; 마커를 저장하는 신뢰할 수 있는 실행 환경(TEE)에 의해 실행될 때, TEE로 하여금 입력이 마커와 매칭되는지를 결정하게 하고; 입력이 마커와 매칭된다는 결정에 기초하여, 출력 데이터를 생성하지 않기 위한 제1 표시를 회로에 전송하게 한다.
예 119. 예 103 내지 예 104 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 실행될 때, 컴퓨팅 디바이스로 하여금: 장치와 연관된 고유 신원증명(UUID)을 결정하고; UUID에 부분적으로 기초하여 입력 데이터를 변환하게 하며; 신뢰할 수 있는 실행 환경(TEE)으로 하여금: 사전 로드된 UUID 및 변환된 입력 데이터에 부분적으로 기초하여 복원된 입력 데이터를 생성하며, 복원된 입력 데이터는 추론 모델을 통해 출력을 발생시키기 위해 사용된다.
예 120. 예 91 내지 예 119 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 입력 데이터를 수신하고; 입력 데이터를 수신하는 것에 응답하여 출력을 생성하게 한다.
예 121. 예 91 내지 예 120 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 추론 확률이 임계값보다 더 크다는 결정에 기초하여 생성된 출력을 출력 디바이스에 제공하게 하는 명령어들을 추가로 포함한다.
예 122. 예 91 내지 예 121 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 추론 모델을 회로에 결합된 메모리에 저장하게 하는 명령어들을 추가로 포함한다.
예 123. 예 91 내지 예 122 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델은 신경망이다.
예 124. 예 91 내지 예 123 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델은 패턴 분류기 네트워크이다.
예 125. 예 91 내지 예 124 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 서버로부터, 회로의 컴퓨팅 능력들을 보고하기 위한 표시를 포함하는 질의를 수신하고; 회로의 컴퓨팅 능력들의 표시를 포함하는 보고를 서버에 전송하게 한다.
예 126. 예 91 내지 예 125 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 네트워크를 통해 서버와의 신뢰할 수 있는 연결을 확립하게 하는 명령어들을 추가로 포함한다.
예 127. 예 91 내지 예 126 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 입력 데이터를 제1 데이터 포맷으로부터 제2 데이터 포맷으로 변환하는 것에 부분적으로 기초하여 디코딩된 입력 데이터를 생성하고; 디코딩된 입력 데이터에 필터를 적용하는 것에 부분적으로 기초하여 필터링된 입력 데이터를 생성하고; 필터링된 입력 데이터를 제2 데이터 포맷으로부터 제1 데이터 포맷으로 변환하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하게 한다.
예 128. 예 91 내지 예 127 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 무결화 페이로드는 제2 데이터 포맷 및 필터의 표시를 포함한다.
예 129. 예 91 내지 예 128 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 기초하여 회로로 하여금 모니터링 시스템에 경보를 전송하게 하는 명령어들을 추가로 저장한다.
예 130. 예 91 내지 예 129 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력- 난독화된 출력은 가시 클래스의 표시를 포함함 -을 생성하고; 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력을 출력 소비자에게 제공하게 한다.
예 131. 예 91 내지 예 130 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 수집하며- 포렌식 데이터는 입력 데이터 및 입력 디바이스 중 적어도 하나의 표시를 포함함 -, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 모니터링 시스템에 제공하게 한다.
예 132. 예 91 내지 예 131 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 가시 클래스는 복수의 가시 클래스들을 포함하고, 출력 데이터는 은닉 클래스 또는 복수의 가시 클래스들 중 하나의 가시 클래스의 표시를 포함한다.
예 133. 예 91 내지 예 132 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 은닉 클래스는 복수의 은닉 클래스들을 포함하고, 출력 데이터는 복수의 은닉 클래스들 중 하나 또는 복수의 가시 클래스들 중 하나의 표시를 포함한다.
예 134. 예 91 내지 예 133 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복수의 은닉 클래스 중 적어도 하나는 블랙리스트화된 입력들에 대응한다.
예 135. 예 91 내지 예 134 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 출력 데이터에 의해 표시되는 복수의 은닉 클래스 중 하나와 연관된 복수의 가시 클래스 중 하나를 식별하고; 복수의 가시 클래스들 중 식별된 하나의 가시 클래스의 표시를 포함하도록 난독화된 출력을 생성하게 한다.
예 136. 예 91 내지 예 135 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 포함하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금 입력 디바이스로부터 입력 데이터를 수신하게 한다.
예 137. 예 91 내지 예 136 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 증강 맵은 모델 활성화 맵이다.
예 138. 예 91 내지 예 137 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터 및 입력 디바이스 특성들을 수신하게 하는 명령어들을 저장한다.
예 139. 예 91 내지 예 138 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로가 입력 디바이스로부터 입력 디바이스 특성들을 요청하게 하는 명령어들을 저장한다.
예 140. 예 91 내지 예 139 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 훈련되지 않은 추론 모델들은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 141. 예 91 내지 예 140 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 출력 데이터는 복수의 클래스들 중 적어도 하나의 클래스의 표시를 포함하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 복수의 클래스 중 적어도 하나가 복수의 클래스의 서브세트에 포함되는지를 결정하고; 출력 데이터를 필터링하기 위해 복수의 클래스들의 서브세트에 포함된 복수의 클래스들 중 적어도 하나에 대한 표시를 제거하게 한다.
예 142. 예 91 내지 예 141 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 결합되는 인터페이스- 인터페이스는 네트워크에 결합하기 위한 것임 - 및 명령어들을 포함하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금 인터페이스를 통해, 서버로부터 프라이버시 수준 사양을 수신하게 하고, 프라이버시 수준 사양은 복수의 클래스들의 서브세트의 표시를 포함한다.
예 143. 예 91 내지 예 142 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 인터페이스를 통해, 스크리닝된 출력을 서버에 제공하게 한다.
예 144. 예 91 내지 예 143 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금: 서버로부터 질의를 수신하고- 질의는 회로의 스크리닝 능력들을 보고하기 위한 표시를 포함함 -; 회로의 스크리닝 능력의 표시를 포함하는 보고를 서버에 전송하게 한다.
예 145. 예 91 내지 예 144 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금: 제2 서버의 능력들을 결정하기 위해 제2 서버에 질의하고; 제1 서버 및 제2 서버의 능력에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하고; 복수의 모델 슬라이스 중 또 다른 하나의 표시, 및 복수의 모델 슬라이스 중 다른 하나를 제2 서버에서 분산 방식으로 실행하기 위한 명령어를 포함하는 정보 요소를 제2 서버에 전송하게 한다.
예 146. 예 91 내지 예 145 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 제1 서버 및 제2 서버의 능력들은 각각의 제1 서버 및 제2 서버의 보안 특징 세트의 표시를 포함한다.
예 147. 예 91 내지 예 146 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 복수의 모델 슬라이스 중 하나의 취약성 레벨과 제1 및 제2 서버들의 보안 특징 세트들에 기초하여 복수의 모델 슬라이스 중 하나를 제1 서버에 할당하게 한다.
예 148. 예 91 내지 예 147 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델은 제1 서버의 능력들 및 제2 서버의 능력들에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할된다.
예 149. 예 91 내지 예 148 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 제1 서버 및 제2 서버의 능력들은 각각의 제1 서버 및 제2 서버의 보안 특징 세트의 표시를 포함한다.
예 150. 예 91 내지 예 149 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복수의 모델 슬라이스 중 하나는 복수의 모델 슬라이스 중 하나의 취약성 레벨과 제1 및 제2 서버들의 보안 특징 세트에 기초하여 제1 서버에 할당된다.
예 151. 예 91 내지 예 150 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 분류 데이터는 입력 데이터의 클래스 및 클래스의 정확도와 연관된 신뢰도 수준을 포함하고, 매체는, 회로에 의해 실행될 때, 회로로 하여금, 신뢰도 수준이 임계값 아래로 떨어질 때 분류 데이터를 수용 불가능한 것으로 평가하고 신뢰도 수준이 임계값을 초과할 때 분류 데이터를 수용 가능한 것으로 평가하게 하는 명령어들을 저장한다.
예 152. 예 91 내지 예 151 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 감마의 변경, 픽셀 시프트, 노이즈-제거 및 에러 정정 중 하나 이상으로 입력 데이터를 수정하게 한다.
예 153. 예 91 내지 예 152 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 동작 이상들을 검출하기 위해 분류 데이터와 증강된 분류 데이터를 비교하게 한다.
예 154. 예 91 내지 예 153 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 155. 예 91 내지 예 154 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 입력 데이터는 추론 모델에 의한 분류를 위한 하나 이상의 샘플들의 데이터 세트를 포함한다.
예 156. 예 91 내지 예 155 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 데이터 세트 내의 샘플들의 활성화들은 추론 모델의 각각의 층에 대한 활성화 맵들이 저장되는 동안 각각의 샘플을 순방향 전파함으로써 누적된다.
예 157. 예 91 내지 예 156 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 전용 활성화 함수의 구현은 처리된 층에 대한 대응하는 행렬에 있는 모든 노드들을 전달하는 것을 포함한다.
예 158. 예 91 내지 예 157 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 활성화 퍼센트는 추론 모델에서 하나 이상의 노드들을 무작위로 해고함으로써 충족된다.
예 159. 예 91 내지 예 158 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 활성화 퍼센트는 제2 파라미터에서 제1 파라미터를 뺀 것과 동일하다.
예 160. 예 91 내지 예 159 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 사용자로부터 수신된 입력에 기초하여 제1, 제2, 및 제3 파라미터들을 결정하게 한다.
예 161. 예 91 내지 예 160 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 162. 예 91 내지 예 161 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 복수의 대체 서브-모델들 및 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들 각각을 훈련시키게 한다.
예 163. 예 91 내지 예 162 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복수의 대체 서브-모델은 복수의 모델 슬라이스들 각각에 대한 대체 서브-모델을 포함한다.
예 164. 예 91 내지 예 163 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복수의 적대적 모델은 복수의 모델 슬라이스 각각에 대한 적대적 모델을 포함한다.
예 165. 예 103 내지 예 164 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, TEE에 의해 실행될 때, TEE로 하여금, 입력이 마커와 매칭된다는 결정에 기초하여 추론 모델의 디지털 권한 위반의 표시를 제공하기 위한 제2 표시를 회로에 전송하게 하는 명령어들을 추가로 포함한다.
예 166. 예 103 내지 예 165 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 제2 표시를 수신한 것에 응답하여 추론 모델의 디지털 권한 위반의 표시를 출력 디바이스에 제공하고; 제1 표시를 수신하는 것에 응답하여 출력 데이터를 생성하지 않게 한다.
예 167. 예 103 내지 예 166 중 어느 하나의 예의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 TEE에 의해 실행될 때, TEE로 하여금: 입력 데이터를 마커와 비트 단위로 비교하고; 비트 단위 비교에 부분적으로 기초하여 입력 데이터가 마커와 매칭되는 것으로 결정하게 한다.
예 168. 예 103 내지 예 167 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, TEE에 의해 실행될 때, TEE로 하여금 제3 표시를 수신하는 것에 응답하여 출력 데이터를 생성하기 위해 제3 표시를, 회로에, 전송하게 하는 명령어들을 추가로 포함한다.
예 169. 예 103 내지 예 168 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로로 하여금, 제1 표시를 수신하는 것에 응답하여 출력 데이터를 생성하게 하는 명령어들을 추가로 포함한다.
예 170. 예 103 내지 예 169 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델을 추가로 포함한다.
예 171. 예 103 내지 예 170 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델은 신경망이다.
예 172. 예 103 내지 예 171 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 입력 디바이스로부터 입력 데이터를 수신하게 하는 명령어들을 추가로 포함한다.
예 173. 예 103 내지 예 172 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 추론 모델을 추가로 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금 복원된 입력 데이터에 부분적으로 기초하여 출력 데이터를 생성하기 위해 추론 모델을 실행하게 한다.
예 174. 예 103 내지 예 173 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, TEE는 추론 모델을 저장하고, TEE에 의해 실행될 때, TEE로 하여금 복원된 입력 데이터에 부분적으로 기초하여 출력 데이터를 생성하게 하는 명령어들을 추가로 포함한다.
예 175. 컴퓨터 구현 방법으로서, 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하는 단계; 생성된 출력에 대한 추론 확률을 결정하는 단계; 추론 확률이 임계값보다 더 큰지를 결정하는 단계; 및 추론 확률이 임계값보다 더 크지 않다는 결정에 기초하여 널 출력을 제공하는 단계를 포함한다.
예 176. 컴퓨터 구현 방법으로서, 입력 데이터를 수신하는 단계; 추론 모델을 통해, 수신된 입력 데이터에 기초하여 출력을 생성하는 단계; 및 입력 데이터 및 출력 데이터에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않았다는 표시를 제공하는 단계를 포함한다.
예 177. 컴퓨터 구현 방법으로서, 입력 디바이스로부터 입력 데이터를 수신하는 단계; 인터페이스를 통해, 네트워크에 결합된 서버로부터 무결화 페이로드를 수신하고- 무결화 페이로드는 무결화 프로토콜의 표시들을 포함함 -; 입력 데이터에 무결화 프로토콜을 적용하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하는 단계; 및 무결화된 입력 데이터를 인터페이스 및 네트워크를 통해 서버에 전송하는 단계를 더 포함한다.
예 178. 컴퓨터 구현 방법으로서, 입력 디바이스로부터 입력 데이터를 수신하는 단계; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하는 단계- 출력 데이터는 가시 클래스 또는 은닉 클래스 중 어느 하나에 대한 표시를 포함함 -; 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하는 단계; 및 출력 데이터가 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 생성된 출력을 출력 소비자에게 제공하는 단계를 포함한다.
예 179. 컴퓨터 구현 방법으로서, 키에 부분적으로 기초하여 입력 데이터를 난독화하는 단계; 및 난독화된 입력 데이터를 사용하여 출력 데이터를 생성하기 위해 추론 모델을 실행하는 단계를 포함한다.
예 180. 컴퓨터 구현 방법으로서, 입력 데이터를 사용하여 추론 모델을 실행하여 (1) 추론의 표시를 포함하는 출력 데이터 및 (2) 추론 증강 맵을 생성하는 단계; 입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성하는 단계; 및 적어도 입력 영역 영향 맵에 기초하여 신뢰성 점수를 생성하는 단계- 신뢰성 점수는 추론의 신뢰성의 표시를 포함함 -를 포함한다.
예 181. 컴퓨터 구현 방법으로서, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하는 단계; 입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택하는 단계; 및 입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류하는 단계를 포함한다.
예 182. 컴퓨터 구현 방법으로서, 입력 디바이스로부터 입력 데이터를 수신하는 단계; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하는 단계; 및 출력 데이터를 필터링하여 스크리닝된 출력 데이터를 생성하는 단계를 포함한다.
예 183. 컴퓨터 구현 방법으로서, 제1 서버의 능력들을 결정하기 위해 제1 서버에 질의하는 단계; 제1 서버의 능력들에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하는 단계; 및 복수의 모델 슬라이스 중 하나의 표시, 및 복수의 모델 슬라이스 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하기 위한 명령어를 포함하는 정보 요소를 제1 서버에 전송하는 단계를 포함한다.
예 184. 컴퓨터 구현 방법으로서, 제1 서버에서, 제1 서버의 능력들을 결정하기 위한 질의를 수신하는 단계; 및 제1 서버에서, 복수의 모델 슬라이스들 중 하나의 표시, 및 복수의 모델 슬라이스들 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하라는 명령어를 포함하는 정보 요소를 수신하는 단계- 추론 모델은 제1 서버의 능력에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할됨 -를 포함한다.
예 185. 컴퓨터 구현 방법으로서, 입력 데이터를 수신하는 단계; 입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성하는 단계; 분류 데이터에 기초하여 입력 데이터를 수용 불가능한 것으로 평가하는 단계; 분류 데이터가 수용 불가능한 것으로 평가될 때 증강된 입력 데이터를 생성하기 위해 입력 데이터를 수정하는 단계; 증강된 분류 데이터를 생성하기 위해 추론 모델에 기초하여 증강된 입력 데이터를 분류하는 단계; 증강된 분류 데이터에 기초하여 증강된 입력 데이터를 수용 가능한 것으로 평가하는 단계; 및 증강된 분류 데이터를 출력 데이터로서 제공하는 단계를 포함한다.
예 186. 컴퓨터 구현 방법으로서, 추론 모델 내의 각각의 층에 대한 각각의 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화하는 단계; 활성화 통계를 생성하기 위해 데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하는 단계; 제1, 제2, 및 제3 파라미터들을 결정하는 단계- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -; 및 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현하는 단계를 포함한다.
예 187. 컴퓨터 구현 방법으로서, 추론 모델을 복수의 모델 슬라이스로 분할하는 단계; 및 복수의 적대적 모델에 부분적으로 기초하여 복수의 모델 슬라이스를 훈련하는 단계를 포함한다.
예 188. 컴퓨터 구현 방법으로서, 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하는 단계; 마커를 저장하는 신뢰할 수 있는 실행 환경(TEE)을 통해, 입력이 마커와 매칭되는지를 결정하는 단계; 및 입력이 마커와 매칭된다는 결정에 기초하여, 출력 데이터를 생성하지 않기 위한 제1 표시를 TEE로부터 회로로 전송하는 단계를 포함한다.
예 189. 컴퓨터 구현 방법으로서, 장치와 연관된 고유 신원증명(UUID)을 결정하는 단계; UUID에 부분적으로 기초하여 입력 데이터를 변환하는 단계; 및 신뢰할 수 있는 실행 환경(TEE)으로 하여금: 사전 로드된 UUID 및 변환된 입력 데이터에 부분적으로 기초하여 복원된 입력 데이터를 생성하게 하는 단계- 복원된 입력 데이터는 추론 모델을 통해 출력을 발생시키기 위해 사용됨 -를 포함한다.
예 190. 예 176 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하는 단계; 생성된 출력에 대한 추론 확률을 결정하는 단계; 추론 확률이 임계값보다 더 큰지를 결정하는 단계; 및 추론 확률이 임계값보다 더 크지 않다는 결정에 기초하여 널 출력을 제공하는 단계를 포함한다.
예 191. 예 175 또는 예 177 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 수신하는 단계; 추론 모델을 통해, 수신된 입력 데이터에 기초하여 출력을 생성하는 단계; 및 입력 데이터 및 출력 데이터에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않았다는 표시를 제공하는 단계를 포함한다.
예 192. 예 175 내지 예 176 중 어느 하나 또는 예 178 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터를 수신하는 단계; 인터페이스를 통해, 네트워크에 결합된 서버로부터 무결화 페이로드를 수신하고- 무결화 페이로드는 무결화 프로토콜의 표시들을 포함함 -; 입력 데이터에 무결화 프로토콜을 적용하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하는 단계; 및 무결화된 입력 데이터를 인터페이스 및 네트워크를 통해 서버에 전송하는 단계를 더 포함한다.
예 192. 예 175 내지 예 177 중 어느 하나 또는 예 179 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터를 수신하는 단계; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하는 단계- 출력 데이터는 가시 클래스 또는 은닉 클래스 중 어느 하나에 대한 표시를 포함함 -; 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하는 단계; 및 출력 데이터가 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 생성된 출력을 출력 소비자에게 제공하는 단계를 포함한다.
예 193. 예 175 내지 예 178 중 어느 하나 또는 예 180 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 키에 부분적으로 기초하여 입력 데이터를 난독화하는 단계; 및 난독화된 입력 데이터를 사용하여 출력 데이터를 생성하기 위해 추론 모델을 실행하는 단계를 포함한다.
예 194. 예 175 내지 예 179 중 어느 하나 또는 예 181 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 사용하여 추론 모델을 실행하여 (1) 추론의 표시를 포함하는 출력 데이터 및 (2) 추론 증강 맵을 생성하는 단계; 입력 데이터 및 추론 증강 맵에 기초하여 입력 영역 영향 맵을 생성하는 단계; 및 적어도 입력 영역 영향 맵에 기초하여 신뢰성 점수를 생성하는 단계- 신뢰성 점수는 추론의 신뢰성의 표시를 포함함 -를 포함한다.
예 195. 예 175 내지 예 180 중 어느 하나 또는 예 182 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하는 단계; 입력 디바이스 특성들에 기초하여 훈련된 추론 모델을 선택하는 단계; 및 입력 디바이스 특성들에 기초하여 선택된 추론 모델로 입력 디바이스로부터의 입력 데이터를 분류하는 단계를 포함한다.
예 196. 예 175 내지 예 181 중 어느 하나 또는 예 183 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터를 수신하는 단계; 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하는 단계; 및 출력 데이터를 필터링하여 스크리닝된 출력 데이터를 생성하는 단계를 포함한다.
예 197. 예 175 내지 예 182 중 어느 하나 또는 예 184 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 제1 서버의 능력들을 결정하기 위해 제1 서버에 질의하는 단계; 제1 서버의 능력들에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하는 단계; 및 복수의 모델 슬라이스 중 하나의 표시, 및 복수의 모델 슬라이스 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하기 위한 명령어를 포함하는 정보 요소를 제1 서버에 전송하는 단계를 포함한다.
예 198. 예 175 내지 예 183 중 어느 하나 또는 예 185 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 제1 서버에서, 제1 서버의 능력들을 결정하기 위한 질의를 수신하는 단계; 및 제1 서버에서, 복수의 모델 슬라이스들 중 하나의 표시, 및 복수의 모델 슬라이스들 중 하나의 모델 슬라이스를 분산 방식으로 제1 서버에서 실행하라는 명령어를 포함하는 정보 요소를 수신하는 단계- 추론 모델은 제1 서버의 능력에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할됨 -를 포함한다.
예 199. 예 175 내지 예 184 중 어느 하나 또는 예 186 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 수신하는 단계; 입력 데이터를 추론 모델에 기초하여 분류하여 분류 데이터를 생성하는 단계; 분류 데이터에 기초하여 입력 데이터를 수용 불가능한 것으로 평가하는 단계; 분류 데이터가 수용 불가능한 것으로 평가될 때 증강된 입력 데이터를 생성하기 위해 입력 데이터를 수정하는 단계; 증강된 분류 데이터를 생성하기 위해 추론 모델에 기초하여 증강된 입력 데이터를 분류하는 단계; 증강된 분류 데이터에 기초하여 증강된 입력 데이터를 수용 가능한 것으로 평가하는 단계; 및 증강된 분류 데이터를 출력 데이터로서 제공하는 단계를 포함한다.
예 200. 예 175 내지 예 185 중 어느 하나 또는 예 187 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델 내의 각각의 층에 대한 각각의 출력 특징 맵에 대응하는 하나 이상의 행렬을 초기화하는 단계; 활성화 통계를 생성하기 위해 데이터 세트 내의 샘플들의 활성화들을 하나 이상의 행렬에 누적하는 단계; 제1, 제2, 및 제3 파라미터들을 결정하는 단계- 제1 파라미터는 고정된 활성화들의 퍼센트를 포함하고, 제2 파라미터는 해고되어야 하는 추론 모델 내의 노드들의 총 퍼센트를 포함하고, 제3 파라미터는 고정된 활성화들을 취하기 위한 총 상위 활성화들의 백분위수를 포함함 -; 및 활성화 통계, 제1 파라미터, 제2 파라미터 및 제3 파라미터에 기초하여 전용 활성화 함수를 구현하는 단계를 포함한다.
예 201. 예 175 내지 예 186 중 어느 하나 또는 예 188 내지 예 189 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델을 복수의 모델 슬라이스로 분할하는 단계; 및 복수의 적대적 모델에 부분적으로 기초하여 복수의 모델 슬라이스를 훈련하는 단계를 포함한다.
예 202. 예 175 내지 예 187 또는 예 189 중 어느 일 예의 컴퓨터 구현 방법에 있어서, 입력 데이터 및 추론 모델에 부분적으로 기초하여 출력 데이터를 생성하는 단계; 마커를 저장하는 신뢰할 수 있는 실행 환경(TEE)을 통해, 입력이 마커와 매칭되는지를 결정하는 단계; 및 입력이 마커와 매칭된다는 결정에 기초하여, 출력 데이터를 생성하지 않기 위한 제1 표시를 TEE로부터 회로로 전송하는 단계를 포함한다.
예 203. 예 175 내지 예 188 중 어느 하나의 컴퓨터 구현 방법에 있어서, 장치와 연관된 고유 신원증명(UUID)을 결정하는 단계; UUID에 부분적으로 기초하여 입력 데이터를 변환하는 단계; 및 신뢰할 수 있는 실행 환경(TEE)으로 하여금: 사전 로드된 UUID 및 변환된 입력 데이터에 부분적으로 기초하여 복원된 입력 데이터를 생성하며, 복원된 입력 데이터는 추론 모델을 통해 출력을 발생시키기 위해 사용된다.
예 204. 예 175 내지 예 203 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 수신하는 단계; 입력 데이터를 수신하는 것에 응답하여 출력을 생성하게 한다.
예 205. 예 175 내지 예 204 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 확률이 임계값보다 더 크다는 결정에 기초하여 생성된 출력을 출력 디바이스에 제공하는 단계를 포함한다.
예 206. 예 175 내지 예 205 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델을 메모리에 저장하는 단계를 포함한다.
예 207. 예 175 내지 예 206 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델은 신경망이다.
예 208. 예 175 내지 예 207 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델은 패턴 분류기 네트워크이다.
예 209. 예 175 내지 예 208 중 어느 하나의 컴퓨터 구현 방법에 있어서, 출력은 복수의 분류들 중 하나의 분류의 표시를 포함하고, 방법은, 입력 데이터에 기초하여 복수의 분류 중 하나가 정확한지를 결정하는 단계; 및 입력 데이터에 기초하여 복수의 분류 중 하나가 정확하다는 결정에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않은 것으로 결정하는 단계를 포함한다.
예 210. 예 175 내지 예 209 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델의 사용이 인가되지 않았다는 결정에 기초하여 출력을 제공하는 단계를 포함한다.
예 211. 예 175 내지 예 210 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 입력 데이터를 수신하는 단계; 추론 모델을 통해, 수신된 복수의 입력 데이터 각각에 기초하여 출력을 생성하는 단계- 복수의 출력 각각은 복수의 분류 중 하나의 분류의 표시를 포함함 -; 복수의 출력 각각에 대해, 복수의 출력 중 하나에 대응하는 복수의 입력 데이터 중 하나에 기초하여 복수의 분류 중 하나가 정확한지를 결정하는 단계; 복수의 출력 중 하나에 대응하는 복수의 입력 데이터 중 하나에 기초하여 복수의 분류 중 하나가 정확하다는 결정에 기초하여 카운터를 증가시키는 단계; 및 카운터가 임계 수를 초과한 것에 부분적으로 기초하여 추론 모델의 사용이 인가되지 않은 것으로 결정하는 단계를 포함한다.
예 212. 예 175 내지 예 211 중 어느 하나의 컴퓨터 구현 방법에 있어서, 서버로부터, 회로의 컴퓨팅 능력들을 보고하기 위한 표시를 포함하는 질의를 수신하는 단계; 및 회로의 컴퓨팅 능력들의 표시를 포함하는 보고를 서버에 전송하는 단계를 포함한다.
예 213. 예 175 내지 예 212 중 어느 하나의 컴퓨터 구현 방법에 있어서, 네트워크를 통해 서버와의 신뢰할 수 있는 연결을 확립하는 단계를 포함한다.
예 214. 예 175 내지 예 213 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 제1 데이터 포맷으로부터 제2 데이터 포맷으로 변환하는 것에 부분적으로 기초하여 디코딩된 입력 데이터를 생성하는 단계; 디코딩된 입력 데이터에 필터를 적용하는 것에 부분적으로 기초하여 필터링된 입력 데이터를 생성하는 단계; 및 필터링된 입력 데이터를 제2 데이터 포맷으로부터 제1 데이터 포맷으로 변환하는 것에 부분적으로 기초하여 무결화된 입력 데이터를 생성하는 단계
예 215. 예 175 내지 예 214 중 어느 하나의 컴퓨터 구현 방법에 있어서, 무결화 페이로드는 제2 데이터 포맷 및 필터의 표시를 포함한다.
예 216. 예 175 내지 예 215 중 어느 하나의 컴퓨터 구현 방법에 있어서, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 기초하여 모니터링 시스템에 경보를 전송하는 단계를 포함한다.
예 217. 예 175 내지 예 216 중 어느 하나의 컴퓨터 구현 방법에 있어서, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력- 난독화된 출력은 가시 클래스의 표시를 포함함 -을 생성하는 단계; 및 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력을 출력 소비자에게 제공하는 단계를 포함한다.
예 218. 예 175 내지 예 217 중 어느 하나의 컴퓨터 구현 방법에 있어서, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 수집하는 단계- 포렌식 데이터는 입력 데이터 및 입력 디바이스 중 적어도 하나의 표시를 포함함 -; 및 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 모니터링 시스템에 제공하는 단계를 포함한다.
예 219. 예 175 내지 예 218 중 어느 하나의 컴퓨터 구현 방법에 있어서, 가시 클래스는 복수의 가시 클래스들을 포함하고, 출력 데이터는 은닉 클래스 또는 복수의 가시 클래스들 중 하나의 클래스의 표시를 포함한다.
예 220. 예 175 내지 예 219 중 어느 하나의 컴퓨터 구현 방법에 있어서, 은닉 클래스는 복수의 은닉 클래스들을 포함하고, 출력 데이터는 복수의 은닉 클래스들 중 하나 또는 복수의 가시 클래스들 중 하나의 표시를 포함한다.
예 221. 예 175 내지 예 220 중 어느 하나의 컴퓨터 구현 방법에 있어서, 출력 데이터가 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 출력 데이터에 의해 표시되는 복수의 은닉 클래스 중 하나와 연관된 복수의 가시 클래스 중 하나를 식별하는 단계; 및 복수의 가시 클래스들 중 식별된 하나의 가시 클래스의 표시를 포함하도록 난독화된 출력을 생성하는 단계
예 222. 예 175 내지 예 221 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터를 수신하는 단계를 포함한다.
예 223. 예 175 내지 예 222 중 어느 하나의 컴퓨터 구현 방법에서, 추론 증강 맵은 모델 활성화 맵이다.
예 224. 예 175 내지 예 223 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터 및 입력 디바이스 특성들을 수신하는 단계를 포함한다.
예 225. 예 175 내지 예 224 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 디바이스 특성들을 요청하는 단계를 포함한다.
예 226. 예 175 내지 예 225 중 어느 하나의 컴퓨터 구현 방법에 있어서, 훈련되지 않은 추론 모델들은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 227. 예 175 내지 예 226 중 어느 하나의 컴퓨터 구현 방법에 있어서, 출력 데이터는 복수의 클래스 중 적어도 하나의 클래스의 표시를 포함하고, 방법은, 복수의 클래스 중 적어도 하나가 복수의 클래스의 서브세트에 포함되는지를 결정하는 단계; 및 출력 데이터를 필터링하기 위해 복수의 클래스들의 서브세트에 포함된 복수의 클래스들 중 적어도 하나에 대한 표시를 제거하는 단계를 포함한다.
예 228. 예 175 내지 예 227 중 어느 하나의 컴퓨터 구현 방법에 있어서, 인터페이스를 통해, 서버로부터 프라이버시 수준 사양을 수신하는 단계를 포함하며, 프라이버시 수준 사양은 복수의 클래스들의 서브세트의 표시를 포함한다.
예 229. 예 175 내지 예 228 중 어느 하나의 컴퓨터 구현 방법에 있어서, 인터페이스를 통해, 스크리닝된 출력을 서버에 제공하는 단계를 포함한다.
예 230. 예 175 내지 예 229 중 어느 하나의 컴퓨터 구현 방법에 있어서, 서버로부터 질의를 수신하는 단계- 질의는 회로의 스크리닝 능력들을 보고하기 위한 표시를 포함함 -; 및 회로의 스크리닝 능력의 표시를 포함하는 보고를 서버에 전송하는 단계를 포함한다.
예 231. 예 175 내지 예 230 중 어느 하나의 컴퓨터 구현 방법에 있어서, 제2 서버의 능력들을 결정하기 위해 제2 서버에 질의하는 단계; 제1 서버 및 제2 서버의 능력에 부분적으로 기초하여 추론 모델을 복수의 모델 슬라이스들로 분할하는 단계; 및 복수의 모델 슬라이스 중 다른 하나의 표시, 및 복수의 모델 슬라이스 중 다른 하나를 제2 서버에서 분산 방식으로 실행하기 위한 명령어를 포함하는 정보 요소를 제2 서버에 전송하는 단계를 포함한다.
예 232. 예 175 내지 예 231 중 어느 하나의 컴퓨터 구현 방법에 있어서, 제1 서버 및 제2 서버의 능력들은 각각의 제1 서버 및 제2 서버의 보안 특징 세트의 표시를 포함한다.
예 233. 예 175 내지 예 232 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 모델 슬라이스들 중 하나의 취약성 레벨과 제1 및 제2 서버들의 보안 특징 세트들에 기초하여 복수의 모델 슬라이스들 중 하나를 제1 서버에 할당하는 단계를 포함한다.
예 234. 예 175 내지 예 233 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델은 제1 서버의 능력들 및 제2 서버의 능력들에 부분적으로 기초하여 복수의 모델 슬라이스들로 분할된다.
예 235. 예 175 내지 예 234 중 어느 하나의 컴퓨터 구현 방법에 있어서, 제1 서버 및 제2 서버의 능력들은 각각의 제1 서버 및 제2 서버의 보안 특징 세트의 표시를 포함한다.
예 236. 예 175 내지 예 235 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 모델 슬라이스 중 하나는 복수의 모델 슬라이스 중 하나의 취약성 레벨과 제1 및 제2 서버들의 보안 특징 세트에 기초하여 제1 서버에 할당된다.
예 237. 예 175 내지 예 236 중 어느 하나의 컴퓨터 구현 방법에 있어서, 분류 데이터는 입력 데이터의 클래스 및 클래스의 정확도와 연관된 신뢰도 수준을 포함하고, 매체는, 회로에 의해 실행될 때, 회로로 하여금, 신뢰도 수준이 임계값 아래로 떨어질 때 분류 데이터를 수용 불가능한 것으로 평가하고 신뢰도 수준이 임계값을 초과할 때 분류 데이터를 수용 가능한 것으로 평가하게 하는 명령어들을 저장한다.
예 238. 예 175 내지 예 237 중 어느 하나의 컴퓨터 구현 방법에 있어서, 감마의 변경, 픽셀 시프트, 노이즈-제거, 및 에러 정정 중 하나 이상으로 입력 데이터를 수정하는 단계를 포함한다.
예 239. 예 175 내지 예 238 중 어느 하나의 컴퓨터 구현 방법에 있어서, 동작 이상들을 검출하기 위해 분류 데이터와 증강된 분류 데이터를 비교하는 단계를 포함한다.
예 240. 예 175 내지 예 239 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 241. 예 175 내지 예 240 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터는 추론 모델에 의한 분류를 위한 하나 이상의 샘플들의 데이터 세트를 포함한다.
예 242. 예 175 내지 예 241 중 어느 하나의 컴퓨터 구현 방법에 있어서, 데이터 세트 내의 샘플들의 활성화들은 추론 모델의 각각의 층에 대한 활성화 맵들이 저장되는 동안 각각의 샘플을 순방향 전파함으로써 누적된다.
예 243. 예 175 내지 예 242 중 어느 하나의 컴퓨터 구현 방법에 있어서, 전용 활성화 함수의 구현은 처리된 층에 대한 대응하는 행렬에 있는 모든 노드들을 전달하는 단계를 포함한다.
예 244. 예 175 내지 예 243 중 어느 하나의 컴퓨터 구현 방법에 있어서, 활성화 퍼센트는 추론 모델에서 하나 이상의 노드들을 무작위로 해고함으로써 충족된다.
예 245. 예 175 내지 예 244 중 어느 하나의 컴퓨터 구현 방법에 있어서, 활성화 퍼센트는 제2 파라미터에서 제1 파라미터를 뺀 것과 동일하다.
예 246. 예 175 내지 예 245 중 어느 하나의 컴퓨터 구현 방법에 있어서, 사용자로부터 수신된 입력에 기초하여 제1, 제2, 및 제3 파라미터들을 결정하는 단계를 포함한다.
예 247. 예 175 내지 예 246 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 248. 예 175 내지 예 247 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 대체 서브-모델들 및 복수의 적대적 모델들에 부분적으로 기초하여 복수의 모델 슬라이스들 각각을 훈련하는 단계를 포함한다.
예 249. 예 175 내지 예 248 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 대체 서브-모델은 복수의 모델 슬라이스들 각각에 대한 대체 서브-모델을 포함한다.
예 250. 예 175 내지 예 249 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 적대적 모델은 복수의 모델 슬라이스 각각에 대한 적대적 모델을 포함한다.
예 251. 예 188 내지 예 250 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력이 마커와 매칭된다는 결정에 기초하여 추론 모델의 디지털 권한 위반의 표시를 제공하기 위한 제2 표시를 회로에 전송하는 단계를 포함한다.
예 252. 예 188 내지 예 251 중 어느 하나의 컴퓨터 구현 방법에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 제2 표시를 수신한 것에 응답하여 추론 모델의 디지털 권한 위반의 표시를 출력 디바이스에 제공하고; 제1 표시를 수신하는 것에 응답하여 출력 데이터를 생성하지 않게 한다.
예 253. 예 188 내지 예 252 중 어느 일 예의 컴퓨터 구현 방법에 있어서, 명령어들을 추가로 포함하고, 이 명령어들은 TEE에 의해 실행될 때, TEE로 하여금: 입력 데이터를 마커와 비트 단위로 비교하고; 비트 단위 비교에 부분적으로 기초하여 입력 데이터가 마커와 매칭되는 것으로 결정하게 한다.
예 254. 예 188 내지 예 253 중 어느 하나의 컴퓨터 구현 방법에 있어서, TEE에 의해 실행될 때, TEE로 하여금, 제3 표시를 수신하는 것에 응답하여 출력 데이터를 생성하기 위해 제3 표시를, 회로에, 전송하게 하는 명령어들을 추가로 포함한다.
예 255. 예 188 내지 예 254 중 어느 하나의 컴퓨터 구현 방법에 있어서, 회로에 의해 실행될 때, 회로가 제1 표시를 수신하는 것에 응답하여 출력 데이터를 생성하게 하는 명령어들을 추가로 포함한다.
예 256. 예 188 내지 예 255 중 어느 하나의 컴퓨터 구현 방법에 있어서, 메모리에 추론 모델을 추가로 포함한다.
예 257. 예 188 내지 예 256 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델은 신경망이다.
예 258. 예 188 내지 예 257 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터를 수신하는 단계를 포함한다.
예 259. 예 188 내지 예 258 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복원된 입력 데이터에 부분적으로 기초하여 출력 데이터를 생성하기 위해 추론 모델을 실행하는 단계를 포함한다.
예 260. 예 188 내지 예 259 중 어느 하나의 컴퓨터 구현 방법에 있어서, TEE는 추론 모델을 저장하고, 방법은 TEE로 하여금 복원된 입력 데이터에 부분적으로 기초하여 출력 데이터를 생성하게 하는 단계를 포함한다.
예 261. 장치로서, 회로; 회로에 결합된 메모리를 포함하고, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금, 추론 모델에 대한 훈련 데이터를 수신하고- 훈련 데이터는 복수의 입력 및 복수의 적대적 입력의 표시들을 포함하고, 훈련 데이터는 복수의 입력 및 복수의 적대적 입력 각각에 대한 예상 출력의 표시들을 추가로 포함함 -; 및 훈련 데이터에 부분적으로 기초하여 추론 모델을 훈련하게 한다.
예 262. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 복수의 샘플들을 갖는 훈련 데이터 세트를 수신하고; 훈련 데이터 세트에서의 샘플에 기초하여 2개 이상의 추론 모델들에 대한 분류 데이터를 생성하고; 2개 이상의 추론 모델들 각각에 대해 생성된 분류 데이터가 매칭되는지를 결정하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트 내의 샘플을 상관되지 않은 출력 데이터에 추가하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 샘플을 상관된 출력 데이터에 추가하게 한다.
예 263. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련되지 않은 추론 모델을 선택하고; 입력 디바이스로부터의 입력 데이터를 사용하여 입력 디바이스 특성들에 기초하여 선택된 훈련되지 않은 추론 모델을 훈련하게 한다.
예 264. 장치로서, 회로; 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 입력 데이터를 트랜스코딩하고; 트랜스코딩된 입력 데이터에 기초하여 훈련 데이터 세트 무결성 상태(TSIS) 값을 생성하고; 입력 데이터에 기초하여 추론 모델이 훈련된다는 검증을 가능하게 하기 위한 출력으로서 TSIS 값을 제공하게 한다.
예 265. 장치로서, 회로; 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 훈련하는데 이용되는 훈련 데이터 세트에서 적어도 하나의 에러를 검출하고; 복원 훈련 데이터를 수신하고; 복원 훈련 데이터로 추론 모델을 훈련하게 한다.
예 266. 장치로서, 회로; 명령어들을 저장하는 메모리를 포함하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 적어도 공개 모델 파티션 및 비공개 모델 파티션으로 분할하고; 적대적 모델에 부분적으로 기초하여 공개 모델 파티션을 훈련하게 한다.
예 267. 예 262 내지 예 266 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델에 대한 훈련 데이터를 수신하고- 훈련 데이터는 복수의 입력 및 복수의 적대적 입력의 표시들을 포함하고, 훈련 데이터는 복수의 입력 및 복수의 적대적 입력 각각에 대한 예상 출력의 표시들을 추가로 포함함 -; 및 훈련 데이터에 부분적으로 기초하여 추론 모델을 훈련하게 한다.
예 268. 예 261 또는 예 263 내지 예 266 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 복수의 샘플들을 갖는 훈련 데이터 세트를 수신하고; 훈련 데이터 세트에서의 샘플에 기초하여 2개 이상의 추론 모델들에 대한 분류 데이터를 생성하고; 2개 이상의 추론 모델들 각각에 대해 생성된 분류 데이터가 매칭되는지를 결정하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트 내의 샘플을 상관되지 않은 출력 데이터에 추가하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 샘플을 상관된 출력 데이터에 추가하게 한다.
예 269. 예 261 내지 예 262 중 어느 하나 또는 예 264 내지 예 266 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련되지 않은 추론 모델을 선택하고; 입력 디바이스로부터의 입력 데이터를 사용하여 입력 디바이스 특성들에 기초하여 선택된 훈련되지 않은 추론 모델을 훈련하게 한다.
예 270. 예 261 내지 예 263 중 어느 하나 또는 예 265 내지 예 266 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 입력 데이터를 수신하고; 입력 데이터를 트랜스코딩하고; 트랜스코딩된 입력 데이터에 기초하여 훈련 데이터 세트 무결성 상태(TSIS) 값을 생성하고; 입력 데이터에 기초하여 추론 모델이 훈련된다는 검증을 가능하게 하기 위한 출력으로서 TSIS 값을 제공하게 한다.
예 271. 예 261 내지 예 264 또는 예 266 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 훈련하는데 이용되는 훈련 데이터 세트에서 적어도 하나의 에러를 검출하고; 복원 훈련 데이터를 수신하고; 복원 훈련 데이터로 추론 모델을 훈련하게 한다.
예 272. 예 261 내지 예 265 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 적어도 공개 모델 파티션 및 비공개 모델 파티션으로 분할하고; 적대적 모델에 부분적으로 기초하여 공개 모델 파티션을 훈련하게 한다.
예 273. 예 261 내지 예 272 중 어느 하나의 장치에 있어서, 복수의 예상 출력 각각은 복수의 클래스 중 하나에 대응한다.
예 274. 예 261 내지 예 273 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금 신뢰적 추론 모델을 훈련하기 위해 상관된 출력 데이터 세트를 이용하게 하는 명령어들을 저장한다.
예 275. 예 261 내지 예 274 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금 하나 이상의 훈련 흐름에서 상관되지 않은 출력 데이터를 이용하게 한다.
예 276. 예 261 내지 예 275 중 어느 하나의 장치에 있어서, 하나 이상의 훈련 흐름은 복원력 훈련 흐름 또는 적대적 훈련 흐름을 포함한다.
예 277. 예 261 내지 예 276 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 이 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 상관되지 않은 출력 데이터 또는 상관된 출력 데이터 중 하나에 추가되지 않은 훈련 데이터 세트 내의 나머지 샘플을 결정하고; 훈련 데이터 세트에서의 나머지 샘플에 기초하여 2개 이상의 추론 모델들에 대한 추가적인 분류 데이터를 생성하고; 2개 이상의 추론 모델들 각각에 대해 생성된 추가적인 분류 데이터가 매칭되는지 여부를 결정하고; 2개 이상의 추론 모델들 각각에 대해 생성된 추가적인 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트에서의 나머지 샘플을 상관되지 않은 출력 데이터에 추가하고; 2개 이상의 추론 모델 각각에 대해 생성된 추가적인 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 나머지 샘플을 상관된 출력 데이터에 추가하게 한다.
예 278. 예 261 내지 예 277 중 어느 하나의 장치에 있어서, 2개 이상의 추론 모델은 FFNN(feed-forward neural network), RNN(recurrent neural network), CNN(convolutional neural network), LSTM(long/short term memory) 네트워크, DNN(deep neural network), 베이지안 신뢰 네트워크(Bayesian belief network), 및 볼츠만 머신 중 2개 이상을 포함한다.
예 279. 예 261 내지 예 278 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로가 입력 디바이스로부터 입력 데이터 및 입력 디바이스 특성들을 수신하게 하는 명령어들을 저장한다.
예 280. 예 261 내지 예 279 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로가 입력 디바이스로부터의 입력 디바이스 특성들을 요청하게 하는 명령어들을 저장한다.
예 281. 예 261 내지 예 280 중 어느 하나의 장치에 있어서, 훈련되지 않은 추론 모델들은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 282. 예 261 내지 예 281 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터에 기초하여 추론 모델을 훈련하고; 출력에서 추론 모델을 제공하게 한다.
예 283. 예 261 내지 예 282 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델에 기초하여 추론 모델 무결성 상태(IMIS) 값을 생성하고; 출력에서 IMIS 값을 제공하게 한다.
예 284. 예 261 내지 예 283 중 어느 하나의 장치에 있어서, TSIS 값, IMIS 값, 및 추론 모델은 튜플로서 출력에 제공된다.
예 285. 예 261 내지 예 284 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은 회로에 의해 실행될 때 회로로 하여금 입력 데이터를 트랜스코딩하기 위해 입력 데이터를 수학적 표현으로 변환하게 한다.
예 286. 예 261 내지 예 285 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금, 암호 함수를 사용하여 TSIS 값을 생성하게 하는 명령어들을 저장한다.
예 287. 예 261 내지 예 286 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 훈련 데이터 세트를 수신하고; 훈련 데이터 세트로 추론 모드를 훈련하게 한다.
예 288. 예 261 내지 예 287 중 어느 하나의 장치에 있어서, 복원 훈련 데이터는 복수의 입력의 표시들 및 복수의 입력 각각에 대한 대응하는 출력을 포함한다.
예 289. 예 261 내지 예 288 중 어느 하나의 장치에 있어서, 복수의 출력들은 적어도 하나의 에러와 연관된 입력들을 적어도 하나의 와일드카드 클래스로 분류하도록 배열된 적어도 하나의 와일드카드 클래스에 대응한다.
예 290. 예 261 내지 예 289 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델의 층 L1 및 L2를 비공개 모델 파티션에 추가하고; 공개 모델 파티션으로부터 추론 모델의 층 L1 및 L2를 제거하게 한다.
예 291. 예 261 내지 예 290 중 어느 하나의 장치에 있어서, 메모리는 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 비공개 모델 파티션에 대한 성능 비용을 평가하고- 성능 비용은 신뢰할 수 있는 실행 환경에서 비공개 모델 파티션을 실행하는 것에 부분적으로 기초함 -; 성능 비용에 의해 성능 예산이 초과되는지를 결정하고; 성능 비용에 의해 성능 예산이 초과되지 않는다는 결정에 기초하여 비공개 모델 파티션에 추론 모델의 층 L3을 추가하고 공개 모델 파티션으로부터 추론 모델의 층 L3을 제거
예 292. 예 261 내지 예 291 중 어느 하나의 장치에 있어서, 메모리는, 회로에 의해 실행될 때, 회로로 하여금 성능 비용에 의해 성능 예산이 초과된다는 결정에 기초하여 추론 모델의 층 L2을 비공개 모델 파티션으로부터 제거하고 추론 모델의 층 L2를 공개 모델 파티션에 추가하게 하는 명령어들을 저장한다.
예 293. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금: 추론 모델에 대한 훈련 데이터를 수신하고- 훈련 데이터는 복수의 입력 및 복수의 적대적 입력의 표시들을 포함하고, 훈련 데이터는 복수의 입력 및 복수의 적대적 입력 각각에 대한 예상 출력의 표시들을 추가로 포함함 -; 및 훈련 데이터에 부분적으로 기초하여 추론 모델을 훈련하게 한다.
예 294. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 복수의 샘플들을 갖는 훈련 데이터 세트를 수신하고; 훈련 데이터 세트에서의 샘플에 기초하여 2개 이상의 추론 모델들에 대한 분류 데이터를 생성하고; 2개 이상의 추론 모델들 각각에 대해 생성된 분류 데이터가 매칭되는지를 결정하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트 내의 샘플을 상관되지 않은 출력 데이터에 추가하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 샘플을 상관된 출력 데이터에 추가하게 한다.
예 295. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련되지 않은 추론 모델을 선택하고; 입력 디바이스로부터의 입력 데이터를 사용하여 입력 디바이스 특성들에 기초하여 선택된 훈련되지 않은 추론 모델을 훈련하게 한다.
예 296. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 수신하고; 입력 데이터를 트랜스코딩하고; 트랜스코딩된 입력 데이터에 기초하여 훈련 데이터 세트 무결성 상태(TSIS) 값을 생성하고; 입력 데이터에 기초하여 추론 모델이 훈련된다는 검증을 가능하게 하기 위한 출력으로서 TSIS 값을 제공하게 한다.
예 297. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 훈련하는데 이용되는 훈련 데이터 세트에서 적어도 하나의 에러를 검출하고; 복원 훈련 데이터를 수신하고; 복원 훈련 데이터로 추론 모델을 훈련하게 한다.
예 298. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델을 적어도 공개 모델 파티션 및 비공개 모델 파티션으로 분할하고; 적대적 모델에 부분적으로 기초하여 공개 모델 파티션을 훈련하게 한다.
예 299. 예 294 내지 예 298 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 추론 모델에 대한 훈련 데이터를 수신하고- 훈련 데이터는 복수의 입력 및 복수의 적대적 입력의 표시들을 포함하고, 훈련 데이터는 복수의 입력 및 복수의 적대적 입력 각각에 대한 예상 출력의 표시들을 추가로 포함함 -; 및 훈련 데이터에 부분적으로 기초하여 추론 모델을 훈련하게 한다.
예 300. 예 295 내지 예 298 중 어느 하나의 예 293의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 복수의 샘플들을 갖는 훈련 데이터 세트를 수신하고; 훈련 데이터 세트에서의 샘플에 기초하여 2개 이상의 추론 모델들에 대한 분류 데이터를 생성하고; 2개 이상의 추론 모델들 각각에 대해 생성된 분류 데이터가 매칭되는지를 결정하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트 내의 샘플을 상관되지 않은 출력 데이터에 추가하고; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 샘플을 상관된 출력 데이터에 추가하게 한다.
예 301. 예 293 내지 예 294 중 어느 하나 또는 예 296 내지 예 297 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 입력 디바이스에 대한 입력 디바이스 특성들을 결정하고; 입력 디바이스 특성들에 기초하여 훈련되지 않은 추론 모델을 선택하고; 입력 디바이스로부터의 입력 데이터를 사용하여 입력 디바이스 특성들에 기초하여 선택된 훈련되지 않은 추론 모델을 훈련하게 한다.
예 302. 예 293 내지 예 295 중 어느 하나 또는 예 297 내지 예 298 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 입력 데이터를 수신하고; 입력 데이터를 트랜스코딩하고; 트랜스코딩된 입력 데이터에 기초하여 훈련 데이터 세트 무결성 상태(TSIS) 값을 생성하고; 입력 데이터에 기초하여 추론 모델이 훈련된다는 검증을 가능하게 하기 위한 출력으로서 TSIS 값을 제공하게 한다.
예 303. 예 293 내지 예 295 또는 예 298 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때 회로로 하여금: 추론 모델을 훈련하는데 이용되는 훈련 데이터 세트에서 적어도 하나의 에러를 검출하고; 복원 훈련 데이터를 수신하고; 복원 훈련 데이터로 추론 모델을 훈련하게 한다.
예 304. 예 293 내지 예 297 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 추가로 저장하고, 이 명령어들은 회로에 의해 실행될 때, 회로로 하여금: 추론 모델을 적어도 공개 모델 파티션 및 비공개 모델 파티션으로 분할하고; 적대적 모델에 부분적으로 기초하여 공개 모델 파티션을 훈련하게 한다.
예 305. 예 293 내지 예 304 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복수의 예상 출력 각각은 복수의 클래스 중 하나에 대응한다.
예 306. 예 293 내지 예 305 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로로 하여금 신뢰적 추론 모델을 훈련하기 위해 상관된 출력 데이터 세트를 이용하게 하는 명령어들을 저장한다.
예 307. 예 293 내지 예 306 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로로 하여금 하나 이상의 훈련 흐름에서 상관되지 않은 출력 데이터를 이용하게 하는 명령어들을 저장한다.
예 308. 예 293 내지 예 307 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 하나 이상의 훈련 흐름은 복원력 훈련 흐름 또는 적대적 훈련 흐름을 포함한다.
예 309. 예 293 내지 예 308 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들을 저장하고, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금: 상관되지 않은 출력 데이터 또는 상관된 출력 데이터 중 하나에 추가되지 않은 훈련 데이터 세트 내의 나머지 샘플을 결정하고; 훈련 데이터 세트에서의 나머지 샘플에 기초하여 2개 이상의 추론 모델들에 대한 추가적인 분류 데이터를 생성하고; 2개 이상의 추론 모델들 각각에 대해 생성된 추가적인 분류 데이터가 매칭되는지 여부를 결정하고; 2개 이상의 추론 모델들 각각에 대해 생성된 추가적인 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트에서의 나머지 샘플을 상관되지 않은 출력 데이터에 추가하고; 2개 이상의 추론 모델 각각에 대해 생성된 추가적인 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 나머지 샘플을 상관된 출력 데이터에 추가하게 한다.
예 310. 예 293 내지 예 309 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 2개 이상의 추론 모델은 FFNN(feed-forward neural network), RNN(recurrent neural network), CNN(convolutional neural network), LSTM(long/short term memory) 네트워크, DNN(deep neural network), 베이지안 신뢰 네트워크(Bayesian belief network), 및 볼츠만 머신 중 2개 이상을 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
예 311. 예 293 내지 예 310 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로로 하여금, 입력 디바이스로부터 입력 데이터 및 입력 디바이스 특성들을 수신하게 하는 명령어들을 저장한다.
예 312. 예 293 내지 예 311 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 회로에 의해 실행될 때, 회로가 입력 디바이스로부터 입력 디바이스 특성들을 요청하게 하는 명령어들을 저장한다.
예 313. 예 293 내지 예 312 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 훈련되지 않은 추론 모델들은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 314. 예 293 내지 예 313 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터에 기초하여 추론 모델을 훈련하고; 출력에서 추론 모델을 제공하게 한다.
예 315. 예 293 내지 예 314 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 추론 모델에 기초하여 추론 모델 무결성 상태(IMIS) 값을 생성하고; 출력에서 IMIS 값을 제공하게 한다.
예 316. 예들 293 내지 315 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, TSIS 값, IMIS 값, 및 추론 모델은 출력에서 튜플로서 제공된다.
예 317. 예 293 내지 예 316 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 입력 데이터를 트랜스코딩하기 위해 입력 데이터를 수학적 표현으로 변환하게 한다.
예 318. 예 293 내지 예 317 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금 암호 함수를 갖는 TSIS 값을 생성하게 한다.
예 319. 예 293 내지 예 318 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 훈련 데이터 세트를 수신하고; 훈련 데이터 세트로 추론 모드를 훈련하게 한다.
예 320. 예 293 내지 예 319 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복원 훈련 데이터는 복수의 입력들의 표시들 및 복수의 입력들 각각에 대한 대응하는 출력을 포함한다.
예 321. 예 293 내지 예 320 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 복수의 출력들은 적어도 하나의 에러와 연관된 입력들을 적어도 하나의 와일드카드 클래스로 분류하도록 배열된 적어도 하나의 와일드카드 클래스에 대응한다.
예 322. 예 293 내지 예 321 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금: 추론 모델의 층 L1 및 L2를 비공개 모델 파티션에 추가하고; 공개 모델 파티션으로부터 추론 모델의 층 L1 및 L2를 제거하게 한다.
예 323. 예 293 내지 예 322 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은, 회로에 의해 실행될 때, 회로로 하여금, 비공개 모델 파티션에 대한 성능 비용을 평가하고- 성능 비용은 신뢰할 수 있는 실행 환경에서 비공개 모델 파티션을 실행하는 것에 부분적으로 기초함 -; 성능 비용에 의해 성능 예산이 초과되는지를 결정하고; 성능 비용에 의해 성능 예산이 초과되지 않는다는 결정에 기초하여 비공개 모델 파티션에 추론 모델의 층 L3을 추가하고 공개 모델 파티션으로부터 추론 모델의 층 L3을 제거
예 324. 예 293 내지 예 323 중 어느 하나의 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 명령어들은 회로에 의해 실행될 때 회로로 하여금 성능 비용에 의해 성능 예산이 초과된다는 결정에 기초하여 추론 모델의 층 L2을 비공개 모델 파티션으로부터 제거하고 추론 모델의 층 L2를 공개 모델 파티션에 추가하게 한다.
예 325. 컴퓨터 구현 방법으로서, 추론 모델에 대한 훈련 데이터를 수신하는 단계- 훈련 데이터는 복수의 입력 및 복수의 적대적 입력의 표시들을 포함하고, 훈련 데이터는 복수의 입력 및 복수의 적대적 입력 각각에 대한 예상 출력의 표시들을 추가로 포함함 -; 및 훈련 데이터에 부분적으로 기초하여 추론 모델을 훈련하는 단계를 포함한다.
예 326. 컴퓨터 구현 방법으로서, 복수의 샘플들을 갖는 훈련 데이터 세트를 수신하는 단계; 훈련 데이터 세트에서의 샘플에 기초하여 2개 이상의 추론 모델에 대한 분류 데이터를 생성하는 단계; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되는지 여부를 결정하는 단계; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트 내의 샘플을 상관되지 않은 출력 데이터에 부가하는 단계; 및 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 샘플을 상관된 출력 데이터에 부가하는 단계를 포함한다.
예 327. 컴퓨터 구현 방법으로서, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하는 단계; 입력 디바이스 특성들에 기초하여 훈련되지 않은 추론 모델을 선택하는 단계; 및 입력 디바이스로부터의 입력 데이터를 이용하여 입력 디바이스 특성들에 기초하여 선택된 훈련되지 않은 추론 모델을 훈련하는 단계를 포함한다.
예 328. 컴퓨터 구현 방법으로서, 입력 데이터를 수신하는 단계; 입력 데이터를 트랜스코딩하는 단계; 트랜스코딩된 입력 데이터에 기초하여 훈련 데이터 세트 무결성 상태(TSIS) 값을 생성하는 단계; 및 입력 데이터에 기초하여 추론 모델이 훈련된다는 검증을 가능하게 하기 위해 출력으로서 TSIS 값을 제공하는 단계를 포함한다.
예 329. 컴퓨터 구현 방법으로서, 추론 모델을 훈련하는데 이용되는 훈련 데이터 세트에서 적어도 하나의 에러를 검출하는 단계; 복원 훈련 데이터를 수신하는 단계; 및 복원 훈련 데이터로 추론 모델을 훈련하는 단계를 포함한다.
예 330. 컴퓨터 구현 방법으로서, 추론 모델을 적어도 공개 모델 파티션 및 비공개 모델 파티션으로 분할하는 단계; 및 적대적 모델에 부분적으로 기초하여 공개 모델 파티션을 훈련하는 단계를 포함한다.
예 331. 예 326 내지 예 330 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델에 대한 훈련 데이터를 수신하는 단계- 훈련 데이터는 복수의 입력 및 복수의 적대적 입력의 표시들을 포함하고, 훈련 데이터는 복수의 입력 및 복수의 적대적 입력 각각에 대한 예상 출력의 표시들을 추가로 포함함 -; 및 훈련 데이터에 부분적으로 기초하여 추론 모델을 훈련하는 단계를 포함한다.
예 332. 예 325 또는 예 327 내지 예 330 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 샘플들을 갖는 훈련 데이터 세트를 수신하는 단계; 훈련 데이터 세트에서의 샘플에 기초하여 2개 이상의 추론 모델에 대한 분류 데이터를 생성하는 단계; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되는지 여부를 결정하는 단계; 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트 내의 샘플을 상관되지 않은 출력 데이터에 부가하는 단계; 및 2개 이상의 추론 모델 각각에 대해 생성된 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 샘플을 상관된 출력 데이터에 부가하는 단계를 포함한다.
예 333. 예 325 내지 예 326 중 어느 하나 또는 예 328 내지 예 330 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스에 대한 입력 디바이스 특성들을 결정하는 단계; 입력 디바이스 특성들에 기초하여 훈련되지 않은 추론 모델을 선택하는 단계; 및 입력 디바이스로부터의 입력 데이터를 이용하여 입력 디바이스 특성들에 기초하여 선택된 훈련되지 않은 추론 모델을 훈련하는 단계를 포함한다.
예 334. 예 325 내지 예 327 중 어느 하나 또는 예 329 내지 예 330 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 수신하는 단계; 입력 데이터를 트랜스코딩하는 단계; 트랜스코딩된 입력 데이터에 기초하여 훈련 데이터 세트 무결성 상태(TSIS) 값을 생성하는 단계; 및 입력 데이터에 기초하여 추론 모델이 훈련된다는 검증을 가능하게 하기 위해 출력으로서 TSIS 값을 제공하는 단계를 포함한다.
예 335. 예 325 내지 예 328 또는 예 330 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델을 훈련하는데 이용되는 훈련 데이터 세트에서 적어도 하나의 에러를 검출하는 단계; 복원 훈련 데이터를 수신하는 단계; 및 복원 훈련 데이터로 추론 모델을 훈련하는 단계를 포함한다.
예 336. 예 325 내지 예 329 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델을 적어도 공개 모델 파티션 및 비공개 모델 파티션으로 분할하는 단계; 및 적대적 모델에 부분적으로 기초하여 공개 모델 파티션을 훈련하는 단계를 포함한다.
예 337. 예 325 내지 예 336 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 예상 출력 각각은 복수의 클래스 중 하나에 대응한다.
예 338. 예 325 내지 예 337 중 어느 하나의 컴퓨터 구현 방법에 있어서, 신뢰적 추론 모델을 훈련하기 위해 상관된 출력 데이터 세트를 이용하는 단계를 포함한다.
예 339. 예 325 내지 예 338 중 어느 하나의 컴퓨터 구현 방법에 있어서, 하나 이상의 훈련 흐름에서 상관되지 않은 출력 데이터를 이용하는 단계를 포함한다.
예 340. 예 325 내지 예 339 중 어느 하나의 컴퓨터 구현 방법에 있어서, 하나 이상의 훈련 흐름은 복원력 훈련 흐름 또는 적대적 훈련 흐름을 포함한다.
예 341. 예 325 내지 예 340 중 어느 하나의 컴퓨터 구현 방법에 있어서, 상관되지 않은 출력 데이터 또는 상관된 출력 데이터 중 하나에 추가되지 않은 훈련 데이터 세트 내의 나머지 샘플을 결정하는 단계; 훈련 데이터 세트에서의 나머지 샘플에 기초하여 2개 이상의 추론 모델들에 대한 추가적인 분류 데이터를 생성하는 단계; 2개 이상의 추론 모델들 각각에 대해 생성된 추가적인 분류 데이터가 매칭되는지 여부를 결정하는 단계; 2개 이상의 추론 모델들 각각에 대해 생성된 추가적인 분류 데이터가 매칭되지 않을 때, 훈련 데이터 세트에서의 나머지 샘플을 상관되지 않은 출력 데이터에 추가하는 단계; 및 2개 이상의 추론 모델 각각에 대해 생성된 추가적인 분류 데이터가 매칭될 때 훈련 데이터 세트 내의 나머지 샘플을 상관된 출력 데이터에 추가하는 단계를 포함한다.
예 342. 예 325 내지 예 341 중 어느 하나의 컴퓨터 구현 방법에 있어서, 2개 이상의 추론 모델은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 심층 신경망(DNN), 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 2개 이상을 포함하는 컴퓨터 구현 방법.
예 343. 예 325 내지 예 342 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 데이터 및 입력 디바이스 특성들을 수신하는 단계를 포함한다.
예 344. 예 325 내지 예 343 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 디바이스로부터 입력 디바이스 특성들을 요청하는 단계를 포함한다.
예 345. 예 325 내지 예 344 중 어느 하나의 컴퓨터 구현 방법에 있어서, 훈련되지 않은 추론 모델들은 피드포워드 신경망(FFNN), 순환 신경망(RNN), 컨볼루션 신경망(CNN), 장기/단기 메모리(LSTM) 네트워크, 베이지안 신뢰 네트워크, 및 볼츠만 머신 중 하나 이상을 포함한다.
예 346. 예 325 내지 예 345 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터에 기초하여 추론 모델을 훈련하는 단계; 및 출력에서 추론 모델을 제공하는 단계를 포함한다.
예 347. 예 325 내지 예 346 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델에 기초하여 추론 모델 무결성 상태(IMIS) 값을 생성하는 단계; 및 IMIS 값을 출력에 제공하는 단계를 포함한다.
예 348. 예들 325 내지 347 중 어느 하나의 컴퓨터 구현 방법에 있어서, TSIS 값, IMIS 값, 및 추론 모델은 출력에서 튜플로서 제공된다.
예 349. 예 325 내지 예 348 중 어느 하나의 컴퓨터 구현 방법에 있어서, 입력 데이터를 트랜스코딩하기 위해 입력 데이터를 수학적 표현으로 변환하는 단계를 포함한다.
예 350. 예 325 내지 예 349 중 어느 일 예의 컴퓨터 구현 방법에 있어서, 암호 함수로 TSIS 값을 발생시키는 단계를 포함한다.
예 351. 예 325 내지 예 350 중 어느 하나의 컴퓨터 구현 방법에 있어서, 훈련 데이터 세트를 수신하는 단계; 및 훈련 데이터 세트로 추론 모드를 훈련하는 단계를 포함한다.
예 352. 예 325 내지 예 351 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복원 훈련 데이터는 복수의 입력의 표시들 및 복수의 입력 각각에 대한 대응하는 출력을 포함한다.
예 353. 예 325 내지 예 352 중 어느 하나의 컴퓨터 구현 방법에 있어서, 복수의 출력들은 적어도 하나의 에러와 연관된 입력들을 적어도 하나의 와일드카드 클래스로 분류하도록 배열된 적어도 하나의 와일드카드 클래스에 대응한다.
예 354. 예 325 내지 예 353 중 어느 하나의 컴퓨터 구현 방법에 있어서, 추론 모델의 층 L1 및 L2를 비공개 모델 파티션에 추가하는 단계; 및 공개 모델 파티션으로부터 추론 모델의 층 L1 및 L2을 제거하는 단계를 포함한다.
예 355. 예 325 내지 예 354 중 어느 하나의 컴퓨터 구현 방법에 있어서, 비공개 모델 파티션에 대한 성능 비용을 평가하고- 성능 비용은 신뢰할 수 있는 실행 환경에서 비공개 모델 파티션을 실행하는 것에 부분적으로 기초함 -; 성능 비용에 의해 성능 예산이 초과되는지를 결정하는 단계; 및 성능 비용에 의해 성능 예산이 초과되지 않는다는 결정에 기초하여 비공개 모델 파티션에 추론 모델의 층 L3을 추가하고 공개 모델 파티션으로부터 추론 모델의 층 L3을 제거하는 단계를 포함한다.
예 356. 예 325 내지 예 355 중 어느 하나의 컴퓨터 구현 방법에 있어서, 성능 비용에 의해 성능 예산이 초과된다는 결정에 기초하여, 비공개 모델 파티션으로부터 추론 모델의 층 L2을 제거하고 공개 모델 파티션에 추론 모델의 층 L2를 추가하는 단계를 포함한다.
예 357. 예 175 내지 예 260 중 어느 하나 또는 예 325 내지 예 356 중 어느 하나의 기능을 구현하도록 배열된 수단을 포함하는 장치.

Claims (25)

  1. 장치로서,
    회로; 및
    상기 회로에 결합된 메모리를 포함하고, 상기 메모리는 명령어들을 저장하고, 상기 명령어들은 상기 회로에 의해 실행될 때 상기 회로로 하여금,
    입력 디바이스로부터 입력 데이터를 수신하고;
    상기 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고- 상기 출력 데이터는 가시 클래스 또는 은닉 클래스 중 하나에 대한 표시를 포함함 -;
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함하는지를 결정하고; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 상기 생성된 출력을 출력 소비자에게 제공하게 하는, 장치.
  2. 제1항에 있어서, 상기 메모리는 상기 회로에 의해 실행될 때 상기 회로로 하여금 상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 기초하여 모니터링 시스템에 경보를 전송하게 하는 명령어들을 추가로 저장하는, 장치.
  3. 제2항에 있어서, 상기 메모리는 상기 회로에 의해 실행될 때 상기 회로로 하여금,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력- 상기 난독화된 출력은 상기 가시 클래스의 표시를 포함함 -을 생성하고; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 상기 난독화된 출력을 상기 출력 소비자에게 제공하게 하는 명령어들을 추가로 저장하는, 장치.
  4. 제3항에 있어서, 상기 메모리는, 상기 회로에 의해 실행될 때 상기 회로로 하여금,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 수집하며- 상기 포렌식 데이터는 상기 입력 데이터 및 상기 입력 디바이스 중 적어도 하나의 표시를 포함함 -, 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 상기 포렌식 데이터를 상기 모니터링 시스템에 제공하게 하는 명령어들을 추가로 저장하는, 장치.
  5. 제3항에 있어서, 상기 가시 클래스는 복수의 가시 클래스들을 포함하고, 상기 출력 데이터는 상기 은닉 클래스 또는 상기 복수의 가시 클래스들 중 하나의 표시를 포함하는, 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 은닉 클래스는 복수의 은닉 클래스를 포함하고, 상기 출력 데이터는 상기 복수의 은닉 클래스 중 하나 또는 상기 복수의 가시 클래스 중 하나의 표시를 포함하는, 장치.
  7. 제6항에 있어서, 상기 복수의 은닉 클래스 중 적어도 하나는 블랙리스트 입력들에 대응하는, 장치.
  8. 제6항에 있어서, 상기 메모리는, 상기 회로에 의해 실행될 때 상기 회로로 하여금,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 상기 출력 데이터에 의해 표시되는 복수의 은닉 클래스 중 하나와 연관된 복수의 가시 클래스 중 하나를 식별하고; 및
    상기 복수의 가시 클래스들 중 상기 식별된 하나의 가시 클래스의 표시를 포함하도록 상기 난독화된 출력을 생성하게 하는 명령어들을 추가로 저장하는, 장치.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서, 신뢰할 수 있는 실행 환경(TEE)을 포함하고, 상기 TEE는 상기 회로 및 상기 메모리를 포함하는, 장치.
  10. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령어들은, 회로에 의해 실행될 때, 상기 회로로 하여금,
    입력 디바이스로부터 입력 데이터를 수신하고;
    상기 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하고- 상기 출력 데이터는 가시 클래스 또는 은닉 클래스 중 하나에 대한 표시를 포함함 -;
    상기 출력 데이터가 은닉 클래스의 표시를 포함하는지를 결정하고; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 상기 생성된 출력을 출력 소비자에게 제공하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  11. 제10항에 있어서, 상기 메모리는, 상기 회로에 의해 실행될 때, 상기 회로로 하여금, 상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 기초하여 모니터링 시스템에 경보를 전송하게 하는 명령어들을 추가로 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서, 상기 회로에 의해 실행될 때, 상기 회로로 하여금,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력- 상기 난독화된 출력은 상기 가시 클래스의 표시를 포함함 -을 생성하고; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 상기 난독화된 출력을 상기 출력 소비자에게 제공하게 하는 명령어들을 추가로 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서, 상기 회로에 의해 실행될 때, 상기 회로로 하여금,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 수집하며- 상기 포렌식 데이터는 상기 입력 데이터 및 상기 입력 디바이스 중 적어도 하나의 표시를 포함함 -, 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 상기 포렌식 데이터를 상기 모니터링 시스템에 제공하게 하는 명령어들을 추가로 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제12항에 있어서, 상기 가시 클래스는 복수의 가시 클래스들을 포함하고, 상기 출력 데이터는 상기 은닉 클래스 또는 상기 복수의 가시 클래스들 중 하나의 가시 클래스의 표시를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서, 상기 은닉 클래스는 복수의 은닉 클래스들을 포함하고, 상기 출력 데이터는 상기 복수의 은닉 클래스들 중 하나 또는 상기 복수의 가시 클래스들 중 하나의 표시를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서, 상기 복수의 은닉 클래스 중 적어도 하나는 블랙리스트 입력들에 대응하는, 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제15항에 있어서, 상기 회로에 의해 실행될 때, 상기 회로로 하여금,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 상기 출력 데이터에 의해 표시되는 복수의 은닉 클래스 중 하나와 연관된 복수의 가시 클래스 중 하나를 식별하고; 및
    상기 복수의 가시 클래스들 중 상기 식별된 하나의 가시 클래스의 표시를 포함하도록 상기 난독화된 출력을 생성하게 하는 명령어들을 추가로 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제10항 내지 제14항 중 어느 한 항에 있어서, 상기 회로는 신뢰할 수 있는 실행 환경(TEE)의 일부인, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 컴퓨터 구현 방법으로서,
    입력 디바이스로부터 입력 데이터를 수신하는 단계;
    상기 입력 데이터로 추론 모델을 실행하는 것에 부분적으로 기초하여 출력 데이터를 생성하는 단계- 상기 출력 데이터는 가시 클래스 또는 은닉 클래스 중 어느 하나에 대한 표시를 포함함 -;
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함하는지를 결정하는 단계; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함하지 않는다는 결정에 기초하여 상기 생성된 출력을 출력 소비자에게 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
  20. 제19항에 있어서, 상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 기초하여 모니터링 시스템에 경보를 전송하는 단계를 포함하는, 컴퓨터 구현 방법.
  21. 제20항에 있어서,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 난독화된 출력- 상기 난독화된 출력은 상기 가시 클래스의 표시를 포함함 -을 생성하는 단계; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 상기 난독화된 출력을 상기 출력 소비자에게 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
  22. 제21항에 있어서,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 포렌식 데이터를 수집하는 단계- 상기 포렌식 데이터는 상기 입력 데이터 및 상기 입력 디바이스 중 적어도 하나의 표시를 포함함 -; 및
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답해서, 상기 포렌식 데이터를 상기 모니터링 시스템에 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
  23. 제21항에 있어서, 상기 가시 클래스는 복수의 가시 클래스들을 포함하고, 상기 출력 데이터는 상기 은닉 클래스 또는 상기 복수의 가시 클래스들 중 하나의 표시를 포함하는, 컴퓨터 구현 방법.
  24. 제23항에 있어서, 상기 은닉 클래스는 복수의 은닉 클래스를 포함하고, 상기 출력 데이터는 상기 복수의 은닉 클래스 중 하나 또는 상기 복수의 가시 클래스 중 하나의 표시를 포함하는, 컴퓨터 구현 방법.
  25. 제24항에 있어서,
    상기 출력 데이터가 상기 은닉 클래스의 표시를 포함한다는 결정에 응답하여, 상기 출력 데이터에 의해 표시되는 복수의 은닉 클래스 중 하나와 연관된 복수의 가시 클래스 중 하나를 식별하는 단계; 및
    상기 복수의 가시 클래스들 중 상기 식별된 하나의 가시 클래스의 표시를 포함하도록 상기 난독화된 출력을 생성하는 단계를 포함하는, 컴퓨터 구현 방법.
KR1020217016452A 2018-12-31 2019-04-23 인공 지능을 이용한 보안 시스템 KR20210099564A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862786941P 2018-12-31 2018-12-31
US62/786,941 2018-12-31
PCT/US2019/028687 WO2020142110A1 (en) 2018-12-31 2019-04-23 Securing systems employing artificial intelligence

Publications (1)

Publication Number Publication Date
KR20210099564A true KR20210099564A (ko) 2021-08-12

Family

ID=71406672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217016452A KR20210099564A (ko) 2018-12-31 2019-04-23 인공 지능을 이용한 보안 시스템

Country Status (7)

Country Link
US (1) US20210319098A1 (ko)
EP (2) EP3906508B1 (ko)
JP (1) JP7376593B2 (ko)
KR (1) KR20210099564A (ko)
CN (1) CN112334917A (ko)
BR (1) BR112021010468A2 (ko)
WO (1) WO2020142110A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201809997SA (en) * 2018-11-09 2020-06-29 Accenture Global Solutions Ltd Dark web content analysis and identification
US11507677B2 (en) * 2019-02-15 2022-11-22 Microsoft Technology Licensing, Llc Image classification modeling while maintaining data privacy compliance
CN110727633A (zh) * 2019-09-17 2020-01-24 广东高云半导体科技股份有限公司 基于SoC FPGA的边缘人工智能计算***构架
US11775692B2 (en) 2019-10-10 2023-10-03 Baidu Usa Llc Method and system for encrypting data using a kernel
US11457002B2 (en) 2019-10-10 2022-09-27 Baidu Usa Llc Method and system for encrypting data using a command
US11704390B2 (en) 2019-10-10 2023-07-18 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using a query
US11436305B2 (en) 2019-10-10 2022-09-06 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using implicit data
US11637697B2 (en) * 2019-10-10 2023-04-25 Baidu Usa Llc Method and system for signing output using a kernel
US11537689B2 (en) 2019-10-10 2022-12-27 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using a kernel
US11470053B2 (en) * 2019-10-14 2022-10-11 Nec Corporation Privacy-preserving machine learning
US11611590B1 (en) * 2019-12-09 2023-03-21 Proofpoint, Inc. System and methods for reducing the cybersecurity risk of an organization by verifying compliance status of vendors, products and services
US11973774B2 (en) * 2020-02-28 2024-04-30 Darktrace Holdings Limited Multi-stage anomaly detection for process chains in multi-host environments
CN113785307B (zh) * 2020-04-03 2022-11-25 谷歌有限责任公司 安全和隐私保护设备分类的***和方法
US20210357739A1 (en) * 2020-05-14 2021-11-18 Micron Technology, Inc. Memory device to train neural networks
US11502829B2 (en) * 2020-09-02 2022-11-15 Vmware, Inc. Robust input verification for secure multi-party computation (MPC) with clients
WO2022059135A1 (ja) * 2020-09-17 2022-03-24 株式会社日立ハイテク エラー要因の推定装置及び推定方法
JP7442696B2 (ja) 2020-10-01 2024-03-04 エヌイーシー ラボラトリーズ アメリカ インク 投票に基づく差分プライベート連合学習のためのアプローチ
WO2022075538A1 (en) * 2020-10-09 2022-04-14 Samsung Electronics Co., Ltd. Methods and system for on-device ai model parameter run-time protection
US11853793B2 (en) 2020-10-09 2023-12-26 Samsung Electronics Co., Ltd. Methods and system for on-device AI model parameter run-time protection
US11375582B2 (en) * 2020-10-16 2022-06-28 Verizon Patent And Licensing Inc. Systems and methods for scalable edge-based microcontrollers
KR20220064665A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 인공지능 모델을 분산 처리하는 전자 장치 및 그 동작 방법
TWI768555B (zh) * 2020-11-23 2022-06-21 威盛電子股份有限公司 調整神經網路輸入資料的系統及方法
US20220179990A1 (en) * 2020-12-03 2022-06-09 International Business Machines Corporation Federated private adversarial training
US20220198045A1 (en) * 2020-12-21 2022-06-23 Cryptography Research, Inc. Protection of neural networks by obfuscation of activation functions
US11893132B2 (en) 2021-02-23 2024-02-06 International Business Machines Corporation Discovery of personal data in machine learning models
CA3204311A1 (en) * 2021-02-25 2022-09-01 Harrison CHASE Method and system for securely deploying an artificial intelligence model
WO2022216867A1 (en) * 2021-04-06 2022-10-13 Wyze Labs, Inc. Dynamic edge-cloud collaboration with knowledge adaptation
WO2022217354A1 (en) * 2021-04-15 2022-10-20 BicDroid Inc. System and method for protecting deep image classifiers
CN115345305A (zh) * 2021-05-12 2022-11-15 华为云计算技术有限公司 一种推理***、方法、装置及相关设备
CN113297574B (zh) * 2021-06-11 2022-08-02 浙江工业大学 基于强化学习奖励机制的激活函数自适应变化模型窃取防御方法
US20220400124A1 (en) * 2021-06-14 2022-12-15 Mellanox Technologies Ltd. Network devices assisted by machine learning
IT202100018998A1 (it) * 2021-07-19 2023-01-19 Milano Politecnico Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico
DE102021213418A1 (de) * 2021-11-29 2023-06-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Schnittstellenkomponente für verteilte Komponenten eines Systems des maschinellen Lernens
US12021986B2 (en) 2021-12-27 2024-06-25 Industrial Technology Research Institute Neural network processing method and server and electrical device therefor
TWI776760B (zh) * 2021-12-27 2022-09-01 財團法人工業技術研究院 神經網路之處理方法及其伺服器與電子裝置
US20230245127A1 (en) * 2022-02-02 2023-08-03 Kyndryl, Inc. Augmented user authentication
CN114897177A (zh) * 2022-04-06 2022-08-12 中国电信股份有限公司 数据建模方法、装置、电子设备及存储介质
US20230334161A1 (en) * 2022-04-19 2023-10-19 Bank Of America Corporation System and method for providing complex data encryption
TWI832279B (zh) * 2022-06-07 2024-02-11 宏碁股份有限公司 人工智慧模型運算加速系統及人工智慧模型運算加速方法
KR102641628B1 (ko) * 2022-08-05 2024-02-29 주식회사 노타 분할된 딥러닝 모델을 이용한 서비스 제공 방법 및 시스템
CN115238250B (zh) * 2022-09-15 2022-12-27 支付宝(杭州)信息技术有限公司 一种模型的处理方法、装置及设备
CN115455484B (zh) * 2022-09-22 2023-04-18 重庆蓝数软件有限公司 一种针对云计算空间的数据泄露应对方法及服务器
CN117857083A (zh) * 2023-11-29 2024-04-09 慧之安信息技术股份有限公司 一种基于拟态防御的后门攻击防御办法和***

Family Cites Families (688)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849905A (en) * 1987-10-28 1989-07-18 International Business Machines Corporation Method for optimized RETE pattern matching in pattern-directed, rule-based artificial intelligence production systems
US4890240A (en) * 1988-09-20 1989-12-26 International Business Machines Corporation Coalescing changes in pattern-directed, rule-based artificial intelligence production systems
JPH03219232A (ja) * 1990-01-24 1991-09-26 Konica Corp 分光増感されたハロゲン化銀写真感光材料
US5248586A (en) * 1990-04-06 1993-09-28 Konica Corporation Silver halide color photographic materials
US5258269A (en) * 1990-07-09 1993-11-02 Konica Corporation Silver halide color photographic light sensitive material stored in roll and the photographic unit therefor
US5202229A (en) * 1990-07-26 1993-04-13 Konica Corporation Method for forming a color photographic image
US5188925A (en) * 1990-09-05 1993-02-23 Konica Corporation Processing method for silver halide color photographic light-sensitive material
JP2877579B2 (ja) * 1991-08-26 1999-03-31 コニカ株式会社 ハロゲン化銀カラー写真感光材料
JPH0588324A (ja) * 1991-09-25 1993-04-09 Konica Corp ハロゲン化銀カラー写真感光材料
JP2929511B2 (ja) * 1991-09-25 1999-08-03 コニカ株式会社 ハロゲン化銀カラー写真感光材料
EP0536889A1 (en) * 1991-10-11 1993-04-14 Konica Corporation Silver halide color photographic light sensitive material
JP3160776B2 (ja) * 1992-07-23 2001-04-25 コニカ株式会社 ハロゲン化銀写真感光材料
US5362618A (en) * 1992-07-23 1994-11-08 Konica Corporation Silver halide photographic light-sensitive material
JPH06118584A (ja) * 1992-10-06 1994-04-28 Konica Corp ハロゲン化銀カラー写真感光材料
US5398304A (en) * 1992-12-22 1995-03-14 Mitsubishi Denki Kabushiki Kaisha Control process for artificial intelligence software shell
US5402524A (en) * 1992-12-22 1995-03-28 Mitsubishi Denki Kabushiki Kaisha Case-based knowledge source for artificial intelligence software shell
US5412756A (en) * 1992-12-22 1995-05-02 Mitsubishi Denki Kabushiki Kaisha Artificial intelligence software shell for plant operation simulation
US5402526A (en) * 1993-01-05 1995-03-28 Mitsubishi Denki Kabushiki Kaisha Interruptibility/priority control scheme for artificial intelligence software shell
JPH06230534A (ja) * 1993-02-05 1994-08-19 Konica Corp ハロゲン化銀カラー写真感光材料
EP0610709B1 (de) * 1993-02-11 1998-06-10 Siemens Aktiengesellschaft Verfahren zur Herstellung einer dreidimensionalen Schaltungsanordnung
JPH06289527A (ja) * 1993-04-01 1994-10-18 Konica Corp ハロゲン化銀写真乳剤及びハロゲン化銀写真感光材料
JPH0736847A (ja) * 1993-07-15 1995-02-07 Jun Nakatani 人工知能における学習・推論方法および装置
US5473732A (en) * 1993-11-02 1995-12-05 Chang; Hou-Mei H. Relational artificial intelligence system
US5599767A (en) * 1994-05-27 1997-02-04 Micro Flo Company Salt sensitive binder system
US6074493A (en) * 1994-06-15 2000-06-13 Kawasaki Steel Corporation Method of continuously carburizing metal strip
US5629142A (en) * 1995-12-19 1997-05-13 Eastman Kodak Company Dual coating radiographic elements containing tabular grain emulsions with improved photographic vehicles
JP2000089399A (ja) * 1998-09-09 2000-03-31 Konica Corp ハロゲン化銀写真乳剤及びハロゲン化銀写真感光材料
EP0997776A1 (en) * 1998-10-29 2000-05-03 Konica Corporation Image forming method
FR2795848B1 (fr) * 1999-07-01 2001-08-17 Commissariat Energie Atomique Systeme d'intelligence artificielle pour la classification d'evenements, d'objets ou de situations a partir de signaux et de parametres discriminants issus de modeles
US6446056B1 (en) * 1999-09-10 2002-09-03 Yamaha Hatsudoki Kabushiki Kaisha Interactive artificial intelligence
US6604091B2 (en) * 1999-09-10 2003-08-05 Yamaha Hatsudoki Kabushiki Kaisha Interactive artificial intelligence
US20020029205A1 (en) * 2000-04-26 2002-03-07 Alfonso Pedraza Industry and/or other specific educatable/reasoning artificial intelligence analyzation control system(s), process(es)and/or method(s) to increase accuracy, reduce human error faults in new or existent system(s), process(es) and/or method(s)
US6738753B1 (en) * 2000-08-21 2004-05-18 Michael Andrew Hogan Modular, hierarchically organized artificial intelligence entity
US7231652B2 (en) * 2001-03-28 2007-06-12 Koninklijke Philips N.V. Adaptive sampling technique for selecting negative examples for artificial intelligence applications
WO2003044687A1 (en) * 2001-11-16 2003-05-30 Yuan Yan Chen Pausible neural network with supervised and unsupervised cluster analysis
US8972316B2 (en) * 2012-06-28 2015-03-03 Knowmtech, Llc Extensible adaptive classification framework
US7236963B1 (en) * 2002-03-25 2007-06-26 John E. LaMuth Inductive inference affective language analyzer simulating transitional artificial intelligence
MY141127A (en) * 2002-11-18 2010-03-15 Univ Putra Malaysia Artificial intelligence device and corresponding methods for selecting machinability data
US20080255684A1 (en) * 2002-11-18 2008-10-16 Universiti Putra Malaysia Artificial intelligence device and corresponding methods for selecting machinability data
US7337157B2 (en) * 2003-02-19 2008-02-26 Kurzweil Technologies, Inc. System, method, and product of manufacture for implementing an EAIL (enhanced artificial intelligence language) engine
US7305372B2 (en) * 2003-03-04 2007-12-04 Kurzweil Technologies, Inc. Enhanced artificial intelligence language
US8478645B2 (en) * 2003-04-07 2013-07-02 Sevenecho, Llc Method, system and software for digital media narrative personalization
US20070181232A1 (en) * 2004-03-25 2007-08-09 Posco Cold rolled steel sheet and hot dipped steel sheet with superior strength and bake hardenability and method for manufacturing the steel sheets
JP2005332480A (ja) * 2004-05-19 2005-12-02 Fuji Photo Film Co Ltd 光情報記録担体
US8065525B2 (en) * 2004-09-22 2011-11-22 Bekad Mgmt. Ii, Llc Device with built-in user authentication and method for user authentication and identity theft protection
US7302855B2 (en) * 2004-10-28 2007-12-04 Denso Corporation Pressure detection device
AU2006214515A1 (en) * 2005-02-16 2006-08-24 Wyeth Use of estrogen receptor-b selective agonists for radiation-or chemotherapy-induced mucosistis and radiation cystitis
US20070094195A1 (en) * 2005-09-09 2007-04-26 Ching-Wei Wang Artificial intelligence analysis, pattern recognition and prediction method
US8128763B2 (en) * 2005-09-23 2012-03-06 Posco Bake-hardenable cold rolled steel sheet with superior strength, galvannealed steel sheet using the cold rolled steel sheet and method for manufacturing the cold rolled steel sheet
KR100685037B1 (ko) * 2005-09-23 2007-02-20 주식회사 포스코 내시효성이 우수한 고장력 소부경화형 냉간압연강판,용융도금강판 및 냉연강판의 제조방법
US7941389B2 (en) * 2006-02-10 2011-05-10 Numenta, Inc. Hierarchical temporal memory based system including nodes with input or output variables of disparate properties
US20080005137A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Incrementally building aspect models
US20080210126A1 (en) * 2006-11-03 2008-09-04 Apeagyei Alex K Antioxidant treatment of asphalt binders
US8062466B2 (en) * 2008-05-06 2011-11-22 Asahi Rubber Inc. Base material for adhesion and silicone rubber-adhered article using thereof
IL191744A0 (en) * 2008-05-27 2009-02-11 Yuval Elovici Unknown malcode detection using classifiers with optimal training sets
US9202171B2 (en) * 2008-11-11 2015-12-01 Digideal Corporation Virtual game assistant based on artificial intelligence
US8280831B1 (en) * 2009-02-23 2012-10-02 The United States Of America As Represented By The Secretary Of The Navy Type 6 KASER (knowledge amplification by structured expert randomization) for providing case-based inductive and analogical reasoning
US8660670B2 (en) * 2009-09-10 2014-02-25 Sam FREED Controller with artificial intelligence based on selection from episodic memory and corresponding methods
US8343371B2 (en) * 2010-01-15 2013-01-01 Tokyo Electron Limited Apparatus and method for improving photoresist properties using a quasi-neutral beam
US10568716B2 (en) * 2010-03-17 2020-02-25 ClearCorrect Holdings, Inc. Methods and systems for employing artificial intelligence in automated orthodontic diagnosis and treatment planning
US9788917B2 (en) * 2010-03-17 2017-10-17 ClearCorrect Holdings, Inc. Methods and systems for employing artificial intelligence in automated orthodontic diagnosis and treatment planning
US8478698B1 (en) * 2010-03-17 2013-07-02 James Mah Methods and systems for employing artificial intelligence in automated orthodontic diagnosis and treatment planning
US9152767B2 (en) * 2010-03-17 2015-10-06 ClearCorrect Holdings, Inc. Methods and systems for employing artificial intelligence in automated orthodontic diagnosis and treatment planning
US20180107940A1 (en) * 2010-04-27 2018-04-19 Jeremy Lieberman Artificial intelligence method and apparatus
US10289959B2 (en) * 2010-05-26 2019-05-14 Automation Anywhere, Inc. Artificial intelligence and knowledge based automation enhancement
FR2960556B3 (fr) * 2010-05-31 2012-05-11 Arcelormittal Wire France Fil de forme en acier a hautes caracteristiques mecaniques resistant a la fragilisation par l'hydrogene
WO2012077666A1 (ja) * 2010-12-08 2012-06-14 オムロンヘルスケア株式会社 血圧情報測定装置および該装置での動脈硬化度の指標の算出方法
WO2013040598A1 (en) * 2011-09-15 2013-03-21 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting return-oriented programming payloads
US9672355B2 (en) * 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9443205B2 (en) * 2011-10-24 2016-09-13 President And Fellows Of Harvard College Enhancing diagnosis of disorder through artificial intelligence and mobile health technologies without compromising accuracy
US9349103B2 (en) * 2012-01-09 2016-05-24 DecisionQ Corporation Application of machine learned Bayesian networks to detection of anomalies in complex systems
US20140046891A1 (en) * 2012-01-25 2014-02-13 Sarah Banas Sapient or Sentient Artificial Intelligence
US8880445B2 (en) * 2012-04-20 2014-11-04 Unbound Concepts, Inc. Method and apparatus for performing dynamic textual complexity analysis using machine learning artificial intelligence
US8447419B1 (en) * 2012-05-02 2013-05-21 Ether Dynamics Corporation Pseudo-genetic meta-knowledge artificial intelligence systems and methods
JP2015526795A (ja) * 2012-06-21 2015-09-10 トムソン ライセンシングThomson Licensing ユーザの人口統計データを推定する方法と装置
US8972324B2 (en) * 2012-07-25 2015-03-03 Toytalk, Inc. Systems and methods for artificial intelligence script modification
GB2504957A (en) * 2012-08-14 2014-02-19 Henkel Ag & Co Kgaa Curable compositions comprising composite particles
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20140082449A1 (en) * 2012-09-18 2014-03-20 Fan Zhang LDPC Decoder With Variable Node Hardening
US9742791B2 (en) * 2012-12-18 2017-08-22 Tinfoil Security, Inc. Site independent methods for deriving contextually tailored security vulnerability corrections for hardening solution stacks
US10078743B1 (en) * 2013-01-31 2018-09-18 Narus, Inc. Cross identification of users in cyber space and physical world
US9904893B2 (en) * 2013-04-02 2018-02-27 Patternex, Inc. Method and system for training a big data machine to defend
US20150032670A1 (en) * 2013-07-26 2015-01-29 Robert Brazell Avatar Having Optimizing Artificial Intelligence for Identifying and Providing Relationship and Wellbeing Recommendations
EP3028203A4 (en) * 2013-07-31 2017-03-29 Hewlett-Packard Enterprise Development LP Signal tokens indicative of malware
US9342796B1 (en) * 2013-09-16 2016-05-17 Amazon Technologies, Inc. Learning-based data decontextualization
US9710753B1 (en) * 2013-10-22 2017-07-18 Lumin, LLC Collaboration of audio sensors for geo-location of events in an artificial intelligence (AI) environment
US10846599B2 (en) * 2013-10-22 2020-11-24 Lumin, LLC Collaboration of audio sensors for geo-location and continuous tracking of health conditions for users in a device-independent artificial intelligence (AI) environment
US9818061B1 (en) * 2013-10-22 2017-11-14 Lumin, LLC Collaboration of audio sensors for geo-location and continuous tracking of multiple users in a device-independent artificial intelligence (AI) environment
US20170132822A1 (en) * 2013-11-27 2017-05-11 Larson-Juhl, Inc. Artificial intelligence in virtualized framing using image metadata
CN104133667B (zh) * 2013-11-29 2017-08-01 腾讯科技(成都)有限公司 实现人工智能行为的方法、装置及人工智能编辑器
CN104133666B (zh) * 2013-11-29 2017-11-17 腾讯科技(成都)有限公司 确定人工智能行为的方法、装置及人工智能服务器
US10019520B1 (en) * 2013-12-13 2018-07-10 Joy Sargis Muske System and process for using artificial intelligence to provide context-relevant search engine results
US9563771B2 (en) * 2014-01-22 2017-02-07 Object Security LTD Automated and adaptive model-driven security system and method for operating the same
US9971973B1 (en) * 2016-05-23 2018-05-15 Applied Underwriters, Inc. Artificial intelligence system for training a classifier
US11176475B1 (en) * 2014-03-11 2021-11-16 Applied Underwriters, Inc. Artificial intelligence system for training a classifier
US20160078365A1 (en) * 2014-03-21 2016-03-17 Philippe Baumard Autonomous detection of incongruous behaviors
US20180053114A1 (en) * 2014-10-23 2018-02-22 Brighterion, Inc. Artificial intelligence for context classifier
US20150286945A1 (en) * 2014-04-03 2015-10-08 Vertical Data, LLC Artificial Intelligence System and Method for Making Decisions About Data Objects
US10789367B2 (en) * 2014-04-18 2020-09-29 Micro Focus Llc Pre-cognitive security information and event management
GB2526541A (en) * 2014-05-25 2015-12-02 Corey Kaizen Reaux-Savonte System, structure and method for a conscious, human-like artificial intelligence system in a non-natural entity
US10729351B1 (en) * 2014-06-05 2020-08-04 Guangren CHEN Artificial intelligence (AI) electrocardiogram (ECG)
US11437125B2 (en) * 2014-06-13 2022-09-06 University Hospitals Cleveland Medical Center Artificial-intelligence-based facilitation of healthcare delivery
EP3155566A4 (en) * 2014-06-16 2018-05-02 Eric Burton Baum System, apparatus and method for supporting formal verification of informal inference on a computer
US20160004958A1 (en) * 2014-07-01 2016-01-07 Lawrence Byng Digital quaternary fractal computer for applications of artificial intelligence
US10133987B2 (en) * 2014-07-14 2018-11-20 Federated Wireless, Inc. Categorizing radio signals while obfuscating characteristics of federal radio signals
US20150046332A1 (en) * 2014-08-08 2015-02-12 Brighterion, Inc. Behavior tracking smart agents for artificial intelligence fraud protection and management
US20160055427A1 (en) * 2014-10-15 2016-02-25 Brighterion, Inc. Method for providing data science, artificial intelligence and machine learning as-a-service
US10133791B1 (en) * 2014-09-07 2018-11-20 DataNovo, Inc. Data mining and analysis system and method for legal documents
US20180121824A1 (en) * 2014-09-26 2018-05-03 Dreamsquare Inc. Artificial Intelligence for Decision Making Based on Machine Learning of Human Decision Making Process
US9705849B2 (en) * 2014-09-30 2017-07-11 Intel Corporation Technologies for distributed detection of security anomalies
US20160091965A1 (en) * 2014-09-30 2016-03-31 Microsoft Corporation Natural motion-based control via wearable and mobile devices
US20160063502A1 (en) * 2014-10-15 2016-03-03 Brighterion, Inc. Method for improving operating profits with better automated decision making with artificial intelligence
US20160071017A1 (en) * 2014-10-15 2016-03-10 Brighterion, Inc. Method of operating artificial intelligence machines to improve predictive model training and performance
WO2016061628A1 (en) * 2014-10-24 2016-04-28 National Ict Australia Limited Learning with transformed data
US9985984B1 (en) * 2014-10-27 2018-05-29 National Technology & Engineering Solutions Of Sandia, Llc Dynamic defense and network randomization for computer systems
DE102014016968A1 (de) * 2014-11-18 2015-01-22 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android
US10248653B2 (en) * 2014-11-25 2019-04-02 Lionbridge Technologies, Inc. Information technology platform for language translation and task management
US10410125B1 (en) * 2014-12-05 2019-09-10 Amazon Technologies, Inc. Artificial intelligence based identification of negative user sentiment in event data
US10410273B1 (en) * 2014-12-05 2019-09-10 Amazon Technologies, Inc. Artificial intelligence based identification of item attributes associated with negative user sentiment
US10574675B2 (en) * 2014-12-05 2020-02-25 T-Mobile Usa, Inc. Similarity search for discovering multiple vector attacks
US20200067861A1 (en) * 2014-12-09 2020-02-27 ZapFraud, Inc. Scam evaluation system
US10127214B2 (en) * 2014-12-09 2018-11-13 Sansa Al Inc. Methods for generating natural language processing systems
US10530671B2 (en) * 2015-01-15 2020-01-07 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for generating and using a web page classification model
US11042910B2 (en) * 2015-01-23 2021-06-22 Conversica, Inc. Systems and methods for processing message exchanges using artificial intelligence
WO2016126994A1 (en) * 2015-02-06 2016-08-11 Quorum.Ai Inc. System and method for using artificial intelligence in making decisions
US9892133B1 (en) * 2015-02-13 2018-02-13 Amazon Technologies, Inc. Verifying item attributes using artificial intelligence
CN104821934B (zh) * 2015-03-20 2018-11-20 百度在线网络技术(北京)有限公司 基于人工智能的声纹登录方法和装置
WO2016154598A1 (en) * 2015-03-25 2016-09-29 Carnegie Mellon University System and method for adaptive, rapidly deployable, human-intelligent sensor feeds
US9465940B1 (en) * 2015-03-30 2016-10-11 Cylance Inc. Wavelet decomposition of software entropy to identify malware
US11221990B2 (en) * 2015-04-03 2022-01-11 The Mitre Corporation Ultra-high compression of images based on deep learning
US10268969B2 (en) * 2015-04-16 2019-04-23 Disney Enterprises, Inc. Artificial intelligence controlled entertainment performance
US20180150843A1 (en) * 2015-04-18 2018-05-31 Brighterion, Inc. Reducing "declined" decisions with smart agent and artificial intelligence
US20160321563A1 (en) * 2015-04-30 2016-11-03 University Of Southern California Optimized artificial intelligence machines that allocate patrol agents to minimize opportunistic crime based on learned model
BR112017023869A2 (pt) * 2015-05-04 2018-07-24 Kamran Hasan Syed sistema de segurança informática que processa um evento de segurança; sistema de segurança virtual; método para crescimento de inteligência interativa; e sistema de identificação, integração e análise de inteligência de ameaça virtual
EP3098681B1 (en) * 2015-05-27 2020-08-26 Tata Consultancy Services Limited Artificial intelligence based health management of host system
CN104951077A (zh) * 2015-06-24 2015-09-30 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法、装置和终端设备
CN105094315B (zh) * 2015-06-25 2018-03-06 百度在线网络技术(北京)有限公司 基于人工智能的人机智能聊天的方法和装置
US20190213464A9 (en) * 2015-06-30 2019-07-11 Robert Polkowski Artificial Intelligence Support for Sufferers of Cognitive Dysfunction
US9280745B1 (en) * 2015-07-08 2016-03-08 Applied Underwriters, Inc. Artificial intelligence expert system for screening
US9760564B2 (en) * 2015-07-09 2017-09-12 International Business Machines Corporation Extracting veiled meaning in natural language content
US9928300B2 (en) * 2015-07-16 2018-03-27 NewsRx, LLC Artificial intelligence article analysis interface
US9443192B1 (en) * 2015-08-30 2016-09-13 Jasmin Cosic Universal artificial intelligence engine for autonomous computing devices and software applications
AU2016222401B1 (en) * 2015-08-31 2017-02-23 Accenture Global Solutions Limited Intelligent data munging
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US20170098172A1 (en) * 2015-10-06 2017-04-06 Evolv Technologies, Inc. Training Artificial Intelligence
US10142909B2 (en) * 2015-10-13 2018-11-27 The Board Of Trustees Of The University Of Alabama Artificial intelligence-augmented, ripple-diamond-chain shaped rateless routing in wireless mesh networks with multi-beam directional antennas
JP5907469B2 (ja) * 2015-10-16 2016-04-26 洋彰 宮崎 言語入力により自律的に知識を拡大する人工知能装置
US20220201042A1 (en) * 2015-10-28 2022-06-23 Qomplx, Inc. Ai-driven defensive penetration test analysis and recommendation system
US20220210200A1 (en) * 2015-10-28 2022-06-30 Qomplx, Inc. Ai-driven defensive cybersecurity strategy analysis and recommendation system
US20220377093A1 (en) * 2015-10-28 2022-11-24 Qomplx, Inc. System and method for data compliance and prevention with threat detection and response
US10503907B2 (en) * 2015-12-14 2019-12-10 Fmr Llc Intelligent threat modeling and visualization
US10679015B1 (en) * 2015-12-28 2020-06-09 Amazon Technologies, Inc. Utilizing artificial intelligence-based machine translation to augment document summarization
KR101694727B1 (ko) * 2015-12-28 2017-01-10 주식회사 파수닷컴 인공 지능 기반 연관도 계산을 이용한 노트 제공 방법 및 장치
US9652510B1 (en) * 2015-12-29 2017-05-16 Palantir Technologies Inc. Systems and user interfaces for data analysis including artificial intelligence algorithms for generating optimized packages of data items
US20170193397A1 (en) * 2015-12-30 2017-07-06 Accenture Global Solutions Limited Real time organization pulse gathering and analysis using machine learning and artificial intelligence
WO2017119006A1 (en) * 2016-01-08 2017-07-13 Sunil Mehta Method and virtual data agent system for providing data insights with artificial intelligence
US20170214701A1 (en) * 2016-01-24 2017-07-27 Syed Kamran Hasan Computer security based on artificial intelligence
US11093855B1 (en) * 2016-01-25 2021-08-17 United Services Automobile Association (Usaa) Crowd sourced training of an artificial intelligence system
US11775850B2 (en) * 2016-01-27 2023-10-03 Microsoft Technology Licensing, Llc Artificial intelligence engine having various algorithms to build different concepts contained within a same AI model
US10664766B2 (en) * 2016-01-27 2020-05-26 Bonsai AI, Inc. Graphical user interface to an artificial intelligence engine utilized to generate one or more trained artificial intelligence models
US11087024B2 (en) * 2016-01-29 2021-08-10 Samsung Electronics Co., Ltd. System and method to enable privacy-preserving real time services against inference attacks
CN105786977B (zh) * 2016-02-05 2020-03-03 北京百度网讯科技有限公司 基于人工智能的移动搜索方法和装置
US11449785B2 (en) * 2016-02-24 2022-09-20 Line Corporation Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence
CN105631052A (zh) * 2016-03-01 2016-06-01 北京百度网讯科技有限公司 基于人工智能的检索方法和装置
CN105653738B (zh) * 2016-03-01 2020-05-22 北京百度网讯科技有限公司 基于人工智能的搜索结果播报方法和装置
US10943036B2 (en) * 2016-03-08 2021-03-09 Az, Llc Virtualization, visualization and autonomous design and development of objects
US10497012B1 (en) * 2016-03-17 2019-12-03 Amazon Technologies, Inc. Correcting for location bias using artificial intelligence
US10853661B2 (en) * 2016-04-06 2020-12-01 Intellective Ai, Inc. Methods and systems for optimized selection of data features for a neuro-linguistic cognitive artificial intelligence system
US10325215B2 (en) * 2016-04-08 2019-06-18 Pearson Education, Inc. System and method for automatic content aggregation generation
WO2017177128A1 (en) * 2016-04-08 2017-10-12 The Trustees Of Columbia University In The City Of New York Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface
AU2017257501A1 (en) * 2016-04-25 2018-11-15 Intertrust Technologies Corporation Data management systems and methods
US20170308800A1 (en) * 2016-04-26 2017-10-26 Smokescreen Intelligence, LLC Interchangeable Artificial Intelligence Perception Systems and Methods
US11157536B2 (en) * 2016-05-03 2021-10-26 International Business Machines Corporation Text simplification for a question and answer system
US10515187B2 (en) * 2016-06-29 2019-12-24 Symantec Corporation Artificial intelligence (AI) techniques for learning and modeling internal networks
US11003864B2 (en) * 2016-05-11 2021-05-11 Stratifyd, Inc. Artificial intelligence optimized unstructured data analytics systems and methods
US10783535B2 (en) * 2016-05-16 2020-09-22 Cerebri AI Inc. Business artificial intelligence management engine
US20190199733A1 (en) * 2016-05-17 2019-06-27 Arctic Alliance Ltd Artificial intelligence data processing system and method
US11372381B1 (en) * 2016-05-17 2022-06-28 David Trowbridge Synthetic engine for artificial intelligence
US20160300158A1 (en) * 2016-05-24 2016-10-13 Yoshida Masato Nurturing Virtual Creatures with Augmented reality and artificial intelligence
KR101904453B1 (ko) * 2016-05-25 2018-10-04 김선필 인공 지능 투명 디스플레이의 동작 방법 및 인공 지능 투명 디스플레이
US10956513B2 (en) * 2016-05-27 2021-03-23 International Business Machines Corporation Heuristically programmed artificial intelligence for mainframe operating systems
US10505960B2 (en) * 2016-06-06 2019-12-10 Samsung Electronics Co., Ltd. Malware detection by exploiting malware re-composition variations using feature evolutions and confusions
US10095747B1 (en) * 2016-06-06 2018-10-09 @Legal Discovery LLC Similar document identification using artificial intelligence
US20170357910A1 (en) * 2016-06-10 2017-12-14 Apple Inc. System for iteratively training an artificial intelligence using cloud-based metrics
US11886957B2 (en) * 2016-06-10 2024-01-30 Apple Inc. Artificial intelligence controller that procedurally tailors itself to an application
JP6753707B2 (ja) * 2016-06-16 2020-09-09 株式会社オルツ コミュニケーションを支援する人工知能システム
CN106096037A (zh) * 2016-06-27 2016-11-09 北京百度网讯科技有限公司 基于人工智能的搜索结果聚合方法、装置以及搜索引擎
US10195531B2 (en) * 2016-06-30 2019-02-05 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) personal assistant
US10601862B1 (en) * 2016-07-15 2020-03-24 Akamai Technologies, Inc. Mitigating automated attacks in a computer network environment
AU2016206397A1 (en) * 2016-07-22 2018-02-08 Burnology Pty Ltd A map centric emergency and field services management system
US10956586B2 (en) * 2016-07-22 2021-03-23 Carnegie Mellon University Personalized privacy assistant
US10846308B2 (en) * 2016-07-27 2020-11-24 Anomalee Inc. Prioritized detection and classification of clusters of anomalous samples on high-dimensional continuous and mixed discrete/continuous feature spaces
US10402740B2 (en) * 2016-07-29 2019-09-03 Sap Se Natural interactive user interface using artificial intelligence and freeform input
US11010687B2 (en) * 2016-07-29 2021-05-18 Verizon Media Inc. Detecting abusive language using character N-gram features
US11017901B2 (en) * 2016-08-02 2021-05-25 Atlas5D, Inc. Systems and methods to identify persons and/or identify and quantify pain, fatigue, mood, and intent with protection of privacy
US11144838B1 (en) * 2016-08-31 2021-10-12 Narrative Science Inc. Applied artificial intelligence technology for evaluating drivers of data presented in visualizations
US10438264B1 (en) * 2016-08-31 2019-10-08 Amazon Technologies, Inc. Artificial intelligence feature extraction service for products
US10848508B2 (en) * 2016-09-07 2020-11-24 Patternex, Inc. Method and system for generating synthetic feature vectors from real, labelled feature vectors in artificial intelligence training of a big data machine to defend
US9965675B2 (en) * 2016-09-15 2018-05-08 Georgios P. Schinas Using virtual reality for behavioral analysis
US10936969B2 (en) * 2016-09-26 2021-03-02 Shabaz Basheer Patel Method and system for an end-to-end artificial intelligence workflow
US10152349B1 (en) * 2016-09-27 2018-12-11 Juniper Networks, Inc. Kernel scheduling based on precedence constraints and/or artificial intelligence techniques
US11681943B2 (en) * 2016-09-27 2023-06-20 Clarifai, Inc. Artificial intelligence development via user-selectable/connectable model representations
US9919648B1 (en) * 2016-09-27 2018-03-20 Robert D. Pedersen Motor vehicle artificial intelligence expert system dangerous driving warning and control system and method
US11080616B2 (en) * 2016-09-27 2021-08-03 Clarifai, Inc. Artificial intelligence model and data collection/development platform
US11093711B2 (en) * 2016-09-28 2021-08-17 Microsoft Technology Licensing, Llc Entity-specific conversational artificial intelligence
US10291646B2 (en) * 2016-10-03 2019-05-14 Telepathy Labs, Inc. System and method for audio fingerprinting for attack detection
US10534925B2 (en) * 2016-10-05 2020-01-14 Microsoft Technology Licensing, Llc Detection of compromised devices via user states
EP3523766A4 (en) * 2016-10-06 2020-06-03 The Dun & Bradstreet Corporation AUTOMATIC TRAINING CLASSIFIER AND PREDICTION ENGINE FOR ARTIFICIAL INTELLIGENCE OPTIMIZED PERSPECTIVE DETERMINATION ON A GAIN / LOSS CLASSIFICATION
US10510088B2 (en) * 2016-10-07 2019-12-17 Bank Of America Corporation Leveraging an artificial intelligence engine to generate customer-specific user experiences based on real-time analysis of customer responses to recommendations
US20180101760A1 (en) * 2016-10-11 2018-04-12 Ricoh Company, Ltd. Selecting Meeting Participants for Electronic Meetings Using Artificial Intelligence
US10068494B2 (en) * 2016-10-14 2018-09-04 Invoy Holdings, Llc Artificial intelligence based health coaching based on ketone levels of participants
JP2019537130A (ja) * 2016-10-19 2019-12-19 ピーチ インテリヘルス プライベート リミティド 人工知能及び機械学習を使用して連続臓器不全評価(sofa)スコアを予測するシステム及び方法
US10855714B2 (en) * 2016-10-31 2020-12-01 KnowBe4, Inc. Systems and methods for an artificial intelligence driven agent
US11562382B2 (en) * 2016-11-11 2023-01-24 Jpmorgan Chase Bank, N.A. System and method for providing data science as a service
US10372978B1 (en) * 2016-11-17 2019-08-06 Uipco, Llc Artificial intelligence image and text processing
US10462170B1 (en) * 2016-11-21 2019-10-29 Alert Logic, Inc. Systems and methods for log and snort synchronized threat detection
CN106528845B (zh) * 2016-11-22 2019-09-03 北京百度网讯科技有限公司 基于人工智能的检索纠错方法及装置
US10154379B2 (en) * 2016-11-26 2018-12-11 Informu Inc. Artificial intelligence for loss prevention tags
US11373100B2 (en) * 2016-11-29 2022-06-28 Microsoft Technology Licensing, Llc Using various artificial intelligence entities as advertising media
US20180150752A1 (en) * 2016-11-30 2018-05-31 NewsRx, LLC Identifying artificial intelligence content
CN106547742B (zh) * 2016-11-30 2019-05-03 百度在线网络技术(北京)有限公司 基于人工智能的语义解析结果处理方法和装置
US10733530B2 (en) * 2016-12-08 2020-08-04 Resurgo, Llc Machine learning model evaluation in cyber defense
US20180174088A1 (en) * 2016-12-15 2018-06-21 Dennis Eugene Brown Systems and Methods for Artificial Intelligence-Based Gamified Retail Sales Accelerator
US20180174019A1 (en) * 2016-12-15 2018-06-21 NewsRx, LLC Artificial intelligence analysis service
US10296794B2 (en) * 2016-12-20 2019-05-21 Jayant Rtti On-demand artificial intelligence and roadway stewardship system
US10096384B2 (en) * 2016-12-21 2018-10-09 Disco Health, LLC Artificial intelligence expert system
US20180365555A1 (en) * 2016-12-22 2018-12-20 Naveed Aslam Artificial intelligence based algorithm for predicting pipeline leak and corrosion detection
EP3566201A4 (en) * 2016-12-22 2020-11-25 Xevo Inc. PROCESS AND SYSTEM FOR PROVIDING SERVICES OF ANALYSIS OF ARTIFICIAL INTELLIGENCE (AIA) FOR PERFORMANCE PREDICTION
US10826934B2 (en) * 2017-01-10 2020-11-03 Crowdstrike, Inc. Validation-based determination of computational models
EP3349137A1 (en) * 2017-01-11 2018-07-18 Sap Se Client-side attack detection in web applications
US20180204126A1 (en) * 2017-01-17 2018-07-19 Xerox Corporation Method and system for assisting users in an automated decision-making environment
US20180211259A1 (en) * 2017-01-23 2018-07-26 Quyen Trong Vu Artificial Intelligence Based Customer Service and Social Media Method
US10764313B1 (en) * 2017-01-24 2020-09-01 SlashNext, Inc. Method and system for protection against network-based cyber threats
US10235734B2 (en) * 2017-01-27 2019-03-19 International Business Machines Corporation Translation of artificial intelligence representations
US20180225616A1 (en) * 2017-02-03 2018-08-09 Icarus Ops LLC Digital Checklist System Using Mobile Technology, Artificial Intelligence, and Infrared Technology
US11158012B1 (en) * 2017-02-14 2021-10-26 Casepoint LLC Customizing a data discovery user interface based on artificial intelligence
US10943069B1 (en) * 2017-02-17 2021-03-09 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on a conditional outcome framework
US10699079B1 (en) * 2017-02-17 2020-06-30 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on analysis communication goals
US11068661B1 (en) * 2017-02-17 2021-07-20 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on smart attributes
US11568148B1 (en) * 2017-02-17 2023-01-31 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on explanation communication goals
AU2017399007B2 (en) * 2017-02-17 2021-12-23 Dataspark Pte, Ltd Mobility gene for trajectory data
US10755053B1 (en) * 2017-02-17 2020-08-25 Narrative Science Inc. Applied artificial intelligence technology for story outline formation using composable communication goals to support natural language generation (NLG)
US11087221B2 (en) * 2017-02-20 2021-08-10 Saudi Arabian Oil Company Well performance classification using artificial intelligence and pattern recognition
US10288439B2 (en) * 2017-02-22 2019-05-14 Robert D. Pedersen Systems and methods using artificial intelligence for routing electric vehicles
US11120361B1 (en) * 2017-02-24 2021-09-14 Amazon Technologies, Inc. Training data routing and prediction ensembling at time series prediction system
US11037251B2 (en) * 2017-03-01 2021-06-15 Microsoft Technology Licensing, Llc Understanding business insights and deep-dive using artificial intelligence
US11615326B2 (en) * 2017-03-05 2023-03-28 Cyberint Technologies Ltd. Digital MDR (managed detection and response) analysis
US11436520B2 (en) * 2017-03-07 2022-09-06 Cylance Inc. Redaction of artificial intelligence training documents
WO2018170321A1 (en) * 2017-03-15 2018-09-20 Exari Group, Inc. Machine evaluation of contract terms
KR102012374B1 (ko) * 2017-03-15 2019-10-21 엘지전자 주식회사 동작 정보에 기반하여 인공지능으로 스케줄 정보를 생성하는 방법 및 이를 구현하는 서버와 냉장고
US10963812B1 (en) * 2017-03-17 2021-03-30 Amazon Technologies, Inc. Model-based artificial intelligence data mining system for dimension estimation
CA2998249A1 (en) * 2017-03-17 2018-09-17 Edatanetworks Inc. Artificial intelligence engine incenting merchant transaction with consumer affinity
US20180276551A1 (en) * 2017-03-23 2018-09-27 Corey Kaizen Reaux-Savonte Dual-Type Control System of an Artificial Intelligence in a Machine
US20180276524A1 (en) * 2017-03-23 2018-09-27 Corey Kaizen Reaux-Savonte Creating, Qualifying and Quantifying Values-Based Intelligence and Understanding using Artificial Intelligence in a Machine.
US11164107B1 (en) * 2017-03-27 2021-11-02 Numerai, Inc. Apparatuses and methods for evaluation of proffered machine intelligence in predictive modelling using cryptographic token staking
US10474673B2 (en) * 2017-03-28 2019-11-12 Salesforce.Com, Inc. Methods and apparatus for performing machine learning to improve capabilities of an artificial intelligence (AI) entity used for online communications
JP6823523B2 (ja) 2017-03-31 2021-02-03 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP6657137B2 (ja) 2017-03-31 2020-03-04 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
US10387298B2 (en) * 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN107220232B (zh) * 2017-04-06 2021-06-11 北京百度网讯科技有限公司 基于人工智能的关键词提取方法及装置、设备与可读介质
US10817608B2 (en) * 2017-04-07 2020-10-27 Zscaler, Inc. System and method for malware detection on a per packet basis
US11176632B2 (en) * 2017-04-07 2021-11-16 Intel Corporation Advanced artificial intelligence agent for modeling physical interactions
US10042636B1 (en) * 2017-04-11 2018-08-07 Accenture Global Solutions Limited End-to end project management platform with artificial intelligence integration
WO2018191434A1 (en) * 2017-04-12 2018-10-18 Workpology, Inc. Augmenting sustainable procurement data with artificial intelligence
CN107068161B (zh) * 2017-04-14 2020-07-28 百度在线网络技术(北京)有限公司 基于人工智能的语音降噪方法、装置和计算机设备
US11314862B2 (en) * 2017-04-17 2022-04-26 Tala Security, Inc. Method for detecting malicious scripts through modeling of script structure
US11276015B2 (en) * 2017-04-20 2022-03-15 Capital One Services, Llc Machine learning artificial intelligence system for predicting hours of operation
US10558917B2 (en) * 2017-04-20 2020-02-11 Tyco Fire & Security Gmbh Artificial intelligence and natural language processing based building and fire systems management system
US10762201B2 (en) * 2017-04-20 2020-09-01 Level Effect LLC Apparatus and method for conducting endpoint-network-monitoring
KR102421487B1 (ko) * 2017-04-24 2022-07-15 엘지전자 주식회사 인공 지능 기기
US11185780B2 (en) * 2017-04-24 2021-11-30 International Business Machines Corporation Artificial intelligence profiling
US11449787B2 (en) * 2017-04-25 2022-09-20 Xaxis, Inc. Double blind machine learning insight interface apparatuses, methods and systems
US10782988B2 (en) * 2017-04-25 2020-09-22 Petuum Inc. Operating system for distributed enterprise artificial intelligence programs on data centers and the clouds
US11880746B1 (en) * 2017-04-26 2024-01-23 Hrb Innovations, Inc. Interface for artificial intelligence training
US10950346B2 (en) * 2017-04-28 2021-03-16 International Business Machines Corporation Utilizing artificial intelligence for data extraction
US9946789B1 (en) * 2017-04-28 2018-04-17 Shenzhen Cestbon Technology Co. Limited Classifying electronic messages using individualized artificial intelligence techniques
DK3628101T3 (da) * 2017-04-28 2023-09-18 Better Therapeutics Inc Fremgangsmåde og system til administration af livsstils- og sundhedsindgreb
CN107038157B (zh) * 2017-05-05 2020-09-29 百度在线网络技术(北京)有限公司 基于人工智能的识别错误发现方法、装置及存储介质
US20180322419A1 (en) * 2017-05-08 2018-11-08 Centurylink Intellectual Property Llc Model Driven Modular Artificial Intelligence Learning Framework
US11100506B2 (en) * 2017-05-09 2021-08-24 Fair Isaac Corporation Fraud score manipulation in self-defense of adversarial artificial intelligence learning
CN107193807B (zh) * 2017-05-12 2021-05-28 北京百度网讯科技有限公司 基于人工智能的语言转换处理方法、装置及终端
KR101980963B1 (ko) * 2017-05-12 2019-08-28 정규영 인공지능에 기반한 지원자 맞춤형 정보 처리 및 제공 시스템
US10488834B2 (en) * 2017-05-13 2019-11-26 Shadecraft, Inc. Intelligent umbrella or robotic shading system having telephonic communication capabilities
US20220300306A1 (en) * 2017-05-16 2022-09-22 BlueOwl, LLC Artificial intelligence based computing systems and methods for providing enhanced user help
CN107220317B (zh) * 2017-05-17 2020-12-18 北京百度网讯科技有限公司 基于人工智能的匹配度评估方法、装置、设备及存储介质
US20180336463A1 (en) * 2017-05-18 2018-11-22 General Electric Company Systems and methods for domain-specific obscured data transport
CN107193792B (zh) * 2017-05-18 2020-10-02 北京百度网讯科技有限公司 基于人工智能的生成文章的方法和装置
US20180336439A1 (en) * 2017-05-18 2018-11-22 Intel Corporation Novelty detection using discriminator of generative adversarial network
US11003995B2 (en) * 2017-05-19 2021-05-11 Huawei Technologies Co., Ltd. Semi-supervised regression with generative adversarial networks
US11275994B2 (en) * 2017-05-22 2022-03-15 International Business Machines Corporation Unstructured key definitions for optimal performance
CN107193974B (zh) * 2017-05-25 2020-11-10 北京百度网讯科技有限公司 基于人工智能的地域性信息确定方法和装置
US20180341878A1 (en) * 2017-05-26 2018-11-29 Get Attached, Inc. Using artificial intelligence and machine learning to automatically share desired digital media
US10810472B2 (en) * 2017-05-26 2020-10-20 Oracle International Corporation Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network
JP6655762B2 (ja) 2017-05-26 2020-02-26 株式会社日立国際電気 機械学習モデル不正検知システム及び不正検知方法
CN107291828B (zh) * 2017-05-27 2021-06-11 北京百度网讯科技有限公司 基于人工智能的口语查询解析方法、装置及存储介质
RU2661750C1 (ru) * 2017-05-30 2018-07-19 Общество с ограниченной ответственностью "Аби Продакшн" Распознавание символов с использованием искусственного интеллекта
US11424993B1 (en) * 2017-05-30 2022-08-23 Amazon Technologies, Inc. Artificial intelligence system for network traffic flow based detection of service usage policy violations
US20190139098A1 (en) * 2017-05-31 2019-05-09 Adnomus, Inc. Systems and methods for real-time data processing analytics engine with artificial intelligence for transaction handling
US20190138930A1 (en) * 2017-05-31 2019-05-09 Adnomus, Inc. Systems and methods for real-time data processing analytics engine with artificial intelligence for target information protection
US20180349793A1 (en) * 2017-06-01 2018-12-06 Bank Of America Corporation Employing machine learning and artificial intelligence to generate user profiles based on user interface interactions
US11144845B2 (en) * 2017-06-02 2021-10-12 Stitch Fix, Inc. Using artificial intelligence to design a product
CN107423274B (zh) * 2017-06-07 2020-11-20 北京百度网讯科技有限公司 基于人工智能的比赛解说内容生成方法、装置及存储介质
US20180357557A1 (en) * 2017-06-08 2018-12-13 Microsoft Technology Licensing, Llc Identification of decision bias with artificial intelligence program
US11494686B1 (en) * 2017-06-09 2022-11-08 Amazon Technologies, Inc. Artificial intelligence system for relevance analysis of data stream items using similarity groups and attributes
US11250515B1 (en) * 2017-06-09 2022-02-15 Liberty Mutual Insurance Company Self-service claim automation using artificial intelligence
CN107291867B (zh) * 2017-06-13 2021-07-20 北京百度网讯科技有限公司 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质
US10776881B1 (en) * 2017-06-13 2020-09-15 State Farm Mutual Automobile Insurance Company Systems and methods for hail damage verification on rooftops using computer vision and artificial intelligence
CN107463601B (zh) * 2017-06-13 2021-02-12 北京百度网讯科技有限公司 基于人工智能的对话理解***构建方法、装置、设备及计算机可读存储介质
CN107273487A (zh) * 2017-06-13 2017-10-20 北京百度网讯科技有限公司 基于人工智能的聊天数据的生成方法、装置及计算机设备
CN107480162B (zh) * 2017-06-15 2021-09-21 北京百度网讯科技有限公司 基于人工智能的搜索方法、装置、设备及计算机可读存储介质
CN107291871B (zh) * 2017-06-15 2021-02-19 北京百度网讯科技有限公司 基于人工智能的多域信息的匹配度评估方法、设备及介质
US10915535B2 (en) * 2017-06-16 2021-02-09 Nec Corporation Optimizations for a behavior analysis engine
CN107357830B (zh) * 2017-06-19 2020-07-28 北京百度网讯科技有限公司 基于人工智能的检索语句语义片段获取方法、装置及终端
US11061700B2 (en) * 2017-06-20 2021-07-13 Cleverspeck, LLC Virtual assistants using state-based artificial intelligence
CN107491432B (zh) * 2017-06-20 2022-01-28 北京百度网讯科技有限公司 基于人工智能的低质量文章识别方法及装置、设备及介质
CN107273508B (zh) * 2017-06-20 2020-07-10 北京百度网讯科技有限公司 基于人工智能的信息处理方法和装置
CA3067194A1 (en) * 2017-06-22 2018-12-27 Dipesh AVLANI A system for in-store consumer behaviour event metadata aggregation, data verification and the artificial intelligence analysis thereof for data interpretation and associated action triggering
JP6660030B2 (ja) * 2017-06-22 2020-03-04 カシオ計算機株式会社 情報処理装置、人工知能識別方法及びプログラム
US10755700B2 (en) * 2017-06-23 2020-08-25 Ascension Health Alliance Systems and methods for operating a voice-based artificial intelligence controller
US11283738B2 (en) * 2017-06-23 2022-03-22 Realpage, Inc. Interaction driven artificial intelligence system and uses for same, including travel or real estate related contexts
US20180374138A1 (en) * 2017-06-23 2018-12-27 Vufind Inc. Leveraging delayed and partial reward in deep reinforcement learning artificial intelligence systems to provide purchase recommendations
CN107220380A (zh) * 2017-06-27 2017-09-29 北京百度网讯科技有限公司 基于人工智能的问答推荐方法、装置和计算机设备
US10922616B1 (en) * 2017-06-27 2021-02-16 Amazon Technologies, Inc. Determining apparel sizes using physical measurements and artificial intelligence
CN107346336B (zh) * 2017-06-29 2021-06-08 北京百度网讯科技有限公司 基于人工智能的信息处理方法和装置
US10489502B2 (en) * 2017-06-30 2019-11-26 Accenture Global Solutions Limited Document processing
US20190012442A1 (en) * 2017-07-06 2019-01-10 Bylined Me, Inc. Facilitating retrieval of permissions associated with a media item
US11176470B2 (en) * 2017-07-07 2021-11-16 Accenture Global Solutions Limited Artificial intelligence based solution generator
US10963525B2 (en) * 2017-07-07 2021-03-30 Avnet, Inc. Artificial intelligence system for providing relevant content queries across unconnected websites via a conversational environment
US10349493B2 (en) * 2017-07-07 2019-07-09 Shadecraft, Inc. Artificial intelligence (AI) computing device with one or more lighting elements
US20190012841A1 (en) * 2017-07-09 2019-01-10 Eyedaptic, Inc. Artificial intelligence enhanced system for adaptive control driven ar/vr visual aids
WO2019012449A2 (en) * 2017-07-11 2019-01-17 Wematch.Live R&D Ltd NEGOTIATION SYSTEM WITH ARTIFICIAL INTELLIGENCE
US10949914B2 (en) * 2017-07-12 2021-03-16 Accenture Global Solutions Limited Immersive and artificial intelligence based retail
US10984452B2 (en) * 2017-07-13 2021-04-20 International Business Machines Corporation User/group servicing based on deep network analysis
US20190018692A1 (en) * 2017-07-14 2019-01-17 Intuit Inc. System and method for identifying and providing personalized self-help content with artificial intelligence in a customer self-help system
US10664716B2 (en) * 2017-07-19 2020-05-26 Vispek Inc. Portable substance analysis based on computer vision, spectroscopy, and artificial intelligence
WO2019018780A1 (en) * 2017-07-20 2019-01-24 The University Of North Carolina At Chapel Hill NON-TRANSIENT COMPUTER-READABLE METHODS, SYSTEMS, AND MEDIA FOR THE AUTOMATED DESIGN OF MOLECULES HAVING DESIRED PROPERTIES USING ARTIFICIAL INTELLIGENCE
KR101830314B1 (ko) * 2017-07-26 2018-02-20 재단법인 구미전자정보기술원 인공지능 기반 베이지안 네트워크를 이용한 췌장암 진단에 필요한 정보제공 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체
WO2019027259A1 (en) * 2017-08-01 2019-02-07 Samsung Electronics Co., Ltd. APPARATUS AND METHOD FOR PROVIDING SUMMARY INFORMATION USING ARTIFICIAL INTELLIGENCE MODEL
US11258734B1 (en) * 2017-08-04 2022-02-22 Grammarly, Inc. Artificial intelligence communication assistance for editing utilizing communication profiles
US10607595B2 (en) * 2017-08-07 2020-03-31 Lenovo (Singapore) Pte. Ltd. Generating audio rendering from textual content based on character models
US11011264B2 (en) * 2017-08-09 2021-05-18 Varian Medical Systems International Ag Radiotherapy treatment planning using artificial intelligence (AI) engines
PH12018000218A1 (en) * 2017-08-14 2019-03-04 Accenture Global Solutions Ltd Artificial intelligence and machine learning based product development
US11004567B2 (en) * 2017-08-15 2021-05-11 Koko Home, Inc. System and method for processing wireless backscattered signal using artificial intelligence processing for activities of daily life
CN107463698B (zh) * 2017-08-15 2020-11-20 北京百度网讯科技有限公司 基于人工智能推送信息的方法和装置
CN107463704B (zh) * 2017-08-16 2021-05-07 北京百度网讯科技有限公司 基于人工智能的搜索方法和装置
US10917435B2 (en) * 2017-08-17 2021-02-09 Acronis International Gmbh Cloud AI engine for malware analysis and attack prediction
US11216737B2 (en) * 2017-08-18 2022-01-04 Uncountable Inc. Artificial intelligence guided research and development
US11004135B1 (en) * 2017-08-18 2021-05-11 Amazon Technologies, Inc. Artificial intelligence system for balancing relevance and diversity of network-accessible content
UY37492A (es) * 2017-11-23 2018-01-31 Biopremix Tech Llc Procedimiento para la producción de un aditivo multiplicador y modulador de la microbiota ruminal
US9961204B1 (en) * 2017-08-21 2018-05-01 Avaya Inc. Monitoring agent oversight of artificial intelligence content in a contact center
US11568265B2 (en) * 2017-08-23 2023-01-31 Sony Interactive Entertainment Inc. Continual selection of scenarios based on identified tags describing contextual environment of a user for execution by an artificial intelligence model of the user by an autonomous personal companion
CN107506434A (zh) * 2017-08-23 2017-12-22 北京百度网讯科技有限公司 基于人工智能分类语音输入文本的方法和装置
US11138249B1 (en) * 2017-08-23 2021-10-05 Realpage, Inc. Systems and methods for the creation, update and use of concept networks to select destinations in artificial intelligence systems
US11210396B2 (en) * 2017-08-25 2021-12-28 Drexel University Light-weight behavioral malware detection for windows platforms
US11367117B1 (en) * 2017-08-28 2022-06-21 Amazon Technologies, Inc. Artificial intelligence system for generating network-accessible recommendations with explanatory metadata
US11494721B1 (en) * 2017-08-28 2022-11-08 Thomas Lah Artificial intelligence system for electronically monitoring and analyzing data transmitted through multiple electronic channels to suggest actions for increasing the effectiveness of data transmitted through the channels
US10417350B1 (en) * 2017-08-28 2019-09-17 Amazon Technologies, Inc. Artificial intelligence system for automated adaptation of text-based classification models for multiple languages
US20190065498A1 (en) * 2017-08-29 2019-02-28 Chirrp, Inc. System and method for rich conversation in artificial intelligence
US11687800B2 (en) * 2017-08-30 2023-06-27 P Tech, Llc Artificial intelligence and/or virtual reality for activity optimization/personalization
US20190065464A1 (en) * 2017-08-31 2019-02-28 EMR.AI Inc. Artificial intelligence scribe
US11375256B1 (en) * 2017-09-05 2022-06-28 Amazon Technologies, Inc. Artificial intelligence system for modeling emotions elicited by videos
US11176484B1 (en) * 2017-09-05 2021-11-16 Amazon Technologies, Inc. Artificial intelligence system for modeling emotions elicited by videos
US11983748B2 (en) * 2017-09-07 2024-05-14 Stitch Fix, Inc. Using artificial intelligence to determine a size fit prediction
US10635858B2 (en) * 2017-09-11 2020-04-28 Nec Corporation Electronic message classification and delivery using a neural network architecture
US20190080063A1 (en) * 2017-09-13 2019-03-14 Facebook, Inc. De-identification architecture
US10949759B2 (en) * 2017-09-13 2021-03-16 OmicX Identification of a series of compatible components using artificial intelligence
KR102489914B1 (ko) * 2017-09-15 2023-01-20 삼성전자주식회사 전자 장치 및 이의 제어 방법
JP2019056970A (ja) * 2017-09-19 2019-04-11 カシオ計算機株式会社 情報処理装置、人工知能選択方法及び人工知能選択プログラム
US20190095775A1 (en) * 2017-09-25 2019-03-28 Ventana 3D, Llc Artificial intelligence (ai) character system capable of natural verbal and visual interactions with a human
US11855849B1 (en) * 2017-09-26 2023-12-26 Amazon Technologies, Inc. Artificial intelligence based self-organizing event-action management system for large-scale networks
US11120368B2 (en) * 2017-09-27 2021-09-14 Oracle International Corporation Scalable and efficient distributed auto-tuning of machine learning and deep learning models
US11321614B2 (en) * 2017-09-29 2022-05-03 Oracle International Corporation Directed trajectories through communication decision tree using iterative artificial intelligence
WO2019067747A1 (en) * 2017-09-29 2019-04-04 Qloudable, Inc. COMMUNICATION AND DEVICE MANAGEMENT IN COMPUTER DATA NETWORKS
US10496396B2 (en) * 2017-09-29 2019-12-03 Oracle International Corporation Scalable artificial intelligence driven configuration management
US11481640B2 (en) * 2017-09-29 2022-10-25 Oracle International Corporation Directed trajectories through communication decision tree using iterative artificial intelligence
US11803764B2 (en) * 2017-09-29 2023-10-31 Sony Interactive Entertainment Inc. Mobile and autonomous personal companion based on an artificial intelligence (AI) model for a user
US11568480B2 (en) * 2017-10-03 2023-01-31 Cerebro Capital, Inc. Artificial intelligence derived anonymous marketplace
US10872125B2 (en) * 2017-10-05 2020-12-22 Realpage, Inc. Concept networks and systems and methods for the creation, update and use of same to select images, including the selection of images corresponding to destinations in artificial intelligence systems
US10516701B2 (en) * 2017-10-05 2019-12-24 Accenture Global Solutions Limited Natural language processing artificial intelligence network and data security system
US10984342B2 (en) * 2017-10-10 2021-04-20 Stitch Fix, Inc. Using artificial intelligence to determine a value for a variable size component
KR102383461B1 (ko) * 2017-10-17 2022-04-06 현대자동차주식회사 인공지능을 활용한 엔진동력특성 기반 엔진음색 제어방법 및 차량
US11514345B2 (en) * 2017-10-17 2022-11-29 Evgeny Chereshnev Systems and methods for generating automated decisions
US10755188B2 (en) * 2017-10-18 2020-08-25 Nxgen Partners Ip, Llc Unified nonlinear modeling approach for machine learning and artificial intelligence (attractor assisted AI)
US10671434B1 (en) * 2017-10-19 2020-06-02 Pure Storage, Inc. Storage based artificial intelligence infrastructure
US10360214B2 (en) * 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US20200250780A1 (en) * 2017-10-23 2020-08-06 George Karypis Decentralized Autonomous Evaluation Engine for Intellectual Property Assets
US11068817B2 (en) * 2017-10-25 2021-07-20 Accenture Global Solutions Limited Artificial intelligence and machine learning based project management assistance
KR102455199B1 (ko) * 2017-10-27 2022-10-18 엘지전자 주식회사 인공지능 디바이스
US10832180B2 (en) * 2017-10-30 2020-11-10 The Aerospace Corporation Artificial intelligence system that employs windowed cellular automata to create plausible alternatives
US11483201B2 (en) * 2017-10-31 2022-10-25 Myndshft Technologies, Inc. System and method for configuring an adaptive computing cluster
US11475337B1 (en) * 2017-10-31 2022-10-18 Virtustream Ip Holding Company Llc Platform to deliver artificial intelligence-enabled enterprise class process execution
US10657259B2 (en) * 2017-11-01 2020-05-19 International Business Machines Corporation Protecting cognitive systems from gradient based attacks through the use of deceiving gradients
US20190138635A1 (en) * 2017-11-06 2019-05-09 Getalert Ltd. Methods Data Structures Circuits Devices Systems and Functionally Associated Machine Executable Code for Artificial Intelligence Based Situational Assessment
WO2019087374A1 (ja) * 2017-11-06 2019-05-09 株式会社日立製作所 制御装置
US11042692B1 (en) * 2017-11-06 2021-06-22 Open Law Library Artificial intelligence-based legislative code validation and publication system
US11816540B2 (en) * 2017-11-06 2023-11-14 Xendee Corporation Artificial intelligence microgrid and distributed energy resources planning platform
US20190138961A1 (en) * 2017-11-07 2019-05-09 Indidesk, S.L. (fna Smart Canvas Solutions Espana, S.L.) System and method for project management using artificial intelligence
US10990901B2 (en) * 2017-11-13 2021-04-27 Accenture Global Solutions Limited Training, validating, and monitoring artificial intelligence and machine learning models
US20190148023A1 (en) * 2017-11-16 2019-05-16 Google Llc Machine-Learned Epidemiology
EP3486674A1 (en) * 2017-11-17 2019-05-22 Koninklijke Philips N.V. Artificial intelligence-enabled localization of anatomical landmarks
CN109806497B (zh) * 2017-11-20 2023-04-18 李顺裕 具有人工智能与物联网功能的医疗***
US11663182B2 (en) * 2017-11-21 2023-05-30 Maria Emma Artificial intelligence platform with improved conversational ability and personality development
US20190164202A1 (en) * 2017-11-28 2019-05-30 Sanjeev Sadanand Ukhalkar System and method for real time artificial intelligence based price determination
US11960976B2 (en) * 2017-11-30 2024-04-16 B.yond, Inc. Decomposing tasks through artificial intelligence chaining
US10581910B2 (en) * 2017-12-01 2020-03-03 KnowBe4, Inc. Systems and methods for AIDA based A/B testing
US10812527B2 (en) * 2017-12-01 2020-10-20 KnowBe4, Inc. Systems and methods for aida based second chance
US11436525B2 (en) * 2017-12-01 2022-09-06 Deepwave Digital, Inc. Artificial intelligence radio transceiver
US10839083B2 (en) * 2017-12-01 2020-11-17 KnowBe4, Inc. Systems and methods for AIDA campaign controller intelligent records
US11392751B1 (en) * 2017-12-04 2022-07-19 Amazon Technologies, Inc. Artificial intelligence system for optimizing informational content presentation
US10847254B2 (en) * 2017-12-05 2020-11-24 Toyota Research Institute, Inc. Artificial intelligence based stable materials discovery process
US11574204B2 (en) * 2017-12-06 2023-02-07 Accenture Global Solutions Limited Integrity evaluation of unstructured processes using artificial intelligence (AI) techniques
US10452674B2 (en) * 2017-12-07 2019-10-22 Accenture Global Solutions Limited Artificial intelligence and robotic process automation for automated data management
RU2691214C1 (ru) * 2017-12-13 2019-06-11 Общество с ограниченной ответственностью "Аби Продакшн" Распознавание текста с использованием искусственного интеллекта
US20190179647A1 (en) * 2017-12-13 2019-06-13 General Electric Company Auto throttling of input data and data execution using machine learning and artificial intelligence
US20190176987A1 (en) * 2017-12-13 2019-06-13 James E. Beecham System and method for fire suppression via artificial intelligence
US11797769B1 (en) * 2017-12-13 2023-10-24 Amazon Technologies, Inc. Artificial intelligence system using hybrid technique for task-oriented dialog management
US11443178B2 (en) * 2017-12-15 2022-09-13 Interntional Business Machines Corporation Deep neural network hardening framework
US10650928B1 (en) * 2017-12-18 2020-05-12 Clarify Health Solutions, Inc. Computer network architecture for a pipeline of models for healthcare outcomes with machine learning and artificial intelligence
US11520395B2 (en) * 2017-12-19 2022-12-06 Intel Corporation Integrated circuit power systems with machine learning capabilities
US20190197585A1 (en) * 2017-12-26 2019-06-27 Paypal, Inc. Systems and methods for data storage and retrieval with access control
US10599783B2 (en) * 2017-12-26 2020-03-24 International Business Machines Corporation Automatically suggesting a temporal opportunity for and assisting a writer in writing one or more sequel articles via artificial intelligence
KR101930062B1 (ko) * 2017-12-27 2019-03-14 클리어라인 주식회사 인공지능기술을 이용한 단계별 자동 교정 시스템
US10769570B2 (en) * 2017-12-27 2020-09-08 Accenture Global Solutions Limited Artificial intelligence based risk and knowledge management
US10915631B2 (en) * 2017-12-28 2021-02-09 Intel Corporation Deep learning on execution trace data for exploit detection
US11250336B2 (en) * 2017-12-28 2022-02-15 Intel Corporation Distributed and contextualized artificial intelligence inference service
US11709854B2 (en) * 2018-01-02 2023-07-25 Bank Of America Corporation Artificial intelligence based smart data engine
US10977711B1 (en) * 2018-01-03 2021-04-13 Amazon Technologies, Inc. Artificial intelligence system with hierarchical machine learning for interaction session optimization
CN108347430B (zh) * 2018-01-05 2021-01-12 国网山东省电力公司济宁供电公司 基于深度学习的网络入侵检测和漏洞扫描方法及装置
US20190213486A1 (en) * 2018-01-06 2019-07-11 Tiffany Quynh-Nhi Do Virtual Adaptive Learning of Financial Articles Utilizing Artificial Intelligence
US10515002B2 (en) * 2018-01-08 2019-12-24 Accenture Global Solutions Limited Utilizing artificial intelligence to test cloud applications
KR102561890B1 (ko) * 2018-01-10 2023-08-01 주식회사 마크애니 스마트방송 콘텐츠를 위한 인공지능으로 학습된 모델 데이터의 디지털 권리 보호에 관한 장치 및 방법
US10977737B2 (en) * 2018-01-10 2021-04-13 Liberty Mutual Insurance Company Training gradient boosted decision trees with progressive maximum depth for parsimony and interpretability
US11599927B1 (en) * 2018-01-17 2023-03-07 Amazon Technologies, Inc. Artificial intelligence system using deep neural networks for pairwise character-level text analysis and recommendations
US10963649B1 (en) * 2018-01-17 2021-03-30 Narrative Science Inc. Applied artificial intelligence technology for narrative generation using an invocable analysis service and configuration-driven analytics
US20190258953A1 (en) * 2018-01-23 2019-08-22 Ulrich Lang Method and system for determining policies, rules, and agent characteristics, for automating agents, and protection
US10986113B2 (en) * 2018-01-24 2021-04-20 Hrl Laboratories, Llc System for continuous validation and threat protection of mobile applications
US11188838B2 (en) * 2018-01-30 2021-11-30 Salesforce.Com, Inc. Dynamic access of artificial intelligence engine in a cloud computing architecture
US10706030B2 (en) * 2018-01-31 2020-07-07 Accenture Global Solutions Limited Utilizing artificial intelligence to integrate data from multiple diverse sources into a data structure
US11257073B2 (en) * 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US10467527B1 (en) * 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11615331B2 (en) * 2018-02-05 2023-03-28 Accenture Global Solutions Limited Explainable artificial intelligence
US10805341B2 (en) * 2018-02-06 2020-10-13 Cisco Technology, Inc. Leveraging point inferences on HTTP transactions for HTTPS malware detection
CA3033014A1 (en) * 2018-02-07 2019-08-07 Royal Bank Of Canada Robust pruned neural networks via adversarial training
US20190251417A1 (en) * 2018-02-12 2019-08-15 Microsoft Technology Licensing, Llc Artificial Intelligence System for Inferring Grounded Intent
US10706450B1 (en) * 2018-02-14 2020-07-07 Amazon Technologies, Inc. Artificial intelligence system for generating intent-aware recommendations
US20230007042A1 (en) * 2018-02-20 2023-01-05 Darktrace Holdings Limited A method and system for determining and acting on an email cyber threat campaign
US20230095415A1 (en) * 2018-02-20 2023-03-30 Darktrace Holdings Limited Helper agent and system
DK3800856T3 (da) * 2018-02-20 2023-08-28 Darktrace Holdings Ltd Cybersikkerhedsindretning til en cloud-infrastruktur
US20210273953A1 (en) * 2018-02-20 2021-09-02 Darktrace Holdings Limited ENDPOINT AGENT CLIENT SENSORS (cSENSORS) AND ASSOCIATED INFRASTRUCTURES FOR EXTENDING NETWORK VISIBILITY IN AN ARTIFICIAL INTELLIGENCE (AI) THREAT DEFENSE ENVIRONMENT
US10816978B1 (en) * 2018-02-22 2020-10-27 Msc.Software Corporation Automated vehicle artificial intelligence training based on simulations
EP3756375B1 (en) * 2018-02-25 2023-10-25 Nokia Solutions and Networks Oy Method and system for automated dynamic network slice deployment using artificial intelligence
US20190273510A1 (en) * 2018-03-01 2019-09-05 Crowdstrike, Inc. Classification of source data by neural network processing
US20190273509A1 (en) * 2018-03-01 2019-09-05 Crowdstrike, Inc. Classification of source data by neural network processing
US11379855B1 (en) * 2018-03-06 2022-07-05 Wells Fargo Bank, N.A. Systems and methods for prioritizing fraud cases using artificial intelligence
US10909604B1 (en) * 2018-03-07 2021-02-02 Amazon Technologies, Inc. Artificial intelligence system for automated selection and presentation of informational content
US10140553B1 (en) * 2018-03-08 2018-11-27 Capital One Services, Llc Machine learning artificial intelligence system for identifying vehicles
US10747962B1 (en) * 2018-03-12 2020-08-18 Amazon Technologies, Inc. Artificial intelligence system using phrase tables to evaluate and improve neural network based machine translation
JP6892404B2 (ja) * 2018-03-15 2021-06-23 株式会社鷺宮製作所 圧力センサ
US11429862B2 (en) * 2018-03-20 2022-08-30 Sri International Dynamic adaptation of deep neural networks
RU2695489C1 (ru) * 2018-03-23 2019-07-23 Общество с ограниченной ответственностью "Аби Продакшн" Идентификация полей на изображении с использованием искусственного интеллекта
US20190302766A1 (en) * 2018-03-28 2019-10-03 Micron Technology, Inc. Black Box Data Recorder with Artificial Intelligence Processor in Autonomous Driving Vehicle
US10650211B2 (en) * 2018-03-28 2020-05-12 Datalogic IP Tech, S.r.l. Artificial intelligence-based machine readable symbol reader
US10825227B2 (en) * 2018-04-03 2020-11-03 Sri International Artificial intelligence for generating structured descriptions of scenes
US11245726B1 (en) * 2018-04-04 2022-02-08 NortonLifeLock Inc. Systems and methods for customizing security alert reports
US11372900B1 (en) * 2018-04-06 2022-06-28 Corelogic Solutions, Llc Artificial intelligence-based property data matching system
US11604937B2 (en) * 2018-04-09 2023-03-14 Kåre L. Andersson Systems and methods for adaptive data processing associated with complex dynamics
US20190310592A1 (en) * 2018-04-09 2019-10-10 Diveplane Corporation Computer based reasoning and artificial intelligence systems
US10816981B2 (en) * 2018-04-09 2020-10-27 Diveplane Corporation Feature analysis in computer-based reasoning models
US10816980B2 (en) * 2018-04-09 2020-10-27 Diveplane Corporation Analyzing data for inclusion in computer-based reasoning models
US20190318219A1 (en) * 2018-04-11 2019-10-17 International Business Machines Corporation Personalized artificial intelligence interactions and customized responses of a computer system
US11416740B2 (en) * 2018-04-13 2022-08-16 Adtran, Inc. Artificial intelligence optimized telecommunications systems
US11132444B2 (en) * 2018-04-16 2021-09-28 International Business Machines Corporation Using gradients to detect backdoors in neural networks
US11568979B1 (en) * 2018-04-18 2023-01-31 Federal Leadership Institute, Inc. Adaptive artificial intelligence system for identifying behaviors associated with mental illness and modifying treatment plans based on emergent recognition of aberrant reactions
US11341277B2 (en) * 2018-04-20 2022-05-24 Nec Corporation Method and system for securing machine learning models
US11514354B2 (en) * 2018-04-20 2022-11-29 Accenture Global Solutions Limited Artificial intelligence based performance prediction system
US20190325528A1 (en) * 2018-04-24 2019-10-24 Brighterion, Inc. Increasing performance in anti-money laundering transaction monitoring using artificial intelligence
US20190332892A1 (en) * 2018-04-25 2019-10-31 General Electric Company Data intelligence driven artificial intelligence model generation and consumption
US11010848B1 (en) * 2018-04-25 2021-05-18 Michele Colucci Predicting legal matter outcome using artificial intelligence
US11494200B2 (en) * 2018-05-02 2022-11-08 Microsoft Technology Licensing, Llc. Configuring an electronic device using artificial intelligence
US11727289B2 (en) * 2018-05-04 2023-08-15 International Business Machines Corporation Iterative generation of top quality plans in automated plan generation for artificial intelligence applications and the like
US10742605B2 (en) * 2018-05-08 2020-08-11 International Business Machines Corporation Context-based firewall for learning artificial intelligence entities
US11610165B2 (en) * 2018-05-09 2023-03-21 Volvo Car Corporation Method and system for orchestrating multi-party services using semi-cooperative nash equilibrium based on artificial intelligence, neural network models,reinforcement learning and finite-state automata
KR102395808B1 (ko) * 2018-05-10 2022-05-09 주식회사 엘솔루 인공지능 서비스 방법 및 이를 위한 장치
US10783375B2 (en) * 2018-05-10 2020-09-22 Apptarix Mobility Solutions Pvt Ltd System and method for grouping independent machine learnt artificial intelligence to generate collective “machine wisdom” to obtain higher accuracy in identification of tags, objects and actions in a video
US11455493B2 (en) * 2018-05-16 2022-09-27 International Business Machines Corporation Explanations for artificial intelligence based recommendations
US11399779B2 (en) * 2018-05-16 2022-08-02 Case Western Reserve University System-independent quantitative perfusion imaging
US10929456B2 (en) * 2018-05-21 2021-02-23 Microsoft Technology Licensing, Llc Indexing refined output of artificial intelligence models
US11429654B2 (en) * 2018-05-21 2022-08-30 Microsoft Technology Licensing, Llc Exercising artificial intelligence by refining model output
US10839215B2 (en) * 2018-05-21 2020-11-17 Electronic Arts Inc. Artificial intelligence for emulating human playstyles
US11443201B2 (en) * 2018-05-21 2022-09-13 Siemens Healthcare Gmbh Artificial intelligence-based self-learning in medical imaging
US20190362645A1 (en) * 2018-05-25 2019-11-28 Open Text Corporation Artificial Intelligence Based Data Processing System for Automatic Setting of Controls in an Evaluation Operator Interface
US11049594B2 (en) * 2018-05-29 2021-06-29 RevvPro Inc. Computer-implemented system and method of facilitating artificial intelligence based revenue cycle management in healthcare
US10642869B2 (en) * 2018-05-29 2020-05-05 Accenture Global Solutions Limited Centralized data reconciliation using artificial intelligence mechanisms
US11222138B2 (en) * 2018-05-29 2022-01-11 Visa International Service Association Privacy-preserving machine learning in the three-server model
US10896214B2 (en) * 2018-06-01 2021-01-19 Accenture Global Solutions Limited Artificial intelligence based-document processing
US11443058B2 (en) * 2018-06-05 2022-09-13 Amazon Technologies, Inc. Processing requests at a remote service to implement local data classification
US11500904B2 (en) * 2018-06-05 2022-11-15 Amazon Technologies, Inc. Local data classification based on a remote service interface
US11775857B2 (en) * 2018-06-05 2023-10-03 Wipro Limited Method and system for tracing a learning source of an explainable artificial intelligence model
US11615339B2 (en) * 2018-06-06 2023-03-28 EmbodyVR, Inc. Automated versioning and evaluation of machine learning workflows
US10542046B2 (en) * 2018-06-07 2020-01-21 Unifyvault LLC Systems and methods for blockchain security data intelligence
US10282553B1 (en) * 2018-06-11 2019-05-07 Grey Market Labs, PBC Systems and methods for controlling data exposure using artificial-intelligence-based modeling
US10306059B1 (en) * 2018-06-11 2019-05-28 Motorola Solutions, Inc. System and method for artificial intelligence on hold call handling
US10771489B1 (en) * 2018-06-12 2020-09-08 Akitra, Inc. Artificial intelligence method and system for detecting anomalies in a computer network
US20230208869A1 (en) * 2018-06-12 2023-06-29 Akitra, Inc. Generative artificial intelligence method and system configured to provide outputs for company compliance
US10811139B1 (en) * 2018-06-13 2020-10-20 Clarify Health Solutions, Inc. Computer network architecture with machine learning and artificial intelligence and dynamic patient guidance
US10725827B2 (en) * 2018-06-14 2020-07-28 Accenture Global Solutions Limited Artificial intelligence based virtual automated assistance
US11868436B1 (en) * 2018-06-14 2024-01-09 Amazon Technologies, Inc. Artificial intelligence system for efficient interactive training of machine learning models
US20190385090A1 (en) * 2018-06-14 2019-12-19 Honeywell International Inc. Systems and methods for using artificial intelligence models to identify a current threat scenario
US11120364B1 (en) * 2018-06-14 2021-09-14 Amazon Technologies, Inc. Artificial intelligence system with customizable training progress visualization and automated recommendations for rapid interactive development of machine learning models
US11875230B1 (en) * 2018-06-14 2024-01-16 Amazon Technologies, Inc. Artificial intelligence system with intuitive interactive interfaces for guided labeling of training data for machine learning models
US11119630B1 (en) * 2018-06-19 2021-09-14 Palantir Technologies Inc. Artificial intelligence assisted evaluations and user interface for same
US20190391901A1 (en) * 2018-06-20 2019-12-26 Ca, Inc. Adaptive baselining and filtering for anomaly analysis
US11361211B2 (en) * 2018-06-20 2022-06-14 Accenture Global Solutions Limited Artificial intelligence (AI) based chatbot creation and communication system
US11373117B1 (en) * 2018-06-22 2022-06-28 Amazon Technologies, Inc. Artificial intelligence service for scalable classification using features of unlabeled data and class descriptors
US10853459B2 (en) * 2018-06-26 2020-12-01 Callsign Inc. Verification request authentication machine
US11244222B2 (en) * 2018-06-27 2022-02-08 Sony Corporation Artificial intelligence-enabled device for network connectivity independent delivery of consumable information
US11030200B2 (en) * 2018-06-27 2021-06-08 Coupa Software Incorporated Integration of artificial intelligence-based data classification processes with a procurement system to relativize an entity score
US20200004890A1 (en) * 2018-06-27 2020-01-02 Microsoft Technology Licensing, Llc Personalized artificial intelligence and natural language models based upon user-defined semantic context and activities
US11138520B2 (en) * 2018-06-28 2021-10-05 International Business Machines Corporation Ranking and updating machine learning models based on data inputs at edge nodes
US20210328969A1 (en) * 2018-06-28 2021-10-21 Visa International Service Association Systems and methods to secure api platforms
US20200005117A1 (en) * 2018-06-28 2020-01-02 Microsoft Technology Licensing, Llc Artificial intelligence assisted content authoring for automated agents
US10628546B1 (en) * 2018-06-29 2020-04-21 Cadence Design Systems, Inc. Method and system for automatically extracting layout design patterns for custom layout design reuse through interactive recommendations
US10699051B1 (en) * 2018-06-29 2020-06-30 Cadence Design Systems, Inc. Method and system for performing cross-validation for model-based layout recommendations
US11500477B2 (en) * 2018-07-02 2022-11-15 Google Llc Systems and methods for interacting and interfacing with an artificial intelligence system
US11087770B2 (en) * 2018-07-03 2021-08-10 American Express Travel Related Services Company, Inc. Dispute initiation using artificial intelligence
US11651271B1 (en) * 2018-07-03 2023-05-16 Amazon Technologies, Inc. Artificial intelligence system incorporating automatic model updates based on change point detection using likelihood ratios
US11636377B1 (en) * 2018-07-03 2023-04-25 Amazon Technologies, Inc. Artificial intelligence system incorporating automatic model updates based on change point detection using time series decomposing and clustering
US11196746B2 (en) * 2018-07-04 2021-12-07 Microsoft Technology Licensing, Llc Whitelisting of trusted accessors to restricted web pages
US10733292B2 (en) * 2018-07-10 2020-08-04 International Business Machines Corporation Defending against model inversion attacks on neural networks
US11689566B2 (en) * 2018-07-10 2023-06-27 International Business Machines Corporation Detecting and mitigating poison attacks using data provenance
US10887640B2 (en) * 2018-07-11 2021-01-05 Adobe Inc. Utilizing artificial intelligence to generate enhanced digital content and improve digital content campaign design
US10878388B2 (en) * 2018-07-12 2020-12-29 Visionx, Llc Systems and methods for artificial-intelligence-based automated surface inspection
EP3594666A1 (en) * 2018-07-12 2020-01-15 Aibi Dynamics Co., Ltd. Artificial intelligence-based leather inspection method and leather product production method
US20190050564A1 (en) * 2018-07-12 2019-02-14 Intel Corporation Protection for inference engine against model retrieval attack
US10839618B2 (en) * 2018-07-12 2020-11-17 Honda Motor Co., Ltd. Applied artificial intelligence for natural language processing automotive reporting system
US11562304B2 (en) * 2018-07-13 2023-01-24 Accenture Global Solutions Limited Preventative diagnosis prediction and solution determination of future event using internet of things and artificial intelligence
US20200027530A1 (en) * 2018-07-18 2020-01-23 International Business Machines Corporation Simulating Patients for Developing Artificial Intelligence Based Medical Solutions
US20200027554A1 (en) * 2018-07-18 2020-01-23 International Business Machines Corporation Simulating Patients for Developing Artificial Intelligence Based Medical Solutions
US11797866B2 (en) * 2018-07-18 2023-10-24 Salesforce.Com, Inc. Systems and methods for accelerating execution of processes based on artificial intelligence (AI) prediction of blockchain consensus
US20200028885A1 (en) * 2018-07-23 2020-01-23 International Business Machines Corporation Artificial intelligence for providing enhanced microblog message insertion
US11651043B2 (en) * 2018-07-24 2023-05-16 MachEye, Inc. Leveraging analytics across disparate computing devices
US20200073475A1 (en) * 2018-07-25 2020-03-05 Christopher Keane Artificial intelligence assisted neurofeedback brain wave training techniques, systems, and methods
US10777200B2 (en) * 2018-07-27 2020-09-15 International Business Machines Corporation Artificial intelligence for mitigating effects of long-term cognitive conditions on patient interactions
US20200042888A1 (en) * 2018-07-31 2020-02-06 Gyrfalcon Technology Inc. Self-sufficient artificial intelligence edge devices
US11164093B1 (en) * 2018-08-03 2021-11-02 Amazon Technologies, Inc. Artificial intelligence system incorporating automatic model switching based on model parameter confidence sets
US20200042643A1 (en) * 2018-08-06 2020-02-06 International Business Machines Corporation Heuristic q&a system
US10708363B2 (en) * 2018-08-10 2020-07-07 Futurewei Technologies, Inc. Artificial intelligence based hierarchical service awareness engine
US11015576B2 (en) * 2018-08-13 2021-05-25 Inventus Holdings, Llc Wind turbine control system including an artificial intelligence ensemble engine
US11763950B1 (en) * 2018-08-16 2023-09-19 Clarify Health Solutions, Inc. Computer network architecture with machine learning and artificial intelligence and patient risk scoring
US11531914B2 (en) * 2018-08-20 2022-12-20 Accenture Global Solutions Limited Artificial intelligence (AI) based automatic rule generation
JP7216190B2 (ja) * 2018-08-20 2023-01-31 シーメンス アクチエンゲゼルシヤフト プログラマブルロジックコントローラベースの人工知能用モジュール式アクセラレーションモジュール
US20200067851A1 (en) * 2018-08-21 2020-02-27 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Smart software-defined network (sdn) switch
US10846678B2 (en) * 2018-08-21 2020-11-24 Sensormatic Electronics, LLC Self-service product return using computer vision and Artificial Intelligence
JP2021536055A (ja) * 2018-08-23 2021-12-23 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 人工知能計算装置、制御方法および制御装置、エンジニアステーションおよび産業オートメーションシステム
US11363031B2 (en) * 2018-08-27 2022-06-14 Ciena Corporation Network architecture providing device identification and redirection using whitelisting traffic classification
US10956310B2 (en) * 2018-08-30 2021-03-23 International Business Machines Corporation Automated test case generation for deep neural networks and other model-based artificial intelligence systems
US10901787B2 (en) * 2018-08-31 2021-01-26 Accenture Global Solutions Limited Artificial intelligence (AI) based resource identification
US11734328B2 (en) * 2018-08-31 2023-08-22 Accenture Global Solutions Limited Artificial intelligence based corpus enrichment for knowledge population and query response
US20200082293A1 (en) * 2018-09-06 2020-03-12 Every Life Works, LLC Party-specific environmental interface with artificial intelligence (ai)
US11816575B2 (en) * 2018-09-07 2023-11-14 International Business Machines Corporation Verifiable deep learning training service
US10706347B2 (en) * 2018-09-17 2020-07-07 Intel Corporation Apparatus and methods for generating context-aware artificial intelligence characters
WO2020060537A1 (en) * 2018-09-18 2020-03-26 Visa International Service Association Microservice adaptive security hardening
US11095621B2 (en) * 2018-09-18 2021-08-17 International Business Machines Corporation Selective cognitive security for communication data
KR102128549B1 (ko) * 2018-09-19 2020-07-08 주식회사 포티투마루 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램
KR20200036085A (ko) * 2018-09-19 2020-04-07 엘지전자 주식회사 인공지능 장치
US10694872B2 (en) * 2018-09-19 2020-06-30 Sensormatic Electronics, LLC Point of sale artificial intelligence quality determination system
US20200098030A1 (en) * 2018-09-24 2020-03-26 Salesforce.Com, Inc. Inventory-assisted artificial intelligence recommendation engine
US11030203B2 (en) * 2018-09-25 2021-06-08 Sap Se Machine learning detection of database injection attacks
US20200097582A1 (en) * 2018-09-26 2020-03-26 Ca, Inc. Managing access to removable storage media using artificial intelligence
US10864638B2 (en) * 2018-09-27 2020-12-15 Logistics and Supply Chain MultiTech R&D Centre Limited Reinforcement bar joint recognition using artificial intelligence vision
US11380443B2 (en) * 2018-09-27 2022-07-05 International Business Machines Corporation Predicting non-communicable disease with infectious risk factors using artificial intelligence
US11354539B2 (en) * 2018-09-27 2022-06-07 International Business Machines Corporation Encrypted data model verification
US11475053B1 (en) * 2018-09-28 2022-10-18 Splunk Inc. Providing completion recommendations for a partial natural language request received by a natural language processing system
US11017764B1 (en) * 2018-09-28 2021-05-25 Splunk Inc. Predicting follow-on requests to a natural language request received by a natural language processing system
US10942562B2 (en) * 2018-09-28 2021-03-09 Intel Corporation Methods and apparatus to manage operation of variable-state computing devices using artificial intelligence
US11170335B2 (en) * 2018-09-28 2021-11-09 Accenture Global Solutions Limited Adaptive artificial intelligence for user training and task management
US10891469B2 (en) * 2018-09-28 2021-01-12 Accenture Global Solutions Limited Performance of an emotional analysis of a target using techniques driven by artificial intelligence
US11762451B2 (en) * 2018-09-29 2023-09-19 Intel Corporation Methods and apparatus to add common sense reasoning to artificial intelligence in the context of human machine interfaces
US20200111096A1 (en) * 2018-10-04 2020-04-09 Capital One Services, Llc Artificial intelligence-based system and method
US10482554B1 (en) * 2018-10-05 2019-11-19 Capital One Services, Llc Digital negotiation platform
US10783068B2 (en) * 2018-10-11 2020-09-22 International Business Machines Corporation Generating representative unstructured data to test artificial intelligence services for bias
US10616343B1 (en) * 2018-10-22 2020-04-07 Motorola Mobility Llc Center console unit and corresponding systems and methods
US10805343B2 (en) * 2018-10-22 2020-10-13 Booz Allen Hamilton Inc. Network security using artificial intelligence and high speed computing
US11449986B2 (en) * 2018-10-23 2022-09-20 International Business Machines Corporation Enhancing medical imaging workflows using artificial intelligence
US11010472B1 (en) * 2018-10-23 2021-05-18 Architecture Technology Corporation Systems and methods for signature-less endpoint protection against zero-day malware attacks
US20200381131A1 (en) * 2018-10-30 2020-12-03 Chakravarthy Toleti System and method for healthcare compliance
US11188797B2 (en) * 2018-10-30 2021-11-30 International Business Machines Corporation Implementing artificial intelligence agents to perform machine learning tasks using predictive analytics to leverage ensemble policies for maximizing long-term returns
US10833010B2 (en) * 2018-10-31 2020-11-10 International Business Machines Corporation Integration of artificial intelligence devices
US11663501B2 (en) * 2018-11-01 2023-05-30 American Express Travel Related Services Company, Inc. Information support system using artificial intelligence
US10576380B1 (en) * 2018-11-05 2020-03-03 Sony Interactive Entertainment LLC Artificial intelligence (AI) model training using cloud gaming network
US11100222B2 (en) * 2018-11-05 2021-08-24 Nxp B.V. Method for hardening a machine learning model against extraction
US20200143274A1 (en) * 2018-11-06 2020-05-07 Kira Inc. System and method for applying artificial intelligence techniques to respond to multiple choice questions
US10380613B1 (en) * 2018-11-07 2019-08-13 Capital One Services, Llc System and method for analyzing cryptocurrency-related information using artificial intelligence
US10742813B2 (en) * 2018-11-08 2020-08-11 N3, Llc Semantic artificial intelligence agent
US20200151821A1 (en) * 2018-11-13 2020-05-14 Bank Of America Corporation Smart reserve system (srs) for use with a data-driven, artificial-intelligence-informed, transaction ecosystem
US10825446B2 (en) * 2018-11-14 2020-11-03 International Business Machines Corporation Training artificial intelligence to respond to user utterances
US11036857B2 (en) * 2018-11-15 2021-06-15 International Business Machines Corporation Protecting a machine learning model
US11120791B2 (en) * 2018-11-15 2021-09-14 International Business Machines Corporation Collaborative artificial intelligence (AI) voice response system control for authorizing a command associated with a calendar event
US10755412B2 (en) * 2018-11-20 2020-08-25 International Business Machines Corporation Automated patient complexity classification for artificial intelligence tools
US11288414B2 (en) * 2018-11-20 2022-03-29 The Boeing Company Artificial intelligence-based manufacturing part design
US11277430B2 (en) * 2018-11-23 2022-03-15 Booz Allen Hamilton Inc. System and method for securing a network
US10381006B1 (en) * 2018-11-26 2019-08-13 Accenture Global Solutions Limited Dialog management system for using multiple artificial intelligence service providers
US10970322B2 (en) * 2018-11-26 2021-04-06 International Business Machines Corporation Training an artificial intelligence to generate an answer to a query based on an answer table pattern
US10341430B1 (en) * 2018-11-27 2019-07-02 Sailpoint Technologies, Inc. System and method for peer group detection, visualization and analysis in identity management artificial intelligence systems using cluster based analysis of network identity graphs
US11250159B2 (en) * 2018-11-29 2022-02-15 International Business Machines Corporation Secure data monitoring utilizing secure private set intersection
US11301535B2 (en) * 2018-11-29 2022-04-12 Sap Se Systems and methods for determining a geographic location
US11250387B2 (en) * 2018-11-30 2022-02-15 Microsoft Technology Licensing, Llc Sentence attention modeling for event scheduling via artificial intelligence and digital assistants
DE102018220711A1 (de) * 2018-11-30 2020-06-04 Robert Bosch Gmbh Messung der Anfälligkeit von KI-Modulen gegen Täuschungsversuche
US11244050B2 (en) * 2018-12-03 2022-02-08 Mayachitra, Inc. Malware classification and detection using audio descriptors
US10984490B2 (en) * 2018-12-07 2021-04-20 Lehr Holdings, Inc. Artificial intelligence real estate platform
US11171929B2 (en) * 2018-12-17 2021-11-09 International Business Machines Corporation Applying differential security to API message payload data elements
US11431738B2 (en) * 2018-12-19 2022-08-30 Abnormal Security Corporation Multistage analysis of emails to identify security threats
US11050793B2 (en) * 2018-12-19 2021-06-29 Abnormal Security Corporation Retrospective learning of communication patterns by machine learning models for discovering abnormal behavior
US11824870B2 (en) * 2018-12-19 2023-11-21 Abnormal Security Corporation Threat detection platforms for detecting, characterizing, and remediating email-based threats in real time
US11113653B2 (en) * 2018-12-26 2021-09-07 Accenture Global Solutions Limited Artificial intelligence and machine learning based incident management
US11188643B2 (en) * 2018-12-27 2021-11-30 Intel Corporation Methods and apparatus for detecting a side channel attack using hardware performance counters
US20190138719A1 (en) * 2018-12-27 2019-05-09 Salmin Sultana Methods and apparatus for detecting a side channel attack using a cache state
US11824732B2 (en) * 2018-12-28 2023-11-21 Intel Corporation Techniques for artificial intelligence capabilities at a network switch
US11170055B2 (en) * 2018-12-28 2021-11-09 Open Text Sa Ulc Artificial intelligence augmented document capture and processing systems and methods
US10986121B2 (en) * 2019-01-24 2021-04-20 Darktrace Limited Multivariate network structure anomaly detector
US11470110B2 (en) * 2019-02-08 2022-10-11 Imperva, Inc. Identifying and classifying community attacks
US11637864B2 (en) * 2019-02-13 2023-04-25 Radware Ltd. Hardening of cloud security policies
US11227215B2 (en) * 2019-03-08 2022-01-18 International Business Machines Corporation Quantifying vulnerabilities of deep learning computing systems to adversarial perturbations
US11550908B2 (en) * 2019-03-15 2023-01-10 Paul J Long Method and apparatus for producing a machine learning system for malware prediction in low complexity sensor networks
US11457031B1 (en) * 2019-03-27 2022-09-27 Akitra, Inc. Apparatus having engine using artificial intelligence for detecting bot anomalies in a computer network
US11669779B2 (en) * 2019-04-05 2023-06-06 Zscaler, Inc. Prudent ensemble models in machine learning with high precision for use in network security
US11475368B2 (en) * 2019-04-05 2022-10-18 Zscaler, Inc. Machine learning model abstraction layer for runtime efficiency
US11755726B2 (en) * 2019-04-05 2023-09-12 Zscaler, Inc. Utilizing machine learning for smart quarantining of potentially malicious files
US11636380B2 (en) * 2019-04-09 2023-04-25 Nxp B.V. Method for protecting a machine learning model against extraction using an ensemble of a plurality of machine learning models
US20200336507A1 (en) * 2019-04-17 2020-10-22 Sew, Inc. Generative attack instrumentation for penetration testing
WO2020219157A1 (en) * 2019-04-26 2020-10-29 The Trustees Of Princeton University System and method for security in internet-of-things and cyber-physical systems based on machine learning
US11526610B2 (en) * 2019-05-21 2022-12-13 Veracode, Inc. Peer-to-peer network for blockchain security
US20210027306A1 (en) * 2019-07-23 2021-01-28 Cisco Technology, Inc. System to automatically find, classify, and take actions against counterfeit products and/or fake assets online
US20210037040A1 (en) * 2019-07-29 2021-02-04 The Toronto-Dominion Bank Intelligent security automation and continuous verification and response platform
US20220360597A1 (en) * 2019-08-29 2022-11-10 Darktrace Holdings Limited Cyber security system utilizing interactions between detected and hypothesize cyber-incidents
US11681796B2 (en) * 2019-09-10 2023-06-20 International Business Machines Corporation Learning input preprocessing to harden machine learning models
US11902318B2 (en) * 2019-10-10 2024-02-13 Alliance For Sustainable Energy, Llc Network visualization, intrusion detection, and network healing
US11334671B2 (en) * 2019-10-14 2022-05-17 International Business Machines Corporation Adding adversarial robustness to trained machine learning models
US11411992B2 (en) * 2019-11-07 2022-08-09 Mcafee, Llc Visual detection of phishing websites via headless browser
EP4062427A4 (en) * 2019-11-20 2023-05-24 University of Tennessee Research Foundation PROCEDURE FOR DETECTING ABNORMAL OPERATION OF INDUSTRIAL SYSTEMS AND RELEVANT CONTROL SYSTEMS AND RELATED SYSTEMS AND ARTICLES OF MANUFACTURE
US11501101B1 (en) * 2019-12-16 2022-11-15 NTT DATA Services, LLC Systems and methods for securing machine learning models
US11423145B2 (en) * 2019-12-26 2022-08-23 Intel Corporation Methods and arrangements for multi-layer in-vehicle network intrusion detection and characterization
US11483318B2 (en) * 2020-01-07 2022-10-25 International Business Machines Corporation Providing network security through autonomous simulated environments
US11544527B2 (en) * 2020-02-06 2023-01-03 International Business Machines Corporation Fuzzy cyber detection pattern matching
US10970188B1 (en) * 2020-02-11 2021-04-06 HoxHunt Oy System for improving cybersecurity and a method therefor
EP3865558A1 (en) * 2020-02-14 2021-08-18 BASF Corporation Process for the hydrogenation of hydrocarbon resins using catalysts with protective coatings
US20210273973A1 (en) * 2020-02-28 2021-09-02 Darktrace Holdings Limited SOFTWARE AS A SERVICE (SaaS) USER INTERFACE (UI) FOR DISPLAYING USER ACTIVITIES IN AN ARTIFICIAL INTELLIGENCE (AI)-BASED CYBER THREAT DEFENSE SYSTEM
WO2021171092A2 (en) * 2020-02-28 2021-09-02 Darktrace, Inc. Treating data flows differently based on level of interest
US11973774B2 (en) * 2020-02-28 2024-04-30 Darktrace Holdings Limited Multi-stage anomaly detection for process chains in multi-host environments
US11483319B2 (en) * 2020-03-05 2022-10-25 International Business Machines Corporation Security model
US11783025B2 (en) * 2020-03-12 2023-10-10 International Business Machines Corporation Training diverse and robust ensembles of artificial intelligence computer models
US11568249B2 (en) * 2020-04-07 2023-01-31 International Business Machines Corporation Automated decision making for neural architecture search
US11720686B1 (en) * 2020-04-08 2023-08-08 Wells Fargo Bank, N.A. Security model utilizing multi-channel data with risk-entity facing cybersecurity alert engine and portal
US11558403B2 (en) * 2020-05-06 2023-01-17 International Business Machines Corporation Quantum computing machine learning for security threats
US11416608B2 (en) * 2020-05-29 2022-08-16 Microsoft Technology Licensing, Llc Layered analysis for network security risk detection
US11785022B2 (en) * 2020-06-16 2023-10-10 Zscaler, Inc. Building a Machine Learning model without compromising data privacy
US20220069990A1 (en) * 2020-06-23 2022-03-03 Clemson University Physical unclonable function from an integrated photonic interferometer
US11663486B2 (en) * 2020-06-23 2023-05-30 International Business Machines Corporation Intelligent learning system with noisy label data
US20220006830A1 (en) * 2020-07-02 2022-01-06 Proofpoint, Inc. Modeling Simulated Cybersecurity Attack Difficulty
US20220035961A1 (en) * 2020-08-03 2022-02-03 Ut-Battelle, Llc System and method for artifact reduction of computed tomography reconstruction leveraging artificial intelligence and a priori known model for the object of interest
US11425151B2 (en) * 2020-08-05 2022-08-23 Paypal, Inc. Client-side attack detection via simulation
US11722510B2 (en) * 2020-08-10 2023-08-08 Bank Of America Corporation Monitoring and preventing remote user automated cyber attacks
US12001553B2 (en) * 2020-08-20 2024-06-04 Red Bend Ltd. Detecting vehicle malfunctions and cyber attacks using machine learning
US11803641B2 (en) * 2020-09-11 2023-10-31 Zscaler, Inc. Utilizing Machine Learning to detect malicious executable files efficiently and effectively
US11420296B2 (en) * 2020-09-17 2022-08-23 Te-Fu FANG Welding filler wire for fusion welding precipitation-hardened austenitic Fe—Mn—Al—C alloys
US20220092464A1 (en) * 2020-09-23 2022-03-24 International Business Machines Corporation Accelerated machine learning
US11824900B2 (en) * 2020-10-23 2023-11-21 Bank Of America Corporation Artificial intelligence security configuration engine
US20220129712A1 (en) * 2020-10-27 2022-04-28 Raytheon Company Deep neural network hardener
KR20230096080A (ko) * 2020-10-30 2023-06-29 야자키 소교 가부시키가이샤 알루미늄-탄소 금속 매트릭스 복합재 자석 와이어들
US11770404B2 (en) * 2020-11-10 2023-09-26 Domain Tools, LLC Enhanced neutral domain data selection for cybersecurity machine learning applications
WO2022103689A1 (en) * 2020-11-10 2022-05-19 Genentech, Inc. Service orchestration within a distributed pod based system
US20220179990A1 (en) * 2020-12-03 2022-06-09 International Business Machines Corporation Federated private adversarial training
US11893005B2 (en) * 2021-01-08 2024-02-06 Blackberry Limited Anomaly detection based on an event tree
US20220300788A1 (en) * 2021-03-19 2022-09-22 Qualcomm Incorporated Efficient compression of activation functions
JP7483654B2 (ja) * 2021-04-06 2024-05-15 富士フイルムヘルスケア株式会社 医用画像処理装置および医用画像処理方法
WO2023283357A1 (en) * 2021-07-07 2023-01-12 Darktrace, Inc. Intelligent prioritization of assessment and remediation of common vulnerabilities and exposures for network nodes
US11415425B1 (en) * 2021-09-14 2022-08-16 Akitra Inc. Apparatus having engine using artificial intelligence for detecting behavior anomalies in a computer network
US20230169176A1 (en) * 2021-11-28 2023-06-01 International Business Machines Corporation Graph exploration framework for adversarial example generation
US20230208871A1 (en) * 2021-12-28 2023-06-29 SecureX.AI, Inc. Systems and methods for vulnerability assessment for cloud assets using imaging methods
US20230208870A1 (en) * 2021-12-28 2023-06-29 SecureX.AI, Inc. Systems and methods for predictive analysis of potential attack patterns based on contextual security information
US20230205891A1 (en) * 2021-12-28 2023-06-29 SecureX.AI, Inc. Systems and methods for prioritizing security findings using machine learning models
US20230249847A1 (en) * 2022-02-10 2023-08-10 Brian Haney Methods and Device for Autonomous Rocketry
EP4227854A1 (en) * 2022-02-11 2023-08-16 Robert Bosch GmbH Device and method for determining adversarial patches for a machine learning system
US20230274003A1 (en) * 2022-02-28 2023-08-31 Accenture Global Solutions Limited Identifying and correcting vulnerabilities in machine learning models
US20230319099A1 (en) * 2022-03-31 2023-10-05 Sophos Limited Fuzz testing of machine learning models to detect malicious activity on a computer
US20220336415A1 (en) * 2022-07-01 2022-10-20 Lai Guan Tang Grid-based interconnect system for modular integrated circuit systems
US20220337251A1 (en) * 2022-07-01 2022-10-20 Ankireddy Nalamalpu Systems and methods for modular disaggregated integrated circuit systems
US20230103447A1 (en) * 2022-11-23 2023-04-06 Intel Corporation Apparatus, Device, Method, and Computer Program for Managing Memory

Also Published As

Publication number Publication date
BR112021010468A2 (pt) 2021-08-24
EP3906508A4 (en) 2022-10-19
WO2020142110A1 (en) 2020-07-09
EP3906508B1 (en) 2024-03-13
JP7376593B2 (ja) 2023-11-08
US20210319098A1 (en) 2021-10-14
CN112334917A (zh) 2021-02-05
EP3906508A1 (en) 2021-11-10
JP2022515711A (ja) 2022-02-22
EP4369229A2 (en) 2024-05-15

Similar Documents

Publication Publication Date Title
EP3906508B1 (en) Securing systems employing artificial intelligence
US11163860B2 (en) Protecting deep learning models using watermarking
Lei et al. EveDroid: Event-aware Android malware detection against model degrading for IoT devices
Ramotsoela et al. Attack detection in water distribution systems using machine learning
Fleshman et al. Static malware detection & subterfuge: Quantifying the robustness of machine learning and current anti-virus
Isakov et al. Survey of attacks and defenses on edge-deployed neural networks
Saha et al. SHARKS: Smart hacking approaches for risk scanning in Internet-of-Things and cyber-physical systems based on machine learning
JP7502729B2 (ja) ブロックチェーンを使用する資産または情報へのセキュア・アクセスのシステムおよび方法
Li et al. Deep learning backdoors
US20230274003A1 (en) Identifying and correcting vulnerabilities in machine learning models
Regazzoni et al. Protecting artificial intelligence IPs: a survey of watermarking and fingerprinting for machine learning
AU2021210217B2 (en) Neural flow attestation
CN117056951B (zh) 一种数字平台的数据安全管理方法
Jahromi et al. Deep federated learning-based cyber-attack detection in industrial control systems
Peng et al. Intellectual property protection of DNN models
Adams et al. Application of cybernetics and control theory for a new paradigm in cybersecurity
Chen Deep learning for cybersecurity: a review
Kharchenko et al. AI cybersecurity assurance for autonomous transport systems: Scenario, model, and IMECA-based analysis
Andrade et al. Malware classification using word embeddings algorithms and long‐short term memory networks
Kaushik et al. A novel intrusion detection system for internet of things devices and data
Kulikov et al. Adversarial attacks on intrusion detection systems using the LSTM classifier
Williams et al. Discovery of AI/ML supply chain vulnerabilities within automotive cyber-physical systems
Rawat et al. Enhancement of UAV Data Security and Privacy via Ethereum Blockchain Technology.
Zheng Towards privacy protection in the era of adversarial machine learning: Attack and defense
Pan et al. Matryoshka: Stealing Functionality of Private ML Data by Hiding Models in Model

Legal Events

Date Code Title Description
A201 Request for examination