JPH05197702A - 神経回路網シミュレータ装置 - Google Patents
神経回路網シミュレータ装置Info
- Publication number
- JPH05197702A JPH05197702A JP4008751A JP875192A JPH05197702A JP H05197702 A JPH05197702 A JP H05197702A JP 4008751 A JP4008751 A JP 4008751A JP 875192 A JP875192 A JP 875192A JP H05197702 A JPH05197702 A JP H05197702A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- element processor
- layer
- local memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】学習パターン数が多い場合でも処理を中断しな
い神経回路網シミュレータ装置を提供することを目的と
する。 【構成】入力層を構成するユニット、中間層を構成する
ユニット及び出力層を構成するユニットの機能を複数の
要素プロセッサ(PE)のそれぞれに与え、且つ、前記
要素プロセッサをリング状に接続すると共に、前記要素
プロセッサごとのローカルメモリ(LM)を備え、該ロ
ーカルメモリ内のデータに基づいてバックプロパゲーシ
ョン法による学習処理を行う神経回路網シミュレータに
おいて、前記要素プロセッサごとのレジスタ(R)を有
し、該レジスタを介して前記学習処理に必要なデータの
一部を外部から取り込み、それぞれの要素プロセッサに
与えることを特徴とする。
い神経回路網シミュレータ装置を提供することを目的と
する。 【構成】入力層を構成するユニット、中間層を構成する
ユニット及び出力層を構成するユニットの機能を複数の
要素プロセッサ(PE)のそれぞれに与え、且つ、前記
要素プロセッサをリング状に接続すると共に、前記要素
プロセッサごとのローカルメモリ(LM)を備え、該ロ
ーカルメモリ内のデータに基づいてバックプロパゲーシ
ョン法による学習処理を行う神経回路網シミュレータに
おいて、前記要素プロセッサごとのレジスタ(R)を有
し、該レジスタを介して前記学習処理に必要なデータの
一部を外部から取り込み、それぞれの要素プロセッサに
与えることを特徴とする。
Description
【0001】
【産業上の利用分野】本発明は、神経回路網シミュレー
タ装置、特に、多層構造型の神経回路網シミュレータ装
置に関する。
タ装置、特に、多層構造型の神経回路網シミュレータ装
置に関する。
【0002】
【従来の技術】近時、生物の神経回路網をモデル化した
いわゆるニューラルネットワークが注目されている。図
44はニューラルネットワークの概念図であり、入力
層、中間層及び出力層からなる多層構造型のネットワー
クである。図では、中間層が1つであるが2つ以上のシ
ステムもある。本明細書では、説明の簡単化のために1
つの中間層を持つネットワークについて説明する。
いわゆるニューラルネットワークが注目されている。図
44はニューラルネットワークの概念図であり、入力
層、中間層及び出力層からなる多層構造型のネットワー
クである。図では、中間層が1つであるが2つ以上のシ
ステムもある。本明細書では、説明の簡単化のために1
つの中間層を持つネットワークについて説明する。
【0003】各層は複数のユニットからなり、入力層を
構成するユニットIU1〜IU6には、それぞれ外部から
任意の信号が与えられる。入力層の全てのユニットIU
1〜IU6と中間層の全てのユニットMU1〜MU5の間は
互いに信号線で接続されており、また、中間層の全ての
ユニットIM1〜IM5と出力層の全てのユニットOU1
〜OU4の間も互いに信号線で接続されている。
構成するユニットIU1〜IU6には、それぞれ外部から
任意の信号が与えられる。入力層の全てのユニットIU
1〜IU6と中間層の全てのユニットMU1〜MU5の間は
互いに信号線で接続されており、また、中間層の全ての
ユニットIM1〜IM5と出力層の全てのユニットOU1
〜OU4の間も互いに信号線で接続されている。
【0004】図45は任意層の1つのユニットUiの概
念図である。V1〜Vnは、ユニットUiの所属層が例え
ば中間層であればその前層(入力層)の各ユニットから
の出力信号である。ユニットUiは、前層の各ユニット
からの出力信号V1〜Vnと、そのユニットUiの間の結
合の重みWi1〜Winの積をとったもの(V1Wi1〜VnW
in)を、全てのユニットにわたって総和(Σ)を取り、
さらに、所定のしきい値を加えた量にシグモイド関数と
呼ばれる非線形間数(f)を施したものを出力する。
念図である。V1〜Vnは、ユニットUiの所属層が例え
ば中間層であればその前層(入力層)の各ユニットから
の出力信号である。ユニットUiは、前層の各ユニット
からの出力信号V1〜Vnと、そのユニットUiの間の結
合の重みWi1〜Winの積をとったもの(V1Wi1〜VnW
in)を、全てのユニットにわたって総和(Σ)を取り、
さらに、所定のしきい値を加えた量にシグモイド関数と
呼ばれる非線形間数(f)を施したものを出力する。
【0005】ここで、k層(但し、入力層は除く)のi
番目のユニットUi (k)の働きを式で表すと次のようにな
る。 Vi (k)=f(ΣjWij (k-1)Vj (k-1)−θi (k)) …… f(x)=1/2{1+tanh(x/x0)} …… 但し、Vj (k-1)は第(k−1)層のj番目のユニットの
出力、Wij (k-1)は第k層のi番目のユニットと第(k
−1)層のj番目のユニットとの間の結合の重みであ
り、θi (k)はこのユニットのしきい値である。また、
式はシグモイド関数を表しており、X0は関数の形状を
決める定数である。
番目のユニットUi (k)の働きを式で表すと次のようにな
る。 Vi (k)=f(ΣjWij (k-1)Vj (k-1)−θi (k)) …… f(x)=1/2{1+tanh(x/x0)} …… 但し、Vj (k-1)は第(k−1)層のj番目のユニットの
出力、Wij (k-1)は第k層のi番目のユニットと第(k
−1)層のj番目のユニットとの間の結合の重みであ
り、θi (k)はこのユニットのしきい値である。また、
式はシグモイド関数を表しており、X0は関数の形状を
決める定数である。
【0006】多層構造型のニューラルネットワークは、
入力データに対してニューラルネットワークの出力と、
ニューラルネットワークが出力すべき正解データとの差
(誤差)が少なくなるように、ユニット間の結合の重み
を変化させていくことによって学習する。この学習アル
ゴリズムとしては、バックプロパゲーション法が広く用
いられている。バックプロパゲーション法では、結合の
重みは次のように修正される。
入力データに対してニューラルネットワークの出力と、
ニューラルネットワークが出力すべき正解データとの差
(誤差)が少なくなるように、ユニット間の結合の重み
を変化させていくことによって学習する。この学習アル
ゴリズムとしては、バックプロパゲーション法が広く用
いられている。バックプロパゲーション法では、結合の
重みは次のように修正される。
【0007】 Wij (k)(n+1)=Wij (k)(n)+ΔWij (k)(n+1) …… ここで、ΔWij (k)(n)は、第k層のi番目のユニット
と、第(k−1)層のj番目のユニットの間の結合の重
みWij (k)(n)の修正量で、次式または次式によっ
て与えられる。 ΔWij (k)(n)=ηδi (k+1)Vj (k)+αΔWij (k)(n-1) …… ΔWij (k)(n)=ηΣpδi (k+1)Vj (k)+αΔWij (k)(n-1) …… ここで、η及びαは学習定数である。式のΣpはネッ
トワークに学習させるべきパターンpについての総和を
表している。すなわち、式は、ネットワークに1つの
パターンを学習させるたびに重みを修正することを示
し、式はネットワークに全てのパターンを学習させて
から重みを修正することを示している。
と、第(k−1)層のj番目のユニットの間の結合の重
みWij (k)(n)の修正量で、次式または次式によっ
て与えられる。 ΔWij (k)(n)=ηδi (k+1)Vj (k)+αΔWij (k)(n-1) …… ΔWij (k)(n)=ηΣpδi (k+1)Vj (k)+αΔWij (k)(n-1) …… ここで、η及びαは学習定数である。式のΣpはネッ
トワークに学習させるべきパターンpについての総和を
表している。すなわち、式は、ネットワークに1つの
パターンを学習させるたびに重みを修正することを示
し、式はネットワークに全てのパターンを学習させて
から重みを修正することを示している。
【0008】出力層のユニットに対してはδは次のよう
に与えられる。 δi (k)=2/u0(ti−Vi (k))Vi (k)(1−Vi (k)) …… ここで、tiは出力層のi番目のユニットが出力すべき
データ(いわゆる教師データ)である。また、中間層の
ユニットに対してδは、 δj (k)=2/u0(1−Vj (k))Vj (k)Σiδi (k)Wij (k) …… で与えられる。
に与えられる。 δi (k)=2/u0(ti−Vi (k))Vi (k)(1−Vi (k)) …… ここで、tiは出力層のi番目のユニットが出力すべき
データ(いわゆる教師データ)である。また、中間層の
ユニットに対してδは、 δj (k)=2/u0(1−Vj (k))Vj (k)Σiδi (k)Wij (k) …… で与えられる。
【0009】ところで、多層構造型の神経回路網シミュ
レータ装置においては、全てのユニットに対して上記の
ような多くの積和演算や関数演算を行わなければなら
ず、高速演算に適したハードウエア構成が求められる。
そこで、本出願人は先に、「神経回路網型計算装置」
(特願平02−152770号平成2年6月13日、特
願平02−182580号平成2年7月12日)を提案
している。
レータ装置においては、全てのユニットに対して上記の
ような多くの積和演算や関数演算を行わなければなら
ず、高速演算に適したハードウエア構成が求められる。
そこで、本出願人は先に、「神経回路網型計算装置」
(特願平02−152770号平成2年6月13日、特
願平02−182580号平成2年7月12日)を提案
している。
【0010】これらの先願の装置では、図46に示すよ
うに、多層構造の各層に属するユニットの機能を受け持
つ複数の要素プロセッサPEでリング網を形成してい
る。これによれば、要素プロセッサごとのローカルメモ
リLMから必要なデータ(入力データ、教師データ、重
みの初期値等)を読み出しながら、各要素プロセッサP
Eにおける演算処理を同時並行的に行うことができ、ま
た、その演算結果や必要なデータをリング網によって巡
回させることができるので、積和演算や関数演算を高速
に行うことができる。
うに、多層構造の各層に属するユニットの機能を受け持
つ複数の要素プロセッサPEでリング網を形成してい
る。これによれば、要素プロセッサごとのローカルメモ
リLMから必要なデータ(入力データ、教師データ、重
みの初期値等)を読み出しながら、各要素プロセッサP
Eにおける演算処理を同時並行的に行うことができ、ま
た、その演算結果や必要なデータをリング網によって巡
回させることができるので、積和演算や関数演算を高速
に行うことができる。
【0011】
【発明が解決しようとする課題】しかしながら、かかる
従来の神経回路網シミュレータ装置にあっては、シミュ
レーションに必要なデータを専らローカルメモリに保持
する構成となっていたため、例えば学習パターン数によ
っては、必要なデータのすべてをローカルメモリに格納
しきれないことがあり、ローカルメモリの内容を新たな
データに更新する間、一時的に処理を中断しなければな
らないといった問題点があった。
従来の神経回路網シミュレータ装置にあっては、シミュ
レーションに必要なデータを専らローカルメモリに保持
する構成となっていたため、例えば学習パターン数によ
っては、必要なデータのすべてをローカルメモリに格納
しきれないことがあり、ローカルメモリの内容を新たな
データに更新する間、一時的に処理を中断しなければな
らないといった問題点があった。
【0012】そこで、本発明は、学習パターン数が多い
場合でも処理を中断しない神経回路網シミュレータ装置
を提供することを目的とする。
場合でも処理を中断しない神経回路網シミュレータ装置
を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明は、上記目的を達
成するために、入力層を構成するユニット、中間層を構
成するユニット及び出力層を構成するユニットの機能を
複数の要素プロセッサ(PE)のそれぞれに与え、且
つ、前記要素プロセッサをリング状に接続すると共に、
前記要素プロセッサごとのローカルメモリ(LM)を備
え、該ローカルメモリ内のデータに基づいてバックプロ
パゲーション法による学習処理を行う神経回路網シミュ
レータにおいて、前記要素プロセッサごとのレジスタ
(R)を有し、該レジスタを介して前記学習処理に必要
なデータの一部を外部から取り込み、それぞれの要素プ
ロセッサに与えることを特徴とする。
成するために、入力層を構成するユニット、中間層を構
成するユニット及び出力層を構成するユニットの機能を
複数の要素プロセッサ(PE)のそれぞれに与え、且
つ、前記要素プロセッサをリング状に接続すると共に、
前記要素プロセッサごとのローカルメモリ(LM)を備
え、該ローカルメモリ内のデータに基づいてバックプロ
パゲーション法による学習処理を行う神経回路網シミュ
レータにおいて、前記要素プロセッサごとのレジスタ
(R)を有し、該レジスタを介して前記学習処理に必要
なデータの一部を外部から取り込み、それぞれの要素プ
ロセッサに与えることを特徴とする。
【0014】
【作用】本発明では、レジスタを介して与えられた外部
のホストコンピュータ等からのデータと、ローカルメモ
リに格納されたデータとに基づいて各要素プロセッサご
とに、バックプロパゲーション法による学習処理が同時
並行的に行われる。したがって、外部からのデータを例
えばニューラルネットワークの入・出力データ(すなわ
ち学習パターン)とすれば、ローカルメモリのデータ更
新を不要にでき、処理中断を回避できる。
のホストコンピュータ等からのデータと、ローカルメモ
リに格納されたデータとに基づいて各要素プロセッサご
とに、バックプロパゲーション法による学習処理が同時
並行的に行われる。したがって、外部からのデータを例
えばニューラルネットワークの入・出力データ(すなわ
ち学習パターン)とすれば、ローカルメモリのデータ更
新を不要にでき、処理中断を回避できる。
【0015】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1〜図43は本発明に係る神経回路網シミュレ
ータ装置の一実施例を示す図である。まず、構成を説明
する。図1において、PEは複数の要素プロセッサであ
り、これらの要素プロセッサは配線1、2、3によって
互いに接続され、リング網を構成している。それぞれの
プロセッサには、専用のローカルメモリLMとこれも専
用のレジスタRが接続され、ローカルメモリ内に格納さ
れたデータ、及び、レジスタRを介して外部の例えばホ
ストコンピュータから取り込まれたデータとに基づい
て、所定の演算処理を行うようになっている。なお、レ
ジスタRに繋がる外部のデータ供給源は、上記のホスト
コンピュータに限定されない。外付けの記憶装置(メモ
リや磁気ディスク等)であってもよい。
する。図1〜図43は本発明に係る神経回路網シミュレ
ータ装置の一実施例を示す図である。まず、構成を説明
する。図1において、PEは複数の要素プロセッサであ
り、これらの要素プロセッサは配線1、2、3によって
互いに接続され、リング網を構成している。それぞれの
プロセッサには、専用のローカルメモリLMとこれも専
用のレジスタRが接続され、ローカルメモリ内に格納さ
れたデータ、及び、レジスタRを介して外部の例えばホ
ストコンピュータから取り込まれたデータとに基づい
て、所定の演算処理を行うようになっている。なお、レ
ジスタRに繋がる外部のデータ供給源は、上記のホスト
コンピュータに限定されない。外付けの記憶装置(メモ
リや磁気ディスク等)であってもよい。
【0016】図2は、本実施例を適用するニューラルネ
ットワークの構造図である。ここでは、中間層が1層、
各層を構成するユニット数が入力層と中間層で各々6
個、出力層で3個の多層構造型ネットワークを考える。
要素プロセッサPEの数は、層数やユニット数を考慮し
て決めるが、ここでは、PE1からPE3までの3個とす
る。
ットワークの構造図である。ここでは、中間層が1層、
各層を構成するユニット数が入力層と中間層で各々6
個、出力層で3個の多層構造型ネットワークを考える。
要素プロセッサPEの数は、層数やユニット数を考慮し
て決めるが、ここでは、PE1からPE3までの3個とす
る。
【0017】それぞれの要素プロセッサPE1〜PE3の
受け持つ各層のユニットは、例えば、図2に示すよう
に、1番目の要素プロセッサPE1に入力層のユニット
IU1、IU2、中間層のユニットMU1、MU2及び出力
層のユニットOU1を割り当て、2番目の要素プロセッ
サPE2に入力層のユニットIU3、IU4、中間層のユ
ニットMU3、MU4及び出力層のユニットOU2を割り
当て、3番目の要素プロセッサPE3に入力層のユニッ
トIU5、IU6、中間層のユニットMU5、MU6及び出
力層のユニットOU3を割り当てる。なお、Vi (1)は入
力層のi番目のユニットの出力、Wij (1)は中間層のi
番目のユニットとそのユニットiに繋がる入力層のユニ
ットjの結合の重み、Vi (2)は中間層のi番目のユニッ
トの出力、Wij (2)は出力層のi番目のユニットとその
ユニットiに繋がる中間層のユニットjの結合の重み、
Vi (3)は出力層のi番目のユニットの出力を表してい
る。
受け持つ各層のユニットは、例えば、図2に示すよう
に、1番目の要素プロセッサPE1に入力層のユニット
IU1、IU2、中間層のユニットMU1、MU2及び出力
層のユニットOU1を割り当て、2番目の要素プロセッ
サPE2に入力層のユニットIU3、IU4、中間層のユ
ニットMU3、MU4及び出力層のユニットOU2を割り
当て、3番目の要素プロセッサPE3に入力層のユニッ
トIU5、IU6、中間層のユニットMU5、MU6及び出
力層のユニットOU3を割り当てる。なお、Vi (1)は入
力層のi番目のユニットの出力、Wij (1)は中間層のi
番目のユニットとそのユニットiに繋がる入力層のユニ
ットjの結合の重み、Vi (2)は中間層のi番目のユニッ
トの出力、Wij (2)は出力層のi番目のユニットとその
ユニットiに繋がる中間層のユニットjの結合の重み、
Vi (3)は出力層のi番目のユニットの出力を表してい
る。
【0018】図3は、要素プロセッサの一構成例であ
る。要素プロセッサは、バックプロパゲーション法の積
和演算を行うための乗算器10やALU(arithmetic a
nd logic unit)11、データを一時的に保持するワー
クレジスタ12〜14、シグモイド関数発生器15、ワ
ークレジスタや演算器等への入力を切り替えるマルチプ
レクサ16〜20、及びこれら全体を所定の演算シーケ
ンスに従って制御する制御回路21等を備える。
る。要素プロセッサは、バックプロパゲーション法の積
和演算を行うための乗算器10やALU(arithmetic a
nd logic unit)11、データを一時的に保持するワー
クレジスタ12〜14、シグモイド関数発生器15、ワ
ークレジスタや演算器等への入力を切り替えるマルチプ
レクサ16〜20、及びこれら全体を所定の演算シーケ
ンスに従って制御する制御回路21等を備える。
【0019】マルチプレクサ16やワークレジスタ1
3、14に繋がるデータバス22は、プロセッサ外に設
けられたレジスタR(R1、R2、R3)及びローカルメ
モリLM(LM1、LM2、LM3)に接続し、ローカル
メモリ(LM1、LM2、LM3)に予め格納されたユニ
ット間の結合の重みの初期値を所定のタイミングで取り
込んだり、または、修正された重みでローカルメモリの
内容を更新したり、あるいは、ホストコンピュータから
送られてきた所要のデータ(ネットワークの入力データ
や教師データ等)を外部レジスタRを介して取り込んだ
りしながら、以下に述べるバックプロパゲーション法に
必要な演算処理を実行する。なお、ワークレジスタと区
別するためにレジスタRを外部レジスタと呼ぶ。また、
要素プロセッサ中に記載した“2/u0”“η”“α”
“1”は以下の演算処理に必要な定数である。
3、14に繋がるデータバス22は、プロセッサ外に設
けられたレジスタR(R1、R2、R3)及びローカルメ
モリLM(LM1、LM2、LM3)に接続し、ローカル
メモリ(LM1、LM2、LM3)に予め格納されたユニ
ット間の結合の重みの初期値を所定のタイミングで取り
込んだり、または、修正された重みでローカルメモリの
内容を更新したり、あるいは、ホストコンピュータから
送られてきた所要のデータ(ネットワークの入力データ
や教師データ等)を外部レジスタRを介して取り込んだ
りしながら、以下に述べるバックプロパゲーション法に
必要な演算処理を実行する。なお、ワークレジスタと区
別するためにレジスタRを外部レジスタと呼ぶ。また、
要素プロセッサ中に記載した“2/u0”“η”“α”
“1”は以下の演算処理に必要な定数である。
【0020】次に、バックプロパゲーション法による学
習演算を概説する。演算の流れは、(イ)入力層から中
間層への前向き積和演算、(ロ)中間層ユニットのシグ
モイド関数演算、(ハ)中間層から出力層への前向き積
和演算、(ニ)出力層ユニットのシグモイド関数演算、
(ホ)出力層ユニットの誤差演算、(ヘ)出力層から中
間層への後ろ向き誤差伝搬演算、(ト)中間層ユニット
の誤差演算、(チ)重みの修正演算、の順で行われる。
以下、演算ごとに説明する。(イ)入力層から中間層への前向き積和演算 まず、左端の要素プロセッサPE1は1番目と2番目の
中間層ユニットMU1、MU2の演算を担当し、中央の要
素プロセッサPE2は3番目と4番目の中間層ユニット
MU3、MU4の演算を担当し、そして、右端の要素プロ
セッサPE3は5番目と6番目の中間層ユニットMU5、
MU6の演算を担当するが、初めにそれぞれ1番目、3
番目、5番目の中間層ユニットMU1、MU3、MU5の
演算を行った後、残りの2番目、4番目、6番目の中間
層ユニットMU2、MU4、MU6の演算を行う。
習演算を概説する。演算の流れは、(イ)入力層から中
間層への前向き積和演算、(ロ)中間層ユニットのシグ
モイド関数演算、(ハ)中間層から出力層への前向き積
和演算、(ニ)出力層ユニットのシグモイド関数演算、
(ホ)出力層ユニットの誤差演算、(ヘ)出力層から中
間層への後ろ向き誤差伝搬演算、(ト)中間層ユニット
の誤差演算、(チ)重みの修正演算、の順で行われる。
以下、演算ごとに説明する。(イ)入力層から中間層への前向き積和演算 まず、左端の要素プロセッサPE1は1番目と2番目の
中間層ユニットMU1、MU2の演算を担当し、中央の要
素プロセッサPE2は3番目と4番目の中間層ユニット
MU3、MU4の演算を担当し、そして、右端の要素プロ
セッサPE3は5番目と6番目の中間層ユニットMU5、
MU6の演算を担当するが、初めにそれぞれ1番目、3
番目、5番目の中間層ユニットMU1、MU3、MU5の
演算を行った後、残りの2番目、4番目、6番目の中間
層ユニットMU2、MU4、MU6の演算を行う。
【0021】すなわち、最初は、図4〜図6に示すよう
に、ホストコンピュータから、5番目、3番目、1番目
の入力層ユニットIU5、IU3、IU1の各出力(V5
(1)、V3 (1)、V1 (1))を3個の外部レジスタR1、
R2、R3に順次に取り込む。3つ目のデータ(V1 (1))
を取り込んだ段階(図6)で、左端の外部レジスタR1
にV1 (1)が、中央の外部レジスタR2にV3 (1)が、そし
て、右端の外部レジスタR3にV5 (1)が保持される。
に、ホストコンピュータから、5番目、3番目、1番目
の入力層ユニットIU5、IU3、IU1の各出力(V5
(1)、V3 (1)、V1 (1))を3個の外部レジスタR1、
R2、R3に順次に取り込む。3つ目のデータ(V1 (1))
を取り込んだ段階(図6)で、左端の外部レジスタR1
にV1 (1)が、中央の外部レジスタR2にV3 (1)が、そし
て、右端の外部レジスタR3にV5 (1)が保持される。
【0022】次いで、図7に示すように、これらの保持
データ(V5 (1)、V3 (1)、V1 (1))をそれぞれの要素プ
ロセッサPE1、PE2、PE3にロードし、これと同時
に、6番目の入力層ユニットIU6の出力データV6 (1)
をホストコンピュータから取り込む。すなわち、5番
目、3番目、1番目の入力層ユニットIU5、IU3、I
U1の出力データV5 (1)、V3 (1)、V1 (1)に続けて、6
番目の入力層ユニットIU6の出力データV6 (1)を取り
込むことができる。
データ(V5 (1)、V3 (1)、V1 (1))をそれぞれの要素プ
ロセッサPE1、PE2、PE3にロードし、これと同時
に、6番目の入力層ユニットIU6の出力データV6 (1)
をホストコンピュータから取り込む。すなわち、5番
目、3番目、1番目の入力層ユニットIU5、IU3、I
U1の出力データV5 (1)、V3 (1)、V1 (1)に続けて、6
番目の入力層ユニットIU6の出力データV6 (1)を取り
込むことができる。
【0023】左端の要素プロセッサPE1は、ロードさ
れたV1 (1)とローカルメモリLM1から取り出した重み
の初期値W11 (1)との積u1 (2)を求め、中央の要素プロ
セッサPE2は、ロードされたV3 (1)とローカルメモリ
LM2から取り出した重みの初期値W33 (1)との積u3 (2)
を求め、そして、右端の要素プロセッサPE3は、ロー
ドされたV5 (1)とローカルメモリLM5から取り出した
重みの初期値W55 (1)との積u5 (2)を求める。
れたV1 (1)とローカルメモリLM1から取り出した重み
の初期値W11 (1)との積u1 (2)を求め、中央の要素プロ
セッサPE2は、ロードされたV3 (1)とローカルメモリ
LM2から取り出した重みの初期値W33 (1)との積u3 (2)
を求め、そして、右端の要素プロセッサPE3は、ロー
ドされたV5 (1)とローカルメモリLM5から取り出した
重みの初期値W55 (1)との積u5 (2)を求める。
【0024】次に、図8に示すように、左端の要素プロ
セッサPE1から中央の要素プロセッサPE2へ、中央の
要素プロセッサPE2から右端の要素プロセッサPE
3へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V1 (1)、V3 (1)、V5 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W15 (1)、W3 1 (1)、W53 (1)との積を求め、
先ほどの加算結果u1 (2)、u3 (2)、u5 (2)に加算する
(新たな加算結果:u1 (2)a、u3 (2)a、u5 (2)a)。こ
のとき、中央の外部レジスタR2にV6 (1)が移動すると
共に、同時に、左端の外部レジスタR1には4番目の入
力層ユニットIU4の出力データV4 (1)が取り込まれ
る。
セッサPE1から中央の要素プロセッサPE2へ、中央の
要素プロセッサPE2から右端の要素プロセッサPE
3へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V1 (1)、V3 (1)、V5 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W15 (1)、W3 1 (1)、W53 (1)との積を求め、
先ほどの加算結果u1 (2)、u3 (2)、u5 (2)に加算する
(新たな加算結果:u1 (2)a、u3 (2)a、u5 (2)a)。こ
のとき、中央の外部レジスタR2にV6 (1)が移動すると
共に、同時に、左端の外部レジスタR1には4番目の入
力層ユニットIU4の出力データV4 (1)が取り込まれ
る。
【0025】次に、図9に示すように、左端の要素プロ
セッサPE1から中央の要素プロセッサPE2へ、中央の
要素プロセッサPE2から右端の要素プロセッサPE
3へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V1 (1)、V3 (1)、V5 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W13 (1)、W3 5 (1)、W51 (1)との積を求め、
先ほどの加算結果u1 (2)a、u3 (2)a、u5 (2)aに加算す
る(新たな加算結果:u1 (2)b、u3 (2)b、u5 (2)b)。
このとき、右端の外部レジスタR3にV6 (1)が移動する
と共に、中央の外部レジスタR2にV4 (1)が移動し、ま
た、左端の外部レジスタR1には2番目の入力層ユニッ
トIU2の出力データV2 (1)が取り込まれる。
セッサPE1から中央の要素プロセッサPE2へ、中央の
要素プロセッサPE2から右端の要素プロセッサPE
3へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V1 (1)、V3 (1)、V5 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W13 (1)、W3 5 (1)、W51 (1)との積を求め、
先ほどの加算結果u1 (2)a、u3 (2)a、u5 (2)aに加算す
る(新たな加算結果:u1 (2)b、u3 (2)b、u5 (2)b)。
このとき、右端の外部レジスタR3にV6 (1)が移動する
と共に、中央の外部レジスタR2にV4 (1)が移動し、ま
た、左端の外部レジスタR1には2番目の入力層ユニッ
トIU2の出力データV2 (1)が取り込まれる。
【0026】次に、図10に示すように、外部レジスタ
R1、R2、R3の内容(V6 (1)、V2 (1)、V4 (1))を要
素プロセッサPE1、PE2、PE3にロードし、ローカ
ルメモリから取り出した重みの初期値W12 (1)、
W34 (1)、W56 (1)との積を求め、先ほどの加算結果u1
(2)b、u3 (2)b、u5 (2)bに加算する(加算結果:u1
(2)c、u3 ( 2)c、u5 (2)c)。
R1、R2、R3の内容(V6 (1)、V2 (1)、V4 (1))を要
素プロセッサPE1、PE2、PE3にロードし、ローカ
ルメモリから取り出した重みの初期値W12 (1)、
W34 (1)、W56 (1)との積を求め、先ほどの加算結果u1
(2)b、u3 (2)b、u5 (2)bに加算する(加算結果:u1
(2)c、u3 ( 2)c、u5 (2)c)。
【0027】次に、図11に示すように、左端の要素プ
ロセッサPE1から中央の要素プロセッサPE2へ、中央
の要素プロセッサPE2から右端の要素プロセッサPE3
へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V2 (1)、V4 (1)、V6 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W16 (1)、W32 (1)、W54 (1)との積を求め、
先ほどの加算結果u1 (2)c、u3 (2)c、u5 (2)cに加算す
る(新たな加算結果:u1 (2)d、u3 (2)d、u5 (2)d)。
ロセッサPE1から中央の要素プロセッサPE2へ、中央
の要素プロセッサPE2から右端の要素プロセッサPE3
へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V2 (1)、V4 (1)、V6 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W16 (1)、W32 (1)、W54 (1)との積を求め、
先ほどの加算結果u1 (2)c、u3 (2)c、u5 (2)cに加算す
る(新たな加算結果:u1 (2)d、u3 (2)d、u5 (2)d)。
【0028】次に、図12に示すように、左端の要素プ
ロセッサPE1から中央の要素プロセッサPE2へ、中央
の要素プロセッサPE2から右端の要素プロセッサPE3
へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V2 (1)、V4 (1)、V6 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W14 (1)、W36 (1)、W52 (1)との積を求め、
先ほどの加算結果u1 (2)d、u3 (2)d、u5 (2)dに加算す
る(新たな加算結果:u1 (2)e、u3 (2)e、u5 (2)e)。
ロセッサPE1から中央の要素プロセッサPE2へ、中央
の要素プロセッサPE2から右端の要素プロセッサPE3
へ、そして、右端の要素プロセッサPE3から左端の要
素プロセッサPE1へとそれぞれの要素プロセッサで使
用した入力データ(V2 (1)、V4 (1)、V6 (1))をシフト
し、シフトされた値とローカルメモリから取り出した重
みの初期値W14 (1)、W36 (1)、W52 (1)との積を求め、
先ほどの加算結果u1 (2)d、u3 (2)d、u5 (2)dに加算す
る(新たな加算結果:u1 (2)e、u3 (2)e、u5 (2)e)。
【0029】以上で1番目、3番目、5番目の中間層ユ
ニットMU1、MU3、MU5の演算が完了し、最後に求
められた加算結果u1 (2)e、u3 (2)e、u5 (2)eすなわち
入力層ユニットの加重和をローカルメモリLM1、L
M2、LM3に格納(図13参照)した後、上記のステッ
プと同様な手順を繰り返して残りの2番目、4番目、6
番目の中間層ユニットMU2、MU4、MU6の演算を行
い、最後に求められた加算結果u2 (2)e、u4 (2)e、u6
(2)eすなわち入力層ユニットの加重和を同じくローカル
メモリLM1、LM2、LM3に格納(図14参照)す
る。(ロ)中間層ユニットのシグモイド関数演算 上述した(イ)で求めた入力層ユニットの加重和(u1
(2)、u2 (2)、u3 (2)、u4 (2)、u5 (2)、u6 (2))を2
回に分けてローカルメモリLM1、LM2、LM3から読
み出し、それぞれの要素プロセッサPE1、PE2、PE
3において、シグモイド関数fを施してその結果(V1
(2)、V2 (2)、V3 (2)、V4 (2)、V5 (2)、V 6 (2))を再
びローカルメモリLM1、LM2、LM3に書き込む(図
15、図16参照)。(ハ)(ニ)中間層から出力層への前向き積和演算及び
出力層ユニットのシグモイド関数演算 前述の(イ)と同様な処理を行うが、(イ)では入力層
ユニットの出力データをホストコンピュータからロード
したのに対して、ここでは、中間層ユニットの出力デー
タをローカルメモリLM1、LM2、LM3からロードす
る。すなわち、要素プロセッサPE1、PE2、PE3に
おいて、中間層ユニットの出力データをローカルメモリ
LM1、LM2、LM3から読み込んで加重和をとり、さ
らにシグモイド関数fを施してその結果(V1 (3)、V2
(3)、V3 (3))をローカルメモリLM1、LM2、LM3に
書き込む(図18参照)。(ホ)出力層ユニットの誤差演算 まず、図19に示すように、左端の外部レジスタR1に
3番目の出力層ユニットへの教師データt3をロード
し、次のサイクルで、図20に示すように、t3を中央
の外部レジスタR2に転送すると共に、左端の外部レジ
スタR1に2番目の出力層ユニットへの教師データt2を
ロードし、さらに次のサイクルで、図21に示すよう
に、t3を右端の外部レジスタR1に、t2を中央の外部
レジスタR2に転送すると共に、左端の外部レジスタR1
に1番目の出力層ユニットへの教師データt1をロード
する。
ニットMU1、MU3、MU5の演算が完了し、最後に求
められた加算結果u1 (2)e、u3 (2)e、u5 (2)eすなわち
入力層ユニットの加重和をローカルメモリLM1、L
M2、LM3に格納(図13参照)した後、上記のステッ
プと同様な手順を繰り返して残りの2番目、4番目、6
番目の中間層ユニットMU2、MU4、MU6の演算を行
い、最後に求められた加算結果u2 (2)e、u4 (2)e、u6
(2)eすなわち入力層ユニットの加重和を同じくローカル
メモリLM1、LM2、LM3に格納(図14参照)す
る。(ロ)中間層ユニットのシグモイド関数演算 上述した(イ)で求めた入力層ユニットの加重和(u1
(2)、u2 (2)、u3 (2)、u4 (2)、u5 (2)、u6 (2))を2
回に分けてローカルメモリLM1、LM2、LM3から読
み出し、それぞれの要素プロセッサPE1、PE2、PE
3において、シグモイド関数fを施してその結果(V1
(2)、V2 (2)、V3 (2)、V4 (2)、V5 (2)、V 6 (2))を再
びローカルメモリLM1、LM2、LM3に書き込む(図
15、図16参照)。(ハ)(ニ)中間層から出力層への前向き積和演算及び
出力層ユニットのシグモイド関数演算 前述の(イ)と同様な処理を行うが、(イ)では入力層
ユニットの出力データをホストコンピュータからロード
したのに対して、ここでは、中間層ユニットの出力デー
タをローカルメモリLM1、LM2、LM3からロードす
る。すなわち、要素プロセッサPE1、PE2、PE3に
おいて、中間層ユニットの出力データをローカルメモリ
LM1、LM2、LM3から読み込んで加重和をとり、さ
らにシグモイド関数fを施してその結果(V1 (3)、V2
(3)、V3 (3))をローカルメモリLM1、LM2、LM3に
書き込む(図18参照)。(ホ)出力層ユニットの誤差演算 まず、図19に示すように、左端の外部レジスタR1に
3番目の出力層ユニットへの教師データt3をロード
し、次のサイクルで、図20に示すように、t3を中央
の外部レジスタR2に転送すると共に、左端の外部レジ
スタR1に2番目の出力層ユニットへの教師データt2を
ロードし、さらに次のサイクルで、図21に示すよう
に、t3を右端の外部レジスタR1に、t2を中央の外部
レジスタR2に転送すると共に、左端の外部レジスタR1
に1番目の出力層ユニットへの教師データt1をロード
する。
【0030】次いで、図22に示すように、要素プロセ
ッサPE1、PE2、PE3に教師データt1、t2、t3を
ロードすると共に、ローカルメモリLM1、LM2、LM
3から前述の(ハ)(ニ)で求めた出力層ユニットの出
力データ(V1 (3)、V2 (3)、V3 (3))をロードし、前式
を適用して出力層ユニットの誤差(δ1 (3)、δ2 (3)、
δ3 (3))を演算し、その結果をローカルメモリLM1、
LM2、LM3に書き出す(図23参照)。(ヘ)出力層から中間層への後ろ向き誤差伝搬演算 ここでは、前式右辺の積和の項の演算を行う。最初
は、各要素プロセッサPE1、PE2、PE3はそれぞれ
1番目、3番目、5番目の中間層ユニットMU1、M
U3、MU5の計算を行う。まず、ローカルメモリL
M1、LM2、LM3から出力層ユニットOU1、OU2、
OU3の誤差δ1 (3)、δ2 (3)、δ3 (3)と、それに対応す
る重みデータW11 (2)、W23 (2)、W35 (2)を読み込み、
その積δ1 (2)a、δ3 ( 2)a、δ5 (2)aを求める(図24参
照)。ここでは、前向きの積和演算と異なり、計算され
た積を右隣の要素プロセッサに転送する。中央の要素プ
ロセッサPE2には、1番目の中間層ユニットMU1の途
中のデータδ1 (2)aが送られてくるが、中央の要素プロ
セッサPE2は、ローカルメモリLM2から1番目の中間
層ユニットMU1と2番目の出力層ユニットOU2との間
の重みデータW21 (2)を読み込み、2番目の出力層ユニ
ットOU2の誤差δ2 (3)との積を求め、送られてきたデ
ータδ1 (2)aに加算する(図25参照)。そして、その
加算結果δ1 (2)bを、さらに右隣の要素プロセッサPE3
に転送する。
ッサPE1、PE2、PE3に教師データt1、t2、t3を
ロードすると共に、ローカルメモリLM1、LM2、LM
3から前述の(ハ)(ニ)で求めた出力層ユニットの出
力データ(V1 (3)、V2 (3)、V3 (3))をロードし、前式
を適用して出力層ユニットの誤差(δ1 (3)、δ2 (3)、
δ3 (3))を演算し、その結果をローカルメモリLM1、
LM2、LM3に書き出す(図23参照)。(ヘ)出力層から中間層への後ろ向き誤差伝搬演算 ここでは、前式右辺の積和の項の演算を行う。最初
は、各要素プロセッサPE1、PE2、PE3はそれぞれ
1番目、3番目、5番目の中間層ユニットMU1、M
U3、MU5の計算を行う。まず、ローカルメモリL
M1、LM2、LM3から出力層ユニットOU1、OU2、
OU3の誤差δ1 (3)、δ2 (3)、δ3 (3)と、それに対応す
る重みデータW11 (2)、W23 (2)、W35 (2)を読み込み、
その積δ1 (2)a、δ3 ( 2)a、δ5 (2)aを求める(図24参
照)。ここでは、前向きの積和演算と異なり、計算され
た積を右隣の要素プロセッサに転送する。中央の要素プ
ロセッサPE2には、1番目の中間層ユニットMU1の途
中のデータδ1 (2)aが送られてくるが、中央の要素プロ
セッサPE2は、ローカルメモリLM2から1番目の中間
層ユニットMU1と2番目の出力層ユニットOU2との間
の重みデータW21 (2)を読み込み、2番目の出力層ユニ
ットOU2の誤差δ2 (3)との積を求め、送られてきたデ
ータδ1 (2)aに加算する(図25参照)。そして、その
加算結果δ1 (2)bを、さらに右隣の要素プロセッサPE3
に転送する。
【0031】右端の要素プロセッサPE3には、1番目
の中間層ユニットMU1の途中のデータδ1 (2)aが送られ
てくるが、左端の要素プロセッサPE3は、ローカルメ
モリLM3から1番目の中間層ユニットMU1と3番目の
出力層ユニットOU3との間の重みデータW31 (2)を読み
込み、3番目の出力層ユニットOU3の誤差δ3 (3)との
積を求め、送られてきたデータδ1 (2)aに加算する(図
26参照)。これにより、右端の要素プロセッサPE3
で1番目の中間層ユニットMU1に対応する前式(7)
右辺の積和の項の演算結果が得られたことになる。同様
に、左端の要素プロセッサPE1では3番目の中間層ユ
ニットMU3に対応する積和結果δ3 (2)bが、中央の要素
プロセッサPE2では5番目の中間層ユニットMU5に対
応する積和結果δ5 (2)bが得られる。次に、その結果を
右隣の要素プロセッサに転送し、その要素プロセッサの
ローカルメモリに書き込む(図27参照)。同様にし
て、残りの中間層ユニットMU2、MU4、MU6の計算
を行い、その結果δ2 (2)b、δ4 (2) b、δ6 (2)bをローカ
ルメモリに書き込む(図28参照)。(ト)中間層ユニットの誤差演算 ローカルメモリから中間層ユニットの出力値Vj (2)と、
前述の(ヘ)で求めたその中間層ユニットの後ろ向きの
積和演算結果δj (2)bを読み込み、前式を適用して中
間層ユニットの誤差δj (2)を計算し、その結果δ1 (2)、
δ2 (2)、δ3 (2)、δ4 (2)、δ5 (2)、δ6 (2)を再びローカ
ルメモリLM1、LM2、LM3に書き込む(図29〜図
31参照)。(チ)重みの修正演算 最初に、入力層と中間層の間の重み修正を行う。まず、
それぞれの外部レジスタR1、R2、R3に、各要素プロ
セッサが受け持つ入力層ユニットのうちの1番目、3番
目、5番目のユニットの出力V1 (1)、V3 (1)、V5 (1)を
ホストコンピュータから受け取り順次にロードする(図
32〜図34参照)。
の中間層ユニットMU1の途中のデータδ1 (2)aが送られ
てくるが、左端の要素プロセッサPE3は、ローカルメ
モリLM3から1番目の中間層ユニットMU1と3番目の
出力層ユニットOU3との間の重みデータW31 (2)を読み
込み、3番目の出力層ユニットOU3の誤差δ3 (3)との
積を求め、送られてきたデータδ1 (2)aに加算する(図
26参照)。これにより、右端の要素プロセッサPE3
で1番目の中間層ユニットMU1に対応する前式(7)
右辺の積和の項の演算結果が得られたことになる。同様
に、左端の要素プロセッサPE1では3番目の中間層ユ
ニットMU3に対応する積和結果δ3 (2)bが、中央の要素
プロセッサPE2では5番目の中間層ユニットMU5に対
応する積和結果δ5 (2)bが得られる。次に、その結果を
右隣の要素プロセッサに転送し、その要素プロセッサの
ローカルメモリに書き込む(図27参照)。同様にし
て、残りの中間層ユニットMU2、MU4、MU6の計算
を行い、その結果δ2 (2)b、δ4 (2) b、δ6 (2)bをローカ
ルメモリに書き込む(図28参照)。(ト)中間層ユニットの誤差演算 ローカルメモリから中間層ユニットの出力値Vj (2)と、
前述の(ヘ)で求めたその中間層ユニットの後ろ向きの
積和演算結果δj (2)bを読み込み、前式を適用して中
間層ユニットの誤差δj (2)を計算し、その結果δ1 (2)、
δ2 (2)、δ3 (2)、δ4 (2)、δ5 (2)、δ6 (2)を再びローカ
ルメモリLM1、LM2、LM3に書き込む(図29〜図
31参照)。(チ)重みの修正演算 最初に、入力層と中間層の間の重み修正を行う。まず、
それぞれの外部レジスタR1、R2、R3に、各要素プロ
セッサが受け持つ入力層ユニットのうちの1番目、3番
目、5番目のユニットの出力V1 (1)、V3 (1)、V5 (1)を
ホストコンピュータから受け取り順次にロードする(図
32〜図34参照)。
【0032】次に、各要素プロセッサに外部レジスタの
内容をロードすると共に、対応するローカルメモリか
ら、中間層ユニットの誤差δ1 (2)、前回の重み修正量Δ
Wij (1 )及び重みWij (1)を読み出し、前式及びを適
用して新しい重みの修正量ΔW ij (1)と重みWij (1)を求
める(図35参照)。結果はローカルメモリに書き出す
(図36参照)。このとき、左端の外部レジスタR1に
は、次の計算のための6番目の入力層ユニットの出力V
6 (1)がロードされる。
内容をロードすると共に、対応するローカルメモリか
ら、中間層ユニットの誤差δ1 (2)、前回の重み修正量Δ
Wij (1 )及び重みWij (1)を読み出し、前式及びを適
用して新しい重みの修正量ΔW ij (1)と重みWij (1)を求
める(図35参照)。結果はローカルメモリに書き出す
(図36参照)。このとき、左端の外部レジスタR1に
は、次の計算のための6番目の入力層ユニットの出力V
6 (1)がロードされる。
【0033】次に、1番目、3番目、5番目の入力層ユ
ニットの出力V1 (1)、V3 (1)、V5 ( 1)を右隣の要素プロ
セッサに転送すると共に、ローカルメモリから、重みの
修正量ΔW15 (1)、ΔW31 (1)、ΔW53 (1)と重み
W15 (1)、W31 (1)、W53 (1)を読み出し、上記と同様
に、新しい重みの修正量ΔW15 (1)、ΔW31 (1)、ΔW53
(1)と重みW15 (1)、W31 (1)、W53 (1)を求める(図37
参照)。結果はローカルメモリに書き出す(図38参
照)。このとき、中央の外部レジスタR2にV6 (1)が移
り、左端の外部レジスタR1には、次の計算のための4
番目の入力層ユニットの出力V4 (1)がロードされる。
ニットの出力V1 (1)、V3 (1)、V5 ( 1)を右隣の要素プロ
セッサに転送すると共に、ローカルメモリから、重みの
修正量ΔW15 (1)、ΔW31 (1)、ΔW53 (1)と重み
W15 (1)、W31 (1)、W53 (1)を読み出し、上記と同様
に、新しい重みの修正量ΔW15 (1)、ΔW31 (1)、ΔW53
(1)と重みW15 (1)、W31 (1)、W53 (1)を求める(図37
参照)。結果はローカルメモリに書き出す(図38参
照)。このとき、中央の外部レジスタR2にV6 (1)が移
り、左端の外部レジスタR1には、次の計算のための4
番目の入力層ユニットの出力V4 (1)がロードされる。
【0034】次に、1番目、3番目、5番目の入力層ユ
ニットの出力V1 (1)、V3 (1)、V5 ( 1)を再び右隣の要素
プロセッサに転送すると共に、ローカルメモリから、重
みの修正量ΔW13 (1)、ΔW35 (1)、ΔW51 (1)と重みW
13 (1)、W35 (1)、W51 (1)を読み出し、上記と同様に、
新しい重みの修正量ΔW13 (1)、ΔW35 (1)、ΔW51 (1)
と重みW13 (1)、W35 (1)、W51 (1)を求める(図39参
照)。結果はローカルメモリに書き出す(図40参
照)。このとき、右端の外部レジスタR3にV6 (1)が移
ると共に、中央の外部レジスタR2にV4 (1)が移り、左
端の外部レジスタR1には、次の計算のための2番目の
入力層ユニットの出力V2 (1)がロードされる。
ニットの出力V1 (1)、V3 (1)、V5 ( 1)を再び右隣の要素
プロセッサに転送すると共に、ローカルメモリから、重
みの修正量ΔW13 (1)、ΔW35 (1)、ΔW51 (1)と重みW
13 (1)、W35 (1)、W51 (1)を読み出し、上記と同様に、
新しい重みの修正量ΔW13 (1)、ΔW35 (1)、ΔW51 (1)
と重みW13 (1)、W35 (1)、W51 (1)を求める(図39参
照)。結果はローカルメモリに書き出す(図40参
照)。このとき、右端の外部レジスタR3にV6 (1)が移
ると共に、中央の外部レジスタR2にV4 (1)が移り、左
端の外部レジスタR1には、次の計算のための2番目の
入力層ユニットの出力V2 (1)がロードされる。
【0035】次に、各要素プロセッサにおいて、2番
目、4番目、6番目の入力層ユニットと1番目、3番
目、5番目の中間層ユニットとの間の結合の重み及びそ
の修正量を、入力層ユニットの出力を転送することによ
って更新する。また同時に、各外部レジスタR1、R2、
R3に再び1番目、3番目、5番目の入力層ユニットの
出力V1 (1)、V3 (1)、V5 (1)をロードしておく(図41
参照)。そして、同様に、1番目、3番目、5番目の入
力層ユニットと2番目、4番目、6番目の中間層ユニッ
トとの間の結合の重み及びその修正量を更新し、さら
に、2番目、4番目、6番目の入力層ユニットと2番
目、4番目、6番目の中間層ユニットとの間の結合の重
み及びその修正量を更新する(図42、図43参照)。
目、4番目、6番目の入力層ユニットと1番目、3番
目、5番目の中間層ユニットとの間の結合の重み及びそ
の修正量を、入力層ユニットの出力を転送することによ
って更新する。また同時に、各外部レジスタR1、R2、
R3に再び1番目、3番目、5番目の入力層ユニットの
出力V1 (1)、V3 (1)、V5 (1)をロードしておく(図41
参照)。そして、同様に、1番目、3番目、5番目の入
力層ユニットと2番目、4番目、6番目の中間層ユニッ
トとの間の結合の重み及びその修正量を更新し、さら
に、2番目、4番目、6番目の入力層ユニットと2番
目、4番目、6番目の中間層ユニットとの間の結合の重
み及びその修正量を更新する(図42、図43参照)。
【0036】そして、残りの中間層、出力層の全ての結
合の重みとその修正量を計算(但し、中間層ユニットの
出力はローカルメモリから読み出す)し、その計算結果
をローカルメモリに書き出して1回の学習処理を完了す
る。以上述べたように、本実施例では、ホストコンピュ
ータと各要素プロセッサPE1、PE2、PE3の間に外
部レジスタR1、R2、R3を介在させ、この外部レジス
タR1、R2、R3を介して、バックプロパゲーション法
に必要な演算パラメータの一部(例えば、入力データや
教師データ)をその都度外部から与えるようにしてい
る。したがって、ローカルメモリLM1、LM2、LM3
には、重みデータやその修正量、及び積和演算結果等の
変数データだけを格納すればよく、学習パターン数に比
例して容量が増大する入力データや教師データ等をシミ
ュレーション装置の外部に置くことができ、ローカルメ
モリを格段に小容量化することができる。
合の重みとその修正量を計算(但し、中間層ユニットの
出力はローカルメモリから読み出す)し、その計算結果
をローカルメモリに書き出して1回の学習処理を完了す
る。以上述べたように、本実施例では、ホストコンピュ
ータと各要素プロセッサPE1、PE2、PE3の間に外
部レジスタR1、R2、R3を介在させ、この外部レジス
タR1、R2、R3を介して、バックプロパゲーション法
に必要な演算パラメータの一部(例えば、入力データや
教師データ)をその都度外部から与えるようにしてい
る。したがって、ローカルメモリLM1、LM2、LM3
には、重みデータやその修正量、及び積和演算結果等の
変数データだけを格納すればよく、学習パターン数に比
例して容量が増大する入力データや教師データ等をシミ
ュレーション装置の外部に置くことができ、ローカルメ
モリを格段に小容量化することができる。
【0037】また、外部レジスタR1、R2、R3へのデ
ータロードは、要素プロセッサPE1、PE2、PE3の
処理と同時並行的に行うことができるので、データの取
り込みに伴う処理のロスタイムはなく、しかも、入力デ
ータや教師データを連続的に与えることができるので、
処理の継続性を高めることができ、全体の処理速度を向
上することができる。
ータロードは、要素プロセッサPE1、PE2、PE3の
処理と同時並行的に行うことができるので、データの取
り込みに伴う処理のロスタイムはなく、しかも、入力デ
ータや教師データを連続的に与えることができるので、
処理の継続性を高めることができ、全体の処理速度を向
上することができる。
【0038】なお、実施例では、前向きの積和演算処理
と重みの更新処理の双方で、入力層ユニットの出力デー
タをホストコンピュータから与えているが、これに限ら
ず、例えば、前向きの積和演算処理のときにロードした
入力層ユニットの出力データを要素プロセッサ内のメモ
リ等に保持しておき、重み更新処理の際にこれを読み出
して使用してもよい。改めてロードし直す必要がないの
でより高速化を図ることができる。
と重みの更新処理の双方で、入力層ユニットの出力デー
タをホストコンピュータから与えているが、これに限ら
ず、例えば、前向きの積和演算処理のときにロードした
入力層ユニットの出力データを要素プロセッサ内のメモ
リ等に保持しておき、重み更新処理の際にこれを読み出
して使用してもよい。改めてロードし直す必要がないの
でより高速化を図ることができる。
【0039】また、本実施例では、一次元リング網を用
いた並列計算方式のシミュレーション装置の改善技術を
示しているが、複数のリング網を用いたものにも適用で
きることはもちろんである。さらに、要素プロセッサの
構成も図3に示したものに限定されず、例えば複数の演
算器を含む要素プロセッサであってもよく、あるいはシ
グモイド関数器を外付けしたタイプであってもよい。さ
らにまた、外部レジスタを内蔵するものであってもよ
い。
いた並列計算方式のシミュレーション装置の改善技術を
示しているが、複数のリング網を用いたものにも適用で
きることはもちろんである。さらに、要素プロセッサの
構成も図3に示したものに限定されず、例えば複数の演
算器を含む要素プロセッサであってもよく、あるいはシ
グモイド関数器を外付けしたタイプであってもよい。さ
らにまた、外部レジスタを内蔵するものであってもよ
い。
【0040】
【発明の効果】本発明によれば、ローカルメモリを小容
量化でき、且つ、学習パターン数が多い場合でも処理を
中断しない神経回路網シミュレータ装置を提供できる。
量化でき、且つ、学習パターン数が多い場合でも処理を
中断しない神経回路網シミュレータ装置を提供できる。
【図1】本発明の原理図である。
【図2】一実施例の要素プロセッサへのユニット割り当
て図である。
て図である。
【図3】一実施例の要素プロセッサの構成図である。
【図4】一実施例のV5 (1)のロード状態図である。
【図5】一実施例のV3 (1)のロード状態図である。
【図6】一実施例のV1 (1)のロード状態図である。
【図7】一実施例のu1 (2)、u3 (2)及びu5 (2)の演算状
態図である。
態図である。
【図8】一実施例のu1 (2)a、u3 (2)a及びu5 (2)aの演
算状態図である。
算状態図である。
【図9】一実施例のu1 (2)b、u3 (2)b及びu5 (2)bの演
算状態図である。
算状態図である。
【図10】一実施例のu1 (2)c、u3 (2)c及びu5 (2)cの
演算状態図である。
演算状態図である。
【図11】一実施例のu1 (2)d、u3 (2)d及びu5 (2)dの
演算状態図である。
演算状態図である。
【図12】一実施例のu1 (2)e、u3 (2)e及びu5 (2)eの
演算状態図である。
演算状態図である。
【図13】一実施例のu1 (2)e、u3 (2)e及びu5 (2)eの
格納状態図である。
格納状態図である。
【図14】一実施例のu2 (2)e、u4 (2)e及びu6 (2)eの
格納状態図である。
格納状態図である。
【図15】一実施例のV1 (2)、V3 (2)及びV5 (2)の演算
状態図である。
状態図である。
【図16】一実施例のV1 (2)、V3 (2)及びV5 (2)の格納
状態図である。
状態図である。
【図17】一実施例のV2 (2)、V4 (2)及びV6 (2)の格納
状態図である。
状態図である。
【図18】一実施例のV1 (3)、V2 (3)及びV3 (3)の格納
状態図である。
状態図である。
【図19】一実施例のt3のロード状態図である。
【図20】一実施例のt2のロード状態図である。
【図21】一実施例のt1のロード状態図である。
【図22】一実施例のδ1 (3)、δ2 (3)及びδ3 (3)の演算
状態図である。
状態図である。
【図23】一実施例のδ1 (3)、δ2 (3)及びδ3 (3)の格納
状態図である。
状態図である。
【図24】一実施例のδ1 (2)a、δ3 (2)a及びδ5 (2)aの
演算状態図である。
演算状態図である。
【図25】一実施例のδ5 (2)b、δ1 (2)b及びδ3 (2)bの
演算状態図である。
演算状態図である。
【図26】一実施例のδ3 (2)b、δ5 (2)b及びδ1 (2)bの
演算状態図である。
演算状態図である。
【図27】一実施例のδ1 (2)b、δ3 (2)b及びδ5 (2)bの
格納状態図である。
格納状態図である。
【図28】一実施例のδ2 (2)b、δ4 (2)b及びδ6 (2)bの
格納状態図である。
格納状態図である。
【図29】一実施例のδ1 (2)、δ3 (2)及びδ5 (2)の演算
状態図である。
状態図である。
【図30】一実施例のδ1 (2)、δ3 (2)及びδ5 (2)の格納
状態図である。
状態図である。
【図31】一実施例のδ2 (2)、δ4 (2)及びδ6 (2)の格納
状態図である。
状態図である。
【図32】一実施例のV5 (1)のロード状態図である。
【図33】一実施例のV3 (1)のロード状態図である。
【図34】一実施例のV1 (1)のロード状態図である。
【図35】一実施例のΔW11 (1)、W11 (1)、Δ
W33 (1)、W33 (1)、ΔW55 (1)及びW55 (1)の演算状態図
である。
W33 (1)、W33 (1)、ΔW55 (1)及びW55 (1)の演算状態図
である。
【図36】一実施例のΔW11 (1)、W11 (1)、Δ
W33 (1)、W33 (1)、ΔW55 (1)及びW55 (1)の格納状態図
である。
W33 (1)、W33 (1)、ΔW55 (1)及びW55 (1)の格納状態図
である。
【図37】一実施例のΔW15 (1)、W15 (1)、Δ
W31 (1)、W31 (1)、ΔW53 (1)及びW53 (1)の演算状態図
である。
W31 (1)、W31 (1)、ΔW53 (1)及びW53 (1)の演算状態図
である。
【図38】一実施例のΔW15 (1)、W15 (1)、Δ
W31 (1)、W31 (1)、ΔW53 (1)及びW53 (1)の格納状態図
である。
W31 (1)、W31 (1)、ΔW53 (1)及びW53 (1)の格納状態図
である。
【図39】一実施例のΔW13 (1)、W13 (1)、Δ
W35 (1)、W35 (1)、ΔW51 (1)及びW51 (1)の演算状態図
である。
W35 (1)、W35 (1)、ΔW51 (1)及びW51 (1)の演算状態図
である。
【図40】一実施例のΔW13 (1)、W13 (1)、Δ
W35 (1)、W35 (1)、ΔW51 (1)及びW51 (1)の格納状態図
である。
W35 (1)、W35 (1)、ΔW51 (1)及びW51 (1)の格納状態図
である。
【図41】一実施例のΔW14 (1)、W14 (1)、Δ
W36 (1)、W36 (1)、ΔW52 (1)及びW52 (1)の格納状態図
である。
W36 (1)、W36 (1)、ΔW52 (1)及びW52 (1)の格納状態図
である。
【図42】一実施例のΔW23 (1)、W23 (1)、Δ
W45 (1)、W45 (1)、ΔW61 (1)及びW61 (1)の格納状態図
である。
W45 (1)、W45 (1)、ΔW61 (1)及びW61 (1)の格納状態図
である。
【図43】一実施例のΔW24 (1)、W24 (1)、Δ
W46 (1)、W46 (1)、ΔW62 (1)及びW62 (1)の格納状態図
である。
W46 (1)、W46 (1)、ΔW62 (1)及びW62 (1)の格納状態図
である。
【図44】多層構造型ニューラルネットワークの概念図
である。
である。
【図45】1つのユニットの概念図である。
【図46】従来例の構成図である。
PE:要素プロセッサ LM:ローカルメモリ R:レジスタ
Claims (1)
- 【請求項1】入力層を構成するユニット、中間層を構成
するユニット及び出力層を構成するユニットの機能を複
数の要素プロセッサ(PE)のそれぞれに与え、 且つ、前記要素プロセッサをリング状に接続すると共
に、 前記要素プロセッサごとのローカルメモリ(LM)を備
え、 該ローカルメモリ内のデータに基づいてバックプロパゲ
ーション法による学習処理を行う神経回路網シミュレー
タにおいて、 前記要素プロセッサごとのレジスタ(R)を有し、 該レジスタを介して前記学習処理に必要なデータの一部
を外部から取り込み、それぞれの要素プロセッサに与え
ることを特徴とする神経回路網シミュレータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4008751A JPH05197702A (ja) | 1992-01-21 | 1992-01-21 | 神経回路網シミュレータ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4008751A JPH05197702A (ja) | 1992-01-21 | 1992-01-21 | 神経回路網シミュレータ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05197702A true JPH05197702A (ja) | 1993-08-06 |
Family
ID=11701635
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4008751A Withdrawn JPH05197702A (ja) | 1992-01-21 | 1992-01-21 | 神経回路網シミュレータ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05197702A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109272112A (zh) * | 2018-07-03 | 2019-01-25 | 北京中科睿芯科技有限公司 | 一种面向神经网络的数据重用指令映射方法、系统及装置 |
-
1992
- 1992-01-21 JP JP4008751A patent/JPH05197702A/ja not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109272112A (zh) * | 2018-07-03 | 2019-01-25 | 北京中科睿芯科技有限公司 | 一种面向神经网络的数据重用指令映射方法、系统及装置 |
| CN109272112B (zh) * | 2018-07-03 | 2021-08-27 | 北京中科睿芯科技集团有限公司 | 一种面向神经网络的数据重用指令映射方法、系统及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5506998A (en) | Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data | |
| US5483620A (en) | Learning machine synapse processor system apparatus | |
| JP2746350B2 (ja) | 学習機械シナプス・プロセッサ・システム装置 | |
| KR950008840B1 (ko) | 뉴로 칩(neuro chip) | |
| US5517596A (en) | Learning machine synapse processor system apparatus | |
| EP0421639B1 (en) | Parallel data processing system | |
| US5544336A (en) | Parallel data processing system which efficiently performs matrix and neurocomputer operations, in a negligible data transmission time | |
| US9489622B2 (en) | Event-driven universal neural network circuit | |
| JPH02170263A (ja) | ニユーラルネツト信号処理プロセツサ | |
| WO1995030194A1 (en) | Computer utilizing neural network and method of using same | |
| US5485548A (en) | Signal processing apparatus using a hierarchical neural network | |
| JPH076146A (ja) | 並列データ処理システム | |
| JPH05197702A (ja) | 神経回路網シミュレータ装置 | |
| JPH05159087A (ja) | ニューロプロセッサ | |
| JP2825133B2 (ja) | 並列データ処理方式 | |
| Ahn | Computation of backpropagation learning algorithm using neuron machine architecture | |
| JPH06139218A (ja) | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 | |
| JPH0471063A (ja) | 神経回路網型計算装置 | |
| JPH04364525A (ja) | 並列演算装置 | |
| JP2766858B2 (ja) | ニューラルネットワーク並列シミュレーション方法及びそれに用いる装置 | |
| JPH07306845A (ja) | 神経系学習装置用の並列処理装置 | |
| JPH0243665A (ja) | ニューラルネットワーク装置 | |
| JPH04233063A (ja) | ニューロプロセッサ | |
| JPH0447482A (ja) | 神経回路網型計算装置 | |
| Mihu et al. | Architectural improvements and FPGA implementation of a multimodel neuroprocessor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990408 |