量子コンピュータ時代のプログラミングセミナー～ ブラックボックス最適化を活用した材料探索 ～14:00 開始予定
マイク、カメラをOFFにしてしばらくお待ちください
事前準備がお済みでない方は、この時間にお済ませください(事前準備の詳細はセミナーのご案内メールをご参照ください)
Zoomの表示名は、セミナー申し込み時のお名前としていただけますようご協力お願いいたします
Copyright© Fixstars Group

量子コンピュータ時代のプログラミングセミナー～ ブラックボックス最適化を活用した材料探索 ～Copyright© Fixstars Group本日の予定第一部 14:00-14:30

第二部 14:35-16:00• 本セミナーのゴール• Fixstars Amplify を用いたワークショップ• 会社紹介• 組合せ最適化の基本【ハンズオン】• 組合せ最適化事例• ブラックボックス最適化• Fixstars Amplify の紹介• FMQAの概要とフロー• ワークショップ事前準備のご連絡• 機械学習モデル FM【ハンズオン】• 材料探索 FMQA【ハンズオン】

質問は随時ZoomのQ&Aへお願いします• まとめ

Copyright© Fixstars Group3

本セミナーのゴール
組合せ最適化に関する次の項目を実感していただく➢

身の回りに組合せ最適化問題は多い。一方で、複雑で非線形な物理・社会現象の場合、組合せ最適化に必要な定式化が困難なものもある。

➢

機械学習と量子アニーリング・イジングマシンを活用するブラックボックス最適化により、複雑現象に対する最適化を実施可能。

➢

ブラックボックス最適化を Fixstars Amplify により実施できる。

質問は随時ZoomのQ&Aへお願いします
Copyright© Fixstars Group

4

会社紹介

Copyright© Fixstars Groupフィックスターズグループの基本情報
会社名

株式会社フィックスターズ

本社所在地

東京都港区芝浦3-1-1 msb Tamachi
田町ステーションタワーN 28階

設立

2002年8月

資本金5億5,446万円

社員数（連結）292名（2023年9月現在）
キオクシア株式会社
ルネサスエレクトロニクス株式会社

上場区分

東証プライム（証券コード：3687）

代表取締役社長三木

主なお客様

トヨタグループ（トヨタ自動車株式会社・
豊田通商株式会社・株式会社デンソー）
みずほ証券株式会社聡

キヤノン株式会社

グループ会社
2021/10/1 設立
Fixstars Solutions, Inc.
完全子会社
米国での営業及び開発を担当(株) Fixstars Autonomous Technologies
株式会社ネクスティ エレクトロニクスとのJV
自動運転向けソフトウェアを開発(株) Fixstars Amplify(株) Sider(株) Smart Opinion

オスカーテクノロジー (株)連結子会社
乳がんAI画像診断支援事業を運営

連結子会社
ソフトウェア自動並列化サービスを提供

完全子会社
開発支援SaaS「Sider」を運営

Copyright© Fixstars Group

完全子会社
量子コンピューティングのクラウド事業を運営

6

フィックスターズの量子技術への取り組み
次世代技術を先取りし今ある課題の解決を目指す

2018年
NEDOのプロジェクトに採択「イジングマシン共通ソフトウェア
基盤の研究開発」

2022年
5月： Fixstars Amplify がGurobi, IBM-Quantumをサポート
6月： 東洋経済主催シンポジウム「ビジネスを劇的に変える量子コンピューティングの可能性」に登壇
7月： 累計実行回数1,000万回突破
2021年
2月： 量子アニーリングクラウドサービス「Fixstars Amplify」提供開始
10月： 株式会社 Fixstars Amplify 設立
11月： Q-STAR 量子技術による新産業創出協議会に特別会員として加入

2017年
日本で初めてD-Wave Systems社と提携

2019年
SIPの研究開発に参画「光・量子を活用したSociety 5.0実現化技術：
光電子情報処理」
Copyright© Fixstars Group7

量子技術とFixstars Amplify

Copyright© Fixstars Group

量子技術とFixstars Amplifyの対応領域
1. 量子コンピュータ

3. イジングマシン

量子ゲート方式

二値二次多項式模型

古典汎用コンピュータの上位互換。
量子力学の重ね合わせ状態を制御する量子ゲートを操作し、特定の問題を汎用的かつ高速に処理する。

二次の多変数多項式で表される目的関数の組合せ最適化問題 (QUBO)
を扱う専用マシン。

QAOA に よ り 組 合 せ 最 適 化 問 題(QUBO) を取り扱うことが可能。

1

3

量子コンピュータ
IBM/Google/Rigetti/IonQ2
量子アニーリングイジングマシン
富士通/日立/東芝/Fixstars

変数は0,1または±1。統計物理学におけるイジング模型 (磁性体の性質を表す模型) に由来。様々な実装により実現されている。

D-Wave/NEC

2. 量子アニーリング方式
量子焼きなまし法
イジングマシンの一種であり、量子焼きなまし法の原理に基づいて動作する。量子イジング模型を物理的に搭載したプロセッサで実現する。自然計算により低エネルギー状態が出力される。組合せ最適化問題 (QUBO) を扱う専用マシン。
Copyright© Fixstars GroupAmplify AE
9

組合せ最適化問題 (QUBO)
数理最適化問題

量子アニーリング・イジングマシン⚫ 連続最適化問題• 決定変数が連続値（実数など）⚫ 決定変数が離散値 (整数など)• 整数計画問題 (決定変数が整数)• 0-1整数計画問題 (決定変数が二値)

Quadratic

二次形

Unconstrained

制約条件なしBinary0-1整数 (二値)

Optimization

計画（最適化）

QUBO目的関数 (0-1整数二次計画問題)

𝒇 𝒒 = ෍ 𝑄𝑖𝑗 𝑞𝑖 𝑞𝑗 + ෍ 𝑄𝑖𝑖 𝑞𝑖
𝑖<𝑗𝒇: 目的関数𝒇 𝒒 を最小化するような 𝒒 を求める

𝑖𝒒: 決定変数

𝑸: 係数
Copyright© Fixstars Group

クラウドサービス：Fixstars Amplify
10Fixstars Amplify とは– いつでも開発環境 と 実行環境 がセットすぐにプログラミングと実行が出来る– 誰でもハードウェアや専門的な知識が不要
無料で開発がスタート可能
多くの解説、サンプルコード– 高速に

26万ビットクラスの大規模問題の高速処理と高速実行が可能– あらゆる

一般に公開されている全てのイジング
マシンを利用可能
Copyright© Fixstars Group11

Fixstars Amplify の対応マシンの一例
標準マシン は、
• ベンダ各社と個別マシン利用契約なし、• 評価・検証用ベーシックプランなら無料、で利用可能！←「いつでも」、「誰でも」今後も幅広い対応マシンの追加が続々と行われる予定です！←「あらゆる」

Copyright© Fixstars Group12

Fixstars Amplify の内容と特徴•

開発環境：Amplify SDK•

実行環境：Amplify Annealing Engine (AE)

Copyright© Fixstars Group

開発環境：Fixstars Amplify SDK
Fixstars Amplify SDK ならアニーリングのプログラミングが圧倒的に短縮されます
開発環境インストール$ pip install amplify

最適化コード例

Copyright© Fixstars Group14

Fixstars Amplify SDKによるシンプルプログラミング
数独を解くサンプルアプリ
SDKなし
最適化しても200行以上

SDKあり
30行程度

富士通・デジタルアニーラの設定用コード
SDKなし
59行

SDKあり
1行

日立CMOSアニーリングマシンの設定用コード
SDKなし
183行

出典:
Wikipdia

Copyright© Fixstars Group

SDKあり
1行

SDKが、各マシンに対して最適な形式に実装式を多段変換！

15実行環境：Fixstars Amplify Annealing Engine (AE)NVIDIA GPU V100/A100 で動作• 独自の並列化シミュレーテッド

アニーリングアルゴリズム

WEB経由で計算機能を提供• 社会実装・PoC・検証が加速• Amplify SDK の実装を直ぐに実行可能

商用マシンでは最大規模・最高速レベル• 120,000 ビット（全結合）• 260,000 ビット超（疎結合）※評価・検証用途では無償提供
Copyright© Fixstars Group16

Fixstars Amplify SDK/AE パフォーマンス
Fixstars Amplify は最速レベルの定式化・求解速度を達成しています

TSP 10,000 vars←「高速に」MAX-CUT 2,000 vars

Gurobi
Amplify AE

x1000
Faster

SDK 定式化処理速度

AE 求解性能・速度

Copyright© Fixstars Group17

オンラインデモ & チュートリアル

Copyright© Fixstars GroupAmplify デモ

検索https://amplify.fixstars.com/ja/demo

18

様々な分野で利用が拡大しています
住友商事株式会社

600

登録社・組織数: 約

累計実行回数:

3,000万回超Copyright© Fixstars Group19

Fixstars Amplify ユーザー様事例のご紹介（組合せ最適化事例）

Copyright© Fixstars Group

最適配置自動化サービス（物流梱包業務のDX）
https://www.fixstars.com/ja/services/cases/amplify-bellemaison
業務内容：
梱包業務担当者（１チーム３名）をコンベア前のブースに割り当て
従来の方法：
前日夕方に、翌日の予測出荷目標数と出勤予定に基づいて、３人程度のリーダーが相談し数時間をかけて決定課題：
公平になるよう、様々な配慮を行う必要があり、割り当て担当者に心理的負担がかかっていた

成果： → 2022年10月より実稼働開始！
アニーリング技術を活用して自動化・デジタル化• 作業時間 → 15分程度に• 心理負担 → ほぼゼロに

梱包
効率
最大化
チーム
3名

上流下流
ローテーシ
ョン

公平
感

勤務時間が
近い

相性
Good
/NG

国家プロジェクトSIP「光・量子を活用したSociety 5.0実現化技術」の一環として、
住友商事、SCSK、ベルメゾンロジスコと、2019年より共同研究

Copyright© Fixstars Group手動配置
一部事前配置
自動配置結果の微調整

自動配置（アニーリング）
各種条件を満たす形で未配置のメンバーを一
括割り当て

割当業務の
時間削減

担当者の
心理的負担低減

配置情報の
デジタル化

Smileboard
Connectと連携※Smileboard Connect: 住友商事様開発の物流業務可視化サービス

生産計画最適化 (電気機器製造メーカー A社様)
複数の製品事業部から様々なプリント基板の注文を受け、生産を行う部門
段取り時間

課
題

生産する基板に応じて製造装置の部品や材料を交換する「段取り時間」が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい
従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジ
ュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュール作成の自動化に着手

装置1

A

A

装置2

B

B

B
B

B

段取り時間

装置x

C

E

B

段取り時間

E

D

生産スケジュール作成の時間・コストの大幅な削減！
効
果(一日あたり数時間 → 数分)

段取りのための製造装置の停止回数の削減！
(10%以上削減)

最適化未経験のご担当者様1人がプログラム試作開始から約1～2ヵ月間取り組んでこの効果を実現
現在は試作段階で、実運用に向けてモデルを改良中！

次期フェーズでは、Amplifyの活用領域の拡大を検討中！

Copyright© Fixstars Group22

生産計画最適化 (機器製造メーカー B社様)
各製品の生産数に応じて製造人員数の計画をする部門

効
果

必要人員数と日毎の人員数の増減の最小化！
計画立案の業務負荷削減・属人化解消！

人員数

課
題

少量多品種の機器を製造している。それぞれの製品は生産が開始できる時期や納期が決まっていて、各製品をどの生産ラインでいつ製造するかによって日々の必要人員数が変化する。人員数と日毎の人員数の増減を最小化したい。
従来は、専任者が2名で日々計画を立案・修正していたが、効率的な生産計画の立案、業務負荷削減、属人化解消のため自動化に着手。

製品 A

調整▼納期

調整

1000台

▼納期

製品 B

2000台
納期▼

製品 C

7000台
順番入れ替え

製品 D

納期▼

200台

人員数の増減を最小化！

時間（日）Copyright© Fixstars Group23

Fixstars Amplify を活用した研究事例
大学

研究室

論文タイトル

量子ア
ニーリ
ング/イ
ジング
マシン
に関す
る研究

早稲田大学

戸川研究室

イジングマシンによる制約付きグラフ彩色問題の彩色数最小化手法 (リンク)東京大学

Prof. Codognet

Modeling the Costas Array Problem in QUBO for Quantum Annealing (リンク)

名古屋大学

片桐研究室

Amplifyを用いたCMOSアニーリングマシンの特性の分析 (リンク)

東北大学

小松研究室

組み合わせクラスタリングによるアニーリングマシンの評価 (リンク)

応用
研究

慶應大学

村松研究室 (材料工学)

Phase-fieldモデルの量子アニーリングシミュレータ (リンク)東京大学

長谷川研究室 (量子ゲート)

ISAAQ:イジングマシンを活用した量子コンパイラ (リンク)山梨大学

鈴木研究室 (情報工学)

量子アニーリングによる疎行列直接解法向けフィルイン削減オーダリング (リンク)東京大学

津田研究室 (MI)Designing metamaterials with quantum annealing and factorization machines (リンク)京都大学

野田研究室 (電子工学)

量子アニーリングを活用したフォトニック結晶レーザーの構造最適化 (リンク)東京大学

津田研究室 (MI)Chemical Design with GPU-based Ising Machines (リンク)Copyright© Fixstars Group24

Fixstars Amplify ご利用プラン

Copyright© Fixstars Group料金のご紹介https://amplify.fixstars.com/ja/pricing

Fixstars Amplify クラウド利用料

開発支援サービス(個別見積り)

コンサル・システム開発等
数百万円～数千万円

月額利用料
百万円～

定式化や実装を手厚く支援します！
Copyright© Fixstars Group

26

セミナー・トレーニングのご紹介
https://amplify.fixstars.com/ja/news/seminar
お客様の実際の課題解決をご支援するために、無料セミナーや有償トレーニングを提供しています。
無料セミナー・ワークショップ
ビジネス向け、エンジニア向けに分けて開催しています！

企業向けプライベートトレーニング
お客様が抱える実際の課題やデータを使ったカスタムメイド のトレーニングです！

Copyright© Fixstars Group27

ワークショップ
事前準備（事前メールの内容）

Copyright© Fixstars Groupワークショップの事前準備 (1)• 【事前メールに記載】ご自身のPC (ブラウザ上) で Python プログラミングを行います。Google
Colaboratory を使うので、事前にログイン出来ることを確認をお願いします（要 Google アカウント）
Google Colab検索

https://colab.research.google.com/• 【事前メールに記載】 Fixstars Amplify ホームページよりユーザ登録の上、無料トークンの取得をお願いします（1分で終わります）
Fixstars Amplify

検索

https://amplify.fixstars.com/

質問は随時ZoomのQ&Aへお願いします
Copyright© Fixstars Group29

ワークショップの事前準備 (2)【事前メールに記載】• 取得されたトークンを用いて、トークンチェック用サンプルコードが動くか確認をお願いします。
https://colab.research.google.com/drive/1bg2Ql3McJck_Sto8uvxtmPUMWtRFhf7a （※URLはZoomのチャット欄を参照）• サンプルコードは閲覧のみ可能な状態です。「ファイル」→「ドライブにコピーを保存」の上、ご自身のトークンを入力してください。その後、Shift + Enterで実行下さい。
! pip install amplify
token = "********************************" # ご自身のトークンを入力• ご自身のトークン番号は、Amplifyウェブページ →よりご確認いただけます。

• 実行後、以下の結果が出力されればOKです。
result: [q_0, q_1] = [1. 1.] (f = 0.0)
Copyright© Fixstars Group30

ワークショップ
通常の組合せ最適化（ブラックボックス最適化への導入）

Copyright© Fixstars Group

サンプルコード• ワークショップで使うサンプルコードを取得して下さい。

• それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。
• サンプルコードを開き、「ファイル」→「ドライブにコピー」の上、トークンを入力し実行して下さい。

• 数の分割サンプルコード
https://colab.research.google.com/drive/1bl6BGPwnpd3N0AveoDMGb8egprEdQMqU（※URLはZoomのチャット欄を参照）

質問は随時、Zoomの Q&A へお願いします。

Copyright© Fixstars Group32

数の分割問題（概要）• 与えられた 𝑛 個の整数𝑎0 , ⋯ , 𝑎𝑛−1 を二つの集合に分ける。
集合内の数の和が、もう一方の集合内の数の和と等しくなるようできるか?
• NP完全問題: とても難しい問題として知られている → 全通り試すしか方法は無い• 問題のバリエーション• 判定問題: 完全に等しく出来るか？または等しい組合せは何か？
• 最適化問題: 完全に等しいか、または最も惜しい組合せは何か？

Copyright© Fixstars Group33

数の分割問題（具体例と解法の方針）
具体例{2,10,3,8,5,7,9,5,3,2} の10個の数の完璧な分割は見つけられるか？

答え• 存在する• {2,3,5,7,10} と {2,3,5,8,9}• どちらも和は 27• 分割方法は 23 通り存在する (対称を除く）

どうやって解くか？
• ひとつの『数』がどちらの集合に分割されるか全通り試す → 210 = 1024通り
Copyright© Fixstars Group• 効率のよい厳密な方法は知られていない・・・(もし発見されたら大騒ぎ)

34

35

数の分割問題（定式化）
最適化問題：数の分割において最も惜しい組合せは何か？

• 目的関数{集合1の和} – {集合2の和} の絶対値を最小化• 決定変数数 𝑎𝑖 がどちらの集合に属するかを 𝒔𝒊 で表す• 𝑎𝑖 = { 2,10, 3, 8, 5, 7, 9, 5, 3, 2}• 𝑠𝑖 = {-1, 1,-1, 1,-1,-1, 1, 1, 1, 1}

数理モデル• 目的関数

𝑁−1

𝑓 = ෍ 𝑠𝑖 𝑎𝑖

𝑠𝑖 ∈ −1, +1

𝑖=0
Copyright© Fixstars Groupσ 𝑠𝑖 𝑎𝑖 は、自然と{『1』の集合の和} – {『-1』の集合の和}となる！

数の分割問題（バイナリへの式変形）• 0-1整数二次計画問題への変換• Quadratic Unconstrained Binary Optimization (QUBO) 式
𝑁−1

𝑓 = ෍ 𝑠𝑖 𝑎𝑖

𝑠𝑖 ∈ −1, +1

𝑖=0
𝑁−1

→

෍ 𝑠𝑖 𝑎𝑖2

𝑠𝑖 ∈ −1, +1

σ 𝑠𝑖 𝑎𝑖 は、自然と{『1』の集合の和} – {『-1』の集合の和}となる！

絶対値を二次式で表す

𝑖=0

𝑁−1

→

෍ 2𝑞𝑖 − 1 𝑎𝑖

2𝑞𝑖 ∈ 0, +1±1をバイナリで表す

𝑖=0
Copyright© Fixstars Group36

数の分割問題（定式化の具体例）
問題• 𝑎𝑖 ={2,10,3,8,5,7,9,5,3,2} の10個の数の完璧な分割は見つけられるか？
決定変数• 𝑞𝑖 = 𝑞0 , 𝑞1 , 𝑞2 , 𝑞3 , 𝑞4 , 𝑞5 , 𝑞6 , 𝑞7 , 𝑞8 , 𝑞9 𝑞𝑖 ∈ 0,1

で集合0又は集合1、どちらに所属する

かを表す
目的関数
2

𝑁

𝑓 = ෍ 2𝑞𝑖 − 1 𝑎𝑖𝑖=1

目的関数を展開
2 2𝑞0 − 1 + 10 2𝑞1 − 1 + 3 2𝑞2 − 1 + 8 2𝑞3 − 1 + 5 2𝑞4 − 1𝑓=+7 2𝑞5 − 1 + 9 2𝑞6 − 1 + 5 2𝑞7 − 1 + 3 2𝑞8 − 1 + 2 2𝑞9 − 1
Copyright© Fixstars Group2
37

数の分割問題（プログラムコード）• 問題の定義と決定変数生成器による決定変数の生成
a = [2, 10, 3, 8, 5, 7, 9, 5, 3, 2]
q = amplify.VariableGenerator().array(“Binary”, len(a))

21. 定式化

2. 実行• 目的関数、𝑓 = σ𝑁𝑖=1 2𝑞𝑖 − 1 𝑎𝑖 、の定式化（①②③は同等）①

f = ((2 * q - 1) * a).sum() ** 2

②

f = 0
for i in range(len(a)):
f += (2 * q[i] - 1) * a[i]f **= 2③

f = amplify.sum((2 * q - 1) * a) ** 2

色々な書き方が出来る

result = amplify.solve(f, client)
得られた目的関数の値03. 結果

各集合の合計値27q = [1, 1, 1, 0, 1, 1, 0, 0, 0, 0], f = 0.0, w = 27
Copyright© Fixstars Group

各数字に対して、集合0か、集合1か38

オンラインデモ & チュートリアル

Copyright© Fixstars GroupAmplify デモ

検索https://amplify.fixstars.com/ja/demo39

組合せ最適化とブラックボックス最適化

Copyright© Fixstars Group40

組合せ最適化とブラックボックス最適化
通常の組合せ最適化

ブラックボックス最適化• 課題に対し、定式化によりQUBO式を取得可能• 課題が複雑で直接の定式化が不可能。
例1) 合成素材の性能向上に必要な、合成対象の材料の組• 数の分割合せ最適化

𝑓 = Σ 2𝑞𝑖 − 1 𝑎𝑖 2

例2) 最も計測精度が高くなる計測センサー群の配置は？

• 生産計画最適化➔ 実験かシミュレーション（コスト大）

𝑓 = ΣΣ Σ𝑎𝑖 𝑝𝑖 𝑞𝑚,𝑖,𝑡 + ΣΣ𝑏𝑖 𝑠𝑖 𝑞𝑚,𝑖,𝑡 𝑞𝑚,𝑖−1,𝑓 ⋯• TSP問題（お遍路巡り最短経路探索）• シミュレーションや実験の試行回数の削減➔ シミュレーションや実験が楽になる

𝑓 = ΣΣΣ𝑑𝑖,𝑗 𝑞𝑛,𝑖 𝑞𝑛+1,𝑗 ⋯• QUBO式に対し、直接アニーリングを行う• 逆問題に対するアプローチとしても適用化（量子アニーリング・イジングマシン）

例：ある計測値を実現する実験条件を見つける
Copyright© Fixstars Group41

FMQAの紹介

Copyright© Fixstars Groupブラックボックス最適化

数理最適化
ブラックボックス最適化

目的関数値 𝒇 𝒙 のみ観測可能• 目的関数の形状や勾配などは何も分からない。

機械学習＋
量子アニーリング／イジングマシン

目的関数の評価回数に限りがある• 入力集合 Ω が有限集合であっても全検索できない。
イメージ• 5種類の材料から、いくつかの材料を選択・合成し、最も電気抵抗の小さな物質を作る。
• 決定変数（材料の選択肢）𝒙 ・・・ 5桁の01ビットでどの材料を選択するかを記述
𝒙 = [1,0,0,0,0], [1,1,0,0,0], [1,0,1,0,0], ⋯ , [1,1,1,1,1] → 25 − 1 通り

• 目的関数 𝑓 𝒙 = 合成物質の電気抵抗（実験又は数値シミュレーション）
Copyright© Fixstars Group43

ブラックボックス最適化アプローチ

数理最適化

ブラックボックス関数 𝑓 𝒙 に対して、以下サイクルを繰り返す（実験・シミュレーション）（フローはベイズ最適化に似ている、本質は異なる）

ブラックボックス最適化
機械学習＋
量子アニーリング／イジングマシン① 初期教師データを構築（𝑁0 回の目的関数の評価）② 教師データから獲得関数 𝑔 𝒙 を構築③ 獲得関数 𝑔 𝒙 が最小となる点 ෝ
𝒙 を推定④ 目的関数 の評価結果 ෝ𝒙, 𝑓 ෝ
𝒙②～④を 𝑁 回繰り返す

を教師データに追加

実験
ミュレーション

課題： 1. 𝑔 𝒙 の構築？

Factorization Machine（機械学習モデル）

2. 𝑔 𝒙 最小化を実現するෝ
𝒙 の推定？
Copyright© Fixstars Group

学習モデルをQUBOとしてAmplifyで求解
K. Kitai, et al., Phys. Rev. Res. (2020).
T. Inoue, et al., Opt. Express (2022).

44

ブラックボックス最適化アプローチ

数理最適化

ブラックボックス関数 𝑓 𝒙 に対して、以下サイクルを繰り返す（実験・シミュレーション）（フローはベイズ最適化に似ている、本質は異なる）

ブラックボックス最適化
機械学習＋
量子アニーリング／イジングマシン① 初期教師データを構築（𝑁0 回の目的関数の評価）② 教師データから獲得関数 𝑔 𝒙 を構築

初期教師データ構築のための評価（例：ランダム探索）②～④を 𝑁 − 𝑁0
回繰り返す

③ 獲得関数 𝑔 𝒙 が最小となる点 ෝ
𝒙 を推定④ 目的関数 の評価結果 ෝ𝒙, 𝑓 ෝ
𝒙

最適化サイクル中における評価を教師データに追加

実験
ミュレーション

最適化サイクルと共に最適化点近傍の「良質」データが徐々に蓄積

課題： 1. 𝑔 𝒙 の構築？

Factorization Machine（機械学習モデル）

2. 𝑔 𝒙 最小化を実現するෝ
𝒙 の推定？
Copyright© Fixstars Group

学習モデルをQUBOとしてAmplifyで求解45

獲得関数としての Factorization Machine (FM)
• 獲得関数 𝑔(𝒙) に機械学習モデルの一種である Factorization Machine (FM) を用いると、次のように変数 𝒙 に対する2次式での記述ができる。
𝑛𝑛𝑔 𝒙 𝒘, 𝒗 = 𝑤0 + 𝒘, 𝒙 + ෍ ෍ 𝒗𝑖 , 𝒗𝑗 𝑥𝑖 𝑥𝑗
𝑖=1 𝑗=𝑖+1𝑛𝑘

1= 𝑤0 + ෍ 𝑤𝑖 𝑥𝑖 + ෍
2
𝑖=1

𝑓=1

𝑛

2

෍ 𝑣𝑖𝑓 𝑥𝑖
𝑖=1𝑛

➔ QUBO式

2 2− ෍ 𝑣𝑖𝑓𝑥𝑖
𝑖=1• 𝑘 はハイパーパラメータ、 𝒘 及び 𝒗 は FM 学習後に取得される FM パラメータ。
• FM パラメータ数は 𝑘 に依存。𝑘 = 𝑛 のときは QUBO の相互作用項と同じ自由度がある一方、 𝑘 を小さくすることでパラメータ数を減らし過学習を抑制する効果• このようなブラックボックス最適化手法を FMQA と呼ぶ場合がある。
Copyright© Fixstars GroupK. Kitai, et al., Phys. Rev. Res. (2020).
T. Inoue, et al., Opt. Express (2022).

46

ブラックボックス最適化 活用例
材料分野に限らず、幅広い分野へ適用可能

Copyright© Fixstars Groupブラックボックス最適化 活用例• デモ・チュートリアルページで公開の活用例及びAmplify デモ

検索https://amplify.fixstars.com/ja/demo

非公開の活用例

機械学習への
応用

FMQA入門

物理・材料

プラント工学

流体工学

Copyright© Fixstars Group

交通制御

機械学習

48

ブラックボックス最適化
1. 機械学習 (FM) ハンズオン
2. FMQA ハンズオン

Copyright© Fixstars Groupブラックボックス最適化のデモプログラム
ある代数式を未知のブラックボックス関数と見なした場合の FM 機械学習
• https://colab.research.google.com/drive/1SilVRpoZUqVp_jeCrn9LYPucPfzpB_ag

問題設定

最適化サイクル• モデル化対象の真の関数 𝑓(𝒙) として、
𝑓 𝒙 = 𝒙𝑇 𝑄𝒙を考慮。プログラム内で 𝑄 は乱数で定義

1. 教師データから獲得関数 𝑔(𝒙) を構築 (FM)
2. 獲得関数 𝑔(𝒙) が最小となる点 ෝ
𝒙 を推定 (QA)
3. 評価結果 ෝ𝒙, 𝑓(ෝ
𝒙) を教師データに追加↑のサイクルにより、最適化点近傍におけるFMの予測精度が向上し、組合せ最適化により、より良い ෝ
𝒙の推定が期待される

Copyright© Fixstars Group50

FM デモプログラム 1/5（ブラックボックス関数の定義）• 乱数シードの固定• 実行毎の再現性のため• ブラックボックス関数を生成する関数• 生成後のブラックボックス関数の使い方

Copyright© Fixstars Group51

FM デモプログラム 2/5（FMの定義）• FM モデルを PyTorch で定義する

Copyright© Fixstars Group52

FM デモプログラム 3/5（FMの学習）
FM 学習は、通常の機械学習と同様に進める。
教師データを学習・検証データに分割し、ミニバッチ学習。
• x, y: 教師データ• model: FM モデル（TorchFM）• epochs: エポック（繰り返し）の数• lr: 学習率

学習後、最も良いモデルに対し、次のような評価を実施Copyright© Fixstars Group53

FM デモプログラム 4/5（教師データ作成）
教師データを乱数により生成• d: 入力サイズ• n0: 教師データのサンプル数• blackbox: ブラックボックス関数（実験又はシミュレーション） 𝑓(𝒙)Copyright© Fixstars Group54

FM デモプログラム 5/5（メイン部分）• 機械学習の実施

実際にサンプルプログラムを実行してみましょう。デフォルトの条件から、• FMのハイパーパラメータ (k)• エポック数 (epochs)• 学習率 (lr)などを変更した場合、真値と予測値の相関係数及びRMS誤差はどのように変化するでしょうか？

Copyright© Fixstars Group55

ブラックボックス最適化
1. 機械学習 (FM) ハンズオン
2. FMQA ハンズオン

Copyright© Fixstars Groupブラックボックス最適化のデモプログラム
ブラックボックス最適化による模擬超電導材料の探索
https://colab.research.google.com/drive/1E3Cy6Fe4EG-M1lE_33-Djp93aSZAUiQz

ブラックボックス関数

最適化サイクル• ブラックボックス関数 𝑓(𝒙) として、与えられ1. 教師データから獲得関数 𝑔(𝒙) を構築 (FM)た材料組合せによる模擬超電導材料の臨界温

2. 獲得関数 𝑔(𝒙) が最小となる点 ෝ
𝒙 を推定 (QA)

度を返却するモデル関数を考慮※本関数はあくまでも実験やシミュレーションの代用であり、

3. 評価結果 ෝ𝒙, 𝑓(ෝ
𝒙) を教師データに追加

その中身やパラメータについては未知であるとして扱い、関↑のサイクルにより、最適化点近傍におけるFMの予数評価の回数にも制限があるものとして取り扱います。

測精度が向上し、組合せ最適化により、より良い ෝ
𝒙の推定が期待される

Copyright© Fixstars Group57

FMQA デモプログラム 1/3 （ブラックボックス関数の定義）
関数の利用例：

Copyright© Fixstars Group58

FMQA デモプログラム 2/3 （アニーリング部分）
学習済みFMに基づき ෝ𝒙 を推定する関数• 決定変数配列の作成• 学習済みモデルからパラメータを取得• パラメータに基づき目的関数 𝑔(𝑥) を作成• ソルバーの設定• ※トークン入力を忘れずに• solve の実行• このサイクルにおける 𝒙ෝ を返却

Copyright© Fixstars Group59

FMQA デモプログラム 3/3（メイン部分）
実際にサンプルプログラムを実行してみましょう！
デモプログラムをベースに、• サイクル数 (N)• 初期教師データ数 (N0)

• FMハイパーパラメータ (k)などを変化させた場合、最適化結果や最適化
過程はどのように変化するでしょうか。

また、目的関数を変更し、最適化を実施してみましょう。

Copyright© Fixstars Group60

FMQA デモプログラムの実務での活用方法
基本的に、blackbox()を変更する。必要に応じて、現在の教師データの出力などを追加。

• 例①：blackbox() 内でシミュレーションを呼び出し、その戻り値を最小化するように最適化。

• 例②：blackbox() 内で実験を行う。つまり、1回のෝ を対象に実験し、結FMQA で推定された探索候補 𝒙
果 を 教 師 デ ー タ に 追 加 、 次 の FMQA 試 行 を 行 う➔ 実施例のデモ• ℎ 𝒙 を最大にするような入力 𝒙 を推定する場合は、
1/ℎ 𝒙 や −ℎ 𝒙 などを目的関数 𝑓 𝒙 とする。

Copyright© Fixstars Group61

今後について⚫ デモ・チュートリアルにチャレンジ！
目的関数のみで定式化

制約のみで定式化

目的関数＋制約で定式化

困った時はドキュメンテーションを！
https://amplify.fixstars.com/ja/docs/amplify/v1/

Copyright© Fixstars Group

62

Q&A

Copyright© Fixstars Group

63