JP6740920B2 - 演算処理装置 - Google Patents

演算処理装置 Download PDF

Info

Publication number
JP6740920B2
JP6740920B2 JP2017016715A JP2017016715A JP6740920B2 JP 6740920 B2 JP6740920 B2 JP 6740920B2 JP 2017016715 A JP2017016715 A JP 2017016715A JP 2017016715 A JP2017016715 A JP 2017016715A JP 6740920 B2 JP6740920 B2 JP 6740920B2
Authority
JP
Japan
Prior art keywords
arithmetic
data
unit
output
circuit
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.)
Active
Application number
JP2017016715A
Other languages
English (en)
Other versions
JP2018124813A (ja
Inventor
智章 尾崎
智章 尾崎
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2017016715A priority Critical patent/JP6740920B2/ja
Publication of JP2018124813A publication Critical patent/JP2018124813A/ja
Application granted granted Critical
Publication of JP6740920B2 publication Critical patent/JP6740920B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、演算処理装置に関する。
従来より、複数の処理層が階層的に接続されたニューラルネットワークによる演算を実行する演算処理装置が考えられている。特に画像認識を行う演算処理装置においては、いわゆる畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)が中核的な存在となっている。
特許第5184824号公報
この種の畳み込みニューラルネットワークによる演算処理では、演算処理後に、複数の演算結果データのうち最も大きい値を示す最大値データ、つまり、特徴量が最も反映された演算結果データを特定する必要がある。ところで、このような最大値データを検出する最大値検出処理は、畳み込み演算処理、活性化処理、プーリング処理などの演算処理とは処理の性質が異なる。そのため、最大値検出処理のための専用の回路構成が別途必要となり、演算処理装置全体としての回路規模が大きくなってしまう。
また、最大値検出処理を実現するための手段として、例えばSoC(System On Tip)構成に含まれる汎用のCPUなどに演算結果データをオフロードする手段が考えられている。しかし、この手段では、オフロードの際に生じるデータ転送処理の負荷やCPUの処理負荷が増大するという課題がある。
そこで、本発明は、ニューラルネットワークによる演算処理を実現する演算処理装置に関し、回路規模の大型化を抑えつつ、複数の演算結果データから最大値データを検出する最大値検出処理を行うことができる構成を提供する。
本発明に係る演算処理装置は、複数の処理層が階層的に接続されたニューラルネットワークによる演算を実行する演算処理装置(10)であって、複数の演算ブロック(11A〜11E)、複数の演算部(15)、切換部(15f)、比較部(12A〜12E)、付与部(13A〜13E)を備える。演算ブロックは、前記演算を実行する。演算部は、前記演算ブロックを構成する。切換部は、前記演算部を、入力データを演算して出力する演算出力モードと、入力データを演算しないで出力する非演算出力モードと、に切り換える。比較部は、前記演算ブロックに対応して設けられ、自身が対応する前記演算ブロックが出力する演算結果データと他の前記演算ブロックが出力する演算結果データの大小関係を比較し、その比較結果に基づいて、値が大きい演算結果データを出力する。付与部は、前記比較部が出力する前記演算結果データに識別番号を付与する。
この構成によれば、最大値検出処理のための専用の回路構成を別途備えなくとも、演算ブロックの構成を利用して最大値検出処理を行うことができる。よって、演算処理装置の回路規模の大型化を抑えつつ、複数の演算結果データから最大値データを検出する最大値検出処理を行うことができる。
畳み込みニューラルネットワークの構成例を概念的に示す図 中間層における演算処理の流れを視覚的に例示する図(その1) 中間層における演算処理の流れを視覚的に例示する図(その2) 特徴量抽出処理に用いられる一般的な演算式および関数を例示する図 第1実施形態に係る演算処理装置の構成例を概略的に示すブロック図 演算部の構成例を概略的に示すブロック図 第2実施形態に係る演算部の構成例を概略的に示すブロック図 第3実施形態に係る演算処理装置の構成例を概略的に示すブロック図
以下、演算処理装置に係る複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に同一の要素には同一の符号を付し、説明を省略する。
(ニューラルネットワーク)
図1には、詳しくは後述する演算処理装置10に適用されるニューラルネットワーク、この場合、畳み込みニューラルネットワークの構成例を概念的に示している。畳み込みニューラルネットワークNは、入力データである画像データD1から所定の形状やパターンを認識する画像認識技術に応用されるものであり、中間層Naと全結合層Nbとを有する。中間層Naは、複数の特徴量抽出処理層Na1,Na2・・・が階層的に接続された構成である。各特徴量抽出処理層Na1,Na2・・・は、それぞれ畳み込み層Cおよびプーリング層Pを備える。
次に、中間層Naにおける処理の流れについて説明する。図2に例示するように、第1層目の特徴量抽出処理層Na1では、演算処理装置は、入力される画像データD1を例えばラスタスキャンにより所定サイズごとに走査する。そして、走査したデータに対して周知の特徴量抽出処理を施すことにより入力画像に含まれる複数の特徴量を抽出する。なお、第1層目の特徴量抽出処理層Na1では、例えば水平方向に延びる線状の特徴量や斜め方向に延びる線状の特徴量などといった比較的シンプルな単独の特徴量を抽出する。このとき、演算処理装置は、入力画像に含まれる複数の特徴にそれぞれ対応する複数の特徴マップを生成する。
第2層目の特徴量抽出処理層Na2では、演算処理装置は、前階層の特徴量抽出処理層Na1から入力される入力データを例えばラスタスキャンにより所定サイズごとに走査する。そして、走査したデータに対して周知の特徴量抽出処理を施すことにより入力画像に含まれる複数の特徴量を抽出する。なお、第2層目の特徴量抽出処理層Na2では、第1層目の特徴量抽出処理層Na1で抽出された複数の特徴量の空間的な位置関係などを考慮しながら統合させることで、より高次元の複合的な特徴量を抽出する。このとき、演算処理装置は、入力画像に含まれる複数の特徴にそれぞれ対応する複数の特徴マップを生成する。
第3層目の特徴量抽出処理層Na3では、演算処理装置は、前階層の特徴量抽出処理層Na2から入力される入力データを例えばラスタスキャンにより所定サイズごとに走査する。そして、走査したデータに対して周知の特徴量抽出処理を施すことにより入力画像に含まれる複数の特徴量を抽出する。なお、第3層目の特徴量抽出処理層Na3では、第2層目の特徴量抽出処理層Na2で抽出された複数の特徴量の空間的な位置関係などを考慮しながら統合させることで、より高次元の複合的な特徴量を抽出する。このとき、演算処理装置は、入力画像に含まれる複数の特徴にそれぞれ対応する複数の特徴マップを生成する。このように、複数の特徴量抽出処理層による特徴量の抽出処理を繰り返すことで、演算処理装置は、画像データD1に含まれる検出対象物体の画像認識を行う。
演算処理装置は、中間層Naにおいて複数の特徴量抽出処理層Na1,Na2,Na3・・・による処理を繰り返すことで入力画像データD1に含まれる種々の特徴量を高次元で抽出していく。そして、演算処理装置は、中間層Naの処理により得られた結果を中間演算結果データとして全結合層Nbに出力する。
全結合層Nbは、中間層Naから得られる複数の中間演算結果データを結合して最終的な演算結果データを出力する。即ち、全結合層Nbは、中間層Naから得られる複数の中間演算結果データを結合し、さらに、その結合結果に対して重み係数を異ならせながら積和演算を行うことにより、最終的な演算結果データ、即ち、入力データである画像データD1に含まれる検出対象物を認識した画像データを出力する。このとき、積和演算による演算結果の値が大きい部分が検出対象物の一部または全部として認識される。よって、畳み込みニューラルネットワークによる演算処理では、演算処理後に、複数の演算結果データのうち最も大きい値を示す演算結果データを特定するための最大値検出処理が行われている。
次に、演算処理装置による特徴量抽出処理の流れについて説明する。図3に例示するように、演算処理装置は、前階層の特徴量抽出処理層から入力される入力データDnを所定サイズ、この場合、図にてハッチングで示す3×3画素ごとのフィルタサイズにより走査する。なお、画素サイズは、3×3画素に限られず、例えば5×5画素など適宜変更することができる。
そして、演算処理装置は、走査したデータに対して、それぞれ周知の畳み込み演算を行う。そして、演算処理装置は、畳み込み演算後のデータに対して周知の活性化処理を行い、畳み込み層Cの出力とする。そして、演算処理装置は、畳み込み層Cの出力データCnに対して、所定サイズ、この場合、2×2画素ごとに周知のプーリング処理を行い、プーリング層Pの出力とする。そして、演算処理装置は、プーリング層Pの出力データPnを次の階層の特徴量抽出処理層に出力する。なお、画素サイズは、2×2画素に限られず適宜変更することができる。
図4には、畳み込み演算処理に用いられる畳み込み関数、活性化処理に用いられる関数、プーリング処理に用いられる関数の一般的な例を示している。即ち、畳み込み関数Yijは、直前の層の出力Xijに学習により得られる重み係数Wp,qを乗算した値を累積する関数となっている。なお、「N」は1サイクルの畳み込み演算処理により処理される画素サイズを示す。即ち、例えば1演算サイクルの画素サイズが「3×3」画素である場合、Nの値は「2」である。また、畳み込み関数Yijは、累積値に所定のバイアス値を加算する関数としてもよい。また、畳み込み関数は、全結合処理にも対応し得る積和演算が可能な関数であれば、種々の関数を採用することができる。また、活性化処理には、周知のロジスティックジグモイド関数やReLU関数(Rectified Linear Units)などが用いられる。また、プーリング処理には、入力されるデータの最大値を出力する周知の最大プーリング関数や、入力されるデータの平均値を出力する周知の平均プーリング関数などが用いられる。
上述した畳み込みニューラルネットワークNによれば、コンボルーション層Cによる処理およびプーリング層Pによる処理が繰り返されることにより、より高次元の特徴量の抽出が可能となる。次に、この畳み込みニューラルネットワークNを適用した演算処理装置に係る複数の実施形態について説明する。
(第1実施形態)
図5に例示する演算処理装置10は、複数、この場合5つの演算ブロック11A〜11Eと、複数、この場合、5つの比較回路12A〜12Eと、複数、この場合、5つの識別番号付与回路13A〜13Eと、を備えている。演算処理装置10は、1つの演算ブロック11A〜11Eに対し、1つの比較回路12A〜12Eおよび1つの識別番号付与回路13A〜13Eを備える構成となっている。そして、演算処理装置10は、1つの演算ブロック11A〜11E、1つの比較回路12A〜12E、1つの識別番号付与回路13A〜13Eからなる組を複数、この場合、5つ形成しており、これらの組を下流側から上流側に向けて列状に配列した構成となっている。
なお、説明の便宜上、図1の下側を下流側、図1の上側を上流側と定義する。よって、最も下位側の演算ブロックは演算ブロック11Eであり、最も上位側の演算ブロックは演算ブロック11Aである。また、演算処理装置10は、複数、この場合、5つの演算ブロック11A〜11Eと、複数、この場合、5つの比較回路12A〜12Eと、複数、この場合、5つの識別番号付与回路13A〜13Eとから、1つの演算ユニット14A〜14Eを構成している。
演算ブロック11A〜11Eは、それぞれ複数、この場合、5つの演算部15を備えている。演算部15は、それぞれ、図示しない畳み込み演算処理部、活性化処理部、プーリング処理部など、畳み込みニューラルネットワークNによる演算処理に用いられる各種の処理部を備えている。これらの処理部は、例えば回路などのハードウェアにより構成してもよいし、ソフトウェアにより構成してもよいし、ハードウェアとソフトウェアの組み合わせにより構成してもよい。
畳み込み演算処理部は、前階層から入力される入力データに対して周知の畳み込み演算処理を実行して、その処理結果データを活性化処理部に出力する。活性化処理部は、畳み込み演算処理部から入力されるデータに対して周知の活性化処理を実行して、その処理結果データをプーリング処理部に出力する。プーリング処理部は、活性化処理部による処理結果データに対して周知のプーリング処理を実行して、その処理結果データを出力する。演算ブロック11A〜11Eは、多段接続された複数の演算部15により、入力データに対し演算処理を施し、それぞれ対をなす比較回路12A〜12Eに出力する。
比較回路12A〜12Eは、比較部の一例であり、例えば、加算処理および比較処理が可能な比較器などで構成されている。即ち、比較回路12A〜12Eは、加算器として機能する加算処理モードと、比較器として機能する比較処理モードと、に切り換え可能に構成されている。比較回路12A〜12Eは、それぞれ複数の演算ブロック11A〜11Eに対応して設けられている。
比較回路12A〜12Eは、加算器として機能する場合には、自身が対応する演算ブロック11A〜11Eが出力するデータに、他の演算ブロック11A〜11E、この場合、1つ上位側の演算ブロック11A〜11Eが出力するデータを加算する。そして、比較回路12A〜12Eは、加算後のデータを、フリップフロップ回路16A〜16Eを介して、1つ下位側の比較回路12A〜12Eに出力する。
なお、最も上位側の比較回路12Aは、自身が対応する演算ブロック11Aが出力するデータに、所定の初期値、この場合、「0」を加算する。また、最も下位側の比較回路12Eは、加算後のデータを、最も下位側のフリップフロップ回路17Eを介して演算ユニット14A〜14Eの外部に出力する。
また、比較回路12A〜12Eは、比較器として機能する場合には、自身が対応する演算ブロック11A〜11Eが出力するデータと、他の演算ブロック11A〜11E、この場合、1つ上位側の演算ブロック11A〜11Eが出力するデータの大小関係を比較する。そして、比較回路12A〜12Eは、その比較結果に基づいて、より値が大きいデータを、フリップフロップ回路16A〜16Eを介して、1つ下位側の比較回路12A〜12Eに出力する。また、比較回路12A〜12Eは、比較結果を示す比較結果情報Sa〜Se、つまり、自身と対をなす演算ブロック11A〜11Eが出力するデータおよび1つ上位側の演算ブロック11A〜11Eが出力するデータのうち何れのデータを選択したのかを示す情報を、自身と対をなす識別番号付与回路13A〜13Eに出力する。
なお、最も上位側の比較回路12Aは、自身が対応する演算ブロック11Aが出力するデータと、所定の初期値、この場合、「0」とを比較して、より大きい値の方を選択して出力する。また、最も下位側の比較回路12Eは、選択したデータを、最も下位側のフリップフロップ回路16Eを介して演算ユニット14A〜14Eの外部に出力する。
識別番号付与回路13A〜13Eは、付与部の一例であり、例えば2進数データなどで構成される識別番号を発生可能な回路構成を備えている。識別番号付与回路13A〜13Eは、自身と対をなす比較回路12A〜12Eから比較結果情報Sa〜Seが入力されると、その比較結果情報に基づいて、自身と対をなす演算ブロック11A〜11Eが出力するデータおよび1つ上位側の演算ブロック11A〜11Eが出力するデータのうち、自身と対をなす比較回路12A〜12Eが選択したデータを特定する。そして、識別番号付与回路13A〜13Eは、特定したデータに識別番号を付与する。識別番号付与回路13A〜13Eは、付与した識別番号を示す識別番号情報Ta〜Teを、フリップフロップ回路17A〜17Eおよび下位側の識別番号付与回路13A〜13Eを介して演算ユニット14A〜14Eの外部に出力する。
次に、演算部15の構成例について、さらに詳細に説明する。図6に例示するように、演算部15は、それぞれ、フリップフロップ回路15a、重み係数入力回路15b、乗算器15c、加算器15dなどを備えている。フリップフロップ回路15aは、入力データの入力タイミングを調整する。重み係数入力回路15bは、例えばフリップフロップ回路などを備えて構成され、演算処理に用いられる重み係数を記憶あるいは発生する。そして、重み係数入力回路15bは、重み係数を乗算器15cに入力する。乗算器15cは、入力データと重み係数とを乗算する。加算器15dは、乗算器15cによる演算結果を加算する。そして、演算部15は、加算器15dによる演算結果データを、フリップフロップ回路15eを介して出力する。
さらに、演算部15は、加算器15dとフリップフロップ回路15eとの間に選択回路15fを備える。選択回路15fは、切換部の一例であり、演算部15を、入力データを演算して出力する演算出力モードと、入力データを演算しないで出力する非演算出力モードと、に切り換えるモード切換機能を備えている。この場合、選択回路15fは、畳み込みニューラルネットワークNによる演算処理の実行時においては、演算部15を演算出力モードに切り換え、入力データが演算されて出力される状態にする。また、選択回路15fは、複数の演算結果データから最大値データを特定する最大値検出処理の実行時においては、演算部15を非演算出力モードに切り換え、入力データが演算されないまま出力される状態にする。
次に、演算処理装置10による演算処理の流れについて説明する。即ち、畳み込みニューラルネットワークNによる演算処理の実行時においては、演算部15は、それぞれ演算出力モードに切り換えられる。また、比較回路12A〜12Eは、それぞれ加算器として機能するように切り換えられる。これにより、複数の演算ブロック11A〜11Eに入力される入力データが、それぞれ各演算ブロック11A〜11Eにおいて演算処理され、さらに、比較回路12A〜12Eにより加算つまり累積されて演算ユニット14A〜14Eから出力される。演算ユニット14A〜14Eから出力される演算結果データは、次階層における演算処理の入力データとして用いられる。これにより、複数階層にわたる演算処理が順次進められていき、入力画像に含まれる特徴量の抽出が行われる。
一方、畳み込みニューラルネットワークNによる演算処理の後に行われる最大値検出処理の実行時においては、演算部15は、それぞれ非演算出力モードに切り換えられる。また、比較回路12A〜12Eは、それぞれ比較器として機能するように切り換えられる。これにより、複数の演算ブロック11A〜11Eに入力される入力データは、それぞれ演算処理が施されることなく、そのまま比較回路12A〜12Eに到達する。そして、比較回路12A〜12Eは、自身が対応する演算ブロック11A〜11Eが出力するデータと1つ上位側の演算ブロック11A〜11Eが出力するデータの大小関係を比較する。そして、比較回路12A〜12Eは、その比較結果に基づいて、より大きい値を示すデータを下位側の比較回路12A〜12Eに伝達していく。これにより、複数の演算ブロック11A〜11Eに入力される複数の入力データのうち最も値が大きいデータが演算ユニット14A〜14Eから出力される。即ち、最も特徴量が反映された最大値データが演算ユニット14A〜14Eから出力されるようになる。
演算処理装置10によれば、畳み込みニューラルネットワークNによる演算処理を実行する演算ブロック11A〜11Eの演算部15を、入力データを演算しないで出力する非演算出力モードに切り換え可能に構成した。また、演算処理装置10によれば、演算部15が非演算出力モードに切り換えられた状態において複数の演算ブロック11A〜11Eから出力されるデータ、つまり、演算処理が施されていないデータの大小関係を比較する比較回路12A〜12Eを備えている。この構成によれば、最大値検出処理のための専用の回路構成を別途備えなくとも、演算ブロック11A〜11Eの構成を利用して最大値検出処理を行うことができる。よって、演算処理装置10の回路規模の大型化を抑えつつ、複数の演算結果データから最大値の演算結果データを検出する最大値検出処理を行うことができる。
(第2実施形態)
図7に例示するように、演算部15は、さらに差替ユニット21を備える。差替ユニット21は、他の演算部15に入力する入力データを、演算結果データが取り得る値のうち最も小さい値を示す最小値データに差し替えるものであり、第1差替回路22および第2差替回路23を有する。また、演算部15は、さらに、有効信号生成回路24およびアンド回路25を備えている。アンド回路25には、重み係数入力回路15bから重み係数が入力される。また、アンド回路25には、有効信号生成回路24から有効信号が入力される。アンド回路25は、重み係数入力回路15bから重み係数が入力され、且つ、有効信号生成回路24から有効信号が入力されると、その重み係数を第1差替回路22に出力する。
有効信号生成回路24は、例えばカウンタ回路などを主体として構成されており、所定のタイミングで有効信号を出力する。有効信号生成回路24が有効信号を出力するタイミングは、例えば演算部15の数や並列数などに応じて、適宜変更して設定することができる。
また、演算部15は、さらに、最小値出力回路26を備えている。最小値出力回路26は、演算ブロック11A〜11Eによる演算により出力され得る演算結果データのうち最も小さい値を示す最小値データを生成あるいは記憶している。なお、最小値データは、例えば、入力画像データの大きさ、演算結果データのビット数などに基づいて特定することができる。
第1差替回路22には、フリップフロップ回路15aからの入力データおよび最小値出力回路26からの最小値データが入力される。第1差替回路22は、アンド回路25から入力される重み係数が所定条件を満たす場合、この場合、重み係数の最下位ビットが「1」である場合には、フリップフロップ回路15aからの入力データおよび最小値出力回路26からの最小値データのうち最小値データを選択して選択回路15fおよび第2差替回路23に出力する。即ち、第1差替回路22は、フリップフロップ回路15aからの入力データを最小値出力回路26からの最小値データに差し替えて選択回路15fおよび第2差替回路23に出力する。
また、第1差替回路22は、アンド回路25から入力される重み係数の最下位ビットが「1」でない場合には、フリップフロップ回路15aからの入力データおよび最小値出力回路26からの最小値データのうち入力データを選択して選択回路15fおよび第2差替回路23に出力する。即ち、第1差替回路22は、フリップフロップ回路15aからの入力データを差し替えることなく、そのまま選択回路15fおよび第2差替回路23に出力する。
以上の通り、第1差替回路22は、アンド回路25から重み係数が入力される場合、つまり、有効信号生成回路24から有効信号が出力されている場合であって、且つ、その重み係数が所定条件を満たす場合に、選択回路15fおよび第2差替回路23に入力される入力データを最小値データに差し替えるようになっている。
選択回路15fは、畳み込みニューラルネットワークNによる演算処理の実行時においては、加算器15dから入力される入力データおよび第1差替回路22から入力される最小値データのうち入力データを選択して出力する。また、選択回路15fは、最大値検出処理の実行時において第1差替回路22から最小値データが入力されている場合には、加算器15dから入力される入力データおよび第1差替回路22から入力される最小値データのうち最小値データを選択して出力する。
また、第2差替回路23は、畳み込みニューラルネットワークNによる演算処理の実行時においては、フリップフロップ回路15aから入力される入力データおよび第1差替回路22から入力される最小値データのうち入力データを選択して出力する。また、第2差替回路23は、最大値検出処理の実行時において第1差替回路22から最小値データが入力されている場合には、フリップフロップ回路15aから入力される入力データおよび第1差替回路22から入力される最小値データのうち最小値データを選択して出力する。
選択回路15fおよび第2差替回路23から最小値データが出力される場合、その最小値データは、演算が施されることなく、そのまま、対応する比較回路12A〜12Eに到達する。よって、比較回路12A〜12Eにおける比較処理において、一方の比較対象データを確実に最小値データとすることができる。そして、この比較処理において、最小値データが、より大きな値のデータとして選択されることは無いため、最大値検出処理において最小値データが最大値データとして検出されてしまうことを確実に回避することができる。
(第3実施形態)
図8に例示する演算処理装置10は、複数の演算ユニット14A〜14Eからなる演算ユニット群114を複数備えている。また、演算ユニット群114は、それぞれ、比較回路31、選択回路32、格納回路33を備えている。演算ユニット群114は、自身が出力する最大値データに、その最大値データに付与した識別番号を添付して出力する。即ち、演算ユニット群114は、最大値データと識別番号を対応付けて出力するようになっている。
比較回路31は、格納回路33に格納されている最大値データと、自身が対をなす演算ユニット群114が出力する最大値データと、下位の演算ユニット群114が出力する最大値データと、の大小関係を比較する。そして、比較回路31は、3つの最大値データのうち最も値が大きい演算結果データを特定する。そして、比較回路31は、格納回路33に格納されている最大値データ、自身が対をなす演算ユニット群114が出力する最大値データ、下位の演算ユニット群114が出力する最大値データのうち何れのデータを特定したのかを示す比較結果データDを選択回路32に出力する。
選択回路32は、比較回路31から入力される比較結果データDに基づいて、格納回路33に格納されている最大値データ、自身が対をなす演算ユニット群114が出力する最大値データ、下位の演算ユニット群114が出力する最大値データのうち、最も値が大きい演算結果データを選択する。そして、選択回路32は、選択した演算結果データを格納回路33に上書きして格納する。これにより、格納回路33には、既に実行された演算処理により得られた演算結果データのうち最も大きい値を示す演算結果データが常に格納されるようになる。即ち、格納回路33には、常に、最新の最大値データが格納される。格納回路33は、格納部の一例である。
この構成によれば、演算処理装置10が複数の演算ユニット群114を備える場合であっても、それぞれの演算ユニット群114が出力する演算結果データから最大値データを特定することができる。よって、演算ユニット群114の数を増やして演算処理能力を向上させつつ、多数の演算結果データから最大値データの検出を行うことができる。
なお、演算処理装置10は、複数の演算ユニット群114が出力する演算結果データの値が等しい場合には、比較回路31により、その演算結果データに付与されている識別番号の大小関係を比較し、その比較結果に基づいて、格納回路33に格納する演算結果データを選択する構成としてもよい。これにより、複数の演算ユニット群114から同じ値の最大値データが出力される場合であっても、何れか1つの最大値データを選択して格納することができる。
(その他の実施形態)
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。例えば、上述した複数の実施形態を適宜組み合わせて実施してもよい。また、演算ブロックの数や演算器の数は、5つに限られるものではなく、その数を適宜変更して構成することができる。また、比較回路の数や識別番号付与回路の数も、演算ブロックの数に応じて、その数を適宜変更して構成することができる。
また、演算部は、例えば累積処理部を備えたものであってもよい。累積処理部は、例えば加算器などで構成される。累積処理部は、下位側の演算ブロック11A〜11Eの累積処理部からデータが入力される場合には、そのデータを、自身と同じ演算ブロック11A〜11Eの畳み込み演算処理部から入力されるデータに加算する。これにより、複数の演算ブロック11A〜11Eは、それぞれの演算ブロック11A〜11Eの畳み込み演算処理部による演算結果データを、下位側から上位側に向かって順次累積することが可能となる。
また、累積処理部は、下位側の演算ブロック11A〜11Eからデータが入力されない場合には、自身と同じ演算ブロック11A〜11Eの畳み込み演算処理部から入力されるデータを、自身と同じ演算ブロック11A〜11Eの活性化処理部に出力する。また、累積処理部は、下位側の演算ブロック11A〜11Eからデータが入力される場合には、自身と同じ演算ブロック11A〜11Eの畳み込み演算処理部から入力されるデータに下位側の演算ブロック11A〜11Eから入力されるデータを加算した累積データを、自身と同じ演算ブロック11A〜11Eの活性化処理部に出力する。
なお、本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
図面中、10は演算処理装置、11A〜11Eは演算ブロック、12A〜12Eは比較回路(比較部)、13A〜13Eは識別番号付与回路(付与部)、15は演算部、15fは選択回路(切換部)を示す。

Claims (4)

  1. 複数の処理層が階層的に接続されたニューラルネットワークによる演算を実行する演算処理装置(10)であって、
    前記演算を実行する複数の演算ブロック(11A〜11E)と、
    前記演算ブロックを構成する複数の演算部(15)と、
    前記演算部を、入力データを演算して出力する演算出力モードと、入力データを演算しないで出力する非演算出力モードと、に切り換える切換部(15f)と、
    前記演算ブロックに対応して設けられ、自身が対応する前記演算ブロックが出力する演算結果データと他の前記演算ブロックが出力する演算結果データの大小関係を比較し、その比較結果に基づいて、値が大きい演算結果データを出力する比較部(12A〜12E)と、
    前記比較部が出力する前記演算結果データに識別番号を付与する付与部(13A〜13E)と、
    を備える演算処理装置。
  2. 前記演算部に入力する入力データを、前記演算結果データが取り得る値のうち最小値を示す最小値データに差し替える差替部(21)をさらに備える請求項1に記載の演算処理装置。
  3. 前記演算ブロックを含む複数の演算ユニット(14A〜14E)により複数の演算ユニット群(114)が構成され、
    複数の前記演算ユニット群が出力する演算結果データの大小関係を比較し、その比較結果に基づいて、最も値が大きい演算結果データを格納する格納部(33)をさらに備える請求項1または2に記載の演算処理装置。
  4. 複数の前記演算結果データの値が等しい場合には、前記演算結果データに付与されている前記識別番号の大小関係を比較し、その比較結果に基づいて、前記格納部に格納する演算結果データを選択する請求項3に記載の演算処理装置。
JP2017016715A 2017-02-01 2017-02-01 演算処理装置 Active JP6740920B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017016715A JP6740920B2 (ja) 2017-02-01 2017-02-01 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017016715A JP6740920B2 (ja) 2017-02-01 2017-02-01 演算処理装置

Publications (2)

Publication Number Publication Date
JP2018124813A JP2018124813A (ja) 2018-08-09
JP6740920B2 true JP6740920B2 (ja) 2020-08-19

Family

ID=63111416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017016715A Active JP6740920B2 (ja) 2017-02-01 2017-02-01 演算処理装置

Country Status (1)

Country Link
JP (1) JP6740920B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112424713A (zh) * 2018-08-23 2021-02-26 西门子股份公司 人工智能计算设备、控制方法及装置、工程师站及工业自动化系统
US10579924B1 (en) * 2018-09-17 2020-03-03 StradVision, Inc. Learning method, learning device with multi-feeding layers and testing method, testing device using the same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784966A (ja) * 1993-08-06 1995-03-31 Toshiba Corp データ処理装置
JPH0784980A (ja) * 1993-09-10 1995-03-31 Hitachi Ltd ニューロコンピュータシステム
JP2969115B1 (ja) * 1998-11-25 1999-11-02 株式会社日立製作所 半導体装置
JP6314628B2 (ja) * 2014-04-28 2018-04-25 株式会社デンソー 演算処理装置
US10192162B2 (en) * 2015-05-21 2019-01-29 Google Llc Vector computation unit in a neural network processor

Also Published As

Publication number Publication date
JP2018124813A (ja) 2018-08-09

Similar Documents

Publication Publication Date Title
JP6365258B2 (ja) 演算処理装置
KR101863615B1 (ko) 신경망 학습 기반의 변종 악성 코드를 탐지하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
JP6314628B2 (ja) 演算処理装置
JP2015215837A (ja) 演算処理装置
JP5889431B2 (ja) 画像処理装置及び画像処理方法
JP6645252B2 (ja) 演算処理装置
US9053387B2 (en) Image processing circuit and image detection device
US11354238B2 (en) Method and device for determining memory size
JP6740920B2 (ja) 演算処理装置
JP6561877B2 (ja) 演算処理装置
JP2019016159A (ja) 畳み込みニューラルネットワーク
JP6800656B2 (ja) 演算回路、その制御方法及びプログラム
JP2014203136A (ja) 情報処理装置、情報処理方法、及びプログラム
WO2020075433A1 (ja) ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、およびニューラルネットワーク処理プログラム
US11500767B2 (en) Method and device for determining a global memory size of a global memory size for a neural network
JP2012221131A (ja) 画像認識プロセッサ
JP2017027314A (ja) 並列演算装置、画像処理装置及び並列演算方法
JP2012222453A5 (ja)
JP6622369B1 (ja) 訓練データを生成する方法、コンピュータおよびプログラム
CN113963241B (zh) Fpga硬件架构及其数据处理方法、存储介质
JP5911633B1 (ja) 画像処理装置
CN112686911A (zh) 一种控件区域生成方法、装置、电子设备及存储介质
JP5277498B2 (ja) 類似情報分類参照装置および類似情報分類参照方法
JP6848216B2 (ja) 演算処理装置
JP2012022535A (ja) 検出器構成装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200623

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R151 Written notification of patent or utility model registration

Ref document number: 6740920

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250