Recurrent Quantum Neural Networks
利他的思考
利他的な考え方をする人はなぜ自分の利益を求めないのか。
そもそもこの問い自体があまりよろしくない、私はそう思います。
「損得で動いていない」というのは間違いで、これらの人々は「自身の行いによって喜んでもらう」ことを対価として他者に要求しているのだと考えます。
物質的な価値ではなく、精神論的な価値を他人に求めるのです。
逆に言うと、そのような対価が得られない場合は平気で切り捨てていきます。
めちゃくちゃ優しくしてくれて、仲が良かったと思ってた人が急に縁を切ってきたという経験がある人は少なからずいるかと思われます。
それを世間では「リセット症候群」などと言うこともあるみたいですが、話は簡単です、あなたから得られる精神的な愉悦が無くなった、それだけのことです。
でも気を悪くしてほしくない、このタイプの人達は自分で自分を満足させる術を持たないだけなのです。
概要
Recurrent Quantum Neural Networks
written by Johannes Bausch
published on Thu, 25 Jun 2020
[Abstract]
Recurrent neural networks are the foundation of many sequence-to-sequence models in machine learning, such as machine translation and speech synthesis. In contrast, applied quantum computing is in its infancy. Nevertheless there already exist quantum machine learning models such as variational quantum eigensolvers which have been used successfully e.g. in the context of energy minimization tasks. In this work we construct a quantum recurrent neural network (QRNN) with demonstrable performance on non-trivial tasks such as sequence learning and integer digit classification. The QRNN cell is built from parametrized quantum neurons, which, in conjunction with amplitude amplification, create a nonlinear activation of polynomials of its inputs and cell state, and allow the extraction of a probability distribution over predicted classes at each step. To study the model's performance, we provide an implementation in pytorch, which allows the relatively efficient optimization of parametrized quantum circuits with thousands of parameters. We establish a QRNN training setup by benchmarking optimization hyperparameters, and analyse suitable network topologies for simple memorisation and sequence prediction tasks from Elman's seminal paper (1990) on temporal structure learning. We then proceed to evaluate the QRNN on MNIST classification, both by feeding the QRNN each image pixel-by-pixel; and by utilising modern data augmentation as preprocessing step. Finally, we analyse to what extent the unitary nature of the network counteracts the vanishing gradient problem that plagues many existing quantum classifiers and classical RNNs.
[Abstract(翻訳)]
RNNは、機械翻訳や音声合成など、機械学習の多くのSeq2Seqモデルの基盤となっている。それに対し、量子コンピューティングの応用はまだ発展の初期段階にある。しかし、エネルギー最小化タスクの文脈などで成功を収めているVQEといった量子機械学習モデルは既に存在している。本研究では、非自明なタスク(シーケンス学習や整数の桁分類など)で実証可能な性能を有する量子リカレントニューラルネットワーク(QRNN)を構築する。QRNNセルは、パラメータ化された量子ニューロンから構成されており、振幅増幅と組み合わせることで、入力とセル状態の多項式の非線形活性化を生み出し、各ステップで予測クラスの確率分布を抽出可能にする。このモデルの性能を研究するために、PyTorchによる実装を提供し、数千のパラメータを持つPQCの比較的効率の良い最適化を可能にする。QRNNの学習環境を確立するために、最適化ハイパーパラメータをベンチマークし、Elmanの時系列構造学習に関する基礎的な論文(1990年)に基づいたシンプルな記憶およびシーケンス予測タスクに適したネットワークトポロジーを分析する。その後、MNIST分類においてQRNNを評価し、画像の各ピクセルを順次QRNNに入力する方法と、データ拡張を前処理として利用する方法の両方で実験を行う。最後に、ネットワークのユニタリ性が、既存の量子分類器や古典的なRNNに多く見られる勾配消失問題にどの程度対抗できるかを分析する。
コンテンツ
RNNの課題
長いシーケンスを扱うリカレントニューラルネットワーク(RNN)の最適化において、勾配消失・勾配爆発問題が学習性能に悪影響を与える。
LSTMやGRUといった改良型のモデルも存在するが、200トークンを超える長いシーケンスに対しては性能が低下する。
このため、Transformerのような非再帰型アーキテクチャが注目を集めているが、それでも固定幅のコンテキストウィンドウの問題がある。
本研究では、量子コンピューティングに影響を受けたRNNモデルを提案する。
量子系の相互作用はエルミート演算子 $${H}$$ によって記述され、シュレディンガー方程式の解として生成されるユニタリ演算 $${U(t) = \exp (itH)}$$ により時間発展する。これにより、量子回路がユニタリRNNの有力な候補として浮上する。
この量子リカレントニューラルネットワーク(QRNN)を構築し、シーケンス学習や手書き文字の認識などの実タスクにおける性能を評価することを目標とする。
パラメータ化された量子ゲート
一般的なVQEの量子回路は、単一量子ビットゲートとエンタングルメントを生み出すゲート(CNOTゲートなど)を交互に配置することで多くのパラメータを効率的に圧縮する。
しかし、その高密度な構造は大規模な分類タスクに対して学習が難しいという問題もある。
本研究では、VQEの回路設計とは異なる構造化されたPQCを使用してQRNNセルを構築する。
このQRNNセルの基本構成要素として、新しい種類の量子ニューロンが利用されている。
この量子ニューロンは入力の多項式に対する非線形活性化関数によってターゲット量子ビットを回転させる。
学習中は量子振幅増幅を使用して、学習データから適切なトークンを測定する。
測定は一般的に非ユニタリ演算であるが、振幅増幅のステップでは学習中の測定のみユニタリ演算と見なすことができる。
高次元量子ニューロン
線形変換に対して非線形の活性化関数を適用することで、強力な学習能力を得られるようになったことで、古典的なニューラルネットワークは成功を収めた。
一方で、量子の性質上、ユニタリゲートで構成された量子回路は線形の演算であることが必須である。
しかし、量子ニューロンを用いることで古典ニューラルネットワークの活性化関数同様の役割を量子回路上で実行できる。
単一量子ビットゲート $${R(\theta)}$$ を次のように定義する。
$${R(\theta) = \exp \left(i \theta \left( \begin{matrix} 0 & -i \\ i & 0 \\ \end{matrix} \right) \right) = \left( \begin{matrix} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \\ \end{matrix} \right)}$$
これは回転ゲートであり、この回転操作は角度 $${\theta}$$ に依存して、振幅に非線形な影響を与えることができる。
さらに、量子ニューロンはコントロール回転を利用して複数の量子ビットに渡る操作を実現し、回転角度を複雑な多項式関数に依存させることが可能である。
$${R(\theta_0) cR(1, \theta_1) \cdots cR(n, \theta_n) |x\rangle |0\rangle = |x\rangle \left( \cos (\eta) |0\rangle + \sin (\eta) |1\rangle \right)}$$
ここで、 $${\eta = \theta_0 + \sum_{i=1}^n \theta_i x_i}$$ である。
この量子ニューロンを拡張し、入力量子ビットに基づいた高次の多項式変換を実現する。
2量子ビットのコントロール回転操作を行う場合、次のように表せる。
$${\eta' = \theta_0 + \sum_{i=1}^n \theta_i x_i + \sum_{i=1}^n \sum_{j=1}^n \theta_{ij} x_i x_j + \cdots}$$
この式は、複数の入力量子ビット間の論理積を含む高次の多項式を表しており、条件付きで回転角度が設定される構造を持つ。
この操作により、量子ニューロンは入力量子ビット間の複雑な相互作用を持つ多項式的な変換を実現する。
QRNNのセル
QRNNでもRNNやLSTM同様、各ステップで繰り返し適用される入出力レーンで構成されるセルを定義する必要がある。
Seq2Seqモデル
QRNNセルを入力シーケンスに繰り返し適用できるようにする必要がある。
シーケンスの記憶
QRNNが2つの単純繰り返しシーケンス"44444…"と"12312…"を記憶できるかを実験する。
ネットワークのアーキテクチャとしては、2つのステージ、ニューロンの次数は3、ワークスペースのサイズが5(計1162個のパラメータ)で構成されたQRNNである。
このQRNNに対し、SGD、RMSprop、Adam、L-BFGSの最適化器を用いて学習率を調整しながら最も効果的な組み合わせを検討した。
表から分かるように、SGDは効果的な学習率のレンジが狭く、RMSpropやAdamは学習率に対して敏感ではないため安定している。
L-BFGSはVQEでよく使われるが、予測しづらく他の最適化器よりも学習が困難であることが分かった。
デフォルトの最適化器としては、Adamを採用することにした。
時間構造
Elmanが提案した2つのシーケンス学習タスクで、QRNNの時間構造を学習する能力を評価する。
1つ目のXORシーケンスの学習タスクは、3の倍数番目の値が前の2つのビットのXOR値となるバイナリ文字列予測するテストである。
ここでは、QRNNのワークスペースサイズを4、作業ステージを1つとする構成で使用され、初期化パラメータがどの程度早く収束するかが調査された。
各量子ニューロンにはバイアスゲート $${R_0}$$ とその他のパラメータである重みが含まれる。
これらの初期化には平均 $${\mu}$$ と幅 $${\sigma}$$ が設定され、最適な初期化パラメータが決定された。
2つ目の文構造の学習タスクは、「ba」「dii」「guuu」という3つの単語で構成された文の構造を学習することであり、特定の文字(例えば「d」)を見たときに次の予測すべき文字列(「ii」)を記憶するものである。
これにより、QRNNのトポロジーが収束速度にどのように影響するかを評価した。
ニューロンの次数を2とした構成で最適な結果が得られ、勾配が一定の小さな範囲で安定する平坦なプラトー部分と急勾配の部分をもつ活性化関数が実現された。
MNISTでの分類
今までとは異なり、QRNNが複雑な分類タスクをこなせるかを検証する。
MNISTデータセットの画像分類は本来、RNNのタスクではないが、QRNNの性能を他の量子分類モデルや古典RNNと比較するのに適しているため、これで性能評価をする。
使用するMNISTデータセットの内訳は、学習データが55010、検証データが5000、テストデータが10000である。
画像サイズを元の28×28から20×20にトリミングし、さらに10×10にダウンサンプリングして1ビットの深度でバイナリ化する。
簡単な数字のペア("0"と"1")では、1つのQRNNセルモデルで99.2%、4つのQRNNセルモデル(アンサンブル)で99.6%の識別精度を達成した。
より複雑なペア("3"と"6")では、約99%の識別精度を達成した。
MNISTは高次元のデータセットであるため、QRNNへのエンコーディングのためにUMAPやt-SNEといった次元削減技術を利用して分類を行なった。
驚くべきことに、UMAPがt-SNEを凌ぐパフォーマンスを示していた。
これは、UMAPがデータの次元削減によって特徴量を絞ることにフォーカスしているのに対し、t-SNEは次元削減によるデータの分布の可視化を目的にデザインされた手法だからと言える。
生成モデルとしてのQRNN
QRNNは画像分類をするだけでなく、生成モデルとしても機能する。
"0"または"1"の画像を生成できるように学習を行うことで、QRNNはそれぞれの画像のストラクチャを捉えることが出来るが、測定の際の量子特有のランダム性が画像にノイズをもたらしてしまっている。
遺伝子配列の予測
QRNNの長いシーケンスに対する処理能力を評価するために、遺伝子配列を模した合成データを使用した。
シーケンスは塩基「G」、「A」、「T」、「C」で構成され、ランダムに選ばれた位置に1つの「U」が挿入されている。
ここでは、この「U」の直後に続く塩基を正しく予測することであり、例えば、「AGAUATTCAGAAT」というシーケンスの場合、正解ラベルは「A」となる。
このテストでは、異なるシーケンス長と初期条件でQRNNの性能を評価する。
検証誤差が0.001以下に到達するまでに必要なステップ数を比較して性能を評価する。
128個のランダムに生成されたサンプルを一度に与え、少ないステップで目標のロスに達するほど性能が良いと判断する。
ワークスペースサイズ5と1つの作業ステージで設定されたQRNNのパラメータ数に近くなるようにRNNとLSTMそれぞれのモデルを作り、比較を行なった。
LSTMは最初こそQRNNよりも速く収束するが、長いシーケンスでは収束に必要なステップ数がQRNNに比べて10倍以上増え、性能が低下する。
RNNはそもそもこのタスクでの学習が困難であることが示された。
QRNNの現状と展望
まず、現時点では既存の再帰的なモデルの方が、現実世界の学習タスクにおいてQRNNよりも優れている。
古典的なハードウェア上で多数の量子ビットをシミュレートすることが困難であり、FTQCレベルの量子コンピュータであればこの問題を回避し、回路の深さに応じて線形時間で実行可能になるため、より効率的に実行できると考えられる。
一方で、本研究において行われたシーケンス認識やMNISTのような非自明なタスクに対して、限られたリソースにも関わらずに良好なパフォーマンスを示すことが確認できた。
また、QRNNのトポロジーについても提案されたQRNNセルはまだ単純な構造であり、LSTMのような複雑な要素に比べるとシンプルであるため、今後さらに専門化された回路構造が開発されれば現在のモデルを上回る可能性があると考えられる。
この「量子ファースト」な再帰的なモデルの応用先として、言語モデリングの文脈における量子ビームサーチなどが挙げられる。
他にも、ノイズの多い量子系の発展をモデリングするというタスクはRNNベースのモデルで解くことが多いが、将来的にはQRNNがより良い性能を発揮することが期待されている。
感想
この著者、英語力というか文章力が壊滅的にヘタクソすぎる気がするんですよね。
そもそも、タイトルが"Recurrent Quantum Neural Networks"のクセに本文中では"Quantum Recurrent Neural Networks"って言っててもう分かり合えないだろうなと。
あともう一つ文句を言うと、MNISTの実験は何か違うんじゃないですかね。
モデルに対してタスクが簡単過ぎるせいで(そもそも、本文中でも言及があった通りこれはRNN系のモデルの取り扱う問題ではないが)99%越えの識別率を安定して出せるのは実験「設定」として失敗してますよね。
何か長いし図の貼り方とかもテキトーだし、理論とかその他の考察とかは素直に面白いと思えるけども根本的なところが残念過ぎてつまらん論文でした。
ハッピーハロウィーン。