はじめに
論文「Quantum Circuit Learning」内の計算をまとめる。
1量子ビットの状態 を考え、演算子
を作用させる。
ここで、密度演算子
を定義すると
と計算される。いま、とすれば
となる。従って、と置くと
を得る。ここで
である。
次に、量子ビットの状態
を考える。これに演算子
を作用させると、上と同じ計算を各ビットについて繰り返すことにより、次の密度演算子を得る。
ここで、の添字は、番目のビットに作用することを意味する。
密度演算子を用いた期待値計算
式(1)をもう一度書く。
を使うと密度演算子は以下のように書ける。
ここで次の量を計算する。
すなわち、を計算することは、状態を用いての期待値を計算することに等しい。として、式(2)を用いれば
と計算でき、従って
を得る。すなわち
である。この結果を用いれば、量子ビットの場合の密度演算子(3)を用いた次式を計算できる。
上にも書いた通り添字番号はビットの位置を表すだけなので、期待値の結果はどれもである。
ここまでは論文内の定式化を見てきた。本論文では密度演算子を中心に据えて定式化をしているので何をしているのか少し分かり難い。ここでは密度演算子に移る前の式(4)に戻って考えてみる。
式(4)は1量子ビットの場合の式である。これを2量子ビットの場合に拡張する。
\begin{eqnarray}
|\psi_1\rangle\otimes|\psi_2\rangle=\bigl(\cos{\dfrac{\theta}{2}}|0\rangle+\sin{\dfrac{\theta}{2}}|1\rangle\bigr)\otimes\bigl(\cos{\dfrac{\theta}{2}}|0\rangle+\sin{\dfrac{\theta}{2}}|1\rangle\bigr)
\end{eqnarray}
これを展開すると
\begin{eqnarray}
|\psi_1\psi_2\rangle=\cos^2{\dfrac{\theta}{2}}|00\rangle+\dfrac{1}{2}\sin\theta|01\rangle+\dfrac{1}{2}\sin\theta|10\rangle+\sin^2{\dfrac{\theta}{2}}|11\rangle
\end{eqnarray}
を得る(簡単のため直積の記号は省略した)。いま、であるから
\begin{eqnarray}
|\psi_1\psi_2\rangle=\dfrac{1+\sqrt{1-x^2}}{2}|00\rangle+\dfrac{1}{2}x|01\rangle+\dfrac{1}{2}x|10\rangle+\dfrac{1-\sqrt{1-x^2}}{2}|11\rangle
\end{eqnarray}
となる。状態との振幅にはの非線形項が、状態との振幅にはの線形項が埋め込まれていることが分かる。つまり、以下の手順を踏むことでを満たす実数を2量子状態の振幅に埋め込む(エンコーディングする)ことができる。
- を用意する。
- 各ビットにを作用させる。
言い換えると、回転ゲートを用いた量子回路により、を4(=22)次元の特徴空間に射影したことになる。この空間の中にはの非線形項も存在する。上の手順は容易に個の量子ビットの場合に拡張することができる。
- を用意する。
- 各ビットにを作用させる。
この場合は特徴空間の次元は2になる。を十分大きく取れるとき(例えば100や1000)、特徴空間の次元は膨大な数になる。ところで、機械学習におけるカーネル法では、ガウス関数がよく使われていた。ガウス関数を使うことが無限次元の特徴空間を考えることに等しいからであった。このことと考え合わせると、量子ビットの数が十分大きいとき、上の回転ゲートを用いた振幅エンコーディングは、ガウスカーネルと同じ効果を入力値に与えていることが分かる。
多次元入力への拡張
ここまでは1次元の入力を扱ってきた。ここでは多次元入力 を考える。量子ビットの総数を、を埋め込む量子ビット数をとすると
\begin{equation}
\sum_{d=1}^D n_d=N
\end{equation}
が成り立つ(下図参照)。
このとき、多次元ベクトルを埋め込んだ密度演算子は次式になる。
\begin{equation}
\rho_N(x)=\dfrac{1}{2^N}\prod_{d=1}^D\left(
\prod_{i=1}^{n_d}
\left[
I+x_dX_i+\sqrt{1-x_d^2}\;Z_i
\right]
\right)
\end{equation}
厳密な微分値の計算
機械学習において勾配降下法を行うとき微分値の計算が必要になる。上で導入した量子回路を用いると微分値を厳密に計算できることを示す。簡単のため、1量子ビットの場合を考える。最初に初期状態がある。を施すことで入力を振幅エンコーディングした状態 を作る。
\begin{equation}
|\psi\rangle=R^Y(\theta)|0\rangle
\end{equation}
ただし、である。この状態にユニタリ行列を施し(はパウリ行列、は実数値)、状態を作る。
\begin{equation}
|\bar{\psi}\rangle=U(\phi)|\psi\rangle
\end{equation}
最適化すべき物理量を表す演算子をとして、を用いた期待値を計算する。
\begin{eqnarray}
\langle B(\phi)\rangle&=&\mathrm{tr}\bigl(B |\bar{\psi}\rangle \langle\bar{\psi}\rangle \bigr) \\
&=&\mathrm{tr}\bigl(B U(\phi)|\psi\rangle\langle\psi|U^{\dagger}(\phi) \bigr) \\
&=&\mathrm{tr}\bigl(B U(\phi)\rho_1 U^{\dagger}(\phi) \bigr)
\end{eqnarray}
ここで、1量子ビットの場合の密度演算子を導入した。さて、この式をで微分すると
\begin{equation}
\dfrac{\partial \langle B(\phi)\rangle}{\partial\phi}=\dfrac{i}{2}\mathrm{tr}\bigl(
BU(\phi)\;[\rho_1,P]\;U^{\dagger}(\phi)
\bigr)\tag{5}
\end{equation}
を得る。ここで
\begin{eqnarray}
\dfrac{\partial U(\phi)}{\partial\phi}&=&-\dfrac{i}{2}U(\phi)P=-\dfrac{i}{2}PU(\phi) \\
\dfrac{\partial U^{\dagger}(\phi)}{\partial\phi}&=&\dfrac{i}{2}U^{\dagger}(\phi)P=\dfrac{i}{2}PU^{\dagger}(\phi)
\end{eqnarray}
を用いた。はエルミート行列であり、また、であることに注意する。
ところで
が成り立つので
である。これらを用いると
を得る。この式を(5)に代入すると
\begin{eqnarray}
\dfrac{\partial \langle B(\phi)\rangle}{\partial\phi}
&=&
\dfrac{1}{2}\mathrm{tr}\bigl(
BU(\phi)U(\dfrac{\pi}{2})\rho_1U^{\dagger}(\dfrac{\pi}{2}) U^{\dagger}(\phi)
\bigr)
-\dfrac{1}{2}\mathrm{tr}\bigl(
BU(\phi)U(-\dfrac{\pi}{2})\rho_1U^{\dagger}(-\dfrac{\pi}{2}) U^{\dagger}(\phi)
\bigr) \\
&=&
\dfrac{1}{2}\mathrm{tr}\bigl(
BU(\phi+\dfrac{\pi}{2})\rho_1U^{\dagger}(\phi+\dfrac{\pi}{2})
\bigr)
-\dfrac{1}{2}\mathrm{tr}\bigl(
BU(\phi-\dfrac{\pi}{2})\rho_1U^{\dagger}(\phi-\dfrac{\pi}{2})\bigr)\\
&=&
\dfrac{1}{2}\left(\langle B(\phi+\dfrac{\pi}{2})\rangle-\langle B(\phi-\dfrac{\pi}{2})\rangle\right)
\end{eqnarray}
となる。すなわち、による微分は、をだけ前後にシフトして物理量の期待値を測定することにより計算することができる。
まとめ
少し古い論文であるが、自分の勉強のため式変形をフォローした。本論文の主張は以下である。
- 回転ゲートを用いた量子回路により、入力値を量子状態に振幅エンコーディングできる。入力値の線形項と非線形項が導入される。
- 振幅エンコーディングすることは、高次元特徴空間に射影することと等価である。
- パラメータによる微分を厳密に計算することができる。
量子状態を利用した高次元特徴空間への射影により、古典的な機械学習よりも精度が良くなるという主張は、最近の研究によると、通用しなくなっているそうである。