News & Events
컨볼루션 신경망은 데이터 또는 모델 차원이 매우 클 경우 비효율적으로 학습하는 한계가 있다.
컨볼루션 신경망은 데이터 또는 모델 차원이 매우 클 경우 비효율적으로 학습하는 한계가 있다. 그래서, 오승혁 등은 복잡한 머신 러닝 과제를 해결하는 데 적용할 수 있는 더 효율적이고 우수한 기술을 개발하기 위해 양자 연산과 CNN을 활용하는 방법을 보여주었다. CNN과 양자 컴퓨팅을 통합하는 이 기술을 양자 컨볼루션 신경망(QCNN)이라고 한다. 해당 포스팅에서는 QCNN의 패러다임과 적용에 대해 깊이 있게 이해할 것이다. 이 글에서 논의해야 할 핵심 사항은 다음과 같다.
목차
- 스탠다드 CNN
- 양자 컴퓨팅이란?
- 양자신경망의 패러다임
- QCNN의 응용 프로그램
CNN이 과제를 다루는 방식을 수정하여 논의를 시작해보자.
스탠다드 CNN
많은 분류 모델 중에서 컨볼루션 신경망(CNN)은 컴퓨터 비전에서 뛰어난 성능을 입증했다. 사진과 실제 세계를 반영하는 다른 이미지들은 주변 픽셀 간의 상관관계가 높다.
딥러닝의 기본 모델인 완전 연결 계층이 머신러닝에서는 좋은 성적을 거뒀지만 상관 관계를 유지할 방법이 없다. 반면 CNN은 상관 관계 정보를 직접 저장할 수 있어 보다 정확한 성능 평가가 가능하다.
CNN은 주로 컨볼루션을 쌓고 레이어를 풀링하는 방식으로 작동한다. 컨볼루션 레이어는 주변 픽셀 간의 선형 조합을 사용하여 숨겨진 새로운 데이터를 찾는다. 풀링 레이어는 피쳐 맵을 축소하여 필요한 학습 리소스를 낮추고 과적합을 방지한다.
분류 결과는 이러한 레이어를 반복적으로 적용하여 데이터 크기를 충분히 줄인 후 완전히 완전 연결 레이어를 사용하여 얻는다. 더 나은 결과를 위해 획득한 라벨과 실제 라벨 사이의 손실은 경사 하강 방법 또는 다른 최적화 장치를 사용하여 모델을 훈련시키는 데 사용될 수 있다.
양자 컴퓨팅 시스템과 CNN 모델을 결합하여 양자 컨볼루션 신경망(QCNN)을 이용한 머신러닝으로 어려운 현실 세계의 문제를 해결할 수 있는 많은 연구가 발표되었다.
양자 시스템에 CNN 구조를 적용해 양자 물리 문제를 효율적으로 해결하는 방법과 기존에 CNN이 풀었던 문제에 양자 시스템을 추가해 성능을 향상시키는 방법이 있다.
본격적으로 QCNN으로 들어가기 전에, 우리는 먼저 양자 컴퓨팅과 계산이란 무엇인지 이해할 필요가 있다.
양자 컴퓨팅이란 무엇인가?
양자 컴퓨팅은 기존 컴퓨팅 기법으로는 해결할 수 없는 문제를 해결하는 새로운 방법으로 주목받고 있다. 양자 컴퓨터는 기존의 컴퓨터와는 다른 컴퓨팅 환경을 가지고 있다.
특히 양자 컴퓨터는 기존 컴퓨팅 환경에서 볼 수 없었던 중첩과 얽힘을 활용해 큐비트 병렬화를 통해 높은 성능을 달성할 수 있다. 여기서 큐비트는 기본적으로 양자 정보의 단위인 양자 비트라고 불린다.
양자 컴퓨팅은 이런 장점 때문에 해결하기 어려운 알고리즘 문제에 대한 새로운 해결책으로 꼽힌다. 머신 러닝 분야에서도 양자 컴퓨팅 모델을 활용한 다양한 연구가 진행되고 있다. 또한 경사 하강 방법을 사용한 양자 소자의 최적화가 연구되었기 때문에 하이퍼 파라미터를 사용한 양자 머신 러닝을 빠르게 학습할 수 있다.
양자 신경망의 패러다임
QCNN은 기존 CNN의 주요 특징과 구조를 양자 시스템으로 확장한다. 다체 Hilbert 공간에 정의된 양자 물리학의 문제가 고전적인 컴퓨팅 환경으로 전송되면 시스템 크기에 비례하여 데이터 크기가 기하급수적으로 증가하므로 효율적인 솔루션으로 적합하지 않다. 양자 환경의 데이터는 큐비트를 이용해 표현할 수 있기 때문에 CNN 구조를 양자 컴퓨터에 적용하면 문제를 피할 수 있다.
이제 QCNN 모델의 아키텍처를 살펴보자.
위의 아키텍처에서 볼 수 있듯이 QCNN 모델은 CNN의 핵심 특징인 컨볼루션 레이어와 풀링 레이어를 양자 시스템에 적용한다.
- 히든 스테이트는 컨볼루션 회로에서 인접한 큐비트 사이에 여러 큐비트 게이트를 적용하여 발견된다.
- 풀링 회로는 큐비트 분율을 관찰하거나 2큐비트 게이트에만 CT 게이트를 적용함으로써 양자 시스템의 크기를 줄인다.
- 1단계와 2단계에서 컨볼루션 및 풀링 회로를 다시 만든다.
- 시스템의 크기가 충분히 작을 경우 완전히 연결된 회로를 통해 분류 결과를 예측한다.
MERA(Multiscale Entanglement Renormalization Ansatz)는 일반적으로 이 구조를 만족시키기 위해 사용된다. MERA는 다체 상태 양자 시스템을 효율적으로 시뮬레이션하기 위한 모델이다. MERA는 양자 시스템에 큐비트를 추가하여 각각의 깊이에 따라 그 크기를 기하급수적으로 증가시킨다.
이 MERA는 QCNN에서 반대 방향으로 사용하며, QCNN 모델로 적합한 역 MERA는 주어진 데이터에서 양자 시스템의 크기를 기하급수적으로 감소시킨다.
QCNN의 응용
CNN의 가장 인기 있는 응용 프로그램 중 하나는 이미지 분류 분야이다. 중첩과 병렬 연산 측면에서 양자 컴퓨터는 상당한 이점을 제공한다. 양자 신경망은 양자 환경을 접목해 CNN 성능을 향상시킨다. 이 섹션에서는 QCNN이 이미지 분류에 어떻게 도움이 되는지 살펴볼 것이다.
양자 컨볼루션 레이어는 컨볼루션 레이어처럼 동작하는 양자 시스템의 레이어이다. 새로운 데이터로 구성된 피쳐 맵을 얻기 위해 양자 컨볼루션 레이어는 입력 피쳐 맵에 필터를 적용한다. 컨볼루션 레이어과 달리 양자 컨볼루션 레이어는 필터링을 위해 양자 컴퓨팅 환경을 사용한다.
양자 컴퓨터는 기존 컴퓨팅에서는 사용할 수 없는 중첩 및 병렬 연산을 제공하며 학습 및 평가 시간을 단축할 수 있다. 반면에 기존의 양자 컴퓨터는 여전히 작은 양자 시스템에 한정되어 있다.
소형 양자 컴퓨터는 양자 시스템에 전체 이미지 맵을 한 번에 적용하는 것이 아니라 한 번에 필터 크기만큼 처리하기 때문에 양자 컨볼루션 레이어를 구성할 수 있다.
양자 컨볼루션 레이어는 아래의 도표와 같이 구성될 수 있다. 다음은 개념의 작동 방식에 대한 설명이다.
- 인코딩 과정에서 필터 크기에 해당하는 픽셀 데이터는 큐비트로 저장된다.
- 학습 가능한 양자 회로의 필터는 입력 상태에서 숨겨진 상태를 감지할 수 있다.
- 디코딩 프로세스는 측정을 통해 새로운 고전적 데이터를 얻는다.
- 새 피쳐 맵을 완료하려면 1-3단계를 한 번 더 반복한다.
첫 번째 단계의 인코딩은 고전적 데이터를 양자 정보로 변환하는 과정이다. 가장 간단한 방법은 픽셀 데이터에 해당하는 큐비트에 회전 게이트를 적용하는 것이다. 물론 다양한 인코딩 방법이 존재하며, 선택한 인코딩 방법은 학습 효율뿐만 아니라 필요한 큐비트 수에도 영향을 미칠 수 있다. 세 번째 디코딩 프로세스는 하나 이상의 양자 상태의 측정을 기반으로 한다. 고전적 데이터는 양자 상태를 측정함으로써 결정된다.
두 번째 단계에서 무작위 양자 회로를 만들기 위해 여러 게이트의 조합을 사용할 수 있다. 가변 게이트를 추가함으로써 회로는 경사 하강 방법을 사용하여 최적화를 수행할 수도 있다. 이 회로는 다양한 방식으로 설계할 수 있으며, 각 회로는 학습 성과에 영향을 미친다.
마무리
이 포스팅을 통해 QCNN이 CNN 모델과 양자 컴퓨팅 환경을 사용하여 현장에서 다양한 접근 방식을 가능하게 하는 방법을 알아보았다. 완전히 매개 변수화된 양자 컨볼루션 신경망은 양자 머신 러닝 및 데이터 과학 응용 분야에 유망한 결과를 가져왔다. 이 논의와는 별개로 QCNN의 실제 구현에 대해 살펴보려면 TensorFlow 구현과 서론에서 언급한 연구원의 팀을 살펴보는 것을 추천한다.
출처 및 더 읽을 거리
Quantum Convolutional Neural Networks
Exploring Quantum Neural Network: Google AI Blog
Implementing Quantum Convolutional Neural Network
번역 – 핀인사이트 인턴연구원 강지윤(shety0427@gmail.com)
원문 보러가기>