JP2000322400A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2000322400A
JP2000322400A JP11128538A JP12853899A JP2000322400A JP 2000322400 A JP2000322400 A JP 2000322400A JP 11128538 A JP11128538 A JP 11128538A JP 12853899 A JP12853899 A JP 12853899A JP 2000322400 A JP2000322400 A JP 2000322400A
Authority
JP
Japan
Prior art keywords
neuron
memory
memory block
address
processor unit
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.)
Pending
Application number
JP11128538A
Other languages
English (en)
Inventor
Sukeji Kato
典司 加藤
Hirotsugu Kashimura
洋次 鹿志村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP11128538A priority Critical patent/JP2000322400A/ja
Publication of JP2000322400A publication Critical patent/JP2000322400A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 多くのプロセッサユニットが独立かつ高速に
動作でき、かつ、ニューロン出力を簡単な制御系で伝達
できる大規模ニューラルネットワークを実験した情報処
理装置を提供する。 【解決手段】 同一の物理アドレスを持つ複数のメモリ
ブロック141〜14n+1から構成されたニューロン出力
保存メモリ16と、各メモリブロック141〜14nに1
対1で接続され、独立してニューロン演算を行い、得ら
れたニューロン出力値を予め指定されたアドレスに書き
込む複数のプロセッサユニット101〜10nと、それぞ
れ接続されたプロセッサユニット101〜10nに割り当
てられたニューロンの演算に必要なシナプス係数を格納
する複数のシナプス係数メモリ121〜12nと、1つの
メモリブロック14n+1に接続され、予め指定されたア
ドレスのメモリに書き込まれる値の変動の収束を判定す
る収束判定回路18と、装置全体を制御する制御部20
とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置に係
り、特に、ニューラルネットワークを利用して情報処理
を行う情報処理装置に関する。
【0002】
【従来の技術】一般に脳を中心とする神経系は、ニュー
ロンと呼ばれる神経細胞を単位とし、このニューロンが
多数複雑に結合して神経回路網を構成している。個々の
ニューロンは、樹状突起と呼ばれる枝状の線維の集合と
軸索と呼ばれる長い側枝を持つ線維とから成る。
【0003】インパルスと呼ばれるパルス状の電位変化
が他のニューロンから樹状突起に受け渡されるが、この
インパルスは樹状突起から軸索を伝播する。インパルス
が軸索を伝播して軸索の出力端であるシナプスに達する
と、シナプスと結合する他のニューロンの樹状突起や細
胞にグルタメイトやアセチルコリンなどの神経伝達物質
を放出する。
【0004】シナプスには、そこで起こった信号伝達の
履歴に応じて、自身の伝達効率を変化させ、他のニュー
ロンに伝達するインパルスのレベルを変えるという性質
がある(シナプス可塑性)。そのため、シナプスと結合
する他のニューロンには、信号伝達の履歴に応じた大き
さのインパルスが受け渡されることとなる。
【0005】脳を中心とする神経系における情報処理
は、このようなニューロンからニューロンへの信号伝播
のネットワーク全体にわたる集積によって行われる。な
お、各シナプスにおける伝達効率の可塑的変化は、神経
系全体の自己組織化の素過程であると考えられている。
【0006】このような脳を中心とする神経系における
情報処理を応用してニューラルネットワークを構築した
場合、各ニューロンに対応する信号伝達ユニットを複数
備えたものとして構成される。
【0007】すなわち、一つのニューロンjは、他のニ
ューロンiから入力xiを入力する。そして、それぞれの
入力に対しシナプス係数wijで重みづけを行い、その総
和ujを演算する。この値を例えばシグモイド関数?によ
って変換し、出力xjを出力値とする。この動作を式で示
すと以下の(1)の式のようになる。
【0008】
【数1】 この演算をフォワード演算という。また、一般的に使用
されるバックプロパゲーションによる学習過程において
は、与えられた入力に対して期待する出力値diを外部か
ら与え、実際の出力値との誤差が少なくなるようにシナ
プス係数wijを更新していく。その更新量は以下の
(2)の式で演算される。
【0009】
【数2】 ここで、ηは学習係数、δjは学習誤差である。また、
出力層では、以下の(3)の式で演算を行う。
【0010】
【数3】 また、中間層では、以下の(4)の式で演算を行う。
【0011】
【数4】 このような演算を数千から数万のニューロンからなる大
規模ニューラルネットワークで行う場合、膨大な演算量
となり、専用の情報処理機構が必要となる。
【0012】従来技術として提案されている特開平5‐
197707号公報には、図7に示すように、各々シナ
プス係数メモリ621〜62n(但し、nは整数)を有す
る複数のプロセッサユニット601〜60n(但し、nは
整数)が、コントローラ66に接続する時分割バス64
によって並列に結合された構成の情報処理システムが開
示されている。
【0013】この情報処理システムでは、各々のプロセ
ッサユニット601〜60nは特定のニューロン処理を受
け持ち、コントローラ66により選択された1つのプロ
セッサユニット(図7の状態では第2プロセッサユニッ
ト602)のみがニューロン演算値を時分割バス64に
出力する。
【0014】各プロセッサユニット601〜60nは、出
力しているプロセッサユニット(図7の状態では第2プ
ロセッサユニット602)のニューロン演算値に対する
シナプス係数をメモリに保持しており、時分割バス64
から入力する値に対応するシナプス係数をメモリから読
み出して重み付けし、その積を累積加算する。
【0015】また、コントローラ66に選択されたプロ
セッサユニット(図7の状態では第2プロセッサユニッ
ト602)は、累積加算した値を、例えば、シグモイド
関数f(上記(1)の式)によって変換して時分割バス
64に出力する。各プロセッサユニット601〜60n
時分割バス64への出力が一通り行われれば、すべてが
(1)の式の演算を行うこととなる。
【0016】特開平5‐197707号公報では、以上
説明した構成による並列演算によって大規模ニューラル
ネットワークを構築している。
【0017】
【発明が解決しようとする課題】しかしながら、前記従
来技術では、時分割バス64には多数のプロセッサユニ
ットが接続される構成であるため、時分割バス64のク
ロックを高くすることができず、各プロセッサユニット
に高速にニューロン演算値を供給することができない。
すなわち、バスの転送クロックを高速化できないため、
ニューロン出力の伝達がボトルネックとなり、処理速度
があまり向上しないという問題点がある。
【0018】また、すべてのプロセッサユニットにデー
タを同時に供給するため、不必要なデータまで受け取っ
てしまう。これらのことから各プロセッサユニットはデ
ータ供給律速となり、高速に演算することができないと
いう問題がある。
【0019】以上の問題を解決するために、シナプス係
数だけでなく、ニューロン演算値も各プロセッサユニッ
トに持たせる構成が考えられるが、この場合、演算によ
ってニューロン演算値が変化すると、各プロセッサユニ
ットが持っているニューロン演算値を変更しなければな
らない。
【0020】そのため、プロセッサユニット間で通信を
行う構成とすることが必要となるが、多数のプロセッサ
ユニット間で通信可能となるようにするには構成が複雑
となり、そのための制御回路が大きくなる。したがって
多くのプロセッサユニットを実装できなくなり、大規模
ニューラルネットワークの実現が難しいという問題があ
る。
【0021】以上のことから本発明は、多くのプロセッ
サユニットが独立かつ高速に動作でき、かつ、ニューロ
ン出力を簡単な制御系で伝達できる大規模ニューラルネ
ットワーク計算用情報処理装置を提供することを目的と
する。
【0022】
【課題を解決するための手段】上記目的を達成するため
に請求項1の発明の情報処理装置は、各々シナプス係数
を格納した複数のシナプス係数メモリと、各々同一の物
理アドレスを持ち、かつ、ニューロン出力値を記憶する
複数のメモリブロックを備えたニューロン出力保存メモ
リと、各々少なくとも1つの前記メモリブロック及び1
つの前記シナプス係数メモリに接続され、前記シナプス
係数及びニューロン出力値を独立して読出し、各々予め
定められた特定のニューロン演算を独立して行い、得ら
れたニューロン出力値を前記複数のメモリブロックの予
め割り当てられた同一アドレスの各々に書き込む複数の
プロセッサユニットと、を備える。
【0023】即ち、請求項1の発明の情報処理装置で
は、複数のプロセッサユニットの各々が少なくとも1つ
のメモリブロックと接続されており、全てのメモリブロ
ックが同一の物理アドレスを有するため、各プロセッサ
ユニットがそれぞれ互いの演算結果を取り込みながら独
立して予め割り当てられたニューロン演算を行うことが
できる。
【0024】各プロセッサユニットのニューロン演算
は、請求項2に記載したように、各々予め割り当てられ
た特定のニューロン演算を複数回繰り返して行い、演算
値が前回の演算値と異なる場合に前記メモリブロックに
書き込む構成とすることにより、無駄な処理がなく、そ
の分高速に動作できるので好ましい。また、他のプロセ
ッサユニットの演算結果が変動しても直ちに変動した演
算結果を取り込んで自身のニューロン出力を修正できる
という利点もある。
【0025】さらに、請求項3に記載の発明は、請求項
2に記載の情報処理装置において、前記複数のメモリブ
ロックの1つに接続され、前記メモリブロック内の予め
定めたアドレスのニューロン出力値を一定時間ごとに読
み出してニューロン出力値が収束したかを判定する収束
判定手段と、前記収束判定手段により予め定めたアドレ
スのニューロン出力値の全てが収束したと判定された場
合、全てのプロセッサユニットの演算を終了するように
制御する制御手段と、をさらに備える。
【0026】即ち、各プロセッサユニットの演算により
得られるニューロン出力値は、始めのうちは変動するが
徐々にある一定の値に収束していく。請求項3の発明で
は、収束判定手段が、予め定めたアドレスのニューロン
出力値を一定時間ごとに読み出してニューロン出力値が
収束したかを判定して制御手段がすべてのプロセッサユ
ニットの演算が終了するように制御することにより、必
要なニューロン演算結果を効率よく検出でき、必要なニ
ューロン演算結果が得られれば直ちに演算を終了できる
ので処理効率が良い。
【0027】なお、各々独立して演算する複数のプロセ
ッサユニットでは、前記メモリブロックの対応するアド
レスにニューロン出力値の書き込みを行うタイミングが
重なる場合があるが、請求項4に記載のように前記複数
のプロセッサユニットのいずれか1つに書き込みを行う
権利を受け渡すように構成することによって、ニューロ
ン出力値の書き込みを行うタイミングが重なっても、予
期しない不備が生じることなく効率的にニューロン出力
値の書き込みを行うことができる。
【0028】このような情報処理装置におけるニューロ
ン出力保存メモリは、請求項5記載に記載したように、
同一の物理アドレスを持ち、かつ、ニューロン出力値を
記憶する複数のメモリブロックに加えて、前記メモリブ
ロックと該メモリブロックに対応する前記プロセッサユ
ニットとを接続し、前記メモリブロック内のアドレスの
ニューロン出力値を該接続された前記プロセッサユニッ
トに出力するための出力データバスと、前記メモリブロ
ックと該メモリブロックに対応する前記プロセッサユニ
ットとを接続し、前記プロセッサユニットからの読出制
御信号を前記メモリブロックに入力する読出制御線と、
前記読出制御線からの読出制御信号に基いてメモリブロ
ック内のアドレスを指定し、メモリブロック内のアドレ
スのニューロン出力値が前記出力データバスを介して読
み出されるように制御する読出制御手段と、全ての前記
複数のメモリブロックとプロセッサユニットとに共有さ
れた入力データバスと、全ての前記複数のメモリブロッ
クの同一のアドレスと、該アドレスに割り当てられた1
つの前記プロセッサユニットとを接続する複数の書込選
択信号線と、前記複数の書込選択信号線の1つから入力
される前記プロセッサユニットからの書込制御信号によ
り指定された前記複数のメモリブロック内の同一アドレ
スに、前記入力データバスを介してニューロン出力値が
書き込まれるように制御する書込制御手段と、をさらに
備えるように構成するとよい。
【0029】この場合、メモリブロックは、請求項6に
記載したように、アドレスに各々対応して設けられた複
数のメモリセルにより構成され、前記メモリセルのそれ
ぞれに、前記読出制御線と前記書込選択信号線とが接続
する構成とすることができる。
【0030】また別のメモリブロックとしては、請求項
7に記載したように、マトリクス状に配置され、かつ、
前記書込制御線からの書込制御信号がマトリクス内の列
アドレスと行アドレスとの組と1体1に対応する複数の
メモリセルにより構成することができる。
【0031】
【発明の実施の形態】以下、図1〜図6を参照して相互
結合型のニューラルネットワークに本発明を適用した実
施の形態を詳細に説明する。
【0032】(第1の実施の形態)図1に示すように第
1の実施の形態の情報処理装置は、大別して、複数のプ
ロセッサユニット101〜10n(但し、nは整数)、複
数のシナプス係数メモリ121〜12n、ニューロン出力
保存メモリ16、収束判定回路18、制御部20、拡張
インターフェース22、ホストインターフェース24と
から構成される。
【0033】複数のプロセッサユニット101〜10
nは、各々予め割り当てられた2つのニューロンに関す
るニューロン演算を交互に行う。すなわち、具体的に
は、第1プロセッサユニット101にはニューロン1の
演算とニューロン2の演算とが割り当てられ、ニューロ
ン1の演算が終了した後、ニューロン2の演算を行い、
第2プロセッサユニット102にはニューロン3の演算
とニューロン4の演算とが割り当てられ、ニューロン3
の演算が終了した後、ニューロン4の演算を行い、…第
nプロセッサユニット10nはニューロン2n−1の演
算とニューロン2nの演算とが割り当てられ、ニューロ
ン3の演算が終了した後、ニューロン4の演算を行うよ
うに構成されている。なお、詳細は後述する。
【0034】また、複数のシナプス係数メモリ121
12nは、プロセッサユニット101〜10n(但し、n
は整数)に1対1で接続されており、それぞれ接続され
たプロセッサユニットに割り当てられたニューロンの演
算を行うのに必要なシナプス係数を格納する。このシナ
プス係数はホストインターフェース(Host I/F)24を介
して入力されたホストコンピュータからの指示に基いて
後述する制御部20が各シナプス係数メモリ121〜1
nにシステムバス32、接続されたプロセッサユニッ
ト101〜10nを介して与えられる。
【0035】ニューロン出力保存メモリ16は、複数の
メモリブロック141〜14n+1から構成されている。各
メモリブロック141〜14n+1には、読み出し制御線2
1〜26nおよび読み出しデータバス281〜28nによ
りプロセッサユニット101〜10nが1対1で接続され
ている。
【0036】また、各メモリブロック141〜14
n+1は、アドレス1〜2nに対応する2n個のメモリセ
ル150〜152n-1を備えている(図3参照)。メモリブ
ロック141〜14n+1における同一アドレスの全てのメ
モリセルと該メモリセルに対応するプロセッサユニット
(例えば、第0メモリセル150であれば第1プロセッサ
ユニット101)とは書込選択信号線30により接続され
ている。この書込選択信号線30は全てのアドレスと該
アドレスに対応するプロセッサユニットとを接続してお
り、本第1の実施の形態では、2n本の書込選択信号線
301〜302nが設けられている。
【0037】これにより、例えば、第1プロセッサユニ
ット101から対応する第1メモリブロック141の第0
メモリセル150に新たにニューロン出力値が書き込ま
れると、この第0メモリセル150に接続する第1書込
選択信号線301により書込選択信号が出力され、書込
データバス34から第0メモリセル150の新たなニュ
ーロン出力値が読込まれ、全てのメモリブロック142
〜142nのメモリセル150に書き込まれる。これによ
り、全てのメモリブロック141〜14n+1は同一の値を
記憶することとなる。なお、メモリブロック141〜1
n+1の構成については後述する。
【0038】収束判定回路18は、第n+1メモリブロ
ック14n+1と接続されており、制御部20から予め指
定されたアドレスのメモリセルのニューロン出力値を第
n+1メモリブロック14n+1から読み出して監視し、
ニューラルネット全体の演算が収束したかどうかを判定
する。
【0039】また、制御部20は、ホストインターフェ
ース(Host I/F)24を介して入力されたホストコンピュ
ータからの指示に基いて、例えば、演算の開始および停
止などの各プロセッサユニットの動作をシステムバス3
2を用いて制御したり、監視するプロセッサユニットの
指示を収束判定回路18に出したり、ユーザが構築した
ネットワークに対応して決定されるシナプス係数をシス
テムバス32及びプロセッサユニット10を経由して各
シナプス係数メモリ121〜12nに付与するなどの制御
を行う。また、本情報処理装置をマルチチップ構成にす
る場合に他のチップとの通信を拡張インターフェース2
2を介して行う。
【0040】ここで、プロセッサユニット101〜10n
の構成について図2を参照して説明する。図2に示すよ
うに、プロセッサユニット101〜10nは、大別して、
乗算器40、加算器42、累積結果を保持する累積保持
レジスタ44、非線型出力回路46、ニューロン出力保
存レジスタ48、比較器50とから構成される。
【0041】各プロセッサユニット101〜10nは、そ
れぞれ対応して接続された読み出し制御線261〜26n
および読み出しデータバス281〜28nを介してメモリ
ブロック141〜14nからニューロン演算に必要なニュ
ーロン出力値を順次読み出す。このニューロン出力値の
読み出しは、各プロセッサユニット101〜10nごとに
独立して行う構成である。
【0042】読み出されたニューロン出力値は、ニュー
ロン出力読み出しI/F36を介して乗算器40に入力
される。乗算器40は、シナプス係数読出(R)/書き
込み(W)I/F38を介してシナプス係数メモリ12
と接続されており、割り当てられたニューロン演算に必
要なシナプス係数を読み出して入力された値と乗算した
後、加算器42に出力する。
【0043】加算器42は、入力された値を累積保持レ
ジスタ44から読み出した値に加算して累積保持レジス
タ44に出力する。この積和演算は全シナプスの個数回
行われ、最終的な積和結果が非線型出力回路46に出力
されてニューロン出力値に変換される。
【0044】得られたニューロン出力値は、ニューロン
出力保存レジスタ48に保存されると共に、比較器50
に出力される。比較器50では、前回の演算でニューロ
ン出力保存レジスタ48に保存されているニューロン出
力値と今回の演算で新たに入力されたニューロン出力値
とを比較し、異なる場合に今回の演算で新たに入力され
たニューロン出力値をニューロン出力書き込み(W)I
/F54を介してニューロン出力保存メモリ16に書き
込む。
【0045】このときのニューロン出力保存メモリ16
への書き込み権利は、常に1つのプロセッサユニットの
みに与えられる。そのため、各プロセッサユニット10
1〜10nには、書き込み権利の有無を表すフラグ52が
設けられており、フラグ52が1となっているプロセッ
サユニットがニューロン出力保存メモリ16へ書き込み
権利を有し、対応するメモリセルに書き込みを行う。こ
の書き込み権利は、常に1つのプロセッサユニットのみ
に与えられるように、プロセッサユニット間で順に受け
渡されることにより、書き込みの調停が行われている。
なお、書き込み権利の受け渡しについての詳細は後述す
る。
【0046】本第1の実施の形態では、1つのプロセッ
サユニットに2つのニューロン演算を割り当てた構成と
しているため、1つのプロセッサユニットはそれぞれ2
つの書込選択信号線と接続され、各々対応するニューロ
ン演算の結果を出力する。
【0047】例えば、第1プロセッサユニット101
書き込み権利を有し、ニューロン1の演算結果を書き込
む場合、第1書込選択信号線301がアサートされる。
第1プロセッサユニット101の演算結果は書込データ
バス34に出力されており、第1書込選択信号線301
がアサートされると、書込データバス34を介してニュ
ーロン1の新たなニューロン出力値が全てのメモリブロ
ック141〜14n+1のニューロン1に対応する第0ビッ
トのメモリセル150に書き込まれる。
【0048】また、第1プロセッサユニット101が書
き込み権利を有し、ニューロン1とニューロン2の演算
結果を書き込む場合は、上述の動作の次に、第2書込選
択信号線302がアサートされ、書込データバス34を
介してニューロン2の新たなニューロン出力値が全ての
メモリブロック141〜14n+1のニューロン2に対応す
るアドレス1のメモリセル151に書き込まれる。この
書き込み動作は第2〜第nプロセッサユニット102
10nについても同様であるので説明は省略する。
【0049】ここで、ニューロン出力保存メモリ16を
構成するメモリブロック14の構成について図3を参照
して説明する。なお、図3では、説明のため、第1メモ
リブロック141について説明するが、第2メモリブロ
ック142から第n+1メモリブロック14n+1について
も同様である。
【0050】図3に示すように、メモリブロック141
は、アドレス1〜2nに対応する2n個の1ビットのメ
モリセル150〜152n-1を列方向に配置して一組とす
るメモリセル群を、ニューロン出力値のビット長である
8ビット分並べたメモリセル群を備えた構成である。
【0051】各メモリセル150〜152n-1は、データ
入力端子、データ出力端子、データ読み出し選択端子お
よびデータ書込選択端子をもつフリップフロップからな
る2ポートSRAMセルであり、データ書込選択端子が
ハイの時にデータ入力端子のデータが書き込まれ、一
方、データ読み出し選択端子がハイの時にデータ出力端
子にメモリセルのデータが出力される。
【0052】各メモリセル150〜152n-1のデータ読
み出し選択端子は、シフトレジスタ56と接続する読み
出しアドレス選択線581〜582nに接続されており、
各メモリセル150〜152n-1のデータ書込選択端子は
それぞれ書込選択信号線301〜302nに接続される。
【0053】また、各メモリセル群の第0ビットのメモ
リセル150のデータ出力端子はすべて読み出しデータ
バス281の第0ビット線に、データ入力端子はすべて書
込データバス34の第0ビット線に接続される。第1ビ
ット以降のメモリセル151〜152n-1についても同様
である。
【0054】また、シフトレジスタ56は読み出し制御
線261に接続されている。シフトレジスタ56が読み
出し制御線261をトグルするたびに、読み出しアドレ
ス選択線581〜582nが順に選択されて、アドレス1〜
2nのデータが読み出しデータバス281に順次出力さ
れる。一方、データの書き込み時は、シフトレジスタ5
6は書込選択信号線301〜302nのいずれかをアサー
トする。これにより、書込データバス34上のデータに
対応するアドレスのメモリセルに、書込データバス34
上のデータが書き込まれる。
【0055】なお、書込選択信号線301〜302nおよ
び書込データバス34はすべてのブロックに接続されて
いるため、書き込みには読み出しの数倍以上の時間を要
する。この書き込み時間内に同じアドレスに対して同時
に読み出しを行った場合、書き込み前のデータか書き込
み後のデータのどちらが読み出されるかは保証されな
い。そのため、制御部20は収束判定回路18からネッ
トワークの出力ニューロンのニューロン演算が収束した
との判定を受けると、演算終了信号を全プロセッサユニ
ットに出力して全プロセッサユニットの演算を終了させ
ている。
【0056】次に、本実施の形態の複数のプロセッサユ
ニット101〜10nうちの1つのプロセッサユニット1
0の動作を図4のフローチャートを用いて説明する。な
お、ここでは各プロセッサユニットに第i番目のニュー
ロンと第i+1番目のニューロンとの2つのニューロン
を設けてあるため、ニューラルネットワーク全体のニュ
ーロン数は2nである。
【0057】まず、ステップ100では、制御部80か
ら入力された開始信号により第1番目のニューロンを選
択する。なお、ここでは、プロセッサユニットに割り当
てられた2つのニューロンのうち、始めに演算を行う対
象となるニューロンを第1番目のニューロン、次に演算
を行うニューロンを第2番目のニューロンとする。
【0058】次のステップ102では、第1番目のニュ
ーロン演算においてj=0とし、ステップ104におい
て選択したニューロンに対応するシナプス係数wijを読
み出してシナプス係数メモリに書き込む。
【0059】即ち、第1番目のニューロンを選択し、第
1番目のニューロンの順方向の演算を行う場合は、
(1)の式におけるシナプス係数wij(j=0〜2n−
1)が、逆方向の演算を行う場合には、(2)の式にお
けるシナプス係数wij(j=0〜2n−1)がシナプス係
数メモリに書き込まれることとなる。なお、順方向と逆
方向の演算を効率よく行うために、両者をシナプス係数
メモリに保存しておいてもよい。
【0060】次のステップ106では、j=0のときの
ニューロン演算に必要なニューロン出力値をメモリブロ
ック14から読み出す。その後のステップ108では、
読み出したシナプス係数wijとニューロン出力値とを乗
算した後、前回の演算で得られた値に加算する積和演算
を行う。
【0061】次のステップ110では、全てのニューロ
ン(j=0、1、2、…、2n)の出力値について積和
演算が終了したかを判断する。全てのニューロンの出力
値について積和演算が終了していない場合(即ち、j<
2n)は、ステップ120に移行してjをインクリメン
トし、ステップ104に戻り、上述の積和演算を繰り返
す。
【0062】ステップ110において全てのニューロン
の出力値について積和演算が終了したと判断した場合
(即ち、j=2n)は、ステップ112に移行してこの
演算で最終的に得られた値をシグモイド関数(上述した
(1)の式)によって変換し、ニューロン出力値x0を得
て、次のステップ114に移行する。
【0063】ここで、本実施の形態では、複数のプロセ
ッサユニットが各々独立して演算を行うため、或るプロ
セッサユニットの演算によりニューロン出力値が変化す
るとそのニューロン出力値を使用した他のプロセッサユ
ニットのニューロン出力値も変化することとなる。
【0064】そのため、ステップ114では、得られた
ニューロン出力値x0が前回の演算で得られたニューロン
出力値から変化したかを判断する。ステップ114にお
いてニューロン出力値が変化したと判断した場合は、ス
テップ116に移行して書き込み権利があるか否かを判
断し、書き込み権利があれば、ステップ118に移行
し、書込選択信号線30をアサートし、ニューロン出力
保存メモリ16中の全てのメモリブロックのアドレス0
のメモリセル150に、得られたニューロン出力値x0
書き込んでからステップ120に移行する。
【0065】この書き込みはすべてのメモリブロック1
1〜14n+1に対して行われるため、例えば10クロッ
ク程度を必要とする。ステップ116において書込み権
利がない場合は、次のニューロンの演算処理が続けられ
る。
【0066】一方、ステップ114において、得られた
ニューロン出力値x0が前回の演算で得られたニューロン
出力値から変化していないと判断した場合、即ち、ニュ
ーロン出力値が0である場合は書き込む必要がないので
ステップ120に移行する。
【0067】ステップ120では、プロセッサユニット
内の全てのニューロン演算及び書込みが必要なニューロ
ン出力値の書き込みが終了したかを判断する。終了して
いないと判断した場合は、ステップ128に移行して次
のニューロン(即ち、第1番目のニューロンの演算が終
了した後であれば第2番目のニューロン)を選択し、再
びステップ102に戻って上述の処理を繰り返す。
【0068】ステップ120において終了したと判断し
た場合は、ステップ122に移行して書込み権利を次の
プロセッサユニットに受け渡し、ステップ124に移行
する。
【0069】ステップ124では、制御部20から演算
終了信号が入力されたかを判断する。入力されていない
と判断した場合は、再びステップ100に戻って上述の
作用を繰り返す。このように演算終了信号が入力される
まで演算を繰り返すことによって、更新された新しい値
による演算値を確実に得ることができる。なお、ステッ
プ124において制御部20から演算終了信号が入力さ
れたと判断した場合は、本ルーチンを終了する。
【0070】また、本実施の形態では、プロセッサユニ
ットには2つのニューロンが割り当てられているため、
各々のプロセッサユニットは第1番目と第2番目のニュ
ーロンを有する構成であるが、プロセッサユニットに3
つ以上のニューロンを割り当てる構成とすることもで
き、この場合、演算を行う順に第1番目、第2番目、第
3番目、…というように演算する順番を設定し、以上の
演算をすべての割り当てられたニューロンについて順に
行う。
【0071】次に、非同期に動作する複数のプロセッサ
ユニットが並列に動作して、ニューラルネットワークの
演算を行う場合の動作を、図5のタイムチャートを用い
て説明する。図5のタイミングチャートは、1〜2nの
シナプスに対して積和演算し、その演算結果によってニ
ューロン出力が変化した場合に、ニューロン出力保存メ
モリ16に書き込む動作を表したものである。なお、図
5では、説明を解かりやすくするため第1から第4の4
つのプロセッサユニット101〜104の動作について説
明する。
【0072】まず、図5の期間Iは、第1プロセッサユ
ニット101が第1番目のニューロンに関する1回目の積
和演算を終了し、その結果に基づいてニューロン出力1
をニューロン出力保存メモリ16に新たな値を書き込ん
だ期間である。
【0073】この期間Iにおいて、第2プロセッサユニ
ット102では第1のニューロンの積和演算の1番目の
シナプスの演算は既に終了しているので、第1プロセッ
サユニット101が書き込んだ新たな値は反映されてい
ないが、第2のニューロンの積和演算はまだ行われてい
ないので、第2のニューロンの積和演算における1番目
のシナプスの演算には第1プロセッサユニット101
書き込んだ新たな値が反映されることとなる。
【0074】また、期間Iは第3プロセッサユニット1
3の第2のニューロンの積和演算における1番目のシ
ナプスの演算中となるため、第1のニューロンの積和演
算の1番目のシナプスの演算には第1プロセッサユニッ
ト101が書き込んだ新たな値が反映されない。また、
第2のニューロンの積和演算においては、1番目のシナ
プスの演算に書き込む前の値が反映されるか、書き込み
後の新たな値が反映されるかは不確かとなる。
【0075】さらに、第4プロセッサユニット104
おいては第1のニューロンの積和演算の1番目のシナプ
スの演算は既に終了しており、第2のニューロンの積和
演算も第1プロセッサユニット101が新たな値を書き
込む前に終了しているので、反映されていない。この第
4プロセッサユニット104では、2回目以降の第1の
ニューロン及び第2のニューロンの積和演算に第1プロ
セッサユニット101が書き込んだ新たな値が反映され
ることとなる。
【0076】このように、いずれの場合も、1回の積和
演算では、新たな値が反映されない場合もあるが、2回
目、3回目と積和演算を繰り返すことにより、正しいニ
ューロン出力値が演算に反映されていくこととなる。
【0077】したがって、本実施の形態では、収束判定
回路18(図1参照)が出力ニューロンの出力値を絶え
ずモニターし、この値が収束した時に最終的に演算を終
了したと判断する。
【0078】以上のプロセスにより、個々のプロセッサ
ユニットに複雑な制御系を持たせなくとも、ニューラル
ネットの演算を行うことができる。
【0079】また、学習サンプルを次々にニューラルネ
ットワークに入力して学習をおこなうような処理の場
合、各ニューロンの出力値は大きく変化しない。このよ
うな場合は、ニューロン出力保存メモリ3に前回のサン
プルに対する各ニューロンの出力値が保存されているの
で、早く収束させることができる。
【0080】また、図5の期間IIは、第1プロセッサユ
ニット101の3回目の積和演算、即ち、第1プロセッ
サユニット101の第1番目のニューロンの2回目の積
和演算によるニューロン出力をニューロン出力保存メモ
リ16に書き込んでいる期間である。
【0081】この期間に第3プロセッサユニット103
の2回目の積和演算が終了し、ニューロン出力保存メモ
リ3への書き込み要求が発生している。このとき書き込
み権は第1プロセッサユニット101にあるため、第3
プロセッサユニット103の書き込みは待たされる。第
1プロセッサユニット101の書き込みが終わると、書
き込み権は第2プロセッサユニット102に渡される。
【0082】ここでは、第2プロセッサユニット102
は演算値が前回の値と変わらず新たにデータを書き込む
必要が無いので次のクロックで書き込み権を第3プロセ
ッサユニット103に渡す(期間III)。
【0083】第3プロセッサユニット103は第2プロ
セッサユニット102から書き込み権が渡されて始めて
書き込みを行う(期間IV)。この期間IVでは、さらに、
第3プロセッサユニット103の書き込み中に第4プロ
セッサユニット104に書き込み要求が発生して、再び
プロセッサユニット間で競合が発生している。
【0084】この場合も第3プロセッサユニット103
の書き込みの終了後に書き込み権が渡されるまで、第4
プロセッサユニット104の書き込みは開始せず、書き
込み権が第4プロセッサユニット104に渡されてから
第4プロセッサユニット104が書き込みを開始する(期
間V)。なお、書き込み権が渡されるまで書き込み処理は
遅延されているが、次の積和演算は行っている。
【0085】このように本実施の形態によれば、プロセ
ッサユニットはローカルに接続されたデータのみを用い
て積和演算できるため、演算速度を高くすることができ
る。また、特別なプロトコル無しにニューロン出力値を
共有できるため、複雑な制御回路を必要とせず、回路規
模を小さくできる。
【0086】なお、上記の本実施の形態では、ニューロ
ン出力保存メモリ16のメモリセル141〜14nとして
SRAMを用いたが、DRAMセルでもよい。また、ニ
ューロン出力保存メモリ16からの読み出しは、シフト
レジスタ56を用いて順次読み出したが、アドレス信号
によって任意のアドレスを読み出す構成にしてもよい。
この場合、シナプス係数メモリ12にシナプス係数とそ
れに対応するニューロン出力値が格納されたアドレスを
同時に保存し、そのアドレスを用いてニューロン出力を
読み出す構成となる。
【0087】さらに、本第1の実施の形態では、1つの
プロセッサユニットが2つのニューロンの関する演算を
交互に行う構成としているが、もちろん2つに限らず、
1つのプロセッサユニットが3つ以上のニューロンに関
する演算を行うように構成することもできる。
【0088】なお、書き込み選択線はメモリブロックの
アドレスと一対一に対応する必要はなく、アドレスをエ
ンコードしたものでもよい。
【0089】(第2の実施の形態)図6は、本発明の第
2の実施の形態の情報処理装置におけるニューロン出力
保存メモリ16を構成するメモリセル群の第0ビットの
メモリセルの概略構成を示すブロック図である。なお、
第1ビット以降のメモリセルについても同様の構成であ
るので説明は省略する。また、ニューロン出力保存メモ
リ16以外の構成は上述の第1の実施の形態と同様であ
るのでこれも説明は省略する。
【0090】第2の実施の形態のニューロン出力保存メ
モリ16は、大別して、DRAMセル11、行アドレス
デコーダ13、読み出し回路と書き込み回路とを備えた
読み出し・書き込み回路15、アドレスエンコーダ1
7、書き込み行アドレスレジスタ19、書き込み列アド
レスレジスタ21、読み出し行アドレスレジスタ23、
コントローラ25とから構成される。
【0091】本第2の実施の形態では、ニューロン出力
保存メモリ16を構成するメモリセルは、マトリクス状
に配置されたDRAMセル11であり、書き込み信号が
ネゲートされている時に行アドレスデコーダ13によっ
て行選択線が選択されると、読み出し・書き込み回路1
5の読み出し回路によってDRAMセル11内の同一行
のメモリセルからデータが同時に読み出される。
【0092】一方、書込信号がアサートされている時に
行アドレスデコーダ13によって行選択線が選択される
と、読み出し・書き込み回路15の書き込み回路によっ
て同一行のメモリセルにデータが同時に書き込まれる。
【0093】書込選択信号線301〜302nは、書き込
みアドレスエンコーダ17によって2進エンコードさ
れ、書込選択信号線301〜302nのいずれかが選択さ
れると、その上位ビットが書き込み行アドレスレジスタ
19に、下位ビットが書き込み列アドレスレジスタ21
にラッチされる。同時にコントローラ25に書き込みリ
クエストを行う。読み出し行アドレスレジスタ23は、
1行分のデータが読み出されるたびにカウントアップさ
れる。
【0094】データを読み出す場合は、まず読み出し行
アドレスレジスタ23の値が行アドレスデコーダ13に
与えられ、DRAMセル11の特定行が選択され、同一
行のデータが読み出し回路によって読み出される。読み
出されたデータはシフトレジスタ56に書き込まれる。
シフトレジスタ56は読み出し制御線26に接続されて
おり、読み出し制御線26をトグルするたびに、データ
が読み出しデータバス28に順次出力される。
【0095】一方、データの書き込み時は、書き込み行
アドレスレジスタ19が行アドレスデコーダに与えら
れ、DRAMセル11の特定行が選択され、読み出し・
書き込み回路15の書き込み回路により書き込みデータ
バス34上のデータが書き込み列アドレスレジスタ21
で指定したアドレスのメモリセルに書き込まれる。な
お、ここではDRAMセル11からの読み出しと前記書
き込みが競合した場合は、読み出しが優先されるように
設定している。
【0096】以上説明した第2の実施の形態では、ニュ
ーロン出力保存メモリ16のメモリセル141〜142n
としてDRAMを用いたが、SRAMセルでもよい。ま
た、ニューロン出力保存メモリ16からの読み出しは、
シフトレジスタ56を用いて順次読み出したが、アドレ
ス信号によって任意のアドレスを読み出す構成にしても
よい。この場合、シナプス係数メモリ12(図1参照)
にシナプス係数とそれに対応するニューロン出力値が格
納されたアドレスを同時に保存し、そのアドレスを用い
てニューロン出力を読み出す構成となる。
【0097】
【発明の効果】以上説明したように本発明によれば、多
くのプロセッサユニットが独立かつ高速に動作でき、か
つ、ニューロン出力を簡単な制御系で伝達できる大規模
ニューラルネットワークを実験した情報処理装置が得ら
れる、という効果がある。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態の情報処理装置の
概略構成を示すブロック図である。
【図2】 図1に示した情報処理装置を構成するプロセ
ッサユニットの概略構成を示すブロック図である。
【図3】 図1に示した情報処理装置を構成するメモリ
ブロックの概略構成を示すブロック図である。
【図4】 図2に示したプロセッサユニットの動作を示
すフローチャートである。
【図5】 4つのプロセッサユニットの並列動作を説明
するタイムチャートである。
【図6】 本発明の第2の実施の形態の情報処理装置を
構成するメモリブロックの概略構成を示すブロック図で
ある。
【図7】 従来の情報処理装置の概略構成を示すブロッ
ク図である。
【符号の説明】
101〜10n プロセッサユニット 11 DRAMセル 121〜12n シナプス係数メモリ 13 行アドレスデコーダ 141〜14n メモリブロック 15 読出し書込み回路 16 ニューロン出力保存メモリ 17 書込みアドレスエンコーダ 18 収束判定回路 19 書込み行アドレスレジスタ 20 制御部 21 書込み列アドレスレジスタ 22 拡張インターフェース 23 読出し行アドレスレジスタ 24 ホストインターフェース 25 コントローラ 261〜26n 読出制御線 281〜28n 読出データバス 301〜30n 書込選択信号線 32 システムバス 34 書込データバス 36 ニューロン出力読み出しインターフェース 38 シナプス係数読出/書き込みインターフェース 40 乗算器 42 加算器 44 累積保持レジスタ 46 非線型出力回路 48 ニューロン出力保存レジスタ 50 比較器 52 フラグ 54 ニューロン出力書き込みインターフェース 56 シフトレジスタ(読出制御手段/書込制御手段) 581〜582n 読み出しアドレス選択線

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 各々シナプス係数を格納した複数のシナ
    プス係数メモリと、 各々同一の物理アドレスを持ち、かつ、ニューロン出力
    値を記憶する複数のメモリブロックを備えたニューロン
    出力保存メモリと、 各々少なくとも1つの前記メモリブロック及び1つの前
    記シナプス係数メモリに接続され、前記シナプス係数及
    びニューロン出力値を独立して読出し、各々予め定めら
    れた特定のニューロン演算を独立して行い、得られたニ
    ューロン出力値を前記複数のメモリブロックの予め割り
    当てられた同一アドレスの各々に書き込む複数のプロセ
    ッサユニットと、 を備えた情報処理装置。
  2. 【請求項2】 前記プロセッサユニットは、前記特定の
    ニューロン演算を複数回繰り返して行い、演算値が前回
    の演算値と異なる場合に前記メモリブロックに書き込む
    請求項1に記載の情報処理装置。
  3. 【請求項3】 前記複数のメモリブロックの1つに接続
    され、前記メモリブロック内の予め定めたアドレスのニ
    ューロン出力値を一定時間ごとに読み出してニューロン
    出力値が収束したかを判定する収束判定手段と、 前記収束判定手段により予め定めたアドレスのニューロ
    ン出力値の全てが収束したと判定された場合、全てのプ
    ロセッサユニットの演算を終了するように制御する制御
    手段と、 をさらに備えた請求項2に記載の情報処理装置。
  4. 【請求項4】 前記複数のプロセッサユニットのいずれ
    か1つに、プロセッサユニットの各々に順に受け渡され
    ると共に、権利があるときに接続された前記メモリブロ
    ックの対応するアドレスにニューロン出力値の書き込み
    を行う権利を持たせた請求項1から請求項3のいずれか
    1項に記載の情報処理装置。
  5. 【請求項5】 前記ニューロン出力保存メモリは、 前記メモリブロックと該メモリブロックに対応する前記
    プロセッサユニットとを接続し、前記メモリブロック内
    のアドレスのニューロン出力値を該接続された前記プロ
    セッサユニットに出力するための出力データバスと、 前記メモリブロックと該メモリブロックに対応する前記
    プロセッサユニットとを接続し、前記プロセッサユニッ
    トからの読出制御信号を前記メモリブロックに入力する
    読出制御線と、 前記読出制御線からの読出制御信号に基いてメモリブロ
    ック内のアドレスを指定し、メモリブロック内のアドレ
    スのニューロン出力値が前記出力データバスを介して読
    み出されるように制御する読出制御手段と、 全ての前記複数のメモリブロックとプロセッサユニット
    とに共有された入力データバスと、 全ての前記複数のメモリブロックの同一のアドレスと、
    該アドレスに割り当てられた1つの前記プロセッサユニ
    ットとを接続する複数の書込選択信号線と、 前記複数の書込選択信号線の1つから入力される前記プ
    ロセッサユニットからの書込制御信号により指定された
    前記複数のメモリブロック内の同一アドレスに、前記入
    力データバスを介してニューロン出力値が書き込まれる
    ように制御する書込制御手段と、 をさらに備えた請求項1から請求項4のいずれか1項に
    記載の情報処理装置。
  6. 【請求項6】 前記メモリブロックは、前記アドレスに
    各々対応して設けられた複数のメモリセルにより構成さ
    れ、 前記メモリセルのそれぞれに、前記読出制御線と前記書
    込選択信号線とが接続されている請求項5に記載の情報
    処理装置。
  7. 【請求項7】 前記メモリブロックの各々は、マトリク
    ス状に配置され、かつ、前記書込制御線からの書込制御
    信号がマトリクス内の列アドレスと行アドレスとの組と
    1体1に対応する複数のメモリセルにより構成されてい
    る請求項5に記載の情報処理装置。
JP11128538A 1999-05-10 1999-05-10 情報処理装置 Pending JP2000322400A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11128538A JP2000322400A (ja) 1999-05-10 1999-05-10 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11128538A JP2000322400A (ja) 1999-05-10 1999-05-10 情報処理装置

Publications (1)

Publication Number Publication Date
JP2000322400A true JP2000322400A (ja) 2000-11-24

Family

ID=14987241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11128538A Pending JP2000322400A (ja) 1999-05-10 1999-05-10 情報処理装置

Country Status (1)

Country Link
JP (1) JP2000322400A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157233A (ja) * 2015-02-24 2016-09-01 国立大学法人広島大学 Lvqニューラルネットワーク
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN111860811A (zh) * 2016-04-27 2020-10-30 中科寒武纪科技股份有限公司 一种用于执行人工神经网络全连接层正向运算的装置和方法
JP2021527864A (ja) * 2018-06-19 2021-10-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 実行時再構成可能なニューラル・ネットワーク・プロセッサ・コア
JP2021528717A (ja) * 2018-06-14 2021-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 再構成可能なコアレベルおよびベクトルレベルの並列性を有する並列計算アーキテクチャ
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
JP7323968B1 (ja) 2023-04-28 2023-08-09 メイビスデザイン株式会社 相互接続制御回路
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
JP7379794B2 (ja) 2020-08-21 2023-11-15 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド プロセッサ及び実現方法、電子機器、及び記憶媒体

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157233A (ja) * 2015-02-24 2016-09-01 国立大学法人広島大学 Lvqニューラルネットワーク
CN111860811B (zh) * 2016-04-27 2024-01-16 中科寒武纪科技股份有限公司 一种用于执行人工神经网络全连接层正向运算的装置和方法
CN111860811A (zh) * 2016-04-27 2020-10-30 中科寒武纪科技股份有限公司 一种用于执行人工神经网络全连接层正向运算的装置和方法
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
JP7227272B2 (ja) 2018-06-14 2023-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 再構成可能なコアレベルおよびベクトルレベルの並列性を有する並列計算アーキテクチャ
JP2021528717A (ja) * 2018-06-14 2021-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 再構成可能なコアレベルおよびベクトルレベルの並列性を有する並列計算アーキテクチャ
US11847553B2 (en) 2018-06-14 2023-12-19 International Business Machines Corporation Parallel computational architecture with reconfigurable core-level and vector-level parallelism
JP7241771B2 (ja) 2018-06-19 2023-03-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 実行時再構成可能なニューラル・ネットワーク・プロセッサ・コア
JP2021527864A (ja) * 2018-06-19 2021-10-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 実行時再構成可能なニューラル・ネットワーク・プロセッサ・コア
JP7379794B2 (ja) 2020-08-21 2023-11-15 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド プロセッサ及び実現方法、電子機器、及び記憶媒体
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
JP7323968B1 (ja) 2023-04-28 2023-08-09 メイビスデザイン株式会社 相互接続制御回路

Similar Documents

Publication Publication Date Title
JP2000322400A (ja) 情報処理装置
US5604840A (en) Information processing apparatus
US4930066A (en) Multiport memory system
US4412286A (en) Tightly coupled multiple instruction multiple data computer system
US4185323A (en) Dynamic memory system which includes apparatus for performing refresh operations in parallel with normal memory operations
US5564115A (en) Neural network architecture with connection pointers
JPH03251947A (ja) ニューロチップおよびそのチップを用いたニューロコンピュータ
JPS6142049A (ja) デ−タ処理システム
CN113157248A (zh) 存内处理(pim)系统和pim系统的操作方法
JP3353786B2 (ja) 情報処理装置
JPH05282272A (ja) ニューラルネットワーク並列分散処理装置
JP2001117900A (ja) ニューラルネットワーク演算装置
EP0036766A1 (en) Computer system and interface therefor
JPH04316153A (ja) ニューロプロセッサ
EP0485466A1 (en) Distributive, digital maximization function architecture and method
SU1026164A1 (ru) Магазинное запоминающее устройство
JPH05159087A (ja) ニューロプロセッサ
EP0148307B1 (en) Programmable controller
KR920003174B1 (ko) 메모리 액세스 콘트롤러
JPH05197707A (ja) 情報処理システム
JPH05128285A (ja) ニユーロプロセツサ
JPH07101415B2 (ja) 情報処理装置及びその学習方法
JPH03100857A (ja) 神経回路網処理装置
JP2765903B2 (ja) 情報処理装置
US20210224039A1 (en) Multiplication and accumulation (mac) operator and processing-in-memory (pim) device including the mac operator