JPH06259585A - ニューラルネットワーク装置 - Google Patents

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

Info

Publication number
JPH06259585A
JPH06259585A JP7628193A JP7628193A JPH06259585A JP H06259585 A JPH06259585 A JP H06259585A JP 7628193 A JP7628193 A JP 7628193A JP 7628193 A JP7628193 A JP 7628193A JP H06259585 A JPH06259585 A JP H06259585A
Authority
JP
Japan
Prior art keywords
output
sequentially
shift
input
register
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
Application number
JP7628193A
Other languages
English (en)
Inventor
Michinori Ando
道則 安藤
Yoshihisa Harada
義久 原田
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.)
Toyota Central R&D Labs Inc
Original Assignee
Toyota Central R&D Labs Inc
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 Toyota Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP7628193A priority Critical patent/JPH06259585A/ja
Publication of JPH06259585A publication Critical patent/JPH06259585A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 各ニューロンの回路規模を大幅に縮小したニ
ューラルネットワーク装置を得ること。 【構成】 入力層、中間層及び出力層を有するニューラ
ルネットワーク装置である。各層を構成するニューロン
は、入力信号をラッチする時分割入力用のレジスタ52
と、所定の演算に用いる乗算値を、2のべき乗で表され
た乗算値として記憶する乗算値記憶手段54と、前記レ
ジスタ52および記憶手段54を制御し、前記レジスタ
52を用い前記演算に用いる入力信号を時分割で順次取
り込むとともに、前記記憶手段54から前記演算に用い
る乗算値を演算タイミングにあわせて逐次出力させる制
御手段50と、順次取込まれる入力信号と、前記記憶手
段から逐次出力される乗算値とを用い、前記演算を積和
演算として逐次行なう積和演算手段と56とを含み、各
ニューロン内における演算を、入力信号を時分割で順次
取り込み、積和演算として逐次実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力層、中間層及び出
力層を有するニューラルネットワーク装置に関する。
【0002】
【従来の技術】近年、ニューラルネットの応用や専用ハ
ードウェア化の研究が盛んに行われている。特に、パタ
ーン認識装置及び音声認識装置等に用いられるニューラ
ルネットワークの分野においては、バックプロパゲーシ
ョン(BP)アルゴリズムに基づいた階層型ネットワー
クが成果を上げている。
【0003】ニューラルネットワークの認識の精度等を
高めるために、各ニューロンでは、多数の入力に対して
演算処理を施して出力信号を求めている。
【0004】このため、ニューラルネットワークを、単
純にハードウェア化すると、その回路規模が非常に大き
くなり、しかも高価なものとなってしまうという問題が
ある。
【0005】図1には、階層型のニューラルネットワー
クの基本構成が示されている。図において、○印がニュ
ーロンを表しており、左から順に、入力層、中間層、出
力層を構成する。
【0006】ここにおいて、入力層から中間層、中間層
から出力層への各結合係数をWij、Wjkとする。入
力層における第iユニットの出力をOi、中間層におけ
る第jユニットの入出力をそれぞれIj 、Oj で表す
と、これらは次式で関係付けられる。
【数1】
【数2】
【数3】 ここにおいて、f(x)はシグモイド関数と呼ばれる非
線形関数である。bjは、中間層の各ユニットのバイア
スを表す。出力層の各ユニットについても同様である。
【0007】中間層、出力層のニューロンは、各入力と
結合係数との積和を計算した後、シグモイド関数を用い
出力を計算する。
【0008】従来のニューロンモデルでは、前記積和演
算を行うために、各ニューロンが乗算器と加算器を持つ
必要がある。このため、ニューロンモデルを単純にハー
ドウェア化した場合には、回路規模が増大してしまうと
いう問題があった。
【0009】特に、ニューラルネットワークのデータビ
ット数は、通常の場合、精度を保持するために、32も
しくは16ビットが必要である。このようなビット数の
データを処理するためには、必要とされる乗算器の回路
規模が非常に大きくなってしまい、回路の小型化ができ
なかった。
【0010】このような問題を解決し、ニューロンを構
成する各素子の回路規模を低減するため、特開平4−5
1384号公報にかかる提案が行われている。この提案
では、ニューラルネットワークのニューロンにおける乗
算を、ビットシフトまたはビットシフトされたもの同士
の和に置き換えることにより、回路規模を小さくするこ
とが可能となる。
【0011】
【発明が解決しようとする課題】しかし、前記従来技術
では、多数の入力に対する演算を並列的に行っている。
このため、各ニューロンへの入力が多数存在する場合に
は、入力信号と結合係数の乗算用に、入力信号の個数分
のシフト演算部が必要となる。しかも各シフト演算部の
出力を順次加算していくため、多数の加算器が必要とな
る。
【0012】このように、乗算の一部をシフト演算に置
き換えるという従来技術では、各ニューロンにおける乗
算に用いる乗算器の回路規模はある程度低減できるもの
の、回路全体としての規模の縮小化が不十分であるとい
う問題があった。従って、ニューラルネットワークをハ
ードウエアで構成した場合に、集積度を高めることがで
きなかった。
【0013】本発明は、このような従来の課題に鑑み成
されたものであり、その目的は、各ニューロンにおける
積和演算を簡単な構成の回路を用いて実現でき、ニュー
ラルネットワークをハードウエアで構成した場合の集積
度を高めることが可能なニューラルネットワーク装置を
提供することにある。
【0014】
【課題を解決するための手段】第1の発明 前記目的を達成するため、本発明は、入力層、中間層及
び出力層を有するニューラルネットワーク装置におい
て、各層を構成するニューロンは、入力信号をラッチす
る時分割入力用のレジスタと、所定の演算に用いる乗算
値を、2のべき乗で表された乗算値として記憶する乗算
値記憶手段と、前記レジスタ及び記憶手段を制御し、前
記レジスタを用い前記演算に用いる入力信号を時分割で
順次取り込むとともに、前記記憶手段から前記演算に用
いる乗算値を演算タイミングにあわせて逐次出力させる
逐次演算用の制御手段と、前記レジスタに順次取込まれ
る入力信号と、前記記憶手段から逐次出力される乗算値
とを用い、前記演算を積和演算として逐次行なう積和演
算手段と、を含み、前記積和演算手段は、シフト回路
と、アキュムレータと、加算器とを含み、前記シフト回
路は、順次取り込まれる前記入力信号に対する乗算を2
のべき乗で表された前記乗算値を用いてシフト演算する
よう形成され、前記加算器は、前記シフト回路の出力
と、前記アキュムレータの出力とを加算し前記アキュム
レータに向け出力するよう形成され、前記アキュムレー
タは、前記加算器の出力を順次記憶し、前記演算の結果
を出力するよう形成され、各ニューロン内における演算
を、入力信号を時分割で順次取り込み、積和演算として
逐次実行することを特徴とする。
【0015】ここにおいて、前記入力信号は、二進数で
表された信号として入力されるよう形成することが好ま
しい。
【0016】さらに、前記制御手段は、前記演算を積和
演算として逐次実行するよう、前記レジスタ及び記憶手
段を積和演算のタイミングに合わせてシーケンス制御
し、前記レジスタへの前記入力信号の取り込み、及び前
記記憶手段からの乗算値の読出しを行なわせるよう形成
することが好ましい。
【0017】また、前記ニューロンは、所定のシグモイ
ド関数テーブルが記憶され、前記積和演算手段の出力を
シグモイド関数テーブルに従って変換出力するシグモイ
ド変換手段を含むよう形成することが好ましい。
【0018】また、前記ニューロンは、演算結果を外部
バスヘ出力する出力バッファを含み、前記制御手段は、
前記演算終了後、前記積和演算手段の出力または前記シ
グモイド変換手段の出力を外部バスへ向け出力するよう
前記出力バッファを制御するよう形成することが好まし
い。
【0019】また、前記シグモイド変換手段は、複数の
ニューロンと外部バスを介して時分割で接続され、各ニ
ューロンの出力をシグモイド変換して出力するよう形成
することが好ましい。
【0020】さらに、前記入力層の複数のニューロン、
前記中間層の複数のニューロンまたは前記出力層の複数
のニューロンは、それぞれ対応する共通のニューロンを
時分割で用いることにより構成されるよう形成すること
もできる。
【0021】
【作用】入力層、中間層及び出力層を有するニューラル
ネットワーク装置において、各ニューロンは、その処理
精度を高めるため、多数の入力信号に対して演算処理を
施している。
【0022】本発明の装置は、各ニューロン内における
前記演算を、入力信号を時分割で順次取り込み、積和演
算として逐次実行することを特徴とするものである。
【0023】すなわち、各層を構成するニューロンは、
入力信号をラッチする時分割入力用のレジスタと、所定
演算に用いる乗算値が2のべき乗で表された値として記
憶される乗算値記憶手段とを有する。
【0024】そして、制御手段は、前記レジスタ及び記
憶手段を、所定の積和演算式に基づく演算タイミングに
合わせて制御する。これにより、レジスタを用い、前記
積和演算に用いられる入力信号が時分割で順次取り込ま
れると共に、前記記憶手段からは、演算に用いる乗算値
が、演算タイミングに合わせて逐次出力される。そし
て、レジスタに取り込まれた入力信号及び記憶手段から
出力される乗算値は、積和演算手段に入力される。
【0025】積和演算手段は、このようにして順次入力
される入力信号と、乗算値とを用い、積和演算を逐次実
行していく。
【0026】このように、本発明によれば、複数の入力
信号をレジスタを用いて逐次入力し、その積和演算を、
逐次実行する構成とすることにより、複数の信号を同時
に入力し積和演算を並列処理する従来技術に比べ、ニュ
ーロンの内部の回路構成を極めて簡単なものとすること
ができる。特に、演算に使用する積和演算手段は、演算
を並列処理する構成ではなく、入力を時分割で取り込み
逐次処理により演算を行う構成とするため、その回路構
成は極めて簡単なものとなる。
【0027】本発明において、前記積和演算手段は、積
和演算を逐次演算して実行するため、シフト回路と、ア
キュムレータと、加算器とを含む。
【0028】前記シフト回路は、順次入力される入力信
号に対する乗算を、2のべき乗で表された乗算値を用い
てシフト演算する。
【0029】そして、前記加算器は、前記シフト回路か
ら出力される乗算結果の出力と、前記アキュムレータの
出力とを加算し、前記アキュムレータに向け出力する。
これにより、アキュムレータのデータは、加算器の出力
により順次更新され、所定演算式に基づく演算結果がア
キュムレータから出力されることになる。すなわち、こ
のアキュムレータには、所定の積和演算を逐次実行する
ことにより得られた値が順次記憶されることになり、演
算が終了した段階で、このアキュムレータから演算式に
基づく演算結果が出力されることになる。
【0030】このように、本発明では、積和演算手段
を、シフト回路と、アキュムレータと、加算器とを組み
合わせた構成としたことにより、積和演算の乗算を1台
のシフト回路を用いて行い、さらに積和演算の加算を1
台の加算器を用いて行うことができるため、その回路構
成は極めて簡単なものとなる。
【0031】そして積和演算手段から出力される演算結
果は、シグモイド変換手段によりシグモイド関数テーブ
ルに従って変換され、出力されることになる。
【0032】
【発明の効果】以上説明したように、本発明によれば、
各ニューロン内における演算を入力信号を時分割で順次
取り込み、積和演算として順次実行する構成とすること
により、各ニューロンの回路規模を大幅に縮小し、ニュ
ーラルネットワークをハードウエアで構成した場合に、
集積度の高いニューラルネットワーク装置を得ることが
できるという効果がある。
【0033】第2の発明 また、第2の発明は、前記第1の発明に、さらに次の構
成を付加することを特徴とする。
【0034】本発明において、前記積和演算手段は、前
記シフト回路の出力をラッチするラッチ回路を含み、前
記シフト回路は、前記制御手段の指示に従い、前記ラッ
チ回路にラッチされたデータと、記憶手段から読み出さ
れた乗算値とをシフト演算して出力するよう形成され、
前記ラッチ回路は、前記制御手段の指示に従い、ラッチ
したデータを前記加算器へ向け出力するよう形成された
ことを特徴とする。
【0035】以上の構成とすることにより、前記積和演
算手段は、シフト回路とラッチ回路とを用い、シフト回
路から出力されるシフト演算値を、再度繰り返してシフ
ト演算することができる。
【0036】従って、本発明の装置を用いることによ
り、乗算を複数回繰り返すようなタイプの積和演算を行
うことができる。
【0037】第3の発明 また、第3の発明は、前記時分割入力用のレジスタおよ
び前記積和演算手段のシフト回路を、前記入力信号が上
位ビット又は下位ビットからシリアル入力される共通の
シフトレジスタとして形成し、前記シフトレジスタは、
シリアル入力される前記入力信号に対する乗算を2のべ
き乗で表された前記乗算値を用いてシフト演算するよう
形成されたことを特徴とする。
【0038】以上の構成とすることにより、回路規模を
より縮小することが可能となる。
【0039】
【実施例】次に、本発明の好適な実施例を、図面に基づ
き詳細に説明する。
【0040】第1実施例 図2には、図1に示す階層型のニューラルネットワーク
の基本構成が簡略化されて記載されている。このニュー
ラルネットワークは、入力層、中間層、出力層を有す
る。入力層は、複数のニューロン10−1,10−2,
…を含んで構成され、中間層は複数のニューロン20−
1,20−2,…を含んで構成され、出力層は一または
複数のニューロン30を含んで構成されている。同図に
おいて、i1,i2はニューロン10−1,10−2へ
の入力を表し、O1〜O5はニューロンからの出力を表
す。Wは各ニューロン間の結合係数を表す。
【0041】このような構成のニューラルネットワーク
では、各ニューロンの出力O1〜O5は次式で表され
る。
【数4】
【数5】
【数6】
【数7】
【数8】 このニューラルネットワークでは、BPアルゴリズムに
基づいて、結合係数Wの学習を行った後、認識動作を実
行する。
【0042】この認識動作は、前記数4〜数8に基づい
て、ある入力(i1,i2 )に対し、出力O5 を演算する
プロセスとして実行される。この認識動作を行なう場合
に、中間層、出力層の各ニューロンは、入力信号と結合
係数の積和を演算し、シグモイド関数により出力を計算
している。
【0043】このようなニューラルネットワークでは、
BPアルゴリズムに基づいて結合係数Wが適切な値に設
定されることにより、所定の入力に対して最適な出力O
5を演算し、正確な認識動作を行うことが可能となる。
【0044】なお、このニューラルネットワークにおい
て前述したBPアルゴリズムに基づく学習は、以下に示
す計算式により実行される。
【数9】
【数10】
【数11】
【数12】
【数13】
【数14】
【数15】
【数16】
【数17】
【数18】
【数19】
【数20】
【数21】
【数22】 ここで、前記各式のパラメータは、次の内容を意味す
る。 W35,W45:結合係数 b5:バイアス O3,O4,O5:ニューロン出力 t:教師信号 d5:出力層ニューロンにおける伝播誤差 d3,d4:中間層ニューロンにおける伝播誤差 η:学習効率(一回の学習における修正量を変化させる
パラメータ) dW35,dW45,db5;結合係数,バイアスの修
正量 α:慣性係数 dW35(n):n回目の修正における修正量 dW35(n+1):n+1回目の修正における修正
量。他の修正量についても同様 W35(n):n回目の修正後の結合係数 W35(n+1):n+1回目の修正後の結合係数。他
の修正についても同様 ここにおいて、前記数9〜数22の詳しい説明は省略す
るが、以下にBPアルゴリズムに基づく学習の手順を簡
単に説明する。
【0045】まず、出力層の出力O5 と教師信号tの差
から、数9式のd5 を計算し、その値を基に、結合係数
の修正量であるdw35(数10)、dw45(数1
3)及びバイアスの修正量db5(数16)を計算す
る。ここで用いられるηは学習効率と呼ばれる。
【0046】修正量を用いて数17〜数19により、そ
れぞれの値を修正する。d3(数12)、d4(数1
5)には、入力および中間層間のパラメータを修正する
ために必要なデータである。
【0047】数9〜数22までの計算式は、出力層に関
係したパラメータの修正を行う計算式である。これらの
式により出力層のパラメータを修正した後、中間層のパ
ラメータを修正するが、考え方は同じなので、中間層に
関する計算式は、ここでは省略する。
【0048】なお、前記数9〜数22を用いた学習の具
体的なステップは、以下のように行われる。
【0049】ステップ 結合係数Wとして、乱数を用
いてその初期値を設定する。
【0050】ステップ 入力(i1,i2)に対し
て、ある学習パターンを与え、出力O5を計算する。
【0051】ステップ 出力層での誤差を計算し、結
合係数WをBPアルゴリズムにより修正する。この場合
の誤差は、次式で示すように出力と、教師信号の2乗誤
差となる。
【数23】 ステップ 前記ステップ、を全ての学習パターン
について繰り返す。
【0052】ステップ 学習が収束したか否かを、あ
る誤差評価関数式を用いて、全てのパターンについて判
定する。
【0053】以上〜のステップを一回の学習サイク
ルとする。
【0054】ステップ ステップ〜を学習が収束
するまで繰り返す。
【0055】このようにして、結合係数Wを最適値に設
定する。
【0056】以上説明したように、図2に示すようなニ
ューラルネットワークでは数4〜数8において、ある入
力に対して出力を計算し、所定の認識動作を実行してい
る。
【0057】さらに、BPアルゴリズムに基づく学習機
能があるシステムでは、前記数9〜数23に基づく演算
を実行し、最適なパラメータとなるよう、結合係数Wの
修正を行っている。
【0058】なお、第1実施例では、各ニューロン内に
おける前記数4〜数8の演算を、入力信号を時分割で順
次取り込み、積和演算として逐次実行している。
【0059】また、後述する第4実施例では、前記数4
〜数8の演算に加え、さらに前述したBPアルゴリズム
に基づく学習のための演算(数9〜数23)を、信号を
時分割で順次取り込み、積和演算として逐次実行してい
る。
【0060】以下、第1実施例に係るネットワークシス
テムを詳細に説明する。
【0061】ニューラルネットワークの回路 図3には、ニューラルネットワークをハードウェアとし
て構成した場合の実施例の回路図が示されている。入力
層を構成する各ニューロン10と、中間層を構成する各
ニューロン20はバス40−1を介して接続され、さら
に中間層20を構成する各ニューロン20と、出力層を
構成する各ニューロン30とは同様にバス40−2を介
して接続されている。
【0062】図4には、前記ニューロンの内部構成が示
されている。
【0063】実施例のニューロンは、シーケンス制御回
路50と、レジスタ52と、乗算値メモリ54と、積和
演算処理部56と、シグモイド変換回路64と、出力バ
ッファ66とを含む。
【0064】前記レジスタ52は、外部バス40から入
力信号をラッチするように形成されている。そして、シ
ーケンス制御回路50はこのレジスタ52をシーケンス
制御し、所定の演算に用いる入力信号を時分割でラッチ
させ、前記積和演算処理部56へ向け出力させる。
【0065】前記乗算値メモリ54は、結合係数メモリ
54aと、バイアスメモリ54bとを含む。
【0066】結合係数メモリ54aには、積和演算、特
に乗算に必要な乗算値が2のべき乗で表されたデータと
して記憶されている。すなわち、結合係数メモリ54a
内には、前記数6〜数8に示すシグモイド変換前の演
算、具体的には次式に示す演算に用いられる結合係数W
が、各ニューロンに対応して2のべき乗で表された値と
して記憶されている。
【0067】前記バイアス値メモリ54bには、対応す
るニューロン特有のバイアスbが記憶され、シーケンス
制御回路50の指示により、バイアス値bは後述する加
算器60へ向け出力される。
【数24】
【数25】
【数26】 例えば図2に示すニューロン20−1を例にとると、ニ
ューロン20−1の結合係数メモリ54a内には、数2
4の積和演算に用いられる結合係数W13,W23が2
のべき乗の値として記憶されている。さらに前記バイア
ス値メモリ54bには、数24に示すバイアス値b3 が
記憶されている。
【0068】前記積和演算処理部56は、このようにし
て、シーケン制御回路50の制御によりレジスタ52,
結合係数メモリ54a,バイアスメモリ54bから出力
される信号に基づき、所定演算式に基づく演算を積和演
算として逐次実行し、その演算結果をシグモイド変換回
路64へ向け出力する。
【0069】このような積和演算を実行するため、実施
例の積和演算処理部56は、シフト回路58,加算器6
0およびアキュムレータ62を含む。
【0070】前記シフト回路58は、前記レジスタ52
に逐次取り込まれる入力信号に対する乗算を、結合係数
メモリ54aから2のべき乗として出力される結合係数
Wを用いてシフト演算し、その演算結果を加算器60へ
向け出力する。
【0071】加算器60は、シフト回路58の出力と、
アキュムレータ62の出力とを加算し、アキュムレータ
62へ向け出力する。さらに、この加算器60は、バイ
アスメモリ54bからバイアス値bが出力されると、そ
のバイアス値とアキュムレータ62の値とを加算し、ア
キュムレータ62へ向け出力する。
【0072】アキュムレータ62は、このようにして加
算器60から順次出力される加算値を記憶し、その値を
加算器60へ向け出力する。
【0073】以上の構成とすることにより、図2に示す
各ニューロン20−1.20−2,30の積和演算処理
部56では、前記数24〜数26に示す積和演算をそれ
ぞれ実行し、その演算結果をシグモイド変換回路64へ
向け出力することになる。
【0074】例えば、ニューロン20−1内の回路を例
にとる。シーケンス制御回路50は、レジスタ52を用
いて、外部バス40から入力信号O1,O2の順で信号
を順次取り込ませる。そして、信号O1の取り込み時に
は、結合係数メモリ54aから結合係数W13を出力さ
せ、信号O2の取り込み時には、結合係数メモリ54a
から結合係数W23を出力させる。
【0075】そして、シフト回路58は、まず入力信号
O1に対し結合係数W13を用いてシフト演算すること
により、その乗算を実行し、その結果を、加算器60を
介してアキュムレータ62内へ蓄積する。
【0076】次に、入力信号O2が取り込まれると、こ
の入力信号O2に対し結合係数W23を用いてシフト演
算し、このシフト演算によって得られた乗算値を、加算
器60へ向け出力する。
【0077】加算器60は、この乗算値W23×O2
を、アキュムレータ62内に蓄えられている値W13×
O1と加算し、その加算結果をアキュムレータ62へ入
力する。
【0078】次に、シーケンス制御回路50はバイアス
メモリ54bに、バイアス値b3の出力を指示する。加
算器60は、このバイアス値b3とアキュムレータ62
に蓄積された値とを加算し、その加算結果を再度アキュ
ムレータ62へ向け出力する。
【0079】従って、アキュムレータ62内には、数2
4に示す積和演算を、逐次実行することにより得られた
演算結果が記憶されることになる。
【0080】このようにして、本実施例によれば、一組
のシフト回路58,加算器60,アキュムレータ62で
構成された積和演算処理部56により、例えば数24に
示すような積和演算を実行することができるため、この
ような積和演算を並列処理する従来技術に比べ、その回
路構成を極めて簡略化し、回路規模を縮小することがで
きる。
【0081】シグモイド変換回路64は、所定のシグモ
イド関数テーブルが記憶されたメモリを含み、積和演算
処理部56から出力される演算結果を、このシグモイド
テーブルに従って変換し、出力バッファ66に入力す
る。
【0082】出力バッファ66は、このようにして入力
される値を格納しておき、シーケンス制御回路50から
の指示に基づき、そのデータを外部バス40へ向け出力
する。
【0083】従って、例えば図2に示す各ニューロン2
0−1,20−2,30からは、それぞれ数6〜数8に
示す演算結果O3,O4,O5がデータバス40に出力
されることになる。
【0084】シフト演算の原理 次に、前記シフト回路58で行われる乗算、すなわちシ
フト演算の原理について説明する。
【0085】図5には、通常の乗算器で行われる乗算の
プロセスが示されている。入力信号を(a3 a2 a
1 a0)とし、この入力信号に乗算する結合係数を
(b3b2 b1 b0)とすると、その両者を掛け合
わせた結果は、(P7 P6P5……P0)として得ら
れる。
【0086】図6には、図5に示す乗算を行う従来の乗
算器の構成が示されている。この乗算器は、入力信号お
よび結合係数がそれぞれ二進数として表されている場合
の乗算を行う回路である。
【0087】図5に示す乗算器では、入力信号および結
合係数の各桁同士を掛け合わせる演算を合計16回行っ
ているため、16個のANDゲートが必要となる。しか
も、掛け合わされた結果を各桁ごとに加算するため、図
6に示すようなフルアダーと呼ばれる加算器を合計12
個必要とする。このように4桁同士の掛け算を行う場合
に、合計16個のANDゲートと、12個の加算器が必
要とされる。前記ANDゲートは、1個当たり6個のト
ランジスタを用いて構成され、さらに加算器は、1個当
たり30個のトランジスタを用いて形成される。
【0088】従って、従来の乗算器では、4桁同士の掛
け算を行う場合に、 (6個のトランジスタ×16個のANDゲート+30個
のトランジスタ×12個の加算器)=456個数のトラ
ンジスタ が必要とされる。
【0089】これに対し、本発明のシフト回路58で
は、結合係数Wを2のべき乗で表された乗算として用
い、入力信号と結合係数Wとの乗算をシフト演算により
実行している。
【0090】例えば、図5に示す4桁の結合係数を十進
数に変換すると、図7(A)に示すように表わされる。
【0091】この結合係数Wは、図7(B)に示すよ
う、2のべき乗で表現される23 より大きく、24 より
小さい。24 ,23 をそれぞれ二進数表示すると、その
値は10000,1000となる。従って、前記結合係
数Wを2のべき乗(W=2n )に変換する際に、十進数
に用いる四捨五入と同様な方法を用いてその切り上げ,
切り捨てを行うと、図7(C),(D)に示すよう、結
合係数WはW=24 またはW=23 の値となる。このよ
うにして2のべき乗で表された結合係数Wを二進数表示
すると、W=24 の場合には、W=10000となり、
W=23 の場合には、W=1000となる。例えば、二
進表現されたWが1010の場合には、これを前述した
ように切り上げまたは切り捨て2のべき乗(23 )で表
示すると、その値の二進表示はW=1000となる。ま
た二進表示されたWが1111で表される場合には、こ
れを同様にして2のべき乗(24 )で表現すると、その
値の二進表示はW=10000となる。
【0092】本発明では、このようにして2のべき乗で
表示された結合係数Wが、結合係数メモリ54a内に記
憶されている。例えば、二進表示された結合係数の実際
の値がW=1010である場合には、この結合係数は四
捨五入によって2のべき乗(2n )で表示された結合係
数W=23 (二進表示ではW=1000)の値として結
合係数メモリ54a内に記憶される。
【0093】そして、シフト回路58において、入力信
号と結合係数Wの乗算が、図8に示すようシフト演算に
よって行われる。すなわち、入力信号を2べき乗に変換
された結合係数の指数分だけ、すなわち3桁分だけシフ
トさせる。
【0094】このように乗算を、シフト演算により実行
する本発明の装置では、図5に示すよう乗算をそのまま
実行する場合に比べ、その演算が極めて簡単なものとな
り、シフト演算を実行する回路構成も極めて簡単なもの
となる。
【0095】図9には、図8に示すシフト演算原理に基
づき演算を実行するシフト回路58の具体的な構成が示
されている。このシフト回路58は、0入力の2本のラ
イン74,76と、P0〜P6で表される7桁の乗算結
果出力用の複数の信号ライン78−0,78−1……7
8−6とを含み、その下4桁の信号ライン78−0,7
8−1,78−2,78−3に、二進数で表示された4
桁の入力信号の各桁の値a0,a1,a2,a3がそれ
ぞれ入力されている。なお、残りの信号ライン78−
4,78−5,78−6には、0が入力されている。
【0096】また、この信号ライン78−0,78−
1,……78−6には、2ビットシフタ70と、1ビッ
トシフタ72とが設けられている。
【0097】前記2ビットシフタ70は、各信号ライン
78間を結ぶ複数の2桁シフトアップ用ライン80を含
み、前記各信号ライン78−0,78−1……78−6
と、各シフトアップライン80には、桁上げなし時にO
Nするスイッチ82と、桁上げ時にONするスイッチ8
4とがそれぞれ設けられている。そして、桁上げを行わ
ない場合には、ライン86に電圧を印加して各スイッチ
82をONし、桁上げを行う場合にはライン88に電圧
を印加して各スイッチ84をONする。
【0098】また、前記1ビットシフタ72は、基本的
には2ビットシフタ70と同様な構成であるが、シフト
アップライン80が各信号ライン78間を1桁シフトア
ップするように接続されている点で、2ビットシフタ7
0と異なる。従って、桁上げを行わない場合には、ライ
ン86を介してスイッチ82をONし、桁上げを行う場
合にはライン88を介してスイッチ84をONする。
【0099】従って、入力信号の桁上げを全く行わない
場合には、各シフタ70,72のライン86を介してス
イッチ82をONすればよい。
【0100】また、1桁シフトアップを行う場合には、
1ビットシフタ72のライン88を介して、そのスイッ
チ84をONすればよい。
【0101】また、2桁シフトアップする場合には、2
ビットシフタ70のライン88を介してスイッチ84を
ONすればよい。
【0102】さらに、3ビットを桁上げする場合には、
1ビットシフタ72および2ビットシフタ70の各ライ
ン88を介し、対応するスイッチ84,84をそれぞれ
ONしてやればよい。
【0103】このように、本実施例によれば、図8に示
す乗算を行う場合には、合計26個のスイッチを設けれ
ばよく、しかもこれら各スイッチは、単に電圧線をON
/OFFさせればよいため、2個のトランジスタで形成
される。従って、図9に示すシフト回路58は、26×
2=52の、合計52個のトランジスタで構成すること
ができ、図6に示す従来の乗算器に比べ使用するトラジ
スタの数をほぼ十分の一まで低減することができる。
【0104】なお、実施例では、結合係数Wを2のべき
乗に変換する際に、十進数で用いられる四捨五入と同様
な方法を用いて、切り捨てまたは切り上げを行ってい
る。従って、結合係数メモリ54a内に記憶される結合
係数Wは、2のべき乗に変換する際に、切り上げられる
場合と、切り下げられる場合とがあり、これが誤差とな
って表れる。しかし、この誤差は、正および負のいずれ
の方向にも生ずることになるため、これらの値を用いて
積和演算することにより、積和演算の過程でその誤差が
相殺され、結局誤差の影響を低減することが可能とな
る。
【0105】従って、このような2のべき乗表現を導入
し、シフト演算を行っても、乗算器を用いて前記積和演
算を行った場合に比べ誤差が大幅に増大することもな
く、ニューロンの出力の計算が可能となる。
【0106】従来技術との比較 次に、本実施例のニューラルネットワーク装置が、特開
平4−51384号公報に係る従来のニューラルネット
ワークに比べ、どの程度回路規模を縮小できるかについ
ての検討結果を説明する。
【0107】図10には、前述した従来技術に示された
ニューロンの内部回路の構成が示されている。従来のニ
ューロンでは、複数の入力信号に対する積和演算を並列
処理で実行したため、入力信号の個数nに対応したシフ
ト演算部90−1,90−2……90−nが必要とな
る。そして、これら各シフト演算部90内において、入
力信号と結合係数Wとの乗算をシフト演算として実行し
ている。
【0108】これに加えて、各シフト演算部90−1,
90−2……90−nの出力は、それぞれ多段の加算器
92−1,92−2……92−(n−1)で加算され、
最終段の加算器92−(n−1)から出力される演算結
果がシグモイド変換回路94で変換され、出力信号とし
て出力される構成となっている。
【0109】このように、前記従来技術では、入力信号
の個数nに対応した個数のシフト演算部90が必要とな
り、しかも各シフト演算部の出力を加算するため(n−
1)個の加算器が必要となる。このため、積和演算に必
要とする回路規模は極めて大きなものとなる。
【0110】これに加えて、乗算を行うシフト演算部9
0では、乗算を2のべき乗で表されたシフト演算として
実行しているものの、入力信号のビット数に対応した複
数段のビットシフタ96が必要とされ、しかも各ビット
シフタ96の出力を順次加算していくため複数段の加算
器98が必要となる。このため、図9に示す本実施例の
シフト回路58に比べその回路規模は極めて大きなもの
となることが理解されよう。
【0111】これに対し、本実施例では、入力信号を時
分割で逐次入力し、入力信号に対する積和演算を、積和
演算回路56を用いて逐次実行する構成としている。こ
れに加え、積和演算回路56は、1個のシフト回路5
8,1個の加算器および1個のアキュムレータ62です
べての積和演算を実行できる構成としているため、図1
0に示す従来の積和演算回路に比べ、その回路規模を大
幅に低減することが可能となる。
【0112】これに加えて、本実施例では、結合係数を
2のべき乗に変換する際に、十進数で用いられる四捨五
入と同様な方法を用いて切り上げ,切り捨てを行い、最
上位桁以外は0で表示された値として結合係数メモリ5
4aに記憶している。従って、シフト回路58で実行す
るシフト演算が極めて簡単なものとなり、その回路構成
を、例えば図9に示すように単純化することができ、こ
の面からも回路全体の回路規模を縮小することができ
る。
【0113】このように、実施例のニューラルネットワ
ーク装置では、各ニューロン内において、積和演算に用
いる回路を従来技術に比べ縮小することができ、特に各
ニューロンに多数の信号が入力される場合に、前記従来
技術に比べその回路規模を大幅に縮小可能であることが
理解できよう。
【0114】第2実施例 前記実施例では、中間層,出力層を構成するニューロン
20,30をそれぞれ複数個設け、それぞれのニューロ
ンが、各層において並列に演算を行う場合を例にとり説
明した。これに対し、時分割の手法を用いることによ
り、1個の共通のニューロンを設けるのみで、複数のニ
ューロンを設けた場合と同様な構成とすることができ
る。
【0115】図11には、このような観点にたってなさ
れた、本発明の好適な第2実施例が示されている。
【0116】本実施例のニューラルネットワークでは、
中間層が1個のニューロン20を用いて構成されてい
る。このニューロン20を、時分割の手法を用いること
により、図3に示す複数のニューロン20の演算を1個
のニューロン20で逐次処理し、外部バス40−2へ出
力するように構成されている。
【0117】このようにすることにより、ニューラルネ
ットワーク全体の回路規模をさらに縮小することができ
る。
【0118】第3実施例 図12には、本発明の好適な第3実施例が示されてい
る。
【0119】前記第1実施例では、例えば中間層を構成
する複数のニューロン20がそれぞれシグモイド変換回
路64を備える場合を例にとり説明した。
【0120】これに対し、本実施例では、中間層を構成
する複数のニューロン20に共通のシグモイド変換回路
64を、外部バス40を介し各ニューロン20と接続し
ている。そして、各ニューロン20は時分割の手法を用
いて共通のシグモイド変換回路64を利用し、出力バッ
ファ66から出力される積和演算値を、シグモイド変換
して外部バス40へ向け出力することを特徴とするもの
である。
【0121】すなわち、本実施例では、各ニューロン内
において、積和演算回路56を用いた積和演算までの工
程は、前記第1実施例と同様である。
【0122】そして、積和演算が終了した後、そのデー
タは出力バッファ66に格納される。
【0123】次に、図示しないアドレス制御回路でアド
レス指定されたニューロン20から、出力バッファ66
のデータが外部バス40を介し、シグモイド変換回路6
4に入力され、ここでその値はシグモイド変換される。
シグモイド変換されたデータは、各ニューロンに転送さ
れることになる。
【0124】このように、本実施例のニューラルネット
ワークでは、複数のニューロン20のシグモイド変換回
路64を1つにすることができるため、シグモイド変換
回路64の個数を減らし、回路全体の規模をより小さく
することができる。
【0125】第4実施例 次に、BPアルゴリズムに基づく学習機能のための回路
を追加したニューラルネットワークの好適な実施例を説
明する。
【0126】図13には、BPアルゴリズムに基づいて
結合係数の学習を行うよう構成されたニューラルネット
ワークが示されている。このニューラルネットワーク
は、ある入力パターンに対して順方向の計算を行う際に
用いられるデータバス40−1,40−2,40−3
と、学習のための逆方向の計算に用いられるデータバス
42−1,42−2とを含む。さらに、学習のための計
算用に、学習シーケンス制御回路44と、アドレス発生
回路46と、教師信号メモリ48とが設けられている。
【0127】図14には、中間層および出力層の各ニュ
ーロンの回路構成が示されている。
【0128】実施例の各ニューロンは、乗算値メモリ5
4として、結合係数メモリ54a,バイアスメモリ54
b,結合係数修正量メモリ54c,パラメータメモリ5
4dを含む。
【0129】また、実施例の積和演算回路56は、シフ
ト回路58と加算器60との間にラッチ回路68が設け
られている。そして、シフト回路58の出力をラッチ回
路68で一旦ラッチし、その値を再度シフト回路56へ
入力するよう構成されている。これにより、シフト回路
58から出力されるシフト演算値に、再度繰り返してシ
フト演算を行なうことができる。
【0130】なお、本実施例においては、ある入力パタ
ーンに対して順方向の演算を行う場合は、前記第1実施
例と同様であるので、ここでは学習のための逆方向の演
算を行う場合について詳細に説明する。
【0131】BPアルゴリズムに基づく学習を行う際に
用いる演算式は、前記数9〜数23で示されることは前
述した。これらの式からわかるように、BPアルゴリズ
ムによる学習を実行するためには、かなりの乗算が必要
となる。学習機能を含んだハードウエアを構成するため
には、BPアルゴリズムによる学習時の乗算を簡略化す
る必要がある。
【0132】そこで、まずシグモイド変換回路64は、
シグモイド関数f(x)の出力値を、最も近い2のべき
乗に置き換えた場合のシグモイド変換テーブルをもつよ
うに形成する。さらに、1からシグモイド関数の出力値
を減算した値{1−f(x)}を、最も近い2のべき乗
に置き換えて表現したデータテーブルをもつように形成
する。
【0133】さらに、学習時のパラメータの表現とし
て、BPアルゴリズムにおいて用いるニューロン出力関
数の1次微分項(df/dx)を、2のべき乗で表現す
る。さらにBPアルゴリズムにおいて用いる学習効率η
を、2のべき乗で表現する。これに加えて、BPアルゴ
リズムにおいて用いる慣性係数(α)を2のべき乗で表
現する。このようにして2のべき乗で表現されたパラメ
ータを、パラメータメモリ54dにあらかじめ記憶して
おく。
【0134】実施例の回路では、例えば後述するパラメ
ータd5 (2のべき乗表現)を、シグモイド変換回路6
4に記憶しておく構成を考えている。このため、パラメ
ータd5 を、パラメータメモリ54dから読み出すため
に、パラメータd5 (2のべき乗表現)を予めパラメー
タメモリ54dに書き込んでおく必要がある。このた
め、ニューロンで積和演算をした後、シグモイド変換す
ると同時に、シグモイド変換回路64は、2のべき乗表
現のパラメータd5 を、パラメータメモリ54dへ書き
込む構成となっている。
【0135】以上の構成とすることにより、数9〜数2
3に示す計算式の乗算をシフト演算に置き換え、その積
和演算を実行することができる。
【0136】例えば、前記数9は、(df/dx)が2
のべき乗であるから、乗算がシフト演算に置き換わる。
【0137】次に、数10は、η,d5が2のべき乗で
あれば、O3のデータ形式に関係なく乗算をシフト演算
に置き換えることができる。ここで、ηはパラメータで
あるから、初期値として、2のべき乗に設定すればよ
い。
【0138】また、d5の値を2のべき乗にするために
は、前記数9のd5の計算において、(t−O5)の計
算は、教師信号tを0または1と仮定すれば、(0−O
5)または(1−O5)の2通りである。従って、シグ
モイド関数のテーブルとして、2のべき乗データ形式が
あれば、(0−O5)の計算は符号を反転するのみでよ
い。また、1からシグモイド関数値を減算した値を、2
のべき乗に置き換えた値を同時にテーブルとして用意を
しておくことにより、(1−O5)の計算結果を2のべ
き乗として表現することができる。この方法により、d
5の値を2のべき乗で得ることができ、結果として前記
数10の計算をシフト演算に置き換えることができる。
【0139】以下同様に、各式の計算をシフト演算に置
き換えることができる。つまり、オンチップ学習のため
の計算において、乗算を実行することが必要なくなる。
従って、学習時間を大幅に短縮することが可能である。
【0140】また、本実施例ニューロンでは、図14に
示すようシフト回路58と加算器60との間にラッチ6
8を設けている。従って、前記数10に示すよう、乗算
を繰り返して行う場合には、シフト回路56において、
レジスタ52から入力される入力信号O3と、パラメー
タメモリ54dから読み出されるパラメータd5の乗算
をシフト演算により実行し、その値をラッチ回路68に
ラッチする。
【0141】そして、ラッチ回路68にラッチされた値
を、さらにシフト回路56に入力し、このラッチされた
値と、パラメータメモリ54dから次に読み出されるパ
ラメータηとの乗算をシフト演算により実行し、ラッチ
回路68を介して加算器60へ向け出力する。
【0142】以上の構成とすることより、乗算を2回以
上にわたって繰り返し行う場合でも、その乗算をシフト
演算として良好に行うことが可能となる。
【0143】次に、BPアルゴリズムに基づく学習を行
う場合の動作を説明する。
【0144】まず、図13に示すニューラルネットワー
クにおいて、出力層の各ニューロン30へ向け、教師信
号メモリ48から教師信号tk がデータバス42−1を
介して出力される。ここにおいて、教師信号tk が転送
されるニューロン30は、アドレス発生回路46により
順次指定される。このようにして、出力層の各ニューロ
ン30に、教師信号tk が設定されることになる。
【0145】次に、このニューラルネットワークは、あ
る入力パターンに対して順方向の計算を行い、出力層の
各ニューロン30からの出力O5k を求める。この場
合、各層間のデータ転送は、40−1,40−2,40
−3を用いて行われる。
【0146】次に、出力層のニューロン30において、
前記数9に対応する演算、すなわちd5(k)=(tk
−O5k )×(df/dx)の演算を行う。
【0147】次に、出力層の各ニューロン30におい
て、前記数11に対応する演算、すなわち、d5(k)
×Wjkの演算を行い、その演算結果を中間層のjニュー
ロン20へ転送する。データ転送は、バス42−2を用
いて行われる。
【0148】次に、各出力層のニューロン30におい
て、d5(k)より、結合係数Wjkの修正量を演算し、
この値を結合係数修正量メモリ54cに入力するととも
に、結合係数メモリ54a内の結合係数Wjkを修正す
る。
【0149】次に、中間層のjニューロン20におい
て、前記数14に対応する次式の演算を実行する。
【数27】 次に、中間層の全ニューロン20において、前記数27
の演算を実行する。
【0150】次に、中間層の各ニューロン20におい
て、数27の演算により求めた値より、結合係数Wij
修正量を計算し、この値を結合係数修正量メモリ54c
に書き込むとともに、結合係数メモリ54a内に記憶さ
れた結合係数Wjkを修正する。
【0151】次に、再度ある入力パターンに対して順方
向の計算を行い、出力層の各ニューロン30からの出力
O5k を計算する。そして、前記学習を繰り返して行
う。
【0152】このような一連の学習動作を、学習が収束
するまで繰り返して行う。
【0153】これにより、結合係数メモリ54a内に
は、最適な結合係数が設定されることになる。
【0154】第5実施例 図15、図16には、本発明の好適な第5実施例が示さ
れている。
【0155】前記第1実施例では、レジスタ52とシフ
ト回路58とがそれぞれ別の回路として形成される場合
を例にとり説明した。
【0156】これに対し、本実施例では、第1実施例の
レジスタ52およびシフト回路58が、共通のシフトレ
ジスタ53として形成され、より簡単な回路構成を実現
している。
【0157】前記シフトレジスタ53は、各ニューロン
からの入力信号がシリアル入力されるように形成されて
いる。実施例では、入力信号は下位ビットからシリアル
入力されるようになっている。
【0158】そして、シフトレジスタ53は、順次シリ
アル入力される入力信号に対する乗算を、前記第1実施
例と同様にして実行するように形成されている。
【0159】図16には、前記シフトレジスタ53を用
いて行なう演算の一例が示されている。ここでは、シフ
トレジスタ53のビット数は、8ビットとする。
【0160】まず、図16(A)に示すよう、入力信号
として1.011(4ビット入力データ)がその下位ビ
ットから入力される場合を想定する。この場合には、同
図(B)に示すよう、入力信号がシフトレジスタ53内
に取り込まれることになる。
【0161】次に、取り込まれた入力信号を、所定ビッ
ト数だけシフト演算する場合(ここでは2ビット分だけ
右にシフト演算する場合)を想定する。この場合には、
信号が下位ビットから6=(4+2)ビットまでシフト
レジスタに入力された時点で、信号入力を停止する。こ
れにより、図16(C)に示すよう、シフト演算された
結果がレジスタ53に保持されることになる。
【0162】このようにして、入力信号のシフト演算が
完了した後、シフトレジスタ53に保持されたデータ
は、加算器60へ向け転送される。なお、これ以後の演
算は、前記第1実施例と同様であるので、ここではその
説明は省略する。
【0163】以上説明したように、本実施例では、レジ
スタ52とシフト回路58とを兼用した共通のシフトレ
ジスタ53を用いている。しかも、このシフトレジスタ
53への入力をシリアル入力とし、入力信号をシフト制
御可能な構成としている。これにより、前記第1実施例
で説明した、パラレル入力型のシフト回路58と比較し
て、回路の配線規模を削減できる。また、データを保持
する入力用レジスタと乗算用のシフト回路とを同時に実
現でき、より回路規模を低減することが可能となる。
【0164】なお、本実施例では、シフトレジスタ53
への信号入力を下位ビットからシリアル入力する構成と
したが、上位ビットからシリアル入力する構成としても
よい。
【図面の簡単な説明】
【図1】ニューラルネットワークの基本構成の概略説明
図である。
【図2】図1に示すニューラルネットワークの構成を単
純なモデルに置き換えて表現した場合の説明図である。
【図3】実施例のニューラルネットワークをハードウエ
アで構成した場合の回路図である。
【図4】図3に示すニューラルネットワークに用いられ
るニューロンの回路構成の概略説明図である。
【図5】各ニューロン内において、入力信号に対し結合
係数を乗算する場合の演算原理の説明図である。
【図6】図5に示す演算原理に基づいて構成された従来
の乗算器の概略説明図である。
【図7】結合係数を2のべき乗に変換する際に、四捨五
入と同様な手法を用い、切り上げおよび切り下げして表
現する場合の手順を示す説明図である。
【図8】入力信号と、結合係数との乗算をシフト演算に
より実行する本発明のシフト演算原理の説明図である。
【図9】図8に示すシフト演算原理に基づいて構成され
たシフト回路の説明図である。
【図10】従来のニューロンの回路構成の説明図であ
る。
【図11】本発明のニューラルネットワークの好適な第
2実施例の説明図である。
【図12】本発明のニューラルネットワークの好適な第
3実施例の説明図である。
【図13】本発明のニューラルネットワークの好適な第
4実施例の概略説明図である。
【図14】図13に示すニューラルネットワークに用い
られるニューロンの回路構成を示す説明図である。
【図15】本発明のニューラルネットワークの好適な第
5実施例の概略説明図である。
【図16】図15に示すニューロン内において、入力信
号に対し結合係数を乗算する場合の演算原理の説明図で
ある。
【符号の説明】
10 ニューロン 20 ニューロン 30 ニューロン 40 外部バス 50 シーケンス制御回路 52 レジスタ 54 乗算値メモリ 56 積和演算回路 58 シフト回路 60 加算器 62 アキュムレータ 64 シグモイド変換回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 入力層、中間層及び出力層を有するニュ
    ーラルネットワーク装置において、 各層を構成するニューロンは、 入力信号をラッチする時分割入力用のレジスタと、 所定の演算に用いる乗算値を、2のべき乗で表された乗
    算値として記憶する乗算値記憶手段と、 前記レジスタ及び記憶手段を制御し、前記レジスタを用
    い前記演算に用いる入力信号を時分割で順次取り込むと
    ともに、前記記憶手段から前記演算に用いる乗算値を演
    算タイミングにあわせて逐次出力させる逐次演算用の制
    御手段と、 前記レジスタに順次取込まれる入力信号と、前記記憶手
    段から逐次出力される乗算値とを用い、前記演算を積和
    演算として逐次行なう積和演算手段と、 を含み、 前記積和演算手段は、シフト回路と、アキュムレータ
    と、加算器とを含み、 前記シフト回路は、順次取り込まれる前記入力信号に対
    する乗算を2のべき乗で表された前記乗算値を用いてシ
    フト演算するよう形成され、 前記加算器は、前記シフト回路の出力と、前記アキュム
    レータの出力とを加算し前記アキュムレータに向け出力
    するよう形成され、 前記アキュムレータは、前記加算器の出力を順次記憶
    し、前記演算の結果を出力するよう形成され、 各ニューロン内における演算を、入力信号を時分割で順
    次取り込み、積和演算として逐次実行することを特徴と
    するニューラルネットワーク装置。
  2. 【請求項2】 請求項1において、 前記積和演算手段は、 前記シフト回路の出力をラッチするラッチ回路を含み、 前記シフト回路は、 前記制御手段の指示に従い、前記ラッチ回路にラッチさ
    れたデータと、記憶手段から読み出された乗算値とをシ
    フト演算して出力するよう形成され、 前記ラッチ回路は、 前記制御手段の指示に従い、ラッチしたデータを前記加
    算器へ向け出力するよう形成されたことを特徴とするニ
    ューラルネットワーク装置。
  3. 【請求項3】 請求項1,2のいずれかにおいて、 前記時分割入力用のレジスタおよび前記積和演算手段の
    シフト回路は、前記入力信号が上位ビット又は下位ビッ
    トからシリアル入力される共通のシフトレジスタとして
    形成され、 前記シフトレジスタは、 シリアル入力される前記入力信号に対する乗算を2のべ
    き乗で表された前記乗算値を用いてシフト演算するよう
    形成されたことを特徴とするニューラルネットワーク装
    置。
JP7628193A 1993-03-10 1993-03-10 ニューラルネットワーク装置 Withdrawn JPH06259585A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7628193A JPH06259585A (ja) 1993-03-10 1993-03-10 ニューラルネットワーク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7628193A JPH06259585A (ja) 1993-03-10 1993-03-10 ニューラルネットワーク装置

Publications (1)

Publication Number Publication Date
JPH06259585A true JPH06259585A (ja) 1994-09-16

Family

ID=13600910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7628193A Withdrawn JPH06259585A (ja) 1993-03-10 1993-03-10 ニューラルネットワーク装置

Country Status (1)

Country Link
JP (1) JPH06259585A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049508A (ja) * 1995-12-27 1998-02-20 Toshiba Corp データ処理システム、システム構築装置、システム構築方法、及びシステム構築プログラムを記録した媒体
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
JP2008027176A (ja) * 2006-07-20 2008-02-07 Kyushu Institute Of Technology データ生成回路及びデータ生成方法
JP2008065477A (ja) * 2006-09-05 2008-03-21 Kyushu Institute Of Technology データ処理装置及び方法
JP2009508182A (ja) * 2005-06-28 2009-02-26 ニューロサイエンシーズ リサーチ ファンデーション インコーポレイテッド 特殊目的プロセッサを使用する神経モデリング及び脳ベースの装置
WO2018131059A1 (ja) * 2017-01-10 2018-07-19 株式会社日立製作所 ニューラルネットワーク回路
WO2018193906A1 (ja) * 2017-04-20 2018-10-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理装置およびプログラム
WO2019049741A1 (ja) 2017-09-07 2019-03-14 パナソニック株式会社 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路
JP2020038655A (ja) * 2018-09-03 2020-03-12 三星電子株式会社Samsung Electronics Co.,Ltd. ニューロモーフィック装置、及びニューロモーフィック装置でマルチビットニューロモーフィック演算を処理する方法
JPWO2020075433A1 (ja) * 2018-10-10 2021-02-15 LeapMind株式会社 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
CN113065648A (zh) * 2021-04-20 2021-07-02 西安交通大学 一种低硬件开销的分段线性函数的硬件实现方法
JP2021152703A (ja) * 2020-03-24 2021-09-30 株式会社東芝 ニューラルネットワーク装置およびニューラルネットワークシステム
US11615299B2 (en) 2017-09-07 2023-03-28 Panasonic Holdings Corporation Neural network computation circuit including non-volatile semiconductor memory element
US11733970B2 (en) 2019-09-20 2023-08-22 Kabushiki Kaisha Toshiba Arithmetic operation circuit
US12093807B2 (en) 2019-06-03 2024-09-17 Kabushikiki Kaisha Toshiba Neural network, method of control of neural network, and processor of neural network

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049508A (ja) * 1995-12-27 1998-02-20 Toshiba Corp データ処理システム、システム構築装置、システム構築方法、及びシステム構築プログラムを記録した媒体
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
JP2009508182A (ja) * 2005-06-28 2009-02-26 ニューロサイエンシーズ リサーチ ファンデーション インコーポレイテッド 特殊目的プロセッサを使用する神経モデリング及び脳ベースの装置
JP2008027176A (ja) * 2006-07-20 2008-02-07 Kyushu Institute Of Technology データ生成回路及びデータ生成方法
JP2008065477A (ja) * 2006-09-05 2008-03-21 Kyushu Institute Of Technology データ処理装置及び方法
WO2018131059A1 (ja) * 2017-01-10 2018-07-19 株式会社日立製作所 ニューラルネットワーク回路
JPWO2018131059A1 (ja) * 2017-01-10 2019-11-07 株式会社日立製作所 ニューラルネットワーク回路
US11531896B2 (en) 2017-01-10 2022-12-20 Hitachi, Ltd. Neural network circuit providing for operations with bit shifting and rounded values of weight information
US11055379B2 (en) 2017-04-20 2021-07-06 Panasonic Intellectual Property Corporation Of America Information processing method, information processing apparatus, and computer-readable recording medium
WO2018193906A1 (ja) * 2017-04-20 2018-10-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理装置およびプログラム
US11604974B2 (en) 2017-09-07 2023-03-14 Panasonic Holdings Corporation Neural network computation circuit including non-volatile semiconductor memory element
WO2019049741A1 (ja) 2017-09-07 2019-03-14 パナソニック株式会社 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路
US11615299B2 (en) 2017-09-07 2023-03-28 Panasonic Holdings Corporation Neural network computation circuit including non-volatile semiconductor memory element
JP2020038655A (ja) * 2018-09-03 2020-03-12 三星電子株式会社Samsung Electronics Co.,Ltd. ニューロモーフィック装置、及びニューロモーフィック装置でマルチビットニューロモーフィック演算を処理する方法
US11868870B2 (en) 2018-09-03 2024-01-09 Samsung Electronics Co., Ltd. Neuromorphic method and apparatus with multi-bit neuromorphic operation
JPWO2020075433A1 (ja) * 2018-10-10 2021-02-15 LeapMind株式会社 ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
US12093807B2 (en) 2019-06-03 2024-09-17 Kabushikiki Kaisha Toshiba Neural network, method of control of neural network, and processor of neural network
US11733970B2 (en) 2019-09-20 2023-08-22 Kabushiki Kaisha Toshiba Arithmetic operation circuit
JP2021152703A (ja) * 2020-03-24 2021-09-30 株式会社東芝 ニューラルネットワーク装置およびニューラルネットワークシステム
CN113065648A (zh) * 2021-04-20 2021-07-02 西安交通大学 一种低硬件开销的分段线性函数的硬件实现方法
CN113065648B (zh) * 2021-04-20 2024-02-09 西安交通大学 一种低硬件开销的分段线性函数的硬件实现方法

Similar Documents

Publication Publication Date Title
US5095457A (en) Digital multiplier employing CMOS transistors
JPH06259585A (ja) ニューラルネットワーク装置
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
EP0421639B1 (en) Parallel data processing system
CN107301454B (zh) 支持离散数据表示的人工神经网络反向训练装置和方法
JPH07248841A (ja) 非線形関数発生装置およびフォーマット変換装置
US5630023A (en) Signal processor
JPH02193251A (ja) エラー後方伝ぱん法と神経網システム
JPH05346914A (ja) ニューロプロセッサ
JPH07271748A (ja) データを正規化する手段を含むニューラル・プロセッサ
US5485548A (en) Signal processing apparatus using a hierarchical neural network
JP2825133B2 (ja) 並列データ処理方式
JPH05128285A (ja) ニユーロプロセツサ
JP2559879B2 (ja) ファジィ制御器
JPH0451386A (ja) ニューラルネットワーク及びその構築方法
Cao et al. Development of Tropical Algebraic Accelerator with Energy Efficient Time-Domain Computing for Combinatorial Optimization and Machine Learning
JPH05197707A (ja) 情報処理システム
JPH07334478A (ja) パルス密度型信号処理回路網における結合係数更新方法 並びに結合係数更新装置
JPH04233063A (ja) ニューロプロセッサ
JPH07101415B2 (ja) 情報処理装置及びその学習方法
JP3137996B2 (ja) メンバシップ関数を用いたニューラルネットワーク及びその学習方式
JPH07175771A (ja) ニューラルネットワーク及びこれを用いた信号処理装置、自律システム、自律型ロボット並びに移動システム
CN114118376A (zh) 神经网络运算的加速方法、装置及加速器
JPH0264880A (ja) パイプライン処理を用いたニューラルアーキテクチュア
JPH05197702A (ja) 神経回路網シミュレータ装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000530