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 の一つを利用する必要があります。
以上