説明

並列演算装置および並列演算方法

【課題】複数の演算ユニット間の配線を簡易にすることを可能とする並列演算装置および並列演算方法を提供する。
【解決手段】階層型ニューラルネットワークを演算する並列演算装置であって、予め定められた識別番号である固有ユニット番号によりそれぞれが識別される複数のユニットと、複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と複数のユニットの中から選択したいずれか1つのユニットを選択する識別番号である選択ユニット番号とを含む制御データを、複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、複数のユニットに共有され、階層型ニューラルネットワークでの複数の層における結合荷重が予め記憶されている共有重み記憶部と、を有する。


Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298

【特許請求の範囲】
【請求項1】
階層型ニューラルネットワークを演算する並列演算装置であって、
予め定められた識別番号である固有ユニット番号によりそれぞれが識別される複数のユニットと、
前記複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と前記複数のユニットの中から選択したいずれか1つのユニットを選択する識別番号である選択ユニット番号とを含む制御データを、前記複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、
前記複数のユニットに共有され、前記階層型ニューラルネットワークでの複数の層における結合荷重が予め記憶されている共有重み記憶部と、
を有し、
前記ユニットが、
前記ユニット入力バスを介して前記分配制御部からの制御データを入力するデータ入力部と、
前記データ入力部に入力された制御データに含まれる選択ユニット番号と、前記固有ユニット番号とが一致するか否かを判定するユニット番号一致判定部と、
前記データ入力部に入力された制御データに含まれる入力値に基づいて、前記ユニット毎に予め定められた演算方法により演算するユニット演算部と、
前記ユニット番号一致判定部が判定した結果が一致である場合には、前記ユニット演算部が演算した結果である演算結果を前記出力値として、前記分配制御部に前記ユニット出力バスを介して出力するデータ出力部と、
を有し、
前記ユニット演算部が、
前記共有重み記憶部に記憶されている結合荷重に基づいて、前記階層型ニューラルネットワークの階層における入力層から出力層へと向かう方向である順方向における演算を実行するとともに、前記出力層から入力層へと向かう方向である逆方向における演算を実行し、前記結合荷重を更新する、
ことを特徴とする並列演算装置。
【請求項2】
前記共有重み記憶部には、
前記階層型ニューラルネットワークにおいて階層を識別する層情報と、
前記階層型ニューラルネットワークにおいて出力値を出力しているノードを識別する出力ノード情報と、
前記階層型ニューラルネットワークにおいて前記出力値を入力しているノードを識別する出力ノード情報と、
に関連付けて前記結合荷重が記憶されており、
前記共有重み記憶部は、
前記入力ノード情報の1つの値と前記出力ノード情報の1つの値とに対応する前記結合荷重が、前記層情報の異なる値毎に記憶されている複数の記憶ユニットを有し、
前記記憶ユニットには、
前記層情報の順に、前記入力ノード情報の1つの値と前記出力ノード情報の1つの値とが交互となるように前記結合荷重が記憶されており、
前記複数の記憶ユニットのそれぞれが、
前記記憶ユニットに記憶されている結合荷重の入力ノード情報および出力ノード情報と、前記ユニットが前記階層型ニューラルネットワークにおいて演算するノードとに基づいて、前記複数のユニットのうち2つのユニットに共有されている、
ことを特徴とする請求項1に記載の並列演算装置。
【請求項3】
前記複数の記憶ユニットが、
前記記憶ユニットに記憶されている結合荷重の入力ノード情報と出力ノード情報とに基づいて、行方向と列方向とに格子状に配置されており、
前記共有重み記憶部が、
前記記憶ユニットを行方向で、前記2つのユニットのうち一方のユニットに接続させる行スイッチと、
前記記憶ユニットを列方向で、前記2つのユニットのうち他方のユニットに接続させる列スイッチと、
前記階層型ニューラルネットワークにおける演算に基づいて、前記行スイッチと前記列スイッチとを接続状態または非接続状態に制御するスイッチ制御部と、
を有することを特徴とする請求項2に記載の並列演算装置。
【請求項4】
前記スイッチ制御部が、
前記階層型ニューラルネットワークにおける演算に基づいて、
前記行方向と列方向とに格子状に配置されている複数の記憶ユニットのうち、いずれか1つの行方向に配置されている複数の記憶ユニットが、前記階層に対応する前記結合荷重を出力するように制御するとともに、前記列スイッチを接続状態に制御し前記行スイッチを非接続状態に制御する行アクティブ状態と、
前記行方向と列方向とに格子状に配置されている複数の記憶ユニットのうち、いずれか1つの列方向に配置されている複数の記憶ユニットが、前記階層に対応する前記結合荷重を出力するように制御するとともに、前記列スイッチを非接続状態に制御し前記行スイッチを接続状態に制御する列アクティブ状態と、
に制御する、
ことを特徴とする請求項3に記載の並列演算装置。
【請求項5】
前記階層型ニューラルネットワークにおける入力層を1層目とし、入力層から出力層へと順に層の番号が付してある場合に、
前記スイッチ制御部が、
前記階層型ニューラルネットワークの演算において、層の順序を示す値が奇数の層である奇数層が出力側であり、層の順序を示す値が偶数層の層である偶数層が入力側である場合には、前記行アクティブ状態に制御し、
前記偶数層が出力側であり前記奇数層が入力側である場合には、前記列アクティブ状態に制御する、
ことを特徴とする請求項4に記載の並列演算装置。
【請求項6】
前記スイッチ制御部が、
前記分配制御部から入力された制御データに基づいて制御する、
ことを特徴とする請求項2から請求項5に記載の並列演算装置。
【請求項7】
前記複数のユニットのうち、前記入力ノード情報の値と出力ノード情報の値とが同一である結合荷重が記憶されている記憶ユニットに対応するユニットは、
前記対応する記憶ユニットと接続されている、または、前記対応する記憶ユニットを内蔵している、
ことを特徴とする請求項2から請求項6に記載の並列演算装置。
【請求項8】
前記記憶されている結合荷重の入力ノード情報の値と出力ノード情報の値とが同一である前記記憶ユニットを共有している2つのユニットは、同一のユニットである、
ことを特徴とする請求項2から請求項7に記載の並列演算装置。
【請求項9】
前記階層型ニューラルネットワークにおける入力層を1層目とし、入力層から出力層へと順に層の番号が付してある場合に、
前記共有重み記憶部が、
前記行方向または列方向のうちいずれか一方の方向における記憶ユニットとして、前記階層型ニューラルネットワークにおける偶数層におけるノード数が最大値となる個数の記憶ユニットを少なくとも有し、
前記行方向または列方向のうち他方の方向における記憶ユニットとして、前記階層型ニューラルネットワークにおける奇数層におけるノード数が最大値となる個数の記憶ユニットを少なくとも有する、
ことを特徴とする請求項3から請求項8に記載の並列演算装置。
【請求項10】
前記複数のユニットとして、
前記階層型ニューラルネットワークにおける全ての層においてノード数が最大値となるユニットを少なくとも有する、
ことを特徴とする請求項1から請求項9に記載の並列演算装置。
【請求項11】
予め定められた識別番号である固有ユニット番号によりそれぞれが識別される複数のユニットと、
前記複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と前記複数のユニットの中から選択したいずれか1つのユニットを選択する識別番号である選択ユニット番号とを含む制御データを、前記複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、前記複数のユニットに共有され、前記階層型ニューラルネットワークでの複数の層における結合荷重が予め記憶されている共有重み記憶部と、
を有し、
前記ユニットが、
前記ユニット入力バスを介して前記分配制御部からの制御データを入力するデータ入力部と、
前記データ入力部に入力された制御データに含まれる選択ユニット番号と、前記固有ユニット番号とが一致するか否かを判定するユニット番号一致判定部と、
前記データ入力部に入力された制御データに含まれる入力値に基づいて、前記ユニット毎に予め定められた演算方法により演算するユニット演算部と、
前記ユニット番号一致判定部が判定した結果が一致である場合には、前記ユニット演算部が演算した結果である演算結果を前記出力値として、前記分配制御部に前記ユニット出力バスを介して出力するデータ出力部と、
を有する階層型ニューラルネットワークを演算する並列演算装置において用いられる並列演算方法であって、
前記ユニット演算部が、
前記共有重み記憶部に記憶されている結合荷重に基づいて、前記階層型ニューラルネットワークの階層における入力層から出力層へと向かう方向である順方向における演算を実行するとともに、前記出力層から入力層へと向かう方向である逆方向における演算を実行し、前記結合荷重を更新する、
ことを特徴とする並列演算方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate

【図64】
image rotate

【図65】
image rotate

【図66】
image rotate

【図67】
image rotate

【図68】
image rotate

【図69】
image rotate

【図70】
image rotate

【図71】
image rotate