KR102593690B1 - 샘플링 서버로부터 샘플링하기 위한 시스템들, 방법들 및 장치 - Google Patents
샘플링 서버로부터 샘플링하기 위한 시스템들, 방법들 및 장치 Download PDFInfo
- Publication number
- KR102593690B1 KR102593690B1 KR1020197012141A KR20197012141A KR102593690B1 KR 102593690 B1 KR102593690 B1 KR 102593690B1 KR 1020197012141 A KR1020197012141 A KR 1020197012141A KR 20197012141 A KR20197012141 A KR 20197012141A KR 102593690 B1 KR102593690 B1 KR 102593690B1
- Authority
- KR
- South Korea
- Prior art keywords
- samples
- machine learning
- sampling server
- sampling
- digital processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/08—Computing arrangements based on specific mathematical models using chaos models or non-linear system models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Nonlinear Science (AREA)
- Superconductor Devices And Manufacturing Methods Thereof (AREA)
- Complex Calculations (AREA)
Abstract
디지털 프로세서는 샘플링 서버와 병렬로 기계 학습 알고리즘을 실행한다. 샘플링 서버는 예를 들어 주어진 문제에 대한 기계 학습 알고리즘의 실행 동안 기계 학습 알고리즘에 대한 샘플들을 연속적으로 또는 간헐적으로 추출할 수 있다. 샘플링 서버는 양자 프로세서로부터 샘플들을 추출하기 위해 양자 프로세서와 병렬로(예를 들어, 함께, 중첩하여, 동시에) 실행될 수 있다.
Description
본 개시는 일반적으로 샘플링 서버를 이용하는 기계 학습 시스템들에 관한 것이다.
기계 학습
기계 학습은 데이터로부터 학습하고 데이터에 기초하여 예측을 수행할 수 있는 방법 및 회로와 관련된다. 정적 프로그램 명령어들을 따르는 방법 또는 회로와는 대조적으로, 기계 학습 방법 및 회로는 (훈련 세트와 같은) 예시적인 입력들로부터 모델을 도출한 다음에 데이터 기반 예측을 수행하는 것을 포함할 수 있다.
기계 학습은 최적화와 관련된다. 일부 문제들은 훈련 세트에 대한 손실 함수를 최소화하는 것의 면에서 표현될 수 있으며, 여기서 손실 함수는 훈련되는 모델의 예측과 관찰 가능한 데이터 간의 불일치를 기술한다.
기계 학습 태스크들은 비감독된 학습, 감독된 학습 및 강화 학습을 포함할 수 있다. 기계 학습에 대한 접근법들은 의사 결정 트리, 선형 및 이차 분류기, 사례 기반 추론, 베이지안 통계(Bayesian statistics) 및 인공 신경 네트워크를 포함하지만 이로 제한되지 않는다.
기계 학습은 명시적 접근법들이 실행 불가능한 것으로 간주되는 상황에서 사용될 수 있다. 예시적인 응용 영역은 광학 문자 인식, 검색 엔진 최적화, 및 컴퓨터 비전을 포함한다.
양자 프로세서
양자 프로세서는 비양자 디바이스들에 이용 가능하지 않은 (중첩, 얽힘 및 양자 터널링과 같은) 양자 물리 현상들을 이용할 수 있는 컴퓨팅 디바이스이다. 양자 프로세서는 초전도 양자 프로세서의 형태를 취할 수 있다. 초전도 양자 프로세서는 다수의 큐비트 및 관련 로컬 바이어스 디바이스, 예를 들어 둘 이상의 초전도 큐비트를 포함할 수 있다. 큐비트의 예는 자속 큐비트(flux qubit)이다. 초전도 양자 프로세서는 또한 큐비트들 사이의 통신 결합을 제공하는 커플링 디바이스들(즉, "커플러들")을 이용할 수 있다. 본 시스템들 및 디바이스들과 관련하여 사용될 수 있는 예시적인 양자 프로세서들의 추가의 세부 사항들 및 실시예들이 예를 들어 미국 특허 제7,533,068호; 제8,008,942호; 제8,195,596호; 제8,190,548호; 및 제8,421,053호에 설명되어 있다.
단열 양자 계산
단열 양자 계산은 전형적으로 알려진 초기 해밀토니안(Hamiltonian)(해밀토니안은 그의 고유값들이 시스템의 허용 에너지들인 연산자임)으로부터 최종 해밀토니안까지 해밀토니안을 점차적으로 변경함으로써 시스템을 진화시키는 것을 포함한다. 단열 진화의 간단한 예는 초기 해밀토니안과 최종 해밀토니안 사이의 선형 보간이다. 예가 다음에 의해 주어지며:
여기서 H i 는 초기 해밀토니안이고, H f 는 최종 해밀토니안이고, H e 는 진화 또는 순간 해밀토니안이고, s는 진화의 레이트(즉, 해밀토니안이 변하는 레이트)를 제어하는 진화 계수이다.
시스템이 진화함에 따라, 진화 계수 s는 0에서 1로 가며, 따라서 시작(즉, s = 0)에서 진화 해밀토니안 H e 는 초기 해밀토니안 H i 와 동일하고, 끝(즉, s = 1)에서 진화 해밀토니안 H e 는 최종 해밀토니안 H f 와 동일하다. 진화가 시작되기 전에, 시스템은 전형적으로 초기 해밀토니안 H i 의 기저 상태에서 초기화되며, 목표는 시스템이 진화의 끝에서 최종 해밀토니안 H f 의 기저 상태로 끝나는 방식으로 시스템을 진화시키는 것이다. 진화가 너무 빠르면, 시스템은 제1 여기 상태와 같은 더 높은 에너지 상태로 전이될 수 있다. 본 명세서에서 사용되는 바와 같이, "단열" 진화는 단열 조건을 충족시키는 진화이며:
여기서 는 s의 시간 미분이고, g(s)는 s의 함수로서의 시스템의 기저 상태와 제1 여기 상태 사이의 에너지에 있어서의 차이(본 명세서에서 "갭 크기"로 또한 지칭됨)이고, δ는 1보다 훨씬 더 작은 계수이다.
진화가 충분히 느려 시스템이 항상 진화 해밀토니안의 순간 기저 상태에 있는 경우, (갭 크기가 가장 작을 때) 안티크로싱(anti-crossing)에서의 전이가 회피된다. 전술한 선형 진화 외에, 비선형 진화, 파라미터 진화 등을 포함한 다른 진화 스케줄들이 가능하다. 단열 양자 컴퓨팅 시스템, 방법 및 장치에 관한 추가의 세부 사항들이, 예를 들어 미국 특허 제7,135,701호 및 제7,418,283호에 설명되어 있다.
양자
어닐링
양자 어닐링은 시스템의 저에너지 상태, 전형적으로 바람직하게는 기저 상태를 발견하는 데 사용될 수 있는 계산 방법이다. 고전적인 시뮬레이션된 어닐링과 개념적으로 유사하게, 이 방법은 더 낮은 에너지 상태가 더 안정적이기 때문에 자연계가 더 낮은 에너지 상태를 향하는 경향이 있는 기본 원리에 의존한다. 고전적인 어닐링은 시스템을 저에너지 상태 그리고 이상적으로는 그의 전체 에너지 최소값으로 유도하기 위해 고전적인 열 변동을 사용하지만, 양자 어닐링은 고전적인 어닐링보다 더 정확하게 그리고/또는 더 빠르게 전체 에너지 최소값에 도달하기 위해 무질서화의 소스로서, 양자 터널링과 같은, 양자 효과를 사용할 수 있다. 양자 어닐링에서, 열 효과 및 다른 잡음이 어닐링에 대해 존재할 수 있다. 최종 저에너지 상태는 전체 에너지 최소값이 아닐 수 있다. 단열 양자 계산은 시스템이 이상적으로 단열 진화 전체에 걸쳐 그의 기저 상태에서 시작하여 유지되는 양자 어닐링의 특별한 사례로 간주될 수 있다. 따라서, 이 분야의 기술자들은 양자 어닐링 시스템 및 방법이 일반적으로 단열 양자 컴퓨터 상에서 구현될 수 있다는 것을 알 것이다. 본 명세서 및 첨부된 청구범위 전체에 걸쳐, 양자 어닐링에 대한 임의의 언급은 문맥이 달리 요구하지 않는 한 단열 양자 계산을 포함하도록 의도된다.
양자 어닐링은 어닐링 프로세스 동안 무질서의 소스로서 양자 역학을 사용한다. 최적화 문제와 같은 목적 함수가 해밀토니안 H P 에서 인코딩되며, 알고리즘은 H P 와 교환 가능하지 않은 무질서화 해밀토니안 H D 를 추가함으로써 양자 효과를 도입한다. 예시적인 사례는 다음과 같으며:
,
여기서, A(t) 및 B(t)는 시간 종속적인 포락선 함수들이다. 예를 들어, A(t)는 진화 동안 큰 값으로부터 실질적으로 0으로 변할 수 있으며, H E 는 위의 단열 양자 계산과 관련하여 설명된 H e 와 유사한 진화 해밀토니안으로 간주될 수 있다. 무질서는 H D 를 제거함으로써(즉, A(t)를 감소시킴으로써) 서서히 제거된다.
따라서, 양자 어닐링은 시스템이 초기 해밀토니안으로 시작하고 진화 해밀토니안을 통해, 그의 기저 상태가 문제에 대한 해를 인코딩하는 최종 "문제" 해밀토니안 H P 로 진화한다는 점에서 단열 양자 계산과 유사하다. 진화가 충분히 느린 경우, 시스템은 전체 최소값(즉, 정확한 해)에서, 또는 에너지가 정확한 해에 가까운 국소 최소값에서 안정될 수 있다. 계산의 성능은 진화 시간 대 잔여 에너지(목적 함수를 사용하는 정확한 해와의 차이)를 통해 평가될 수 있다. 계산 시간은 어떤 허용 가능한 임계값 아래의 잔여 에너지를 생성하는 데 필요한 시간이다. 양자 어닐링에서, H P 는 최적화 문제를 인코딩할 수 있으며 이에 따라 H P 는 해를 인코딩하는 큐비트들의 하위 공간에서 대각선일 수 있지만, 시스템은 반드시 언제나 기저 상태에 유지될 필요는 없다. H P 의 에너지 랜드스케이프는 그의 전체 최소값이 해결되어야 할 문제에 대한 해답이고 낮은 국소 최소값이 양호한 근사치가 되도록 정교화될 수 있다.
양자 어닐링에서 무질서화 해밀토니안 H D 의 점진적인 감소(즉, A(t)의 감소)는 어닐링 스케줄로 알려진 정의된 스케줄을 따를 수 있다. 시스템이 진화 전체에 걸쳐 그의 기저 상태에서 시작하고 유지되는 단열 양자 계산과는 달리, 양자 어닐링에서 시스템은 전체 어닐링 스케줄 전체에 걸쳐 그의 기저 상태에 유지되지 않을 수 있다. 그렇기 때문에, 양자 어닐링은 휴리스틱 기술로서 구현될 수 있으며, 여기서 기저 상태의 에너지에 가까운 에너지를 갖는 저에너지 상태가 문제에 대한 근사 해를 제공할 수 있다.
관련 기술 및 그에 관련된 제한의 전술한 예들은 예시적이고 비배타적인 것으로 의도된다. 관련 기술의 다른 제한이 명세서를 읽고 도면을 연구할 때 이 분야의 기술자에게 명백해질 것이다.
아날로그 프로세서의 작업 그래프보다 큰(그리고/또는 적어도 그에 의해 충분히 제공되지는 않는) 크기 및/또는 접속성을 갖는 적어도 일부 문제들을 처리할 수 있는 것에 대한 필요성이 존재한다. 적어도 일부 구현예들에서, 아날로그 프로세서의 작업 그래프 안에서 적합하지 않은 표현들을 갖는 적어도 일부 문제 그래프들(예를 들어, 문제 그래프들이 프로세서가 제공하는 것보다 더 많은 계산 디바이스 및/또는 더 많은/다른 커플러를 요구하기 때문에)의 계산을 허용하는 계산 시스템들 및 방법들이 설명된다.
기계 학습에서 사용하기 위한 계산 시스템은 적어도 하나의 디지털 프로세서 코어; 및 적어도 하나의 디지털 프로세서 코어에 통신 결합 가능하고, 프로세서 실행 가능 명령어들 또는 데이터 중 적어도 하나를 저장하는 적어도 하나의 비일시적 프로세서 판독 가능 매체를 포함하는 것으로 요약될 수 있으며, 프로세서 실행 가능 명령어들 또는 데이터는, 적어도 하나의 디지털 프로세서 코어에 의해 실행될 때, 적어도 하나의 디지털 프로세서 코어로 하여금 샘플링 서버를 구현하게 하고, 샘플링 서버는 샘플링 서버가 구현되는 적어도 하나의 디지털 프로세서 코어와는 별개의 적어도 하나의 디지털 프로세서 코어 상에서 샘플링 서버와 병렬로 실행되고 있는 기계 학습 프로세스의 반복에 대한 파라미터들의 초기 세트를 수신하고; 기계 학습 프로세스의 실행과 일시적으로 병렬로 파라미터들의 초기 세트에 기초하여 샘플들의 제1 세트를 생성하고; 기계 학습 프로세스의 추가의 반복에서 사용하기 위해 적어도 하나의 디지털 프로세서 코어에 의해 구현되는 바와 같은 샘플링 서버에 의해 생성된 샘플들의 제1 세트를 제공한다. 샘플링 서버는 기계 학습 프로세스와 함께 또는 심지어 동시에 실행되어, 그의 적어도 일부와 중첩된다.
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어는 함수들의 제1 세트를, 샘플링 서버에 의해 생성된 샘플들의 제1 세트와 함께, 예를 들어 주어진 문제에 대해 기계 학습 알고리즘을 실행하고 있는 하나 이상의 다른 프로세서 코어에 제공할 수 있다. 함수들의 제1 세트는 1차 통계 및 2차 통계를 포함할 수 있다.
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어는 볼츠만 분포(Boltzmann distribution)로부터, 예를 들어 키메라 구조화 볼츠만 분포(Chimera structured Boltzmann distribution)로부터 샘플들을 추출할 수 있다. 샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어는 단일 온도 깁스 샘플링의 마르코프 체인(Markov Chain of single temperature Gibbs sampling), 시뮬레이션된 템퍼링(simulated tempering), 병렬 템퍼링(parallel tempering), 모집단 어닐링(population annealing), 및 어닐링된 중요도 샘플링(annealed importance sampling) 중 적어도 하나를 통해 샘플들을 추출할 수 있다.
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어는 샘플링 서버로부터 파라미터들의 현재 세트를 제공하고; 적어도 하나의 양자 프로세서로부터 양자 프로세서 생성 샘플들의 세트를 수신할 수 있다. 샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어는 양자 프로세서로부터 수신된 샘플들에 대해 후처리를 수행할 수 있다.
샘플링 서버는 예를 들어 샘플들, 샘플들의 함수들 및 로그 파티션 함수에 대한 근사치를 기계 학습 프로세스가 실행되는 별개의 적어도 하나의 디지털 프로세서 코어로 전송할 수 있다.
샘플링 서버는 예를 들어 샘플링 서버가 구현되는 적어도 하나의 디지털 프로세서 코어와는 별개의 적어도 하나의 디지털 프로세서 코어 상에서 샘플링 서버와 병렬로 실행되고 있는 기계 학습 프로세스의 다수의 반복 각각에 대한 파라미터들의 추가 세트들을 반복하여 수신하고; 기계 학습 프로세스의 실행과 일시적으로 병렬로 파라미터들의 추가 세트들의 각자의 파라미터들의 추가 세트들에 기초하여 샘플들의 추가 세트들을 반복하여 생성하고; 기계 학습 프로세스의 반복들에서 사용하기 위해 적어도 하나의 디지털 프로세서 코어에 의해 구현되는 바와 같은 샘플링 서버에 의해 생성된 샘플들의 추가 세트들을 반복하여 제공할 수 있다.
기계 학습에서 사용하기 위한 계산 시스템은 예를 들어 주어진 문제에 대해 기계 학습 프로세스를 실행하는 적어도 하나의 디지털 프로세서 코어를 추가로 포함하는 것으로 요약될 수 있다. 기계 학습 프로세스는 예를 들어 생성 모델(generative model)의 로그 우도(log-likelihood)를 최대화할 수 있다.
샘플링 서버가 구현되는 적어도 하나의 디지털 프로세서 코어는 메모리 공간을 갖는 그래픽 프로세서 유닛의 제1 프로세서 코어일 수 있고, 기계 학습 프로세스를 실행하는 별개의 적어도 하나의 디지털 프로세서 코어는 그래픽 프로세서 유닛의 제2 프로세서 코어일 수 있고, 그래픽 프로세서 유닛의 제1 프로세서 코어와 메모리 공간을 공유한다. 샘플링 서버가 구현되는 적어도 하나의 디지털 프로세서 코어는 제1 그래픽 프로세서 유닛의 프로세서 코어일 수 있고, 기계 학습 프로세스를 실행하는 별개의 적어도 하나의 디지털 프로세서 코어는 제2 그래픽 프로세서 유닛의 프로세서 코어일 수 있고, 제2 그래픽 프로세서 유닛은 제1 그래픽 프로세서 유닛과는 별개이고 상이하다. 제1 그래픽 처리 유닛은 제1 컴퓨터의 일부일 수 있고 제2 그래픽 처리 유닛은 제2 컴퓨터의 일부일 수 있으며, 제2 컴퓨터는 제1 컴퓨터와는 별개이고 상이하다. 샘플링 서버가 구현되는 적어도 하나의 디지털 프로세서 코어는 서로 별개이고 상이한 복수의 프로세서의 복수의 디지털 프로세서 코어를 포함할 수 있고, 복수의 프로세서는 복수의 컴퓨터의 컴포넌트들일 수 있고, 컴퓨터들은 네트워크 인프라를 통해 통신 결합되는 기계들의 클러스터를 형성할 수 있다.
기계 학습에서 사용하기 위한 계산 시스템은 샘플링 서버에 의해 제공된 파라미터들의 현재 세트에 적어도 부분적으로 기초하여 분포로부터 샘플들을 추출하는 하나 이상의 양자 프로세서를 추가로 포함하는 것으로 요약될 수 있다. 양자 프로세서(들)는 샘플들을 추출하기 전에 체인 임베딩(chain embedding)을 수행할 수 있다.
기계 학습에서 사용하기 위한 계산 시스템은 제1 디지털 프로세서 코어 또는 코어들의 세트(즉, 비일시적 컴퓨터 또는 프로세서 판독 가능 매체에 저장된 소프트웨어 또는 펌웨어 명령어들을 실행하는 하드웨어 프로세서 회로), 및 제2 디지털 프로세서 코어 또는 코어들의 세트 상에 구현되는 샘플링 서버(즉, 비일시적 컴퓨터 또는 프로세서 판독 가능 매체에 저장된 소프트웨어 또는 펌웨어 명령어들을 실행하는 하드웨어 프로세서 회로)를 포함할 수 있다. 기계 학습 알고리즘을 실행하는 디지털 프로세서 코어(들)는 생성 모델의 로그 우도를 최대화한다. 샘플링 서버는 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어(들)에 통신 결합되고 제1 디지털 프로세서 코어(들)로부터 파라미터들의 초기 세트를 수신하며, 파라미터들의 초기 세트에 기초하여 분포로부터 샘플들을 추출하고 샘플들 및 샘플들의 함수들을 제1 디지털 프로세서 코어(들)로 전송한다. 샘플들의 함수들은 1차 통계 및 2차 통계일 수 있다. 샘플링 서버는 볼츠만 분포로부터 샘플들을 추출할 수 있다. 볼츠만 분포는 키메라 구조화될 수 있다. 샘플링 서버는 단일 온도 깁스 샘플링의 마르코프 체인, 시뮬레이션된 템퍼링, 병렬 템퍼링, 모집단 어닐링, 어닐링된 중요도 샘플링 중 임의의 하나 이상을 통해 샘플들을 추출할 수 있다. 계산 시스템은 샘플링 서버와 통신 결합되는 양자 프로세서를 추가로 포함할 수 있다. 양자 프로세서는 주기적으로 샘플링 서버로부터 파라미터들의 현재 세트를 수신하고, 분포로부터 샘플들을 추출하고, 샘플들을 샘플링 서버로 전송하며, 샘플링 서버는 양자 프로세서로부터 수신된 샘플들을 제1 디지털 프로세서 코어 또는 코어들의 세트로 전송하기 전에 샘플들에 대해 후처리를 수행한다. 양자 프로세서는 샘플들을 추출하기 전에 체인 임베딩을 수행할 수 있다. 샘플링 서버는 GPU 상의 디지털 프로세서와 메모리 공간을 공유할 수 있다. 샘플링 서버는 상이한 GPU 상에 있을 수 있다. 샘플링 서버는 상이한 기계 상에 있을 수 있다. 샘플링 서버는 네트워크를 통해 기계들의 클러스터 상에 있을 수 있다.
제1 디지털 프로세서 코어 또는 코어들의 세트, 및 제2 디지털 프로세서 코어 또는 코어들의 세트 상에 구현되는 샘플링 서버를 이용하여 기계 학습하기 위한 방법은 제1 디지털 프로세서 코어 또는 코어들의 세트(즉, 비일시적 컴퓨터 또는 프로세서 판독 가능 매체에 저장된 소프트웨어 또는 펌웨어 명령어들을 실행하는 하드웨어 프로세서 회로)가 파라미터들의 초기 세트를 초기화하는 단계, 제1 디지털 프로세서 코어(들)가 파라미터들의 초기 세트를 샘플링 서버로 전송하는 단계, 샘플링 서버가 파라미터들의 초기 세트에 기초하여 분포로부터 샘플들을 추출하고 샘플들의 함수들을 계산하는 것과 병렬로 제1 디지털 프로세서 코어(들)가 생성 모델의 로그 우도를 최대화하는 단계, 샘플링 서버가 샘플들을 제1 디지털 프로세서 코어(들)로 전송하는 단계, 및 제1 디지털 프로세서 코어(들)가 샘플들을 사용하여 생성 모델의 로그 우도를 최대화함으로써 분포를 학습하는 단계를 포함한다. 샘플들의 함수들은 1차 통계 및 2차 통계일 수 있다. 분포는 볼츠만 분포일 수 있다. 샘플링 서버는 단일 온도 깁스 샘플링의 마르코프 체인, 시뮬레이션된 템퍼링, 병렬 템퍼링, 모집단 어닐링, 어닐링된 중요도 샘플링 중 임의의 하나 이상을 통해 샘플들을 추출할 수 있다. 청구항의 방법은 양자 프로세서가 샘플링 서버와 통신 결합되는 단계를 추가로 포함할 수 있다. 디지털 프로세서는 학습될 분포에 대응하는 초기 파라미터들의 세트를 샘플링 서버로 전송하고, 샘플링 서버는 초기 파라미터들을 사용하여 분포로부터 샘플들의 제1 세트를 추출하여서, 업데이트된 파라미터들을 생성하고, 샘플링 서버는 샘플들의 제1 세트 및 샘플들의 함수들을 제1 디지털 프로세서 코어(들)로 전송하고, 주기적으로 또는 간헐적으로 샘플링 서버는 업데이트된 파라미터들을 양자 프로세서로 전송하고, 양자 프로세서는 양자 하드웨어를 사용하여 업데이트된 파라미터들에 대응하는 샘플들의 제2 세트를 추출하고, 양자 프로세서는 샘플들의 제2 세트를 샘플링 서버로 반환하고, 샘플링 서버는 샘플들의 제2 세트를 사용하여 샘플들의 제1 세트를 업데이트하여, 업데이트된 파라미터들 및 샘플들의 제2 세트에 대응하는 샘플들의 제3 세트를 생성하고, 샘플링 서버는 샘플들의 제3 세트를 제1 디지털 프로세서 코어 또는 코어들의 세트로 반환하고, 제1 디지털 프로세서 코어(들)는 샘플들의 제3 세트를 사용하여 생성 모들의 로그 우도를 최대화한다. 샘플들의 함수들은 1차 통계 및 2차 통계일 수 있다. 방법은 샘플들을 추출하기 전에 양자 프로세서가 체인 임베딩을 수행하는 단계를 추가로 포함할 수 있다.
도면들에서, 동일한 도면 부호들은 동종의 요소들 또는 액트(act)들을 식별한다. 도면들 내의 요소들의 크기들 및 상대적 위치들은 반드시 일정한 축척으로 작성된 것은 아니다. 예를 들어, 다양한 요소들 및 각도들의 형상들은 반드시 일정한 축척으로 작성된 것은 아니며, 이들 요소 중 일부는 도면 시인성을 개선하기 위해 임의로 확대되고 배치될 수 있다. 또한, 작성된 바와 같은 요소들의 특정 형상들은 반드시 특정 요소들의 실제 형상에 관한 임의의 정보를 전달하도록 의도되지는 않으며, 오로지 도면들에서의 인식의 용이함을 위해서만 선택되었을 수 있다.
도 1은 본 시스템, 디바이스, 방법 및 물품에 따른 디지털 프로세서 및 아날로그 프로세서를 포함하는 예시적인 하이브리드 컴퓨터를 예시하는 개략도이다.
도 2는 본 시스템, 디바이스, 물품 및 방법에 따른, 예를 들어 양자 어닐링을 통해 도 1의 아날로그 컴퓨터를 구현하기에 적합한 예시적인 토폴로지의 일부를 예시하는 개략도이다.
도 3a는 도 2의 토폴로지를 구현하기에 적합한 제어 가능한 ZZ 커플러의 개략도를 도시한다.
도 3b는 2개의 초전도 큐비트와 ZX 커플러 및 XZ 커플러 양자를 포함하는 시스템의 실시예의 개략도이며, 이들 커플러 각각은 도 2의 토폴로지를 구현하기에 적합한 2개의 큐비트 사이에서 정보를 통신 가능하게 결합하도록 동작 가능하다.
도 4는 본 시스템, 디바이스, 물품 및 방법에 따른 샘플링 서버로부터의 샘플링에 의해 기계 학습을 수행하기 위한 방법을 나타내는 흐름도이다.
도 5a는 본 시스템, 방법 및 장치에 따른 디지털 프로세서, 샘플링 서버 및 양자 프로세서와 이들 사이의 통신을 포함하는 예시적인 하이브리드 시스템을 예시하는 개략도이다.
도 5b는 본 시스템, 방법 및 장치에 따른 디지털 프로세서, 프로세서들의 클러스터로서 구현되는 샘플링 서버 및 양자 프로세서와 이들 사이의 통신을 포함하는 예시적인 하이브리드 시스템을 예시하는 개략도이다.
도 6은 샘플링 서버 및 양자 프로세서로부터의 샘플링에 의해 기계 학습을 수행하기 위한 방법을 나타내는 흐름도이다.
도 1은 본 시스템, 디바이스, 방법 및 물품에 따른 디지털 프로세서 및 아날로그 프로세서를 포함하는 예시적인 하이브리드 컴퓨터를 예시하는 개략도이다.
도 2는 본 시스템, 디바이스, 물품 및 방법에 따른, 예를 들어 양자 어닐링을 통해 도 1의 아날로그 컴퓨터를 구현하기에 적합한 예시적인 토폴로지의 일부를 예시하는 개략도이다.
도 3a는 도 2의 토폴로지를 구현하기에 적합한 제어 가능한 ZZ 커플러의 개략도를 도시한다.
도 3b는 2개의 초전도 큐비트와 ZX 커플러 및 XZ 커플러 양자를 포함하는 시스템의 실시예의 개략도이며, 이들 커플러 각각은 도 2의 토폴로지를 구현하기에 적합한 2개의 큐비트 사이에서 정보를 통신 가능하게 결합하도록 동작 가능하다.
도 4는 본 시스템, 디바이스, 물품 및 방법에 따른 샘플링 서버로부터의 샘플링에 의해 기계 학습을 수행하기 위한 방법을 나타내는 흐름도이다.
도 5a는 본 시스템, 방법 및 장치에 따른 디지털 프로세서, 샘플링 서버 및 양자 프로세서와 이들 사이의 통신을 포함하는 예시적인 하이브리드 시스템을 예시하는 개략도이다.
도 5b는 본 시스템, 방법 및 장치에 따른 디지털 프로세서, 프로세서들의 클러스터로서 구현되는 샘플링 서버 및 양자 프로세서와 이들 사이의 통신을 포함하는 예시적인 하이브리드 시스템을 예시하는 개략도이다.
도 6은 샘플링 서버 및 양자 프로세서로부터의 샘플링에 의해 기계 학습을 수행하기 위한 방법을 나타내는 흐름도이다.
다음의 설명에서, 다양한 개시된 구현예의 완전한 이해를 제공하기 위해 소정의 특정 세부 사항이 기술된다. 그러나, 관련 분야의 기술자는 구현예들이 이러한 특정 세부 사항들 중 하나 이상 없이도, 또는 다른 방법, 컴포넌트, 재료 등으로 실시될 수 있다는 것을 인식할 것이다. 다른 예들에서, 컴퓨터 시스템, 서버 컴퓨터 및/또는 통신 네트워크와 관련된 잘 알려진 구조, 및 관련 하드웨어 컴포넌트 또는 회로는 구현예의 설명을 불필요하게 모호하게 하는 것을 피하기 위해 상세하게 도시되거나 설명되지 않았다.
문맥이 달리 요구하지 않는 한, 명세서 및 이어지는 청구범위 전체에 걸쳐, 단어 "포함하는(comprising)"은 "포함하는(including)"과 동의어이며, 포괄적이거나 개방형(open-ended)이다(즉, 추가적인, 언급되지 않은 요소들 또는 방법 액트들을 배제하지 않는다).
본 명세서 전체에 걸쳐 "일 구현예" 또는 "구현예"에 대한 언급은 그 구현예와 관련하여 기술된 특정한 특징, 구조, 또는 특성이 적어도 하나의 구현예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 다양한 곳에서의 문구 "일 구현예에서" 또는 "구현예에서"의 출현은 반드시 모두가 동일한 구현예를 지칭하는 것은 아니다. 더욱이, 특정한 특징들, 구조들, 또는 특성들은 하나 이상의 구현예에서 임의의 적합한 방식으로 조합될 수 있다.
본 명세서 및 첨부된 청구범위에서 사용된 바와 같이, 단수 형태("a", "an" 및 "the")는 문맥이 명백히 달리 지시하지 않는 한 복수의 지시 대상을 포함한다. 용어 "또는"은 문맥이 명백히 달리 지시하지 않는 한 일반적으로 그것의 의미에 있어서 "및/또는"을 포함하는 것으로 사용된다는 점에 또한 유의하여야 한다.
본 명세서에서 제공되는 본 개시의 표제 및 요약은 단지 편의를 위한 것이며 구현예의 범위 또는 의미를 설명하지 않는다.
도 1은 아날로그 컴퓨터(104)에 결합된 디지털 컴퓨터(102)를 포함하는 하이브리드 컴퓨팅 시스템(100)을 예시한다. 일부 구현예들에서, 아날로그 컴퓨터(104)는 양자 컴퓨터이다. 예시적인 디지털 컴퓨터(102)는 고전적인 디지털 처리 작업들을 수행하는 데 사용될 수 있는 디지털 프로세서(106)를 포함한다.
디지털 컴퓨터(102)는 하나 이상의 코어를 갖는 적어도 하나의 디지털 프로세서(106), 적어도 하나의 시스템 메모리(108), 및 시스템 메모리(108)를 포함한 다양한 시스템 컴포넌트들을 디지털 프로세서(106)에 결합하는 적어도 하나의 시스템 버스(110)를 포함할 수 있다.
디지털 프로세서(106)는 하나 이상의 중앙 처리 유닛("CPU"), 그래픽 처리 유닛("GPU"), 디지털 신호 프로세서("DSP"), 주문형 집적 회로("ASIC"), 프로그래머블 게이트 어레이("FPGA"), 프로그래머블 논리 제어기(PLC) 등과 같은 논리 처리 유닛을 형성하는 임의의 회로일 수 있다.
디지털 컴퓨터(102)는 사용자 입출력 서브시스템(112)을 포함할 수 있다. 일부 구현예들에서, 사용자 입출력 서브시스템은 디스플레이(114), 마우스(116) 및/또는 키보드(118)와 같은 하나 이상의 사용자 입출력 컴포넌트를 포함한다.
시스템 버스(110)는 메모리 제어기를 갖는 메모리 버스, 주변 버스 및 로컬 버스를 포함한 임의의 공지된 버스 구조들 또는 아키텍처들을 이용할 수 있다. 시스템 메모리(108)는 판독 전용 메모리("ROM"), 정적 랜덤 액세스 메모리("SRAM"), 플래시 NAND와 같은 비휘발성 메모리; 및 랜덤 액세스 메모리("RAM")와 같은 휘발성 메모리(도시되지 않음)를 포함할 수 있다.
디지털 컴퓨터(102)는 또한 다른 비일시적 컴퓨터 또는 프로세서 판독 가능 저장 매체들 또는 비휘발성 메모리(120)를 포함할 수 있다. 비휘발성 메모리(120)는 회전식 매체, 예를 들어 자기 하드 디스크로부터 판독하고 그에 기입하기 위한 하드 디스크 드라이브(HDD) 및/또는 이동식 광 디스크로부터 판독하고 그에 기입하기 위한 광 디스크 드라이브, 및/또는 비회전식 매체, 예를 들어 솔리드 스테이트 메모리로부터 판독하고 그에 기입하기 위한 솔리드 스테이트 드라이브(SSD)를 포함한 다양한 형태를 취할 수 있다. 광 디스크는 CD-ROM 또는 DVD일 수 있는 반면, 자기 디스크는 자기 플로피 디스크 또는 디스켓 또는 하나 이상의 자기 디스크 플래터일 수 있다. 비휘발성 메모리(120)는 시스템 버스(110)를 통해 디지털 프로세서와 통신할 수 있고, 시스템 버스(110)에 결합된 적절한 인터페이스들 또는 제어기들(122)을 포함할 수 있다. 비휘발성 메모리(120)는 디지털 컴퓨터(102)를 위한 프로세서 또는 컴퓨터 판독 가능 명령어들, 데이터 구조들 또는 다른 데이터(때때로 프로그램 모듈들로 불림)에 대한 장기 저장소로서의 역할을 할 수 있다.
디지털 컴퓨터(102)가 하드 디스크, 광 디스크 및/또는 자기 디스크를 이용하는 것으로 설명되었지만, 관련 분야의 기술자들은 다른 타입의 비휘발성 컴퓨터 판독 가능 매체들, 예를 들어 자기 카세트, 플래시 메모리 카드, 플래시, ROM, 스마트 카드 등이 이용될 수 있다는 것을 알 것이다. 관련 분야의 기술자들은 일부 컴퓨터 아키텍처들이 휘발성 메모리 및 비휘발성 메모리를 이용한다는 것을 알 것이다. 예를 들어, 휘발성 메모리 내의 데이터는 비휘발성 메모리로, 또는 비휘발성 메모리를 제공하기 위해 집적 회로를 이용하는 솔리드 스테이트 드라이브에 캐싱될 수 있다.
다양한 프로세서 또는 컴퓨터 판독 가능 명령어들, 데이터 구조들 또는 다른 데이터가 시스템 메모리(108)에 저장될 수 있다. 예를 들어, 시스템 메모리(108)는 원격 클라이언트들과 통신하고, 디지털 컴퓨터(102) 및 아날로그 컴퓨터(104) 상의 자원들을 포함한 자원들의 사용을 스케줄링하기 위한 명령어를 저장할 수 있다.
일부 구현예들에서, 시스템 메모리(108)는 아날로그 컴퓨터(104)에 대한 전처리, 공동 처리 및 후처리를 수행하기 위한 프로세서 또는 컴퓨터 판독 가능 계산 명령어들을 저장할 수 있다. 시스템 메모리(108)는 아날로그 컴퓨터(104)와 상호작용하기 위한 아날로그 컴퓨터 인터페이스 명령어들의 세트를 저장할 수 있다.
아날로그 컴퓨터(104)는 양자 프로세서(124)와 같은 아날로그 프로세서를 포함할 수 있다. 아날로그 컴퓨터(104)는 격리된 환경에, 예를 들어 열, 자기장 및 다른 외부 잡음(도시되지 않음)으로부터 양자 컴퓨터의 내부 요소들을 차단하고/하거나 온도(즉, 임계 온도) - 이 온도 이하에서 아날로그 프로세서의 회로가 초전도성이 됨 - 로 아날로그 프로세서를 냉각하는 격리된 환경에 제공될 수 있다. 대조적으로, 디지털 컴퓨터(102)는 전형적으로 초전도가 일어나지 않는 훨씬 더 높은 온도(예를 들어, 실온)에서 동작할 것이고/것이거나, 임계 온도 이하에서도 초전도하지 않는 재료들을 이용할 수 있다.
도 2는 현재 설명되는 시스템들, 디바이스들, 물품들 및 방법들에 따른 양자 프로세서를 위한 예시적인 토폴로지(200)를 도시한다. 토폴로지(200)는 도 1의 양자 프로세서(124)를 구현하는 데 사용될 수 있지만, 다른 토폴로지들이 또한 본 개시의 시스템들 및 방법들에 사용될 수 있다. 토폴로지(200)는 셀들(202a, 202b, 202c, 202d)(집합적으로 202)과 같은 2x2 셀들의 그리드를 포함하며, 각각의 셀은 큐비트(204)와 같은 8개의 큐비트(도 2에는 단지 하나만 표시됨)로 구성된다.
각각의 셀(202) 내에는, 8개의 큐비트(204)가 있고, 각각의 셀(202) 내의 큐비트들(204)은 4개의 행(도면 시트에서 수평으로 연장됨) 및 4개의 열(도면 시트에서 수직으로 연장됨)로 배열된다. 행들 및 열들로부터의 큐비트들(204)의 쌍들은 커플러(206)와 같은 각자의 커플러(굵은 십자 형상에 의해 예시됨, 도 2에는 단지 하나만 표시됨)에 의해 서로 통신 결합될 수 있다. 각자의 커플러(206)는 각각의 셀 내의 각각의 열 내의 큐비트(도면 시트에서 수직 배향된 큐비트)를, 동일 셀 내의 각각의 행 내의 큐비트들(도면 시트에서 수평 배향된 큐비트)에 통신 결합하도록 배치되고 동작 가능하다. 또한, 커플러(208)와 같은 각자의 커플러(도 2에는 단지 하나만 표시됨)는 각각의 셀 내의 각각의 열 내의 큐비트(도면 시트에서 수직 배향된 큐비트)를, 열들의 배향과 동일한 방향으로 가장 가까운 이웃 셀 내의 각각의 열 내의 대응하는 큐비트(도면 시트에서 수직 배향된 큐비트)와 통신 결합하도록 배치되고 동작 가능하다. 유사하게, 커플러(210)와 같은 각자의 커플러(도 2에는 단지 하나만 표시됨)는 각각의 셀 내의 각각의 행 내의 큐비트(도면 시트에서 수평 배향된 큐비트)를, 행들의 배향과 동일한 방향으로 가장 가까운 각각의 이웃 셀 내의 각각의 행 내의 대응하는 큐비트(도면 시트에서 수평 배향된 큐비트)와 통신 결합하도록 배치되고 동작 가능하다. 커플러들(206)이 굵은 십자 형상에 의해 예시되어 있지만, 그것은 제한하려는 의도는 아니며, 커플러들(206)은 다양한 다른 형상들 중 임의의 것을 가질 수 있다.
도 3a는 제어 가능한 ZZ 커플러(301)를 포함하는 시스템(300a)의 예시적인 구현예의 개략도를 도시한다. 제어 가능한 ZZ 커플러(301)는 조셉슨 접합부(Josephson junction)(303)에 의해 차단된 초전도 재료의 루프(302)를 포함하고, 제1 큐비트(310)와 제2 큐비트(320)를 결합하는 데 사용된다. 제1 큐비트(310)는 복합 조셉슨 접합부("CJJ")(312)에 의해 차단된 초전도 재료의 루프(또는 "큐비트 루프")(311)로 구성되며, 제어 가능한 ZZ 커플러(301)와 제1 큐비트(310) 사이의 자속(303)의 교환을 통해 제어 가능한 ZZ 커플러(301)에 결합된다. 제2 큐비트(320)는 CJJ(322)에 의해 차단된 초전도 재료의 루프(또는 "큐비트 루프")(321)로 구성되며, 제어 가능한 ZZ 커플러(301)와 제2 큐비트(320) 사이의 자속(304)의 교환을 통해 제어 가능한 ZZ 커플러(301)에 결합된다. 초전도 재료의 루프(302)는 자속 인덕터(306)를 통해 흐르는 전류에 의해 생성된 자속(305)에 의해 스레딩(threading)된다. 제어 가능한 ZZ 커플러(301)는 토폴로지(200)에서 큐비트들 사이의 통신 결합을 제공하는 데 사용될 수 있으며, 이에 따라 현재 설명되는 시스템들, 디바이스들, 물품들 및 방법들에 따라, 양자 프로세서에서 사용될 수 있다.
도 3a에 도시된 ZZ 커플러 설계에 대한 변형들 및, 일부 응용들에 대해, 개선들이 미국 특허 제7,898,282호 및 미국 특허 제7,800,395호에 제시되어 있다.
도 3b는 2개의 초전도 큐비트(331, 332) 및 ZX 커플러(340) 및 XZ 커플러(350) 양자를 포함하는 시스템(300b)의 예시적인 구현예의 개략도이며, 이들 커플러 각각은 큐비트들(331, 332) 사이에서 정보를 통신 가능하게 결합하도록 구성된다. 큐비트들(331, 332) 각각은 CJJ(335, 336)에 의해 각각 차단된 폐쇄된 초전도 전류 경로에 의해 각각 형성된 큐비트 루프(333, 334)를 포함한다.
ZX 커플러(340)는 큐비트(331)의 큐비트 루프(333) 및 큐비트(332)의 CJJ(336) 양자에 유도 결합되는 폐쇄된 초전도 전류 경로(341)를 포함한다. 따라서, ZX 커플러(340)는 큐비트(331)의 큐비트 루프(333) 내의 지속적인 전류를 큐비트(332)의 CJJ(336) 내로 유도 결합함으로써 큐비트(331)에서의 Z 자유도와 큐비트(332)에서의 X 자유도 사이의 결합을 제공한다.
ZX 커플러(340)의 경우, 2개의 동조 요소에 의해 동조성(tunability)이 실현되는데: 폐쇄된 초전도 전류 경로(341)는 적어도 하나의 조셉슨 접합부(342)에 의해 차단되고 폐쇄된 초전도 전류 경로(341)는 프로그래밍 인터페이스(343)에 유도 결합된다.
유사하게, XZ 커플러(350)는 큐비트(332)의 큐비트 루프(334) 및 큐비트(331)의 CJJ(335) 양자에 유도 결합되는 폐쇄된 초전도 전류 경로(351)를 포함한다. 따라서, XZ 커플러(350)는 큐비트(332)의 큐비트 루프(334) 내의 지속적인 전류를 큐비트(331)의 CJJ(335) 내로 유도 결합함으로써 큐비트(331)에서의 X 자유도와 큐비트(332)에서의 Z 자유도 사이의 결합을 제공한다.
XZ 커플러(350) 및 ZX 커플러(340) 양자는 또한 2개의 동조 요소의 조합에 의해 동조 가능해질 수 있는데: 폐쇄된 초전도 전류 경로(351)는 적어도 하나의 조셉슨 접합부(352)에 의해 차단되고 프로그래밍 인터페이스(353)에 유도 결합되는 반면, 폐쇄된 초전도 전류 경로(341)는 적어도 하나의 조셉슨 접합부(342)에 의해 차단되고 프로그래밍 인터페이스(343)에 유도 결합된다.
시스템(300b)은 토폴로지(200)에서 큐비트들 사이의 통신 결합을 제공하는 데 사용될 수 있으며, 이에 따라 현재 설명되는 시스템들, 디바이스들, 물품들 및 방법들에 따라, 양자 프로세서에서 사용될 수 있다.
본 개시는 샘플링 서버로부터의 샘플링에 의해 기계 학습을 수행하기 위한 시스템들, 방법들 및 장치들을 설명한다.
많은 기계 학습 알고리즘은 계산적으로 다루기 어려운 분포들로부터의 샘플들에 의존한다. 그러한 알고리즘의 예는 제한된 볼츠만 기계(Restricted Boltzmann Machine, RBM)의 예상된 음의 로그 우도 상의 기울기 하강이다. 다른 알고리즘들은 딥 볼츠만 기계들 또는 딥 볼츠만 기계 네트워크들을 훈련시키기 위해 예상된 음의 로그 우도 상의 기울기 하강을 계산한다. 위에서 언급한 모든 알고리즘들의 경우, 양호한 샘플들은 성공적인 학습으로 이어질 수 있다.
그러나, RBM들 및 그들의 자손으로부터의 샘플링은 #P-hard이며, 다항식 시간에 근사화하기 어렵다. 정확한 샘플들 대신에 휴리스틱 근사치들이 사용될 수 있다. 대조적 발산(contrastive divergence, CD) 및 지속적 대조적 발산(persistent contrastive divergence, PCD)과 같은 알고리즘들이 휴리스틱 근사치들을 이용한다. CD 및 PCD는 단일 온도 깁스 샘플링의 단일 마르코프 체인에 기초한다. CD 및 PCD는 원하는 정확도를 갖는 샘플들을 얻기 위해 지정된 수의 반복 동안 실행될 수 있다. 시뮬레이션된 템퍼링 및 병렬 템퍼링(모집단 어닐링을 포함함)과 같은 다른 알고리즘들은 다수의 온도를 사용한다. 모든 방법들은 다수의 체인을 사용할 수 있다. 어닐링된 중요도 샘플링은 계산적으로 다루기 어려운 분포들로부터의 예상치들을 평가하기 위한 다른 근사화 접근법이다. 어닐링된 중요도 샘플링 및 이 방법을 사용하는 응용들에 대한 설명이 미국 특허 출원 공개 제2015-0269124호에서 확인될 수 있다. 어닐링된 중요도 샘플링은 중요도 가중 샘플들을 얻지만, 양호한 제안 분포들이 알려지지 않은 문제들에 대해서는 많은 계산 시간의 문제가 있을 수 있다. 따라서 계산적으로 다루기 어려운 분포들로부터 더 양호한 샘플들을 생성하는 시스템들 및 방법들에 대한 일반적인 요구가 있다.
CD 및 PCD와 같은 알고리즘들은 샘플링 동작을 기계 학습 알고리즘에 통합하여, 훈련 데이터가 주어질 경우에 잠재 변수들에 걸친 사후 분포에 대한 근사치로부터 또는 마르코프 체인들의 최종 세트의 끝으로부터 마르코프 체인들을 시딩(seeding)한다. 본 출원인은 이러한 모든 알고리즘들에서 샘플링 동작이 주요 기계 학습 알고리즘과 동일한 기계 상에서 수행된다고 믿는다. 또한, 샘플링 동작은 일반적으로 기계 학습 알고리즘의 다른 컴포넌트들보다 훨씬 더 많은 처리 능력을 소비하지 않도록 구현된다. 그러나, 정확한 샘플들을 얻는 것은 자원 집약적이며, 기계 학습 알고리즘의 다른 계산들(예를 들어, 예상된 음의 로그 우도의 기울기의 계산)보다 기하급수적으로 더 많은 시간이 생성하는 데 걸릴 수 있다.
계산적으로 다루기 어려운 분포로부터 정확한 샘플들을 얻는 것의 어려움에 응답하여, 최신 생성 학습 알고리즘들은 지도된 그래픽 모델들에 기초하며 구축에 의해 샘플링이 계산적으로 다루기 쉬운 사전 분포들을 사용한다. 그러한 생성 학습 알고리즘들의 예는 변분 자동 인코더들이다.
계산적으로 다루기 어려운 분포로부터 정확한 샘플들을 얻는 데 어려움이 있는 경우, 기계 학습 알고리즘들의 성능은 샘플들을 생성하는 데 필요한 계산 시간 및 자원들에 의해 제한된다.
다음의 시스템들, 방법들 및 장치들은 샘플링 동작들을 기계 학습 알고리즘들의 다른 계산들로부터 분리함으로써 기계 학습 알고리즘들, 및 이에 따라 기계 학습 시스템들의 성능을 크게 개선할 수 있는 접근법을 설명한다.
기계 학습 알고리즘들이 그것으로부터 샘플들을 요구하는 분포들은 훈련 과정에 걸쳐 천천히 변한다. 결과적으로, 반복 n에서의 분포로부터의 샘플들은 반복 n+1에서의 분포로부터의 샘플들에 대한 양호한 근사치이다. 따라서, 이전 반복들에서 수행된 작업은 현재 반복으로부터의 샘플링을 부트스트랩(bootstrap)하는 데 사용될 수 있다. PCD도 이러한 현상을 이용한다.
반복 n+1에 대비하여 반복 n 동안 가능한 한 많은 작업을 수행하기 위해, 샘플링 동작은 별개의 서버로 오프로딩될 수 있다. 기계 학습 알고리즘이 다른 동작들을 수행하는 동안, 예를 들어 기울기 하강을 계산하는 동안, 별개의 서버 또는 샘플링 서버가 배경에서 샘플링 작업을 수행할 수 있다. 샘플링 서버는 기계 학습 알고리즘의 실행 시간에 영향을 주지 않고서 샘플들의 품질을 증가시키기 위해 그의 모든 자원들을 투입할 수 있다. 샘플링 서버는 기계들의 클러스터 상에서 실행될 수 있으며, 이 경우 샘플링 작업은 기계들의 클러스터 내의 기계의 수에 걸쳐 병렬화될 수 있다.
일 구현예에서, 샘플링 서버는 기계 학습 알고리즘으로부터 볼츠만 분포의 천천히 변하는 파라미터들(h, j)의 스트림을 수신하고, 현재 분포로부터의 샘플들의 함수들을 반환한다. 샘플들의 함수들의 예는 1차 통계 및 2차 통계(즉, 평균 스핀 및 스핀-스핀 상관성)이다. 이어서 기계 학습 알고리즘은 볼츠만 기계에 기초하여 생성 모델의 로그 우도를 최대화할 수 있다.
파라미터들(h, j)을 수신하면, 샘플링 서버는 샘플링 서버에 대한 최종 호출로부터 시딩된 체인들과 함께, 깁스 샘플링, 병렬 템퍼링, 모집단 어닐링 또는 다른 알고리즘들을 사용하여, 그로부터 샘플들을 생성할 RBM을 구축하기 위해 파라미터(h, j)를 사용한다. 파라미터들(h, j)이 샘플링 서버에 대한 호출들 사이에서 천천히 변하는 한, 시드는 유용한 샘플들을 생성할 수 있다. 샘플링 서버에 대한 연속 호출이 가장 최근의 파라미터들(h', j')의 세트를 동반하며, 따라서 샘플링 서버는 호출될 때마다 수신된 파라미터들(h', j')에 기초하여 새로운 RBM을 구축한다.
샘플들 및 통계들에 더하여, 샘플링 서버는 기계 학습 알고리즘에 다른 메트릭들을 반환할 수 있다. 샘플링 서버에 의해 계산될 수 있는 메트릭들의 예는 로그 파티션 함수에 대한 근사치, 현재 분배의 자동 상관 시간, 샘플링 난이도의 다른 척도들이다. 이러한 추가 메트릭들은 드물게, 예를 들어 3000번의 샘플 요청마다 한 번씩 요청 및 반환될 수 있다.
볼츠만 분포의 경우, 분포는 키메라 구조화되거나, 완전히 이분되거나, 완전히 접속될 수 있다. 소정의 경우들, 예를 들어 낮은 트리 폭의 그래프의 경우, 특수화된 알고리즘들이 사용될 수 있다.
샘플링 서버는 샘플 GPU 또는 CPU 상에서 기계 학습 알고리즘으로서 실행될 수 있으며, 이 경우에 메모리는 샘플링 서버와 기계 학습 알고리즘 사이에 공유된다. 상이한 구현예에서, 샘플링 서버는 기계 학습 알고리즘과 동일한 기계 상에서, 그러나 상이한 GPU 또는 CPU 상에서 실행될 수 있다.
대안에서, 샘플링 서버는 기계 학습 알고리즘과는 상이한 기계 상에서 실행될 수 있으며, 네트워크를 통해 기계 학습 알고리즘과 통신할 수 있다. 후자의 경우, 샘플들에 대한 요청 및 파라미터들 및 샘플들의 전송은 네트워크를 통해 발생한다. 샘플링 서버는 네트워크를 통해 기계들의 클러스터에 걸쳐 확산될 수 있다.
샘플링 서버가 기계 학습 알고리즘과 동일한 GPU 또는 CPU 상에 있지 않으면, 샘플링 서버는 파라미터들의 현재 세트하에서 샘플들의 품질을 개선하기 위해 샘플들에 대한 요청들 사이에 이용 가능한 시간을 사용할 수 있다. 이러한 고품질 샘플들은 기계 학습 알고리즘이 새롭고 약간 상이한 파라미터들의 세트를 갖는 샘플들을 요청할 때 샘플링을 시딩하기 위해 샘플링 서버에 의해 사용될 수 있다.
샘플링 서버는 사전에 볼츠만 기계로부터 샘플들을 생성하기 위해 변분 자동 인코더들과 함께 사용될 수 있다. 샘플링 서버의 사용은, 샘플링 동작이 볼츠만 기계에서 다수의 유닛에 걸쳐 병렬화될 수 있다는 점을 고려할 때, TensorFlow와 같은 전통적인 방법들을 사용하여 효율적으로 샘플들을 생성하기 어려운 완전 접속된 볼츠만 기계들의 사용을 용이하게 할 것이다. 변분 자동 인코더에 대한 설명이 국제 특허 출원 PCT/US2016/047627호에서 확인될 수 있다.
도 4는 본 시스템들, 디바이스들, 물품들 및 방법들에 따른 샘플링 서버로부터 샘플들을 추출함으로써 기계 학습을 수행하기 위한 방법(400)을 도시한다. 하나 이상의 프로세서 기반 디바이스에 의한 방법(400)의 실행은 본 시스템, 디바이스들, 물품들 및 방법들에 따라 발생할 수 있다. 방법(400)은, 본 명세서에서의 다른 방법들과 마찬가지로, 하나 이상의 프로세서(즉, 하드웨어 회로)에 의해 실행되는 프로세서 판독 가능 명령어들의 시리즈 또는 세트에 의해 구현될 수 있다. 방법(400)은 예를 들어 단일 프로세서(예를 들어, 그래픽 프로세서 유닛 또는 GPU)의 2개 이상의 코어 상에서 실행될 수 있으며, 이 코어들 각각은 다른 프로세서 코어들과는 별개이고 상이하다. 방법(400)은 2개 이상의 프로세서 유닛의 2개 이상의 코어 상에서 실행될 수 있으며, 이 프로세서 유닛들 각각은 다른 프로세서 유닛들과는 별개이고 상이하다. 방법(400)은 2개 이상의 컴퓨터 또는 기계에 속하는 2개 이상의 프로세서 유닛의 2개 이상의 코어 상에서 실행될 수 있으며, 각각의 컴퓨터 또는 기계는 다른 컴퓨터들 또는 기계들과는 별개이고 상이하다. 컴퓨터들 또는 기계들은 예를 들어 네트워크 인프라, 예를 들어 다양한 패킷 스위치들 및/또는 라우터들을 갖는 패킷 교환 네트워크에 의해 통신 결합되는 하나 이상의 클러스터를 형성할 수 있다.
방법(400)은 예를 들어 다른 루틴으로부터의 호출 또는 호소에 응답하여 402에서 시작된다.
404에서, 제1 디지털 프로세서 코어 또는 코어들의 세트는 학습될 분포의 파라미터들을 초기화함으로써 기계 학습 알고리즘을 시작하거나 그의 실행을 시작한다. 분포의 예는 파라미터들(h, j)을 갖는 볼츠만 분포이다.
방법(400)은 액트 406 및 408을 병렬로 또는 함께 또는 심지어 동시에 실행한다.
406에서, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 분포의 파라미터들을 사용하여 기계 학습 알고리즘을 실행하여 샘플링 서버로부터 수신된 샘플들로 상기 분포를 학습한다. 예를 들어, 제1 디지털 프로세서 코어 또는 코어들의 세트는, 생성 모델의 로그 우도를 최대화하는 것을 목표로, 샘플들을 사용하여 볼츠만 기계에 기초하여 생성 모델의 로그 우도의 기울기를 계산할 수 있다.
408에서, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 파라미터들의 현재 세트를 샘플링 서버로 전송한다. 제1 반복에서, 제1 디지털 프로세서 코어 또는 코어들의 세트는 404에서 초기화된 파라미터들을 전송한다. 연속적인 반복들에서, 제1 디지털 프로세서 코어 또는 코어들의 세트는 406에서 실행되는 기계 학습 알고리즘의 가장 최근의 반복으로부터의 파라미터들의 세트를 샘플링 서버로 전송한다.
410에서, 샘플링 서버를 구현하는 제2 디지털 프로세서 코어 또는 코어들의 세트는 408에서 수신된 파라미터들을 사용하여 406에서 실행되는 기계 학습 알고리즘에서 사용될 샘플들을 생성한다. 샘플링 서버는 수신된 파라미터들을 사용하여 그로부터 샘플들을 추출할 RBM을 구축할 수 있다. 샘플링 서버는 깁스 샘플링, 병렬 템퍼링 또는 다른 알고리즘들과 같은 기술들을 사용하여 샘플들을 추출할 수 있다.
412에서, 샘플링 서버는 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트에 샘플들을 제공한다. 전술한 바와 같이, 제1 디지털 프로세서 코어 또는 코어들의 세트는 406에서 기계 학습 알고리즘을 실행하기 위해 샘플들을 사용한다. 샘플링 서버가 기계 학습과는 상이한 기계 상에서 구현되는 경우, 샘플들은 통신 네트워크, 예를 들어 패킷 스위치들 및 라우터들의 패킷 교환 네트워크를 통해 반환된다.
414에서, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 더 많은 샘플이 필요한지를 결정한다. 더 많은 샘플을 추출하는 결정은 다수의 반복의 완료에 기초하거나 계산된 성능 인자에 기초할 수 있다. 후자의 경우, 성능 인자가 개선이 없거나 저하되기 시작할 때는 샘플링 동작을 중단하라는 표시이다.
더 많은 샘플을 추출하는 것으로 결정이 이루어지면, 제어는 408로 이동하고, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 업데이트된 파라미터들의 세트를 샘플링 서버로 전송한다. 그렇지 않으면, 제어는 406으로 이동하고, 제1 디지털 프로세서 코어 또는 코어들의 세트는 기계 학습 알고리즘을 실행한다.
418에서, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 정지 기준이 충족되었는지를 체크하기 위해 테스트한다. 정지 기준은 예를 들어 반복의 수 또는 연속 반복들 간의 성능 기준의 측정과 관련될 수 있다. 성능 기준은 예를 들어 기계 학습 알고리즘의 반복의 출력과 훈련 데이터 세트 간의 차이를 통해 평가될 수 있다. 후자의 경우, 성능 기준이 연속 반복 사이에서 저하되기 시작하거나 개선이 없을 때는 기계 학습 알고리즘이 중지되어야 하고 제어가 420으로 이동한다는 표시이다. 그렇지 않으면 제어는 406으로 이동하고 기계 학습 알고리즘이 계속 실행된다.
420에서, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 기계 학습 알고리즘의 결과를 반환한다.
422에서, 방법(400)은 예를 들어 다시 호출될 때까지 종료된다.
샘플링 서버는 양자 프로세서와 함께 사용될 수 있으며, 여기서 샘플링 서버는 기계 학습 알고리즘과 양자 프로세서 사이의 인터페이스로서 작동한다.
도 5a는 디지털 프로세서 코어(502), 샘플링 서버 컴퓨터(504) 및 양자 프로세서(506)를 포함하는 하이브리드 시스템(500a)을 도시한다.
하나 이상의 프로세서 코어(502)는 기계 학습 알고리즘을 실행하는 반면 상이한 프로세서 코어 또는 코어들의 세트에 의해 구현되는 샘플링 서버 컴퓨터(504)는 도 4의 방법(400)을 참조하여 전술한 바와 같이 샘플들을 제공한다. 샘플링 서버 컴퓨터(504)는 기계 학습 알고리즘과 동일한 GPU 또는 CPU 상에서, 예를 들어 별개의 코어 또는 별개의 코어들의 세트 상에서 구현될 수 있다. 대안적으로, 샘플링 서버 컴퓨터(504)는 기계 학습 알고리즘을 실행하는 동일한 기계 또는 기계들의 세트 상의 별개의 GPU/CPU 또는 별개의 GPU/CPU들의 세트 상에서 구현될 수 있다. 추가로 또는 대안적으로, 샘플링 서버 컴퓨터(504)는 기계 학습 알고리즘을 실행하는 기계 또는 기계들의 세트와는 별개의 기계 또는 별개의 기계들의 세트 상에서 구현될 수 있다. 샘플링 서버를 구현하는 기계(들)는 기계 학습 알고리즘을 실행하는 디지털 프로세서(들)와 하나 이상의 네트워크, 예를 들어 패킷 교환 네트워크를 통해 통신한다. 양자 프로세서(506)는 초전도 양자 프로세서일 수 있고 도 2의 토폴로지(200)로 구성될 수 있다.
샘플 생성기로서 양자 프로세서를 동작시키기 위한 방법이 미국 특허 제9,218,567호 및 미국 특허 공개 제20160042294A1호에 설명되어 있다.
샘플링 서버(504)는 양자 프로세서(506)로부터 샘플들을 요청할 수 있고 그러한 샘플들을 사용하여 적절한 온도에서 지속적인 마르코프 체인들을 다시 시딩할 수 있다. 양자 프로세서(506)로부터 샘플들을 요청할 때, 샘플링 서버(504)는 파라미터들을 양자 프로세서(506)로 전송하기 전에 파라미터 스케일링을 수행하여 양자 프로세서(506)에 의해 샘플링된 분포가 원하는 논리 온도에 대응하는 것을 보장할 수 있다. 샘플링 서버(504)는 체인 강도를 선택하고 체인들에 대해 스핀 반전 변환을 수행할 수 있다.
샘플링 서버(504)는 파라미터들이 기계 학습 알고리즘으로부터 수신되고 샘플들이 기계 학습 알고리즘으로 반환되는 레이트보다 느린 레이트로 또는 모든 샘플들의 세트에 대해 양자 프로세서(506)로부터 샘플들을 요청할 수 있다.
샘플링 서버(504)는 양자 프로세서에 의해 생성된 샘플들이 기계 학습 알고리즘으로 전송되기 전에 필요에 따라 후처리되는 것을 보장할 수 있다. 샘플링 서버(504)는 MCMC 및 중요도 샘플링과 같은 후처리 기술들을 사용할 수 있지만, 다른 후처리 알고리즘들도 사용될 수 있다. 양자 프로세서의 출력을 후처리하기 위한 방법 및 기술이 미국 특허 제7,307,275호 및 미국 특허 제8,244,650호에서 확인될 수 있다.
원하는 분포에 직접 대응하는 양자 프로세서(506)로부터의 샘플들을 사용하여 그의 마르코프 체인들을 다시 시딩하는 것에 더하여, 샘플링 서버(504)는 양자 프로세서(506)에 의해 제공된 샘플들을 상이한 방식으로 사용할 수 있다. 예를 들어, 양자 프로세서(506)는 간접적인 방식으로 샘플들의 품질을 개선하는 데 사용될 수 있다. 예로서, 양자 프로세서(506)는 분포의 에너지 랜드스케이프에서 새로운 밸리(valley)를 발견하는 데 사용될 수 있으며, 이에 따라 기계 학습 알고리즘을 실행하기 위해 디지털 프로세서(502)에 의해 사용될 샘플들의 품질을 개선할 수 있다.
하이브리드 시스템(500a) 내의 디지털 프로세서(502)는 파라미터들의 세트(즉, 볼츠만 분포의 h, j)를 샘플링 서버(504)로 전송한다(도 5a의 화살표 508). 샘플링 서버(504)는 샘플들을 생성하고 이들을 디지털 프로세서로 전송하거나(도 5a의 화살표 510) 파라미터들(예컨대, h, j)을 양자 프로세서(506)로 전송할 수 있다(도 5a의 화살표 512). 양자 프로세서(506)는 샘플들을 생성하고 이들을 샘플링 서버(504)로 전송한다(도 5a의 화살표 514). 양자 프로세서(506)로부터 샘플들을 수신하면, 샘플링 서버(504)는 이들 샘플을 사용하여 그의 마르코프 체인들을 다시 시딩하고 업데이트된 샘플들을 디지털 프로세서(502)로 전송한다(도 5a의 화살표 510).
도 5b는 디지털 프로세서(502), 양자 프로세서(506), 및 네트워크(518)를 통해 통신 결합되는 기계들(516a-516d)(집합적으로 516)의 클러스터로서 구현된 샘플링 서버(504)를 포함하는 하이브리드 시스템(500b)을 도시한다. 네트워크(518)는 버스 네트워크, 링 네트워크 또는 다른 타입의 네트워크 구조로서 구현될 수 있다. 도 5b에서 샘플링 서버(504)가 4개의 기계(516a-516d)의 클러스터로서 구현된 것으로 예시되지만, 기계의 수는 단지 예시를 위한 것이며 기계들(516)의 클러스터는 더 적은 또는 더 많은 수의 별개의 기계를 가질 수 있다.
디지털 프로세서(502)는 기계 학습 알고리즘을 실행하는 반면 샘플링 서버(504)는 도 4의 방법(400) 및 하이브리드 시스템(500a)을 참조하여 전술한 바와 같이 샘플들을 제공한다. 양자 프로세서(506)는 초전도 양자 프로세서일 수 있고 도 2의 토폴로지(200)로 구성될 수 있다.
샘플링 서버(504)는 하이브리드 시스템(5001)을 참조하여 위에서 설명된 바와 같이 양자 프로세서(506)로부터 샘플들을 요청하고 그러한 샘플들을 사용하여 적절한 온도에서 지속적 마르코프 체인들을 다시 시딩할 수 있다.
샘플링 서버(504)는 파라미터들이 기계 학습 알고리즘으로부터 수신되고 샘플들이 기계 학습 알고리즘으로 반환되는 레이트보다 느린 레이트로 또는 모든 샘플들의 세트에 대해 양자 프로세서(506)로부터 샘플들을 요청할 수 있다.
샘플링 서버(504)는 양자 프로세서에 의해 생성된 샘플들이 기계 학습 알고리즘으로 전송되기 전에 필요에 따라 후처리되는 것을 보장할 수 있다. 일부 구현예들에서, 샘플링 서버(504)는 양자 프로세서에 의해 생성된 후처리된 샘플들을 이용하여 샘플링 서버(504)에 의한 샘플들의 생성을 개선한다.
원하는 분포에 직접 대응하는 양자 프로세서(506)로부터의 샘플들을 사용하여 그의 마르코프 체인들을 다시 시딩하는 것에 더하여, 샘플링 서버(504)는 양자 프로세서(506)에 의해 제공된 샘플들을 상이한 방식으로 사용할 수 있다. 예를 들어, 양자 프로세서(506)는 하이브리드 시스템(500a)을 참조하여 전술한 바와 같이 간접적인 방식으로 샘플들의 품질을 개선하는 데 사용될 수 있다.
하이브리드 시스템(500b) 내의 디지털 프로세서(502)는 파라미터들의 세트(즉, 볼츠만 분포의 h, j)를 샘플링 서버(504)로 전송한다(도 5b의 화살표 508). 샘플링 서버(504)는 샘플들을 생성하고 이들을 디지털 프로세서로 전송하거나(도 5b의 화살표 510) 파라미터들(예컨대, h, j)을 양자 프로세서(506)로 전송할 수 있다(도 5b의 화살표 512). 양자 프로세서(506)는 샘플들을 생성하고 이들을 샘플링 서버(504)로 전송한다(도 5b의 화살표 514). 양자 프로세서(506)로부터 샘플들을 수신하면, 샘플링 서버(504)는 이들 샘플을 사용하여 그의 마르코프 체인들을 다시 시딩하고 업데이트된 샘플들을 디지털 프로세서(502)로 전송한다(도 5b의 화살표 510).
도 6은 샘플링 서버 및 양자 프로세서로부터 샘플들을 추출함으로써 기계 학습을 수행하기 위한 방법(600)을 도시한다. 방법(600)은 하이브리드 시스템(500a 또는 500b)을 사용하여 구현될 수 있다. 하나 이상의 프로세서 기반 디바이스에 의한 방법(600)의 실행은 본 시스템, 디바이스들, 물품들 및 방법들에 따라 발생할 수 있다. 방법(600)은, 본 명세서에서의 다른 방법들과 마찬가지로, 하나 이상의 프로세서(즉, 하드웨어 회로)에 의해 실행되는 프로세서 판독 가능 명령어들의 시리즈 또는 세트에 의해 구현될 수 있다. 방법(600)은 예를 들어 단일 프로세서(예를 들어, 그래픽 프로세서 유닛 또는 GPU)의 2개 이상의 코어 상에서 실행될 수 있으며, 이 코어들 각각은 다른 프로세서 코어들과는 별개이고 상이하다. 방법(600)은 2개 이상의 프로세서 유닛의 2개 이상의 코어 상에서 실행될 수 있으며, 이 프로세서 유닛들 각각은 다른 프로세서 유닛들과는 별개이고 상이하다. 방법(600)은 2개 이상의 컴퓨터 또는 기계에 속하는 2개 이상의 프로세서 유닛의 2개 이상의 코어 상에서 실행될 수 있으며, 각각의 컴퓨터 또는 기계는 다른 컴퓨터들 또는 기계들과는 별개이고 상이하다. 컴퓨터들 또는 기계들은 예를 들어 네트워크 인프라, 예를 들어 다양한 패킷 스위치들 및/또는 라우터들을 갖는 패킷 교환 네트워크에 의해 통신 결합되는 하나 이상의 클러스터를 형성할 수 있다.
방법(600)은 예를 들어 다른 루틴으로부터의 호출에 응답하여 602에서 시작된다.
604에서, 방법(400)의 404를 참조하여 설명된 바와 같이, 제1 디지털 프로세서 코어 또는 코어들의 세트는 학습될 분포의 파라미터들을 초기화함으로써 기계 학습 알고리즘을 실행하기 시작한다.
방법(600)은 액트 606 및 608을 병렬로 또는 함께 또는 심지어 동시에 실행한다.
606에서, 방법(400)의 406을 참조하여 설명된 바와 같이, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 분포의 파라미터들을 사용하여 기계 학습 알고리즘을 실행하여 샘플링 서버로부터 수신된 샘플들로 상기 분포를 학습한다.
608에서, 방법(400)의 408을 참조하여 전술한 바와 같이, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 파라미터들의 현재 세트를 샘플링 서버로 전송한다.
610에서, 방법(400)의 410을 참조하여 설명된 바와 같이, 샘플링 서버를 구현하는 제2 디지털 프로세서 코어 또는 코어들의 세트는 608에서 수신된 파라미터들을 사용하여 606에서 실행되는 기계 학습 알고리즘에서 사용될 샘플들을 생성한다.
611에서, 샘플링 서버는 양자 프로세서로부터 샘플들을 요청할지를 결정한다. 샘플링 서버는 양자 프로세서의 이용 가능성 또는 스케줄링 능력, 양자 프로세서에 대한 샘플에 관한 최근의 요청들 또는 다른 인자들 포함한 다수의 인자에 기초하여 양자 프로세서로부터 샘플들을 요청할지를 결정할 수 있다. 샘플링 서버가 양자 프로세서로부터 샘플들을 요청하지 않기로 결정하는 경우, 제어는 612로 이동하고, 그렇지 않으면 613으로 이동한다.
612에서, 방법(400)의 412를 참조하여 설명된 바와 같이, 샘플링 서버는 샘플들을 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트에 반환한다.
614에서, 방법(400)의 414를 참조하여 설명된 바와 같이, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 코어 또는 코어들의 세트는 더 많은 샘플이 필요한지를 결정한다. 제1 디지털 프로세서 코어 또는 코어들의 세트가 더 많은 샘플이 필요하다고 결정하면, 제어는 608로 이동하고, 그렇지 않으면 606으로 이동한다.
613에서, 샘플링 서버는 가장 최근의 파라미터들의 세트를 양자 프로세서로 전송한다. 가장 최근의 파라미터들의 세트는 디지털 프로세서로부터 마지막으로 수신된 파라미터들이다. 샘플링 서버는 파라미터들을 양자 프로세서로 전송하기 전에 위에서 설명된 바와 같이 파라미터 스케일링을 수행할 수 있다.
615에서, 양자 프로세서는 수신된 파라미터들의 세트를 사용하여 파라미터들에 대응하는 분포를 구축하고 상기 분포로부터 샘플들을 추출한다.
616에서, 양자 프로세서는 샘플들을 샘플링 서버로 전송한다. 샘플들의 송신은 네트워크를 통해 발생할 수 있다.
617에서, 샘플링 서버는 양자 프로세서로부터의 수신된 샘플들을 사용하여 그의 마르코프 체인들을 다시 시딩하기 전에 상기 수신된 샘플들에 대해 후처리를 수행하여서, 양자 프로세서로부터의 결과들에 기초하여 업데이트된 샘플들을 생성할 수 있다. 이어서 제어는 611로 이동한다.
618에서, 방법(400)의 428을 참조하여 설명된 바와 같이, 방법(600)은 정지 기준이 충족되었는지를 체크하기 위해 테스트한다.
620에서, 기계 학습 알고리즘을 실행하는 제1 디지털 프로세서 또는 코어들의 세트는 기계 학습 알고리즘의 결과를 반환한다.
622에서, 방법(600)은 다시 호출될 때까지 종료된다. 대안적으로, 방법(600)은 자동으로 반복될 수 있다.
전술한 방법(들), 프로세스(들) 또는 기술(들)은 하나 이상의 비일시적 프로세서 판독 가능 매체에 저장된 일련의 프로세서 판독 가능 명령어들에 의해 구현될 수 있다. 전술한 방법(들), 프로세스(들) 또는 기술(들) 방법의 일부 예는 단열 양자 컴퓨터 또는 양자 어닐러, 또는 단열 양자 컴퓨터 또는 양자 어닐러의 동작을 프로그래밍하거나 달리 제어하는 시스템, 예를 들어 적어도 하나의 디지털 프로세서를 포함하는 컴퓨터와 같은 특수화된 디바이스에 의해 부분적으로 수행된다. 전술한 방법(들), 프로세스(들) 또는 기술(들)은 다양한 액트들을 포함할 수 있지만, 이 분야의 기술자는 대안적인 예들에서 소정 액트들이 생략될 수 있고/있거나 추가 액트들이 추가될 수 있음을 인식할 것이다. 이 분야의 기술자는 예시된 액트들의 순서는 단지 예시 목적을 위해 나타내어진 것이고 대안적인 예들에서 변경될 수 있다는 것을 인식할 것이다. 전술한 방법(들), 프로세스(들) 또는 기술(들)의 예시적인 액트들 또는 동작들 중 일부는 반복하여 수행된다. 전술한 방법(들), 프로세스(들) 또는 기술(들)의 일부 액트들은 각각의 반복 동안, 복수의 반복 후에, 또는 모든 반복의 끝에 수행될 수 있다.
요약서에 기술된 것을 포함한, 예시된 구현예들에 대한 위의 설명은 포괄적인 것으로 또는 구현예들을 개시된 정확한 형태들로 제한하는 것으로 의도되지 않는다. 특정 구현예들 및 예들이 예시 목적으로 본 명세서에서 설명되지만, 관련 분야의 기술자에 의해 인식될 바와 같이, 본 개시의 사상 및 범위로부터 벗어남이 없이 다양한 등가의 변경이 이루어질 수 있다. 본 명세서에서 제공되는 다양한 구현예의 교시 내용은 반드시 개괄적으로 전술된 양자 계산을 위한 예시적인 방법들이 아니라, 양자 계산의 다른 방법들에 적용될 수 있다.
전술된 다양한 구현예들이 추가 구현예들을 제공하도록 조합될 수 있다. 본 명세서에서의 특정 교시 내용 및 정의와 모순되지 않는 정도까지, 미국 특허 제7,898,282호; 미국 특허 제7,800,395호; 미국 특허 제8,670,807호; 미국 특허 출원 제14/676605호; 국제 특허 출원 PCT/US2016/047627호; 미국 특허 제9,218,567호; 미국 특허 공개 제20160042294A1; 및 2016년 9월 26일자로 출원되고 발명의 명칭이 "양자 프로세서에서의 축퇴 완화를 위한 시스템 및 방법(Systems and Methods for Degeneracy Mitigation in a Quantum Processor)"인 미국 가특허 출원 제62/399,764호 및 2016년 9월 26일자로 출원되고 발명의 명칭이 "샘플링 서버로부터의 샘플링을 위한 시스템, 방법 및 장치(Systems, Methods and Apparatus for Sampling from a Sampling Server)"인 미국 가특허 출원 제62/399,683호를 포함하지만 이로 제한되지 않는, 본 명세서에 참조되고/되거나 디-웨이브 시스템즈 인크.(D-Wave Systems Inc.)에 의해 공히 소유된 출원 데이터 시트에 열거된 모든 미국 특허 출원 공개, 미국 특허 출원, 미국 특허, 국제 특허 출원, 외국 특허 및 외국 특허 출원은 전체적으로 본 명세서에 참고로 포함된다.
전술된 설명에 비추어 구현예들에 대해 이들 및 다른 변경들이 이루어질 수 있다. 일반적으로, 다음의 청구항들에서, 사용되는 용어들은 청구항들을 명세서 및 청구항들에 개시된 특정 구현예들로 제한하는 것으로 해석되어서는 안되며, 그러한 청구항들의 자격이 주어지는 등가물들의 전체 범주와 함께 모든 가능한 구현예들을 포함하는 것으로 해석되어야 한다. 따라서, 청구항들은 본 개시에 의해 제한되지 않는다.
Claims (39)
- 기계 학습에서 사용하기 위한 계산 시스템으로서,
적어도 하나의 디지털 프로세서 코어; 및
상기 적어도 하나의 디지털 프로세서 코어에 통신 결합 가능하고, 프로세서 실행 가능 명령어들 또는 데이터 중 적어도 하나를 저장하는 적어도 하나의 비일시적 프로세서 판독 가능 매체
를 포함하며, 상기 프로세서 실행 가능 명령어들 또는 데이터는, 상기 적어도 하나의 디지털 프로세서 코어에 의해 실행될 때, 상기 적어도 하나의 디지털 프로세서 코어로 하여금 샘플링 서버를 구현하게 하고, 상기 샘플링 서버는,
상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어와는 별개의 적어도 하나의 디지털 프로세서 코어 상에서 상기 샘플링 서버와 병렬로 실행되고 있는 기계 학습 프로세스의 반복에 대한 파라미터들의 초기 세트를 수신하고;
상기 기계 학습 프로세스의 실행과 일시적으로 병렬로 상기 파라미터들의 초기 세트에 기초하여 샘플들의 제1 세트를 생성하며;
상기 기계 학습 프로세스의 추가의 반복에서 사용하기 위해 상기 적어도 하나의 디지털 프로세서 코어에 의해 구현되는 바와 같은 샘플링 서버에 의해 생성된 상기 샘플들의 제1 세트를 제공하고,
상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어는 추가로 적어도 하나의 양자 프로세서에 통신 결합 가능하며,
상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어로 하여금 추가로,
상기 샘플링 서버로부터 파라미터들의 현재 세트를 상기 적어도 하나의 양자 프로세서로 제공하고;
상기 적어도 하나의 양자 프로세서로부터 양자 프로세서 생성 샘플들의 세트를 수신하게 하며,
상기 양자 프로세서는 상기 샘플링 서버에 의해 제공된 상기 파라미터들의 현재 세트에 적어도 부분적으로 기초하여 분포로부터 샘플들을 추출하는, 계산 시스템. - 제1항에 있어서, 상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 적어도 하나의 디지털 프로세서 코어로 하여금 샘플링 서버에 의해 생성된 상기 샘플들의 제1 세트와 함께 함수들의 제1 세트를 제공하게 하고, 상기 함수들의 제1 세트는 1차 통계 및 2차 통계를 포함하는, 계산 시스템.
- 제1항에 있어서, 상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 적어도 하나의 디지털 프로세서 코어로 하여금 볼츠만 분포(Boltzmann distribution)로부터 샘플들을 추출하게 하는, 계산 시스템.
- 제3항에 있어서, 상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 적어도 하나의 디지털 프로세서 코어로 하여금 키메라 구조화 볼츠만 분포(Chimera structured Boltzmann distribution)로부터 샘플들을 추출하게 하는, 계산 시스템.
- 제1항에 있어서, 상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 적어도 하나의 디지털 프로세서 코어로 하여금 단일 온도 깁스 샘플링의 마르코프 체인(Markov Chain of single temperature Gibbs sampling), 시뮬레이션된 템퍼링(simulated tempering), 병렬 템퍼링(parallel tempering), 모집단 어닐링(population annealing), 및 어닐링된 중요도 샘플링(annealed importance sampling) 중 적어도 하나를 통해 샘플들을 추출하게 하는, 계산 시스템.
- 제1항에 있어서, 상기 기계 학습 프로세스는 생성 모델(generative model)의 로그 우도(log-likelihood)를 최대화하는, 계산 시스템.
- 삭제
- 제1항에 있어서, 상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어로 하여금 추가로,
상기 양자 프로세서로부터 수신된 상기 샘플들에 대해 후처리를 수행하게 하는, 계산 시스템. - 제1항에 있어서, 상기 양자 프로세서는 상기 샘플링 서버에 의해 제공된 상기 파라미터들의 현재 세트에 적어도 부분적으로 기초하여 분포로부터 샘플들을 추출하는, 계산 시스템.
- 제9항에 있어서, 상기 양자 프로세서는 샘플들을 추출하기 전에 체인 임베딩(chain embedding)을 수행하는, 계산 시스템.
- 제1항에 있어서, 상기 샘플링 서버는 샘플들, 샘플들의 함수들 및 로그 파티션 함수에 대한 근사치를 상기 기계 학습 프로세스가 실행되는 상기 별개의 적어도 하나의 디지털 프로세서 코어로 전송하는, 계산 시스템.
- 제1항에 있어서, 상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어는 메모리 공간을 갖는 그래픽 프로세서 유닛의 제1 프로세서 코어이고, 상기 기계 학습 프로세스를 실행하는 상기 별개의 적어도 하나의 디지털 프로세서 코어는 상기 그래픽 프로세서 유닛의 제2 프로세서 코어이고, 상기 그래픽 프로세서 유닛의 상기 제1 프로세서 코어와 상기 메모리 공간을 공유하는, 계산 시스템.
- 제1항에 있어서, 상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어는 제1 그래픽 프로세서 유닛의 프로세서 코어이고, 상기 기계 학습 프로세스를 실행하는 상기 별개의 적어도 하나의 디지털 프로세서 코어는 제2 그래픽 프로세서 유닛의 프로세서 코어이고, 상기 제2 그래픽 프로세서 유닛은 상기 제1 그래픽 프로세서 유닛과는 별개이고 상이한, 계산 시스템.
- 제13항에 있어서, 상기 제1 그래픽 프로세서 유닛은 제1 컴퓨터의 일부이고, 상기 제2 그래픽 프로세서 유닛은 제2 컴퓨터의 일부이고, 상기 제2 컴퓨터는 상기 제1 컴퓨터와는 별개이고 상이한, 계산 시스템.
- 제14항에 있어서, 상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어는 서로 별개이고 상이한 복수의 프로세서의 복수의 디지털 프로세서 코어를 포함하고, 상기 복수의 프로세서는 복수의 컴퓨터의 컴포넌트들이고, 상기 컴퓨터들은 네트워크 인프라를 통해 통신 결합되는 기계들의 클러스터를 형성하는, 계산 시스템.
- 제1항에 있어서, 상기 프로세서 실행 가능 명령어들 또는 데이터의 실행은 상기 적어도 하나의 디지털 프로세서 코어로 하여금 추가로,
상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어와는 별개의 상기 적어도 하나의 디지털 프로세서 코어 상에서 상기 샘플링 서버와 병렬로 실행되고 있는 상기 기계 학습 프로세스의 다수의 반복 각각에 대한 파라미터들의 추가 세트들을 반복하여 수신하고;
상기 기계 학습 프로세스의 실행과 일시적으로 병렬로 상기 파라미터들의 추가 세트들의 각자의 파라미터들의 추가 세트들에 기초하여 샘플들의 추가 세트들을 반복하여 생성하고;
상기 기계 학습 프로세스의 상기 반복들에서 사용하기 위해 상기 적어도 하나의 디지털 프로세서 코어에 의해 구현되는 바와 같은 샘플링 서버에 의해 생성된 상기 샘플들의 추가 세트들을 반복하여 제공하게 하는, 계산 시스템. - 제1항에 있어서, 상기 샘플링 서버는 상기 기계 학습 프로세스와 함께 실행되어, 상기 기계 학습 프로세스의 적어도 일부와 중첩되는, 계산 시스템.
- 제1항에 있어서, 상기 샘플링 서버는 상기 기계 학습 프로세스와 동시에 실행되는, 계산 시스템.
- 기계 학습에서 사용하기 위한 계산 시스템의 동작 방법으로서,
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어에 의해, 상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어와는 별개의 적어도 하나의 디지털 프로세서 코어 상에서 상기 샘플링 서버와 병렬로 실행되고 있는 기계 학습 프로세스의 반복에 대한 파라미터들의 초기 세트를 수신하는 단계;
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어에 의해, 상기 기계 학습 프로세스의 실행과 일시적으로 병렬로 상기 파라미터들의 초기 세트에 기초하여 샘플들의 제1 세트를 생성하는 단계; 및
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어에 의해, 상기 기계 학습 프로세스의 추가의 반복에서 사용하기 위해 상기 적어도 하나의 디지털 프로세서 코어에 의해 구현되는 바와 같은 샘플링 서버에 의해 생성된 상기 샘플들의 제1 세트를 제공하는 단계;
파라미터들의 현재 세트를 상기 샘플링 서버로부터 적어도 하나의 양자 프로세서로 제공하는 단계; 및
상기 샘플링 서버에 의해, 상기 샘플링 서버에 의해 제공된 제공된 상기 파라미터들의 현재 세트에 적어도 부분적으로 기초하여 상기 적어도 하나의 양자 프로세서로부터 양자 프로세서 생성 샘플들의 제2 세트를 수신하는 단계
를 포함하는, 방법. - 제19항에 있어서,
샘플링 서버를 구현하는 적어도 하나의 디지털 프로세서 코어에 의해, 샘플링 서버에 의해 생성된 상기 샘플들의 제1 세트와 함께 함수들의 제1 세트를 제공하는 단계를 추가로 포함하며, 상기 함수들의 제1 세트는 1차 통계 및 2차 통계를 포함하는, 방법. - 제19항에 있어서,
샘플링 서버를 구현하는 상기 적어도 하나의 디지털 프로세서 코어에 의해 볼츠만 분포로부터 샘플들을 추출하는 단계를 추가로 포함하는, 방법. - 제21항에 있어서,
샘플링 서버를 구현하는 상기 적어도 하나의 디지털 프로세서 코어에 의해 키메라 구조화 볼츠만 분포로부터 샘플들을 추출하는 단계를 추가로 포함하는, 방법. - 제19항에 있어서,
샘플링 서버를 구현하는 상기 적어도 하나의 디지털 프로세서 코어에 의해 단일 온도 깁스 샘플링의 마르코프 체인, 시뮬레이션된 템퍼링, 병렬 템퍼링, 모집단 어닐링, 및 어닐링된 중요도 샘플링 중 적어도 하나를 통해 샘플들을 추출하는 단계를 추가로 포함하는, 방법. - 제19항에 있어서,
상기 샘플링 서버에 의해 샘플들의 함수들 및 로그 파티션 함수에 대한 근사치를 상기 기계 학습 프로세스가 실행되는 상기 별개의 적어도 하나의 디지털 프로세서 코어로 전송하는 단계를 추가로 포함하는, 방법. - 삭제
- 제19항에 있어서,
상기 샘플링 서버에 의해, 상기 샘플들의 현재 세트를 업데이트하기 전에 상기 샘플들의 제2 세트에 대해 후처리를 수행하여 상기 샘플들의 제2 세트에 적어도 부분적으로 기초하여 샘플들의 제3 세트를 생성하는 단계를 추가로 포함하는, 방법. - 제19항에 있어서,
상기 양자 프로세서에 의해, 상기 샘플링 서버에 의해 제공된 상기 파라미터들의 현재 세트에 적어도 부분적으로 기초하여 분포로부터 샘플들을 추출하는 단계를 추가로 포함하는, 방법. - 제27항에 있어서,
상기 양자 프로세서에 의해 샘플들을 추출하기 전에, 상기 양자 프로세서에 의해, 체인 임베딩을 수행하는 단계를 추가로 포함하는, 방법. - 제19항에 있어서,
상기 샘플링 서버가 구현되는 상기 적어도 하나의 디지털 프로세서 코어와는 별개의 상기 적어도 하나의 디지털 프로세서 코어 상에서 상기 샘플링 서버와 병렬로 실행되고 있는 상기 기계 학습 프로세스의 다수의 반복 각각에 대한 파라미터들의 추가 세트들을 반복하여 수신하는 단계;
상기 기계 학습 프로세스의 실행과 일시적으로 병렬로 상기 파라미터들의 추가 세트들의 각자의 파라미터들의 추가 세트들에 기초하여 샘플들의 추가 세트들을 반복하여 생성하는 단계; 및
상기 기계 학습 프로세스의 상기 반복들에서 사용하기 위해 상기 적어도 하나의 디지털 프로세서 코어에 의해 구현되는 바와 같은 샘플링 서버에 의해 생성된 상기 샘플들의 추가 세트들을 반복하여 제공하는 단계를 추가로 포함하는, 방법. - 제19항에 있어서, 상기 샘플링 서버는 상기 기계 학습 프로세스와 함께 실행되어, 상기 기계 학습 프로세스의 적어도 일부와 중첩되는, 방법.
- 제19항에 있어서, 상기 샘플링 서버는 상기 기계 학습 프로세스와 동시에 실행되는, 방법.
- 기계 학습에서 사용하기 위한 방법으로서,
제1 문제에 대한 기계 학습 프로세스의 실행의 일부로서, 상기 제1 문제에 대해 상기 기계 학습 프로세스를 실행하는 디지털 프로세서에 의해 파라미터들의 초기 세트를 초기화하는 단계;
상기 제1 문제에 대한 상기 기계 학습 프로세스의 실행의 일부로서, 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 상기 파라미터들의 초기 세트를 상기 기계 학습 프로세스와 병렬로 실행되는 샘플링 서버로 전송하는 단계;
상기 제1 문제에 대한 상기 기계 학습 프로세스의 실행의 일부로서, 상기 파라미터들의 초기 세트에 기초한 상기 샘플링 서버에 의한 분포로부터의 샘플들의 추출 및 상기 샘플들의 함수들의 계산과 병렬로 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 생성 모델의 로그 우도를 최대화하는 단계;
상기 제1 문제에 대한 상기 기계 학습 프로세스의 실행의 일부로서, 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 상기 샘플링 서버로부터 상기 샘플들을 수신하는 단계;
상기 제1 문제에 대한 상기 기계 학습 프로세스의 실행의 일부로서, 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 상기 생성 모델의 상기 로그 우도를 최대화함으로써 상기 수신된 샘플들을 사용하여 상기 분포를 학습하는 단계;
상기 제1 문제에 대한 상기 기계 학습 프로세스의 실행의 일부로서, 상기 샘플링 서버에 의해, 파라미터들의 현재 세트를 적어도 하나의 양자 프로세서로 전송하는 단계; 및
상기 양자 프로세서로부터 반환된 상기 샘플링 서버에 의해 샘플들을 수신하는 단계
를 포함하고,
상기 샘플링 서버가 구현되는 상기 디지털 프로세서는 추가로 상기 적어도 하나의 양자 프로세서에 통신 가능하게 결합되는, 방법. - 제32항에 있어서,
상기 샘플링 서버에 의해 분포로부터 상기 샘플들을 추출하는 단계; 및
상기 샘플들의 상기 함수들을 상기 샘플링 서버에 의해 1차 통계 및 2차 통계로서 계산하는 단계를 추가로 포함하는, 방법. - 제32항에 있어서,
상기 샘플링 서버에 의해 볼츠만 분포로부터 상기 샘플들을 추출하는 단계를 추가로 포함하는, 방법. - 제32항에 있어서,
단일 온도 깁스 샘플링의 마르코프 체인, 시뮬레이션된 템퍼링, 병렬 템퍼링, 모집단 어닐링, 및 어닐링된 중요도 샘플링 중 적어도 하나를 통해 상기 샘플링 서버에 의해 상기 샘플들을 추출하는 단계를 추가로 포함하는, 방법. - 기계 학습에서 사용하기 위한 방법으로서,
제1 문제에 대한 기계 학습 프로세스의 실행의 일부로서,
상기 제1 문제에 대해 상기 기계 학습 프로세스를 실행하는 디지털 프로세서에 의해, 학습될 분포에 대응하는 초기 파라미터들의 세트를 샘플링 서버로 전송하는 단계;
상기 초기 파라미터들에 적어도 부분적으로 기초하여 상기 샘플링 서버에 의해 상기 분포로부터 샘플들의 제1 세트를 추출하여, 업데이트된 파라미터들의 세트를 생성하는 단계;
상기 제1 문제에 대해 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 상기 샘플들의 제1 세트 및 상기 샘플들의 함수들을 수신하는 단계;
상기 업데이트된 파라미터들을 상기 샘플링 서버에 의해 양자 프로세서로 전송하는 단계;
상기 양자 프로세서로부터 반환된 샘플들의 제2 세트를 상기 샘플링 서버에 의해 수신하는 단계;
상기 샘플들의 제2 세트에 적어도 부분적으로 기초하여 상기 샘플링 서버에 의해 상기 업데이트된 파라미터들 및 상기 샘플들의 제2 세트에 대응하는 샘플들의 제3 세트를 생성하기 위해 상기 샘플들의 제1 세트를 업데이트하는 단계;
상기 제1 문제에 대해 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 상기 샘플들의 제3 세트를 수신하는 단계; 및
상기 제1 문제에 대해 상기 기계 학습 프로세스를 실행하는 상기 디지털 프로세서에 의해 상기 샘플들의 제3 세트를 사용하여 생성 모델의 로그 우도를 최대화하는 단계
를 포함하고,
상기 샘플링 서버가 구현되는 상기 디지털 프로세서는 상기 양자 프로세서에 통신 가능하게 결합 가능한, 방법. - 제36항에 있어서,
양자 하드웨어를 통해 상기 양자 프로세서에 의해 상기 업데이트된 파라미터들에 대응하는 상기 샘플들의 제2 세트를 추출하는 단계를 추가로 포함하는, 방법. - 제36항에 있어서,
상기 샘플링 서버에 의해 상기 샘플들의 제1 세트를 추출하는 단계; 및
상기 샘플링 서버에 의해 상기 샘플들의 제1 세트의 상기 샘플들의 상기 함수들을 1차 통계 및 2차 통계로서 계산하는 단계를 추가로 포함하는, 방법. - 제38항에 있어서,
샘플들을 추출하기 전에 상기 양자 프로세서에 의해 체인 임베딩을 수행하는 단계를 추가로 포함하는, 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662399683P | 2016-09-26 | 2016-09-26 | |
US62/399,683 | 2016-09-26 | ||
PCT/US2017/053303 WO2018058061A1 (en) | 2016-09-26 | 2017-09-25 | Systems, methods and apparatus for sampling from a sampling server |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190068559A KR20190068559A (ko) | 2019-06-18 |
KR102593690B1 true KR102593690B1 (ko) | 2023-10-26 |
Family
ID=61690663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197012141A KR102593690B1 (ko) | 2016-09-26 | 2017-09-25 | 샘플링 서버로부터 샘플링하기 위한 시스템들, 방법들 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11481669B2 (ko) |
EP (1) | EP3516599A4 (ko) |
JP (1) | JP7134949B2 (ko) |
KR (1) | KR102593690B1 (ko) |
CN (1) | CN109983481B (ko) |
WO (1) | WO2018058061A1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2881033C (en) | 2015-02-03 | 2016-03-15 | 1Qb Information Technologies Inc. | Method and system for solving lagrangian dual of a constrained binary quadratic programming problem |
CN108475352B (zh) | 2015-10-27 | 2022-05-27 | D-波系统公司 | 用于量子处理器中的简并减轻的系统和方法 |
AU2018230642A1 (en) * | 2017-03-10 | 2019-10-24 | Rigetti & Co., Inc. | Modular control in a quantum computing system |
CA3083008A1 (en) * | 2017-12-01 | 2019-06-06 | 1Qb Information Technologies Inc. | Systems and methods for stochastic optimization of a robust inference problem |
CA3112596A1 (en) * | 2018-10-24 | 2020-04-30 | Zapata Computing, Inc. | Hybrid quantum-classical computer system for implementing and optimizing quantum boltzmann machines |
CA3121561A1 (en) * | 2018-12-06 | 2020-06-11 | 1Qb Information Technologies Inc. | Artificial intelligence-driven quantum computing |
US11176478B2 (en) | 2019-02-21 | 2021-11-16 | International Business Machines Corporation | Method for estimating a quantum phase |
WO2020210536A1 (en) | 2019-04-10 | 2020-10-15 | D-Wave Systems Inc. | Systems and methods for improving the performance of non-stoquastic quantum devices |
CA3126553A1 (en) | 2019-06-19 | 2020-12-24 | 1Qb Information Technologies Inc. | Method and system for mapping a dataset from a hilbert space of a given dimension to a hilbert space of a different dimension |
CA3157216A1 (en) | 2019-12-03 | 2021-06-10 | Pooya Ronagh | System and method for enabling an access to a physics-inspired computer and to a physics-inspired computer simulator |
CN113110931B (zh) * | 2020-01-10 | 2024-06-04 | 北京小米松果电子有限公司 | 内核运算优化方法、装置及系统 |
US20230214700A1 (en) * | 2020-04-09 | 2023-07-06 | Socpra Sciences Et Genie S.E.C. | Method of performing a quantum computation |
CN111601490B (zh) * | 2020-05-26 | 2022-08-02 | 内蒙古工业大学 | 数据中心主动通风地板的强化学习控制方法 |
CN111768007B (zh) * | 2020-06-28 | 2023-08-08 | 北京百度网讯科技有限公司 | 用于挖掘数据的方法和装置 |
AU2022289736A1 (en) | 2021-06-11 | 2024-02-01 | Caleb JORDAN | System and method of flux bias for superconducting quantum circuits |
US11809426B2 (en) | 2022-02-03 | 2023-11-07 | Bank Of America Corporation | System for implementing a data driven channel for query executions using quantum computing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015193531A1 (en) * | 2014-06-16 | 2015-12-23 | Nokia Technologies Oy | Data processing |
US20160042294A1 (en) * | 2011-07-06 | 2016-02-11 | D-Wave Systems Inc. | Quantum processor based systems and methods that minimize an objective function |
Family Cites Families (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3470828A (en) | 1967-11-21 | 1969-10-07 | James R Powell Jr | Electromagnetic inductive suspension and stabilization system for a ground vehicle |
US5249122A (en) | 1990-03-15 | 1993-09-28 | Mount Sinai School Of Medicine Of The City University Of New York | Method and apparatus for forming images using orthogonal polynomials for temporal deconvolution |
US6671661B1 (en) | 1999-05-19 | 2003-12-30 | Microsoft Corporation | Bayesian principal component analysis |
JP3266586B2 (ja) | 1999-07-07 | 2002-03-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ分析システム |
CN1423781A (zh) | 2000-03-16 | 2003-06-11 | 陈垣洋 | 用于统计资料模糊分析的装置和方法 |
US20030030575A1 (en) | 2001-05-07 | 2003-02-13 | Harmonic Data Systems Ltd. | Lossless data compression |
US7636651B2 (en) | 2003-11-28 | 2009-12-22 | Microsoft Corporation | Robust Bayesian mixture modeling |
US20050250651A1 (en) | 2004-03-29 | 2005-11-10 | Amin Mohammad H S | Adiabatic quantum computation with superconducting qubits |
US7299171B2 (en) | 2004-08-17 | 2007-11-20 | Contentguard Holdings, Inc. | Method and system for processing grammar-based legality expressions |
US7212949B2 (en) | 2004-08-31 | 2007-05-01 | Intelligent Automation, Inc. | Automated system and method for tool mark analysis |
US7565627B2 (en) | 2004-09-30 | 2009-07-21 | Microsoft Corporation | Query graphs indicating related queries |
US20060115145A1 (en) | 2004-11-30 | 2006-06-01 | Microsoft Corporation | Bayesian conditional random fields |
US7533068B2 (en) | 2004-12-23 | 2009-05-12 | D-Wave Systems, Inc. | Analog processor comprising quantum devices |
US8560282B2 (en) | 2005-07-11 | 2013-10-15 | D-Wave Systems Inc. | Quantum processor-based systems, methods and apparatus for solving problems as logic circuits |
US7401305B2 (en) | 2005-07-11 | 2008-07-15 | International Business Machines Corporation | Adaptive application of SAT solving techniques |
WO2010148120A2 (en) | 2009-06-17 | 2010-12-23 | D-Wave Systems Inc. | Systems and methods for solving computational problems |
US7467118B2 (en) | 2006-01-12 | 2008-12-16 | Entelos Inc. | Adjusted sparse linear programming method for classifying multi-dimensional biological data |
US8054380B2 (en) | 2006-04-12 | 2011-11-08 | Zoran (France) | Method and apparatus for robust super-resolution video scaling |
US8195726B2 (en) | 2006-06-20 | 2012-06-05 | D-Wave Systems Inc. | Systems, devices, and methods for solving computational problems |
US8271043B2 (en) | 2006-08-21 | 2012-09-18 | Qualcomm Incorporated | Approach to a unified SU-MIMO/MU-MIMO operation |
US7729531B2 (en) | 2006-09-19 | 2010-06-01 | Microsoft Corporation | Identifying repeated-structure elements in images |
US7792353B2 (en) * | 2006-10-31 | 2010-09-07 | Hewlett-Packard Development Company, L.P. | Retraining a machine-learning classifier using re-labeled training samples |
US20090077001A1 (en) | 2006-11-02 | 2009-03-19 | William Macready | Integrating optimization directly into databases |
AU2007329156B2 (en) | 2006-12-05 | 2012-09-13 | D-Wave Systems Inc. | Systems, methods and apparatus for local programming of quantum processor elements |
CN1973756A (zh) | 2006-12-20 | 2007-06-06 | 复旦大学附属中山医院 | 氧化还原纳米药物量子点构成室温超导量子比特网络的方法 |
US8195596B2 (en) | 2007-01-12 | 2012-06-05 | D-Wave Systems Inc. | Systems, devices, and methods for interconnected processor topology |
US20080320030A1 (en) | 2007-02-16 | 2008-12-25 | Stivoric John M | Lifeotype markup language |
JP2010525431A (ja) | 2007-04-19 | 2010-07-22 | ディー−ウェイブ システムズ,インコーポレイテッド | 自動画像認識用のシステム、方法、および装置 |
US8244650B2 (en) * | 2007-06-12 | 2012-08-14 | D-Wave Systems Inc. | Systems, methods, and apparatus for recursive quantum computing algorithms |
US20080313430A1 (en) | 2007-06-12 | 2008-12-18 | Bunyk Paul I | Method and system for increasing quantum computer processing speed using digital co-processor |
JP5171962B2 (ja) | 2007-10-11 | 2013-03-27 | 本田技研工業株式会社 | 異種データセットからの知識移転を伴うテキスト分類 |
US8190548B2 (en) | 2007-11-08 | 2012-05-29 | D-Wave Systems Inc. | Systems, devices, and methods for analog processing |
US8832165B2 (en) | 2007-12-12 | 2014-09-09 | Lockheed Martin Corporation | Computer systems and methods for quantum verification and validation |
CA2719343C (en) | 2008-03-24 | 2017-03-21 | Paul Bunyk | Systems, devices, and methods for analog processing |
US8131660B2 (en) | 2008-04-08 | 2012-03-06 | Microsoft Corporation | Reconfigurable hardware accelerator for boolean satisfiability solver |
EP2283373B1 (en) | 2008-04-28 | 2021-03-10 | Cornell University | Accurate quantification of magnetic susceptibility in molecular mri |
CN102037475B (zh) | 2008-05-20 | 2015-05-13 | D-波系统公司 | 用于校准、控制并且运行量子处理器的系统、方法和装置 |
WO2009152180A2 (en) | 2008-06-10 | 2009-12-17 | D-Wave Systems Inc. | Parameter learning system for solvers |
US8081209B2 (en) | 2008-06-26 | 2011-12-20 | Toyota Motor Engineering & Manufacturing North America, Inc. | Method and system of sparse code based object classification with sensor fusion |
US8145334B2 (en) | 2008-07-10 | 2012-03-27 | Palo Alto Research Center Incorporated | Methods and systems for active diagnosis through logic-based planning |
US20100169243A1 (en) | 2008-12-27 | 2010-07-01 | Kibboko, Inc. | Method and system for hybrid text classification |
US8095345B2 (en) | 2009-01-20 | 2012-01-10 | Chevron U.S.A. Inc | Stochastic inversion of geophysical data for estimating earth model parameters |
US8239336B2 (en) * | 2009-03-09 | 2012-08-07 | Microsoft Corporation | Data processing using restricted boltzmann machines |
US20100332423A1 (en) | 2009-06-24 | 2010-12-30 | Microsoft Corporation | Generalized active learning |
JP5254893B2 (ja) | 2009-06-26 | 2013-08-07 | キヤノン株式会社 | 画像変換方法及び装置並びにパターン識別方法及び装置 |
US10223632B2 (en) | 2009-07-27 | 2019-03-05 | International Business Machines Corporation | Modeling states of an entity |
US20110142335A1 (en) | 2009-12-11 | 2011-06-16 | Bernard Ghanem | Image Comparison System and Method |
US20110295845A1 (en) | 2010-05-27 | 2011-12-01 | Microsoft Corporation | Semi-Supervised Page Importance Ranking |
US10592757B2 (en) | 2010-06-07 | 2020-03-17 | Affectiva, Inc. | Vehicular cognitive data collection using multiple devices |
US8566260B2 (en) | 2010-09-30 | 2013-10-22 | Nippon Telegraph And Telephone Corporation | Structured prediction model learning apparatus, method, program, and recording medium |
US8242799B2 (en) | 2010-11-16 | 2012-08-14 | Northrop Grumman Systems Corporation | System and method for phase error reduction in quantum systems |
US8977576B2 (en) | 2010-11-19 | 2015-03-10 | D-Wave Systems Inc. | Methods for solving computational problems using a quantum processor |
US8589319B2 (en) | 2010-12-02 | 2013-11-19 | At&T Intellectual Property I, L.P. | Adaptive pairwise preferences in recommenders |
CN102364497B (zh) | 2011-05-06 | 2013-06-05 | 北京师范大学 | 一种应用于电子导盲系统的图像语义提取方法 |
KR101318812B1 (ko) | 2011-07-18 | 2013-10-17 | 한양대학교 산학협력단 | 에지의 방향 성분을 검출하는 영상 필터링 방법 및 이를 이용한 영상 인식 방법 |
CN102324047B (zh) | 2011-09-05 | 2013-06-12 | 西安电子科技大学 | 基于稀疏核编码skr的高光谱图像地物识别方法 |
US20130097103A1 (en) | 2011-10-14 | 2013-04-18 | International Business Machines Corporation | Techniques for Generating Balanced and Class-Independent Training Data From Unlabeled Data Set |
US9700276B2 (en) | 2012-02-28 | 2017-07-11 | Siemens Healthcare Gmbh | Robust multi-object tracking using sparse appearance representation and online sparse appearance dictionary update |
US8958632B2 (en) | 2012-03-12 | 2015-02-17 | Mitsubishi Electric Research Laboratories, Inc. | Learning dictionaries with clustered atoms |
CN102651073B (zh) | 2012-04-07 | 2013-11-20 | 西安电子科技大学 | 基于稀疏动态集成选择的sar图像地物分类方法 |
CN102831402B (zh) | 2012-08-09 | 2015-04-08 | 西北工业大学 | 基于稀疏编码和视觉显著性的红外遥感图像检测机场的方法 |
US11082490B2 (en) * | 2012-11-28 | 2021-08-03 | Nvidia Corporation | Method and apparatus for execution of applications in a cloud system |
US9241102B2 (en) | 2012-12-05 | 2016-01-19 | Xerox Corporation | Video capture of multi-faceted documents |
US20150279351A1 (en) | 2012-12-19 | 2015-10-01 | Google Inc. | Keyword detection based on acoustic alignment |
US20140201208A1 (en) | 2013-01-15 | 2014-07-17 | Corporation Symantec | Classifying Samples Using Clustering |
US9944520B2 (en) | 2013-01-15 | 2018-04-17 | Alcatel Lucent | Syndrome of degraded quantum redundancy coded states |
US20140214835A1 (en) * | 2013-01-29 | 2014-07-31 | Richard Thomas Oehrle | System and method for automatically classifying documents |
EP2951720B1 (en) | 2013-01-31 | 2018-05-02 | Betazi, LLC | Production analysis and/or forecasting methods, apparatus, and systems |
US9111230B2 (en) | 2013-03-14 | 2015-08-18 | International Business Machines Corporation | Frequency arrangement for surface code on a superconducting lattice |
EP2989607B1 (en) | 2013-04-25 | 2019-01-09 | Thomson Licensing | Method and device for performing super-resolution on an input image |
US10318881B2 (en) | 2013-06-28 | 2019-06-11 | D-Wave Systems Inc. | Systems and methods for quantum processing of data |
US9727824B2 (en) | 2013-06-28 | 2017-08-08 | D-Wave Systems Inc. | Systems and methods for quantum processing of data |
US8863044B1 (en) | 2013-09-06 | 2014-10-14 | International Business Machines Corporation | Layout assessment method and system |
US10339466B1 (en) | 2013-09-11 | 2019-07-02 | Google Llc | Probabilistic inference in machine learning using a quantum oracle |
US20160307305A1 (en) | 2013-10-23 | 2016-10-20 | Rutgers, The State University Of New Jersey | Color standardization for digitized histological images |
US9588940B2 (en) * | 2013-12-05 | 2017-03-07 | D-Wave Systems Inc. | Sampling from a set of spins with clamping |
US20150161524A1 (en) | 2013-12-05 | 2015-06-11 | D-Wave Systems Inc. | Sampling from a set spins with clamping |
US10282465B2 (en) | 2014-02-25 | 2019-05-07 | Intel Corporation | Systems, apparatuses, and methods for deep learning of feature detectors with sparse coding |
US9158971B2 (en) | 2014-03-03 | 2015-10-13 | Xerox Corporation | Self-learning object detectors for unlabeled videos using multi-task learning |
EP3138052B1 (en) | 2014-05-01 | 2021-07-07 | Lockheed Martin Corporation | Quantum-assisted training of neural networks |
US11256982B2 (en) | 2014-07-18 | 2022-02-22 | University Of Southern California | Noise-enhanced convolutional neural networks |
US9881256B2 (en) | 2014-08-22 | 2018-01-30 | D-Wave Systems Inc. | Systems and methods for problem solving, useful for example in quantum computing |
WO2016061283A1 (en) * | 2014-10-14 | 2016-04-21 | Skytree, Inc. | Configurable machine learning method selection and parameter optimization system and method |
CN107004162A (zh) * | 2014-12-05 | 2017-08-01 | 微软技术许可有限责任公司 | 量子深度学习 |
SG11201706098XA (en) | 2015-02-13 | 2017-09-28 | Nat Ict Australia Ltd | Learning from distributed data |
USD795416S1 (en) | 2015-02-27 | 2017-08-22 | 3M Innovative Properties Company | Respirator mask |
CN104766167A (zh) | 2015-03-31 | 2015-07-08 | 浪潮集团有限公司 | 一种使用受限玻尔兹曼机的税务大数据分析方法 |
EP3304436A1 (en) | 2015-06-04 | 2018-04-11 | Microsoft Technology Licensing, LLC | Fast low-memory methods for bayesian inference, gibbs sampling and deep learning |
WO2016200486A1 (en) | 2015-06-11 | 2016-12-15 | Foster Kenneth L | Tip-proof feeding bowl for house pets |
US9801313B2 (en) | 2015-06-26 | 2017-10-24 | Microsoft Technology Licensing, Llc | Underwater container cooling via integrated heat exchanger |
CN108140146B (zh) | 2015-08-19 | 2022-04-08 | D-波系统公司 | 使用绝热量子计算机的离散变分自动编码器系统和方法 |
US11410067B2 (en) | 2015-08-19 | 2022-08-09 | D-Wave Systems Inc. | Systems and methods for machine learning using adiabatic quantum computers |
US10255628B2 (en) | 2015-11-06 | 2019-04-09 | Adobe Inc. | Item recommendations via deep collaborative filtering |
US10296846B2 (en) | 2015-11-24 | 2019-05-21 | Xerox Corporation | Adapted domain specific class means classifier |
US11288585B2 (en) | 2015-12-30 | 2022-03-29 | Google Llc | Quantum statistic machine |
WO2017122785A1 (en) | 2016-01-15 | 2017-07-20 | Preferred Networks, Inc. | Systems and methods for multimodal generative machine learning |
WO2017124299A1 (zh) | 2016-01-19 | 2017-07-27 | 深圳大学 | 基于序贯贝叶斯滤波的多目标跟踪方法及跟踪系统 |
US20180365594A1 (en) | 2016-01-29 | 2018-12-20 | William G. Macready | Systems and methods for generative learning |
US10817796B2 (en) | 2016-03-07 | 2020-10-27 | D-Wave Systems Inc. | Systems and methods for machine learning |
US10789540B2 (en) | 2016-04-18 | 2020-09-29 | D-Wave Systems Inc. | Systems and methods for embedding problems into an analog processor |
US10180688B2 (en) | 2016-06-13 | 2019-01-15 | International Business Machines Corporation | Optimization through use of conductive threads and biometric data |
WO2018005413A1 (en) | 2016-06-30 | 2018-01-04 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for cell annotation with adaptive incremental learning |
US20180025291A1 (en) | 2016-07-20 | 2018-01-25 | Carnegie Mellon University | Data Processing System for Generating Data Structures |
WO2018048689A1 (en) | 2016-09-08 | 2018-03-15 | Wal-Mart Stores, Inc. | Systems and methods for pollinating crops via unmanned vehicles |
CN106569601A (zh) | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于p300脑电的虚拟驾驶系统控制方法 |
US11157828B2 (en) | 2016-12-08 | 2021-10-26 | Microsoft Technology Licensing, Llc | Tomography and generative data modeling via quantum boltzmann training |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
-
2017
- 2017-09-25 KR KR1020197012141A patent/KR102593690B1/ko active IP Right Grant
- 2017-09-25 CN CN201780071934.6A patent/CN109983481B/zh active Active
- 2017-09-25 WO PCT/US2017/053303 patent/WO2018058061A1/en active Application Filing
- 2017-09-25 JP JP2019516164A patent/JP7134949B2/ja active Active
- 2017-09-25 EP EP17854088.6A patent/EP3516599A4/en not_active Withdrawn
- 2017-09-26 US US16/336,625 patent/US11481669B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160042294A1 (en) * | 2011-07-06 | 2016-02-11 | D-Wave Systems Inc. | Quantum processor based systems and methods that minimize an objective function |
WO2015193531A1 (en) * | 2014-06-16 | 2015-12-23 | Nokia Technologies Oy | Data processing |
Also Published As
Publication number | Publication date |
---|---|
EP3516599A1 (en) | 2019-07-31 |
JP2019533241A (ja) | 2019-11-14 |
CN109983481A (zh) | 2019-07-05 |
EP3516599A4 (en) | 2019-10-02 |
CN109983481B (zh) | 2023-08-15 |
WO2018058061A1 (en) | 2018-03-29 |
KR20190068559A (ko) | 2019-06-18 |
US11481669B2 (en) | 2022-10-25 |
JP7134949B2 (ja) | 2022-09-12 |
US20210289020A1 (en) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102593690B1 (ko) | 샘플링 서버로부터 샘플링하기 위한 시스템들, 방법들 및 장치 | |
US20210365826A1 (en) | Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers | |
US20220076131A1 (en) | Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers | |
CN108369668B (zh) | 用于创建和使用量子玻尔兹曼机的系统和方法 | |
WO2017031357A1 (en) | Systems and methods for machine learning using adiabatic quantum computers | |
JP2022522180A (ja) | 断熱発展経路の予測方法、装置、機器及びコンピュータプログラム | |
Porotti et al. | Gradient-ascent pulse engineering with feedback | |
US20210241143A1 (en) | Systems and methods for optimizing annealing parameters | |
CN117270520A (zh) | 一种巡检路线优化方法及装置 | |
CN113595798B (zh) | 改进闪电连接过程优化算法的网络流量预测方法及系统 | |
Lyu et al. | ONE-NAS: an online neuroevolution based neural architecture search for time series forecasting | |
Pang et al. | Autonomous control of a particle accelerator using deep reinforcement learning | |
Hordri et al. | A comparison study of biogeography based optimization for optimization problems | |
US20240028938A1 (en) | Systems and methods for improving efficiency of calibration of quantum devices | |
Zhang et al. | Predicting cutterhead torque for TBM based on different characteristics and AGA-optimized LSTM-MLP | |
Fan et al. | Finding spin glass ground states through deep reinforcement learning | |
CA3107997A1 (en) | Systems and methods for optimizing annealing parameters | |
Bachmann | Polarization studies in same-sign W-boson pair production at the LHC with the ATLAS detector | |
Zhou et al. | Neuroevolutionary diversity policy search for multi-objective reinforcement learning | |
Zhang et al. | Robot path planning based on shuffled frog leaping algorithm combined with genetic algorithm | |
US20240135218A1 (en) | Systems and methods for quantum annealing-assisted machine learning | |
US20240176842A1 (en) | Systems and methods for increasing diversity of samples | |
Smith | Surrogate models for aerodynamic performance prediction | |
He et al. | Gradient-based optimization for quantum architecture search | |
Artigues | Multi-Class and Cross-Tokamak Disruption Prediction using Shapelet-Based Neural Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |