Interface6月号の5章:古典-量子ハイブリッド・アルゴリズムで2ち分類問題の加速化にトライ。ゲートレベルから実装する量子機械学習を実行してみました。
量子下記学習ライブラリPennyLaneの準備
PennyLaneはオープンソース・ソフトウェアで、公開されておりPythonで動作します。
詳細は、以下に記載されています。
1.インストール
Google Colabで以下を実行し、インストールします。
!pip install pennylane
インストール後、以下を実行するとバージョン情報等が表示されます。
import pennylane as qml
qml.about()
量子回路書き方の例
PennyLaneを用いた量子回路の書き方をサンプルで説明します。
(CNOTゲートはXORゲートと同様)
(RYゲートはY軸周りをθ度回転させた値)
#PennyLaneモジュールをqmlという名でimport
import pennylane as qml
#量子回路を実行するデバイス指定
#default.qubitはデフォルトで用意されているシミュレータ
#デコレータ
@qml.qnode(dev)
#CNOTとY回転ゲートw使用した回路
#PauliZはQiskitのmeasureと同等
def circuit(x):
qml.CNOT(wires=[0,1])
qml.RY(x,wires=1)
return qml.expval(qml.PauliZ(1))
result = circuit(0.543)
print(result)
上記回路を可視化すると、
デコレータについて
デコレータはそのまま訳すと修飾ですが、メソッドを修飾するメソッドという意味となります。