PennyLane : キー概念 : 変分回路

PennyLane キー概念 : 変分回路 (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 10/15/2019

* 本ページは、PennyLane : Key Concepts の次のページを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

キー概念 : 変分回路

変分回路は 3 つの構成要素から成ります :

  1. 固定された 初期状態 の準備 (e.g., 真空状態 or ゼロ状態)。
  2. 入力 $x$ と自由パラメータ $\boldsymbol{\theta}$ の両者によりパラメータ化された、量子回路 $U(x; \boldsymbol{\theta})$
  3. 出力における観測可能量 $\hat{B}$ の 測定。この観測可能量は回路の各ワイヤ、あるいはワイヤの単なるサブセットのための局所観測可能量から作られるかもしれません。

一つまたはそれ以上のそのような回路 — 多分何某かの古典的後処理を伴う — の期待値 $f(x;\boldsymbol{\theta})=\langle 0 | U^\dagger(x; \boldsymbol{\theta}) \hat{B} U(x; \boldsymbol{\theta}) | 0 \rangle$ は与えられたタスクのためのスカラーコストを定義します。回路の自由パラメータ $\boldsymbol{\theta}$ はコスト関数を最適化するために調整されます。


変分回路の原理

典型的には、変分回路は量子デバイスに問い合わせを行なう古典的最適化アルゴリズムにより訓練されます。最適化は総てのステップでパラメータ $\theta$ のためのより良い候補を探し出す反復的スキームです。変分回路は、最適化、量子化学、機械学習、データ圧縮、線形代数、そして特徴埋め込みのような様々な当面のアプリケーションのために提案されてきました。

変分回路は当面の量子デバイスのための量子アルゴリズムについて考える方法としてポピュラーになっています。そのようなデバイスは短いゲート・シークエンスを実行できるだけで、そして高いエラーを持ちます。通常は、量子アルゴリズムは標準的な初歩の (= elementary) 演算のセットに分解されます、それらは量子ハードウェアにより順番に実装されます。当面のデバイスのための変分回路の興味深いアイデアは、与えられたタスクのために noisy デバイス上で回路を「学習する」ことによりこの 2-ステップ手続きを単一のステップにマージすることです。このように、デバイスの「自然な」調整可能ゲートがアルゴリズムを定式化するために使用できます、固定された初歩的なゲートセットを通して回り道をすることなく。更に、システムエラーは最適化の間に自動的に訂正されます。

 

回路を構築する


サンプル回路は引数 $x$ と変分パラメータ $\boldsymbol{\theta}$ がどのように量子回路に入るかを示してます。回路はまた、自由パラメータを持たないゲート (e.g., CNOT) を含むこともできます。

入力 $x$ と変分パラメータ $\boldsymbol{\theta}$ の両者は同じ方法で量子回路に入ります ; 回路のゲートのための引数として。これは古典的情報 ($x$ と $\boldsymbol{\theta}$ の値) を量子情報 (量子状態 $U(x;\boldsymbol{\theta})|0\rangle$) に変換することを可能にします。

量子情報は観測可能量 $\hat{B}$ の期待値を評価することにより古典的情報へと戻されます、

$$f(x; \boldsymbol{\theta}) = \langle \hat{B} \rangle = \langle 0 | U^\dagger(x;\boldsymbol{\theta})\hat{B}U(x;\boldsymbol{\theta}) | 0 \rangle.$$

入力とパラメータ $(x;\boldsymbol{\theta})$ がゲートの引数として使用されるという基本的なルールを越えて、ゲートが正確にどのように配列されるか、回路アーキテクチャは本質的に任意です。

Note
上の図で示されるように、回路はまた (ゲートに) 関連する自由パラメータを持たない追加のゲートを含むことができます。

 

サンプル

データ埋め込み

量子埋め込み で説明されたように、回路の最初の 2, 3 のゲートは入力 $x$ を量子状態 (これは特徴マップとして機能します [schuld2018quantum]) に埋め込むために使用することが可能です、一方で続くゲートはパラメータ $\boldsymbol{\theta}$ を引数として持ちます。

サンプルとして、光量子コンピュータを考えます (同様のサンプルが量子ビットのために構築できます)。単純化のために、パラメータ $\boldsymbol{\theta}$ を一時的に省略します。初期状態として真空状態をそして測定された測定可能量 $\hat{B}$ を position 演算子 $x$ として取ります。真空状態は期待値 $\langle\hat{x}\rangle = \langle 0 | \hat{x} | 0 \rangle = 0$ を持ちます。

$N$ 次元を持つ、入力 $x$ を持つと仮定します。これを displacement 演算子 を使用して $N$ wire を持つ量子回路に埋め込むことができます。$x$ の総ての成分 $x_i$ について、$D(x_i)$ を wire $i$ に適用します。これは displacement 埋め込みと呼ばれます。

各 wire 上 $\hat{x}$ 演算子の期待値の測定は次の結果を与えます :

$$(\langle \hat{x}_1 \rangle, \cdots, \langle \hat{x}_N \rangle ) = (x_1, \dots, x_N).$$

このように、displacement ゲート — 真空入力と position 測定と結び付けられて — はデータを光量子コンピュータ内に直接エンコードするために使用されることができます。

 

データ処理

データを量子状態に埋め込んだ今、何某かの処理をしたいです。今のところ、私達のサンプル回路は現在 identity $f(x)=x$ を表していっます、これは自由パラメータを持ちません。パラメータ $\boldsymbol{\theta}$ を持つ、追加のゲートを導入することにより、より複雑な関数をビルドアップし始めることができます。

明確にするために、1-次元入力 $x$ に制限してそして自由パラメータ $\theta$ を持つ、シングル回転演算子を組込みます。このゲートを適用した後、回路で評価される量子ノードは次のようになります :

$$f(x;\theta) = x\cos(\theta).$$

要するに、2 つの量子ゲート (displacement と回転) だけで、量子回路を使用して上の形式の関数を評価できます。

上のサンプルは埋め込みデータと量子回路へのパラメータの裏にある原理を示すために非常に単純に保持されました。実際に、サンプルで評価される関数は古典的に扱いやすいです。けれども、サブシステムの数と回路 depth を増やすことにより、対応する関数は古典的に評価することが漸進的により困難になる可能性があり、量子デバイスが使用されなければなりません。

 

アーキテクチャ

多くの変分回路アーキテクチャが量子計算コミュニティにより提案されています [1]。アーキテクチャの強さは望まれるユースケースに依拠して変わり、そして何が良い ansatz を作るのか常には明らかでありません。異なるアプローチの表現力の調査はまた継続中です [du2018expressive]。PennyLane の一つの目標は様々なアーキテクチャとハードウェアプラットフォームに渡るそのような研究を促進することです。

大雑把な要約を与えるために、アーキテクチャの 3 つの異なるタイプを区別します、つまり layered ゲート・アーキテクチャalternating 演算子アーキテクチャ そして tensor ネットワーク・アーキテクチャ です。

 

Layered ゲート・アーキテクチャ

層は変分回路で反復されるゲートのシークエンスです。層の反復の数は変分回路のハイパーパラメータを形成します。

層を更に 2 つの全体的なユニタリ A と B にしばしば分解できます。

ブロック A は総てのサブシステムに適用されるシングル系ゲート (群) を含むます。ブロック B はシングル系サブシステムに加えて entangling ゲートの両者から成ります。

Layered ゲート・アーキテクチャは 3 つの観点で識別できます :

  • $A$ だけか、$B$ だけか、あるいは $A$ と $B$ の両者がパラメータ化されるか
  • ゲートのどのタイプが $A$ と $B$ で使用されるか
  • ブロック $B$ のゲートがランダムに配置されるか、固定されるか、あるいはハイパーパラメータにより決定されるか

そのような layered アーキテクチャは離散と連続変数量子計算モデルの両者で現れます。

 

A parametrized, B fixed

量子ビット・ベースのデバイスの最も単純なケースでは、ブロック $A$ で一般的な SU(2) ゲート (i.e., 回転) $R$ を使用できて $B$ は固定されます。

 

A parametrized, B parametrized

また $A$ と $B$ の両者をパラメータ化してそして 2-量子ビットゲートの配置は (2-量子ビットゲートの範囲を定義する) ハイパーパラメータに依拠します ([romero2017quantum], [schuld2018circuit] もまた参照)。

連続変数系に固有の完全にパラメータ化されたアーキテクチャは [schuld2018quantum] で提案されました。

entangling 層 $B$ は interferometer、個々の beamsplitter と位相 shifter から成る passive optical 回路を含みます。Block $A$ consists of single-mode gates with consecutively higher order for the quadrature operator $\hat{x}$ which generates the gate: the displacement gate $D$ is order-1, the quadratic phase gate $Q$ is order-2, and the cubic phase gate $V$ is order-3.

 

A fixed, B parametrized

シングル量子ビット・ゲートが固定されるサンプルはいわゆる Instantaneous Quantum Polynomial (IQP) 回路で、そこでは $A$ は Hadamard ゲートから成りそして $B$ はパラメータ化された対角 1- と 2-量子ビット・ゲートから構成されます [shepherd2009temporally] [havlicek2018supervised]。

連続変数系のための類似の回路もまた考えられます [arrazola2017quantum]。

IOP 回路は、$B$ ブロック総てのゲートが計算基底で対角であるように構造化されます。

 

他の構造

古典的ニューラルネットワークで情報がどのように処理されるかをエミュレートする、光子ニューラルネットワークのこの層のように、単純な 2-ブロック構造の一般化はより複雑な層を構築することを可能にします [killoran2018continuous] [steinbrecher2018quantum]。

 

Alternating 演算子アーキテクチャ

alternating 演算子アーキテクチャは Farhi と Goldstone の Quantum Approximate Optimization Algorithm (QAOA) [farhi2014quantum] で最初に紹介されてそして後で機械学習 [verdon2017quantum] と他のドメイン固有アプリケーション [fingerhuth2018quantum] のために使用されました。

再度、2 ブロックの層を使用します。違いは今回はこれらのブロックを表わすユニタリが Hamiltonian $A$ と $B$ を通して定義されることです、これらは短時間 $\Delta t$ のために evolve されます。

この ansatz のアイデアは断熱量子計算への類推に基づいています、そこでは系は $A$ の基底状態で始まりそして断熱的に $B$ の基底状態に evolve します。非常に短時間 $\Delta t$ のために $A$ と $B$ の素早く alternating (i.e., stroboscopic) アプリケーションがこの evolution を近似するために発見的手法として使用されます。

 

Tensor ネットワーク・アーキテクチャ

層から成らないアーキテクチャの中で、しかしシングル固定構造であるのは tensor ネットワークによりインスパイアされたゲート・シークエンスです [huggins2018towards] [du2018expressive]。最も単純なものは量子ビットのサブセットを連続的に entangle させる木構造です。

もう一つの tensor ネットワークは行列積状態に基づきます。回路ユニタリは異なる方法で分解できて、それらのサイズは行列積状態の “bond 次元” に対応します — bond 次元が高くなればなるほど回路 ansatz はより複雑になります。

Note
行列積状態のような tensor ネットワークは古典的コンピュータ上特定の量子系を (普遍的ではないもののの) 効率的にシミュレートするために考案されました。こうして、tensor ネットワーク・アーキテクチャは古典的に扱いにくい量子ノードを必ずしも引き起こしませんが、機械学習モデルといしての利用を見つけました [miles2016supervised]。

 

以上