らんだむな記憶

blogというものを体験してみようか!的なー

パラメータシフト則

ここで [1803.00745] Quantum Circuit Learning の E. Optimization procedure に従って、パラメータシフト則を見ておきたい。演算子のパラメータ付き期待値の偏微分が、そのパラメータをシフトした時の期待値から導出されるという法則である。

ここでは簡単のため、$\prod U_j (\theta_j)$ の部分は単一の Pauli 行列 $P$ からなる $\exp(-i \frac{\theta}{2} P)$ のみであるとする。

$U(\theta) = \exp (-i \frac{\theta}{2} P)$ とおき、$\ket{\psi (\theta)} = U(\theta) \ket{\psi}$ とする。この時、

$$
\begin{align*}
\braket{B(\theta)} = \langle \psi^\dagger(\theta) | B \ket{\psi(\theta)} = \bra{\psi}U^\dagger(\theta) B U(\theta)\ket{\psi}
\end{align*}
$$

となる。よって、

$$
\begin{align*}
\frac{\partial \braket{B(\theta)}}{\partial \theta} &= \bra{\psi} \frac{\partial U^\dagger(\theta)}{\partial \theta} B U(\theta)\ket{\psi} + \bra{\psi} U^\dagger(\theta) B \frac{\partial U(\theta)}{\partial \theta} \ket{\psi} \\
&= \frac{i}{2} \bra{\psi} U^\dagger(\theta) P B U(\theta)\ket{\psi} - \frac{i}{2} \bra{\psi} U^\dagger(\theta) B P U(\theta) \ket{\psi} \\
&= \frac{i}{2} \bra{\psi} U^\dagger(\theta) [P, B] U(\theta)\ket{\psi}
\tag{1}
\end{align*}
$$

を得る。

次に $[P, B]$ を計算したい。Pauli 行列の性質より、$\exp(i\varphi P) = (\cos \varphi)I + i (\sin \varphi)P$ であるので、$\exp(\pm i \frac{\pi}{4} P) = (\cos \frac{\pi}{4})I \pm i (\sin \frac{\pi}{4})P = \frac{I \pm iP}{\sqrt{2}}$ となる。よって、

$$
\begin{align*}
&\ U^\dagger\left(\frac{\pi}{2}\right) B U\left(\frac{\pi}{2}\right) - U^\dagger\left(- \frac{\pi}{2}\right) B U\left(- \frac{\pi}{2}\right) \\
=&\ \frac{I + iP}{\sqrt{2}} B \frac{I - iP}{\sqrt{2}} - \frac{I - iP}{\sqrt{2}} B \frac{I + iP}{\sqrt{2}} \\
=&\ \frac{1}{2}(B - iBP + iPB + PBP - B - iBP + iPB - PBP) \\
=&\ iPB - iBP = i[P, B]
\tag{2}
\end{align*}
$$

と計算できる。これを (1) 式に代入すると、

$$
\begin{align*}
\frac{\partial \braket{B(\theta)}}{\partial \theta} &= \frac{1}{2} \bra{\psi} U^\dagger(\theta) \left( U^\dagger\left(\frac{\pi}{2}\right) B U\left(\frac{\pi}{2}\right) - U^\dagger\left(- \frac{\pi}{2}\right) B U\left(- \frac{\pi}{2}\right) \right) U(\theta)\ket{\psi} \\
&= \frac{1}{2} \bra{\psi} U^\dagger\left(\theta + \frac{\pi}{2}\right) B U\left(\theta + \frac{\pi}{2}\right) - U^\dagger\left(\theta - \frac{\pi}{2}\right) B U\left(\theta - \frac{\pi}{2}\right)\ket{\psi} \\
&= \frac{\braket{B\left(\theta + \frac{\pi}{2}\right)} - \braket{B\left(\theta - \frac{\pi}{2}\right)}}{2}
\end{align*}
$$

を得る。パラメータを前後(?)にシフトした期待値の差をとると、パラメータ付き期待値の偏微分に等しくなることを確認できた。
恐らく関係ないが、計算の仕方がレゾルベント恒等式の導出を彷彿させる。

一般の場合が気になるが、Pauli 行列 $X$, $Y$, $Z$ は互いに可換であるので基本的に計算はそのまま成立する。つまり、(2) 式で $U \rightsquigarrow U_j$, $P \rightsquigarrow P_j$ と置き換えて、その計算結果を、$\theta \rightsquigarrow \theta_j$ に置き換えたバージョンの (1) 式に代入すると、

$$
\begin{align*}
\braket{B (\theta)}_j^\pm = \bra{\psi} \prod_{i \neq j} U_i^\dagger\left(\theta\right) U_j^\dagger\left(\theta \pm \frac{\pi}{2}\right) B U_j \left(\theta \pm \frac{\pi}{2}\right) \prod_{k \neq j} U_k\left(\theta\right) \ket{\psi}
\end{align*}
$$

という記号を導入して、

$$
\begin{align*}
\frac{\partial \braket{B(\theta)}}{\partial \theta_j} = \frac{\braket{B(\theta)}_j^{+} - \braket{B(\theta)}_j^{-}}{2}
\end{align*}
$$

を得る。

量子コンピュータによる機械学習 / Maria Schuld Francesco Petruccione 著 大関 真之 監訳 荒井 俊太 篠島 匠人 高橋 茶子 御手洗 光祐 山城 悠 訳 | 共立出版 においても、pp.279-280 に書かれているのだが、やや小難しい書き方をしているので、直接論文を見た方が分かりやすいように思う。同書の「機械学習」はやや広い意味に感じられる部分もあり、p.337 の監訳者あとがきに

素朴に言えば、モデルの表現能力を飛躍的に向上させるために、量子系を利用したものが量子機械学習と呼ぶべきであろう。

とある。これくらい広い感じで眺めると確かにな、と思えた。