確率を用いて演算を行う「ストカスティックコンピューティング(SC:Stochastic Computing)」は、耐故障性や小面積・低電力性から現在再注目されており、画像処理や機械学習などでの利用が期待されている。「DAシンポジウム2017 -システムとLSIの設計技術-」(2017年8月30日〜9月1日に石川県加賀市で開催)の招待講演において、市原英行氏(広島市立大学 大学院 情報科学研究科 准教授)がその魅力と研究動向を概説した。
ディジタル回路で確率的な計算を実行
SCは近似計算法(Approximate Computing)の1つであり、ディジタル回路で確率的な計算を行う。具体的には、ビット系列中の1の出現確率で数の大きさを表現(ストカスティック数:SN)し、論理演算によって所望の計算を実行する。例えば、SCにおいて、乗算を行う回路はANDゲート1つで実現できる(図1)。
一般的なSC回路は、2進数をストカスティック数に変換する回路(SNG: Stocastic Number Generator)、SC演算を行う回路(SCE: Stochastic Computing Engine)、ストカスティック数を2進数に変換する回路(CNT: Counter)の3つの要素で構成される(図2)。