KR102669448B1 - Method for mitigating an error of quantum circuit and apparatus thereof - Google Patents

Method for mitigating an error of quantum circuit and apparatus thereof Download PDF

Info

Publication number
KR102669448B1
KR102669448B1 KR1020210027981A KR20210027981A KR102669448B1 KR 102669448 B1 KR102669448 B1 KR 102669448B1 KR 1020210027981 A KR1020210027981 A KR 1020210027981A KR 20210027981 A KR20210027981 A KR 20210027981A KR 102669448 B1 KR102669448 B1 KR 102669448B1
Authority
KR
South Korea
Prior art keywords
quantum circuit
quantum
error correction
depth
error
Prior art date
Application number
KR1020210027981A
Other languages
Korean (ko)
Other versions
KR20220047128A (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 한국과학기술원
Priority to US17/493,091 priority Critical patent/US20220114047A1/en
Priority to EP21201624.0A priority patent/EP3982304A1/en
Publication of KR20220047128A publication Critical patent/KR20220047128A/en
Application granted granted Critical
Publication of KR102669448B1 publication Critical patent/KR102669448B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/70Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 양자 컴퓨터에서의 양자회로 에러 보정 방법에 관한 것으로, 상기 양자 컴퓨터를 구성하는 복수의 양자회로들 중 보정 대상의 양자회로를 검출하는 단계; 상기 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 호출하는 단계; 상기 호출된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하는 단계; 및 상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 단계를 포함한다.The present invention relates to a quantum circuit error correction method in a quantum computer, comprising: detecting a quantum circuit to be corrected among a plurality of quantum circuits constituting the quantum computer; calling a pre-trained deep learning model to correct errors in the plurality of quantum circuits; inferring an error correction value of the detected quantum circuit using the called deep learning model; and correcting the detected error of the quantum circuit based on the inferred error correction value.

Description

양자회로 에러 보정 방법 및 그 장치{METHOD FOR MITIGATING AN ERROR OF QUANTUM CIRCUIT AND APPARATUS THEREOF}Quantum circuit error correction method and device {METHOD FOR MITIGATING AN ERROR OF QUANTUM CIRCUIT AND APPARATUS THEREOF}

본 발명은 양자 컴퓨터 기술에 관한 것으로, 보다 구체적으로는, 양자 컴퓨터를 구성하는 양자회로들에 존재하는 에러를 보정(경감)할 수 있는 방법 및 그 장치에 관한 것이다.The present invention relates to quantum computer technology, and more specifically, to a method and device that can correct (reduce) errors existing in quantum circuits that make up a quantum computer.

양자 컴퓨터는 중첩(superposition), 얽힘(entanglement) 등 양자의 고유한 물리학적 특성을 이용하여, 다수의 정보를 동시 처리할 수 있는 새로운 개념의 컴퓨터이다. 현대 반도체 칩의 미세회로에서 발생하는 누설전류로 인한 고전 컴퓨터의 성능 한계를 돌파하기 위한 대안으로서 양자 컴퓨터의 필요성이 점차 커지고 있다. 양자 컴퓨터는 양자적 정보 단위인 양자비트 또는 큐비트(quantum bit, qubit)를 정보처리의 기본단위로 하는 양자병렬처리를 통해 정보처리 및 연산 속도가 지수 함수적으로 증가하여 빠른 속도로 문제를 해결할 수 있다. 이에 따라, 양자 컴퓨터는 최적경로탐색, 소인수분해, 대량 데이터 탐색 등 복잡한 계산과 대량 데이터 처리에 강점이 있어 금융, 화학, 제약 등 다양한 산업 분야에 거대한 혁신을 가져올 것으로 기대하고 있다.A quantum computer is a new concept of computer that can simultaneously process multiple pieces of information using the unique physical characteristics of quantum, such as superposition and entanglement. The need for quantum computers is growing as an alternative to overcome the performance limitations of classical computers due to leakage currents generated in the microcircuits of modern semiconductor chips. Quantum computers use quantum bits, or qubits, which are quantum information units, as the basic unit of information processing, and the speed of information processing and calculation increases exponentially, solving problems at high speed. You can. Accordingly, quantum computers are expected to bring about great innovation in various industries such as finance, chemistry, and pharmaceuticals, as they have strengths in complex calculations and mass data processing such as optimal path search, prime factorization, and mass data search.

양자 컴퓨터를 구성하는 주요 요소기술에는 큐비트(qubit) 구현 기술, 양자 알고리즘(quantum algorism) 기술, 양자오류정정부호(quantum error correction code, QECC) 기술 및 양자회로(quantum circuit) 기술 등이 있다. 이러한 요소기술 중 양자회로 기술에는 양자적 정보 단위인 큐비트(qubit)를 정보 처리하기 위한 양자 게이트(quantum gate)를 구현하는 기술과 양자회로에 존재하는 에러를 제거하는 기술이 있다. 상기 양자회로에 존재하는 에러를 제거하는 기술로는 대표적으로 양자회로 에러 정정(Quantum error correction, QEC) 기술이 있다.The major element technologies that make up a quantum computer include qubit implementation technology, quantum algorithm technology, quantum error correction code (QECC) technology, and quantum circuit technology. Among these element technologies, quantum circuit technology includes technology that implements a quantum gate for information processing of qubits, a unit of quantum information, and technology that eliminates errors existing in quantum circuits. A representative technology for removing errors existing in the quantum circuit is quantum circuit error correction (QEC) technology.

기본적으로 양자회로에 존재하는 에러는 해당 회로를 구성하는 양자 게이트들의 종류에 따른 에러와 양자 게이트들의 조합 순서에 따른 에러로 구성된다. 즉, 양자회로에 존재하는 에러는 양자 게이트들의 구성뿐만 아니라 양자 게이트들의 조합 순서에 따라 달라지게 된다. 따라서, 종래의 양자회로 에러 정정(QEC) 기술은 양자회로를 구성하는 양자 게이트들의 종류 및 순서를 모두 고려하여 해당 회로에 존재하는 에러를 정정하였다. 그런데, 이러한 양자회로 에러 정정(QEC) 기술은 별도의 양자회로가 필요할 뿐만 아니라, 에러 정정을 위한 연산 과정이 매우 복잡하여 양자회로에 존재하는 에러를 정정하는 데 상당한 시간과 에너지가 소비되는 문제가 있다.Basically, errors that exist in a quantum circuit consist of errors depending on the types of quantum gates that make up the circuit and errors depending on the order of combination of the quantum gates. In other words, the error that exists in a quantum circuit depends not only on the configuration of the quantum gates but also on the order of combination of the quantum gates. Therefore, the conventional quantum circuit error correction (QEC) technology corrects errors existing in the circuit by considering the types and orders of quantum gates that make up the quantum circuit. However, this quantum circuit error correction (QEC) technology not only requires a separate quantum circuit, but the computational process for error correction is very complicated, so a significant amount of time and energy is consumed to correct errors existing in the quantum circuit. there is.

본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 또 다른 목적은 미리 학습된 딥러닝 모델(Deep learning model)을 이용하여 양자회로에 존재하는 에러를 효과적으로 보정(경감)할 수 있는 양자회로 에러 보정 방법 및 그 장치를 제공함에 있다.The present invention aims to solve the above-mentioned problems and other problems. Another purpose is to provide a quantum circuit error correction method and device that can effectively correct (reduce) errors existing in a quantum circuit using a pre-trained deep learning model.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 양자 컴퓨터를 구성하는 복수의 양자회로들 중 보정 대상의 양자회로를 검출하는 단계; 상기 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 호출하는 단계; 상기 호출된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하는 단계; 및 상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 단계를 포함하는 양자 컴퓨터에서의 양자회로 에러 보정 방법을 제공한다.In order to achieve the above or other objects, according to one aspect of the present invention, the steps include: detecting a quantum circuit to be corrected among a plurality of quantum circuits constituting a quantum computer; calling a pre-trained deep learning model to correct errors in the plurality of quantum circuits; inferring an error correction value of the detected quantum circuit using the called deep learning model; and correcting an error in the detected quantum circuit based on the inferred error correction value.

본 발명의 다른 측면에 따르면, 양자 컴퓨터를 구성하는 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 저장하는 메모리; 및 상기 복수의 양자회로들 중 보정 대상의 양자회로를 검출하고, 상기 메모리에 저장된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하며, 상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 프로세서를 포함하는 양자회로 에러 보정 장치를 제공한다. According to another aspect of the present invention, a memory that stores a deep learning model learned in advance for error correction of a plurality of quantum circuits constituting a quantum computer; and detecting a quantum circuit to be corrected among the plurality of quantum circuits, inferring an error correction value of the detected quantum circuit using a deep learning model stored in the memory, and based on the inferred error correction value. Provided is a quantum circuit error correction device including a processor that corrects errors in the detected quantum circuit.

본 발명의 또 다른 측면에 따르면, 양자 컴퓨터를 구성하는 복수의 양자회로들 중 보정 대상의 양자회로를 검출하는 과정; 상기 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 호출하는 과정; 상기 호출된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하는 과정; 및 상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 과정이 컴퓨터 상에서 실행될 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다. According to another aspect of the present invention, a process of detecting a quantum circuit to be corrected among a plurality of quantum circuits constituting a quantum computer; A process of calling a pre-trained deep learning model to correct errors in the plurality of quantum circuits; A process of inferring an error correction value of the detected quantum circuit using the called deep learning model; and a computer program stored in a computer-readable recording medium so that a process of correcting the detected error of the quantum circuit based on the inferred error correction value can be executed on a computer.

본 발명의 실시 예들에 따른 양자회로 에러 보정 방법 및 그 장치의 효과에 대해 설명하면 다음과 같다.The effects of the quantum circuit error correction method and device according to embodiments of the present invention will be described as follows.

본 발명의 실시 예들 중 적어도 하나에 의하면, 미리 학습된 딥러닝 모델을 이용하여 양자회로에 존재하는 에러를 간편하게 보정함으로써, 양자회로 에러를 보정하기 위한 양자 게이트들을 별도로 추가할 필요가 없을 뿐만 아니라, 양자회로 에러 보정을 위한 연산 과정이 간단하여 양자회로에 존재하는 에러를 정정하는 데 소요되는 시간과 에너지를 절약할 있다는 장점이 있다.According to at least one of the embodiments of the present invention, errors existing in a quantum circuit are easily corrected using a pre-trained deep learning model, so not only is there no need to separately add quantum gates to correct quantum circuit errors, The computational process for quantum circuit error correction is simple, which has the advantage of saving the time and energy required to correct errors existing in the quantum circuit.

다만, 본 발명의 실시 예들에 따른 양자회로 에러 보정 방법 및 그 장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be achieved by the quantum circuit error correction method and device according to the embodiments of the present invention are not limited to those mentioned above, and other effects not mentioned can be found in the technology to which the present invention belongs from the description below. It will be clearly understandable to those with ordinary knowledge in the field.

도 1a는 본 발명과 관련된 심층 신경망(DNN)의 기본적인 구조를 나타내는 도면;
도 1b는 본 발명과 관련된 심층 신경망(DNN)의 학습 과정을 설명하기 위해 참조되는 도면;
도 2a는 본 발명과 관련된 합성곱 신경망(CNN)의 기본적인 구조를 나타내는 도면;
도 2b는 본 발명과 관련된 합성곱 신경망(CNN)의 학습 과정을 설명하기 위해 참조되는 도면;
도 3은 본 발명과 관련된 양자 게이트들의 종류를 예시하는 도면;
도 4는 도 3의 양자 게이트들을 이용하여 구성된 양자회로의 일 예를 나타내는 도면;
도 5는 본 발명과 관련된 양자회로의 구조를 개략적으로 나타내는 도면;
도 6은 본 발명의 일 실시 예에 따른 양자회로 에러 보정 방법을 설명하는 순서도;
도 7은 본 발명의 일 실시 예에 따른 DNN 모델의 구조를 나타내는 도면;
도 8은 본 발명의 다른 실시 예에 따른 DNN 모델의 구조를 나타내는 도면;
도 9는 DNN 모델의 입력층에 입력되는 데이터를 설명하기 위해 참조되는 도면;
도 10은 학습 대상 양자회로의 선정과, 상기 선정된 학습 대상 양자회로를 기반으로 DNN 모델을 학습하는 과정을 설명하기 위해 참조되는 도면;
도 11은 보정 대상 양자회로의 종류와, 미리 학습된 DNN 모델을 이용하여 상기 보정 대상 양자회로의 에러를 보정하는 과정을 설명하기 위해 참조되는 도면;
도 12a 및 도 12b는 본 발명의 일 실시 예에 따른 H-CNN 모델의 구조와, 해당 모델의 입력층 및 출력층에 입력되는 학습 데이터를 설명하기 위해 참조되는 도면;
도 13은 학습 대상 양자회로의 선정과, 상기 선정된 학습 대상 양자회로를 기반으로 H-CNN 모델을 학습하는 과정을 설명하기 위해 참조되는 도면;
도 14는 보정 대상 양자회로의 종류와, 미리 학습된 H-CNN 모델을 이용하여 상기 보정 대상 양자회로의 에러를 보정하는 과정을 설명하기 위해 참조되는 도면;
도 15는 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 구성 블록도.
1A is a diagram showing the basic structure of a deep neural network (DNN) related to the present invention;
1B is a diagram referenced to explain the learning process of a deep neural network (DNN) related to the present invention;
2A is a diagram showing the basic structure of a convolutional neural network (CNN) related to the present invention;
Figure 2b is a diagram referenced to explain the learning process of a convolutional neural network (CNN) related to the present invention;
Figure 3 is a diagram illustrating types of quantum gates relevant to the present invention;
FIG. 4 is a diagram showing an example of a quantum circuit constructed using the quantum gates of FIG. 3;
Figure 5 is a diagram schematically showing the structure of a quantum circuit related to the present invention;
Figure 6 is a flow chart illustrating a quantum circuit error correction method according to an embodiment of the present invention;
Figure 7 is a diagram showing the structure of a DNN model according to an embodiment of the present invention;
Figure 8 is a diagram showing the structure of a DNN model according to another embodiment of the present invention;
Figure 9 is a diagram referenced to explain data input to the input layer of the DNN model;
Figure 10 is a diagram referenced to explain the process of selecting a learning target quantum circuit and learning a DNN model based on the selected learning target quantum circuit;
FIG. 11 is a diagram referenced to explain the types of quantum circuits to be corrected and the process of correcting errors in the quantum circuits to be corrected using a previously learned DNN model;
12A and 12B are diagrams referenced to explain the structure of an H-CNN model and learning data input to the input layer and output layer of the model according to an embodiment of the present invention;
Figure 13 is a diagram referenced to explain the process of selecting a learning target quantum circuit and learning an H-CNN model based on the selected learning target quantum circuit;
FIG. 14 is a diagram referenced to explain the type of quantum circuit to be corrected and the process of correcting errors in the quantum circuit to be corrected using a pre-learned H-CNN model;
15 is a block diagram of a computing device according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.Hereinafter, embodiments disclosed in the present specification will be described in detail with reference to the attached drawings. However, identical or similar components will be assigned the same reference numbers regardless of reference numerals, and duplicate descriptions thereof will be omitted. The suffixes “module” and “part” for components used in the following description are given or used interchangeably only for the ease of preparing the specification, and do not have distinct meanings or roles in themselves. That is, the term 'unit' used in the present invention refers to a hardware component such as software, FPGA, or ASIC, and the 'unit' performs certain roles. However, 'wealth' is not limited to software or hardware. The 'part' may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Therefore, as an example, 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'.

또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Additionally, in describing the embodiments disclosed in this specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed descriptions will be omitted. In addition, the attached drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the attached drawings, and all changes included in the spirit and technical scope of the present invention are not limited. , should be understood to include equivalents or substitutes.

본 발명은 미리 학습된 딥러닝 모델을 이용하여 양자회로에 존재하는 에러를 효과적으로 보정(또는 경감)할 수 있는 양자회로 에러 보정 방법 및 그 장치를 제안한다. 상기 딥러닝 모델로는 심층 신경망(Deep neural network, DNN) 또는 하이브리드 합성곱 신경망(Hybrid Convolutional Neural Network, H-CNN)이 사용될 수 있으며 반드시 이에 제한되지는 않는다.The present invention proposes a quantum circuit error correction method and device that can effectively correct (or reduce) errors existing in a quantum circuit using a pre-trained deep learning model. The deep learning model may be a deep neural network (DNN) or a hybrid convolutional neural network (H-CNN), but is not necessarily limited thereto.

이하에서는, 본 발명의 다양한 실시 예들에 대하여, 도면을 참조하여 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the drawings.

도 1a는 본 발명과 관련된 심층 신경망(DNN)의 기본적인 구조를 나타내는 도면이고, 도 1b는 도 1a에 도시된 심층 신경망(DNN)의 학습 과정을 설명하기 위해 참조되는 도면이다.FIG. 1A is a diagram showing the basic structure of a deep neural network (DNN) related to the present invention, and FIG. 1B is a diagram referenced to explain the learning process of the deep neural network (DNN) shown in FIG. 1A.

도 1a 및 도 1b를 참조하면, 본 발명과 관련된 다층 퍼셉트론(Multi-Layer Perceptron, MLP, 100)은, 심층 신경망(DNN)의 가장 기본적인 구조로서, 입력층(input layer, 110), 은닉층(hidden layer, 120) 및 출력층(output layer, 130)으로 구성된다.Referring to FIGS. 1A and 1B, the multi-layer perceptron (MLP, 100) related to the present invention is the most basic structure of a deep neural network (DNN), and includes an input layer (110) and a hidden layer (hidden layer). It consists of a layer 120) and an output layer 130.

다층 퍼셉트론(100)은 단일 퍼셉트론의 한계를 극복하기 위해 제안된 인공 신경망 구조이다. 즉, 다층 퍼셉트론(100)은 XOR 게이트(exclusive-OR gate)와 같이 비선형적으로 분리되는 데이터에 대해서도 학습이 가능하도록 제안된 인공 신경망 구조이다. 이를 위해, 다층 퍼셉트론(100)은, 단일 퍼셉트론과 달리, 하나 이상의 은닉층(120)을 더 포함하는 구조를 갖는다.The multilayer perceptron 100 is an artificial neural network structure proposed to overcome the limitations of a single perceptron. In other words, the multi-layer perceptron 100 is an artificial neural network structure proposed to enable learning even on non-linearly separated data, such as an XOR gate (exclusive-OR gate). To this end, the multi-layer perceptron 100, unlike the single perceptron, has a structure that further includes one or more hidden layers 120.

다층 퍼셉트론(100)의 입력층(110)은 학습 데이터에 해당하는 입력 벡터가 위치하는 층을 의미하고, 출력층(130)은 학습 모델의 최종 결과값이 위치하는 층을 의미한다. 그리고, 은닉층(120)은 입력층(110)과 출력층(130) 사이에 존재하는 모든 층을 의미한다. 은닉층(120)의 개수가 많아질수록 인공 신경망이 ‘깊어졌다(deep)’라고 부르며, 이렇게 충분히 깊어진 인공 신경망을 심층 신경망(DNN)이라 지칭한다.The input layer 110 of the multi-layer perceptron 100 refers to the layer where the input vector corresponding to the learning data is located, and the output layer 130 refers to the layer where the final result of the learning model is located. And, the hidden layer 120 refers to all layers existing between the input layer 110 and the output layer 130. As the number of hidden layers 120 increases, the artificial neural network is called ‘deeper’, and a sufficiently deep artificial neural network is called a deep neural network (DNN).

이러한 다층 퍼셉트론 구조에서, 입력층(110)에 존재하는 노드들은 매개 변수(parameter)와 활성 함수(activation function)를 사용하지 않은 반면, 은닉층(120) 및 출력층(130)에 존재하는 노드들은 매개 변수와 활성 함수를 사용한다. 여기서, 상기 매개 변수는 학습 과정을 통해 자동으로 가변되는 값으로서 가중치(weight)와 편향(bias)을 포함할 수 있다. 가중치는 입력 신호가 결과 출력에 주는 영향도를 조절하는 매개 변수고, 편향은 노드(또는 뉴런)가 얼마나 쉽게 활성화(activation)되느냐를 조정하는 매개 변수다. 활성 함수는 어떠한 신호를 입력 받아 이를 적절히 처리하여 출력해주는 함수를 의미한다. 상기 활성 함수로는 시그모이드(sigmoid) 함수, ReLU(Rectified Linear Unit) 함수, 소프트맥스(softmax) 함수, 항등(identity) 함수 등이 사용될 수 있으며 반드시 이에 제한되지는 않는다.In this multi-layer perceptron structure, the nodes existing in the input layer 110 do not use parameters and activation functions, while the nodes existing in the hidden layer 120 and the output layer 130 use parameters. and use the activation function. Here, the parameter is a value that changes automatically through a learning process and may include weight and bias. Weight is a parameter that controls the degree of influence that an input signal has on the resulting output, and bias is a parameter that controls how easily a node (or neuron) is activated. An activation function refers to a function that receives a signal as input, processes it appropriately, and outputs it. As the activation function, a sigmoid function, a Rectified Linear Unit (ReLU) function, a softmax function, an identity function, etc. may be used, but are not necessarily limited thereto.

다층 퍼셉트론(100)은 각 층의 노드들(즉, 뉴런들, nodes) 간에 2차원적으로 연결되는 완전 연결 구조(fully-connected structure)를 갖는다. 이때, 상기 완전 연결 구조는 서로 같은 층에 위치한 노드들 간에는 연결 관계가 존재하지 않으며, 바로 인접한 층에 위치한 노드들 간에만 연결 관계가 존재하는 구조이다.The multi-layer perceptron 100 has a fully-connected structure in which nodes (i.e., neurons, nodes) of each layer are connected two-dimensionally. At this time, the fully connected structure is a structure in which a connection relationship does not exist between nodes located on the same layer, and a connection relationship exists only between nodes located on an immediately adjacent layer.

이와 같은 다층 퍼셉트론(100)의 학습 동작을 간단히 설명하면 다음과 같다. 먼저, 각 층에서의 매개 변수인 가중치(weight)와 편향(bias)의 초기값을 설정한다. 이후, 하나의 학습(훈련) 데이터에 대해 각 층에서의 순입력 함수값을 계산하고 최종적으로 활성 함수(activation function)에 의한 출력값(즉, 결과값)을 계산한다. 여기서, 상기 순입력 함수값은 각 노드의 활성 함수에 입력되는 값을 의미한다. 그 다음, 출력층의 활성 함수에 의한 출력값과 실제값 간의 차이가 허용 오차 이내가 되도록 각 층에서의 가중치 및 편향을 업데이트한다. 마지막으로, 모든 학습 데이터에 대해서 출력층의 활성 함수에 의한 출력값과 실제값 간의 차이가 허용 오차 이내가 되면 학습을 종료한다.The learning operation of this multi-layer perceptron 100 is briefly explained as follows. First, set the initial values of the weight and bias parameters in each layer. Afterwards, the net input function value in each layer is calculated for one learning (training) data, and finally the output value (i.e., result value) by the activation function is calculated. Here, the net input function value refers to the value input to the activation function of each node. Next, the weights and biases in each layer are updated so that the difference between the output value by the activation function of the output layer and the actual value is within the tolerance. Finally, for all learning data, learning is terminated when the difference between the output value by the activation function of the output layer and the actual value is within the tolerance.

가령, 도 1b에 도시된 바와 같이, 다층 퍼셉트론(100)의 학습 과정은 순전파(feedforward, FF)와 역전파(backpropagation, BP)의 반복 과정으로 정의될 수 있다. 이러한 반복 과정은 출력층(130)에서 계산한 결과값과 실제값 사이의 차이(즉, 오차, error)가 0에 가까워질 때까지 계속될 수 있다.For example, as shown in FIG. 1B, the learning process of the multi-layer perceptron 100 can be defined as an iterative process of feedforward (FF) and backpropagation (BP). This repetitive process may continue until the difference (i.e., error) between the result calculated by the output layer 130 and the actual value approaches 0.

순전파(FF) 과정은 입력층(110)에서 출력층(130) 방향으로 이동하면서 각 입력에 해당하는 가중치(w)가 곱해지고, 결과적으로 가중치 합으로 계산되어 각 층의 활성 함수로 입력되며, 최종적으로 출력층(130)의 활성 함수에서 결과값이 출력되는 일련의 학습 과정을 일컫는다.In the forward propagation (FF) process, the weight (w) corresponding to each input is multiplied while moving from the input layer 110 to the output layer 130, and as a result, the weight sum is calculated and input into the activation function of each layer, It refers to a series of learning processes in which results are finally output from the activation function of the output layer 130.

역전파(BP) 과정은 출력층(130)에서 입력층(110) 방향으로 이동하면서 순전파 과정에서 발생한 오차를 줄이기 위해 각 층의 가중치 및 편향을 업데이트하는 일련의 학습 과정을 일컫는다. 상기 역전파(BP) 과정에서 가중치를 결정하는 방법으로는 경사 하강법(Gradient Descent)이 사용될 수 있으며 반드시 이에 제한되지는 않는다. The back propagation (BP) process refers to a series of learning processes that update the weights and biases of each layer to reduce errors generated during the forward propagation process while moving from the output layer 130 to the input layer 110. Gradient descent may be used as a method for determining weights in the back propagation (BP) process, but is not necessarily limited thereto.

경사 하강법은 손실 함수(loss function)의 최저 지점을 찾아가는 최적화 기법으로서, 상기 손실 함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 최저 지점에 이를 때까지 계속 반복하는 기법이다. 여기서, 상기 손실 함수는 출력층(130)에서 계산한 결과값과 실제값 간의 차이(즉, 오차)를 정의한 함수이다. 상기 손실 함수로는 평균 제곱 오차(Mean Squared Error, MSE) 또는 교차 엔트로피 오차(Cross Entropy Error, CEE)가 사용될 수 있으며 반드시 이에 제한되지는 않는다.Gradient descent is an optimization technique that finds the lowest point of a loss function. It is a technique that finds the slope of the loss function, moves it to a lower slope, and repeats the process until it reaches the lowest point. Here, the loss function is a function that defines the difference (i.e., error) between the result calculated by the output layer 130 and the actual value. The loss function may be Mean Squared Error (MSE) or Cross Entropy Error (CEE), but is not necessarily limited thereto.

도 2a는 본 발명과 관련된 합성곱 신경망(CNN)의 기본적인 구조를 나타내는 도면이고, 도 2b는 도 2a에 도시된 합성곱 신경망의 학습 과정을 설명하기 위해 참조되는 도면이다.FIG. 2A is a diagram showing the basic structure of a convolutional neural network (CNN) related to the present invention, and FIG. 2B is a diagram referenced to explain the learning process of the convolutional neural network shown in FIG. 2A.

도 2a 및 도 2b를 참조하면, 본 발명과 관련된 합성곱 신경망(Convolutional Neural Network, CNN, 200)은 입력층(input layer, 210), 하나 이상의 컨벌루션층(convolution layer, 220), 하나 이상의 풀링층(pooling layer, 230), 완전 연결층(Fully connected layer, 240) 및 출력층(output layer, 250)을 포함한다. 여기서, 상기 풀링층(230)은 컨볼루션층(220)에 포함될 수 있다.Referring to FIGS. 2A and 2B, a convolutional neural network (CNN) 200 related to the present invention includes an input layer (210), one or more convolution layers (220), and one or more pooling layers. (pooling layer, 230), fully connected layer (240), and output layer (output layer, 250). Here, the pooling layer 230 may be included in the convolution layer 220.

합성곱 신경망(200)은 입력 데이터의 특징(feature)을 추출하는 부분과 입력 데이터의 클래스(class)를 분류하는 부분으로 구성된다. 여기서, 특징 추출 부분은 입력층(210), 컨벌루션층(220) 및 폴링층(230)으로 이루어지며, 클래스 분류 부분은 완전 연결층(240) 및 출력층(250)으로 이루어진다.The convolutional neural network 200 consists of a part that extracts features of input data and a part that classifies classes of input data. Here, the feature extraction part consists of an input layer 210, a convolutional layer 220, and a polling layer 230, and the class classification part consists of a fully connected layer 240 and an output layer 250.

입력층(210)은 학습 데이터, 즉 훈련 데이터(training data) 및 시험 데이터(test data)가 입력되는 층을 의미한다. 통상, 합성곱 신경망(CNN)에 사용되는 학습 데이터는 영상 데이터(image data) 또는 행렬(matrix) 등과 같은 다차원 데이터일 수 있다.The input layer 210 refers to a layer into which learning data, that is, training data and test data, are input. Typically, learning data used in a convolutional neural network (CNN) may be multidimensional data such as image data or a matrix.

컨볼루션층(220)은 입력 데이터와 가중치들의 집합체인 필터(filter) 간의 컨볼루션 연산을 통해 입력 데이터의 특징을 추출하는 역할을 수행한다. 상기 컨볼루션층(220)은 입력 데이터의 특징을 추출하는 필터와, 상기 입력 데이터와 필터 간의 컨볼루션 연산 값을 비선형 값으로 변환하는 활성 함수로 이루어진다. 상기 활성 함수로는 ReLU(Rectified Linear Unit) 함수가 사용될 수 있으며 반드시 이에 제한되지는 않는다.The convolution layer 220 serves to extract features of the input data through a convolution operation between the input data and a filter, which is a collection of weights. The convolution layer 220 consists of a filter that extracts features of input data and an activation function that converts a convolution operation value between the input data and the filter into a non-linear value. The activation function may be a ReLU (Rectified Linear Unit) function, but is not necessarily limited thereto.

컨볼루션층(220)은 입력 데이터와 다양한 필터 간의 컨볼루션 연산을 통해 복수의 특징 맵들(feature maps)을 출력할 수 있다. 이후, 컨볼루션층(220)은 복수의 특징 맵들에 대해 활성 함수를 적용하여 복수의 활성 맵들(activation maps)을 출력할 수 있다.The convolution layer 220 may output a plurality of feature maps through a convolution operation between input data and various filters. Thereafter, the convolution layer 220 may apply an activation function to a plurality of feature maps and output a plurality of activation maps.

풀링층(또는 서브 샘플링층, 230)은 컨볼루션층(220)의 출력 데이터를 입력으로 받아서 출력 데이터(즉, 활성 맵)의 크기를 줄이거나 특정 데이터를 강조하는 역할을 수행한다. 상기 풀링층(230)의 풀링 방식으로는 Max Pooling 방식, Average Pooling 방식 및 Min Pooling 방식이 있으며, 그 중에서 Max Pooling 방식이 가장 많이 사용된다.The pooling layer (or sub-sampling layer, 230) receives the output data of the convolution layer 220 as input and plays the role of reducing the size of the output data (i.e., activation map) or emphasizing specific data. Pooling methods of the pooling layer 230 include Max Pooling, Average Pooling, and Min Pooling, and among them, Max Pooling is the most widely used.

완전 연결층(240)은 합성곱 신경망(CNN, 200)의 데이터 타입을 Fully Connected Neural Network 형태로 변경하는 역할을 수행한다. 즉, 완전 연결층(240)은 풀링층(230)의 3차원 출력 값을 1차원 벡터로 평탄화(flattening)하여 일반 신경망 연결처럼 출력층(250)의 모든 노드와 연결시켜주는 역할을 수행한다.The fully connected layer 240 plays the role of changing the data type of the convolutional neural network (CNN, 200) into a fully connected neural network. In other words, the fully connected layer 240 flattens the three-dimensional output value of the pooling layer 230 into a one-dimensional vector and connects it to all nodes of the output layer 250 like a general neural network connection.

출력층(250)은 입력 데이터의 클래스를 분류한 결과 값을 출력하는 역할을 수행한다. 상기 출력층(250)은 완전 연결층(240)으로부터 입력 받은 값을 0 내지 1 사이의 값으로 정규화하며, 출력 값들의 총합이 항상 1이 되도록 하는 역할을 수행할 수 있다. 이를 위해, 상기 출력층(250)은 소프트맥스(softmax)와 같은 활성 함수를 포함할 수 있다.The output layer 250 performs the role of classifying the classes of input data and outputting a result value. The output layer 250 normalizes the value received from the fully connected layer 240 to a value between 0 and 1, and may play the role of ensuring that the total of the output values is always 1. To this end, the output layer 250 may include an activation function such as softmax.

이와 같은 구조를 갖는 합성곱 신경망(200)의 학습 동작을 간단히 설명하면 다음과 같다. 먼저, 각 층에서의 매개 변수인 가중치(Weight, W)와 편향(Bias, B)의 초기값을 설정한다. 이후, 하나의 학습(훈련) 데이터에 대해 각 층에서의 순입력 함수값을 계산하고 최종적으로 활성 함수에 의한 출력값(즉, 결과값)을 계산한다. 여기서, 상기 순입력 함수값은 각 층의 활성 함수에 입력되는 값을 의미한다. 그 다음, 출력층의 활성 함수에 의한 출력값과 실제값의 차이가 허용 오차 범위 이내가 되도록 각 층에서의 가중치 및 편향을 업데이트한다. 마지막으로, 모든 학습 데이터에 대해서 출력층의 활성 함수에 의한 출력값과 실제값의 차이가 허용 오차 범위 이내가 되면 학습을 종료한다.The learning operation of the convolutional neural network 200 having this structure is briefly explained as follows. First, set the initial values of the parameters Weight (W) and Bias (B) in each layer. Afterwards, the net input function value in each layer is calculated for one learning (training) data, and finally the output value (i.e., result value) by the activation function is calculated. Here, the net input function value refers to the value input to the activation function of each layer. Next, the weights and biases in each layer are updated so that the difference between the output value by the activation function of the output layer and the actual value is within the tolerance range. Finally, for all learning data, learning is terminated when the difference between the output value by the activation function of the output layer and the actual value is within the tolerance range.

즉, 도 2b에 도시된 바와 같이, 합성곱 신경망(200)의 학습 과정은 순전파(feedforward, FF)와 역전파(backpropagation, BP)의 반복 과정으로 정의될 수 있다. 이러한 반복 과정은 출력층(250)에서의 오차가 0에 가까워질 때까지 계속될 수 있다.That is, as shown in FIG. 2B, the learning process of the convolutional neural network 200 can be defined as a repetitive process of feedforward (FF) and backpropagation (BP). This repetitive process may continue until the error in the output layer 250 approaches 0.

도 3은 본 발명과 관련된 양자 게이트들의 종류를 예시하는 도면이고, 도 4는 도 3의 양자 게이트들을 이용하여 구성된 양자회로의 일 예를 나타내는 도면이다.FIG. 3 is a diagram illustrating types of quantum gates related to the present invention, and FIG. 4 is a diagram illustrating an example of a quantum circuit constructed using the quantum gates of FIG. 3.

도 3 및 도 4를 참조하면, 양자 컴퓨터를 구성하는 양자회로(quantum circuit)는 여러 개의 양자 게이트(quantum gate)로 이루어진다. 양자 컴퓨터의 큐비트는 기존 컴퓨터의 비트와는 다르게 0과 1이 동시에 될 수 있는 상태를 가질 수 있지만, 양자 컴퓨터 또한 연산 등을 위해 사용되어야 하는 만큼 연산 도중에는 특정 상태를 갖추어야 한다. 이를 위해 양자 컴퓨터에는 양자 게이트가 반드시 필요하다.Referring to Figures 3 and 4, the quantum circuit that makes up the quantum computer consists of several quantum gates. Unlike bits in conventional computers, qubits in quantum computers can have states that can be 0 and 1 at the same time, but as quantum computers must also be used for calculations, they must be in a specific state during calculations. For this, quantum computers require quantum gates.

양자 게이트는 기본적으로 복소수 벡터들에 대한 행렬 곱셈을 통해 연산이 이루어진다. 이는 양자 컴퓨터의 양자적 정보 단위인 큐비트가 2차원 벡터로 표현되기 때문이다.Quantum gates are basically operated through matrix multiplication of complex vectors. This is because qubits, the quantum information unit of a quantum computer, are expressed as two-dimensional vectors.

이러한 양자 게이트의 종류로는 NOT 게이트, Hadamard 게이트, Pauli XYZ 게이트, Phaseshift 게이트(S 게이트, T 게이트), CNOT 게이트, CZ 게이트 및 SWAP 게이트 등이 있다. Types of these quantum gates include NOT gate, Hadamard gate, Pauli XYZ gate, Phaseshift gate (S gate, T gate), CNOT gate, CZ gate, and SWAP gate.

NOT 게이트는 기존 컴퓨터의 논리 게이트 중 NOT 게이트와 동일한 게이트로서, 큐비트의 상태를 0이었으면 1로, 1이었으면 0으로 변경하는 게이트이다.The NOT gate is the same gate as the NOT gate among the logic gates of existing computers. It is a gate that changes the state of a qubit to 1 if it is 0 and to 0 if it is 1.

Hadamard 게이트는 0이나 1의 상태를 띄고 있는 큐비트를 중첩 상태로(0과 1이 동시에 존재) 만들어주는 게이트이다. Hadamard 게이트를 행렬로 표현하면 도면의 행렬식과 같이 표현된다.The Hadamard gate is a gate that puts qubits in the 0 or 1 state into a superposed state (0 and 1 exist at the same time). If the Hadamard gate is expressed as a matrix, it is expressed as the determinant in the drawing.

Pauli 게이트는 총 X, Y, Z로 3가지 종류가 있다. 이는 각각 큐비트를 X, Y, Z 축을 중심으로 회전을 시킨다는 의미이다. 각각 게이트를 행렬로 표현하면 도면의 행렬식과 같이 표현된다. There are three types of Pauli gates: X, Y, and Z. This means that each qubit is rotated around the X, Y, and Z axes. If each gate is expressed as a matrix, it is expressed as the determinant in the drawing.

Phaseshift 게이트는 큐비트의 위상을 변경해주는 게이트이다. 상기 Phaseshift 게이트의 종류로는 S 게이트 및 T 게이트 등이 있으며, 각각에 대한 형렬식은 도면과 같다. Phaseshift gate is a gate that changes the phase of a qubit. Types of the phaseshift gate include S gate and T gate, and the format for each is as shown in the drawing.

CNOT 게이트 및 CZ 게이트는 양자 컴퓨터에서 한 큐비트가 다른 큐비트에 영향을 끼치는 얽힘 상태를 볼 수 있는 게이트이다. CNOT 게이트는 첫 번째 큐비트가 1인 경우, 두 번째 큐비트에 NOT 게이트 연산을 수행하는 게이트이고, CZ 게이트는 첫 번째 큐비트가 1인 경우, 두 번째 큐비트에 Pauli-Z 게이트 연산을 수행하는 게이트이다.CNOT gate and CZ gate are gates in quantum computers that allow you to see the entanglement state in which one qubit affects another qubit. The CNOT gate is a gate that performs the NOT gate operation on the second qubit when the first qubit is 1, and the CZ gate performs the Pauli-Z gate operation on the second qubit when the first qubit is 1. It is a gate that does.

SWAP 게이트는 양자 컴퓨터에서 두 큐비트가 있을 때, 각각의 상태를 서로 바꾸는 게이트이다. SWAP 게이트를 행렬로 표현하면 도면의 행렬식과 같이 표현된다.A SWAP gate is a gate that switches the states of two qubits in a quantum computer. If the SWAP gate is expressed as a matrix, it is expressed as the determinant in the drawing.

이와 같은 복수의 양자 게이트들을 조합하여 다양한 양자회로를 구성할 수 있다. 일 예로, 도 4에 도시된 바와 같이, 제1 Hadamard 게이트(310), CNOT 게이트(330) 및 제3 Hadamard 게이트(320)를 순차적으로 연결하여 양자회로(300)를 구성할 수 있다.By combining a plurality of such quantum gates, various quantum circuits can be formed. For example, as shown in FIG. 4, the quantum circuit 300 can be formed by sequentially connecting the first Hadamard gate 310, the CNOT gate 330, and the third Hadamard gate 320.

도 5는 본 발명과 관련된 양자회로의 구조를 개략적으로 나타내는 도면이다. 도 5에 도시된 바와 같이, 본 발명과 관련된 양자회로(400, 500)는 하나 이상의 양자 게이트들에 각각 대응하는 유니터리들(U1~Uj)의 조합으로 구성될 수 있다. 여기서, 이상적인 양자 게이트(즉, 에러가 존재하지 않는 양자 게이트)는 U로 표현될 수 있고, 실질적인 양자 게이트(즉, 에러가 존재하는 양자 게이트)는 로 표현될 수 있다.Figure 5 is a diagram schematically showing the structure of a quantum circuit related to the present invention. As shown in FIG. 5, the quantum circuits 400 and 500 related to the present invention may be composed of a combination of unitaries U 1 to U j respectively corresponding to one or more quantum gates. Here, an ideal quantum gate (i.e., a quantum gate without errors) can be expressed as U, and a practical quantum gate (i.e., a quantum gate with errors) can be expressed as U. It can be expressed as

양자회로(400, 500)의 입력 상태(input state)는 밀도 행렬(density matrix) 로 정의될 수 있고, 출력 상태(output state)는 j로 정의될 수 있으며, 해당 양자회로(400, 500)의 입력과 출력 사이는 양자 게이트들에 대응하는 유니터리들(unitary)의 조합으로 정의될 수 있다.The input state of the quantum circuits 400 and 500 is a density matrix. It can be defined as , the output state can be defined as j, and the space between the input and output of the corresponding quantum circuits (400, 500) is defined as a combination of unitaries corresponding to quantum gates. It can be.

이상적인 양자회로(400)의 출력을 측정한 결과 값을 나타내는 출력 결과 확률(measurement outcome probability without error, )은 아래 수학식 1과 같이 정의될 수 있다.Measurement outcome probability without error, which represents the result of measuring the output of the ideal quantum circuit 400. ) can be defined as Equation 1 below.

여기서, 는 양자회로의 입력 상태, U는 이상적인 유니터리 변환, 는 measurement operator임. here, is the input state of the quantum circuit, U is the ideal unitary transform, is a measurement operator.

한편, 실질적인 양자회로(500)의 출력을 측정한 결과 값을 나타내는 출력 결과 확률(measurement outcome probability with error, )은 아래 수학식 2와 같이 정의될 수 있다.Meanwhile, the output outcome probability with error (measurement outcome probability with error) represents the result value of measuring the output of the actual quantum circuit 500. ) can be defined as Equation 2 below.

여기서, 는 양자회로의 입력 상태, 는 실질적인 양자 프로세스, 는 measurement operator임. here, is the input state of the quantum circuit, is a practical quantum process, is a measurement operator.

실질적인 양자회로(500)에 존재하는 에러는 실질적인 양자회로(500)의 제1 측정 결과 확률()과 이상적인 양자회로(400)의 제2 측정 결과 확률()을 기반으로 정량화될 수 있다. 즉, 양자회로의 에러 값()은 아래 수학식 3과 같이 계산될 수 있다. The error existing in the practical quantum circuit 500 is the probability of the first measurement result of the practical quantum circuit 500 ( ) and the second measurement result probability of the ideal quantum circuit 400 ( ) can be quantified based on In other words, the error value of the quantum circuit ( ) can be calculated as in Equation 3 below.

이처럼, 각각의 양자 게이트에는 고유의 에러가 존재하기 때문에, 복수의 양자 게이트들로 구성된 양자회로에는 각 양자 게이트의 에러가 누적된 에러가 존재한다. 그리고, 양자회로에 존재하는 에러는 양자 게이트들의 구성뿐만 아니라 양자 게이트들의 조합 순서에 따라 달라지게 된다. 따라서, 양자 게이트들의 구성 및 조합 순서를 고려하여 양자회로에 존재하는 에러를 보정할 필요가 있다. 이하, 본 명세서에서는, 미리 학습된 딥러닝 모델을 이용하여 양자회로에 존재하는 에러를 효과적으로 보정할 수 있는 방안에 대해 상세히 설명하도록 한다.As such, since each quantum gate has its own error, an error that is the accumulation of the errors of each quantum gate exists in a quantum circuit composed of a plurality of quantum gates. Additionally, the error that exists in a quantum circuit depends not only on the configuration of the quantum gates but also on the order of combination of the quantum gates. Therefore, it is necessary to correct errors existing in the quantum circuit by considering the configuration and combination order of the quantum gates. Hereinafter, in this specification, a method for effectively correcting errors existing in a quantum circuit using a pre-trained deep learning model will be described in detail.

도 6은 본 발명의 일 실시 예에 따른 양자회로 에러 보정 방법을 설명하는 순서도이다.Figure 6 is a flowchart explaining a quantum circuit error correction method according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시 예에 따른 양자회로 에러 보정 장치는 양자 컴퓨터 내부에 설치되어, 해당 양자 컴퓨터를 구성하는 양자회로들의 에러를 보정하는 동작을 수행할 수 있다.Referring to FIG. 6, a quantum circuit error correction device according to an embodiment of the present invention is installed inside a quantum computer and can perform an operation to correct errors in quantum circuits constituting the quantum computer.

좀 더 구체적으로, 양자회로 에러 보정 장치는 양자 컴퓨터를 구성하는 양자회로들의 에러 보정을 요청하는 명령이 사용자 등으로부터 수신되는지를 확인할 수 있다(S610).More specifically, the quantum circuit error correction device can check whether a command requesting error correction of the quantum circuits constituting the quantum computer is received from the user, etc. (S610).

상기 610 단계의 확인 결과, 양자회로 에러 보정을 요청하는 명령이 사용자 등으로부터 수신된 경우, 양자회로 에러 보정 장치는 에러 보정의 대상이 되는 양자회로(이하, '보정 대상 양자회로'라 칭함)를 검출할 수 있다(S620). 여기서, 상기 보정 대상 양자회로는 양자 컴퓨터를 구성하는 복수의 양자회로들 중 적어도 하나일 수 있다. 한편, 실시 형태에 따라, 상술한 610 단계는 생략 가능하도록 구성될 수 있다.As a result of the confirmation in step 610, if a command requesting quantum circuit error correction is received from the user, etc., the quantum circuit error correction device will Can be detected (S620). Here, the quantum circuit to be corrected may be at least one of a plurality of quantum circuits constituting a quantum computer. Meanwhile, depending on the embodiment, step 610 described above may be configured to be omitted.

이후, 양자회로 에러 보정 장치는 미리 학습된 딥러닝 모델을 호출할 수 있다(S630). 이때, 상기 딥러닝 모델로는 DNN 모델 또는 하이브리드 CNN 모델 등이 사용될 수 있으며 반드시 이에 제한되지는 않는다.Afterwards, the quantum circuit error correction device can call the deep learning model learned in advance (S630). At this time, the deep learning model may be a DNN model or a hybrid CNN model, but is not necessarily limited thereto.

양자회로 에러 보정 장치는 보정 대상 양자회로에 대응하는 딥러닝 모델의 입력 데이터를 검출할 수 있다. 상기 입력 데이터는 해당 양자회로를 구성하는 1-큐비트 게이트 개수 정보, 해당 양자회로를 구성하는 2-큐비트 게이트 개수 정보, 해당 양자회로의 에러 정보, 해당 양자회로의 측정 결과 확률 정보 등을 포함할 수 있다.The quantum circuit error correction device can detect input data of a deep learning model corresponding to the quantum circuit to be corrected. The input data includes information on the number of 1-qubit gates constituting the corresponding quantum circuit, information on the number of 2-qubit gates constituting the corresponding quantum circuit, error information of the corresponding quantum circuit, measurement result probability information of the corresponding quantum circuit, etc. can do.

양자회로 에러 보정 장치는 미리 학습된 딥러닝 모델을 기반으로 해당 양자회로에 존재하는 에러를 완화하기 위한 에러 보정 값(또는 에러 보정 행렬, )을 추론할 수 있다(S640). 즉, 양자회로 에러 보정 장치는 상기 검출된 입력 데이터를 미리 학습된 딥러닝 모델에 입력하여 해당 양자회로에 존재하는 에러를 완화하기 위한 에러 보정 값()을 추론할 수 있다.The quantum circuit error correction device uses an error correction value (or error correction matrix, ) can be inferred (S640). In other words, the quantum circuit error correction device inputs the detected input data into a pre-trained deep learning model to create an error correction value ( ) can be inferred.

양자회로 에러 보정 장치는 딥러닝 모델을 통해 추론된 에러 보정 값()을 이용하여 해당 양자회로에 존재하는 에러를 보정할 수 있다(S650). 즉, 양자회로 에러 보정 장치는 실질적인 양자회로의 출력을 측정한 결과 값()에서 에러 보정 값()을 차감하여 해당 양자회로에 존재하는 에러를 보정할 수 있다.The quantum circuit error correction device uses the error correction value ( ) can be used to correct errors existing in the quantum circuit (S650). In other words, the quantum circuit error correction device measures the output of the actual quantum circuit ( ) to the error correction value ( ) can be subtracted to correct the error existing in the quantum circuit.

이상 상술한 바와 같이, 본 발명의 일 실시 예에 따른 양자회로 에러 보정 방법은 미리 학습된 딥러닝 모델을 이용하여 양자회로에 존재하는 에러를 간편하게 보정함으로써, 양자회로 에러를 보정하기 위한 양자 게이트들을 별도로 추가할 필요가 없을 뿐만 아니라, 양자회로 에러 보정을 위한 연산 과정이 간단하여 양자회로에 존재하는 에러를 정정하는 데 소요되는 시간과 에너지를 절약할 수 있다. 상기 딥러닝 모델로는 심층 신경망(DNN) 모델 또는 하이브리드 합성곱 신경망(H-CNN) 모델이 사용될 수 있다. 먼저, 심층 신경망(DNN) 모델을 이용하여 양자회로의 에러를 보정하는 방법에 대해 상세히 설명하도록 한다.As described above, the quantum circuit error correction method according to an embodiment of the present invention easily corrects the error existing in the quantum circuit using a pre-learned deep learning model, using quantum gates for correcting the quantum circuit error. Not only does it not need to be added separately, but the calculation process for quantum circuit error correction is simple, saving time and energy required to correct errors existing in the quantum circuit. As the deep learning model, a deep neural network (DNN) model or a hybrid convolutional neural network (H-CNN) model may be used. First, we will explain in detail how to correct errors in quantum circuits using a deep neural network (DNN) model.

도 7은 본 발명의 일 실시 예에 따른 DNN 모델의 구조를 나타내는 도면이다.Figure 7 is a diagram showing the structure of a DNN model according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일 실시 예에 따른 DNN 모델(700)은, N 큐비트 시스템의 양자회로 에러를 보정하기 위한 학습 모델로서, 하나의 입력층(input layer, 710)과, 두 개의 은닉층(hidden layer, 720, 730)과, 하나의 출력층(output layer, 740)을 포함할 수 있다.Referring to FIG. 7, the DNN model 700 according to an embodiment of the present invention is a learning model for correcting quantum circuit errors of an N qubit system, and includes one input layer (710) and two It may include two hidden layers (720, 730) and one output layer (740).

DNN 모델(700)의 입력층(710)에 존재하는 복수의 노드들로 입력되는 데이터는 양자회로를 구성하는 1-큐비트 게이트 개수 정보(G1(a:b)), 양자회로를 구성하는 2-큐비트 게이트 개수 정보(G2(a:b)), 양자회로의 에러 정보(), 양자회로의 측정 결과 확률 정보()를 포함할 수 있다. 여기서, a와 b는 양자회로의 깊이(depth)를 나타낸다. 따라서, G1(a:b)는 양자회로의 깊이 a와 깊이 b 사이에 위치하는 양자 게이트들의 1-큐비트 게이트 개수를 의미하고, G2(a:b)는 양자회로의 깊이 a와 깊이 b 사이에 위치하는 양자 게이트들의 2-큐비트 게이트 개수를 의미한다.Data input to a plurality of nodes present in the input layer 710 of the DNN model 700 includes 1-qubit gate number information (G 1 (a:b)) constituting the quantum circuit, 2-qubit gate number information (G 2 (a:b)), error information of quantum circuit ( ), quantum circuit measurement result probability information ( ) may include. Here, a and b represent the depth of the quantum circuit. Therefore, G 1 (a:b) refers to the number of 1-qubit gates of quantum gates located between depth a and depth b of the quantum circuit, and G 2 (a:b) refers to the number of 1-qubit gates between depth a and depth b of the quantum circuit. It refers to the number of 2-qubit gates of quantum gates located between b.

가령, 도 9에 도시된 바와 같이, DNN 모델(700)의 학습 대상 또는 보정 대상이 되는 양자회로(900)는 복수의 양자 게이트들에 대응하는 복수의 유니터리들(U1~UK)의 조합으로 표현될 수 있다. 이러한 양자회로 구조에서, DNN 모델(700)의 입력층(710)으로 입력되는 1-큐비트 게이트의 개수 정보(G1)는 [G11 ?? G1N]로 표현될 수 있고, 2-큐비트 게이트의 개수 정보(G2)는 [G21 ?? G2N]로 표현될 수 있다. 그리고, DNN 모델(700)의 입력층(710)으로 입력되는 양자회로의 에러 정보()는 양자회로의 깊이 a에 위치하는 유니터리(Ua)의 에러로 정의될 수 있고, 양자회로의 측정 결과 확률 정보()는 양자회로의 깊이 b에 위치하는 유니터리(Ub)의 측정 결과 확률로 정의될 수 있다.For example, as shown in FIG. 9, the quantum circuit 900, which is the learning target or correction target of the DNN model 700, includes a plurality of unitaries (U 1 to U K ) corresponding to a plurality of quantum gates. It can be expressed as a combination. In this quantum circuit structure, the number information (G 1 ) of 1-qubit gates input to the input layer 710 of the DNN model 700 is [G 11 ?? G 1N ], and the number information (G 2 ) of 2-qubit gates is [G 21 ?? G 2N ] can be expressed. And, the error information of the quantum circuit input to the input layer 710 of the DNN model 700 ( ) can be defined as the error of the unitary (U a ) located at the depth a of the quantum circuit, and the probability information of the measurement result of the quantum circuit ( ) can be defined as the probability of the measurement result of the unitary (U b ) located at depth b of the quantum circuit.

DNN 모델(700)의 입력층(710)은 총 2N+2N+1(=N+N+2N+2N)개의 노드들을 포함할 수 있다. 여기서, N 개의 노드들은 1-큐비트 게이트의 개수를 입력하기 위한 노드들이고, N개의 노드들은 2-큐비트 게이트의 개수를 입력하기 위한 노드들이고, 2N 개의 노드들은 양자회로의 에러()를 입력하기 위한 노드들이며, 2N 개의 노드들은 양자회로의 측정 결과 확률()을 입력하기 위한 노드들이다.The input layer 710 of the DNN model 700 may include a total of 2N+2 N+1 (=N+N+2 N +2 N ) nodes. Here, N nodes are nodes for inputting the number of 1-qubit gates, N nodes are nodes for inputting the number of 2-qubit gates, and 2 N nodes are nodes for inputting the error of the quantum circuit ( ) are the nodes for inputting, and the 2 N nodes represent the probability of the measurement result of the quantum circuit ( ) are the nodes for inputting.

DNN 모델(700)의 출력층(740)에 존재하는 복수의 노드들을 통해 출력되는 데이터는 양자회로에 존재하는 에러를 경감(또는 완화)하기 위한 에러 보정 값()을 포함할 수 있다. 상기 출력층(740)은 2N 개의 노드들을 포함할 수 있다.Data output through a plurality of nodes present in the output layer 740 of the DNN model 700 contains an error correction value (or error correction value) to reduce (or alleviate) the error present in the quantum circuit. ) may include. The output layer 740 may include 2 N nodes.

DNN 모델(700)의 출력층(740)에 존재하는 복수의 노드들로 입력되는 데이터는 양자회로의 에러 정보()를 포함할 수 있다. 여기서, 상기 에러 정보()는 양자회로의 깊이 b에 위치하는 유니터리(Ub)의 에러로 정의될 수 있다. 그리고, 상기 에러 정보()는 해당 모델(700)의 학습 과정에서 손실 함수(loss function)를 계산하기 위해 사용될 수 있다.Data input to a plurality of nodes present in the output layer 740 of the DNN model 700 is error information of the quantum circuit ( ) may include. Here, the error information ( ) can be defined as the error of the unitary (U b ) located at depth b of the quantum circuit. And, the error information ( ) can be used to calculate a loss function in the learning process of the model 700.

DNN 모델(700)로 입력되는 데이터들은 해당 모델의 독립 변수로 설정될 수 있고, 상기 DNN 모델(700)로부터 출력되는 데이터는 해당 모델의 종속 변수로 설정될 수 있다. Data input to the DNN model 700 can be set as independent variables of the model, and data output from the DNN model 700 can be set as dependent variables of the model.

DNN 모델(700)의 은닉층(720, 730)에 존재하는 노드들에 사용되는 매개 변수는 가중치(weight)와 편향(bias)을 포함할 수 있다. 또한, DNN 모델(700)의 은닉층(720, 730)에 존재하는 노드들에 사용되는 활성 함수(activation function)는 시그모이드 함수(sigmoid function)일 수 있으며 반드시 이에 제한되지는 않는다. 따라서, 실시 형태에 따라, 상기 시그모이드 함수 대신 ReLU 함수, 소프트맥스 함수 또는 항등 함수 등이 사용될 수 있다.Parameters used for nodes present in the hidden layers 720 and 730 of the DNN model 700 may include weight and bias. Additionally, the activation function used for the nodes existing in the hidden layers 720 and 730 of the DNN model 700 may be a sigmoid function, but is not necessarily limited thereto. Therefore, depending on the embodiment, a ReLU function, a softmax function, or an identity function may be used instead of the sigmoid function.

DNN 모델(700)의 손실 함수(loss function, ERMS)는 아래 수학식 4와 같이 정의될 수 있다.The loss function (E RMS ) of the DNN model 700 can be defined as Equation 4 below.

여기서, 은 양자회로의 실제 에러 값()에서 에러 보정 값(즉, 에러 추정 값, )을 차감한 값으로서, 해당 양자회로의 최종 에러 값을 나타내며, 해당 값은 아래 수학식 5와 같이 정의될 수 있다.here, is the actual error value of the quantum circuit ( ) to the error correction value (i.e., the error estimate value, ), which represents the final error value of the quantum circuit, and the value can be defined as Equation 5 below.

DNN 모델(700)은 손실 함수(loss function)의 최저 지점을 찾아가는 최적화 기법을 이용하여 은닉층(720, 730)에 존재하는 노드들의 가중치(weight) 및 편향(bias)을 업데이트하는 학습 과정을 거치게 된다. 이때, 상기 최적화 기법으로는 대표적으로 경사 하강법(Gradient Descent)이 사용될 수 있으며 반드시 이에 제한되지는 않는다.The DNN model 700 goes through a learning process to update the weights and biases of the nodes present in the hidden layers 720 and 730 using an optimization technique that finds the lowest point of the loss function. . At this time, gradient descent may be typically used as the optimization technique, but is not necessarily limited thereto.

즉, DNN 모델(700)은 손실 함수를 최소화하는 에러 보정 값을 찾는 것을 목표로 한다. 따라서, DNN 모델(700)의 목표 함수(F)는 아래 수학식 6과 같이 정의될 수 있다. In other words, the DNN model 700 aims to find an error correction value that minimizes the loss function. Therefore, the objective function (F) of the DNN model 700 can be defined as Equation 6 below.

한편, 본 실시 예에서는, 상기 DNN 모델(700)이 두 개의 은닉층(720, 730)을 구비하는 것을 예시하고 있으나 반드시 이에 제한되지는 않으며, 그 보다 더 적거나 혹은 더 많은 개수의 은닉층을 구비할 수 있음은 당업자에게 자명할 것이다.Meanwhile, in this embodiment, the DNN model 700 is illustrated as having two hidden layers 720 and 730, but is not necessarily limited thereto, and may have fewer or more hidden layers. It will be obvious to those skilled in the art that this can be done.

도 8은 본 발명의 다른 실시 예에 따른 DNN 모델의 구조를 나타내는 도면이다. Figure 8 is a diagram showing the structure of a DNN model according to another embodiment of the present invention.

도 8을 참조하면, 본 발명의 다른 실시 예에 따른 DNN 모델(800)은, N 큐비트 시스템의 양자회로 에러를 보정하기 위한 학습 모델로서, 하나의 입력층(input layer, 810)과, 세 개의 은닉층(hidden layer, 820, 830, 840)과, 하나의 출력층(output layer, 830)을 포함할 수 있다. Referring to FIG. 8, the DNN model 800 according to another embodiment of the present invention is a learning model for correcting quantum circuit errors of an N qubit system, and includes one input layer (810) and three It may include two hidden layers (820, 830, 840) and one output layer (830).

본 발명에 따른 DNN 모델(800)은, 상술한 도 7의 DNN 모델(700)과 달리, 하나의 은닉층(820)을 더 포함할 수 있다. 즉, 상기 DNN 모델(800)은 특정 입력 데이터와 연결된 노드들에 대해서만 배치 정규화(Batch Normalization, BN)를 수행하는 은닉층(820)을 더 포함할 수 있다. 여기서, 상기 배치 정규화(BN)는 학습 과정에서 각 배치 단위 별로 데이터가 다양한 분포를 가지더라도 각 배치 별로 평균과 분산을 이용해 정규화하는 것을 의미한다.The DNN model 800 according to the present invention, unlike the DNN model 700 of FIG. 7 described above, may further include one hidden layer 820. That is, the DNN model 800 may further include a hidden layer 820 that performs batch normalization (BN) only on nodes connected to specific input data. Here, the batch normalization (BN) means normalizing using the mean and variance for each batch even if the data has various distributions for each batch unit during the learning process.

DNN 모델(800)의 입력층(810)으로 입력되는 데이터 중 양자회로의 게이트 개수는 정수 값을 갖는 반면, 양자회로의 에러 값()과 측정 결과 확률()은 0과 1 사이의 값을 갖는다. 따라서, 정수 값을 갖는 입력 데이터들(G1(a:b), G2(a:b))과 연결된 제1 은닉층(820)의 노드들에 대해 배치 정규화를 수행함으로써, 상기 제1 은닉층(820)과 연결된 제2 은닉층(830)의 입력 데이터 분포를 0과 1 사이의 값으로 균일화할 수 있다.Among the data input to the input layer 810 of the DNN model 800, the number of gates of the quantum circuit has an integer value, while the error value of the quantum circuit ( ) and measurement result probability ( ) has a value between 0 and 1. Therefore, by performing batch normalization on the nodes of the first hidden layer 820 connected to the input data (G 1 (a:b), G 2 (a:b)) having integer values, the first hidden layer ( The input data distribution of the second hidden layer 830 connected to 820) may be equalized to a value between 0 and 1.

이와 같은 구조를 갖는 DNN 모델(700, 800)에 대해 기계 학습을 수행할 수 있다. 좀 더 구체적으로, 미리 결정된 학습 집합(training set)에 속하는 학습 대상 양자회로를 선정하고, 상기 선정된 학습 대상 양자회로를 구성하는 양자 게이트들을 분석하여 DNN 모델에 입력할 데이터를 검출할 수 있다. 이때, 상기 DNN 모델에 입력할 데이터는 학습 대상 양자회로의 1-큐비트 게이트 개수 정보(G1(a:b)), 2-큐비트 게이트 개수 정보(G2(a:b)), 에러 정보() 및 측정 결과 확률 정보()를 포함할 수 있다.Machine learning can be performed on the DNN models 700 and 800 with this structure. More specifically, a learning target quantum circuit belonging to a predetermined learning set can be selected, and quantum gates constituting the selected learning target quantum circuit can be analyzed to detect data to be input to the DNN model. At this time, the data to be input to the DNN model includes 1-qubit gate number information (G 1 (a:b)), 2-qubit gate number information (G 2 (a:b)), and error information of the quantum circuit to be learned. information( ) and measurement result probability information ( ) may include.

입력 데이터의 검출이 완료되면, 상기 검출된 입력 데이터를 DNN 모델에 입력하여 해당 DNN 모델을 학습시킬 수 있다. 이때, 상기 검출된 입력 데이터의 변수(a, b, i)를 순차적으로 변경해가면서 해당 DNN 모델을 반복적으로 학습시킬 수 있다. Once detection of the input data is completed, the detected input data can be input into the DNN model to train the corresponding DNN model. At this time, the corresponding DNN model can be trained repeatedly by sequentially changing the variables (a, b, i) of the detected input data.

해당 양자회로에 대한 학습이 완료되면, 미리 결정된 학습 집합에 속하는 다른 양자회로를 순차적으로 선정하여 동일한 학습 과정을 수행할 수 있다. 이러한 학습 과정은 해당 학습 집합에 포함된 모든 양자회로에 대해 반복적으로 수행될 수 있다.Once learning of the corresponding quantum circuit is completed, the same learning process can be performed by sequentially selecting other quantum circuits belonging to the predetermined learning set. This learning process can be performed repeatedly for all quantum circuits included in the learning set.

도 10은 학습 대상 양자회로의 선정과, 상기 선정된 학습 대상 양자회로를 기반으로 DNN 모델을 학습하는 과정을 설명하기 위해 참조되는 도면이다. 도 10에 도시된 바와 같이, 학습 대상 양자회로들을 선정하고, 상기 선정된 학습 대상 양자회로들을 기반으로 양자회로 에러를 보정(완화)하기 위한 DNN 모델을 학습시킬 수 있다. 이때, 상기 학습 대상 양자회로들은 미리 결정된 제1 개수 이하의 양자 게이트들을 구비하는 양자회로들일 수 있다. 가령, 상기 학습 대상 양자회로들은 10개 이하의 양자 게이트들을 갖는 양자회로들일 수 있다.Figure 10 is a diagram referenced to explain the process of selecting a learning target quantum circuit and learning a DNN model based on the selected learning target quantum circuit. As shown in FIG. 10, quantum circuits to be learned can be selected, and a DNN model for correcting (alleviating) quantum circuit errors can be trained based on the selected quantum circuits to be learned. At this time, the quantum circuits to be learned may be quantum circuits having quantum gates less than a predetermined first number. For example, the quantum circuits to be learned may be quantum circuits having 10 or less quantum gates.

도 11은 보정 대상 양자회로의 종류와, 미리 학습된 DNN 모델을 이용하여 상기 보정 대상 양자회로의 에러를 보정하는 과정을 설명하기 위해 참조되는 도면이다. 도 11에 도시된 바와 같이, 보정 대상 양자회로(또는 추정 대상 양자회로)를 선택하고, 상기 선택된 양자회로를 미리 학습된 DNN 모델에 입력하여 해당 양자회로의 에러 보정 값을 추론하며, 상기 추론된 에러 보정 값을 기반으로 해당 양자회로의 에러를 보정할 수 있다.FIG. 11 is a diagram referenced to explain the types of quantum circuits to be corrected and the process of correcting errors in the quantum circuits to be corrected using a previously learned DNN model. As shown in FIG. 11, a quantum circuit to be corrected (or a quantum circuit to be estimated) is selected, the selected quantum circuit is input into a pre-trained DNN model to infer the error correction value of the quantum circuit, and the inferred Errors in the quantum circuit can be corrected based on the error correction value.

보정 대상 양자회로들은, 학습 대상 양자회로들의 양자 게이트 구성과 동일한 양자 게이트 구성을 갖는 양자회로들(U1~Uk), 상기 학습 대상 양자회로들의 양자 게이트 구성보다 더 많은 개수의 양자 게이트 구성을 갖는 양자회로들(U1~Uk+l), 상기 학습 대상 양자회로들의 양자 게이트 구성과 다른 양자 게이트 구성을 갖는 양자회로들(V1~Vj)을 포함할 수 있다. 이때, 상기 보정 대상 양자회로들은 미리 결정된 제2 개수 이하의 양자 게이트들을 구비하는 양자회로들일 수 있다. 가령, 상기 보정 대상 양자회로들은 20개 이하의 양자 게이트를 갖는 양자회로들일 수 있다.The quantum circuits to be corrected are quantum circuits (U 1 to U k ) that have the same quantum gate configuration as the quantum gate configurations of the learning target quantum circuits, and have a greater number of quantum gate configurations than the quantum gate configurations of the learning target quantum circuits. It may include quantum circuits (U 1 to U k+l ) and quantum circuits (V 1 to V j ) having quantum gate configurations different from the quantum gate configurations of the quantum circuits to be learned. At this time, the quantum circuits subject to correction may be quantum circuits having quantum gates less than or equal to a predetermined second number. For example, the quantum circuits subject to correction may be quantum circuits having 20 or less quantum gates.

이처럼, 본 발명은 상대적으로 깊이가 짧은 양자 게이트 구성을 갖는 양자회로들을 기반으로 DNN 모델을 학습시키고, 상대적으로 깊이가 긴 양자 게이트 구성을 갖는 양자회로들에 대해서는 미리 학습된 DNN 모델을 적용하여 양자회로들의 에러를 보정하게 된다.In this way, the present invention trains a DNN model based on quantum circuits with a quantum gate configuration with a relatively short depth, and applies a pre-trained DNN model to quantum circuits with a quantum gate configuration with a relatively long depth to determine quantum Errors in circuits are corrected.

한편, 상술한 양자회로 에러 보정 방법은 심층 신경망(DNN) 모델에 입력되는 데이터들의 개수가 많아 DNN 모델을 학습하기 위한 연산 과정이 다소 복잡한 측면이 있다. 이러한 문제는 하이브리드 CNN 모델을 이용한 양자회로 에러 보정 방법을 통해 해결될 수 있다. 이하에서는, 하이브리드 CNN 모델을 이용하여 양자회로의 에러를 보정하는 방법에 대해 상세히 설명하도록 한다.Meanwhile, in the quantum circuit error correction method described above, the number of data input to the deep neural network (DNN) model is large, so the computational process for learning the DNN model is somewhat complicated. This problem can be solved through a quantum circuit error correction method using a hybrid CNN model. Below, a method for correcting errors in a quantum circuit using a hybrid CNN model will be described in detail.

도 12a 및 도 12b는 본 발명의 일 실시 예에 따른 하이브리드 CNN 모델의 구조와, 해당 모델의 입력층 및 출력층에 입력되는 학습 데이터를 설명하기 위해 참조되는 도면이다.FIGS. 12A and 12B are diagrams referenced to explain the structure of a hybrid CNN model and learning data input to the input layer and output layer of the model according to an embodiment of the present invention.

도 12a 및 도 12b를 참조하면, 본 발명의 일 실시 예에 따른 하이브리드 CNN 모델(1200)은 심층 신경망(DNN) 알고리즘에 합성곱 신경망(CNN) 알고리즘을 결합하여 양자회로 에러 보정 성능을 향상시킨 학습 모델이다. 상기 H-CNN 모델(1200)은, N 큐비트 시스템의 양자회로 에러를 보정하기 위한 학습 모델로서, 입력층(input layer, 1210), 하나 이상의 은닉층(hidden layer, 1220) 및 출력층(output layer, 1230)을 포함할 수 있다. 여기서, 상기 입력층(1230)은 입력 데이터 중 일부를 전 처리하기 위한 하나 이상의 컨볼루션층, 풀링층 및 완전 연결층을 포함할 수 있다.Referring to FIGS. 12A and 12B, the hybrid CNN model 1200 according to an embodiment of the present invention combines a deep neural network (DNN) algorithm with a convolutional neural network (CNN) algorithm to improve quantum circuit error correction performance. It's a model. The H-CNN model 1200 is a learning model for correcting quantum circuit errors of an N qubit system, and includes an input layer (1210), one or more hidden layers (1220), and an output layer (output layer, 1230). Here, the input layer 1230 may include one or more convolution layers, a pooling layer, and a fully connected layer to pre-process some of the input data.

H-CNN 모델(1200)의 입력층(1210)에 존재하는 복수의 노드들로 입력되는 데이터는 양자회로의 큐비트 i와 큐비트 j 사이의 게이트 개수를 나타내는 게이트 행렬 정보(G'ij)), 양자회로의 제1 로컬 에러 정보(), 양자회로의 제2 로컬 에러 정보(), 양자회로의 타겟 상태 정보(t), 양자회로의 타겟 측정 결과 확률 정보()를 포함할 수 있다. 여기서, a와 b는 양자회로의 깊이(depth)를 나타낸다.Data input to a plurality of nodes present in the input layer 1210 of the H-CNN model 1200 is gate matrix information (G' ij ) indicating the number of gates between qubit i and qubit j of the quantum circuit. , the first local error information of the quantum circuit ( ), second local error information of the quantum circuit ( ), target state information of the quantum circuit (t), target measurement result probability information of the quantum circuit ( ) may include. Here, a and b represent the depth of the quantum circuit.

가령, 도 12a에 도시된 바와 같이, H-CNN 모델(1200)의 학습 대상 또는 보정 대상이 되는 양자회로(1300)는 복수의 양자 게이트들에 대응하는 복수의 유니터리들(U1~UK)의 조합으로 표현될 수 있다. 이러한 양자회로 구조에서, H-CNN 모델(1200)의 입력층(1210)으로 입력되는 양자회로의 제1 로컬 에러 정보()는 a번째 깊이에 위치하는 유니터리(Ua)의 로컬 에러로 정의될 수 있고, 양자회로의 제2 로컬 에러 정보()는 b번째 깊이에 위치하는 유니터리(Ub)의 로컬 에러로 정의될 수 있다. 그리고, 양자회로의 타겟 상태 정보(t)는 2N개의 큐비트 상태 중 어느 하나의 상태를 나타내는 비트 정보로 정의될 수 있고, 양자회로의 타겟 측정 결과 확률 정보()는 b 번째 깊이에 위치하는 유니터리(Ub)의 타겟 큐비트 상태의 측정 결과 확률로 정의될 수 있다.For example, as shown in FIG. 12A, the quantum circuit 1300 that is the learning or correction target of the H-CNN model 1200 has a plurality of unitaries (U 1 to U K ) corresponding to a plurality of quantum gates. ) can be expressed as a combination of In this quantum circuit structure, the first local error information of the quantum circuit input to the input layer 1210 of the H-CNN model 1200 ( ) can be defined as the local error of the unitary (U a ) located at the a-th depth, and the second local error information of the quantum circuit ( ) can be defined as the local error of the unitary (U b ) located at the b-th depth. In addition, the target state information (t) of the quantum circuit can be defined as bit information representing one of the 2 N qubit states, and the target measurement result probability information of the quantum circuit ( ) can be defined as the probability of the measurement result of the target qubit state of the unitary (U b ) located at the b-th depth.

H-CNN 모델(1200)의 입력층(1210)으로 입력되는 게이트 행렬(G'i, j)은 양자회로의 큐비트 i와 큐비트 j 사이에 존재하는 게이트들의 개수를 나타내는 행렬로서, N*N 행렬로 정의될 수 있다. 여기서, 상기 게이트 행렬(G'i, j)은 하나 이상의 컨볼루션층, 풀링층 및 완결 연결층을 통해 전 처리된 후 입력층(1210)으로 입력될 수 있다. 가령, 도 12b에 도시된 바와 같이, 컨볼루션층은 입력 데이터(즉, G'i, j)와 하나 이상의 필터 간의 컨볼루션 연산을 통해 복수의 특징 맵들(feature maps)을 생성하고, 상기 특징 맵들에 대해 활성 함수를 적용하여 복수의 활성 맵들(activation maps)을 생성할 수 있다. 이후, 풀링층은 컨볼루션층의 출력 데이터를 입력으로 받아서 출력 데이터(즉, 활성 맵)의 크기를 줄이거나 특정 데이터를 강조할 수 있다. 완전 연결층은 해당 CNN 알고리즘의 데이터 타입을 Fully Connected Neural Network 형태로 변경할 수 있다. 상기 완결 연결층의 출력 데이터는 입력층(1210)으로 입력될 수 있다. 이처럼, H-CNN 모델(1200)은 CNN 알고리즘을 이용하여 게이트 행렬(G'i, j)의 특징을 추출한 다음 해당 특징을 입력층(1210)으로 입력할 수 있다. The gate matrix (G' i, j ) input to the input layer 1210 of the H-CNN model 1200 is a matrix representing the number of gates existing between qubit i and qubit j of the quantum circuit, N* It can be defined as an N matrix. Here, the gate matrix (G' i, j ) may be pre-processed through one or more convolutional layers, a pooling layer, and a fully connected layer and then input to the input layer 1210. For example, as shown in FIG. 12B, the convolution layer generates a plurality of feature maps through a convolution operation between input data (i.e., G' i, j ) and one or more filters, and the feature maps A plurality of activation maps can be created by applying an activation function to . Afterwards, the pooling layer can receive the output data of the convolution layer as input and reduce the size of the output data (i.e., activation map) or emphasize specific data. The fully connected layer can change the data type of the CNN algorithm to Fully Connected Neural Network. The output data of the complete connection layer may be input to the input layer 1210. In this way, the H-CNN model 1200 can extract the features of the gate matrix (G' i, j ) using the CNN algorithm and then input the features into the input layer 1210.

H-CNN 모델(1200)의 입력층(1210)은 복수 개의 노드들을 포함할 수 있다. 여기서, N개의 노드들은 양자회로의 제1 로컬 에러 정보()를 입력하기 위한 노드들이고, N개의 노드들은 양자회로의 제2 로컬 에러 정보()를 입력하기 위한 노드들이고, N개의 노드들은 양자회로의 타겟 상태 정보(t)를 입력하기 위한 노드들이며, 1개의 노드는 양자회로의 타겟 측정 결과 확률 정보()를 입력하기 위한 노드이다.The input layer 1210 of the H-CNN model 1200 may include a plurality of nodes. Here, N nodes contain the first local error information of the quantum circuit ( ) are the nodes for inputting, and the N nodes are the second local error information of the quantum circuit ( ) are nodes for inputting, N nodes are nodes for inputting target state information (t) of the quantum circuit, and one node is the target measurement result probability information of the quantum circuit ( ) is a node for inputting.

H-CNN 모델(1200)은 양자회로의 에러 정보(가령, )를 입력층(1210)에 로컬(local) 단위로 입력할 수 있다. 즉, H-CNN 모델(1200)은 양자회로의 에러 정보를 큐비트 단위로 입력할 수 있다. 이에 따라, H-CNN 모델(1200)은, 상술한 DNN 모델(700)과 달리, N개의 데이터만을 학습 모델에 입력함으로써, 해당 학습 모델의 연산 과정을 간소화할 수 있다.The H-CNN model 1200 provides error information of the quantum circuit (e.g., ) can be input to the input layer 1210 on a local basis. In other words, the H-CNN model 1200 can input error information of the quantum circuit in units of qubits. Accordingly, unlike the DNN model 700 described above, the H-CNN model 1200 can simplify the calculation process of the learning model by inputting only N pieces of data into the learning model.

H-CNN 모델(1200)의 출력층(1240)에 존재하는 노드를 통해 출력되는 데이터는 양자회로에 존재하는 에러를 경감(또는 완화)하기 위한 에러 보정 값()을 포함할 수 있다. 상기 출력층(540)은 1 개의 노드를 포함할 수 있다. The data output through the node present in the output layer 1240 of the H-CNN model 1200 contains an error correction value (or error correction value) to reduce (or alleviate) the error present in the quantum circuit. ) may include. The output layer 540 may include one node.

H-CNN 모델(1200)의 출력층(1240)에 존재하는 노드로 입력되는 데이터는 양자회로의 타겟 에러 정보()를 포함할 수 있다. 여기서, 상기 타겟 에러 정보()는 양자회로의 b 번째 깊이에 위치하는 유니터리(Ub)의 타겟 큐비트 상태의 에러로 정의될 수 있다. 상기 타겟 에러 정보()는 해당 모델의 학습 과정에서 손실 함수(loss function)를 계산하기 위해 사용될 수 있다.Data input to the node present in the output layer 1240 of the H-CNN model 1200 is the target error information of the quantum circuit ( ) may include. Here, the target error information ( ) can be defined as the error in the target qubit state of the unitary (U b ) located at the b-th depth of the quantum circuit. The target error information ( ) can be used to calculate the loss function during the learning process of the model.

H-CNN 모델(1200)로 입력되는 데이터들은 해당 모델의 독립 변수로 설정될 수 있고, H-CNN 모델(1200)로부터 출력되는 데이터는 해당 모델의 종속 변수로 설정될 수 있다. Data input to the H-CNN model 1200 can be set as independent variables of the model, and data output from the H-CNN model 1200 can be set as dependent variables of the model.

H-CNN 모델(1200)의 은닉층(1220)에 존재하는 노드들에 사용되는 매개 변수는 가중치(weight)와 편향(bias)을 포함할 수 있다. 또한, H-CNN 모델(1200)의 은닉층(1220)에 존재하는 노드들에 사용되는 활성 함수는 시그모이드 함수(sigmoid function)일 수 있으며 반드시 이에 제한되지는 않는다.Parameters used for nodes existing in the hidden layer 1220 of the H-CNN model 1200 may include weight and bias. Additionally, the activation function used for nodes existing in the hidden layer 1220 of the H-CNN model 1200 may be a sigmoid function, but is not necessarily limited thereto.

H-CNN 모델(1200)의 손실 함수(loss function, ERMS)는 아래 수학식 7과 같이 정의될 수 있다.The loss function (E RMS ) of the H-CNN model 1200 can be defined as Equation 7 below.

여기서, 은 양자회로의 실제 에러 값()에서 에러 보정 값()을 차감한 값으로서, 상기 양자회로의 최종 에러 값을 나타내며, 해당 값은 아래 수학식 8과 같이 정의될 수 있다.here, is the actual error value of the quantum circuit ( ) to the error correction value ( ), which represents the final error value of the quantum circuit, and the corresponding value can be defined as Equation 8 below.

H-CNN 모델(1200)은 손실 함수(loss function)의 최저 지점을 찾아가는 최적화 기법을 이용하여 은닉층(1220)에 존재하는 노드들의 가중치(weight) 및 편향(bias)을 업데이트하는 학습 과정을 거치게 된다. 이때, 상기 최적화 기법으로는 대표적으로 경사 하강법(Gradient Descent)이 사용될 수 있으며 반드시 이에 제한되지는 않는다.The H-CNN model 1200 goes through a learning process to update the weights and biases of nodes existing in the hidden layer 1220 using an optimization technique that finds the lowest point of the loss function. . At this time, gradient descent may be typically used as the optimization technique, but is not necessarily limited thereto.

도 13은 학습 대상 양자회로의 선정과, 상기 선정된 학습 대상 양자회로를 기반으로 H-CNN 모델을 학습하는 과정을 설명하기 위해 참조되는 도면이다. 도 13에 도시된 바와 같이, 학습 대상의 양자회로들을 선정하고, 상기 선정된 학습 대상 양자회로들을 기반으로 양자회로 에러를 보정(완화)하기 위한 H-CNN 모델을 학습시킬 수 있다. 이때, 상기 학습 대상의 양자회로들은 미리 결정된 개수 이하의 양자 게이트들을 구비하는 양자회로들일 수 있다. 가령, 상기 학습 대상의 양자회로들은 10개 이하의 양자 게이트들을 갖는 양자회로들일 수 있다.Figure 13 is a diagram referenced to explain the process of selecting a learning target quantum circuit and learning an H-CNN model based on the selected learning target quantum circuit. As shown in FIG. 13, quantum circuits for learning can be selected, and an H-CNN model for correcting (relieving) quantum circuit errors can be trained based on the selected quantum circuits for learning. At this time, the quantum circuits to be studied may be quantum circuits having quantum gates of a predetermined number or less. For example, the quantum circuits to be studied may be quantum circuits having 10 or less quantum gates.

도 14는 보정 대상 양자회로의 종류와, 미리 학습된 H-CNN 모델을 이용하여 상기 보정 대상 양자회로의 에러를 보정하는 과정을 설명하기 위해 참조되는 도면이다. 도 14에 도시된 바와 같이, 보정 대상 양자회로(또는 추론 대상 양자회로)를 선택하고, 상기 선택된 양자회로를 미리 학습된 H-CNN 모델에 입력하여 해당 양자회로의 에러 보정 값을 추론하며, 상기 추론된 에러 보정 값을 기반으로 해당 양자회로의 에러를 보정할 수 있다. FIG. 14 is a diagram referenced to explain the types of quantum circuits to be corrected and the process of correcting errors in the quantum circuits to be corrected using a previously learned H-CNN model. As shown in FIG. 14, a quantum circuit to be corrected (or a quantum circuit to be inferred) is selected, and the selected quantum circuit is input into a pre-trained H-CNN model to infer the error correction value of the quantum circuit. The error of the quantum circuit can be corrected based on the inferred error correction value.

보정 대상 양자회로들은, 학습 대상 양자회로들의 양자 게이트 구성과 동일한 양자 게이트 구성을 갖는 양자회로들(U1~Uk), 상기 학습 대상 양자회로들의 양자 게이트 구성보다 더 많은 개수의 양자 게이트 구성을 갖는 양자회로들(U1~Uk+l), 상기 학습 대상 양자회로들의 양자 게이트 구성과 다른 양자 게이트 구성을 갖는 양자회로들(V1~Vj)을 포함할 수 있다. 이때, 상기 보정 대상 양자회로들은 미리 결정된 개수 이하의 양자 게이트들을 구비하는 양자회로들일 수 있다. 가령, 상기 보정 대상 양자회로들은 20개 이하의 양자 게이트를 갖는 양자회로들일 수 있다.The quantum circuits to be corrected are quantum circuits (U 1 to U k ) that have the same quantum gate configuration as the quantum gate configurations of the learning target quantum circuits, and have a greater number of quantum gate configurations than the quantum gate configurations of the learning target quantum circuits. It may include quantum circuits (U 1 to U k+l ) and quantum circuits (V 1 to V j ) having quantum gate configurations different from the quantum gate configurations of the quantum circuits to be learned. At this time, the quantum circuits to be corrected may be quantum circuits having quantum gates less than a predetermined number. For example, the quantum circuits subject to correction may be quantum circuits having 20 or less quantum gates.

이처럼, 본 발명은 상대적으로 깊이가 짧은 양자 게이트 구성을 갖는 양자회로들을 기반으로 H-CNN 모델을 학습시키고, 상대적으로 깊이가 긴 양자 게이트 구성을 갖는 양자회로들에 대해서는 미리 학습된 H-CNN 모델을 적용하여 양자회로들의 에러를 보정하게 된다.In this way, the present invention trains an H-CNN model based on quantum circuits with a quantum gate configuration with a relatively short depth, and a pre-trained H-CNN model for quantum circuits with a quantum gate configuration with a relatively long depth. is applied to correct errors in quantum circuits.

도 15는 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 구성 블록도이다.Figure 15 is a block diagram of a computing device according to an embodiment of the present invention.

도 15를 참조하면, 본 발명의 일 실시 예에 따른 컴퓨팅 장치(1500)는 적어도 하나의 프로세서(1510), 컴퓨터 판독가능 저장매체(1520) 및 통신 버스(1530)를 포함한다. 상기 컴퓨팅 장치(1500)는 상술한 양자회로 에러 보정 장치 또는 상기 양자회로 에러 보정 장치에 포함되는 하나 이상의 컴포넌트일 수 있다.Referring to FIG. 15, a computing device 1500 according to an embodiment of the present invention includes at least one processor 1510, a computer-readable storage medium 1520, and a communication bus 1530. The computing device 1500 may be the above-described quantum circuit error correction device or one or more components included in the quantum circuit error correction device.

프로세서(1510)는 컴퓨팅 장치(1500)로 하여금 앞서 언급된 예시적인 실시 예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(1510)는 컴퓨터 판독가능 저장매체(1520)에 저장된 하나 이상의 프로그램들(1525)을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(1510)에 의해 실행되는 경우 컴퓨팅 장치(1500)로 하여금 예시적인 실시 예에 따른 동작들을 수행하도록 구성될 수 있다.The processor 1510 may enable the computing device 1500 to operate according to the above-mentioned exemplary embodiment. For example, the processor 1510 may execute one or more programs 1525 stored in the computer-readable storage medium 1520. The one or more programs may include one or more computer-executable instructions, which, when executed by the processor 1510, cause the computing device 1500 to perform operations according to example embodiments. It can be.

컴퓨터 판독가능 저장매체(1520)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독가능 저장매체(1520)에 저장된 프로그램(1525)은 프로세서(1510)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시 예에서, 컴퓨터 판독가능 저장매체(1520)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(1500)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-readable storage medium 1520 is configured to store computer-executable instructions or program code, program data, and/or other suitable forms of information. The program 1525 stored in the computer-readable storage medium 1520 includes a set of instructions executable by the processor 1510. In one embodiment, computer-readable storage medium 1520 includes memory (volatile memory, such as random access memory, non-volatile memory, or an appropriate combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash. It may be memory devices, another form of storage medium that can be accessed by computing device 1500 and store desired information, or a suitable combination thereof.

통신 버스(1530)는 프로세서(1510), 컴퓨터 판독가능 저장매체(1520)를 포함하여 컴퓨팅 장치(1500)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 1530 interconnects various other components of computing device 1500, including processor 1510 and computer-readable storage medium 1520.

컴퓨팅 장치(1500)는 또한 하나 이상의 입출력 장치(1550)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(1540) 및 하나 이상의 네트워크 통신 인터페이스(1560)를 포함할 수 있다. 입출력 인터페이스(1540) 및 네트워크 통신 인터페이스(1560)는 통신 버스(1530)에 연결된다.Computing device 1500 may also include one or more input/output interfaces 1540 and one or more network communication interfaces 1560 that provide an interface for one or more input/output devices 1550 . The input/output interface 1540 and the network communication interface 1560 are connected to the communication bus 1530.

입출력 장치(1550)는 입출력 인터페이스(1540)를 통해 컴퓨팅 장치(1500)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(1550)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(1550)는 컴퓨팅 장치(1500)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(1500)의 내부에 포함될 수도 있고, 컴퓨팅 장치(1500)와는 구별되는 별개의 장치로 컴퓨팅 장치(1500)와 연결될 수도 있다.Input/output device 1550 may be connected to other components of computing device 1500 through input/output interface 1540. Exemplary input/output devices 1550 include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touch screen), a voice or sound input device, various types of sensor devices, and/or an imaging device. It may include input devices and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 1550 may be included within the computing device 1500 as a component constituting the computing device 1500, or may be connected to the computing device 1500 as a separate device distinct from the computing device 1500. It may be possible.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above-described present invention can be implemented as computer-readable code on a program-recorded medium. Computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

700: DNN 모델 1200: H-CNN 모델
710/1210: 입력층 720/730/1220: 은닉층
740/1230: 출력층 1500: 컴퓨팅 장치
1510: 프로세서 1520: 컴퓨터 판독가능 저장매체
1530: 통신 버스
700: DNN model 1200: H-CNN model
710/1210: input layer 720/730/1220: hidden layer
740/1230: Output layer 1500: Computing device
1510: Processor 1520: Computer-readable storage medium
1530: Communication Bus

Claims (15)

양자 컴퓨터에서의 양자회로 에러 보정 방법에 있어서,
상기 양자 컴퓨터를 구성하는 복수의 양자회로들 중 보정 대상의 양자회로를 검출하는 단계;
상기 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 호출하는 단계;
상기 호출된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하는 단계; 및
상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 단계를 포함하되,
상기 딥러닝 모델이 심층 신경망(Deep neural network, DNN) 모델인 경우,
상기 DNN 모델의 독립 변수는, 상기 양자회로의 깊이 a와 깊이 b 사이에 위치하는 유니터리들의 1-큐비트 게이트 개수 정보(G1(a:b)), 양자회로의 깊이 a와 깊이 b 사이에 위치하는 유니터리들의 2-큐비트 게이트 개수 정보(G2(a:b)), 양자회로의 깊이 a에 위치하는 유니터리의 에러 정보() 및 양자회로의 깊이 b에 위치하는 유니터리의 측정 결과 확률 정보() 중 적어도 하나를 포함하며,
상기 보정 단계는, 상기 검출된 양자회로의 실제 출력을 측정한 결과 값에서 상기 추론된 에러 보정 값을 차감하여 해당 양자회로에 존재하는 에러를 보정하는 것을 특징으로 하는 양자회로 에러 보정 방법.
In a quantum circuit error correction method in a quantum computer,
Detecting a quantum circuit to be corrected among a plurality of quantum circuits constituting the quantum computer;
calling a pre-trained deep learning model to correct errors in the plurality of quantum circuits;
inferring an error correction value of the detected quantum circuit using the called deep learning model; and
Comprising the step of correcting the error of the detected quantum circuit based on the inferred error correction value,
If the deep learning model is a deep neural network (DNN) model,
The independent variable of the DNN model is information on the number of 1-qubit gates (G 1 (a:b)) of unitaries located between depth a and depth b of the quantum circuit, between depth a and depth b of the quantum circuit. Information on the number of 2-qubit gates of unitaries located in (G 2 (a:b)), error information of unitaries located at depth a of the quantum circuit ( ) and probability information of the measurement result of the unitary located at depth b of the quantum circuit ( ) Contains at least one of,
The correction step is a quantum circuit error correction method characterized in that the error existing in the quantum circuit is corrected by subtracting the inferred error correction value from the result of measuring the actual output of the detected quantum circuit.
제1항에 있어서,
상기 검출된 양자회로에 대응하는 딥러닝 모델의 입력 데이터를 검출하는 단계를 더 포함하는 양자회로 에러 보정 방법.
According to paragraph 1,
A quantum circuit error correction method further comprising detecting input data of a deep learning model corresponding to the detected quantum circuit.
제2항에 있어서, 상기 추론 단계는,
상기 검출된 입력 데이터를 상기 딥러닝 모델에 입력하여 상기 에러 보정 값을 추론하는 것을 특징으로 하는 양자회로 에러 보정 방법.
The method of claim 2, wherein the inference step is,
A quantum circuit error correction method, characterized in that the error correction value is inferred by inputting the detected input data into the deep learning model.
삭제delete 제1항에 있어서,
각각의 양자회로는 복수의 양자 게이트들에 대응하는 복수의 유니터리들(Unitary)의 조합으로 구성되는 것을 특징으로 하는 양자회로 에러 보정 방법.
According to paragraph 1,
A quantum circuit error correction method, wherein each quantum circuit is composed of a combination of a plurality of unitaries corresponding to a plurality of quantum gates.
삭제delete 삭제delete 제1항에 있어서,
상기 DNN 모델의 종속 변수는 양자회로의 깊이 b에 위치하는 유니터리의 에러 보정 정보()를 포함하는 것을 특징으로 하는 양자회로 에러 보정 방법.
According to paragraph 1,
The dependent variable of the DNN model is the error correction information of the unitary located at depth b of the quantum circuit ( ) Quantum circuit error correction method comprising:
제8항에 있어서,
상기 양자회로의 깊이 b에 위치하는 유니터리의 에러 정보()는, 상기 DNN 모델의 학습 과정에서 손실 함수(loss function)를 계산하기 위해 사용되는 것을 특징으로 하는 양자회로 에러 보정 방법.
According to clause 8,
Error information of the unitary located at depth b of the quantum circuit ( ) is a quantum circuit error correction method, characterized in that it is used to calculate a loss function in the learning process of the DNN model.
양자 컴퓨터에서의 양자회로 에러 보정 방법에 있어서,
상기 양자 컴퓨터를 구성하는 복수의 양자회로들 중 보정 대상의 양자회로를 검출하는 단계;
상기 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 호출하는 단계;
상기 호출된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하는 단계; 및
상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 단계를 포함하되,
상기 딥러닝 모델이 합성곱 신경망(Hybrid Convolutional Neural Network, H-CNN) 모델인 경우,
상기 H-CNN 모델의 독립 변수는, 양자회로의 큐비트 i와 큐비트 j 사이의 게이트 개수를 나타내는 게이트 행렬 정보(G'ij), 양자회로의 깊이 a에 위치하는 유니터리의 제1 로컬 에러 정보(), 양자회로의 깊이 b에 위치하는 유니터리의 제2 로컬 에러 정보(), 양자회로의 타겟 상태 정보(t), 양자회로의 깊이 b에 위치하는 유니터리의 타겟 측정 결과 확률 정보() 중 적어도 하나를 포함하며,
상기 보정 단계는, 상기 검출된 양자회로의 실제 출력을 측정한 결과 값에서 상기 추론된 에러 보정 값을 차감하여 해당 양자회로에 존재하는 에러를 보정하는 것을 특징으로 하는 양자회로 에러 보정 방법.
In a quantum circuit error correction method in a quantum computer,
Detecting a quantum circuit to be corrected among a plurality of quantum circuits constituting the quantum computer;
calling a pre-trained deep learning model to correct errors in the plurality of quantum circuits;
inferring an error correction value of the detected quantum circuit using the called deep learning model; and
Comprising the step of correcting the error of the detected quantum circuit based on the inferred error correction value,
If the deep learning model is a Hybrid Convolutional Neural Network (H-CNN) model,
The independent variables of the H-CNN model are gate matrix information (G' ij ) indicating the number of gates between qubit i and qubit j of the quantum circuit, and the first local error of the unitary located at depth a of the quantum circuit. information( ), the second local error information of the unitary located at depth b of the quantum circuit ( ), target state information of the quantum circuit (t), target measurement result probability information of the unitary located at depth b of the quantum circuit ( ) and includes at least one of
The correction step is a quantum circuit error correction method characterized in that the error existing in the quantum circuit is corrected by subtracting the inferred error correction value from the result of measuring the actual output of the detected quantum circuit.
제10항에 있어서,
상기 H-CNN 모델의 학습 과정에서, 상기 게이트 행렬 정보(G'ij)는 하나 이상의 컨볼루션층, 풀링층 및 완결 연결층을 통해 전 처리되어 상기 H-CNN 모델의 입력층으로 입력되는 것을 특징으로 하는 양자회로 에러 보정 방법.
According to clause 10,
In the learning process of the H-CNN model, the gate matrix information (G' ij ) is pre-processed through one or more convolution layers, pooling layers, and fully connected layers and input to the input layer of the H-CNN model. Quantum circuit error correction method.
제10항에 있어서,
상기 H-CNN 모델의 종속 변수는 양자회로의 깊이 b에 위치하는 유니터리의 타겟 에러 정보()를 포함하는 것을 특징으로 하는 양자회로 에러 보정 방법.
According to clause 10,
The dependent variable of the H-CNN model is the target error information of the unitary located at depth b of the quantum circuit ( ) Quantum circuit error correction method comprising:
제12항에 있어서,
상기 양자회로의 깊이 b에 위치하는 유니터리의 타겟 에러 정보()는, 상기 H-CNN 모델의 학습 과정에서 손실 함수(loss function)를 계산하기 위해 사용되는 것을 특징으로 하는 양자회로 에러 보정 방법.
According to clause 12,
Target error information of the unitary located at depth b of the quantum circuit ( ) is a quantum circuit error correction method, characterized in that it is used to calculate a loss function in the learning process of the H-CNN model.
제1항 내지 제3항, 제5항, 제8항 내지 제13항 중 어느 하나의 항에 따른 방법이 컴퓨터 상에서 실행될 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium so that the method according to any one of claims 1 to 3, 5, and 8 to 13 can be executed on a computer. 양자 컴퓨터를 구성하는 복수의 양자회로들의 에러 보정을 위해 미리 학습된 딥러닝 모델을 저장하는 메모리; 및
상기 복수의 양자회로들 중 보정 대상의 양자회로를 검출하고, 상기 메모리에 저장된 딥러닝 모델을 이용하여 상기 검출된 양자회로의 에러 보정 값을 추론하며, 상기 추론된 에러 보정 값을 기반으로 상기 검출된 양자회로의 에러를 보정하는 프로세서를 포함하되,
상기 프로세서는, 상기 검출된 양자회로의 실제 출력을 측정한 결과 값에서 상기 추론된 에러 보정 값을 차감하여 해당 양자회로에 존재하는 에러를 보정하며,
상기 딥러닝 모델이 심층 신경망(Deep neural network, DNN) 모델인 경우,
상기 DNN 모델의 독립 변수는, 상기 양자회로의 깊이 a와 깊이 b 사이에 위치하는 유니터리들의 1-큐비트 게이트 개수 정보(G1(a:b)), 양자회로의 깊이 a와 깊이 b 사이에 위치하는 유니터리들의 2-큐비트 게이트 개수 정보(G2(a:b)), 양자회로의 깊이 a에 위치하는 유니터리의 에러 정보() 및 양자회로의 깊이 b에 위치하는 유니터리의 측정 결과 확률 정보() 중 적어도 하나를 포함하는 것을 특징으로 하는 양자회로 에러 보정 장치.
A memory that stores a deep learning model learned in advance for error correction of a plurality of quantum circuits constituting a quantum computer; and
Detecting a quantum circuit to be corrected among the plurality of quantum circuits, inferring an error correction value of the detected quantum circuit using a deep learning model stored in the memory, and detecting the error correction value based on the inferred error correction value. Includes a processor that corrects errors in the quantum circuit,
The processor corrects errors existing in the quantum circuit by subtracting the inferred error correction value from the result of measuring the actual output of the detected quantum circuit,
If the deep learning model is a deep neural network (DNN) model,
The independent variable of the DNN model is information on the number of 1-qubit gates (G 1 (a:b)) of unitaries located between depth a and depth b of the quantum circuit, between depth a and depth b of the quantum circuit. Information on the number of 2-qubit gates of unitaries located in (G 2 (a:b)), error information of unitaries located at depth a of the quantum circuit ( ) and probability information of the measurement result of the unitary located at depth b of the quantum circuit ( ) A quantum circuit error correction device comprising at least one of the following:
KR1020210027981A 2020-10-08 2021-03-03 Method for mitigating an error of quantum circuit and apparatus thereof KR102669448B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/493,091 US20220114047A1 (en) 2020-10-08 2021-10-04 Method for mitigating error of quantum circuit and apparatus thereof
EP21201624.0A EP3982304A1 (en) 2020-10-08 2021-10-08 Method for mitigating error of quantum circuit and apparatus thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20200130044 2020-10-08
KR1020200130044 2020-10-08
KR1020200175727 2020-12-15
KR20200175727 2020-12-15

Publications (2)

Publication Number Publication Date
KR20220047128A KR20220047128A (en) 2022-04-15
KR102669448B1 true KR102669448B1 (en) 2024-05-28

Family

ID=81211884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027981A KR102669448B1 (en) 2020-10-08 2021-03-03 Method for mitigating an error of quantum circuit and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102669448B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240018909A (en) 2022-08-03 2024-02-14 경희대학교 산학협력단 Apparatus and method for classifying quantum states in quantum information integrated processing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170364362A1 (en) * 2016-06-15 2017-12-21 University Of Southern California Nested quantum annealing correction
US20190044542A1 (en) * 2018-05-05 2019-02-07 Justin Hogaboam Apparatus and method including neural network learning to detect and correct quantum errors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170364362A1 (en) * 2016-06-15 2017-12-21 University Of Southern California Nested quantum annealing correction
US20190044542A1 (en) * 2018-05-05 2019-02-07 Justin Hogaboam Apparatus and method including neural network learning to detect and correct quantum errors

Also Published As

Publication number Publication date
KR20220047128A (en) 2022-04-15

Similar Documents

Publication Publication Date Title
CN109754078B (en) Method for optimizing a neural network
US11151450B2 (en) System and method for generating explainable latent features of machine learning models
JP6574503B2 (en) Machine learning method and apparatus
US10832138B2 (en) Method and apparatus for extending neural network
MacKay A practical Bayesian framework for backpropagation networks
WO2020072981A1 (en) Quantum convolutional neural networks
CN112308204A (en) Automated neural network generation using fitness estimation
Ponnapalli et al. A formal selection and pruning algorithm for feedforward artificial neural network optimization
CN113496247A (en) Estimating an implicit likelihood of generating a countermeasure network
US20220156508A1 (en) Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation
KR102695519B1 (en) Method and device to build image model
US20200265307A1 (en) Apparatus and method with multi-task neural network
WO2018053464A1 (en) Systems and methods for deep learning with small training sets
US20230018960A1 (en) Systems and methods of assigning a classification to a state or condition of an evaluation target
EP3982304A1 (en) Method for mitigating error of quantum circuit and apparatus thereof
Rawat et al. Minimizing validation error with respect to network size and number of training epochs
Gorse et al. The new ERA in supervised learning
KR102669448B1 (en) Method for mitigating an error of quantum circuit and apparatus thereof
Singh et al. Multilayer feed forward neural networks for non-linear continuous bidirectional associative memory
WO2022197615A1 (en) Techniques for adaptive generation and visualization of quantized neural networks
KR102110316B1 (en) Method and device for variational interference using neural network
Sajadimanesh et al. NISQ-Friendly Non-Linear Activation Functions for Quantum Neural Networks
WO2022077345A1 (en) Method and apparatus for neural network based on energy-based latent variable models
Shrestha et al. Artificial Neural Network (ANN) beyond cots remote sensing packages: Implementation of Extreme Learning Machine (ELM) in MATLAB
US20230113786A1 (en) Artifact reduction for solutions to inverse problems

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant