Vol. 0

No. 0

情報処理学会論文誌

1959

確率的ニューラルネットワーク計算の並列高速化アーキテクチャとその画像認識システムへの適用
相

部

範

之†

安 永 守 利 ††確率的ニューラルネットワーク（PNN: Probabilistic Neural Network）はその認識精度の高さから, 近年多くの実用的なパターン認識問題（顔画像認識, 気象画像認識等）に適用されている. 一方,
高い認識精度を得るためには，非常に多くのサンプルパターンに対してネットワーク計算を行う必要がある. 更に, ネットワークのパラメータ決定（学習）では, この計算を繰り返し実行する必要がある.
このため PNN 計算の高速化には専用設計されたハードウェアが不可欠である. 本論文では, PNN 計
算を高速に実行するための専用プロセッサとこれをベースとした並列アーキテクチャを提案する. さらに, これらの提案方式に基づく小型（1 ボード）画像認識システムを試作する. そして試作システ
ムの実行時間を測定し, ビデオレート時間（33.3ms）内に大規模パターン認識処理が終了することを示す. また, 実測値からの推定により 10 秒程度で大規模パターン認識問題の学習が終了することを導き, 本提案手法とそれに基づく画像認識システムの有効性を示す.

An Architecture for Parallelized High–Speed Probabilistic–Neural–
Network Calculation and Its Application to Image Recognition Systems.
Noriyuki Aibe† and Moritoshi Yasunaga ††Recently, probabilistic neural networks (PNN) are being applied to the practical patternrecognition applications such as face recognition and satellite–image recognition. In order toobtain high recognition accuracy, however, PNN requires a large number of sample patterns
to be processed in it. Furthermore, the PNN calculation must be repeated so many times in
its learning–stage to determine a network parameter precisely. Specialized hardware is thus
indispensable for the high speed PNN calculation. In this paper, we propose a specialized
processor and a parallel architecture using the processors for high speed PNN calculation.
And we develop an image–recognition prototype system in a small single board. Measurements of the system show its high–speed recognition in a video–rate period of 33.3ms and ahigh-speed learning less than 10 seconds is estimated using the measured result. Those results demonstrate effectiveness of the proposed hardware for the practical pattern recognition
problems.

実用的な大規模問題への適用事例が数多く報告されて1. は じ め におり, その認識精度（認識率）の高さが注目されてい

確率的ニューラルネットワーク（PNN: Probabilis-

る. PNN による認識器が高い認識精度を示す理由は,

tic Neural Network）は D.F.Specht によって提案さ

PNN がサンプルパターンから形成されるカーネル関れた３層構造のフィード・フォワード・ネットワーク

数を重ね合わせることで, 各カテゴリ間の真の確率密で, ベイズの識別定理に基づいた, 統計的なパターン度分布の関係を高精度に近似するからである. 従って,認識手法の一つである1)∼4) . 近年, その応用事例とし

サンプルパターンの数が増す程, その認識精度はベイ

5)て, K.Z.Mao らの顔認識問題への適用 , Bin Tian ら

ズ統計に従う理想的な値に近付き, 高い認識精度を持の衛星からの気象画像の認識問題への適用6)7) など,

つ認識器が実現できる.
一方 PNN では一つの未知パターンを認識するために, 毎回非常に多くのカーネル関数計算を必要とする.

† 筑波大学大学院 博士課程 システム情報工学研究科
Graduate School, Doctoral Program of Systems and Information Engineering, University of Tsukuba.
†† 筑波大学 電子・情報工学系
Institute of Information Sciences and Electronics, University of Tsukuba.

このため, 画像認識などの大規模パターン認識では多大な計算量が発生する. 一般に画像処理ではビデオレー
ト（33.3 ms）に追従することが一つの基準となるが,PNN によるビデオレートに追従した認識のためには
1

2

1959

情報処理学会論文誌

算層（Summation Layer）で重ね合わせることで各カテゴリの確率密度分布を計算し, その大小関係を決定層（Decision Layer）において判定することで未知入力パターンのカテゴリを推定するものである.
未知入力パターン（特徴ベクトル）X = (x1 , x2 , ...,xn ) は, カーネル層のカテゴリ毎のニューロン群へ入力され, 各ニューロンはサンプルパターン Sij （カテゴリ

Ci の第 j 番目のサンプルパターン）を基に定義され

¡

¢

¡

た関数値 K X − Sij を出力する. この K X − Sij¢

をカーネル関数とよび, この具体的な関数としてガウシアン関数や一様関数

K¡

X − Sij

¢

(

=

1:

¯
¯
¯xk − (sij )k ¯ ≤ σ0:otherwise2(1)(for all k, k = 1, 2, ..., n)が用いられる. ただしここで,X = (x1 , x2 , ..., xn ) ,¡Sij = (sij )1 , (sij )2 , ..., (sij )n
図 1 確率的ニューラルネットワークの構成
Fig. 1 Network Configuration of PNN.

¢

で, xk , (sij )k はそれぞれ第 k 番目の成分を表し, n はパターンの次元数を表す. また, 式 (1) 中の σ はカー
ネル関数の広がりを表すパラメータである. このパラ多大な計算量を高速に処理するための専用ハードウェ

メータを高精度に決定することが, PNN の認識精度アが必要となる. さらに, PNN のパラメータ決定（学を決定する上で重要となる.

習）ではカーネル計算を繰り返す必要があり, その計

次に加算層（Summation Layer）において, このカー算量は膨大なものとなる. このため, 頻繁に生成／更ネル関数を各カテゴリ毎に重ね合わせることで, 未新されるサンプルパターンに追従してパラメータを更知パターン X がカテゴリ Ci に属する確率密度分布

新するオンライン学習においても, 専用ハードウェア

p (X|Ci ) を推定する. 即ち,が必要となる. このように PNN では, その認識処理と学習の両方において高速化が望まれている. 本論文の目的は, PNN の高速画像認識と高速学習のためのNpp̂ (X|Ci ) =¢1 X ¡K X − Sij
Np

(2)

j=0

ハードウェア（回路とアーキテクチャ）提案を行い, そと表せる. なお, 通常 Np は各カテゴリで同じとするたの有効性を開発した試作システムにより実証すること

め, 1/Np の項は 1 と見なして処理することができる.

である.
以降, 2 節では PNN のアルゴリズムと専用プロセッ
サについて説明し, 3 節では並列学習アーキテクチャ
を, 4 節ではそれらの回路構成を, 5 節では開発した試作システムとそれを用いた認識, 及び学習の評価結果を述べる.

2. 確率的ニューラルネットワークと高速化のための専用プロセッサ

最後に決定層（Decision Layer）で最も大きな確率値を得たカテゴリを求めることで, 未知パターンのカ
テゴリが推定できる.

2.2 sPNN（serial-PNN） Processor
PNN も含めて, ニューラルネットワークのハードウェア化でニューロン（プロセッサ）設計の中心となるのは, ニューロンの非線形関数計算を如何に効率的に行うかにある. これまでアナログニューロン回路では, 非線形関数をデバイスの非線形特性を用いて直接

2.1 確率的ニューラルネットワーク

回路化することが行われてきた8)9) . 一方, ディジタル

PNN は図 1 に示すように, 3 層のフィード・フォ

ニューロン回路では非線形関数を直接回路化すると回

ワード・ネットワークから成る. PNN によるパターン

路規模が増大するため得策ではない. このため, これ

認識の基本的な考え方は, 図 1 中のカーネル層（Ker-までの多くの開発事例では, 非線形関数を演算器とマ

nel Layer）のカテゴリ毎のニューロンの出力値を加イクロプログラムの組み合わせや, メモリ（Look–up

Vol. 0

No. 0

PNN 計算の並列高速化アーキテクチャとその画像認識システムへの適用

3

Table）によって処理してきた8)10)∼12) . 一方, 我々のSPA は, 複数の PNN のネットワークにそれぞれ異な提案する sPNN Processor はディジタルニューロン回る認識パラメータ σ を与え, それを並列に計算するこ路でありながら, 非線形関数（カーネル関数）を単純とで学習の高速化を図るものである. 即ち, 異なる複な組み合わせ回路で直接実現する点にその特徴がある.

数の σ に対して前述の sPNN Processor を多数並列直接回路化が可能な理由は, 非線形関数を回路化に適実装する. ここで重要なことは, SPA が VLSI 実装

した一様関数の重ね合わせで表現することによる. こを考慮し, 従来より多くのニューラルネットワークでれにより, 後述するようにビデオレート（33.3ms）以問題となっている VLSI 実装上のピン・ボトルネック

内での高速画像認識を実現することができる. なお, 一を生じない構造となっている点である. さらに複数の様関数を用いることの妥当性, 及び sPNN Processor

sPNN Processor をモジュール化し, これらをニューの回路の詳細（カーネル関数の具体的な回路化方法）

ロン並列（後述）とすることで更なる高速化を実現すについては 4 節で述べる.

る（これを Hybrid–SPA と呼ぶ）. 以下, これらの並

3. 高速学習のための並列アーキテクチャ

列アーキテクチャについて述べる.

3.1 Sigma-Parallel Architecture(SPA)

認識精度を高めるためには, 多くのサンプルパター

前述したように, 図 1 に示すカーネル層にある各ンが必要であるだけでなく, PNN のパラメータ σ を

ニューロンは, それぞれカテゴリ Ci に属する第 j 番適切に決定する必要がある. この σ を最適化すること目のサンプルパターン Sij を基に構成される. サンプ

が PNN の学習である.

ルパターン Sij のサイズは, この次元数を n, 各要素のPNN はサンプルパターンが多いため, 1 回のネット

ビット精度を q bit としたとき, qn bit となる. このサワーク計算（認識処理）だけでも多大な計算量を要す

イズのサンプルパターンが１カテゴリにつき Np 個用

る. さらに, 前述した顔画像認識や気象画像認識といっいられ, それがさらに Nc カテゴリ分あるとすると, 全た実用的な大規模問題では, 真の確率密度分布は全くてのサンプルパターンを記憶しておくために必要なメ未知であり, このため σ を決定論的に求めることはでモリの容量は, qnNp Nc bit となる. ここで, 例えば実きない. 従って σ をその全空間に渡って探索し, 適切

用的な例として, q = 8, n = 256, Np = 512, Nc = 8な値を得る必要がある. このため σ の学習は, その値とすると必要なメモリ容量は 1MByte となり, さらにを少しずつ変えながら, ネットワーク計算を繰り返す

カテゴリ数 Nc , １カテゴリに含まれるサンプル数 Np

必要があり, その計算時間は認識処理時間とは比べもなどが増えれば, 必要なメモリ容量は数 MByte〜数百のにならない程多大なものになる. 通常, 学習はサン

MByte と, 大幅に増加する. １つの集積回路内にこれ

プルパターンの追加や変更のたびに行う必要があり,だけの容量のメモリを演算回路（ランダムロジック）

大規模な画像認識システムでは頻繁にこの追加／変更と共に実装することは困難である. このため, これらが行われる為, 学習時間の高速化が望まれている.

のサンプルパターンは演算回路とは別に, 外部の専用

特に 1 節でも述べた通り, PNN のオンライン学習

メモリに記憶する必要がある.

では高速な学習が必要となる. 例えば PNN を用いた

従って, 図 2(a) に示すように, 従来よりバックプロ

具体的な報告事例として, 6) 7) では衛星（GOES–8）

パゲーションの並列化などで用いられてきた「ネットから転送される気象画像（1 画像／分）に対して PNN

ワーク上の各ニューロンを専用のプロセッサにハーのオンライン学習を行なっている. しかし, 現在そのドウェア化し, 集積回路内で並列化する手法（これを処理には約 5 分かかっており, 学習処理時間が画像のニューロン並列と呼ぶ）」を PNN にそのまま適用する

転送スループット時間に追いついていない. 雷, 竜巻

ためには外部メモリが不可欠となる. この場合, カー

等のスポット予測のために, 画像の転送スループット

ネル層のニューロンを計算するプロセッサ（図 2(a) 中は今後一層増加する傾向にあり, PNN の高速学習のの Neuron in Kernel Layer）は, それぞれ異なるサ

ための専用ハードウェアが不可欠となっている. またンプルパターンが同時に必要となるため, 外部メモリ

この事例の他に, 例えば PNN の高速学習をロボットのデータバスもそれぞれ独立に必要となる. 未知入力のオンライン運動制御システムに組み込むことで, 周パターン X は各ニューロンに集積回路内でブロード囲の環境変化に即座に対応することのできるロボット

キャストされる. 認識パラメータ σ も X と同様に, 集の実現が可能となる.

積回路内でブロードキャストされ, 同じ値が各ニュー

我々の提案する高速学習のための並列アーキテク

ロンの演算で使われる. 学習ではこの共通な σ を σm

チャを Sigma–Parallel Architecture（SPA）と呼ぶ.

として m = 0 から m = Nσ まで（Nσ は探索する σ

4

情報処理学会論文誌

1959

図 2 従来手法（ニューロン並列）と SPA の比較
Fig. 2 Neuron Parallel Architecture v.s. Sigma Parallel Architecture.

の総数）少しずつ変えて, 繰り返し演算を行うことで各 sPNN Processor は逐次処理をするため, 外部メ

ニューロンの並列性を利用した高速な学習が可能となモリや未知パターンの入力に必要となる物理的なピンると考えられる.

数も少なくなる. 具体的には, サンプルパターンの入しかし, このニューロン並列のアーキテクチャには大力には q bit, 未知パターンの入力も q bit で合計 2q

きな問題がある. 図 2(a) では, qNp Nc 本のサンプルパ

本の入力ピン数で済む. サンプルパターンの入力は逐ターン用の入力ピン数（メモリのデータバス幅）と, q 本

次処理となるが, チップ内でパラメータ σ の並列処理の未知入力ピン数, 合計 q (Np Nc + 1) 本の入力ピン数ができるため, 結果としてピン数の問題を解決しつつ,を必要とする. 例えば先の例, q = 8, Np = 512, Nc =高速学習が可能となる.

8 のとき, 必要なピン数は q (Np Nc + 1) = 32, 776 本と, 非現実的な要求ピン数となる.

ニューラルネットワークは, 多ファン・イン／アウトをもつニューロンが多数結合したネットワークで構成

そこで, 我々は「異なる σ をニューロンに与え, 各される. このため, ニューラルネットワークの VLSI 実

ニューロンの下で並列にテストパターンに対して認識装においては, 従来よりピン数不足を如何に解決する

精度を計算する」手法を提案する（図 2(b)）. これをかが本質的な問題であり, これまでバックプロパゲー

SPA（Sigma–Parallel Architecture）と呼ぶ. SPA でション型や完全結合型, 自己組織化型ニューラルネッは前述した sPNN Processor が異なる σ に対してそトワーク等々の個々のネットワーク毎にこの問題を解

れぞれ並列に動作する. sPNN Processor は次節でそ決すべく様々なアーキテクチャが提案, 開発されてきの詳細を述べるように, 時分割処理で PNN を計算す

た8)12)∼16) . SPA アーキテクチャは PNN を対象としる. 実装上, ニューロンは各層とも１つのみで構成さて, この問題を解決しつつ高並列処理を実現している.

れており, これを繰り返し実行することで１つのネッ

3.2 Hybrid-SPA

トワーク（PNN）全体を計算する. この sPNN Pro-

図 2(b) の SPA は従来のニューロン並列構成と排

cessor を１つの集積回路内に多数, 並列に実装し, そ他的に選択するものではない. SPA で構成した複数

れぞれに異なる σ を与えることで, 並列化をニューロの sPNN Processor をモジュール化し（図 2(b) 中のン並列方式（Neuron–Parallel Architecture）ではな

VLSI Chip 領域を図 3 中の SPA–Module に示すよく, σ 並列方式（Sigma–Parallel Architecture）とすうにモジュール化する）, これを与えられたピン数制ることができる. σ はサンプルパターンのようにデー限の範囲で図 3 のように多重に並列に実装すること

タサイズが大きくないので（log2 Nσ は数〜数十ビッ

で, さらなる高速化が期待できる. このような, σ 並ト）, sPNN Processor と同じ１つの集積回路内に容列を基本としてさらにこれらをニューロン並列化す

易に実装することができる.

る構成を Hybrid–SPA と呼ぶこととする. 現在このVol. 0

No. 0

PNN 計算の並列高速化アーキテクチャとその画像認識システムへの適用

5の “形状” を正確に近似することよりも, 確率密度分
布同士の大小関係が入れ替わる “交点” を正確に近似することが必要であり, 交点を正確に近似する点においては一様関数を用いても十分高い近似精度を得ることができるからである（一様分布関数による参考実験を行い, 結果を「付録」に記したので参照されたい）.
また, Minchin らは現実の認識問題を対象にガウシ
アン関数と一様関数を用いた PNN の認識精度の比較
図 3 SPA の多重並列化
Fig. 3 Neuron Parallelism Based on the SPA.

実験を行っている18) . その報告では, 特徴抽出を行った石の表面画像（9 次元ベクトル）を４カテゴリに分類する認識問題において, ガウシアン関数を用いた場
合と一様関数を用いた場合の認識率を比較し, ガウシ

Hybrid–SPA に基づく小型画像認識システムを開発中であり, 本論文では後半でその試作評価結果を述べる.

アン関数を用いた場合の認識率は 97.0%で, 一様関数を用いた場合は 94.2%であったと報告している. また,ブリキ製の５種類の形状（円形, 三角形, 四角形, 五角

4. 回 路 構 成形, 六角形）の鐘を鳴らしたときの音響周波数スペク

本節では PNN を実際に SPA に基づいてハードウェ

トル（48 次元ベクトル）を対象とした認識問題でもア化する際の回路構成について, まず sPNN Processor

比較実験を行い, ガウシアン関数と一様関数でそれぞの回路構成について述べ, 次に Hybrid–SPA の全体回れ認識率が, 95.5%, 及び 94.0%であったと報告して路構成について述べる.

いる. この実験結果では一様関数の方が認識率が幾分

4.1 sPNN Processor の回路構成（1.5〜2.8%）低い値となったが, 実用的に問題はない

sPNN Processor の回路構成を図 4 に示す. このことが示されている. さらに, 高島らは, 一様関数を用

回路は入力として未知パターン X, サンプルパター

いて一般的なシーンの画像の中から顔を検出するシスン Sij , 認識パラメータ σm を持ち, PNN の演算を時テムを試作し, その有効性を示している19) . 以上のよ分割処理で行う. 図 1 の PNN に対応して 3 層からうな報告や実験結果から本論文では, 一様関数を用い成るが, 物理的に存在する各層のニューロンは１つずても十分実用的な認識システムを構築できるものと考

つで, これらを用いて逐次処理することで PNN を構えた.

築し, 認識処理を行う. 未知パターン X と予めカテ

図 4 において, 外部メモリから読み込まれたカテゴリ

ゴリ毎に外部メモリに記録されているサンプルパター

Ci の第 j 番目のサンプルパターンの第１番目の要素

ン Sij は, それぞれ q bit の各要素 x1 , x2 , ..., xn 及び,¡(sij )1 , (sij )2 , ..., (sij )n

¢

¡ i¢

sj 1 は図中の “Kernel Size Adjuster” にて σm /2 の毎に逐次処理される（即ち, 式

加算と減算を行い, 各演算結果を出力する. 次に “Ker-(1) の演算を各要素毎に行う）. σm は第 m 番目の σnel Size Comparator” にて, この各値, sij 1 + σm /2

で, SPA では各ニューロン毎に異なった値をとる.

及び,

¡ ¢

¡ i¢

sj 1 − σm /2 と未知入力パターン X の第１

ここで, 対象とするカーネル関数として, 前述した

番目の要素 x1 との値の大小関係を比較する（これ一様関数（式 (1)）を選択した. これは以下に示すよが式 (1) に示す一様関数の ¯xk − sij k ¯ ≤ σ/2 のうに少ない回路規模で関数を直接回路化することがで¡¡ i ¢き, 高速かつ小型化が可能であるからである. 一般に

¯

¡ ¢ ¯

比較に対応する）. “Kernel Size Comparator” は,¢

sj 1 − σm /2 ≤ x1 ≤¡¡ i ¢¢

sj 1 + σm /2 であった関数を近似するには, 一様関数よりガウシアン関数の場合に 1 を出力し, x1 がこの範囲にないときは 0 を方が優れているので, PNN においても確率密度分布

出力する.

の近似 p̂ (X|Ci ) を行う際, ガウシアン関数を用いた方

この演算をサンプルパターン Sij の全ての要素に対が高い認識精度が得られるように思われる. しかし,して行う. この出力を後段のフリップ・フロップで監視一様関数を用いても十分高い認識精度が得られることし, 全ての要素において演算結果が 1 となったとき, つが既に議論されている17) . これは, p̂ (X|Ci ) を基本と

まり未知入力がカーネルに入った場合（式 (1) の右辺

するいわゆる統計的（ベイズ統計）パターン認識では,1）の数をさらに後段の加算層（Summation Layer）

p̂ (X|Ci ) の値の大小関係から X のカテゴリを推定すにあるカウンタでカウントする.

るためである. すなわち, 各カテゴリの確率密度分布

加算層の出力値は決定層（Decision Layer）でカテ

6

情報処理学会論文誌

1959

図 4 sPNN Processor の回路構成
Fig. 4 Circuit Configuration of sPNN Processor.

ゴリ毎にレジスタ（Register）にスタックされる. 次に最大値検出器（Max Detector）にてそのレジスタにスタックされた値のうち, 最も大きな値と, そのカテゴリが検出される. ここで検出されたカテゴリが認識結果である.
実際に, 1 個の sPNN Processor を Xilinx 社製のFPGA（XCV1000E–6HQ240C）にインプリメントしたところ, 使用した SLICE 数（1 SLICE は約 100 ゲー
トと換算できる）は 120 SLICE であった. XCV1000E
は 12,288 SLICE を有する20) ので, この規模の FPGAでも 64 個以上の sPNN Processor が他の制御回路などを含め実装できると見積れた. 従って ASIC 等の専用集積回路を用いなくても十分実用的なシステムを実現することができる. sPNN Processor はこのように
カーネル関数を簡単な組合せ回路で直接実現している
ため, 逐次処理でありながらも結果として後述するような高速処理を実現している.

4.2 SPA の全体回路構成
図 5 に現在開発中の小型画像認識システム（5 節で詳細を述べる）で用いている Hybrid–SPA に基づ
いた PNN ハードウェアの全体回路構成を示す. 全体

図 5 Hybrid-SPA に基づくシステムの回路構成
Fig. 5 System Configuration Using the Hybrid-SPA.

は２つの FPGA（Xilinx 社製 XCV1000E–6HQ240C
及び, XCV300E–6PQ240C）と, サンプルパターンを記憶しておくメモリ LSI 群（日立製 4M–bit SRAM

SPA–Module から成り（4 ニューロン並列）, さらに

HM62W8511HJP）から構成されている. 中心とな

１つの SPA–Module は 16 個の sPNN Processor かる FPGA（XCV1000E）には, 図 3 の Hybrid–SPA

ら構成される（16σ 並列）.

に基づいて構成された 64 個の sPNN Processor が実

これら 64 個の sPNN Processor の出力（各 Proces-

装される. この 64 個の sPNN Processor は 4 個の

sor の認識結果）は共有データバス（図 5 中の Common

Vol. 0

No. 0

PNN 計算の並列高速化アーキテクチャとその画像認識システムへの適用

7

Data Bus）を介してもう１つの FPGA（XCV300E）とした. 前処理の結果は同じく XCV800–4HQ240Cに入力される. この FPGA には最も高い精度を得る σに接続された NTSC エンコーダ（AnalogDevices 製を求める “Best σ Detector” が実装されており, これ

ADV7176AKS）によりテレビモニタに表示して確認を学習時に使用する. Best σ Detector は認識処理にすることができる. 16×16 セグメントにモザイク化

おいても, 各 sPNN Processor の認識結果の中からさされた未知入力画像は sPNN Processors に送られる.

らに最終的な認識結果を得るための最大値検出器とし

sPNN Processors では, サンプルパターンと比較を行て働く. 即ち, 複数の sPNN Processor の認識結果は,い, その結果から最も正しいと推測される未知入力パ

8 bit の共有データバスに結合された Best σ Detector

ターンのカテゴリ・インデックス番号が出力される. サへ逐次転送され, ここでさらに最大値を得たカテゴリ

ンプルパターンを記憶しておくためのメモリとして日が検出される. ここで得られたカテゴリが最終的な認立製の 4Mbit–SRAM（HM62W8511HJP–12）を 12

識結果である.

個搭載しており, メモリの各データバスは全て独立に

なお, sPNN Processor と Best σ Detector をバス

XCS30XL–4PQ240C と接続されている (メモリの各で接続することにより, sPNN Processor を容易に増データバス幅は 8bit×12 で合計 96bit である). 前述

設できる（次節に詳細を述べる）. 従って, アプリケーの Best σ Detector と全体の制御を行う回路は Xilinx

ション毎に要求数が異なるカテゴリ数やサンプル数,

社製 XCV300–4PQ240C に実装している.

或は要求される学習時間に応じて, sPNN Processorを増設することができる.

5. 試作システムの評価と考察

また SPA の各プロセッサ間接続ネットワークは
バス接続形態であるため, 図 8 に示すように Main

Board（図 6）にプロセッサ増設用拡張基板（図 8
中 Sub Board）を増設し, 容易に sPNN Processor

5.1 試作システム

数（Hybrid–SPA Module）を増設することができる.

我々は図 5 に示す構成をベースに, これに画像前処

Main Board と Sub Board を結ぶ主な信号線は, 特

理回路を加えた小型な高速画像認識システムを開発中

徴抽出後の未知パターンをブロードキャストする信号である. ここで “システム” とは入力画像の特徴抽出

線（図 8 中の Pre–Processed Unknown Pattern In-から認識処理, 学習処理までを全て実行できる装置をput で指した信号線）と, 各 Hybrid–SPA Module の指す. また,“小型” とは 1 つの基板上にこのシステムを出力を受ける共有データバス（図中の Common Data

実装し, ホストコンピュータ（パーソナルコンピュー

Bus）の 2 つのみである. これにより, システム全体

タによる制御など）を必要としないという意味である.

のサイズは多少大きくなるものの, 認識及び学習処理

このような小型な高速画像認識システムは, 自動車や速度の高速化, パターン規模（次元数, サンプル数, カ

ロボットなど, 自律移動体の制御や, 工場の生産ライン

テゴリ数など）の拡大に対応することができる.

などで強く望まれており, 本開発システムはこれらの用途をターゲットにしている.

現在開発中の Hybrid–SPA Module に使用している XCV1000E は, 1 チップ当たり約 64 個の sPNN

図 6 にシステムの全体構成図を示す（図中の Hybrid–

Processor を実装でき, プロセッサ増設用拡張基板は

SPA Module は図 5 を参照のこと）. また, 表 1 にその

1 基板あたり 2 つの XCV1000E を実装する予定であ

諸元を, 図 7 に試作システムの写真を示す. 試作システるため, システムに増設する sPNN Processor は 128

ムは sPNN Processor を実装する FPGA として前述しProcessor 単位となる. 例えば増設する XCV1000E

た XCV1000E の代わりに XCS30XL–4PQ240C（約を 3, 5, 7 個とすると, sPNN Processor の総数はそれ30,000 ゲート規模）を用いている点以外は, 現在開発

ぞれ 192, 320, 448 Processor となる. また, 次節で述中の最終システムとほぼ同等である. なお, XCS30XL

べるようにプロセッサの増加に伴い, 共有データバスには 3 個の sPNN Processor が実装可能である.

で生じる逐次処理によるオーバーヘッドは PNN 全体

図 6 に示すように, ビデオカメラからの入力信号
は NTSC デコーダ（OKI 製 MSM7674）にて A/Dの処理に比べ極めて小さいため, 学習速度もプロセッ
サ数に対し, ほぼ線形に増加する.

変換され, 前処理用の FPGA（Xilinx 社製 XCV800–

5.2 評 価 結 果

4HQ240C）に入力される. 前処理では特定の固定領

5.2.1 認識速度及び学習速度域（今回は画面の中心付近とした）を 16×16 セグメ

NTSC ビデオカメラから取り込んだ 1 パターン

ントにモザイク化 (複数画素の平均化) することで情（16 × 16 segment ×8bit のモザイク画像: n = 256,

報量の低減を行っており, 今回はこれを特徴抽出処理

q = 8）について, 1 つの sPNN Processor でカーネル

8

1959

情報処理学会論文誌

図 6 小型高速画像認識システムの構成
Fig. 6 Configuration of Image Recognition System.

表 1 試作システムの諸元Table 1 Specification of Prototype System.
基本動作周波数
プロセッサ数
メモリ容量
メモリバス幅
基板サイズ
インターフェース

27MHz(sPNN Processor:13.5MHz)
3 sPNN Processors (Max)48Mbit (4Mbit×12)(Max)
96bit (8bit×12)(Max)
240×180mm (4 層基板)
NTSC コンポジット入出力,
PS/2 キーボード, ATA,
Analog–RGB 出力, RS–232C

関数の演算が完了するまでに要する時間を測定した.
測定結果は 18.96µs であり, これからビデオレート時間（33.3ms）では約 1,750 パターンを処理できることがわかった. これより 1 カテゴリあたり 256 サン

図 7 試作システムの写真
Fig. 7 Photograph of Prototype System.

プルパターン（Np = 256）とすると, 1 つの sPNN

Processor で 6〜7 カテゴリ分（Nc = 6 ∼ 7）の処理をビデオレート時間内に実行することができることがわかった.
学習時間の実測は 64 個の sPNN Processor を実装
した XCV1000E （16σ 並列かつ, 4 ニューロン並列の Hybrid–SPA 構成）で行う予定であるが, 上述した演算測定結果と以下の算定式より見積もることができる. 学習時間 Tlearn は,Tlearn(Trecog. + βNsP N N NM od. TCLK ) Ntp Nσ=
NsP N N(3)と算出できる. ただしここで,Vol. 0

No. 0

PNN 計算の並列高速化アーキテクチャとその画像認識システムへの適用

9

図 8 sPNN Processor 増設時の構成
Fig. 8 Configuration of the Extened System Using Sub Boards.

log2 Np + log2 Nc
+γ
s

n:

パターンの次元数,q:

各要素のビット精度,r:

メモリと sPNN Processor 間ので, これは図 5 に示した各 sPNN Processor と Best σ

ビット幅,

Detector を結ぶ共有データバス（図 5 中の Common

共有バスのビット幅,

Data Bus）で, データの逐次転送を行うことによって

s:

β=

(5)

Nc :

カテゴリ数,

生じるオーバーヘッド・サイクル数である. なお, ここNp :1 カテゴリのサンプルパターン数,

で扱っている “SPA–Module” とは図 5 に示すように,

Ntp :テストパターン数,

複数の sPNN Processor のまとまりで,“Hybrid–SPA

Nσ :探索する σ の総数,

Module” はさらにこの “SPA–Module” をまとめたも

NsP N N :1SPA–Module 中ののである.
認識時間 Trecog. の第 1 項目は, パイプライン処理のsPNN Processor 数,
NM od. :α:

始めのパターンデータの読み込みである 1 サイクルを表SPA–Module 数,

し, 第 2 項目の分子 qnNp Nc は基本動作周期で処理でき

sPNN Processor 内の決定層で生じるオーバーヘッド,γ :Best σ Detector 内の決定層で生じるオーバーヘッド,

TCLK :

基本動作周期³

bit, Nc = 1, Np = 256, NM od. = 1, α = γ = 0,
TCLK = 1/13.5 MHz とすると Trecog. = 4.85 ms で,この推定が正しいことを示している. 学習時間の推定´

qnNp Nc+ αNc + βNM od. TCLK= 1+
rNM od.
(4)である. また,

ス幅を表している. ここで, n = 256, q = r = s = 8

これは実際に試作システムで測定した結果と等しく,である. また Trecog. は認識時間を表し,

Trecog.

るデータの総数を表し, 分母の rNM od. はメモリの総バ式（式 (3)）の β の項は, 全ての sPNN Processor の
出力を Best σ Detector に逐次転送して最大値検出を行うためのオーバーヘッド・サイクル数を表している.
式 (3) から, 最終システムにおける学習時間は Nc = 8で約 2.5sec, Nc = 32 で約 10.0sec と算出される. こ10

情報処理学会論文誌

1959

れにより, 大規模なパターン認識の問題も十分高速にあると考えている. しかし, 今回の実験は認識回路の（遅くても 1 分以内に）終了することができる.

動作を確認するために行ったため, 容易に入手可能な

参考比較のために, 同様の学習処理を Intel 製

パターンとして “ジャンケン” 画像を選択し, そのモ

PentiumIII–1GHz の PC 上で gcc（ANSI C）で作ザイク画像を特徴抽出後の認識対象とした. なお, 開成したソフトウェア・プログラムで実行したところ, 処

発中の小型画像認識システムでは, 特徴抽出を行うプ

理時間は Nc = 8 で約 170sec, Nc = 32 で約 682sec

リプロセッサも FPGA（Field Programmable Gateであった. この結果から SPA に基づいて開発したハーArray）を用いているため, 認識問題に応じ, 適切な特ドウェアが PC 上で処理される場合に比べ, 1 チップ

徴抽出を動的に選択することも可能となっている.

（図 5 に示した 1 つの Hybrid–SPA Module）当たり
約 68 倍高速であることが導かれる.
な お,

現在, 学習回路は未実装であるため, 使用した σ の最適値は別途パーソナルコンピュータにより探索範囲

64 個 の sPNN Processor を 実 装 す る

σ = 0〜256（Nσ = 256）で, 全探索を行うことにより

XCV1000E の回路規模は 1,569,178 System Gates20)

求めた. 最適値は実験毎にサンプルパターンを更新しで あ り, こ れ を 現 在 最 上 位 ク ラ ス の 集 積 規 模 のたため, その都度パーソナルコンピュータにより再計

XCV3200E（4,074,387 System Gates

20)

）などに変

算を行い, σ = 80〜90 を用いた. 実験システムの写真

更することで約 128〜160 個の sPNN Processor を実を図 9 に, 実験で用いた各カテゴリのサンプルパター

装できる. ここで, 式 (3),(4) 中の β の項, つまり共有ンの例を図 10 に示す. 図 9 中で「Unknown Pattern

データバスで生じるオーバーヘッドは, 処理全体の計

Field」に提示された未知パターン (今回は特定方向か算量に対し十分に小さい. これにより, プロセッサ数にらの手の形状) を「Video Camera」から本認識システ

対する性能の向上比, つまりスケーラビリティは数百ムである「Prototype Board」に入力した. カメラに

sPNN Processor 程度では, ほぼ線形増加となる. 従っは SONY 製の家庭用ビデオカメラ DCR–PC110 を用て, 使用する FPGA を XCV1000E から XCV3200E

いた. 画面内の手の位置合わせは「Video Monitors」に変更することで, PC の約 136〜170 倍の性能向上を見ながら行い, 同時に前処理が正しく行われているが可能と考えられる.

ことを確認した. 図 10 に示すように, 画面の中央にまた一例として, 各々に 2 つの XCV1000E を実装

16 × 16 セグメントにモザイク化された固定領域があした Sub Board を 3 枚（64 sPNN Processors×7

り, この領域に入った手の形状が認識される. 各パター

Hybrid–SPA Modules ）用いた場合, sPNN Proces-

ンは q = 8, n = 16, Np = Ntp = 256, Nc = 3 であ

sor の総数は 448 で, この時も上述した式 (3),(4) と同り, また, NsP N N = NM od. = 1, r = s = 8 である.

様の議論から, PC の約 480 倍の学習速度を実現可能

実験の結果, 画面の中央に特定の向きから提示した, 同と推定できる.

一人物の同じ手のグー, チョキ, パーの形状を 80% 以

今後更に精度を上げて評価を行う必要があるが, 本

上（10 回の提示を連続して行ない, 毎回 8 回以上正し評価結果により, 前述した気象画像認識の問題に適用

く認識できる）の認識率で認識することができた.

した場合, 入力スループットに追従してオンライン学
習が実現できると考えられる. また, 使用する FPGA

6. お わ り にの変更, 或いは Sub Board の増設による, 更なる高速

本論文では, 確率的ニューラルネットワークの認識化によりミリ秒オーダの学習が実現できれば, 移動ロと学習の高速化のために, カーネル関数を単純な組合

ボットの動的環境適応等にも適用可能になると考えらせ回路で実現する専用プロセッサ（sPNN Processor）

れる.

と, 異なる学習パラメータを並列に処理する学習アー

5.2.2 認 識 精 度

キテクチャ（SPA）を提案した. このプロセッサとアー

試作システムを用いて, 白熱灯（250W ハロゲンラ

キテクチャを用いた試作システムの性能を, ジャンケンプを使用）の下で, ビデオカメラの前に任意に提示

ン画像を用いた認識実験により評価した結果, 認識精された手の動画像から, “ジャンケン” に関する３つの度は 80%以上, かつビデオレート時間（33.3ms）以内

カテゴリ（C1 : グー, C2 : チョキ, C3 : パーとした）をで処理できることがわかった. また学習においても,認識する実験を行った. 手の形状認識のように画面内

256 次元／サンプル, 256 サンプル／カテゴリ, 32 カ

で位置ずれを生じやすい認識問題の場合, 今回使用しテゴリの規模のパターンを約 10.0 秒で処理でき, よりているモザイク化のような特徴抽出手法ではなく, よ大規模なパターンにおける学習処理も十分実用的な時

り位置ずれに対してロバストな特徴抽出を行う必要が間内で行なうことができることがわかった. これによ

Vol. 0

No. 0

PNN 計算の並列高速化アーキテクチャとその画像認識システムへの適用

11

図 9 認識実験システム
Fig. 9 Recognition Test System.

参 考 文 献図 10 認識実験に用いた画像パターン
Fig. 10 Sample Patterns for Recognition Test.

り, 提案したプロセッサとアーキテクチャにより, 実応
用に適用可能な小型高速画像認識システムを実現できる見通しを得た. 今後は最終システムを完成させ, さらに周囲の環境に合わせて動的に学習を行う手法の検討も行う予定である.
謝辞 本論文の執筆にあたり有益な助言を頂いた宮崎大学 工学部 情報システム工学科の吉原郁夫教授に感謝する. また, 本研究の一部は 2001 年度学術振興事
業団科学研究補助金 No.13450163 による.

1) Specht, D.: Probabilistic Neural Networks,
J.Neural Networks, Vol. 3, pp. 109–118 (1990).
2) Specht, D.: Probabilistic Neural Networks
and the Polynomial Adaline as Complementary Techniques for Classification, IEEE Trans.
Neural Networks, Vol. 1, No. 1, pp. 110–111(1990).
3) Müller, Klaus-R., Mika, S., Rätsch,G.,
Tsuda,K. and Schölkopf,B.: An Introduction
to Kernel-Based Learning Algorithms, IEEE
Trans. Neural Networks, Vol.12, No.2, pp.181–
201 (2001).
4) Ruiz, A., Member,IEEE. and E.López-de
Teruel, P.: Nonlinear Kernel-Based Statistical
Pattern Analysis, IEEE Trans. Neural Networks, Vol. 12, No. 1, pp. 16–32 (2001).
5) Mao, K.Z., Tan, K.C. and Ser, W.: Probabilistic Neural-Network Structure Determination for Pattern Classification, IEEE Trans.
Neural Networks, Vol. 11, No. 4, pp. 1009–1016(2000).
6) Tian, B., R.Azimi-Sadjadi, M. Senior Member, IEEE. H.Vonder Harr, T. and Reinke, D.:
Temporal Updating Scheme for Probabilistic
Neural Network with Application on Satellite
Cloud Classification, IEEE Trans. Neural Networks, Vol. 11, No. 4, pp. 903–920 (2000).
7) Tian, B., R.Azimi-Sadjadi, M.: Comparisonof Two Different PNN Training Approaches
for Satellite Cloud Data Classification, IEEE
Trans. Neural Networks, Vol.12, No.1, pp.164–
168 (2001).
8) 岩田, 雨宮: ニューラルネットワーク LSI, 電子
情報通信学会編, オーム社 (1995).

129) Gotarredona, T.S., Barranco, B.L. and Andreou, A.G.: Programmable Kernel Analog
VLSI Convolution Chip for Real Time Vision
Processing, Proc. IEEE Int’l Joint Conf. Neural Networks, CD-ROM (2000).
10) Szabo, T., Antoni, L., Horvath, G. and Feher,
B.: A full-parallel digital implementation for
pre-trained NNs, Proc. IEEE Int’l Joint Conf.
Neural Networks, CD-ROM (2000).
11) Girau, B. and Lorraine, L.: Digital hardware
implementation of 2D compatible neural networks, Proc. IEEE Int’l Joint Conf. Neural
Networks, CD-ROM (2000).
12) Yasunaga, M., Masuda, N., Yagyu, M., Asai,
M., Yamada, M. and Masaki,A.: Design, Fabrication and Evaluation of A 5-inch Wafer Scale
Neural Network LSI Composed of 576 Digital
Neurons, IJCNN ’90 , II, pp. 527–535 (1990).
13) 平井 有三, 落合 辰男, 安永 守利: 1000 ニューロン 100 万シナプスで構成されたニューラルネット
ワークハードウェアシステム, 電子情報通信学会
論文誌, J84-D-II, No. 6, pp. 1185–1193 (2001).
14) Sinencico, E.S. and Lau, C.(Eds.): Artificial Neural Networks: Paradigms, Applications,and Hardware Implementations, IEEE Press(1992).
15) Kohonen, T.: Chapter 8 (Hardware for SOM)
in “Self-Organizing Maps”, Vol. 1, Springer,
2nd edition, chapter 2, pp. 371–381 (1997).
16) Wawrzynek, J., Asanovic, K., Kingsbury, B.,
Johnson, D., Beck, J. and Morgan, N.: Spert-II:
A Vector Micro Processro System, Special Issueof Neural Computing in IEEE COMPUTER,
Vol. 29, No. 3, pp. 79–86 (1996).
17) Bishop, C.: Neural Network for Pattern Recognition, Oxford Press (1995).
18) Minchin, G. and Zaknich, A.: A Design for
FPGA Implementation of the Probabilistic
Neural Network.
19) 高島 浩二, 中村 太郎, 安永 守利, 吉原 郁夫: 遺伝的アルゴリズムを用いた画像中の顔画像検出とその進化ハードウェア上への実装, 電子情報通信学会技報, PRMU2000-117, pp. 71–78 (2000).
20) Xilinx, Inc.: Virtex-E 1.8V Field Programmable Gate Arrays, DS022-1(v2.2),
http://www.xilinx.com/partinfo/ds022.pdf(2001).

付1959

情報処理学会論文誌録

一様関数を用いた確率密度分布近の交点近似実験
一様関数を用いて 2 つの確率密度分布の交点がどの程度正確に近似できるか計算機（PC）による参考実験を行った. 2 つの確率密度分布として一次元正規分布

76P(A) p(X|A)

5

4

c2

c1

3

2

P(B) p(X|B)

1

0
-0.2

0

0.2

0.4

0.6

X1 X2 (a)

0.8

1

1.2

1.4

X

7

6

5

4

~
c2

~
c1

3

2

1

0
-0.2

0

0.2

~ ~
X1 X2 (b)
0.4

0.6

0.8

1

1.2

1.4

図 11 一様関数を用いた確率密度分布交点近似実験の結果
Fig. 11 Experimental result of cross–points approximation
between the probabilistic density distributions.

p(X|A)（平均 0.4, 分散 0.03）, p(X|B)（平均 0.55,
分散 0.15）を用いた（図 11(a)）. 両分布の交点 c1 ,c2 の X 値は, それぞれ, X1 = 0.331, X2 = 0.457 である.
この確率密度分布に従ってそれぞれ 10 個 (合計 20個) のサンプル値 S を発生し, この 20 個の S に対する一様関数（式 (1)）の重ね合わせを行った. 結果を
図 11(b) に示す. 両近似関数の交点 c̃1 , c̃2 の X 値は,それぞれ, X̃1 = 0.337, X̃2 = 0.488 となった. 使用したサンプル数がわずか 20 個と少ないため, 近似関数の形状は正規分布の形状をよく近似しているとは言いがたい. しかし, わずか 20 個のサンプルにもかかわらず,
両交点を非常に高い精度で近似している. この実験結果からも, 一様関数をカーネル関数として用いても高い認識精度が実現できることがわかる. なお, 本実験
において式 (1) の σ は計算時間の関係から, σ を広範
囲に渡って変化させる代わりに, 20 個のそれぞれの一様関数において σ = 0.5, 0.05, 0.005 の中から交点が実際の交点に最も近くなった組合せを選んだ.

(平成 ? 年 ? 月 ? 日受付)
(平成 ? 年 ? 月 ? 日採録)

Vol. 0

No. 0

PNN 計算の並列高速化アーキテクチャとその画像認識システムへの適用

13

相部 範之（学生会員）

安永 守利（正会員）

平成 11 年工学院大学工学部電子昭和 56 年筑波大学第三学群基礎

工学科電子工学コース卒業. 同年, 理工学類卒業. 昭和 58 年同大学院工学

化学研究所脳科学総合研究センター

研究科修士課程修了. 同年 (株) 日立

入所. 平成 12 年同研究所退所後, 筑製作所入社. 同社中央研究所におい

波大学大学院修士課程理工学研究科て大型計算機ハードウェア, ウェー

理工学専攻入学. 平成 14 年同大学院修士課程修了.

ハスケール集積回路の研究に従事. 昭和 63 年より,

現在, 同大学院博士課程システム情報工学研究科コンニューラルネットワーク, 記憶ベース推論, 遺伝的アルピュータ・サイエンス専攻に在学中. パターン認識, 画

ゴリズムの研究を開始. 平成 3〜4 年米国カーネギー

像処理, 再構成型ハードウェアの研究に従事.

メロン大学客員研究員を兼任. 平成 6 年筑波大学電子・情報工学系助教授. 現在, 進化ハードウェア, ニューロ
ハードウェア, 並列計算機の研究に従事. 博士 (工学).
電子情報通信学会, IEEE, INNS(国際神経回路学会)各会員.