In-memory computing(IMC)
メモリの中で計算をする方法.
データを処理装置に送らずに,メモリの状態や構造そのものを演算に利用する.
メモリ内(または近傍)で演算されるため,データ移動を減らすことができる.
例1:積和演算
入力信号を入れると,メモリの中の重みが乗算され,その積和結果が直接出力される.
通常なら処理装置がメモリから重みをロードして乗算処理を行う必要があるが,この方式では主に重みのデータ移動を削減できる.
ニューラルネットワークの推論など,積和演算が支配的な処理に対して,メモリをアクセラレータとして使える.
例2:海馬モデル
場所ごとに対応する記憶領域(セル群)があり,その値の分布で物がどこにあったという記憶を表せる.
これにより,物(例えば鍵)があった場所に対応するセルが繰り返し強化された場合,その手がかりに対してセル群が活性化するような仕組みを作ることができる.
例えば,分布が広ければ特定の場所に固定されておらず,特定の場所にピークが立てばその近傍にあると判断できる.
※ ロボットやAIなどのシステムを組むとき,IMC用のメモリを専用アクセラレータとして別に搭載する場合と,既存のメモリに計算機能を持たせて拡張する場合の両方がある.