CMOSアニーリングマシン

CMOSアニーリングマシン

アニーリングと呼ばれる方法で組合せ最適化問題を処理することは、特別に新しいことではなく、古くから行われていました。

通常は、アニーリングを行うプログラムをノイマン型計算機上で実行することで、組合せ最適化処理を行います。それに対して、アニーリングに特化した専用のハードウェアを開発することで、高速化や低消費電力化を図ろうという考えがあります。

CMOSアニーリングマシンは、イジングモデルに対するアニーリングを行うために、記憶素子であるSRAMの構造を活用して開発された、日本独自の非ノイマン型計算機です。2015年に日立製作所の山岡雅直らによって開発され、半導体集積回路のオリンピックと称されるISSCC2015で発表されました。(Masanao Yamaoka, et al. "20k-spin Ising chip for combinational optimization problem with CMOS annealing," IEEE International Solid-State Circuits Conference (ISSCC 2015), February 2015.

CMOSアニーリングマシンのほかにも、カナダのD-Wave Systemsによる量子アニーリングマシン、ImPACTのコヒーレントイジングマシン、富士通研究所のデジタルアニーラなど、組合せ最適化問題専用ハードウェアの開発が国内外で次々に開発されています。こちらで詳しく述べているように、組合せ最適化問題を高速に処理する新しい技術は今後IoT社会の高度化に必須のテクノロジーであり、急速な開発が求められています。

数々の組合せ最適化専用ハードウェアの中でも、CMOSアニーリングマシンの特長は、低消費電力化に有利であり、かつ、高いスケーラビリティを得られること、そして機器の小型化が可能である点です。

CMOSアニーリングマシンは、広く利用されている半導体技術を基にしているため、小型のチップとして実現され、その動作環境に特別な制約はありません。日常の我々の生活空間に埋め込んで使用することが可能です。このことは、IoT時代の情報処理においても重要な意味をもってきます。

また、上記のハードウェアはいずれも「解くべき組合せ最適化問題をイジングモデルで表現する」という特徴を持っています。取り扱える問題の規模はイジングモデルを構成するスピンの数が多ければ多いほど大規模になります。そのため、より多くのスピン数に対応することが可能なハードウェアが求められます。

CMOS集積回路技術は、現在人類が手にした技術の中で、最も高い集積性を持った技術であり、その集積性の高さをCMOSアニーリングでは利用しています。また、CMOSアニーリングでは複数チップ間を接続する機構も用意しており、単一チップに搭載されたスピン数では直接取り扱うことが不可能なほど大規模な問題も、複数チップを接続することで可能になり、高いスケーラビリティを実現することができるわけです。

CMOSアニーリングマシンの動作原理

CMOSアニーリングはアニーリングの動作をCMOS集積回路を用いて実現する技術です。

CMOSアニーリングの実現には、下図に示すように二つの動作「エネルギーが低い方向への移動手段」「局所解からの脱出手段」によって実現する必要があります。

「エネルギーが低い方向への移動手段」は確定的な動作でエネルギーランドスケープにしたがってエネルギーの低い状態に状態を遷移させる動作です。確定的な挙動のみでは、局所解と呼ばれるローカルに存在するエネルギーの谷にトラップされ、それ以上エネルギーが低い状態を探索することが困難となります。よって、この局所解から脱出するために、確率的な動作によってエネルギーの状態をランダムに遷移させ、なるべく低いエネルギーの状態を探索します。

これら二つの動作を組み合せてエネルギーの低い状態を探索する動作を、イジングモデルの構造を模したメモリセルアレイ上で実現することをCMOSアニーリングと呼びます。

イジングモデルとメモリセルアレイの対応関係

基底探索状態の実現

組合せ最適化問題のマッピング

組合せ最適化問題をイジングモデルにマッピングする方法は、当Webサイトのチュートリアルやフィックスターズのウェブサイト をご覧ください。