(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128729
(43)【公開日】2023-09-14
(54)【発明の名称】演算処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20230907BHJP
G06T 1/20 20060101ALI20230907BHJP
【FI】
G06N20/00
G06T1/20 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022033282
(22)【出願日】2022-03-04
【国等の委託研究の成果に係る記載事項】(出願人による申告)2020年度 、国立研究開発法人新エネルギー・産業技術総合開発機構「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/次世代コンピューティング技術の開発/電圧駆動不揮発性メモリを用いた超省電力ブレインモルフィックシステムの研究開発」委託研究開発、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
(74)【代理人】
【識別番号】100149711
【弁理士】
【氏名又は名称】服部 耕市
(72)【発明者】
【氏名】森江 隆
(72)【発明者】
【氏名】田向 権
(72)【発明者】
【氏名】立野 勝巳
(72)【発明者】
【氏名】川島 一郎
(72)【発明者】
【氏名】上ノ原 誠二
(72)【発明者】
【氏名】野村 修
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057CE06
5B057CH05
5B057CH08
5B057CH11
5B057DC40
(57)【要約】
【課題】空間内で生じた事象の情報と空間情報の相関関係を学習するための知的処理をハードウェアとして効率的に実装する演算処理装置を提供する。
【解決手段】演算処理装置は、所定の広がりを有する空間内で生じた事象に関するデータを記憶するメモリブロックを複数有し、さらに演算回路と制御回路を有し、前記メモリブロックは、空間情報と相関を有する異なる事象に関するデータを記憶し、また前記演算回路は、前記メモリブロックに記憶されたデータに関して、空間内の所定領域に含まれるデータに対して所定の演算処理を実行し、さらに演算処理完了後に、前記空間情報と相関を有する異なる事象に関するデータの一部または全部を演算処理結果として出力することを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
所定の広がりを有する空間内で生じた事象に関するデータを記憶するメモリブロックを複数有し、さらに前記データに対して所定の演算を実行する演算回路と、メモリブロックに保持されたデータの読み出しと書き込み、および演算回路における演算処理を制御する制御回路を有する演算処理装置であって、
前記メモリブロックは、空間情報と相関を有する異なる事象に関するデータを記憶し、また前記演算回路は、前記メモリブロックに記憶されたデータに関して、空間内の所定領域に含まれるデータに対して所定の演算処理を実行し、さらに演算処理完了後に、前記空間情報と相関を有する異なる事象に関するデータの一部または全部を演算処理結果として出力することを特徴とする演算処理装置。
【請求項2】
前記演算処理は、所定領域で分布を有する重みデータの加算処理、または加減算処理であることを特徴とする請求項1に記載の演算処理装置。
【請求項3】
前記演算回路は、メモリブロックの各メモリセル内に構成されることを特徴とする請求項1又は2に記載の演算処理装置。
【請求項4】
前記演算回路は、メモリブロックの外部に構成されることを特徴とする請求項1又は2に記載の演算処理装置。
【請求項5】
前記制御回路は、演算対象となる所定領域の位置情報に関する制御信号をメモリブロックに入力し、さらに前記制御信号が入力されたメモリブロックは、所定領域に含まれる隣接するメモリブロックに制御信号を入力し、前記制御信号が入力されたメモリブロックにおいて、前記演算回路によって、メモリブロックに保持されたデータに対する演算処理を行う制御を実行することを特徴とする請求項1から3のいずれかに記載の演算処理装置。
【請求項6】
前記制御回路は、メモリブロックから、所定領域に含まれる事象に関連するデータを読み出し、さらに前記演算回路により演算処理を実行し、さらに演算処理の実行後に演算結果をメモリブロックの同一の所定領域に書き込む制御を実行することを特徴とする請求項1、2又は4に記載の演算処理装置。
【請求項7】
前記所定領域で分布を有する重みデータは、中心位置から単調に減衰する分布を有することを特徴とする請求項1から6のいずれかに記載の演算処理装置。
【請求項8】
事象に関するデータは、視覚情報、音声認識情報、触覚情報、嗅覚情報に関するデータであることを特徴とする、請求項1から7のいずれかに記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の演算処理を実行するために好適なメモリ回路および演算回路を有する演算処理装置に関するものである。
【背景技術】
【0002】
生物における知的処理をモデル化し、ロボットなどの制御に応用する研究が盛んに行われている。例えば非特許文献1では、げっ歯類の海馬の記憶機能をモデル化し空間認識システムに応用したRatSLAMアルゴリズムとして、カメラからの視覚情報と自己位置をヘブ則によって学習し、視覚情報と自己位置の相関関係を記憶することで高度な空間認識を可能とすることが報告されている。 また特許文献1では、自己位置推定アルゴリズムの一種であるSLAMの実装方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Milford Michael J., et al., “RatSLAM: A hippocampal model for simultaneous localization and mapping,” IEEE International Conference on Robotics and Automation, 2004.
【非特許文献2】Joseph Redmon, Ali Farhadi, “YOLOv3: An Incremental Improvement,” arXiv:1804.02767v1, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のような視覚情報と自己位置の相関関係を記憶することで高度な空間認識を行うためには、学習に膨大な記憶容量を必要とし、ハードウェア実装を行うことが困難である。すなわち、前記処理をハードウェア実装するためには、空間内に配置されたオブジェクトに関する視覚情報を自己の位置情報と関連付けて記憶するための記憶装置を必要とする。またこの際、空間位置に曖昧性を持たせるために、所定位置を中心として、所定の広がりを有する範囲内に前記空間内に配置されたオブジェクトに関する視覚情報を記憶することが望まれる。
【0006】
この際、ハードウェア実装に使用可能なリソースには限りがあるため、前述した空間内に配置されたオブジェクトに関する視覚情報を含む事象の情報と、自己の位置情報を関連付けた情報を、効率的に符号化し記憶する必要がある。
【0007】
本発明は、上記事情に鑑みてなされたものであり、空間内で生じた事象に関する情報と自己位置の相関関係を学習する知的処理を含む、所定の演算処理を実行するために好適なメモリ回路および演算回路を有する演算処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の演算処理装置は、所定の広がりを有する空間内で生じた事象に関するデータを記憶するメモリブロックを複数有し、さらに前記データに対して所定の演算を実行する演算回路と、メモリブロックに保持されたデータの読み出しと書き込み、および演算回路における演算処理を制御する制御回路を有する演算処理装置であって、前記メモリブロックは、空間情報と相関を有する異なる事象に関するデータを記憶し、また前記演算回路は、前記メモリブロックに記憶されたデータに関して、空間内の所定領域に含まれるデータに対して所定の演算処理を実行し、さらに演算処理完了後に、前記空間情報と相関を有する異なる事象に関するデータの一部または全部を演算処理結果として出力することを特徴とするものである。
【発明の効果】
【0009】
本発明によれば、空間内で生じた事象の情報と空間情報の相関関係を学習するための知的処理をハードウェアとして効率的に実装することが可能となる。また、演算回路をメモリ素子の近傍に構成した場合、読み出し・書き込み配線を駆動するために必要となる電力消費量を削減することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態における演算処理装置のブロック図。
【
図2】第1実施形態における海馬-嗅内皮質モデルの概略図。
【
図3】第1実施形態における事象ごとの重み情報の記憶に関する図。
【
図4】第1実施形態における重み分布の例を示す図。
【
図5】第1実施形態における重み分布の値の例を示す図。
【
図6】第1実施形態における重み情報の加算に関する図。
【
図10】第1実施形態における事象種別検出装置および空間位置検出装置の図。
【
図11】第1実施形態における処理のフローチャート。
【
図12】第1実施形態におけるメモリ回路の構成図。
【
図13】第2実施形態における演算処理装置のブロック図。
【
図14】第2実施形態におけるメモリ演算回路の構成図。
【
図15】第2実施形態におけるメモリ演算ブロックの構成図。
【
図16】第2実施形態におけるメモリ演算素子の構成図。
【
図17】第2実施形態におけるメモリ演算回路の座標指定方法。
【
図18】第2実施形態における処理のフローチャート。
【
図19】第2実施形態における加算処理のタイミングチャート。
【
図20】第2実施形態における加算処理のタイミングチャート。
【
図21】第2実施形態におけるメモリ回路に記憶した値の例。
【
図22】第2実施形態におけるメモリ回路に記憶した値の例。
【
図23】第3実施形態における演算処理装置のブロック図。
【
図24】第3実施形態における演算処理装置のブロック図。
【
図26】第3実施形態におけるメモリ演算素子の構成図。
【
図27】第3実施形態における減算処理のタイミングチャート。
【
図28】第4実施形態におけるメモリ回路の構成図。
【
図29】第4実施形態におけるメモリ演算ブロックの構成図。
【
図30】第2実施形態における変形例の演算処理装置のブロック図。
【
図31】第2実施形態における変形例のメモリ演算ブロックの構成図。
【発明を実施するための形態】
【0011】
[第1実施形態]
図1に本実施形態で説明する演算処理装置のブロック図を示す。
図1において、本実施形態における演算処理装置100は、所定の広がりを有する空間内で生じた事象に関するデータを記憶する、複数のメモリブロック1から構成されるメモリ回路2と、さらに前記データに対して所定の演算を実行する演算回路3と、メモリ回路1に保持されたデータの読み出し、および書き込みと、演算回路3における演算処理を制御するためのメモリ制御回路4を有する。ここで、演算処理装置100は
図2に示した海馬-嗅内皮質モデルに基づいた処理を実行するものである。
【0012】
図2は、本実施形態で説明する演算処理装置100において実現する、空間内で生じた事象の情報と空間情報の相関関係を学習する演算処理モデルの基本概念となる海馬-嗅内皮質モデルの概略図を示している。
【0013】
まず
図2を用いて、本実施例で実現する処理モデルを説明する。
図2に示すように、本実施形態で演算処理モデルとして用いる海馬-嗅内皮質モデルは、生理学的知見としてラットなどの生物の海馬と嗅内皮質に見られる海馬-嗅内皮質モデルを、ハードウェアとして実装することを目的として簡略化した、場所細胞8、キュー細胞9、および連結細胞10から構成される簡略化した海馬-嗅内皮質モデルである。
【0014】
図2の海馬-嗅内皮質モデルにおいては、速度情報と方向情報によって場所細胞8の内部状態が遷移して自己位置情報を表現する。また、特定の事象に反応するキュー細胞9が、事象の種別に関する情報を表現する。
【0015】
さらに連結細胞10においては、場所細胞8から入力される空間情報と、キュー細胞9から入力される特定の事象に関する非空間情報を組み合わせることにより、空間内で生じた事象の情報と空間情報の相関関係を学習する機能を有する。
【0016】
例えば、空間を移動しつつ事象を検知する主体をエージェントと呼ぶことにする。前述した海馬-嗅内皮質モデルでは、
図3に示すように、エージェント11は空間内の位置12~15を移動しながら事象a, bおよびcを検知し、事象を検知するごとに、その事象を検知した場所に対して、所定の空間的な広がりを有する重み情報を、空間情報と相関を有する当該事象に関する情報として記憶する。
【0017】
すなわち、エージェント11が位置12から位置15に移動する間に事象a, b, cを検知することにより、各事象の重み分布16は、
図3における(A)から(C)のように記憶される。なお
図3において、記憶された重み分布の大きさは、二次元空間に対して垂直方向の大きさで示している。
【0018】
ここで所定の空間的な広がりを有する重み情報は、
図4に示すように中心において最大の値を有し、前記所定の空間的な広がりにおいて、中心から離れるにつれて値が減衰する分布を有する。ここで重み分布は、
図4に示すような2次元ガウンシアン分布であることが多いが、必ずしもこれに限るものでは無く、空間内で生じた事象の情報と空間情報の相関関係を表し、かつ所定の空間的な広がりを有する分布であれば、その他の分布を有する重み情報であっても構わない。
【0019】
また、本実施例における重み情報の空間的な分布を、前述したように2次元ガウンシアン分布と説明したが、
図3に示したように、エージェントが移動する空間は、本実施例においては離散的な2次元座標として表現される。例えば、(A)から(C)に示したようにエージェントが移動する空間は、離散的な2次元座標(x, y)として表現される。そのため、重み情報の空間的な分布も離散的な2次元座標に対応して離散的な値を取る。
【0020】
図5に、本実施形態における離散的な2次元座標に対応して離散的な値を有する重み分布を示す。
図5に示すように、本実施形態における重み分布は3x3の離散的な2次元座標で定義される領域において、1, 2, 4の3種類の値を取り得る。
【0021】
なお
図3の(A)に示したように、同一の事象を別の場所において検知した場合は、複数の位置で記憶された所定の空間的な広がりを有する重み情報を、空間情報と相関を有する当該事象の情報として記憶する。この際、現時点で検知した同一の事象の重み情報は、過去の事象に関する重み情報と加算されるため、エージェントが移動するに従って、事象に関する重み情報が
図3(A)のように空間情報と相関を有する情報として記憶される。
【0022】
なお
図3(A)では、異なる位置において検出した同一の事象に関する重み分布に空間的な重なりが無いため、それぞれの重み分布が独立に記憶されているが、両者の分布が位置的に重なりを有する場合は、過去に記憶された重み分布に対して、新たに検出された重み分布の値を加算することにより、当該事象に関する重み情報が
図6(A)のように空間情報と相関を有する情報として記憶される。
【0023】
図6(A)は、2つの重み分布が加算されることにより、2つの重み分布のピークの間にさらにピークが形成された、事象に関する重み情報を示している。また、
図6(B)は、
図6(A)を二次元空間位置に対応した値として示したものである(値が0でない位置の分布のみを示す)。なお、
図6(B)ではx座標およびy座標は省略している。
【0024】
さらに複数の同一の事象が検出された場合も、当該位置における重み分布を前述したように随時加算することにより、当該事象に関する重み情報が上述したように空間情報と相関を有する情報として記憶される。
【0025】
また海馬-嗅内皮質モデルでは、異なる事象を検知した場合は、
図3の(A)から(C)に示すように、重み情報はそれぞれが異なる事象に関する記憶として、空間情報と相関を有する情報として記憶される。すなわち海馬-嗅内皮質モデルでは、事象に関する空間と相関を有する情報は、事象ごとに個別に記憶される。
【0026】
なお、
図6の(A)は、二次元分布を有した重み分布の加算を説明するために、その値を二次元空間に対する高さ方向として図示している。図面上では、重み分布に関する三次元図を二次元紙面上に表現しているため、
図6(B)の実際の重み分布とは、その分布形状が必ずしも一致していない。
【0027】
続いて、前述した海馬-嗅内皮質モデルをハードウェアとして実現する演算処理装置に関して説明する。前述したように、本実施例における演算処理装置100は、複数のメモリブロック1から構成されるメモリ回路2と、演算回路3と、メモリ制御回路4を有する。
【0028】
ここで、前記メモリ回路2の構成例を
図7に示す。
図7に示すように、本実施形態におけるメモリ回路2は、二次元空間座標に対応したメモリブロック1を複数有する構成となっている。またさらに、各メモリブロック1は、値を記憶するメモリ素子から構成される。なお
図7においては、各メモリブロック1がメモリ回路2の各行を構成しており、メモリ回路2は合計で36行のメモリブロック1を有している。
図7において、各メモリブロック1の境界は、実線で示している。
【0029】
すなわち、
図7に示すメモリ回路2においては、実線と破線に囲まれた1つのセルが、所定の座標位置における所定の事象種別に対応した、重み情報の値を加算した結果の値を記憶するメモリ素子に相当する。
【0030】
なお本実施形態において、事象に関する空間と相関を有するデータをメモリ回路2に記憶することは、前述した海馬-嗅内皮質モデルにおいて、空間内で生じた事象の情報と空間情報の相関関係を学習することと等価である。以降の説明(他の実施形態を含む)においては、用語として“記憶”と“学習”を用いるが、特に断らない限り両者の意味するところは同一である。
【0031】
続いて
図7に示すように、各メモリブロック1は演算回路3との間のデータ入力ポート17と、データ出力ポート18を有している。
【0032】
また各メモリブロック1は、それぞれが二次元空間における位置座標に対応する。
図7では、各行のラベルとして、(x, y)の形式で表記された座標を対応させている。すなわち本実施形態においては、空間情報として6x6(=36)の位置座標に対応するデータを記憶することを想定しており、前述したエージェントが移動する二次元空間の位置は、6x6の二次元空間座標として検知される。
【0033】
またメモリ回路2の各列は、空間内で検知される事象種別に対応している。
図7では、各列のラベルとして、0-9と表記した各事象種別の10種類のラベルを対応させている。
図7において、各事象種別のラベルの境界は、破線で示している。すなわち本実施形態においては、空間内でエージェントが検知する事象が10種類有るケースを想定している。なお
図7においては、メモリ制御回路4からの制御信号の入力ポート、および演算処理装置100の外部にデータを出力する出力ポートの記載を省略している。
【0034】
ここでメモリ回路2に記憶された、空間と相関を有する事象の情報の例を
図7を用いて説明する。
図7では、事象種別(7)に関して、二次元空間座標の(2, 1)、(3, 1)、(4, 1)、(2, 2) 、(3, 2) 、(4, 2)、(2、3)、(3、3)、(4、3)に対応するメモリ素子が、0では無い値を記憶している。この場合は、エージェントが前記座標位置で事象種別(7)に関する記憶を有することを意味する。(ここで示した記憶の二次元座標のパターンはあくまで一例である。また、値0の表記は省略している。)
【0035】
また事象種別(7)に関して、
図6に示した2つの重み分布が加算された場合に関しては、メモリ回路には
図8に示すように、重み情報が空間情報と相関を有する情報として記憶される。
【0036】
本実施例における各メモリブロック1は、それぞれが独立した入力ポート17および出力ポート18を有しているものとしており、後述するようにメモリ制御回路4からの制御信号に基づいて、指定された事象に関する所定の座標領域のデータを並列に読み出すことが可能である。なおメモリ回路2としては、前記並列読み出しは必須のものでは無く、例えばメモリ回路全体が一つの入出力ポートを有し、シリアルにデータを読み出すものであっても構わない。すなわち、メモリ回路2は複数のメモリブロック1から構成されるものに限る訳では無く、全体として一つのメモリブロック(メモリアレイ)から構成されるものであっても構わない。本実施形態では、事象種別に関する情報と、事象検出位置に関する情報の対応関係を理解し易くすることを目的として、複数のメモリブロック1から構成されるメモリ回路2を例として示した。
【0037】
続いて、前記演算回路3の本実施例における構成例を
図9を用いて説明する。本実施例における演算回路3は、入力された複数のデータそれぞれに対して所定の値を加算する機能を有しており、複数の加算器19、入力値を保持するレジスタ20、加算結果を保持するレジスタ21、および被加算値である複数の所定値を保持するレジスタ22より構成される。
また、入力値レジスタ20はメモリ回路2から読み出されたデータを入力する入力ポート23を有し、加算結果レジスタ21は加算結果をメモリ回路2に出力する出力ポート24を有する。
【0038】
演算回路3は、前記メモリ回路2から読み出され、入力ポート23から入力された複数の入力値を入力値レジスタ20に保持し、被加算値レジスタ22に保持された複数の所定値を加算した後に加算結果レジスタ21に加算結果を保持し、それを出力ポート24からメモリ回路2に対して出力する。ここで本実施例においては、加算器19およびレジスタ20、21、22は、重み分布の空間分布に対応する3x3=9個の値に対する演算を並列に実行することが可能な構成を設定しているが、本発明としてこれらの構成に限定するものでは無く、所望の演算(本実施形態の場合は加算処理)を実行可能なものであれば、加算をシリアルに実行するものであっても、その他のどのような構成をとっても構わない。
【0039】
続いて、前記メモリ制御回路4の本実施例における機能を説明する。
図1に示すように本実施形態におけるメモリ制御回路4は、事象種別データの入力端子5と、事象検出位置データの入力端子6を有し、入力された前記データに基づいて、メモリ回路2から対応するデータを読み出して演算回路3に入力する制御を実行するための制御信号を出力する機能を有する。またさらに、演算回路3による演算結果をメモリ回路2の元の位置(読み出した位置)に書き戻す制御を実行するための制御信号を出力する機能を有する。またさらに、メモリ制御回路4は、メモリ回路2の一部または全てのデータを外部に出力する制御を実行するための制御信号を出力する機能も有している。なお
図1では、前記制御信号を一つの信号線により表記している。またメモリ制御回路4は、演算回路3における演算の実行を制御するための制御信号を出力する機能を有している。
【0040】
なお、
図2に示した海馬-嗅内皮質モデルにおいて、連結細胞に入力される空間情報に相当する事象検出位置データと、非空間情報に相当する事象種別データは、本演算処理装置100においては、演算処理装置100の外部に構成された装置から入力されるものとする。
すなわち、海馬-嗅内皮質モデルに関して、本実施形態で説明する演算処理装置100が実現する機能は、前述した連結細胞に相当する。本実施形態における演算処理装置100において、海馬-嗅内皮質モデルにおける空間情報、および非空間情報を算出する機能は必須のものでは無いが、演算処理装置がこれらの機能を含むものであっても構わない。これらの機能の実施形態例に関しては、以降で説明する。
【0041】
本実施形態において、事象の種別に関するデータ、および事象を検知した位置に関するデータは、外部から入力されるものとしているが、それぞれのデータの具体例は次のように示される。まず本実施例における事象の種別に関するデータは、カメラにより取得された画像に対して物体検出処理を実行し、所定の物体種別として認識されたものを事象種別データとする。
【0042】
例えば、非特許文献2の物体検出アルゴリズムを用い、前記画像中に写る物体の種別を判別することができる。
図10における事象種別検出装置25は、プロセッサを有し、ソフトウェアとして前記物体検出アルゴリズムを実装したものを想定している。さらに前記事象種別検出装置25に対して、事前に10種類の物体種別を設定し、該当する物体種別が検出された場合に、前述した物体種別データを演算処理装置100に出力する。
【0043】
続いて、本実施例における演算処理装置100は、ロボットなどの空間を移動することが可能なエージェントに搭載されることを想定している。ここでエージェントは、事前に設定された空間内において、現在どこに位置するかを検知する
図10に示す空間位置検出装置26を有しているものとする。空間位置検知装置26の実現方法に関しては本発明の主眼とするものでは無く、どのような実現手段を用いても構わないが、本実施例においては実現が容易な手段として、空間位置検知装置26は、エージェントが最初に出発した地点からの移動距離・方向を常時算出する機能を有し、現時点での空間内における位置(座標)を算出可能なものとする。
【0044】
前述した事象種別検出装置25が物体種別を検出し、物体種別の情報を演算処理装置100に出力するタイミングと同期して、空間位置検出装置26が空間内における位置(座標)を演算処理装置100に出力することにより、演算処理装置100においては、事象種別データと事象検出位置データを空間的に相関を有するデータとして学習することが可能となる。
【0045】
続いて、本実施形態における演算処理装置100の動作に関して、
図1および
図11に示すフローチャートを用いて説明を行う。
【0046】
本実施例における演算処理装置100においては、空間内で生じた事象の種類に関するデータ(以下、事象種別データ)と、前記事象を検知した時のエージェントの位置に関するデータ(以下、事象検出位置データ)は、演算処理装置100の外部から入力される(
図11フローチャートの処理27)。ここでは、検知された事象種別のラベルを(7)とし、また事象が検出された位置座標を(3, 2)とする。
【0047】
演算処理装置100の内部では、事象種別データおよび事象検出位置データは、前記メモリ制御回路4に入力される(
図11フローチャートの処理28)。メモリ制御回路4は、前記事象種別データおよび事象検出位置データに基づき、メモリ回路2に対して、適切なデータ群を読み出すための制御信号を出力する。
【0048】
ここで適切なデータ群とは、検出された事象種別に対応した、前述した所定の空間的な広がりを有する重み情報を加算すべき複数のデータを指している。すなわち本実施形態の場合は、所定の空間的な広がりを有する重み情報は
図5に示すような2次元ガウシアン分布に相当する3x3の範囲に分布する値を有しているため、前記メモリ回路2から、事象種別データおよび事象検出位置データの座標に基づいて、前記座標の周囲3x3の領域のデータが読み出される(
図11フローチャートの処理29)。
【0049】
読み出された3x3の領域のデータ(トータル9個のデータ)は、前述したメモリ制御回路4からの制御信号に基づいて、続いて演算回路3に入力される(
図11フローチャートの処理30)。
【0050】
なお本実施形態においては、前記演算回路3は加算器19を有し、入力された3x3の領域のデータに対して、3x3の範囲に分布する重みデータを加算する(
図11フローチャートの処理31)。
【0051】
演算回路3において加算処理が完了すると、続いてメモリ制御回路4は、加算処理結果を演算回路3から読み出した上でメモリ回路2に書き込むための制御信号を演算回路3およびメモリ回路2に入力する。
【0052】
前記制御信号に基づいて、演算回路3から読み出された演算結果は、メモリ回路2に対して、読み出された時と同じ事象に対応し、かつ同じ座標位置のメモリ素子に書き込まれる。これにより、当該事象に関する、空間情報と相関を有するデータの更新が完了する。これは、前述した海馬-嗅内皮質モデルにおける学習処理に対応する(
図11フローチャートの処理32)。結果として、メモリ回路2の値の分布は、前述した例と同様に
図7に示すようになる。
【0053】
さらに、エージェントが移動し、別の場所において同一の事象を認識した場合は、前述したのと同様に、事象種別データと、前記事象を検知した時のエージェントの位置に関するデータが、演算処理装置100に入力される。
【0054】
演算処理装置100の内部では、前述したのと同様に事象種別データおよび事象検出位置データが、前記メモリ制御回路4に入力され、メモリ制御回路4から前記メモリ回路2に対して、適切なデータ群を読み出すための制御信号が入力される。ここで、事象種別データは前述のものと同一で、一方事象検出位置データは異なる位置座標を示すものとする。ここでは、検知された事象種別のラベルを(7)とし、また事象が検出された位置座標を(3, 4)とする。従ってメモリ回路2からは、事象検出位置データの座標に基づいて、前述した場合とは異なる座標の周囲3x3のデータが読み出される。
【0055】
読み出された3x3の領域のデータ(トータル9個のデータ)は、前述したメモリ制御回路からの制御信号に基づいて、続いて演算回路3に入力され、加算器19により、入力された3x3の領域のデータに対して、前述したのと同様に3x3の領域に分布する重みデータを加算する。
【0056】
加算処理が完了すると、前述した処理と同様に、事象種別データおよび事象検出位置データに基づいて、同じ事象に対応し、かつ同じメモリ位置に書き込みが実行される。これにより、当該事象に関する、空間情報と相関を有するデータの更新が完了する。その結果、メモリ回路の値の分布は、前述した例と同様に
図8に示すようになる。
【0057】
またさらに、エージェントが移動し、別の場所において異なる事象(例えば、事象種別(3)とする)を認識した場合は、前述したのと同様に、事象種別データと、前記事象を検知した位置に関するデータが、演算処理装置100に入力される。
【0058】
演算処理装置100の内部では、前述したのと同様に事象種別データおよび事象検出位置データが、前記メモリ制御回路4に入力され、メモリ制御回路4から前記メモリ回路2に対して、適切なデータ群を読み出すための制御信号が入力される。ここでは、検知された事象種別のラベルを(3)とし、また事象が検出された位置座標を(2, 2)とする。従って、メモリ回路2からは、事象検出位置データの座標に基づいて、前述した場合とは異なる事象に関する、事象検出位置の座標の周囲3x3の領域のデータが読み出される。
【0059】
読み出された3x3の領域のデータ(トータル9個のデータ)は、前述したメモリ制御回路からの制御信号に基づいて、続いて演算回路3に入力され、加算器19により入力された3x3の領域のデータに対して、3x3の範囲に分布する重みデータを加算する。
【0060】
加算処理が完了すると、前述した処理と同様に、事象種別データおよび事象検出位置データに基づいて、メモリ回路2に演算結果が書き込まれる。これにより、当該事象に関する、空間情報と相関を有するデータの更新が完了する。その結果、メモリ回路の値の分布は、
図12に示すようになる。
【0061】
以上の処理は、所定の終了タイミングまで繰り返され、メモリ回路にはエージェントの移動に伴って検出した事象に関して、空間情報と相関した情報が記憶される(
図11フローチャートの処理33)。なお前記終了タイミングは、本実施形態においては、外部からメモリ制御回路4に対して入力される終了信号により決定されるものとする。終了タイミングの決定方法、および入力方法・手段は本発明を限定するものでは無いため、
図1では終了信号の入力ポート等の図示を省略している。
【0062】
また処理が終了した後は、本実施形態においては、前記メモリ回路2に記憶した情報を全て、または一部を外部に読み出すものとしている。この場合は、メモリ制御回路4からメモリ回路2に対して、全データまたは一部のデータの読み出し信号が入力され、メモリ回路2から演算処理装置100の出力端子7を通して、外部にデータが出力される(
図11フローチャートの処理34)。なお処理終了後のメモリ回路2からのデータの読み出し方法は、本発明を限定するものでは無く、一般的なメモリ回路からの読み出しにおけるどのような方法を用いても構わない。
【0063】
前述したように、メモリ回路2に記憶された情報は、エージェントの移動に伴って検出した事象と空間情報の相関を示す情報であるため、例えば特定の事象に関して最大値を記憶する座標を検出することにより、その事象が最も発生し易い空間内の位置座標を得ることが可能となる。なお、メモリ回路2から出力されるデータの応用に関しては、本発明の主眼とするところではないため、これ以上の詳細な説明を割愛する。
【0064】
なお前述したように、第1実施形態における事象の種別に関するデータは、カメラにより取得された画像に対して物体検出処理を実行し、所定の物体種別として認識されたものとしたが、本発明はこれに限るものではない。例えばエージェントに対して使用者から発せられた音声に関して、音声認識により命令種別を認識し、それを事象の種別とするものであっても良い。
【0065】
この場合、物体検出処理を実行する事象種別検出装置と同様に、命令種別を判別し、本実施形態における演算処理装置100に出力することが可能である。また、事象の種別に関するデータは、その他嗅覚情報、または触覚情報などのどのような事象に関するものであっても構わない。
【0066】
以上説明したように、海馬-嗅内皮質モデルを、メモリ回路と、所定の演算を実行する演算回路と、制御回路を有する演算処理装置として実装することにより、検知した事象に関する情報を空間と相関を有する情報として記憶し、さらに複数の事象を検知するごとに記憶を更新することが可能となる。
なお、本実施形態で示したメモリ回路、演算回路および制御回路の構成は一例であり、同様の演算処理を実行可能なものであれば、どのような構成を有するものであっても構わない。本実施形態において発明の主眼とする特徴的な構成は、以上で説明したように、検知した事象に関する情報を空間と相関を有する情報として記憶・更新するところにある。
【0067】
なお本実施例においては、前記重み情報の分布は事象の種類を問わず同一のものとしているが、必ずしもこれに限るものでは無い。例えば重み情報の分布は、事象に応じて異なる分布を有するものであっても構わない。この場合は事象ごとに、空間と特有の相関関係を有する情報として記憶することが可能となる。
【0068】
[第2実施形態]
図13に本実施形態で説明する演算処理装置200のブロック図を示す。
図13において、本実施形態における演算処理装置200は、所定の広がりを有する空間内で生じた事象に関するデータを記憶し、かつ前記データに対して所定の演算を実行する複数のメモリ演算ブロック35を有するメモリ演算回路36と、メモリ演算ブロック35に保持されたデータの読み出し、および演算処理を制御するメモリ演算制御回路37を有する。ここで演算処理装置200は、第1実施形態と同様に、
図2に示した海馬-嗅内皮質モデルに基づいた処理を実行するものであるため、当該処理に関しては第1実施形態と同様であるものとして説明を省略する。
【0069】
続いて、前記メモリ演算回路36の構成図を
図14に示す。本実施形態におけるメモリ演算回路36は、空間座標に対応したメモリ演算ブロック35をアレイ状に配置した構成を有している。
【0070】
ここで各メモリ演算ブロック35は、それぞれが二次元空間における位置座標に対応するようにアレイ状に構成されている。
図14では、行・列のラベルとして、それぞれx座標・ y座標と表記した座標に対応しており、本実施形態の場合は、メモリ演算回路36は6x6の空間座標に対応したアレイ構成を有し、36個のメモリ演算ブロック35から構成される。
【0071】
また
図15に示すように、各メモリ演算ブロック35は、空間内で検知される事象種別にそれぞれが対応しているメモリ演算素子38と、メモリ演算素子38を制御する演算制御回路39から構成される。なお
図15は、
図14における位置座標(0, 5)に対応するメモリ演算ブロック35を拡大して示したものである。
【0072】
図15では、事象種別のラベルとして0-9と表記した各事象種別の10種類のラベルに対応した、10個のメモリ演算素子38が1つのメモリ演算ブロック35に含まれていることを示している。すなわち本実施形態においては、空間内でエージェントが検知する事象が10種類有るケースを想定している。
【0073】
ここで1つのメモリ演算素子38は、対応する座標位置における1つの事象に対応したデータを記憶するメモリ素子と、前記メモリ素子に記憶しているデータに対して、さらに当該事象が発生した場合に加算される重み分布の値の加算処理を実行する演算回路の両者を兼ねた構成、および機能を有するものである。また、演算制御回路39は、後述するようにメモリ演算素子における演算動作を制御するものである。
【0074】
図16に、前述した機能を有するメモリ演算素子38を、トグルフリップフロップ回路40と XOR回路41で構成した例を示す。
図16に示すように、メモリ演算素子38は8bitのデータを記憶可能なように、トグルフリップフロップ回路40を8個接続した構成を有する。また、保持しているデータに対して、第1実施形態と同様に、事象を検知した空間的な位置に対応した重み分布を加算するために、記憶するデータに対して、事象を検知した位置との相対位置に応じた重み分布の所定値を加算するための、XOR回路41が構成されている。
【0075】
続いて、前述したように構成した演算処理装置200の動作を
図13、
図17および
図18に示すフローチャートを用いて詳細に説明する。
【0076】
図13において、事象種別データと、事象検出位置データは、演算処理装置200の外部からメモリ演算制御回路37に対して入力される。(
図18フローチャートの処理42)
【0077】
続いて
図13において、事象種別データはメモリ演算制御回路37を経由して、全てのメモリ演算ブロック35に対して入力される。
【0078】
また、事象検出位置データは、行・列それぞれの方向から、事象を検出した位置に対応するy座標・x座標に位置する配線より、座標位置に関する信号がそれぞれ入力される。本実施形態では、
図17に示したように、y座標・x座標に位置する配線から、事象の検出位置座標に相当する信号が入力され、その交差点に位置するメモリ演算ブロック35が選択される。
図17には、事象検出位置が位置座標(3, 2)であるケースを示している(
図18フローチャートの処理44、45)。
【0079】
さらに事象種別データに基づいて、メモリ演算ブロック35の中から事象種別に対応する1つのメモリ演算素子38が選択される(
図18フローチャートの処理44、45)。
【0080】
選択されたメモリ演算素子38においては、
図5に示す第1実施形態と同様の重み分布の中心位置の値を、既にメモリ演算素子38に記憶している値に対して加算する処理を実行する。具体的には、メモリ演算素子38内の演算制御回路39から
図16のS2端子に制御信号が入力されることで、値4の加算処理が実行される(
図18フローチャートの処理46)。
【0081】
図19に、メモリ演算素子38における加算処理の一例となるタイミングチャートを示す。
図19のタイミングチャートでは、既に記憶していた値が0(B7~B0が全て0)である場合に、重み4を加算する例を示している。
【0082】
また、メモリ演算素子38内の演算制御回路39は、
図5に示す第1実施形態と同様の重み分布に関して、
図15に示すように、該当する周囲のメモリ演算ブロックで加算処理を実行するための演算処理実行信号を、重み分布の領域に対応するメモリ演算ブロック35に対して出力する。
図15に示すように、本実施形態のメモリ演算ブロックの場合は、周囲8個のメモリ演算ブロックに対して演算処理実行信号を出力するために、8本の演算処理実行出力信号線を有する。
【0083】
前記演算処理実行信号が、
図15に示す演算処理実行入力信号として、演算制御回路39に入力された周囲のメモリ演算ブロック35においては、既に事象種別データに基づいて選択された1つのメモリ演算素子38において、前記演算処理実行信号に基づいて、
図5に示す重み分布に対応した加算処理が実行される(
図18フローチャートの処理46)。
【0084】
この場合は、例えば
図5の重み分布の値2の位置に相当するメモリ演算素子は、
図16において、メモリ演算素子38のS1端子に前記制御信号が入力されることで、当該メモリ演算素子が記憶していた値に対して、重み分布の値である2が加算される。
図20に、この場合のメモリ演算素子38における加算処理の一例となるタイミングチャートを示す。
【0085】
ここで、検知された事象種別のラベルを(7)とし、また事象が検出された位置座標を(3, 2)とした場合、メモリ演算回路36には、重み分布が
図21に示すように記憶される。なお
図21では、メモリ演算ブロック内の事象種別ラベル(7)に対応するメモリ演算素子の記憶値のみを記載している。
【0086】
続いて、さらに事象を検出した場合、事象に関する情報を空間と相関を有する情報として記憶するために、以上のように説明した演算処理を繰り返し、既にメモリ演算回路36に記憶しているデータに対して、重み分布を加算する処理を実行する。例えば、
図22には、事象種別ラベルが(7)で、さらに事象を検知した事象検出位置が位置座標(3, 4)であるケースを示している。
【0087】
なお異なる事象が検知された場合は、上述したのと同様に、検知された事象種別に対応するメモリ演算素子に重み分布の値が加算されていく。
【0088】
これらの処理を所定の終了タイミングまで繰り返すことにより、第1実施形態と同様に、メモリ回路にはエージェントの移動に伴って検出した事象に関して、空間情報と相関した情報が記憶される。
【0089】
また処理が終了した後は、本実施形態においては、前記メモリ演算回路36に記憶した情報の一部または全部を外部に読み出すものとしている。この場合は、メモリ演算制御回路37からメモリ演算回路35に対して、データの読み出し信号が入力され、メモリ演算回路35から演算処理装置200の出力端子7を通して、外部にデータが出力される(
図18フローチャートの処理47、48)。
【0090】
なお前記終了タイミングは、本実施形態においては、外部からメモリ演算制御回路37に対して入力される終了信号により決定されるものとする。終了タイミングの決定方法、および入力方法・手段は本発明を限定するものでは無いため、
図13では終了信号の入力ポート等の図示を省略している。なおデータの出力は、メモリ演算回路35の1行分のデータを列方向に読み出すものであっても構わないし、全てのデータをシリアルに読み出すものであっても構わない。処理終了後のメモリ演算回路35からのデータの読み出し方法は、本発明を限定するものでは無く、一般的なメモリ回路からの読み出しにおけるどのような方法を用いても構わない。
【0091】
メモリ演算回路35から出力されたデータは、エージェントの移動に伴って検出した事象と空間情報の相関を示す情報であるため、例えば特定の事象に関して最大値を記憶する座標を検出することにより、その事象が最も発生し易い空間内の位置座標を得ることが可能となる。
【0092】
なお、本実施形態において、
図5に示す重み分布は事前に決定されているものとし、事象検出位置のメモリ演算素子38の演算制御回路39から、周囲のメモリ演算ブロック35に対して出力する加算処理を実行するための制御信号は、固定の値を加算する信号(すなわち所定のS0-S7に入力される信号)である。
【0093】
これに対して、前記演算制御回路39から、周囲のメモリ演算ブロック35に対して出力する加算処理を実行するための制御信号を、演算処理装置200の外部から入力する信号により変更可能とする回路構成をとっても構わない。この場合は、前記外部から入力する信号により、前記演算制御回路39からの制御信号を変更することにより、加算する重み分布を変更することが可能となる。
【0094】
以上説明したように、第2実施形態におけるメモリ演算回路においては、第1実施形態と同様に、検知した事象に関する情報を空間と相関を有する情報として記憶し、さらに複数の事象を検知するごとに記憶を更新することが可能となる。
【0095】
またさらに第2実施形態においては、演算回路がデータを記憶するメモリ素子の近傍に構成されているため、演算処理を実行するたびにメモリ回路から外部にメモリを読み出したり、また書き戻したりする必要が無くなるため、特に読み出し・書き込み配線を駆動するために必要となる電力消費量を削減することが可能となる。
【0096】
なお、本実施形態で示したメモリ演算素子の構成は一例であり、同様の演算処理を実行可能なものであれば、どのような構成を有するものであっても構わない。
【0097】
本実施形態において発明の主眼とする特徴的な構成は、以上で説明したように、検知した事象に関する情報を空間と相関を有する情報として記憶・更新するための演算処理装置において、演算を実行する回路が、情報を記憶するメモリ回路の内部に構成されるところにある。
【0098】
また、本実施形態に関する変形例を
図30、
図31に示す。
図30に示すように、変形例におけるメモリ演算処理装置200は、それぞれが空間内で検知される事象種別に対応しているメモリ演算回路56を複数個有する構成となっている。
図30においては、事象種別のラベルとして0-3と表記した4種類のラベルに対応した、4個のメモリ演算回路が2x2のアレイ状に構成されている例を示している。また本変形例におけるメモリ演算ブロック57は、
図31に示すように、メモリ演算素子38を1つのみ有する構成を有している。
【0099】
すなわち本変形例におけるメモリ演算処理装置は、前述した本実施形態におけるメモリ演算処理装置と異なり、1つのメモリ演算回路が1つの事象種別に対応し、そのメモリ演算回路を複数配置した構成を有する。なお
図30に示した例では、メモリ演算制御回路に入力される事象種別データに対応して、事象検出位置データが当該事象種別に対応するメモリ演算回路に対してのみ出力される。事象検出位置データによるメモリ演算ブロックの選択方法は、前述した本実施形態におけるメモリ演算処理装置と同様である。
【0100】
なお本変形例では、メモリ演算回路が2x2のアレイ状に構成されているメモリ演算処理装置の例を示したが、アレイ状ではなく、直列(1x4)またはその他の配置方法をとるものであっても構わない。また当然のことながら、事象種別は4種類に限るものでは無く、その他の種別数であっても構わないのも本実施形態において同様である。
【0101】
本変形例は、前述した本実施形態における全ての効果を同様に有するものである。また本変形例は、第3および第4実施形態以降において、第2実施形態を基に説明する実施形態に対しても全て適用可能である。
【0102】
[第3実施形態]
図23および
図24に本実施形態で説明する演算処理装置300および演算処理装置400のブロック図を示す。
【0103】
図23において、本実施形態における演算処理装置300は、第1実施形態の演算処理装置100の演算回路3が、加減算を実行する加減算回路を有する演算回路49に変更されたものである。
【0104】
また
図24において、本実施形態における演算処理装置400は、
図13に示した第2実施形態の演算処理装置200のメモリ演算回路36を構成するメモリ演算素子38が、演算制御回路39からの制御信号に基づき加減算を実行するメモリ演算ブロック50およびメモリ演算回路51に変更されたものである。
【0105】
なお本実施形態に関する演算処理装置300および400は、第1実施形態および第2実施形態における演算回路3およびメモリ演算回路36が、加算処理だけではなく減算処理も実行すること以外は、第1実施形態および第2実施形態と同様である。そのため、本実施形態に関しては第1実施形態および第2実施形態と異なる点についてのみ説明を行い、その他の点は第1実施形態および第2実施形態と同様として説明を省略する。
【0106】
まず、
図25を用いて演算処理装置300における演算回路49の説明を行う。
図25に示す通り、演算処理装置300における演算回路49は加減算器52を有し、加算処理に加えて減算処理を実行可能である。すなわち、例えば海馬-嗅内皮質モデルにおいて、検知した事象に関する空間と相関を有する記憶に関して、時間の経過に従い記憶が減衰する作用を実現する場合、所定の時間経過後にメモリ回路3に保持されたデータから、所定値を減算することで実現が可能となる。また、特定の事象に関して、負の値を有する重み分布を加算することが可能となる。またこれは、所定の事象に関して、特定の条件下においては負の重み分布を設定し、正負両方の重み分布に関する記憶を加算(または減算)することが可能となる。
【0107】
続いて、
図26を用いて演算処理装置400におけるメモリ演算回路51が有する、メモリ演算ブロック50内のメモリ演算素子53の説明を行う。
図26に示す通り、演算処理装置400におけるメモリ演算素子53は、
図16における演算素子38と同様の構成を有するが、加算処理に加えて減算処理を実行するものである。すなわち、前述した演算処理装置300の場合と同様に、例えば海馬-嗅内皮質モデルにおいて、検知した事象に関する空間と相関を有する記憶に関して、時間の経過に従い記憶が減衰する作用を実現する場合、所定の時間経過後にメモリ演算回路51に保持されたデータから、所定値を減算することで実現が可能となる。また、特定の事象に関して、負の値を有する重み分布を加算することが可能となる。またこれは、所定の事象に関して、特定の条件下においては負の重み分布を設定し、正負両方の重み分布に関する記憶を加算(または減算)することが可能となる。
【0108】
この場合のメモリ演算素子53は
図26に示すように、演算処理装置200におけるメモリ演算素子38と同様の構成を有するが、演算制御回路39からの制御信号に基づいて、2の補数に基づいた減算処理を実行することにより、減算処理を実行することができる。
図27に、減算処理の一例におけるタイミングチャートを示す。
図27では、既に記憶している値(202)から、負の重みデータとして(4)を減算する場合のタイミングチャートを示している。
【0109】
以上説明したように、本実施形態により、第1実施形態および第2実施形態と同様に、海馬-嗅内皮質モデルおける、検知した事象に関する空間と相関を有する記憶を保持および更新可能であることに加え、さらに記憶したデータに対する減算処理を実行することが可能となる。これにより、時間の経過に従い記憶が減衰する作用、および負の重み分布を有する記憶に関する処理を実現することが可能となる。
【0110】
[第4実施形態]
本実施形態における演算処理装置は、第1実施形態、第2実施形態および第3実施形態における事象検出位置を三次元空間に拡張したものである。すなわち本実施形態における演算処理装置に関しては、メモリ回路またはメモリ演算回路が、それぞれの事象種別ごとに、三次元空間に拡張された構成に変更されたものであり、3次元空間内で生じた事象の情報と空間情報の相関関係を学習する機能を有する。
【0111】
なお本実施形態に関する演算処理装置は、第1実施形態および第2実施形態におけるメモリ回路2およびメモリ演算回路36、さらに第3実施形態におけるメモリ回路2およびメモリ演算回路51が、事象に関する情報を三次元空間の位置と相関を有する情報として記憶するように拡張された構成を有する以外は、第1実施形態、第2実施形態および第3実施形態と同様である。そのため、本実施形態に関しては第1実施形態、第2実施形態および第3実施形態と異なる点についてのみ説明を行い、その他の点は同様として説明を省略する。
【0112】
まず、本実施形態における海馬-嗅内皮質モデルにおいては、ロボットなどの空間を移動しながら様々な事象を検知し、事象を検知するごとに、その事象を検知した場所に対して、所定の空間的な広がりを有する重み情報を、当該事象に関する空間情報と相関を有する情報として記憶することは第1実施形態、第2実施形態および第3実施形態と同様であるが、対象となる空間は三次元空間に拡張される。
【0113】
例えばロボットが階段を使用して1階と2階を移動し、異なる階における二次元空間で生じた事象に関して、空間情報と相関を有する情報として記憶する。この場合、空間を定義する座標としては、新たにz軸が追加され、zの値としては0, 1の2値のみが定義される。
【0114】
またこの場合の重み情報の分布は、各階において独立に事象が生じるものとして、第1実施形態、第2実施形態および第3実施形態と同様に、二次元的な分布を有するものとする。
【0115】
なお三次元空間の定義は、前述したようなz軸方向に2値である必要は無く、例えばロボットなどのエージェントが、事象の検知位置としてさらに複数のz軸方向の位置の情報を扱うものであっても構わない。また重み情報の分布に関しても、必ずしも二次元空間としての分布に限るものでは無く、三次元的に分布を有するものであっても構わない。
【0116】
まず、本実施形態における演算処理装置に関して説明する。本実施形態における演算処理装置は、第1実施形態および第3実施形態における演算処理装置100および演算処理装置300におけるメモリ回路2を、
図28に示すように三次元空間座標に対応した情報を記憶可能なように、z軸方向に対応するメモリブロックを有するメモリ回路54に拡張したものである。すなわち、それぞれが三次元空間座標に対応したメモリブロック1を複数有する構成となっている。
【0117】
なお
図28においては、紙面の都合により二次元空間サイズを4x4とした場合のメモリ回路54を図示している。演算処理装置100および演算処理装置300と異なる点は、z軸方向に拡張した三次元空間座標に対応してメモリブロックが構成されている点にある。
図28においては、各メモリブロック1がメモリ回路54の各行を構成しており、メモリ回路54は合計で32行のメモリブロック1を有している。ここで各メモリブロック1は、それぞれが三次元空間における位置座標に対応する。図では、各行のラベルとして、(x, y, z)と表記した座標を対応させている。
【0118】
すなわち本実施形態においては、空間情報として4x4x2(=32)の位置座標に対応するデータを記憶することを想定しており、前述したエージェントが移動する三次元空間の位置は、4x4x2個の座標として検知される。
【0119】
また、メモリ回路の各列は、空間内で検知される事象種別に対応している。図では、各列のラベルとして、0-9と表記した各事象種別の10種類のラベルを対応させていることは、演算処理装置100および演算処理装置300と同様である。
【0120】
以上のように構成されたメモリ回路54に対して、事象種別データと、事象検出位置データに基づいて、メモリ制御回路が対応する事象種別の当該領域のデータを読み出し、演算回路に入力して加算処理または加減算処理を実行し、さらに、演算回路による演算結果をメモリ回路54の元の位置(読み出した位置)に書き戻す処理を実行することは実施形態1および実施形態3における演算処理装置100および演算処理装置300と同様である。
【0121】
なお本実施形態においては、加算する重み分布は前述したように二次元分布を有するものとしたが、三次元分布を有する重みを加算処理または加減算処理する場合は、三次元的な重み分布に対応する領域の記憶データをメモリ回路から読み出して演算すれば良い。
【0122】
続いて、本実施形態における演算処理装置に関して説明する。
本実施形態における演算処理装置は、実施形態2および実施形態3における演算処理装置200および演算処理装置400におけるメモリ演算回路36、51を、
図29に示すように、三次元空間における情報を記憶および演算が可能なように、三次元空間座標に対応したメモリ演算素子を有するメモリ演算ブロック55から構成したものである。
【0123】
演算処理装置200および演算処理装置400と異なる点は、メモリ演算ブロック55が、さらにz軸方向に拡張した空間座標に対応するメモリ演算素子を有する点である。
図29においては、各メモリ演算ブロックが、空間内で検知される事象種別に対応し、さらにz軸方向の位置に対応した、メモリ演算素子37から構成される。
図29では、z軸方向の位置(0, 1の2値)ごとに、事象種別のラベルとして0-9と表記した各事象種別の10種類のラベルに対応した10個のメモリ演算素子が、1つのメモリ演算ブロックに含まれている。
【0124】
ここで1つのメモリ演算素子は、対応する座標位置における1つの事象に対応したデータを記憶するメモリ素子と、前記メモリ素子に記憶しているデータと、さらに当該事象が発生した場合に加算される重み分布の値の加算処理を実行する演算回路の両者を兼ねた構成、および機能を有することは、実施形態2および実施形態3における演算処理装置200および演算処理装置400と同様である。なおメモリ演算素子の構成および動作に関しては、実施形態2および実施形態3と同様であるものとして説明を省略する。
【0125】
以上のように構成されたメモリ演算回路に対して、事象種別データと、事象検出位置データに基づいて、メモリ演算素子に記憶する値に加算処理および加減算処理を実行することは実施形態2および実施形態3における演算処理装置200および演算処理装置400と同様である。
【0126】
なお本実施例においては、加算する重み分布は前述したように二次元分布を有するものとしたが、三次元分布を有する重みを加算処理または加減算処理する場合は、重み分布の中心位置に相当するメモリ演算ブロックの演算制御回路からの制御信号に基づき、重み分布に対応する周辺のメモリ演算ブロックにおいて、加算処理および加減算処理を実行することが可能である。
【0127】
以上説明したように、本実施形態における演算処理装置は、メモリ回路またはメモリ演算回路が、それぞれの事象種別ごとに、三次元空間に拡張された構成に変更されたことにより、3次元空間内で生じた事象の情報と空間情報の相関関係を学習することが可能となる。
【符号の説明】
【0128】
100、200、300、400 演算処理装置
1 メモリブロック
2、54 メモリ回路
3、49 演算回路
4 メモリ制御回路
5、6、17、23 入力ポート
7、18、24 出力ポート
8 場所細胞
9 キュー細胞
10 連結細胞
11 エージェント
12~15 空間内の位置
16 重み分布
19 加算器
20~22 レジスタ
25 事象種別検出装置
26 空間位置検出装置
27~34、42~48 処理項目
35、50、55、57 メモリ演算ブロック
36、51、56 メモリ演算回路
37 メモリ演算制御回路
38、53 メモリ演算素子
39 演算制御回路
40 トグルフリップフロップ回路
41 XOR回路
52 加減算器