PennyLane : 使用方法 : Optimizer

PennyLane 使用方法 : Optimizer (翻訳)

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

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

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

$$
\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}
$$

 

使用方法 : Optimizer

optimizer は、量子あるいはハイブリッド機械学習モデルのパラメータを自動的に更新するために使用できるオブジェクトです。使用すべき optimizer は古典的インターフェイス (NumPy, PyTorch と TensorFlow) の貴方の選択に依拠し、そして異なるアクセスポイントから利用可能です。

それらの由来に拘らず、総ての optimizer は同じコア機能を提供し、そして PennyLane はそれらの総てと完全に互換です。

 

NumPy インターフェイス

標準 NumPy インターフェイスを使用するとき、Pennylane は組込み optimizer を提供します。これらの幾つかは QNGOptimizer のように、量子最適化に固有です。

AdagradOptimizer 勾配降下 optimizer with past-勾配依存学習率 in each dimension.
AdamOptimizer 勾配降下 optimizer with adaptive 学習率, first and second moment.
GradientDescentOptimizer 基本的な勾配降下 optimizer.
MomentumOptimizer モメンタムを伴う勾配降下 optimizer
NesterovMomentumOptimizer 勾配降下 optimizer with Nesterov モメンタム.
QNGOptimizer Optimizer with adaptive 学習率, via calculation of the diagonal or block-diagonal approximation to the Fubini-Study metric tensor.
RMSPropOptimizer Root mean squared propagation optimizer.

 

PyTorch インターフェイス

PennyLane PyTorch インターフェイス を使用している場合、(torch.optim で見つかる) native PyTorch optimizer をインポートするべきです。

 

TensorFlow インターフェイス

PennyLane TensorFlow インターフェイス を使用しているとき、(tf.keras.optimzers で見つかる) TensorFlow optimizer の一つを利用する必要があります。

 

以上