본문 바로가기
전공백서/컴퓨터공학부

컴퓨터공학부: 양자 컴퓨팅 및 정보의 기초

by STEMSNU 2023. 12. 22.

 

 

안녕하세요! 저는 공우 12기 재료공학부 김호현입니다. 오늘은 여러분께 컴퓨터공학부의 전공 선택 과목 <양자 컴퓨팅 및 정보의 기초>를 소개해 드리겠습니다.

1. 과목에서 배울 수 있는 내용

한 학기 동안 크게 5가지 주제(선형 대수/양자역학/큐빗 게이트 연산/양자 알고리즘/양자 컴퓨터의 물리적 구현)를 공부하며 양자 컴퓨팅과 양자 정보 분야를 이해하게 됩니다.

1.1. 선형 대수

학기 초에 시간을 충분히 할애하여 기초적인 선형대수학 내용을 톺아보는 시간을 가집니다. 벡터합과 스칼라곱이 정의되는 벡터 공간 (Vector space) 에 대해서 배우고, 여기에 내적이 추가적으로 정의된 내적 공간 (Inner product space) 에 대해 배웁니다. 그리고 벡터 공간 상에서 벡터를 다른 벡터로 변환해주는 다양한 연산자 (Operator) 에 대해 배웁니다. 이때 주요하게 다루는 연산자의 종류는 고유값으로 오직 실수만을 갖는 에르미트 연산자 (Hermitian operator) 와 내적의 크기를 보존하는 유니터리 연산자 (Unitary operator) 인데, 두 이름은 학기가 끝날 때까지 반복해서 등장하므로 이 기간에 잘 공부해두는 것이 좋습니다.

마지막으로는 벡터를 표현하는 방법 중 하나인 열 벡터 표현 (Column vector representation)브라켓 표현 (Bra-ket notation) 을 공부합니다. 특히 열 벡터 표현을 사용하면 연산자를 행렬로 나타낼 수 있고, 자연스럽게 행렬의 고유값 문제 (Eigenvalue problem)대각화 (Diagonalization) 로 연결되기 때문에 중요합니다. 브라켓 표현은 양자역학에서 상태를 표현하는 가장 대표적인 방식이고, 본 수업뿐만 아니라 양자 컴퓨팅과 양자 정보 관련 대다수 문헌에서 사용하고 있으므로 잘 익혀 두어야 합니다. 열 벡터 표현 하에서 행렬을 대각화하고, 기저 변환 (Basis transformation) 을 통해 다르게 표현하는 방식을 익히면서 선형 대수 복습은 끝이 납니다.

1.2. 양자역학

선형 대수 복습이 끝나면 양자역학의 개론을 훑게 되며, 특히 양자역학의 3가지 공리 (Postulate) 를 중점으로 앙자역학의 원리를 이해하게 됩니다. 첫 번째 공리는 입자의 상태 (state) 가 벡터 공간 중 하나인 힐베르트 공간 (Hilbert space) 의 벡터로 표현된다는 것입니다. 간단하지만 중요한 공리로, 이로 인해 우리는 어떤 양자 상태를 하나의 켓 벡터 (ket vector) , 즉 $|\psi\rangle$ 로 표현할 수 있습니다. 두 번째 공리는 “닫혀 있는” 양자 계의 시간에 따른 변화를 유니터리 변환 (Unitary transformation) 으로 나타낼 수 있다는 것입니다. 특히 한 양자 계의 에너지 연산자인 해밀토니안 (Hamiltonian) 이 주어질 경우, 그 계의 시간에 따른 변화를 나타내는 유니터리 연산자는 시간-의존 슈뢰딩거 방정식 (Time-dependent Schrodinger equation) 에 의해 아래와 같이 주어집니다:

$$\hat{U}(t-t_0) = \exp(-i\hat{H}(t-t_{0})/\hbar)$$


마지막 세 번째 공리는 어떤 상태 $|\psi\rangle$의 물리량 $\Omega$를 측정 (measure) 했을 때, 어떤 고유값 $\omega_i$를 얻을 확률이 $P(\omega_i) \propto |\langle\omega_i|\psi\rangle|^2$ 로 주어진다는 코펜하겐 해석 (Copenhagen interpretation) 입니다. 특히 이 측정에 의해 계의 상태는 측정된 고유값에 해당하는 고유상태로 붕괴 (collapse) 한다는 것이 세번째 공리의 핵심입니다. 수업에서는 대표적인 2-level system 중 하나인 빛의 편광을 이용하여 세 공리의 물리적 의미를 더욱 직관적으로 이해하였습니다.

1.3. 큐비트 게이트 연산

복습이 끝난 뒤 본격적으로 고전적인 비트 (classical bit) 에 대응되는 큐비트 (qubit) 와, 큐비트를 이용한 연산 방식을 공부합니다. 고전적인 비트가 0과 1의 이산값을 갖는 것에 비해, 큐비트는 0과 1의 상태가 중첩 (superposed) 된 양자 상태로 아래와 같이 표현됩니다.

$$|\psi\rangle = \cos(\theta / 2) | 0 \rangle + \sin(\theta / 2) e^{i \phi} | 1 \rangle$$

이런 상태는 Bloch sphere 을 이용하여 3차원 공간 상에서 표현할 수 있습니다. 또한 이 상태들은 Single-qubit gate 연산을 통해 다른 상태로 바뀔 수가 있습니다. 이 gate에는 $X$, $Y$, $Z$ 등 다양한 종류가 있는데, 각각의 이름은 Bloch sphere 상에서 각각 $X$축, $Y$축, 그리고 $Z$축에 대한 180도 회전을 의미합니다. 주목해야 할 사실은 바로 Single-qubit gate가 모두 unitary operator에 해당 하며, Bloch sphere 상에서 특정한 축에 대한 특정 각도만큼의 회전에 대응 된다는 것입니다. Single-qubit gate 이후에는 tensor product로 주어진 multiple qubits state에 작용하는 Multiple qubit gate에 대해 배웁니다. 한 큐빗의 상태에 따라 다른 큐빗에 적용되는 gate가 달라지는 Controlled gate에 대해서 주로 공부하며, 여기서 기억해야 할 사실은 multiple qubit gate를 적용해 두 큐빗 간의 entanglement를 만들어낼 수 있다는 것입니다. Entanglement는 쉽게 말해 한 큐빗에서의 측정이 다른 큐빗에서의 상태에 영향을 주는 것을 의미합니다. 수업 시간에는 흔히 ‘빛보다 빠른 통신’으로 오해받는 Quantum teleportation을 통해 entanglement를 이용하고 왜 이것이 빛보다 빠른 통신이 될 수 없는지도 이해하게 됩니다. 이외에도 동일한 양자 상태를 복제할 수 없다는 No cloning theorem과 양자 알고리즘의 기초가 되는 연산 방식인 Quantum parallelism을 공부합니다.

1.4. 양자 알고리즘

학기 종반부에 이르러, 본격적으로 여러 양자 알고리즘을 공부합니다. 어떤 함수가 상수함수인지 아닌지를 ‘단 한 번의 연산’으로 알아내는 Deutsch-Jozsa algorithm, Quantum Fourier Transform (QFT)라는 방식을 이용하여 어떤 합성수의 소인수 분해를 다항 시간 내에 해결하는 Shor’s algorithm, 크기 N의 탐색 공간으로부터 M개의 해를 찾는 문제를 $O(N/M)$의 시간이 걸리는 고전 알고리즘에 비해 $O(\sqrt{N/M})$ 시간 내에 훨씬 빠르게 해결하는 Grover search algorithm을 공부합니다. 또한, no-cloning theorem과 superposition principle에 기반하여 도청 가능성을 쉽게 확인할 수 있는 양자 통신 기법 중 하나인 Quantum key distribution (QKD) 중, 제일 잘 알려진 BB84 protocolE91 protocol을 공부하고, 양자역학의 공리를 반박하는 EPR 역설을 반박한 실험 방법인 CHSH measurement에 대해서도 공부합니다. 특히 CHSH 중 첫 글자의 주인공이신 John Clauser는 이 실험으로 2022년 노벨 물리학상을 수상하시기도 한 만큼 역사적으로도 매우 중요한 실험입니다. 후반부에는 양자 컴퓨터 상용화의 bottleneck인 error mitigation 문제를 해결하기 위한 error correction algorithm을 공부합니다. 학기 중에 다양한 양자정보 관련 기업으로부터 연사님을 모셔와 특강을 진행하기도 하고, IBM에서 제공하는 qiskit 등 양자 컴퓨팅 언어를 이용해 양자 회로를 작성하여 양자 컴퓨팅 시뮬레이션을 직접 해 볼 수 있는 기회도 제공됩니다.

1.5. 양자컴퓨터의 물리적 구현

양자 컴퓨터가 상용화되기 위해서는 0과 1의 중첩 상태를 물리적으로 구현하기 위한 two-level system을 잘 만드는 것이 중요합니다. 특히 two-level system에 저장된 중첩 상태는 주변에 의한 열적 평형 (thermalization)이나 외부 환경으로의 decoherence 등으로 인해 정보가 유지되는 시간이 - 수준으로 굉장히 짧습니다. 따라서 정보를 오래 유지할 수 있는 물리적인 시스템 즉 좋은 큐빗을 만드는 것이 양자정보 분야가 당면한 최우선 과제이고, 수업에서 교수님이 어떠한 전략이 양자컴퓨터 상용화를 앞두고 경쟁하고 있는지 소개해 주십니다. 빛의 편광을 이용한 큐빗, 초전도 회로를 이용한 큐빗, 이온이나 중성 원자를 이용한 큐빗 등 큐빗의 물리적 구현을 위한 다양한 시도들을 배울 수 있습니다.

이와 함께 종반부에는 밀도 행렬(density matrix) 을 이용한 양자 상태의 앙상블 (ensemble) 의 설명이나, 엔트로피 (entropy) 관점에서 설명하는 양자 정보 등도 다루게 됩니다.

2. 선배의 조언

이름은 양자 컴퓨팅이지만 양자역학이나 컴퓨터공학에 대한 배경 지식이 없어도 부담 없이 수강할 수 있는 과목입니다. 뒤에서 더 자세히 이야기하겠지만, 양자 컴퓨터의 물리적 구현에 관심이 없다면 물리에 관한 선행 지식은 거의 필요 없는 수준이고, 양자 알고리즘 자체도 고전적인 논리 연산과 매우 다르기 때문에 논리 설계나 알고리즘에 관한 선행 지식도 없어도 수강하는 데 무리가 없습니다.

교수님께서도 다양한 학과의 학생이 수강하는 만큼 학생들의 선행 지식 수준이 모두 다를 수 있음을 인지하고 계십니다. 해당 과목의 강의 녹화 영상이 SNUON과 유튜브에 모두 업로드 되어 있으므로, 선형 대수에 익숙하지 않거나 선행 지식이 필요하다고 느끼는 학생들은 해당 영상을 참고할 수도 있습니다. 선행 지식을 많이 필요로 하지 않는 만큼 많은 내용을 한 번씩 훑어가는 느낌으로 수업이 진행되므로, 1. 과목에서 배울 수 있는 내용에서 볼드체로 강조한 키워드를 중점으로 수업의 큰 흐름을 이해하는 것이 중요합니다.

추가로, 양자 알고리즘 파트로 넘어가면 교수님이 알고리즘이 어떻게 구현되는 지 그 중간 과정을 직접 계산해 보는 것에 시간을 많이 할애하십니다. Bra-ket notation을 사용하여 알고리즘의 중간 과정을 많이 유도하시기 때문에, 본인이 이 notation에 생소하다면 선형 대수와 양자역학을 리뷰하는 학기 초반에 충분히 익숙해지길 권합니다.

3. 진로 선택에 도움 되는 점

이 수업은 제가 알고 있는 한 서울대 학부 전공 과목 중 거의 유일하게 양자 컴퓨팅과 양자 정보를 직접적으로 다루는 수업입니다. 양자 컴퓨팅은 고전적인 컴퓨팅과 많이 동떨어져 있어 아무런 배경 지식 없이 접하게 되었을 때 이해하기가 쉽지 않습니다. 양자 컴퓨터와 양자 정보 분야 연구가 최근 급격한 관심을 갖고 있고, 향후 과학 및 공학 연구의 패러다임을 바꿀 것으로 주목받고 있는 만큼 이 수업을 통해 공부해 두면 어느 진로를 선택하던 공부한 내용이 도움이 될 것입니다. 물론 당장 연구 혹은 프로젝트를 진행할 때 이 과목을 통해 배운 내용이 크게 도움이 되지는 않을 것이라 생각합니다. 그러나 AI, 인공지능의 경우에도 불과 10년 전만 해도 아는 사람만 알고 대부분은 공상 과학 소설에 등장하는 말하는 인공지능 정도를 떠올리는 데 그쳤습니다. 지금에 이르러 AI가 과학 및 공학 연구의 중심에 서 있는 것처럼, 양자 컴퓨팅과 양자 정보도 언젠간 과학과 공학 분야의 종사자 모두가 반드시 알고 있어야 할 분야가 될 것이라고 생각합니다!

4. 맺음말

선행 지식이 많이 필요하지 않은 과목이라고 말했지만, 이는 반대로 기존에 연구되고 있던 분야와 결이 많이 다르므로 진입 장벽이 상당히 높은 분야이기도 합니다. 누군가는 몇 달 전 초전도체가 그랬던 것처럼, 그저 오래 살아남는 테마주 테마 중 하나로 치부해버릴지도 모릅니다. 그래도 우스갯소리로 살아생전 만들어질 리 없을 거라 여겨졌던 공상과학 3대장 (핵융합, 상온 초전도체, 양자컴퓨터) 중에서는 가장 실용화에 가까워진 분야이기도 합니다. 낭만과 모험심이 넘치는 사람, (필자처럼) 어려워 보이지만 성공하면 대박인 분야에 강한 흥미를 느끼는 사람들에게 이 과목을 강력하게 추천합니다.

댓글