Quantum Neural Network and Quantum Kernel Methods, how are they the same and different?
머신러닝은 현재 전세계의 학계 중 가장 주목을 받고 있는 분야 중 하나입니다.
머신러닝은 다양한 분야에 응용되어 혁신적인 성과를 내고 있으며 최근에는 Open AI에서 나온 ChatGPT가 엄청난 성능을 보여주며 많은 사람들을 놀라게 했습니다.
이런 와중이기에 양자 컴퓨팅 학계 또한 머신러닝에 양자컴퓨팅을 접목하고자 하고 있습니다. 이 분야를 바로 양자 머신러닝 (Quantum Machine Learning)이라고 합니다.
Quantum Neural Network와 Quantum Kernel Methods는 현재 양자 머신러닝에서 가장 좋은 성능을 보여주고 있는 모델 중 하나입니다.
이 두 모델은 다른 듯 같으며 같은 듯 다릅니다. 이번 포스팅에서는 이들의 공통점과 차이점에 대해서 다루어 보려고 합니다.
우선 두 모델의 공통점부터 이야기해봅시다. 이 모델의 공통점을 이야기하기 위해서는 배경이야기가 좀 더 필요합니다.
데이터 사이언스에서 모델은 인풋을 넣으면 아웃풋을 반환하는 기계로 생각할 수 있습니다. 두 모델은 그 중에서도 부품이 너무 많아 내부 원리를 알 수 없는 비모수적 모형 (Nonparametric Function)로 분류할 수 있습니다.
대부분의 비모수적 모형에서는 모델 내부로 들어온 데이터를 변형하고 합쳐서 아웃풋을 만드는데 가장 필요한 정보의 형태로 가공하는 프로세스가 있습니다. 수학적으로는 모델 내부로 들어온 데이터 (인풋)을 잘 정제하여 정보가 있는 공간인 피쳐 스페이스로 맵핑시킨다고 표현합니다.
QNN과 QKM도 마찬가지로 이러한 피쳐 스페이스에 대한 맵핑 과정이 포함되며 특히나 Quantum Feature Space로 맵핑을 시킵니다. 이 Quantum Feature Space는 양자컴퓨터 특유의 매우 거대한 공간을 가질 수 있습니다. 학자들은 이러한 Quantum Feature Space의 잠재력을 사용하여 Classical Machine Learning보다 더 좋은 성능을 내기 위해 노력하고 있습니다.
정리하자면 QNN과 QKM은 공통적으로 데이터를 거대한 양자 피쳐 스페이스로 맵핑시켜서 더 크고 정확하고 세밀한 정보처리를 하려고 하는 모형이라고 말할 수 있습니다.
그외의 공통점으로는 지난 포스팅에서 얘기한 대로 두 모델 모두 고전컴퓨터의 역할이 중요한 하이브리드 퀀텀 알고리즘이라는 점이 있습니다.
그러나 두 모형은 적지 않은 차이점을 가지고 있습니다.
Traning Procedure of Quantum Neural Network and Quantum Kernel Methods
첫번째로 두 모형에 고전컴퓨터와 양자컴퓨터가 학습에 사용되는 방식입니다. 두 모델 모두 머신 “러닝” 모델인 만큼 데이터를 학습하는 과정이 필요합니다. 이 학습과정에서는 두 모델 모두 양자컴퓨터와 고전컴퓨터를 사용해야 합니다.
QNN에서는 순수하게 양자 회로를 이용해서 모델의 틀을 만들어둔 후 고전 컴퓨터를 이용하여 모델의 파라미터 들을 조정합니다. 이 과정에서는 마치 위의 그림과 같이 양자 -> 고전 -> 양자 -> 고전과 같이 계속 상호작용하면서 학습을 합니다. 모델이 학습이 된 이후에 QNN은 고전컴퓨터를 오직 모델의 관리에만 사용합니다.
반면 QKM에서는 양자 컴퓨터를 이용해서 모형의 기반이 되는 커널 행렬이라는 것을 계산한 후 고전컴퓨터를 이용해서 모형을 완성하는 방식입니다. 따라서 QKM은 1차로 양자 컴퓨터를 이용해 커널 행렬을 학습한 후 2차로 고전컴퓨터를 이용해 모형을 완성하는 two-stage learning에 가까운 느낌입니다. QKM에서는 모델의 학습이 완료된 이후에도 양자 컴퓨터와 고전컴퓨터를 모두 사용해야 합니다.
양자 컴퓨터와 고전컴퓨터는 각각 그 사용 비용이 다르므로 두 모형 또한 전체적인 비용이 달라지게 됩니다. 이는 사용한 모델과 데이터에 따라 달라지므로 비용을 미리 예상하여 비교할 필요가 있습니다.
Inference Procedure of Quantum Neural Network and Quantum Kernel Methods
두번째 차이점은 두 모형의 Inference Cost입니다. Inference Cost는 완성된 모형을 사용해서 새로운 데이터의 아웃풋을 예측할때 드는 비용입니다. 이와 대비해서 모형을 완성하는데에 드는 비용을 Training cost라고 합니다.
QNN에서 완성된 모형을 사용하려면 양자컴퓨터에 완성된 모형을 입력한 후 새로운 데이터를 집어넣으면 됩니다. 이때 양자 컴퓨터를 사용하는 횟수는 그냥 Shot의 개수만큼이면 되고 이것이 일반적 루틴임을 감안한다면 오직 1번의 결과값만 보면 됩니다.
QKM에서는 새로운 데이터와 기존의 데이터 간의 관계성을 모두 계산한 다음 이를 이용해서 아웃풋을 평가해야 합니다. 이때 관계성을 계산하는데 양자컴퓨터를 사용하게 되므로 필연적으로 양자 컴퓨터를 여러번 사용해야 합니다.
기본적으로는 이 횟수는 학습시킨 데이터의 개수만큼 필요합니다. 즉 1000개의 데이터를 이용해서 학습했다면 양자 컴퓨터를 1000번 사용해야 하나의 아웃풋을 예측할 수 있습니다.
이 횟수는 축소를 할 수 있지만 QNN은 오직 한번만 사용하면 되기에 비교가 안되는 부분이죠.
Examples of Kernel Models
그렇다면 QKM에는 장점이 없을까요? 다행히 QKM에도 나름의 장점이 있습니다.
전술한 대로 QKM을 사용하기 위해서는 양자컴퓨터를 이용해 데이터들 간의 관계성을 계산해주어야 합니다. 이를 커널 행렬이라고 합니다. 그러나 이후의 과정은 모두 고전 컴퓨터가 담당합니다.
이 부분에서 QKM의 장점이 발생하는데, 한번 커널 행렬이 계산된다면 나머지 부분은 순전히 고전적인 기법이기에 기존의 커널 모델들을 활용할 수 있다는 점입니다.
커널 모델은 데이터 사이언스에서도 매우 오래동안 연구되고 있던 학문이기에 많은 응용기법들이 있습니다. 대표적으로는 Kernel Density Estimation, Kernel Regression , Kernel Principal Component Analysis, Kernel Support Vector Machine 등이 있습니다. 이 모든 알고리즘을 양자컴퓨터로 곧바로 구현할 수 있습니다.
따라서 모형을 새로 개발해야하는 QNN과는 달리 이미 많은 모델들이 존재한다는 장점이 있습니다.
여기까지 QNN과 QKM에 대해서 살펴보았습니다. 현재까지는 위에서 거론한 장단점들이 실제로도 유의미할지는 알 수 없습니다. 두 알고리즘을 상용화 하여 제품을 만드려면 아직은 2~3년 정도 양자컴퓨터가 더 발전할 필요가 있기 때문입니다.
그럼에도 이러한 점들을 숙지한다면 QML을 실제로 사용하는 데 좀 더 유리한 점을 가져갈 것이라고 생각됩니다.
KQC는 상용 양자 알고리즘 및 소프트웨어의 연구/개발을 학계와 업계의 협업을 통해 진행하고 있는 회사입니다. 새로운 기술과 영역에 도전하고 싶은 데이터 사이언티스트는 물론 양자 컴퓨팅을 활용하고자 하는 기업들의 연락을 기다립니다.
https://www.kqchub.com/contactus를 방문하셔서 form을 작성하시거나, info@kqchub.com으로 연락주세요.