4.2K Views
July 28, 23
スライド概要
株式会社 Fixstars Amplify では、量子コンピュータ時代を見据え、量子アニーリング・イジングマシンのクラウドプラットフォーム「Fixstars Amplify」を活用した、社会課題の解決と実業務への適用を進めています。
本セミナーは、ワークショップ形式で、量子アニーリング・イジングマシンの力を、無料版の Fixstars Amplify を通じて体験していただきます。
今回は、現在多くの業界から注目を集めている、量子アニーリング・イジングマシンを活用した「ブラックボックス最適化」をテーマとして取り上げます。
身の回りには、「組合せ最適化」で解決可能な課題が多く存在します。一方で、複雑で非線形な物理・社会現象の場合、組合せ最適化に必要な定式化が困難なものもあります。このような複雑な現象に対しては、機械学習を活用して最適な解の探索を行うブラックボックス最適化が有効です。
本セミナーでは、機械学習に加えて、量子アニーリング・イジングマシンを組み合せて活用することで、より効率的に最適解の探索を行うブラックボックス最適化について解説します。材料、化学反応、流体力学分野における課題を例として、Fixstars Amplify を用いた実装もご紹介します。
企業や大学で研究開発に従事されている方に、特におすすめの内容となっています。
フィックスターズは、コンピュータの性能を最大限に引き出すソフトウェア開発のスペシャリストです。車載、産業機器、金融、医療など、幅広い分野での開発経験があります。また、ディープラーニングや機械学習などの最先端技術にも力を入れています。 並列化や最適化技術を駆使して、マルチコアCPU、GPU、FPGA、量子アニーリングマシンなど、さまざまなハードウェアでソフトウェアを高速化するサービスを提供しています。さらに、長年の経験から培ったハードウェアの知識と最適化ノウハウを活かし、高精度で高性能なアルゴリズムの開発も行っています。 ・開催セミナー一覧:https://www.fixstars.com/ja/seminar ・技術ブログ :https://proc-cpuinfo.fixstars.com/
量子コンピュータ時代のプログラミングセミナー ~Fixstars Amplify で実装するブラックボックス最適化~ Copyright© Fixstars Group
本日の予定 第一部 14:00-14:35 第二部 14:40-16:00 • 本セミナーのゴール • Fixstars Amplify を用いたワークショップ • 会社紹介 • 組合せ最適化の基本 • 組合せ最適化事例 • ブラックボックス最適化 • Fixstars Amplify の紹介 ① 代数式を未知のブラックボックス関数と見なし た場合のブラックボックス最適化 • ワークショップ事前準備のご連絡 ② モデル超電導材料の探索 ③ 化学プラントにおける生産量最大化 ④ 流体シミュレーションによる翼形状の最適化 質問は随時ZoomのチャットかQ&Aでお願いします Copyright© Fixstars Group 3
本セミナーのゴール 組合せ最適化に関する次の項目を実感していただく ➢ 身の回りに組合せ最適化問題は多い。一方で、複雑で非線形な物理・社会現 象の場合、組合せ最適化に必要な定式化が困難なものもある。 ➢ 機械学習と量子アニーリング・イジングマシンを活用するブラックボックス 最適化により、複雑現象に対する最適化を実施可能。 ➢ ブラックボックス最適化を Fixstars Amplify により実施できる。 質問は随時ZoomのチャットかQ&Aでお願いします Copyright© Fixstars Group 4
会社紹介 Copyright© Fixstars Group
フィックスターズグループの基本情報 会社名 株式会社フィックスターズ 本社所在地 東京都港区芝浦3-1-1 msb Tamachi 田町ステーションタワーN 28階 設立 2002年8月 資本金 5億5,446万円 社員数(連結) 263名(2022年9月現在) キオクシア株式会社 ルネサスエレクトロニクス株式会社 上場区分 東証プライム(証券コード:3687) 代表取締役社長 三木 主なお客様 トヨタグループ(トヨタ自動車株式会社・ 豊田通商株式会社・株式会社デンソー) みずほ証券株式会社 聡 キヤノン株式会社 グループ会社 2021/10/1 設立 Fixstars Solutions, Inc. 完全子会社 米国での営業及び開発を担当 (株) Fixstars Autonomous Technologies 株式会社ネクスティ エレクトロニクスとのJV 自動運転向けソフトウェアを開発 (株) Fixstars Amplify (株) Sider (株) Smart Opinion オスカーテクノロジー (株) 連結子会社 乳がんAI画像診断支援事業を運営 連結子会社 ソフトウェア自動並列化サービスを提供 完全子会社 開発支援SaaS「Sider」を運営 Copyright© Fixstars Group 完全子会社 量子コンピューティングのクラウド事業を運営 6
フィックスターズのサービス概要 お客様専任のエンジニアが直接ヒアリングを行い、高速化を実現するために乗り越えるべき 課題や問題を明確にしていきます。 高速化のワークフロー コンサルティング 高速化 サポート 先行技術調査 アルゴリズムの改良・開発 レポートやコードへのQ&A 性能評価・ボトルネックの特定 ハードウェアへの最適化 実製品への組込み支援 レポート作成 Copyright© Fixstars Group 7
フィックスターズの強み コンピュータの性能を最大限に引き出す、ソフトウェア高速化のエキスパート集団 ハードウェアの知見 アルゴリズム実装力 各産業・研究分野の知見 目的の製品に最適なハードウェアを見抜き、 その性能をフル活用するソフトウェアを開 発します。 ハードウェアの特徴と製品要求仕様に合わ せて、アルゴリズムを改良して高速化を実 現します。 開発したい製品に使える技術を見抜き、実 際に動作する実装までトータルにサポート します。 Copyright© Fixstars Group 8
フィックスターズの量子技術への取り組み 次世代技術を先取りし 今ある課題の解決を目指す 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 Group 9
量子コンピューティング事業 多様なハードウェアでのソフトウェア高速化サービスに加え、 量子コンピュータ活用支援とシステム開発を提供しています。 お客様の課題 ご支援内容 量子コンピューティングが課題の解決に役立つ か確信が持てない セミナー・トレーニング 量子コンピュータの研究動向や活用事例、実際の利用方法等 クラウド実行環境のご提供 量子コンピューティングの検討をどう進めたら 良いかわからない クラウド経由での量子コンピュータ利用サービスを提供 コンサルティング セットアップ支援、処理の分割や変換等のコンサル 作りたいアプリケーションがあるが、開発が ソフトウェア高速化・開発支援サービス 難しい 量子コンピュータを組み合わせてシステムの高速化を実現 Copyright© Fixstars Group 10
組合せ最適化事例のご紹介 Copyright© Fixstars Group
組合せ最適化問題と量子アニーリング・イジングマシン 膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題) スケジューリング 配送計画 スマートシティー 集積回路設計 参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」 量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシン Copyright© Fixstars Group 12
最適配置自動化サービス(物流梱包業務のDX) https://www.fixstars.com/ja/services/cases/amplify-bellemaison 業務内容: 梱包業務担当者(1チーム3名)を コンベア前のブースに割り当て 従来の方法: 前日夕方に、翌日の予測出荷目標数と 出勤予定に基づいて、3人程度のリー ダーが相談し数時間をかけて決定 課題: 公平になるよう、様々な配慮を行う必 要があり、割り当て担当者に心理的負 担がかかっていた 成果: → 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 Group 14
生産計画最適化 (機器製造メーカー B社様) 各製品の生産数に応じて製造人員数の計画をする部門 効 果 必要人員数と日毎の人員数の増減の最小化! 計画立案の業務負荷削減・属人化解消! 人員数 課 題 少量多品種の機器を製造している。それぞれの製品は生産が開始できる 時期や納期が決まっていて、各製品をどの生産ラインでいつ製造するか によって日々の必要人員数が変化する。人員数と日毎の人員数の増減を 最小化したい。 従来は、専任者が2名で日々計画を立案・修正していたが、効率的な生 産計画の立案、業務負荷削減、属人化解消のため自動化に着手。 製品 A 調整▼納期 調整 1000台 ▼納期 製品 B 2000台 納期▼ 製品 C 7000台 順番入れ替え 製品 D 納期▼ 200台 人員数の増減を 最小化! 時間(日) Copyright© Fixstars Group 15
Fixstars Amplify を活用した研究事例 大学 研究室 論文タイトル 量子ア ニーリ ング/イ ジング マシン に関す る研究 早稲田大学 戸川研究室 イジングマシンによる制約付きグラフ彩色問題の彩色数最小化手法 (リンク) 東京大学 Prof. Codognet Modeling the Costas Array Problem in QUBO for Quantum Annealing (リンク) 名古屋大学 片桐研究室 Amplifyを用いたCMOSアニーリングマシンの特性の分析 (リンク) 東北大学 小松研究室 組み合わせクラスタリングによるアニーリングマシンの評価 (リンク) 応用 研究 慶應義塾大 学 村松研究室 東京大学 長谷川研究室 会津大学 小平研究室 (LSI設計) シミュレーテッド量子アニーリングを用いたマスク最適化手法 (リンク) 山梨大学 鈴木研究室 (情報工学) 量子アニーリングによる疎行列直接解法向けフィルイン削減オーダリング (リンク) 京都大学 野田研究室 (電子工学) 量子アニーリングを活用したフォトニック結晶レーザーの構造最適化 (リンク) 東京大学 津田研究室 (MI) Designing metamaterials with quantum annealing and factorization machines (リンク) (材料工学) (量子ゲート) Phase-fieldモデルの量子アニーリングシミュレータ (リンク) ISAAQ:イジングマシンを活用した量子コンパイラ (リンク) Copyright© Fixstars Group BBO 16
フォトニック結晶レーザーの構造最適化 • • • Fixstars との共同研究 [SIP成果] https://www.t.kyoto-u.ac.jp/ja/news/topics/research/20220908 https://opg.optica.org/oe/fulltext.cfm?uri=oe-30-24-43503&id=520202 京都大学大学院工学研究科の野田進教授、慶應義塾大学理工学部の田中宗准教授、早稲田大学理 工学術院の戸川望教授ら 【概要】 • 「フォトニック結晶レーザー」は、将来のスマート加工用レーザ ー光源としての普及が期待されており、高光出力化など積極的に 研究されていて一定の成果もでている • フォトニック結晶の設計においては、従来は空間的に一様な構造 を採用していたが、理論的には様々な構造を用いることも可能で あり、その設計自由度を上手く活用すれば、レーザーの性能をさ らに向上させられる可能性がある。そのシミュレーションに量子 アニーリン グを適用した(構造の最適化) • 量子アニーリングで設計した構造を採用したレーザーでは、性能 を表す重要な指標である「光出力」「ビーム拡がり⾓」「直線偏 光⽐ 」の3つ全てが向上 Copyright© Fixstars Group 17
メタマテリアルの構造設計(マテリアルズ・インフォマティクス) 共同研究中(物質・材料 研究機構 x 東京大学) ブラックボックス最適化の一部にQAを利用する量子・古典ハイブリッド型の最適化手法を開発 【概要】 • 近年は、内部の人工的な構造により自然には見られない特異 な性質を持ったメタマテリアルの研究が活発。一方で、材料 設計において調整可能なパラメーターの数が増えると、組合 せの数が指数関数的に増大し最適な構造を見つけるのが困難 • 材料の設計にあたっては、最適化のための目的関数などは与 えられず、最適化対象の指標値のみが評価可能であることが 多い(ブラックボックス最適化問題)。ブラックボックス最 適化の解法としては、回帰モデルにガウス過程を利用したベ イズ最適化が利用されることが多いが、組合せの数が多くな ると最適解の推定自体も難しくなるといった問題あり。そこ に量子アニーリングの技術を活用したもの • 熱放射材料のメタマテリアルの構造設計において、これまで にない放射冷却性能を示すメタマテリアルの設計に成功。ま たその実験において、提案手法が既存手法であるベイズ最適 化よりも優れた最適化性能を持つことを確認 Copyright© Fixstars Group 18
Fixstars Amplify のご紹介 Copyright© Fixstars Group
量子技術とFixstars Amplifyの対応領域 1. 量子コンピュータ 3. イジングマシン 量子ゲート方式 二値二次多項式模型 古典汎用コンピュータの上位互換。 量子力学の重ね合わせ状態を制御 する量子ゲートを操作し、特定の 問題を汎用的かつ高速に処理する。 二次の多変数多項式で表される目的 関数の組合せ最適化問題 (QUBO) を扱う専用マシン。 QAOA に よ り 組 合 せ 最 適 化 問 題 (QUBO) を取り扱うことが可能。 1 3 量子コンピュータ IBM/Google/Rigetti/IonQ 2 量子 アニーリング イジングマシン 富士通/日立/東芝/Fixstars 変数は0,1または±1。統計物理学に おけるイジング模型 (磁性体の性質 を表す模型) に由来。様々な実装に より実現されている。 D-Wave/NEC 2. 量子アニーリング方式 量子焼きなまし法 イジングマシンの一種であり、量子焼きなまし法の原理に基 づいて動作する。量子イジング模型を物理的に搭載したプロ セッサで実現する。自然計算により低エネルギー状態が出力 される。組合せ最適化問題 (QUBO) を扱う専用マシン。 Copyright© Fixstars Group Amplify AE 20
二次計画問題 組合せ最適化問題 量子アニーリング・イジングマシン ⚫ 決定変数が離散値 (整数など) • 整数計画問題 (決定変数が整数) • 0-1整数計画問題 (決定変数が二値) ⚫ 連続最適化問題 • 決定変数が連続値(実数など) Quadratic 二次形 Unconstrained 制約条件なし Binary 0-1整数 (二値) Optimization 計画(最適化) QUBO目的関数 (0-1整数二次計画問題) 𝒇 𝒒 = 𝑄𝑖𝑗 𝑞𝑖 𝑞𝑗 + 𝑄𝑖𝑖 𝑞𝑖 𝑖<𝑗 目的関数 𝒇 𝒒 を最小化するような 𝒒 を求める 𝑖 決定変数 係数 Copyright© Fixstars Group 21
クラウドサービス:Fixstars Amplify ⚫ 量子コンピューティングを想定したシステム開発・運用のクラウドプラットフォーム(開発環境 及び 実行環境) ⚫ 量子コンピュータや独自開発のGPUアニーリングマシンなど、組合せ最適化問題の専用マシンを効率的に実行できる https://amplify.fixstars.com/ja/ サービス概要 簡単 ポータブル 適用分野 (一例) ・・・ 金融 物流 始めやすい ライフサイエンス Copyright© Fixstars Group ⚫ SDKをインストールするだけです ぐに使える → pip install amplify ⚫ ハードウェアの専門知識不要でア プリケーションが開発できる ⚫ すべての量子アニーリング/イジン グマシンに対応 ⚫ Fixstarsの26万ビット級のアニーリ ングマシン実行環境も利用可能 ⚫ 評価・検証用途には開発環境と実 行環境が無償で利用可能 ⚫ 多くのチュートリアル、サンプル コードを整備・拡充 22
Fixstars Amplify の特長 – いつでも 開発環境と実行環境がセットのため すぐにプログラミングと実行が出来る – 誰でも ハードウェアや専門的な知識が不要 無料で開発がスタート可能 多くの解説、サンプルコード – 高速に 26万ビットクラスの大規模問題の 高速処理と高速実行が可能 – あらゆる 一般に公開されている全てのイジング マシンを利用可能 Copyright© Fixstars Group 23
Fixstars Amplify の対応マシンの一例 https://news.fixstars.com/2361/ : IBM Quantum対応 https://news.fixstars.com/2199/ : Gurobi対応 Copyright© Fixstars Group 24
Fixstars Amplify の技術 ⚫ Fixstars Amplify SDK(開発環境) ⚫ Fixstars Amplify Annealing Engine(実行環境の1つ) Copyright© Fixstars Group
Fixstars Amplify SDK Fixstars Amplify SDK ならアニーリングのプログラミングが圧倒的に短縮されます 実行方法 Copyright© Fixstars Group 26
Fixstars Amplify SDKによるシンプルプログラミング 数独を解くサンプルアプリ SDKなし 最適化しても 200行以上 SDKあり 30行程度 富士通・デジタルアニーラの設定用コード SDKなし 59行 SDKあり 1行 日立CMOSアニーリングマシンの設定用コード SDKなし 183行 出典: Wikipdia SDKあり 1行 SDKが、各マシンに対して最適な 形式に実装式を多段変換! Copyright© Fixstars Group 27
Fixstars Amplify Annealing Engine (Amplify AE) NVIDIA GPU V100/A100 で動作 • 独自の並列化シミュレーテッド アニーリングアルゴリズム WEB経由で計算機能を提供 • 社会実装・PoC・検証が加速 • Amplify SDK の実装を直ぐに実行可能 商用マシンでは最大規模・最高速レベル • 120,000 ビット(全結合) • 260,000 ビット超(疎結合) Copyright© Fixstars Group ※評価・検証用途では無償提供 28
Fixstars Amplify SDK/AE パフォーマンス Amplify は最速レベルの定式化・求解速度を達成しています TSP 10,000 vars MAX-CUT 2,000 vars Gurobi Amplify AE x1000 Faster SDK 定式化処理速度 AE 求解性能・速度 Copyright© Fixstars Group 29
オンラインデモ & チュートリアル Copyright© Fixstars Group Amplify デモ 検索 https://amplify.fixstars.com/ja/demo 30
様々な分野で利用が拡大しています 住友商事株式会社 500 登録社・組織数: 約 累計実行回数: 2,000万回超 Copyright© Fixstars Group 31
Fixstars Amplify ご利用プラン Copyright© Fixstars Group
料金のご紹介 https://amplify.fixstars.com/ja/pricing Fixstars Amplifyクラウド利用料 開発支援サービス(個別見積り) コンサル・システム開発等 数百万円~数千万円 月額利用料 百万円~ 定式化や実装を 手厚く 支援します! Copyright© Fixstars Group 33
セミナー・トレーニングのご紹介 https://amplify.fixstars.com/ja/news/seminar お客様の実際の課題解決をご支援するために、無料セミナーや有償トレーニングを提供しています。 無料セミナー・ワークショップ ビジネス向け、エンジニア向けに分けて 開催しています! 企業向けプライベートトレーニング お客様が抱える実際の課題やデータを使った カスタムメイドのトレーニングです! Copyright© Fixstars Group 34
ワークショップ ~事前準備(事前メールの内容)~ 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/ Copyright© Fixstars Group 36
ワークショップの事前準備 (2) • 取得されたトークンを用いて、トークンチェック用サンプルコードが動くか確認をお願いします。 https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharing (※URLはZoomのチャット欄を参照) • サンプルコードは閲覧のみ可能な状態です。「ファイル」→「ドライブにコピーを保存」の上、ご自 身のトークンを入力してください。その後、Shift + Enterで実行下さい。 ! pip install amplify token = "********************************" # ご自身のトークンを入力 • ご自身のトークン番号は、Amplifyウェブページ → よりご確認いただけます。 • 実行後、以下の結果が出力されればOKです。 result: [q_0, q_1] = [1. 1.] (f = 0.0) Copyright© Fixstars Group 37
組合せ最適化とブラックボックス最適化 Copyright© Fixstars Group 38
組合せ最適化とブラックボックス最適化 通常の組合せ最適化 ブラックボックス最適化 • • 課題に対し、定式化によりQUBO式を取得可能 例1) 合成素材の性能向上に必要な、合成対象の材料の組 • 数の分割 𝑓 = Σ 2𝑞𝑖 − 1 𝑎𝑖 課題が複雑で直接の定式化が不可能。 合せ最適化 2 例2) 最も計測精度が高くなる計測センサー群の配置は? • 生産計画最適化 ➔ 実験かシミュレーション(コスト大) 𝑓 = ΣΣ Σ𝑎𝑖 𝑝𝑖 𝑞𝑚,𝑖,𝑡 + ΣΣ𝑏𝑖 𝑠𝑖 𝑞𝑚,𝑖,𝑡 𝑞𝑚,𝑖−1,𝑓 ⋯ • TSP問題(お遍路巡り最短経路探索) • シミュレーションや実験の試行回数の削減 ➔ シミュレーションや実験が楽になる 𝑓 = ΣΣΣ𝑑𝑖,𝑗 𝑞𝑛,𝑖 𝑞𝑛+1,𝑗 ⋯ • QUBO式に対し、直接アニーリングを行う • 逆問題に対するアプローチとしても適用化 (量子アニーリング・イジングマシン) 例:ある計測値を実現する実験条件を見つける Copyright© Fixstars Group 39
ワークショップ Fixstars Amplify による(通常の)組合せ最 適化 (QUBO) Copyright© Fixstars Group
サンプルコード • ワークショップで使うサンプルコードを取得して下さい。 • それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。 • サンプルコードを開き、「ファイル」→「ドライブにコピー」の上、トークンを入力し実 行して下さい。 • 数の分割サンプルコード https://colab.research.google.com/drive/1po4m292IbW-rMnJImLRcqgmWosIO897l?usp=sharing (※URLはZoomのチャット欄を参照) 質問は随時、Zoomの チャット か Q&A でお願いします。 Copyright© Fixstars Group 41
数の分割問題(概要) • 与えられた 𝑛 個の整数𝑎0 , ⋯ , 𝑎𝑛−1 を二つの集合に分ける。 集合内の数の和が、もう一方の集合内の数の和と等しくなるようできるか? • NP完全問題: とても難しい問題として知られている → 全通り試すしか方法は無い • 問題のバリエーション • 判定問題: 完全に等しく出来るか?または等しい組合せは何か? • 最適化問題: 完全に等しいか、または最も惜しい組合せは何か? Copyright© Fixstars Group 42
数の分割問題(具体例と解法の方針) 具体例 {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 • 効率のよい厳密な方法は知られていない・・・ (もし発見されたら大騒ぎ) 43
44 数の分割問題(定式化) 最適化問題:数の分割において最も惜しい組合せは何か? • 目的関数 {集合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 Group 45
数の分割問題(定式化の具体例) 問題 • 𝑎𝑖 ={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 Group 2 46
数の分割問題(プログラムコード) • 問題の定義と決定変数生成器による決定変数の生成 a = [2, 10, 3, 8, 5, 7, 9, 5, 3, 2] q = BinarySymbolGenerator().array(len(a)) 2 • 目的関数、𝑓 = σ𝑁𝑖=1 2𝑞𝑖 − 1 𝑎𝑖 、の定式化(①②③は同等) 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 ③ 2. 実行 3. 結果 色々な書き方が出来る f = sum_poly(len(a), lambda i: (2 * q[i] - 1) * a[i]) ** 2 solver = Solver(client) result = solver.solve(f) 得られた目的関数の値0 各集合の合計値27 q = [1, 1, 1, 0, 1, 1, 0, 0, 0, 0], f = 0.0, w = 27 Copyright© Fixstars Group 各数字に対して、集合0か、集合1か 47
オンラインデモ & チュートリアル Copyright© Fixstars Group Amplify デモ 検索 https://amplify.fixstars.com/ja/demo 48
ワークショップ ~ブラックボックス最適化~ 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 Group 50
ブラックボックス最適化アプローチ 数理最適化 ブラックボックス最適化 フローはベイズ最適化に似ている、本質は異なる 機械学習 + 量子アニーリング/イジングマシン • ブラックボックス関数 𝑓 𝒙 に対して、以下サイクルを繰り返す (実験・シミュレーション) ① 初期教師データを構築(𝑁0 回の目的関数の評価) ② 教師データから獲得関数 𝑔 𝒙 を構築 ②~④を 𝑁 − 𝑁0 回繰り返す ③ 獲得関数 𝑔 𝒙 が最小となる点 ෝ 𝒙 を推定 ④ 目的関数の評価結果 ෝ 𝒙, 𝑓 ෝ 𝒙 を教師データに追加 (実験・シミュレーション) • 課題: 1. 𝑔 𝒙 の構築? Factorization Machine(機械学習モデル) 2. 𝑔 𝒙 最小化を実現するෝ 𝒙 の推定? Copyright© Fixstars Group 学習モデルをQUBOとしてAmplifyで求解 51
獲得関数としての 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 Group K. Kitai, et al., Phys. Rev. Res. (2020). T. Inoue, et al., Opt. Express (2022). 52
ブラックボックス最適化アプローチ(おさらい) 数理最適化 ブラックボックス最適化 フローはベイズ最適化に似ている、本質は異なる 機械学習 + 量子アニーリング/イジングマシン • 実験・シミュレーション 𝑓 𝒙 に対して、以下サイクルを繰り返す ① 初期教師データを構築(𝑁0 回の目的関数の評価) ② 教師データからFM モデル 𝑔 𝒙 を機械学習 ②~④を 𝑁 − 𝑁0 回繰り返す ③ FM モデル 𝑔 𝒙 が最小となる点 ෝ 𝒙 を Amplify で推定 ④ ෝ 𝒙 に対する実験・シミュレーション結果 ෝ 𝒙, 𝑓 ෝ 𝒙 を教師データに追加 ※ FM モデル 𝑔 𝒙 で(最適化点周辺の)目的関数 𝑓 𝒙 を近似 K. Kitai, et al., Phys. Rev. Res. (2020). T. Inoue, et al., Opt. Express (2022). Copyright© Fixstars Group 53
ブラックボックス最適化 活用例 Copyright© Fixstars Group
サンプルコード • サンプルコードを以下より取得して下さい。 • それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞれのサンプル コードを開き、「ファイル」→「ドライブにコピー」の上、トークンを入力し実行して下さい。 ① ブラックボックス最適化によるモデル超電導材料の探索 https://colab.research.google.com/drive/1Xw-9PSYi7KH-1mf3LrofDj8Ju4ZGJYQM ② ブラックボックス最適化による化学プラントにおける生産量最大化 https://colab.research.google.com/drive/12X7Nf38tCqY1tWSZVpyr8NWVyrakx85d ③ ブラックボックス最適化と流体シミュレーションによる翼形状の最適化 https://amplify.fixstars.com/ja/demo/fmqa_3_aerofoil(公式デモサイトでのご紹介) ④ ある代数式を未知のブラックボックス関数と見なした場合のブラックボックス最適化 https://colab.research.google.com/drive/19uVGrWxj_PSRqql4s8pTsVbebSa2ORbd (※URLはZoomのチャット欄を参照) Copyright© Fixstars Group 55
ブラックボックス最適化による模擬超電導材料の探索 • 超電導状態に転移する温度(臨界温度 𝑇𝑐 )ができるだけ高温になる材料組合せの探索 • 通常、①数々の材料を選択・合成し、②臨界温度を計測し評価、を繰り返し、より高温の 臨界温度を実現する合成対象の材料を同定する、という試行錯誤が主。評価は高コスト。 • 目的関数は臨界温度の負値(−𝑇𝑐 )。臨界温度は簡易的なモデルで推定 • 決定変数の例 x = [0, 0, 1, 0, 1, 0, 0, 0, 0, 1] 素材量名 材料0 材料1 材料2 材料3 材料4 材料5 材料6 材料7 材料8 材料9 非選択 / 選択 0 0 1 0 1 0 0 0 0 1 Copyright© Fixstars Group 56
ブラックボックス最適化による模擬超電導材料の探索 目的関数値(−𝑇𝑐 ) • 超電導状態に転移する温度(臨界温度 𝑇𝑐 )ができるだけ高温になる材料組合せの探索 最適化過程に • 通常、①数々の材料を選択・合成し、②臨界温度を計測し評価、を繰り返し、より高温の おける評価値 臨界温度を実現する合成対象の材料を同定する、という試行錯誤が主。評価は高コスト。 • 目的関数は臨界温度の負値(−𝑇𝑐 )。臨界温度は簡易的なモデルで推定 初期教師データ構築時の評価値 =ランダム探索 • 決定変数の例 x = [0, 0, 1, 0, 1, 0, 0, 0, 0, 1] 素材量名 材料0 材料1 材料2 材料3 材料4 材料5 材料6 材料7 材料8 材料9 非選択 / 選択 0 0 1 0 1 0 0 0 0 1 𝒊番目の目的関数𝑓 𝒙 の評価 Copyright© Fixstars Group 57
ブラックボックス最適化による化学プラント生産量最大化 • 化学反応装置(𝐴 → 𝐵)における物質生成量の最大化を目指す最適化モデル課題 • 目的関数は、化学反応シミュレーションで得るB分布を空間積分した生成量 𝑚𝑝𝑟𝑜𝑑 の負値 • 反応器は、反応性物質 A の初期濃度分布 で制御される 化学反応シミュレーションで考慮する 基礎方程式(有限差分法) • 𝜕𝐶𝐴 𝜕𝑡 = 𝛼 𝜕𝑥 𝜕 • 𝜕𝐶𝐵 𝜕𝑡 =𝛼 𝜕𝐶𝐴 𝜕𝑥 𝜕 𝜕𝐶𝐵 𝜕𝑥 𝜕𝑥 − 𝜔 𝐶𝐴 , 𝐶𝐵 ・・・A濃度の拡散反応輸送方程式 + 𝜔(𝐶𝐴 , 𝐶𝐵 ) ・・・B濃度の拡散反応輸送方程式 • 𝜔 = 𝑅𝑟 𝐶𝐴 1 − 𝐶𝐴 exp −𝐶𝐵 ・・・反応速度 • 𝐶𝐵 = 𝑂 at 𝑡 = 0・・・初期条件 Copyright© Fixstars Group 58
ブラックボックス最適化による化学プラント生産量最大化 • 化学反応装置(𝐴 → 𝐵)における物質生成量の最大化を目指す最適化モデル課題 • 目的関数は、化学反応シミュレーションで得るB分布を空間積分した生成量 𝑚𝑝𝑟𝑜𝑑 の負値 • 反応器は、反応性物質 A の初期濃度分布 で制御される c_a0 =[0, 0, 0, 1, 0] ➔ 燃料ノズル位置等 c_a0 = [0, 1, 0, 1, 0] Aの初期濃度分布 Copyright© Fixstars Group 59
ブラックボックス最適化による化学プラント生産量最大化 • 化学反応装置(𝐴 → 𝐵)における物質生成量の最大化を目指す最適化モデル課題 • 目的関数は、化学反応シミュレーションで得るB分布を空間積分した生成量 𝑚𝑝𝑟𝑜𝑑 の負値 • 反応器は、反応性物質 A の初期濃度分布 で制御される 生産時間終了時におけるBの濃度分布 初期の反応性物質Aの濃度分布 さらに時間経過後のBの濃度分布 初期の生成物Bの濃度分布(ゼロ) 少し時間経過後のBの濃度分布 Copyright© Fixstars Group 60
ブラックボックス最適化による化学プラント生産量最大化 #9 Random, 𝑚𝑝𝑟𝑜𝑑 = 0.4~0.6 ※目的関数は、B生成量 𝑚𝑝𝑟𝑜𝑑 の負値 目的関数値(−𝑚𝑝𝑟𝑜𝑑 ) #0 FMQA 初期教師データ構築時の評価値 =ランダム探索 #9 Random #0 FMQA, 𝑚𝑝𝑟𝑜𝑑 = 0 最適化過程に おける評価値 #7 FMQA #7 FMQA, 𝑚𝑝𝑟𝑜𝑑 = 0.831 𝒊 番目の目的関数 𝑓 𝒙 の評価 Copyright© Fixstars Group 61
ブラックボックス最適化とCFDによる翼形状の最適化 • 一様流れ中に設置された翼に作用する揚力𝐹𝐿 と抗力𝐹𝐷 の⽐(揚抗⽐) 𝑟𝐿𝐷 = 𝐹𝐿 / 𝐹𝐷 を最大化する翼形状の探索(−𝑟𝐿𝐷 を最小化する問題) • パラメータにより翼形状を定義し、定義された翼形状に対し流体シミ ュレーションを実施、後処理にて揚抗⽐ 𝑟𝐿𝐷 (の負値)を算出。 • 単一翼の場合、写像パラメータ(実数)2つ、迎⾓(実数)1つの、合 計3つからなる実数決定変数 • one-hot エンコーディングにより、実数決定変数を100要素からなる バイナリ変数ベクトルに変換し、ブラックボックス最適化を実施 Copyright© Fixstars Group 62
ブラックボックス最適化とCFDによる翼形状の最適化 #1 Random, 𝑟𝐿𝐷 = 𝟏. 𝟖𝟔 ※目的関数は、揚抗⽐ 𝑟𝐿𝐷 の負値 目的関数値(−𝑟𝐿𝐷 ) 初期教師データ構築時の評価値 =ランダム探索 #17 Random , 𝑟𝐿𝐷 = 𝟐. 𝟑𝟓 #7 FMQA 最適化過程に おける評価値 #7 FMQA , 𝑟𝐿𝐷 = 𝟏. 𝟎𝟔 #1 Random #17 Random #19 FMQA #19 FMQA , 𝑟𝐿𝐷 = 𝟐. 𝟕𝟒 𝒊 番目の目的関数 𝑓 𝒙 の評価 Copyright© Fixstars Group 63
ブラックボックス最適化とCFDによる翼形状の最適化 – 派生 • 多段翼の形状および配置の最適化 目的関数値(-揚抗⽐) • 決定変数の数:370個 最適化過程における評価値 初期教師データ構築時の評価値 =ランダム探索 𝒊 番目の目的関数 𝑓 𝒙 の評価 #181 FMQA , 𝑟𝐿𝐷 = 𝟑. 𝟔𝟎 Copyright© Fixstars Group 64
ブラックボックス最適化 デモプログラム Copyright© Fixstars Group
ブラックボックス最適化のデモプログラム ① ある代数式を未知のブラックボックス関数と見なした場合のブラックボックス最適化 https://colab.research.google.com/drive/19uVGrWxj_PSRqql4s8pTsVbebSa2ORbd 最適化サイクル 問題設定 • 本来なら評価が高コストで、形状が不明な 目的関数(真の関数)𝑓(𝒙) として、 𝑓 𝒙 = 1. 教師データから獲得関数 𝑔(𝒙) を構築 (FM) 2. 獲得関数 𝑔(𝒙) が最小となる点 ෝ 𝒙 を推定 (QA) 𝒙𝑇 𝑄𝒙 とした。プログラム内で 𝑄 は乱数で定義 3. 評価結果 ෝ 𝒙, 𝑓(ෝ 𝒙) を教師データに追加 ↑のサイクルにより、最適化点近傍におけるFMの予 測精度が向上し、組合せ最適化により、より良い ෝ 𝒙 の推定が期待される Copyright© Fixstars Group 66
デモプログラム 1/7(前準備) FMQA実施に必要な前準備 • Colab上でのライブラリのインストール • 乱数シードの固定関数 • Amplify クライアントのインスタンス化及び 設定 APIトークンを忘れず入力してください。入力忘れの場合、 今回のサンプルコードでは、Unknown error で終了します。 Copyright© Fixstars Group 67
デモプログラム 2/7(FMの実装) • FM の学習と推論を PyTorch で行う Copyright© Fixstars Group 68
デモプログラム 3/7(FMパラメータの学習) FM の学習は、通常の機械学習と同様に進める。 教師データを学習・検証データに分割し、ミニ バッチ学習。 • model_class: モデルクラス(TorchFM) • model_param: ハイパーパラメータ • batch_size: ミニバッチサイズ • epochs: エポック(繰り返し)の数 • criterion: 損失関数 • optimizer_class: 最適化アルゴリズムクラス • opt_params: その他細かな設定 Copyright© Fixstars Group 69
デモプログラム 4/7(初期教師データを作成) 初期教師データを乱数により生成 Copyright© Fixstars Group • D: 入力サイズ • N0: 初期教師データのサンプル数 • true_func: 目的関数(真の関数)𝑓(𝒙) 70
デモプログラム 5/7(FMQA サイクル) 𝑁 − 𝑁0 回の FMQA を実施 Copyright© Fixstars Group • self.step()で ෝ 𝒙 を推定 • ෝ 𝒙 で目的関数で評価し、𝑦ො = 𝑓 ෝ 𝒙 を取得 • 教師データに ෝ 𝒙, 𝑦ො を追加 71
デモプログラム 6/7(FMQAの試行関数) FM + QA を1回実施する関数 • train() を用いて、現在の教師データに 基づき FM の学習を実施 • 学習後のFM パラメータ 𝒗, 𝒘 から QUBO定式化を実施 Copyright© Fixstars Group • Amplify に目的関数を渡して QA を実施 • 𝑔(𝒙) に対する最適化結果 ෝ 𝒙 を返す 72
デモプログラム 7/7(メイン部分) 最適化を実施するメイン部分 • 目的関数(真の関数)の定義 • 乱数シードを固定 • N, N0, k の定義 • FMQA サイクルを実施 • 結果出力 ➔ 実際にサンプルプログラムを実 行してみましょう。 Copyright© Fixstars Group 73
デモプログラムの実務での活用方法 基本的に、true_func()を変更する。必要に 応じて、現在の教師データの出力などを追加。 • 例①:true_func() 内でシミュレーションを呼 び出し、その戻り値を最小化するように最適化。 • 例②:true_func() 内で実験を行う。つまり、1 回のFMQA で推定された探索候補 ෝ 𝒙 を対象に実 験し、結果を教師データに追加、次のFMQA 試 行を行う。 • ℎ 𝒙 を最大にするような入力 𝒙 を推定する場合 は、1/ℎ 𝒙 や −ℎ 𝒙 などを目的関数 𝑓 𝒙 とする。 Copyright© Fixstars Group 74
ブラックボックス最適化による身の回りの課題解決 ブラックボックス最適化が役立ちそうな身の回りや業務上の課題 には、どのようなものがあるでしょうか? Copyright© Fixstars Group 75
今後について ⚫ デモ・チュートリアルにチャレンジ! 目的関数のみで定式化 制約のみで定式化 目的関数+制約で定式化 困った時は ドキュメンテーションを! https://amplify.fixstars.com/ja/docs/ Copyright© Fixstars Group 76
今後のセミナーのご案内 今後も無料セミナーを開催します!第二部からの参加も可能です 2023/8/10 (木) 「シフト最適化」 2023/9/14 (木) 「生産計画最適化」 2023/10/12 (木) 「搬送経路最適化」 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシンの 紹介 • Fixstars Amplifyの紹介 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシンの 紹介 • Fixstars Amplifyの紹介 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシンの 紹介 • Fixstars Amplifyの紹介 第二部 14:50 - 16:00 • Fixstars Amplifyを用いた「シフト最 適化」のワークショップ • Q&A 第二部 14:50 - 16:00 • Fixstars Amplifyを用いた「生産計画 最適化」のワークショップ • Q&A 第二部 14:50 - 16:00 • Fixstars Amplifyを用いた「生産計画 最適化」のワークショップ • Q&A ご質問・ご不明点は問合せフォームでご連絡下さい https://amplify.fixstars.com/ja/contact Copyright© Fixstars Group 77
Q&A Copyright© Fixstars Group 78