並列演算装置および並列演算方法
【課題】複数の演算ユニット間の配線を簡易にすることを可能とする並列演算装置および並列演算方法を提供する。
【解決手段】階層型ニューラルネットワークを演算する並列演算装置であって、予め定められた識別番号である固有ユニット番号によりそれぞれが識別される複数のユニットと、複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と複数のユニットの中から選択したいずれか1つのユニットを選択する識別番号である選択ユニット番号とを含む制御データを、複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、複数のユニットに共有され、階層型ニューラルネットワークでの複数の層における結合荷重が予め記憶されている共有重み記憶部と、を有する。
【解決手段】階層型ニューラルネットワークを演算する並列演算装置であって、予め定められた識別番号である固有ユニット番号によりそれぞれが識別される複数のユニットと、複数のユニットの中のいずれか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】
階層型ニューラルネットワークを演算する並列演算装置であって、
予め定められた識別番号である固有ユニット番号によりそれぞれが識別される複数のユニットと、
前記複数のユニットの中のいずれか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】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【図64】
【図65】
【図66】
【図67】
【図68】
【図69】
【図70】
【図71】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【図64】
【図65】
【図66】
【図67】
【図68】
【図69】
【図70】
【図71】
【公開番号】特開2009−176110(P2009−176110A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−14945(P2008−14945)
【出願日】平成20年1月25日(2008.1.25)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願日】平成20年1月25日(2008.1.25)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
[ Back to top ]