JP2021111082A - 演算装置、認識装置および制御装置 - Google Patents

演算装置、認識装置および制御装置 Download PDF

Info

Publication number
JP2021111082A
JP2021111082A JP2020002022A JP2020002022A JP2021111082A JP 2021111082 A JP2021111082 A JP 2021111082A JP 2020002022 A JP2020002022 A JP 2020002022A JP 2020002022 A JP2020002022 A JP 2020002022A JP 2021111082 A JP2021111082 A JP 2021111082A
Authority
JP
Japan
Prior art keywords
unit
arithmetic unit
calculation
arithmetic
output
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.)
Granted
Application number
JP2020002022A
Other languages
English (en)
Other versions
JP7304295B2 (ja
Inventor
真 岸本
Makoto Kishimoto
真 岸本
豪一 小野
Goichi Ono
豪一 小野
晃 北山
Akira Kitayama
晃 北山
浩朗 伊藤
Hiroo Ito
浩朗 伊藤
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo 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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2020002022A priority Critical patent/JP7304295B2/ja
Priority to PCT/JP2020/040917 priority patent/WO2021140730A1/ja
Priority to US17/789,730 priority patent/US20230067212A1/en
Publication of JP2021111082A publication Critical patent/JP2021111082A/ja
Application granted granted Critical
Publication of JP7304295B2 publication Critical patent/JP7304295B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

【課題】本発明は、演算における消費電力を削減することを課題とする。【解決手段】上記課題を解決するために、外界情報をもとに物体の種類や存在する座標を出力する多層のニューラルネットワークにおいて、外界情報から畳み込み演算部107−1〜Lへの入力データを選択するための選択器103と、縦続接続された複数の層から構成される畳み込み演算部107−1〜Lと、各層の重みパラメータと各層の累積加算回数と各層の切り捨てビット数を格納したパラメータ格納部109とを備え、前記パラメータ格納部109内のパラメータと畳み込み演算部107−1〜Lへの入力データをもとに層ごとに畳み込み演算部107−1〜Lの演算器の一部もしくは全部を停止する1つ以上の停止信号を畳み込み演算部107−1〜Lに送信する演算停止信号生成部116−1〜Lを有する認識装置1000を提案する。【選択図】図1

Description

本発明は、入力データに基づく演算を実行する演算装置およびその演算方法に関する。また、本発明は、当該演算装置を用いて、入力データを認識する認識装置や入力データに応じた制御を行う制御装置にも関する。
近年、様々な形で入力データに基づく演算装置が用いられている。AI(人工知能)を用いた金融取引、農業あるいは工業における生産管理、対象物に対する制御などに用いられている。
その中の一例として、カメラやLIDAR(Light Detection and Ranging)などを用いて外界情報を収集し、その情報から物体の種類や存在する座標を検出する認識装置およびこの認識装置を用いた制御装置にも用いられている。そして、これらの応用として、車両の制御への応用もなされている。
近年は、交通事故が社会問題となっており、車両による移動時の安全性に対する要求が高まっている。その要求に対応するため、様々な自動運転や運転支援向けの技術が提案されている。それらの中で特にDNN(Deep Neural Network)のひとつであるCNN(Convolutional Neural Network)を用いた物体認識手法や行動予測手法は高い認識性能を有することが知られている。そして、このCNNの自動運転への適用が進展している。
例えば、非特許文献1に記載のCNNは、外界情報である画像データを入力とし、複数の畳み込み層から構成され、縦続的に接続されているニューラルネットワークである。ここで、畳み込み層とは積和演算と活性化関数演算により構成され、入力データ内の画素と対応する重みパラメータの乗算を行い、その結果を一定回数累積加算して出力データを作成し、その後活性化関数演算を行い、その結果を出力する一連の演算のことである。画像データに対して畳み込み層の演算を行うことで、入力された画像データ内の特定の物体の種類や存在する座標を出力する。
ここで、このような処理を行う一般的な構成を説明する。CNNを構成する第1層は入力された画像データと第1層の畳み込み演算の重みパラメータを積和演算することで、畳み込み演算結果を出力する。複数のニューラルネットワークの第j番目の畳み込み層を第j層と呼び、その第j層(1≦j≦Lを満たす整数)は第j-1層の出力データと、第j層の畳み込み演算の重みパラメータから、第j層の畳み込み層の演算結果を出力する。最終層をL層とすると第L層の前段の第L-1層の出力データと第L層目の畳み込み演算の重みパラメータとを入力とし、物体の種類と存在する座標を出力する。
そして、それぞれの畳み込み層は、入力データと重みパラメータを用いて畳み込み演算を行った後、活性化関数演算を行い、結果を出力する。活性化関数演算は活性化関数のひとつであるReLU関数(ランプ関数)により、畳み込み演算結果中の負のデータを全て0に置換する演算である。この演算の一例として、非特許文献2が提案されている。
しかしながら、DNNのような積和演算を主体とする演算量が多い処理を、電力使用量が限られる車載用ECU(Electronic Control Unit)に実装する場合には、消費電力削減が必要となる。従来、DNNを電力制限が大きい車載用ECUに実装する場合、特許文献1に記載の手法のように、低電力化を目的にデータを低ビット長で演算する整数演算が行われてきた。この低ビット整数演算手法は、DNN内部の演算を、ある一定のビット長で演算、さらに次段への転送を行うことである。
但し、この乗算と加算を理想的な演算で行うと、データの表現に必要なビット長が演算を追うごとに増加する課題が発生する。そこで、積和演算後の演算を積和演算前と同等のビット長で行うために、増加したビット長を削減する丸め処理が行われることが一般的である。この丸め処理を行うと、データの表現に必要なビット長が削減されるため、丸め処理後のデータは表現可能範囲が制限され、微小な値は0に丸められる。
さらに、CNNを外界認識装置としてハードウェアに実装した場合について述べる。外部からの入力はカメラやLIDARなどの外界情報取得装置を用いて取得し、ビットマップ化される。ビットマップ化された情報はメモリに格納される。外界認識装置は、メモリ、選択器、学習データ保管部、パラメータ格納部、複数の畳み込み演算部、および学習データ保管部で構成され、物体の種類や存在する座標などの認識結果を出力するものである。
メモリに格納されたビットマップは選択器により後段の畳み込み演算部で利用するサイズとして取り出され、必要な入力データごとに分割し、畳み込み演算部に送信される。また学習データ保管部は事前に学習を行ったデータを保管し、その学習済みデータをパラメータ格納部へ保存する。パラメータ格納部は受け取った学習済みデータから、層ごとの重みパラメータ、層ごとの累積加算回数、層ごとの切り捨てビット数を選択し、1層目からL層目までの畳み込み演算部に送信する。畳み込み演算部は、1層目は選択器からの入力データと、1層目の重みパラメータ、1層目の累積加算回数、1層目の切り捨てビット数を入力として2層目に演算結果を出力する。畳み込み部は縦続接続され、第j番目の層である第j層の畳み込み演算部では、第j-1層の畳み込み演算部の出力と、第j層の重みパラメータと、累積加算回数と、切り捨てビット数とを入力とし、第j+1層に演算結果を出力する。
畳み込み演算部は選択器から送信された入力データと、パラメータ格納部から送信された重みパラメータと累積加算回数をもとに畳み込み演算を行う。そして、演算結果に対してパラメータ格納部から送信された切り捨てビット数をもとに丸め処理を行い、丸め処理の結果に対して活性化関数演算を行い、演算結果を次層に出力する働きを行う。
また、演算装置のおいては、一般的に演算量を削減することがなされている。その一例として、特許文献1について、説明する。特許文献1のステージ演算部は演算記憶部からの入力データおよび停止判定部からの停止信号が入力される。演算値記憶部は、外部からの入力データ及びステージ演算部の出力と、停止判定部からの停止信号が入力される。最大桁検出部はステージ演算部からの演算結果が入力される。
また、特許文献1は、以下の動作で実行する。まず、演算記憶部から入力されたデータに対して、ステージ演算部でいわゆるバタフライ演算からなるFFTの演算を行う。その後、停止判定部が各ステージごとにステージ演算部の出力データをもとに演算停止可否の判定を行う。停止判定部は、演算結果と残りのステージ数から今後のステージ演算を最後まで行った際の推定最大値と外部から入力された最小値情報とを比較する。この結果、最小値情報より推定最大値が小さい場合に、ステージ演算部及び演算記憶部に対して停止信号を送信し、以降のステージ演算を停止するように動作することで、精度を落とすことなく所望のFFT演算を実行する技術が開示されている。
さらに、特許文献2では、FFT(Fast Fourier transform)の演算を行う演算装置で、不必要な演算を停止している。具体的には、外部からの入力データおよび最小値情報を入力とし、停止判定部を用いて、停止するかを判定している。
Wei Liu, et al. "SSD : Single Shot MultiBox Detector"Proc. of European Conference on Computer Vision (ECCV), pp. 21-37, Sep. 2016. X. Glorot, et al. "Deep sparse rectifier neural networks" Proc. of the 14th International Conference on Artificial Intelligence and Statistics (AISTATS), pp. 315-323, Apr. 2011.
特開2019-57249号公報 特開2014-2588号公報
ここで、上述したCNNの前記丸め処理は、長いビット長における上位と下位の切り捨てを行う処理である。ここでCNNは出力結果に0が多いスパース性を持ち、そのスパース性は層ごとに異なることが知られている。前記畳み込み演算における丸め処理により演算結果を2進数のビット列で表現した演算結果には、ビット列内に0となる桁が多数存在する。このような丸め処理により、出力結果の一部もしくは全部を0に丸めることが出来るデータや、積和演算に入力される値の一部、もしくは全部が0のデータに対しては、0との乗算、もしくは0との加算となる。したがって、実際には演算を行わなくても精度への影響はないことが分かっている。しかしながら、従来の演算器構成では並列数が多く0の有無を判定する装置を大量に設置する必要があり、層ごとにこまめに演算を停止することが容易ではなかった。その結果、上記0の乗算などの精度に寄与しない演算が行われ、無駄な電力が消費されるという課題があった。
但し、ここで、上記課題に関連する不要な演算を行う特許文献1および特許文献2について、検討してみる。特許文献1は、FFTのステージ演算出力に対して判定を行い、以降のステージの演算の実行の可否を判定する構成である。
また、特許文献2は、複数の入力データをもとにバタフライ演算を行い、入力データを全て相互に利用してFFT演算が行われる。
このため、特許文献1、2の手法では、FFT内の演算を独立に停止する機構を備えることが出来ず、FFT演算という単位でしか演算を停止することが出来ない。
つまり、特許文献1、2での積和演算内の個別の演算器に対して判定を行う構成では、CNN内の多数の演算器に対する停止制御の負荷が大きいとの課題が生じる。具体的には、特許文献1、2では、多数の演算器それぞれに対して判定器を設けて演算停止の判定を行う必要があるため、演算停止判定用の回路規模が大幅に増加し、実用的ではない。
そこで、本発明では、回路規模を抑えつつニューラルネットワークの層に対する演算停止を行うことで、電力消費量の削減ないし抑止を課題とする。
上記の課題を解決するために、本発明では、所定の演算を行う演算装置において、
入力データに基づき所定の演算を行う第一の演算器と、前記第一の演算器の演算結果を用いて、所定の演算を行う第二の演算器とを有する数値演算部と、前記数値演算部の出力に対する丸め演算を行う丸め演算部と、前記丸め演算部での丸め演算で切り捨てられるビット数を格納したパラメータ格納部と、前記入力データ及び前記ビット数とに基づいて、前記第一の演算器および前記第二の演算器に対する演算停止の要否を判断し、当該判断の結果に応じて、停止信号を出力する演算停止信号生成部とを有する。また、本発明には、上記演算装置を利用した認識装置や制御装置も含まれる。さらに、演算装置、認識装置、制御装置それぞれを用いた方法も、本発明の一態様である。
本発明によれば、演算装置の停止を制御することで、電量消費量の削減が可能になる。
実施例1における認識装置1000の構成図である。 実施例1における畳み込み演算部107の内部構成を示す図である。 実施例1における演算器(2)401の内部構成を示す図である。 実施例1における丸め演算部501の内部構成を示す図である。 実施例1における丸め演算部501の処理フローを示す図である。 実施例1における畳み込み演算部107の入力をn×mに拡張した例を示す図である。 実施例1における停止信号生成部116の内部構成を示す図である。 実施例1における畳み込み演算と並列で動作する演算停止判定部116の処理を示すフローチャートである。 実施例2における認識装置1000の構成図である。 実施例2における畳み込み演算部551の内部構成を示す図である。 実施例2における演算器(2)851の内部構造を示す図である。 実施例1、2を制御装置に応用した例を示す図である。
以下に、実施例1および2について説明する前に、各実施例に共通する考え方を説明する。CNNでは、層ごとにスパース性が異なるという特徴がある。また、層ごとに異なるパラメータが入力される。
しかしながら、同一層の演算では複数の演算器に同一のデータが入力されるという特徴から、本願発明者は、各層に独立に演算停止信号を設けることで、判定器を集約して個々の演算器を独立に停止可能であることに着目した。つまり、各実施例においては、丸め演算を行い、演算器の前段−後段の関係に基づいて、演算停止を判断する。これは、丸め演算により、値を「寄せる」ことになる。「寄せられた」値については、演算が不要(例えば、値が0)になるものが増加する。つまり、丸め処理によっては、前段の演算器およびそれに続く後段の演算器で演算しなくて済むことが発生するためである。この考え方を用いた実施例1、2について、以下説明する。
図1は、実施例1におけるカメラやLIDARなど外界情報取得装置からの外界情報に対する認識装置1000の構成図である。この認識装置1000により、外界の状況を認識でき、その結果を用いて、自動運転や運転支援といった制御が可能になる。なお、本実施例では、認識装置1000を例に説明するが、認識に限定しない演算を行う演算装置も本実施例の範疇に含まれる。
図1の外界情報の認識装置1000は、外界情報取得装置101、メモリ102、選択器103、学習データ保管部108、パラメータ格納部109、各層の畳み込み演算部107および各層の演算停止信号生成部116から構成され、認識結果106を出力する。なお、認識装置1000において、外界情報取得装置101、メモリ102、選択器103、学習データ保管部108およびパラメータ格納部109のうち少なくともその一部は、認識装置1000内に設けなくともよい。これらは、認識装置1000外に設け、認識装置1000と接続されればよい。このことは、後述の実施例2でも同様である。
次に、図1に示す認識装置1000の接続関係を説明する。外界情報取得装置101は、メモリ102に、検知した画像などの外部情報のビットマップを送信する。パラメータ格納部109は、学習データ保管部108からの出力を受け取る。
畳み込み演算部107は、第1層から第L層までが縦続接続されている。そして、その第1層の畳み込み演算部107−1には、以下の情報が入力される。それは、選択器103の出力データ(畳み込み演算部107の入力データ104)、パラメータ格納部109の出力である自層の重みパラメータ113、累積加算回数114、切り捨てビット数115、演算停止信号生成部116の出力である第一停止信号117および第二停止信号118である。
また、第j番目の層にあたる畳み込み演算部107−jには、以下の情報が入力される。それは、前層である第j−1層の畳み込み演算部107−j−1からの畳み込み演算出力105、重みパラメータ113、累積加算回数114、切り捨てビット数115、第一停止信号117および第二停止信号118である。
さらに、最終層(第L層)の畳み込み演算部107−Lには、以下の情報が入力される。それは、第L-1層の畳み込み演算層の畳み込み演算出力105、重みパラメータ113、累積加算回数114と切り捨てビット数115と、第一停止信号117、第二停止信号118である。そして、畳み込み演算部107−Lは、認識結果106を出力する。
演算停止信号生成部116には、重みパラメータ113と、自層の累積加算回数114および自層の切り捨てビット数115が入力される。
次に、図1の認識識装置の動作および信号の流れを説明する。つまり、認識識装置による外界の認識動作を説明する。
認識装置1000は、外界情報取得装置101より取得した外界情報をメモリ102にビットマップとして格納する。その後、選択器103により、メモリ102に格納されたビットマップのうち、演算に用いるデータを入力データ104として選択し、畳み込み演算部107に順次送信する。
各畳み込み演算部107(1〜L)では、パラメータ格納部109から自層の重みパラメータ113、累積加算回数114、切り捨てビット数115を受け取る。そして、畳み込み演算部107は、これらをもとに演算を行い、畳み込み演算出力105を次層の畳み込み演算部に送信する。これを第1層から第L層まで繰り返し、第L層では物体の種類や座標である認識結果106を出力する。このようにして、認識装置1000を用いた外界に対する認識が実行される。
ここで、上記認識において、消費電力削減などの演算の効率化を図る際の演算停止について説明する。具体的には、図6を用いて、演算停止信号生成部116−1〜Lの動作について説明する。
次に、図1の認識装置1000のうち、各畳み込み演算部107の内部構成について、図2を用いて説明する。ここで、本実施例では、各畳み込み演算部107が複数の演算器で構成される第一の演算部801、第二の演算部802を備え、第一の演算部801、第二の演算部802のそれぞれでは各演算器が並列接続される構成を示す。具体的には、演算器(1)301が4並列、演算器(2)401が2並列の例を示す。なお、本例は説明の簡易化のためであり、その数は限定されない。
まず、図2の構成について示す。
各畳み込み演算部107は、4つの演算器(1)301−1〜4および2つの演算器(2)401−1〜2を有し、それぞれが第一の演算部801、第二の演算部802を構成する(図2の破線部)。ここで、演算器(1)301−1〜2を第一の演算部801、演算器(2)401−1〜2を第二の演算部802と呼ぶ。なお、第一の演算部801には、第一停止信号117が入力され、第二の演算部802には、第二停止信号が入力される。また、各畳み込み演算部107は、2つの丸め演算部501−1〜2および2つの活性化関数演算部601−1〜2を備える。なお、第一の演算部801を前段、第二の演算部802を後段と呼ぶことも可能である。
そして、各畳み込み演算部107は、入力データ104、重みパラメータ113、累積加算回数114、切り捨てビット数115、第一停止信号117および第二停止信号118が入力され、畳み込み演算出力105を出力する。
次に、図2の接続関係を説明する。
各演算器(1)301には、それぞれ入力データ104から分岐された個別入力データ305_1〜4、重みパラメータ113から分岐された個別重みパラメータ306_1〜4および第一停止信号117から分岐された演算器(1)301への停止信号803_1〜4が入力される。
演算器(2)401−1には、演算器(1)301―1の出力307_1、演算器(1)301−2の出力307_2、第二停止信号118から分岐された当該演算器(2)401−1への停止信号901_1および累積加算回数114が入力される。演算器(2)401−2には、演算器(1)301−3の出力307_3と演算器(1)301−4の出力307_4、第二停止信号118から分岐された当該演算器(2)401−2への停止信号901_2および累積加算回数114が入力される。
丸め演算部501−1には、演算器(2)401−1の出力403_1および切り捨てビット数115を入力とする。同じく丸め演算部501−2は、演算器(2)401−2の出力403_2および切り捨てビット数115が入力される。
活性化関数演算部601−1は、丸め演算部501−1の出力503_1を入力とし、畳み込み演算部107−1の第一の畳み込み演算出力を出力する。活性化関数演算部601−2は、丸め演算部501−2の出力503_2を入力とし、第一の畳み込み演算出力を出力する。ここで、第一と第二の畳み込み演算出力は合成され、畳み込み演算部107の畳み込み演算出力105となる。なお、本合成には、(図示しない)構成要素を用いてもよいし、単にそれぞれの信号線を接続して合成させてもよい。
次に、畳み込み演算部107の動作について示す。
各畳み込み演算部107は、入力データ104と重みパラメータ113をもとに畳み込み演算を行い、その畳み込み演算出力105を出力する。畳み込み演算部107内の各演算器(1)301は、入力データ104と重みパラメータ113を乗算する。
各演算器(2)401は、各演算器(1)301からの出力307を累積加算する。演算器(2)401の詳細は、図3を用いて追って説明する。
次に、各丸め演算部501は、演算器(2)401の出力403から切り捨てビット数115をもとに上位と下位を切り捨て特定のビット数を切り出し出力する。丸め演算部501の詳細は、図4および図5を用いて追って説明する。
各活性化関数演算部601は、丸め演算部501の出力503をもとに活性化関数演算を行い、その結果を出力する。本実施例では、各活性化関数演算部601ではReLU演算を入力されたデータに対して行い、畳み込み演算出力105を出力する例を示す。
第一の演算部801は、第一停止信号117が有効となると、第一の演算部801の演算器(1)301−1〜4のうち該当するものを、それぞれ独立に停止させる。第二の演算部802は、第二停止信号118が有効となると、第二の演算部802の演算器(2)4011〜2のうち該当するものを、それぞれ独立に停止させる。
次に、図3を用いて、演算器(2)401について、説明する。まず、演算器(2)401の内部構成を説明する。なお、図3では、演算器(2)401−1を例に示すが、演算器(2)401−2も同様の構成である。
演算器(2)401−1は、内部演算器(1)701、内部演算器(2)702、累積加算結果格納レジスタ705および出力レジスタ707より構成される。そして、演算器(2)401−1は、演算器(1)301−1の出力307_1、演算器(1)301−2の出力307_2、累積加算回数114、当該演算器(2)401―1の停止信号901_1を入力とする。そして、それぞれ出力レジスタ707から出力403_1を出力する。
次に、図3を用いて、演算器(2)401で示さる各構成の接続関係を説明する。
内部演算器(1)701へは、演算器(1)301−1の出力307_1、演算器(1)301−2の出力307_2が入力される。内部演算器(2)702へは、累積加算結果格納レジスタ705での累積加算結果である出力704および内部演算器(1)701の出力703が入力される。累積加算結果格納レジスタ705へは、累積加算回数114および内部演算器(2)702の出力706が入力される。出力レジスタ707では、内部演算器(2)702の出力706および累積加算回数114が入力され、図3で示される演算器(2)401−1の出力として、出力403_1を出力する。
次に、図3で示される各構成の動作について説明する。
内部演算器(1)701および内部演算器(2)702は、それぞれ加算器の役割を果たす。内部演算器(1)701は、演算器(1)301−1の出力307_1、演算器(1)301−2の出力307_2を加算して、その加算結果である出力703を内部演算器(2)702に出力する。内部演算器(2)702は、出力703、累積加算結果格納レジスタ705の出力704を加算して、その加算結果である出力706を、累積加算結果格納レジスタ705および出力レジスタ707に出力する。
累積加算結果格納レジスタ705は、内部演算器(2)702からの出力706を保存する。また、その際、累積加算結果格納レジスタ705では、内部演算器(2)702の演算回数をカウントしており、その演算回数が累積加算回数114に達した場合に、当該累積加算結果格納レジスタ705内の値をリセットする。出力レジスタ707では、内部演算器(2)702の出力706が入力され、上記演算回数が累積加算回数114に達すると、内部データである出力706を演算器(2)401の出力403として出力する。
次に、図4を用いて、前述した丸め演算部501について、説明する。まず、丸め演算部501の内部構成を説明する。
各丸め演算部501は、丸めデータ入力レジスタ450、ビットセレクタ452、丸めデータ出力レジスタ454から構成される。また、丸め演算部501は、演算器(2)401の出力403および切り捨てビット数115を入力とし、丸め処理後の出力503を出力する。
次に、丸め演算部501の内部構成の接続関係を、図3を用いて説明する。
丸めデータ入力レジスタ450には、出力403が入力データとして入力される。ビットセレクタ452には、切り捨てビット数115、丸めデータ入力レジスタ450の出力451が入力される。丸めデータ出力レジスタ454は、前記ビットセレクタの出力であるビットセレクタ出力453が入力され、出力503を出力する。
次に、丸め演算部501の動作を説明する。
まず、丸めデータ入力レジスタ450に、出力403(入力データ)を格納する。次に、ビットセレクタ452により、切り捨てビット数115をもとに丸めデータ入力レジスタ450のデータの中から特定のビット列を取り出し、丸めデータ出力レジスタ454に格納する。そして、丸めデータ出力レジスタ454の出力503が、丸め演算部501の出力となる。動作の詳細は図5を用いて、以下説明する。
図5は、出力403(入力データ)のビット長bi(例ではbi=19)から丸め演算後の出力503のビット長bo(例ではbo=8)を取り出す際の処理を示している。図5上段のビット列(矩形内に記載)は、出力403(入力データ)の2進数表示されたビット列を示しており、図5下段のビット列(矩形内に記載)は出力503の2進数表示されたビット列を示している。
ここで、矩形の上部の数値は下位から数えたビット位置を示している。上段はビット位置0〜18、下段はビット位置0〜7の例を示す。図5中の矢印は、丸め処理の前後での切り出し操作を示す。ここでは、出力403(入力データ)のビット位置(5〜12)を出力503のビット位置(0〜7)を割り当てる例を示す。切り捨てビット数115は、5ビットの例を示す。この際の丸め処理は、切り捨てビット数115の値c=5をもとに出力403(入力データ)の下位から5ビット上位の方向へシフトしたビット位置からbo=8に相当する8ビット分の出力403(入力データ)を切り出し、出力503として出力する。
次に、図6を用いて、畳み込み演算部107の演算器(1)301と演算器(2)401の数を、4×2の例(図2)からn×mの入力が可能となるように拡張した場合について説明する。ここでは、図6と図2との差分について、説明する。
図6では、畳み込み演算部107は入力データ104と重みパラメータ113はn×m種類のデータを持つバス配線となる。第一停止信号117はn×m個の信号を持つバス配線となり、第二停止信号118はm個の信号を持つバス配線となる。つまり、演算器(1)301はn×m個、演算器(2)401はm個、丸め演算部501はm個、活性化関数演算部601はm個で構成される。
以下、図6の接続関係について、説明する。基本的な接続関係は、図2で説明した接続関係と同一であり、演算器(1)301、演算器(2)401、丸め演算部501および活性化関数演算部601の数が異なっている。このように、本実施例の畳み込み演算部107においては、自身を構成する各構成要素の数は限定されない。
次に、図7を用いて、演算停止信号生成部116について説明する。図7に、演算停止信号生成部116の内部構成を示す。
演算停止信号生成部116は、以下から構成される。
入力データ格納レジスタ151
重みパラメータ格納レジスタ152
累積加算回数格納レジスタ153
切り捨てビット数格納レジスタ154
入力データMSB(Most Significant Bit)取得部155
重みパラメータMSB取得部156
しきい値計算部157
第一停止信号生成部251
第二停止信号生成部252
そして、演算停止信号生成部116は、入力データ104、重みパラメータ113、累積加算回数114および切り捨てビット数115とを入力し、第一停止信号117および第二停止信号118を出力する。なお、上記MSBは、入力データにおける有効データの最上位ビットを示す。
次に、引き続き図7を用いて、演算停止信号生成部116の接続関係を説明する。
入力データ格納レジスタ151には、入力データ104が入力される。重みパラメータ格納レジスタ152には、重みパラメータ113が入力される。累積加算回数格納レジスタ153には、累積加算回数114が入力される。切り捨てビット数格納レジスタ154には、切り捨てビット数115が入力される。入力データMSB取得部155には、入力データ格納レジスタ151の一方の入力データ格納レジスタ出力158が入力される。
重みパラメータMSB取得部156には、重みパラメータ格納レジスタ152の重みパラメータ格納レジスタ出力159が入力される。しきい値計算部157には、累積加算回数格納レジスタ153の一方の累積加算回数格納レジスタ出力160および切り捨てビット数格納レジスタ154の切り捨てビット数格納レジスタ出力161が入力される。
第一停止信号生成部251には、以下のデータが入力される。
入力データ格納レジスタ151の入力データ格納レジスタ出力158
重みパラメータ格納レジスタ152の重みパラメータ格納レジスタ出力159
入力データMSB取得部155の入力データMSB取得部出力162
重みパラメータMSB取得部156の重みパラメータMSB取得部出力163
しきい値計算部157の出力であるしきい値ビット数164
そして、第一停止信号生成部251は、第一停止信号117を出力する。第二停止信号生成部252には第一停止信号117が入力され、第二停止信号118を出力する。
引き続き図7を用いて、演算停止信号生成部116の各ブロック(構成要素)の動作を説明する。
演算器(1)301の数をPとすると、図中各データ、パラメータや信号104、113、158、159、162、163、256、257、117はそれぞれP種類(個)、118はP/2種類(個)存在する。なお、各データとして説明したP種類(個)、P/2種類(個)は、それぞれ配線種類(数)としてもカウントできる。本実施例の説明ではP=4で説明するが、これに限定されない。つまり、その数(種類)は、用途に応じて必要な数値とすることが可能である。
まず、入力データ104、重みパラメータ113、累積加算回数114、切り捨てビット数115は、それぞれ入力データ格納レジスタ151に4種類のデータが格納される。また、重みパラメータ格納レジスタ152に4種類、累積加算回数格納レジスタ153、切り捨てビット数格納レジスタ154に1種類のデータが格納される。
累積加算回数格納レジスタ153は、入力される累積加算回数114の更新をトリガとして、フラグA165を有効にする。また、入力データ格納レジスタ151は入力データ104の更新をトリガとして、フラグB166を有効にする。
入力データMSB取得部155は、入力データ格納レジスタ151の入力データ格納レジスタ出力158の4種類に対してそれぞれMSBのビット位置Iを取得する。同様に重みパラメータMSB取得部156は、重みパラメータ格納レジスタ152の重みパラメータ格納レジスタ出力159の4種類に対してそれぞれMSBのビット位置Wを取得する。
しきい値計算部157では、累積加算回数格納レジスタ153の一方の累積加算回数格納レジスタ出力160と切り捨てビット数格納レジスタ154の切り捨てビット数格納レジスタ出力161から演算停止判定を行うためのしきい値ビット数Dを演算する。しきい値ビット数Dは、下記(数1)で演算される。D = c - log2(x) - log2(n) ・・・(数1)
(数1)において、cは上記図3で説明した切り捨てビット数である161の値、xは上記累積加算回数である160の値、nは本実施例では2である。
続いて、図7を用いて、第一停止信号生成部251の構成を説明する。
第一停止信号生成部251は、数値比較部253、しきい値判定部254、論理和演算部255から構成される。そして、第一停止信号生成部251には、以下のデータが入力される。
入力データ格納レジスタ151からの入力データ格納レジスタ出力158
重みパラメータ格納レジスタ152の重みパラメータ格納レジスタ出力159
入力データMSB取得部155の入力データMSB取得部出力162
重みパラメータMSB取得部156の重みパラメータMSB取得部出力163
しきい値計算部157からのしきい値ビット数164
引き続き、図7を用いて、第一停止信号生成部251の接続関係を説明する。
数値比較部253には、入力データ格納レジスタ151からの入力データ格納レジスタ出力158および重みパラメータ格納レジスタ152の重みパラメータ格納レジスタ出力159が入力される。しきい値計算部157には、入力データMSB取得部155の入力データMSB取得部出力162、重みパラメータMSB取得部156の重みパラメータMSB取得部出力163およびしきい値計算部157からのしきい値ビット数164が入力される。論理和演算部255には、数値比較部253の出力である数値比較部出力256およびしきい値判定部254のしきい値判定部出力257が入力され、第一停止信号117を出力する。
次に、第一停止信号117の出力に関する各構成の動作を説明する。
まず、数値比較部253では、入力データ格納レジスタ151の4種類のデータの入力データ格納レジスタ出力158と、重みパラメータ格納レジスタの4種類のデータである重みパラメータ格納レジスタ出力159について、0の値の有無を判定する。この結果、計8種類データのいずれかに0がある場合には、それぞれのデータに対応する停止信号を有効にする。そして、しきい値判定部254は、上記4種類のIと上記4種類のWと上記D(しきい値ビット数164)から(数2)をもとに数値比較を行い、(数2)が真の場合はしきい値判定部出力257を有効にする。
I + W < D ・・・(数2)
次に、論理和演算部255では、数値比較部253からの4種類の数値比較部出力256と、しきい値判定部254からの4種類のしきい値判定部出力257の論理和を演算する。この結果、論理和演算部255は、停止対象の4種類の演算器(1)301のどれを停止するかを決定し、当該結果に応じて第一停止信号117を有効にする(出力する)。
第二停止信号生成部252では、第一停止信号117を複数のグループ分けした中で、それぞれの信号が全て有効な場合には対応する第二停止信号を有効にする(出力する)。
次に、図8に示すフローチャートを用いて、j番目の演算停止信号生成部116での動作を説明する。
演算停止信号生成部116は、累積加算回数の格納フラグA165が有効となった場合、演算を開始する(ステップS1001)。
次に、演算停止信号生成部116は、切り捨てビット数115を切り捨てビット数格納レジスタ154に格納し、累積加算回数114を累積加算回数格納レジスタ153に格納する(ステップS1002)。
次に、演算停止信号生成部116のしきい値計算部157が、上述の(数1)を計算する(ステップS1003)。
次に、演算停止信号生成部116は、4種類の入力データ104を入力データ格納レジスタ151に、4種類の重みパラメータ113を重みパラメータ格納レジスタ152にそれぞれ格納する(ステップS1004)。
次に、演算停止信号生成部116の数値比較部253は、入力データ格納レジスタ151の入力データ格納レジスタ出力158および重みパラメータ格納レジスタ152の重みパラメータ格納レジスタ出力159における0の値の有無を判定する。この結果、いずれかに0の値がある場合にはステップS1008に進む(ステップS1005:Yes)。どちらも0でない場合にはS1006へ進む(ステップS1005:No)。
この処理(ステップS1005)は、演算器(1)301に入力される入力データと重みパラメータの組合せである4種類のそれぞれに対して実行する。
次に、演算停止信号生成部116の入力データMSB取得部155が、入力データ104である4種類の入力データについて、それぞれのMSB Iを演算(特定)する。また、演算停止信号生成部116の重みパラメータMSB取得部156が、重みパラメータ113である4種類の重みパラメータについて、それぞれのMSB Wを演算(特定)する(ステップS1006)。
次に、演算停止信号生成部116の数値比較部253が、ステップS1003で算出したDと入力データのMSBのIと重みパラメータのMSBのWを用いて、上述の(数2)を計算する。そして、(数2)が真の場合はステップS1008に進む(ステップS1007:Yes)。(数2)が偽の場合はステップS1011へ進む(ステップS1007: No)。この処理(ステップ)も、演算器(1)301に入力される入力データと重みパラメータの組合せ4種類のそれぞれに対して実行する。
次に、演算停止信号生成部116の第一停止信号生成部251が、入力データ104と重みパラメータ113の組合せ4種類に対応する演算器(1)301への第一停止信号117を有効にする(ステップS1008)。つまり、論理和演算部255の結果に応じて、第一停止信号117を対応する演算器(1)301に対して出力する。
次に、第二停止信号生成部252が、第一停止信号117を複数のグループ分けした中で、それぞれの信号が全て有効な場合(全演算器(1)301が停止)には、ステップS1010に進む(ステップS1009:Yes)。1つ以上無効の場合(少なくとも1つの演算器(1)301を停止させない)には、ステップS1011に進む(ステップS1009:No)。この処理(ステップ)は、第一停止信号の組合せである2組のそれぞれに対して実行する。
次に、第二停止信号生成部252は、演算器(2)401に対して、対応する演算器(2)に対する第二停止信号118を送信する(ステップS1010)。
次に、演算停止信号生成部116は、入力データ更新フラグB166が有効かを判断する。この結果、有効である場合はステップS1004へ戻る(ステップS1011:Yes)。また、入力データ更新フラグB166が、無効の場合はステップS1012へ進む(ステップS1011:No)。そして、入力データ更新フラグB166が無効である場合は、当該j番目の処理(演算停止信号生成部116の処理)は、終了すると判断する(ステップS1012)。
以上で、実施例1の説明を終了する。
次に、実施例2について説明する。実施例2では、クロック信号の遮断により各演算器(1)(2)を停止する外界の認識装置1000について述べる。なお、実施例1と共通部分については図に同一符号を付し、その説明を省略する。なお、本実施例では、認識装置1000を例に説明するが、認識に限定しない演算を行う演算装置も本実施例の範疇に含まれる。
図9は、クロック信号を用いる実施例2における認識装置1000の構成図である。ここで、図9の構成について、図1との差分を説明する。図9では、実施例1の図1で示す構成に対し、クロック信号生成部351およびクロック供給を受ける畳み込み演算部551が加えられている。また、畳み込み演算部551−1〜Lについては、クロック信号を用いる点で、実施例1の畳み込み演算部107−1〜Lと相違する。この点については、以下、図10を用いて説明する。
図10は、図9中のクロック供給を受ける畳み込み演算部551−1〜Lの構成について示す説明図である。
畳み込み演算部551の第一の演算部810(図10の破線部)は、実施例1の第一の演算部801に対して、演算器(1)751に接続するスイッチ機能付きクロックバッファ353が追加されている。また、第二の演算部820(図10の破線部)は、実施例1の第二の演算部に対して、演算器(2)851に接続するスイッチ機能つきクロックバッファ354が追加されている。
引き続き図10を用いて、本実施例における畳み込み演算部551−1〜L内の各構成の接続関係について説明する。
演算器(1)751に接続するスイッチ機能付きクロックバッファ353には、クロック信号352と第一停止信号117が入力される。演算器(2)851に接続するスイッチ機能付きクロックバッファ354には、クロック信号352と第二停止信号118が入力される。
演算器(1)751には、スイッチ機能付きクロックバッファ353からの出力であるクロックが入力される。演算器(2)851には、スイッチ機能付きクロックバッファ354からの出力であるクロックが入力される。
引き続き、図10を用いて、畳み込み演算部551の各構成要件の動作について説明する。
クロック信号352により、それぞれの演算器(1)751、演算器(2)851が動作する。つまり、クロック信号352が入力されているときに、演算器(1)751−1〜4のそれぞれが、また、演算器(2)851−1、2のそれぞれが動作する。また、演算器(1)751に接続されるスイッチ機能付きクロックバッファ353は第一停止信号117が入力されたときに、演算器(1)751に対するクロック供給を停止する。このことで、演算器(1)751の動作を停止する。
演算器(2)851に接続されるスイッチ機能付きクロックバッファ354は、第二停止信号118が入力されたときに、演算器(2)851に対するクロック供給を停止する。このことで、演算器(2)851の動作が停止する。
次に、図11を用いて、クロック供給を受ける演算器(2)851について、説明する。まず、図11を用いて、クロック供給を受ける演算器(2)851の構成を説明する。クロック供給を受ける演算器(2)851は、クロック信号352も入力として受け取る。それ以外の構成(機能)は、図3を用いて説明した内容と同様である。
引き続き、図11を用いて、演算器(2)851の接続関係を説明する。内部演算器(1)951、内部演算器(2)952、累積加算結果格納レジスタ953および出力レジスタ954に接続されている。そして、それぞれに対して、クロック信号352が入力され、動作を制御する。つまり、図11はクロック信号の有無で演算器の動作および停止を行う構成となっている。より具体的には、図8のステップS1008およびS1010において、第一停止信号、第二停止信号が有効化(出力)されるとこれらの動作が停止する。ここでは、第一停止信号、第二停止信号が有効化(出力)されると、スイッチ機能付きクロックバッファ353やスイッチ機能付きクロックバッファ354により、クロック信号が停止される。このことで、演算器(1)751や演算器(2)851の動作を停止させる。これら、第一停止信号、第二停止信号が有効化(出力)は、実施例1と同様のため、説明を省略する。以上で、実施例2についての説明を終了する。
各実施例では、認識装置1000を例に説明したが、認識に限定しない演算を行う演算装置も各実施例の範疇に含まれる。さらに、図12に示す制御装置2000も各実施例の応用例に含まれる。つまり、認識装置1000から出力される認識結果を、制御信号生成部2001に送信する。制御信号生成部2001では、認識結果に応じて、制御信号2002を生成し、これに基づいて制御対象3000の制御を行う。制御対象3000としては、例えば車両が含まれる。そして、この場合、各実施例により、車両の自動運転や運転支援を実現できる。また、この場合、制御装置2000として、いわゆるECU(Electronic Control UnitないしEngine Control Unit)が含まれる。
以上の各実施例によれば、一般的な画像データを用いて演算を行った場合に、丸め処理とスパース性により、畳み込み演算の演算データにおける0の比率はおおむね60%程度となる。そして、各実施例による層ごとの停止機能を用いると消費電力削減効果は20%程度が期待できる。
101 外界情報取得装置
102 メモリ
103 選択器
104 入力データ
105 畳み込み演算出力
106 認識結果
107 畳み込み演算部
108 学習データ保管部
109 パラメータ格納部
110 複数層の重みパラメータ
111 複数層の累積加算回数
112 複数層の切り捨てビット数
113 1層分の重みパラメータ
114 1層分の累積加算回数
115 1層分の切り捨てビット数
116 演算停止信号生成部
117 第一停止信号
118 第二停止信号
201 数値演算部
301 演算器(1)
305 個別入力データ
306 個別重みパラメータ
307 演算器(1)の出力
401 演算器(2)
403 演算器(2)の出力
501 丸め演算部
503 丸め演算部の出力
601 活性化関数演算部
701 内部演算器(1)
702 内部演算器(2)
703 内部演算器(1)の出力
704 累積加算結果格納レジスタの出力
705 累積加算結果格納レジスタ
706 内部演算器(2)の出力
707 出力レジスタ
801 第一の演算部
802 第二の演算部
803 演算器(1)の停止信号
901 演算器(2)の停止信号
151 入力データ格納レジスタ
152 重みパラメータ格納レジスタ
153 累積加算回数格納レジスタ
154 切り捨てビット数格納レジスタ
155 入力データMSB取得部
156 重みパラメータMSB取得部
157 しきい値計算部
158 入力データ格納レジスタ出力
159 重みパラメータ格納レジスタ出力
160 累積加算回数格納レジスタ出力
161 切り捨てビット数格納レジスタ出力
162 入力データMSB取得部出力
163 重みパラメータMSB取得部出力
164 しきい値ビット数
165 累積加算回数更新フラグ
166 入力データ更新フラグ
251 第一停止信号生成部
252 第二停止信号生成部
253 数値比較部
254 しきい値判定部
255 論理和演算部
256 数値比較部出力
257 しきい値判定部出力
351 クロック信号生成部
352 クロック信号
353 クロックバッファ
354 クロックバッファ
450 丸めデータ入力レジスタ
451 丸めデータ入力レジスタの出力
452 ビットセレクタ
453 ビットセレクタ出力
454 丸めデータ出力レジスタ
551 畳み込み演算部
751 クロック供給を受ける演算器(1)
851 クロック供給を受ける演算器(2)
951 クロック供給を受ける内部演算器(1)
952 クロック供給を受ける内部演算器(2)
953 クロック供給を受ける累積加算結果格納レジスタ
954 クロック供給を受ける出力レジスタ

Claims (13)

  1. 所定の演算を行う演算装置において、
    入力データに基づき所定の演算を行う第一の演算器と、前記第一の演算器の演算結果を用いて、所定の演算を行う第二の演算器とを有する数値演算部と、
    前記数値演算部の出力に対する丸め演算を行う丸め演算部と、
    前記丸め演算部での丸め演算で切り捨てられるビット数を格納したパラメータ格納部と、
    前記入力データ及び前記ビット数とに基づいて、前記第一の演算器および前記第二の演算器に対する演算停止の要否を判断し、当該判断の結果に応じて、停止信号を出力する演算停止信号生成部とを有することを特徴とする演算装置。
  2. 請求項1に記載の演算装置において、
    前記演算停止信号生成部は、
    前記入力データ及び前記ビット数を用いて、前記第一の演算器に対する演算停止の要否を判断し、当該判断の結果に応じて前記第二の演算器に対する演算停止の要否を判断することを特徴とする演算装置。
  3. 請求項2に記載の演算装置において、
    前記演算停止信号生成部は、
    前記第一の演算器に対する演算停止が必要と判断した場合に、前記第二の演算器に対する前記第二の演算器に対する演算停止の要否を判断することを特徴とする演算装置。
  4. 請求項3に記載の演算装置において、
    前記演算停止信号生成部は、
    前記入力データが、前記第一の演算器の演算結果が前記丸め演算部で丸めを行った場合のビット数が所定以下の場合に、前記第一の演算器に対する演算停止が必要と判断することを特徴する演算装置。
  5. 請求項4に記載の演算装置において、
    前記演算停止信号生成部は、
    前記第一の演算器に対する演算停止が必要と判断し、前記第一の演算器の演算結果が0の場合に、前記第二の演算器の演算を停止が必要と判断することを特徴とする演算装置。
  6. 請求項5に記載の演算装置において、
    前記数値演算部は、前記入力データに基づき所定の演算を行う第三の演算器であって、前記第一の演算器と並列接続される第三の演算器をさらに有し、
    前記演算停止信号生成部は、前記第一の演算器および前記第三の演算器に対する演算停止の要否の判断を独立に実行することを特徴とする演算装置。
  7. 請求項6に記載の演算装置において、
    前記演算停止信号生成部は、
    前記第一の演算器および前記第三の演算器のそれぞれに対する演算停止が必要と判断された場合、前記前記第二の演算器の演算を停止が必要と判断することを特徴とする演算装置。
  8. 請求項7に記載の演算装置において、
    前記入力データは、入力画素およびニューラルネットワークの重みパラメータを含み、
    前記第一の演算器は、前記入力データに対して乗算を行う乗算器であって、
    前記第二の演算器は、前記乗算器の乗算結果を加算する加算器であることを特徴とする演算装置。
  9. 請求項8に記載の演算装置において、
    前記演算停止信号生成部は、
    前記第一の演算器および前記第三の演算器それぞれの出力データの最上位ビットであるMSBが、切り捨てビット数以下となる場合に前記第一の演算器および前記第三の演算器それぞれに対する演算停止が必要と判断することを特徴とする演算装置。
  10. 請求項8に記載の演算装置において、
    前記演算停止信号生成部は、
    前記入力画素のMSBと重みパラメータのMSBを用いて前記演算停止の要否を判断し、前記入力画素のMSBのビット位置の値および前記重みパラメータのMSBのビット位置の値足し算が切り捨てビット数より小さくなる場合に前記第一の演算器および前記第三の演算器それぞれに対する演算停止が必要と判断することを特徴とする演算装置。
  11. 請求項10に記載の演算装置において、
    前記第一の演算器、前記第二の演算器および前記第三の演算器にクロック信号を供給するクロック信号生成部で生成されるクロック信号を供給するクロック信号停止部をさらに有し、
    前記クロック信号停止部は、前記演算停止信号生成部から出力される前記停止信号に基づいて、前記第一の演算器、前記第二の演算器および前記第三の演算器に対するクロック信号の供給を停止することを特徴とする演算装置。
  12. 請求項1乃至11のいずれかに記載の演算装置により、
    前記入力データとして、外界取得装置から取得される外界情報を用い、
    前記外界情報を用いて、外界の状況を認識することを特徴とする認識装置。
  13. 請求項12に記載の認識装置を有し、
    前記認識された外界の状況に応じて、前記所定の演算の結果を、対象に対する制御信号として出力することを特徴とする制御装置。
JP2020002022A 2020-01-09 2020-01-09 演算装置、認識装置および制御装置 Active JP7304295B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020002022A JP7304295B2 (ja) 2020-01-09 2020-01-09 演算装置、認識装置および制御装置
PCT/JP2020/040917 WO2021140730A1 (ja) 2020-01-09 2020-10-30 演算装置、認識装置および制御装置
US17/789,730 US20230067212A1 (en) 2020-01-09 2020-10-30 Computing device, recognition device, and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020002022A JP7304295B2 (ja) 2020-01-09 2020-01-09 演算装置、認識装置および制御装置

Publications (2)

Publication Number Publication Date
JP2021111082A true JP2021111082A (ja) 2021-08-02
JP7304295B2 JP7304295B2 (ja) 2023-07-06

Family

ID=76787835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020002022A Active JP7304295B2 (ja) 2020-01-09 2020-01-09 演算装置、認識装置および制御装置

Country Status (3)

Country Link
US (1) US20230067212A1 (ja)
JP (1) JP7304295B2 (ja)
WO (1) WO2021140730A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023119522A1 (ja) * 2021-12-22 2023-06-29 日本電気株式会社 スパース化対象層決定装置、スパース化対象層決定方法及び、プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161472A (ja) * 1997-11-28 1999-06-18 Matsushita Electric Ind Co Ltd ディジタル乗算装置
WO2018154648A1 (ja) * 2017-02-22 2018-08-30 三菱電機株式会社 デジタル演算処理回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161472A (ja) * 1997-11-28 1999-06-18 Matsushita Electric Ind Co Ltd ディジタル乗算装置
WO2018154648A1 (ja) * 2017-02-22 2018-08-30 三菱電機株式会社 デジタル演算処理回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023119522A1 (ja) * 2021-12-22 2023-06-29 日本電気株式会社 スパース化対象層決定装置、スパース化対象層決定方法及び、プログラム

Also Published As

Publication number Publication date
US20230067212A1 (en) 2023-03-02
WO2021140730A1 (ja) 2021-07-15
JP7304295B2 (ja) 2023-07-06

Similar Documents

Publication Publication Date Title
CN109478144B (zh) 一种数据处理装置和方法
US10460230B2 (en) Reducing computations in a neural network
CN110799957B (zh) 具有元数据致动的条件图执行的处理核心
CN111353578A (zh) 信息处理装置、神经网络程序和用于神经网络的处理方法
JP2019139338A (ja) 情報処理装置、情報処理方法、およびプログラム
US11537879B2 (en) Neural network weight discretizing method, system, device, and readable storage medium
Kung et al. A power-aware digital feedforward neural network platform with backpropagation driven approximate synapses
KR102655950B1 (ko) 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치
US11561795B2 (en) Accumulating data values and storing in first and second storage devices
CN110543936B (zh) 一种cnn全连接层运算的多并行加速方法
EP3444757A1 (en) Discrete data representation supported device and method for forward operation of artificial neural network
US20180293486A1 (en) Conditional graph execution based on prior simplified graph execution
CN109389208B (zh) 数据的量化装置及量化方法
CN112633477A (zh) 一种基于现场可编程阵列的量化神经网络加速方法
CN114626516A (zh) 一种基于对数块浮点量化的神经网络加速系统
JP7536574B2 (ja) 演算デバイス、計算機システム、及び演算方法
WO2021140730A1 (ja) 演算装置、認識装置および制御装置
EP3444758B1 (en) Discrete data representation-supporting apparatus and method for back-training of artificial neural network
CN110955405A (zh) 一种输入数据的处理及指数值获取方法、装置及电子设备
Fuketa et al. Image-classifier deep convolutional neural network training by 9-bit dedicated hardware to realize validation accuracy and energy efficiency superior to the half precision floating point format
US11551087B2 (en) Information processor, information processing method, and storage medium
KR20220018199A (ko) 희소성 데이터를 이용하는 연산 장치 및 그것의 동작 방법
CN113516171B (zh) 基于贝叶斯神经网络随机加法分解结构的图像分类方法
CN112215349B (zh) 基于数据流架构的稀疏卷积神经网络加速方法及装置
US11847567B1 (en) Loss-aware replication of neural network layers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230403

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: 20230530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230626

R150 Certificate of patent or registration of utility model

Ref document number: 7304295

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150