機械学習(ML)と組合せ最適化(CO)は、現代の産業プロセスにおいて極めて重要な2つの要素です。ML手法はノイズの多いデータから有意義な情報を抽出し、COは高次元かつ制約のある環境における意思決定を可能にします。多くの場合、これら2つのツールを組み合わせることが望まれます。例えば、データから予測を生成し、その予測に基づいて最適化の意思決定を行うといったケースです。そのため、ハイブリッドML-COパイプラインは新たな研究分野となっています。 しかし、ここでは2つの問題が存在します。第一に、CO問題の解は通常、目的パラメータの区分定数関数として表現されますが、MLパイプラインは通常、確率的勾配降下法を用いて学習されるため、傾きが重要になります。第二に、標準的なML損失は、組み合わせ環境ではパフォーマンスが低下します。 さらに、組合せ最適化層(CO層)には、適切に実装された手法が不足していることが多い。最近の研究では、確率的な観点からCO層を実装する手法が提案されており、近似微分と構造化された損失の構築に役立つ。 論文リンク: https://arxiv.org/abs/2207.13513 このアプローチに基づいて、この研究ではオープンソースの Julia パッケージ (InferOpt.jl) を提案しました。これには次の機能が含まれています。
InferOpt.jl オープンソース パッケージは、https://github.com/axelparmentier/inferopt.jl にあります。 InferOpt.jlはあらゆる最適化アルゴリズムと互換性があり、JuliaのMLエコシステムとも完全に互換性があります。研究チームは、ビデオゲームにおけるマップパス探索問題を用いて、その機能を実証しました。 推論問題の鍵は、与えられた入力から出力を予測することであり、そのためには各ML層のパラメータに関する知識が必要です。学習問題は、推論中に「良好な」出力につながるパラメータを見つけることを目指します。以下の式(1)に示すように、既存の「COオラクル」は、ソルバーベースや手作業で作成されたアルゴリズムを含む、最適化問題を解くことができるアルゴリズムを表しています。 レイヤーの定義は、自動微分(AD)を用いて意味のある微分を計算できることを指します。しかし、既存のCOオラクルはADと互換性がほとんどなく、微分はほぼ常にゼロとなり、有用な傾き情報が得られません。 そのため、COオラクルはこれまでレイヤーとは考えられていませんでした。本研究では、確率的知識を用いてCOオラクルをレイヤーに変換することに焦点を当てています。最新のMLライブラリは豊富なビルディングブロックを提供しており、ユーザーは複雑なパイプラインを構築・学習できます。本研究では、これらのライブラリを活用してハイブリッドML-COパイプラインを作成し、主に以下の2つの問題に取り組みます。
興味のある読者は原著論文を読んで研究の詳細を知ることができます。 |