PennyLane : キー概念 : ハイブリッド計算

PennyLane キー概念 : ハイブリッド計算 (翻訳)

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

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

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

 

キー概念 : ハイブリッド計算

イントロダクションで、量子ノード の概念を簡単に紹介しました。この抽象はより巨大なハイブリッド量子-古典的計算の一部として量子関数を古典的関数と結合させてくれます。

ハイブリッド計算は多くの既存の提案で考察されてきました。けれども、量子と古典的コンポーネント間の作業の分担はしばしば非常に柔軟性に欠けます。典型的には、量子デバイスは幾つかの回路を評価するために使用されて、そして結果としての期待値は単一の古典的なコスト関数内に結び付けられます。


ハイブリッド量子-古典的計算の構造は歴史的に量子回路に制限されてきました、その出力は単一の古典的コスト関数内に結び付けられます、e.g., 変分量子固有値 solver [peruzzo2014variational]。

このアプローチが最初のステップとして何某かの成功を示してきた一方で、それは依然として制限的です。量子と古典的構成要素をより大きなそしてより複雑なハイブリッド計算へ結び付ける多くのより興味深い方法を想像することは容易いです。

 

有向非巡回グラフ

真のハイブリッド量子-古典的計算。量子と古典的ノードは 有向非巡回グラフ 内で配置されます。

PennyLane はハイブリッド計算の遥かにより表現豊かな概念を念頭に設計されました。量子と古典的ノードは任意の 有向非巡回グラフ (DAG) 内に結び付けられることができます。これは、情報は各ノードからその次に来るもの (= successor) に流れて、そして循環 (ループ) は作成されないことを意味します。これらの基本ルール以外では、どのような configuration もサポートされます。グラフの各ノードは古典的か量子のいずれかであり得て、そして異なるデバイス (e.g., 量子ビットと CV デバイス) 上で実行される量子ノードが同じ計算内に結合されることができます。

この DAG 構造は現代的な深層学習モデル内に現れるそれと類似しています。実際に、PennyLane は NumPy を使用してコーディングできる任意の機械学習モデルをサポートします。もちろん、PennyLane は計算グラフで量子回路をシームレスにサポートもするという追加された利点を持ちます。

 

ハイブリッド計算を通したバックプロパゲーション

PennyLane は量子関数の勾配を計算するための方法を提供しますので、(reverse-モード自動微分としても知られる) 有名な バックプロパゲーション アルゴリズム、深層学習モデルを訓練するための馬車馬となるアルゴリズムのようなテクニックと互換です。

これは PennyLane はハイブリッド量子-古典的計算を通して end-to-end に微分可能である ことを意味します。こうして量子機械学習モデルは古典的深層学習モデルが訓練されるのと基本的には同じ方法で訓練できます。

 
Note

PennyLane は Python ライブラリ autograd を利用します、これは通常の NumPy 数学ライブラリをラップし、自動微分機能を提供します。PennyLane は autograd でサポートされる任意の古典的機械学習モデル、そして利用可能な量子デバイスによりサポートされる任意のハイブリッド機械学習モデルをサポートできます。

量子-古典的ハイブリッドモデルを構築するとき、NumPy のラップされたバージョンをインポートすることを確実にしてください、これは PennyLane により提供されます、i.e., “from pennylane import numpy as np”。これは PennyLane に量子回路の勾配とともに NumPy で構築された関数の勾配を計算することを可能にします。

 

以上