JPH02287862A - ニューラルネットワーク演算装置 - Google Patents

ニューラルネットワーク演算装置

Info

Publication number
JPH02287862A
JPH02287862A JP1111625A JP11162589A JPH02287862A JP H02287862 A JPH02287862 A JP H02287862A JP 1111625 A JP1111625 A JP 1111625A JP 11162589 A JP11162589 A JP 11162589A JP H02287862 A JPH02287862 A JP H02287862A
Authority
JP
Japan
Prior art keywords
adder
output
neural network
neuron
stage
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
JP1111625A
Other languages
English (en)
Inventor
Noboru Tanabe
昇 田邊
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP1111625A priority Critical patent/JPH02287862A/ja
Publication of JPH02287862A publication Critical patent/JPH02287862A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、演算処理を高速に行うことができるニューラ
ルネットワーク演算装置に関する。
(従来の技術) 最近、人間の右脳に似た情報処理能力を実現する方法と
してニューラルネットワークが注目されている。ニュー
ラルネットワークは、神経細胞をモデルとしたニューロ
ンを池数個結合した構成をとり、各ニューロンて入力信
号の重みつき総和をとり、これにしきい値作用と非線形
関数を作用させることにより、人間が出す解と同様の解
を得ようとするものである。
例えば、N個のニューロンが相互に結合されたホップフ
ィールド(Hopfield )モデルにおいて、j番
目のニューロンに対するi番目のニューロンの重みをW
ij(j−1,・・・N)、しきい値をθ11各ニュー
ロンの出力をXj(j−1,・・N)とするとき、i番
目のニューロンの行う演算はr (Σ  WijφXj
・−θi )なる式で表わされる。
この演算を通常の計算機で行うと1サイクルでN2回の
乗算とN2回の加算を必要とするため、ニューロン数が
多くなると多大な計算時間を必要とする。このため、こ
の演算を高速化する方式が研究されている(小池他:専
用ハードウェアによるニューロン・コンピユーテイング
、情報処理1988年9月)。
その主な方式として、アナログ演算を行う方式、DSP
を用いる方式、並列計算機を用いる方式がある。
アナログ演算を行う方式では、ニューロンの出力を電圧
で表わし、重みWijを抵抗により実現することで高速
処理が行えるが、精度、高密度実装性、可変抵抗の実現
法等に問題があり、大規模なネットワークは実現されて
いない。
DSPを用いる方式では、乗算、加算は高速化できるが
、計算量が多いため、その効果はあまり大きくないとい
う問題がある。
並列計算機を用いる方式では、ニューロン単位の並列処
理により計算量を減少できるが、プロセッサ間の通信に
多大の処理時間を要するという問題がある。
このように、ニューラルネットワークの演算を高速化す
るには各種の方式が考えられるが、大規模なネットワー
クをり扱うには、いずれも欠点がある。
(発明が解決しようとする課題) 以上のように、ニューラルネットワークの演算を高速化
するためには、多数の積和演算を高速処理する必要があ
り、従来の方式では効率よく処理できないという問題が
ある。
そこで、本発明は、ニューラルネットワークの演算を効
率よく高速処理することができる演算装置を提供するこ
とを目的とする。
[発明の構成コ (課題を解決するための手段) 本発明では、乗算器を複数個用い、それらの出力を木構
造に接続された加算器アレイ(加算器トリー)に入力す
ることを基本とする。さらに、このような基本構造に対
して、非線形関数を実行するステージや、加算器トリー
の部分木からの出力をとり出すパスや、乗算器アレイへ
の人カデタを準備するシフトレジスタや、シフトレジス
タの途中からデータの入力を可能にするパスを具備させ
る。
(作用) 乗算器アレイ及びこれに接続される加算器トリーは、共
通のクロックにより全体としてパイプライン的に動作し
、ニューラルネットワークの演算でしばしばあられれる
Σ Wij−Xiで表現さ1においてi番目のニューロ
ンにおける重みW+1と出力Xiを乗算器の入力側から
投入し、時刻2においては次の組み合わせWi2.Xi
を投入する。このように規則的に投入されていく重みW
ijと出力Xiの組が、パイプラインによって時間的に
並列処理される。
一方、パイプライン処理する場合、特に、演算器単体に
パイプライン式のタイプのものを入力するデータの時間
方向の数が多くないと良好な性能が得られないという問
題が生じる。そこで、乗算器の個数をMとすると、パイ
プラインの段数は、log2Mとなるので、ニューロン
数NがMと同等もしくは、それより大きい場合、パイプ
ライン段数Mよりベクトル長Nのほうが十分大きいので
、最大性能が出やすい。
ニューラルネットワーク演算をするためには、さらにし
きい値との減算やsigmoid関数のような非線形関
数を積和演算の結果に対して作用させる必要があるが、
このような後処理は加算器アレイから次々と出力されて
くる結果を受ける非線形間れる積和演算を並列に実行す
る。すなわち、時刻数ステージを追加することによりバ
イブライン的に処理することが可能である。
演算器アレイのサイズはハードウェアなので固定してい
るが、扱いたいニューラルネッI・ワークのニューロン
数Nやシナプス数Sは問題によって変動する。SはNと
同数、あるいは、ある層のニューロン数Nと同数となっ
ていることが一般的である。
ネットワークの規模が小さく、ニューロン1個のシナプ
ス数の最大値Sが乗算器数Mの半分より小さい場合は、
加算器トリーの途中の段で結果が山るので、加算器トリ
ーの部分木の141力をとり出すパスは、この結果の回
収に用いられる。非線形関数を通して得られる各ニュー
ロンの次の出力は、1個ずつ山でくるのでこれらをシフ
トレジスタに通すことにより、目的の乗算器まで効率的
に渡すことが可能である。
ニューロン1個のシナプス数の最大値Sが乗%器数Mよ
り小さい場合でも、シフ[・レジスタの途中からデータ
を入れることにより転送の待ち時間の増加を防ぐことが
可能である。
(実施例) 以下、本発明の詳細な説明する。
第1図は本発明一実施例に係るニューラルネットワーク
演算装置の構成を示す図である。
図示のように、本例の演算装置は、8個の乗算器1〜8
と、この出力端に接続されるトリー構造の加算器9〜1
5を有して構成されている。
前記トリー構造の加算器の内、1段目の最初の加算器9
、及び2段目の最初の加算器13、並びに最高段の加算
器15の出力は、セレクタ16に入力されるようになっ
ている。
前記セレクタ16の出力は非線形関数ステージ17に人
力されるようになっている。
一方、前記乗算器1〜8の入力端には、メモリM1〜M
8と、オペランド用のレジスタr1〜「2及びレジスタ
R1〜R8の直列回路が接続されている。
レジスタR1〜R8については、第8番目の出力がそれ
より1番若い第7番目の入力となるが如く1番目のレジ
スタR1まで順次接続され、全体として1つのシフトレ
ジスタを構成するようになっている。さらに、このよう
に接続されたンフトレジスタR1〜R8の途中には、レ
ジスタR2R4の手前側にセレクタ1.8,1.9が介
在され、これらセレクタ18.19の一方の入力端、及
び第8番目のレジスタR8の入力端には前記非線形関数
ステージ]7の出力が入力されるようになっている。
上記の構成において、本例の演算装置では、セレクタ1
8に非線形ステージ]7の出力を採択させる場合には、
レジスタR,,R2の出力に関係する2つの乗算器1,
2を作動させ、加算器9の出力がセレクタ16によって
採択されるようになる。同様にセレクタ1つが非線形関
数ステージ17の出力を採択する場合は、加算器に3の
出力か採択されるようになる。さらに、両セレクタ18
]9が共に前段のレジスタR3,R5の出力を採択する
場合にはセレクタ]6は最」二段の加算器]5の出力を
採択するようになる。
次に、上記の如く構成された演算装置により、第2図、
第3図、第4図に示すようなニューロン数が2.4.8
個のHopNeldモデルのニューラルネットワークに
ついてその演算方式を説明する。
まず、第2図は、2つのニューロンN、、N2を有し、
その日」力x、、x2は各ニューロンN1N2にそれぞ
れ2個づつ設けられたシナプス20に人力されるれよう
になっている。
各シナプス20の爪みWijは、ニューロンjからの出
力Xjがニューロン1に対して与える影響に対する重み
を意味するものである。
第3図に示すモデルは、ニューロン数か4個で、各ニュ
ーロンに対しては、他のニューロンの影響を計算するた
め、それぞれ4個のシナプス20が接続されている。
第4図に示すモデルは、ニューロン数が8個で、各ニュ
ーロンには8個のシナプスが接続されている。
そこで、本例では、これら第2図〜第4図に対するモデ
ルに対し、適正な演算を行うべく、前記のセレクタ16
.18,1.9を操作することにより、第5図〜第7図
に示すような演算装置を構築するのである。
すなわち、第5図の例では、第1図において加算器9よ
り図において右方に位置する素子を休止状態とする。同
様に、第6図の例では加神器13より右方に位置する素
子を休止状態とする。第7図の例では、全素子を動作さ
せ加算器15の出力を非線形関数ステージ17に人力し
、この出力を第8番目のレジスタR8に入力する。
そこで、第5図〜第7図に示すように、メモリM、〜(
M8)のアドレス1にはニューロン1に関する重みWl
jを、アドレス2にはニューロン2に関する重みWIj
を、というようにアドレス1にはニューロンiに関する
重みWijを書き込んでおき、またオペランド用のレジ
スタr1〜r8には各ニューロンの出力の初期値X1〜
(X8)を書き込んでおく。
次いで、時刻t1でアドレス1、時刻E2でアドレス2
、時刻tiでアドレスiをリードするように制御すると
、ニューロンごとにパイプライン処理されて次の出力x
、、x2・・・が次々と非線形関数ステージ17から出
力されてくる。
これらはやがてシフトレジスタR1〜R8を通って、最
後のニューロンの出力が非線形関数ステジ17から出力
された直後の時刻でニューロンN1の新しい出力X1が
最後のレジスタR1に到達する。この次の時刻でシフト
レジスタR1〜R8の値を一勢にオペランド用のレジス
タr1〜r8に転送して、1サイクルが終了する。この
サイクルを何回もくり返しているうちに、やがて出力X
iが収束して、Hopfieldネットワークの最終的
な安定状態を計算することができる。
このように、本実施例によれば、N個のニュロンのHo
pfieldモデルのニューラルネットワークを0 (
N)の乗算器、加算器を用いて、O(N十log2N)
の時間で1サイクルの計算をすることが可能になる。
本例を適用したニューラルネットワーク演算装置では、
通信がローカルとなるので実装も容易であり、パイプラ
イン構成なので、原理的には一般のパイプライン式スー
パーコンピュータの実装技術を適用するならば、クロッ
クサイクルを数nsにすることも可能である。しかし、
そのようなコストのかかる実装をしなくても、並列度が
0 (N)であるので、100nsぐらいのごく一般的
なりロックサイクルで作動する安価な実装をしても高速
な性能を得ることができる。つまり、パイプラインの段
数はOLlog2N)であり、ベクトル長すなわちニュ
ーロン数NはNが大きいはと差が開き、パイプラインの
ほぼ最大性能を達成することができる。パイプラインの
ピッチが100nsたとしても、例えばニューロン数が
N=2IOならば、加算器・乗算器が各210個並列に
ほぼ最大性能で動作するので、2+ + xlOMFL
OPsすなわち20GFLOPSの性能が得られる。ま
た、制御方式は極めて単純であるので、たとえ211個
の演算器を用いたとしても、現実的な体積で実装が可能
である。
さらに、本例では、比較的小さなニューラルネットワー
クに対してもオーバーヘッドを軽減する構成をとること
が可能である。
このように、本例では、実装コスト、制御容易性、規模
に対する柔軟性、および速度に関して、ニューラルネッ
トワーク演算に与える効果は顕著である。
また、ディジタル方式なので、精度良く演算することも
可能である。
現在までに提案されているニューラルネットワークの演
算をディジタル方式で高速化する方式では、コネクショ
ンマシンのようにニューロンごとに別の演算装置で処理
するような空間並列処理方式と、A N Z A pl
usやDELTAのようにシリアルにパイプライン処理
する時間的並列処理方式をとるものに二極化しており、
シナプスを空間並列処理し、ニューロンを時間的並列処
理(パイプライン処理)するものは、本発明固有の作用
である。
各演算器単体は、内部でパイプライン処理をしていても
良いし、していなくても良い。このため比較的中純なハ
ードウェアですむ固定小数点の演算器を用いても、精度
が充分な場合はかまわないし、高速化のためにパイプラ
イン構造であることが望ましい浮動小数点演算器を用い
ることも可能である。
第8図は他の実施例を示し、第1図に示す最」−段の加
算器15を除いた状態で、2つの加算器13.14の出
力を入力する2つの非線形関数演算ステージ17A、1
7Bを設け、加算器I・リーの部分木からのフィードバ
ックループを並列化し、レジスタR1〜R8へのセレク
タを適宜行うことにより、乗算器数よりニューロン数の
少ないネットワークに対しても、演算器の利用率の向」
−による高速化を図ることができる例である。
本発明は、上記実施例に限定されるものではなく、適宜
の設計的変更を行うことにより、この他適宜の態様で実
施し得るものである。
[発明の効果] 以上の通り、本発明は複数個並列にならべられた乗算器
アレイの出力を木構造に接続された加算器アレイに供給
することによって、ニューロン単位にパイプライン処理
することを特徴とするニュラルネットワーク演算装置で
あるから、ニュラルネットワークの演算を効率よく高速
処理することができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係るニューラルネットワー
ク演算装置の構成図、第2図、第3図。 第4図はHopfieldモデルによるニューラルネッ
トワークの一例を示す説明図、第5図は第2図のネット
ワークを第1図のシステムで演算する場合の動作説明図
、第6図は第3図のネットワークを第1図のシステムで
演算する場合の動作説明図、第7図は第4図のネットワ
ークを第1図のシステムで演算する場合の動作説明図、
第8図は第3図のネットワークを演算器全てを使用して
演算する場合の動作説明図 1〜8・・・乗算器 9〜15・・加算器17・・・非
線形関数演算部 M1〜M8・・・メモリ16.18.
19・・・セレクタ ] 6 R1−R8・・・シフト用レジスタ

Claims (5)

    【特許請求の範囲】
  1. (1)複数個ならべられた乗算器アレイの出力を木構造
    に接続された加算器アレイに供給することによってニュ
    ーロン単位にパイプライン処理することを特徴とするニ
    ューラルネットワーク演算装置。
  2. (2)請求項1に記載のニューラルネットワーク演算装
    置において、前記加算器トリーの部分木からの出力をフ
    ィードバックさせるループを持つことを特徴とするニュ
    ーラルネットワーク演算装置。
  3. (3)請求項1に記載のニューラルネットワーク演算装
    置において、前記加算器トリーからの出力を受け、非線
    形関数を作用させるパイプラインステージを持つことを
    特徴とするニューラルネットワーク演算装置。
  4. (4)請求項1に記載のニューラルネットワーク演算装
    置において、前記乗算器アレイへの入力データをシフト
    レジスタにより供給するパスを持つことを特徴とするニ
    ューラルネットワーク演算装置。
  5. (5)請求項4に記載のニューラルネットワーク演算装
    置において、前記シフトレジスタの途中からデータを入
    力できるパスを持つことを特徴とするニューラルネット
    ワーク演算装置。
JP1111625A 1989-04-28 1989-04-28 ニューラルネットワーク演算装置 Pending JPH02287862A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1111625A JPH02287862A (ja) 1989-04-28 1989-04-28 ニューラルネットワーク演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1111625A JPH02287862A (ja) 1989-04-28 1989-04-28 ニューラルネットワーク演算装置

Publications (1)

Publication Number Publication Date
JPH02287862A true JPH02287862A (ja) 1990-11-27

Family

ID=14566062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1111625A Pending JPH02287862A (ja) 1989-04-28 1989-04-28 ニューラルネットワーク演算装置

Country Status (1)

Country Link
JP (1) JPH02287862A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
JP2020074099A (ja) * 2017-04-19 2020-05-14 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 処理装置と処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
JP2020074099A (ja) * 2017-04-19 2020-05-14 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 処理装置と処理方法

Similar Documents

Publication Publication Date Title
JP2663996B2 (ja) ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
CN109901878B (zh) 一种类脑计算芯片及计算设备
US20210241071A1 (en) Architecture of a computer for calculating a convolution layer in a convolutional neural network
CN107301456B (zh) 基于向量处理器的深度神经网络多核加速实现方法
KR100336266B1 (ko) 신경 프로세서, 포화 유니트, 계산 유니트 및 가산기 회로
US5517596A (en) Learning machine synapse processor system apparatus
Kim et al. A fully pipelined fpga architecture of a factored restricted boltzmann machine artificial neural network
US11983616B2 (en) Methods and apparatus for constructing digital circuits for performing matrix operations
Lehmann et al. A generic systolic array building block for neural networks with on-chip learning
WO1995030194A1 (en) Computer utilizing neural network and method of using same
US5146543A (en) Scalable neural array processor
US5148515A (en) Scalable neural array processor and method
US5065339A (en) Orthogonal row-column neural processor
US20200226201A1 (en) Methods and Apparatus for Constructing Digital Circuits for Performing Matrix Operations
US5243688A (en) Virtual neurocomputer architectures for neural networks
Saeks et al. On the Design of an MIMD Neural Network Processor
Svensson et al. Execution of neural network algorithms on an array of bit-serial processors
US5146420A (en) Communicating adder tree system for neural array processor
JPH02287862A (ja) ニューラルネットワーク演算装置
CN112836793B (zh) 浮点可分离卷积计算加速装置、系统以及图像处理方法
Penz et al. Digital signal processor accelerators for neural network simulations
CN114595811A (zh) 用于执行深度学习操作的方法和设备
Dey et al. An application specific processor architecture with 3D integration for recurrent neural networks
Kim et al. An Asynchronous Inter-Processor Communication Based, Input Recycling Parallel Architecture for Large Scale Neural Network Simulation
Wilson Neural Computing on a One Dimensional SIMD Array.