JP2023041348A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2023041348A
JP2023041348A JP2021148670A JP2021148670A JP2023041348A JP 2023041348 A JP2023041348 A JP 2023041348A JP 2021148670 A JP2021148670 A JP 2021148670A JP 2021148670 A JP2021148670 A JP 2021148670A JP 2023041348 A JP2023041348 A JP 2023041348A
Authority
JP
Japan
Prior art keywords
processing
layer
data
pooling
convolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021148670A
Other languages
English (en)
Inventor
昌弘 毛利
Masahiro Mori
広章 高田
Hiroaki Takada
晋也 本田
Shinya Honda
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 Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2021148670A priority Critical patent/JP2023041348A/ja
Priority to US17/876,076 priority patent/US20230078893A1/en
Publication of JP2023041348A publication Critical patent/JP2023041348A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • 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
    • G06F17/153Multidimensional correlation or convolution
    • 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

Landscapes

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

Abstract

【課題】畳み込みニューラルネットワークの処理量(演算量)が比較的少なくても、推論の精度を高くすることが可能な情報処理装置を提供する。【解決手段】第1処理領域1では、第1層(畳み込み層231)から最終層(プーリング層234)まで、順次処理を実行し、最終層バッファ234bに処理データを記憶する。第2処理領域2では、第1処理領域1との非重複領域において、第1層(畳み込み層231)から最終層(プーリング層234)まで、順次処理を実行し、最終層バッファ234bに処理データを記憶するが、重複領域(斜線部)では、最終層バッファ234bに記憶された、第1処理領域1の処理結果を再利用する。【選択図】図6

Description

本開示は、畳み込みニューラルネットワークを使用する情報処理装置に関する。
国際公開第2020/194465号(特許文献1)には、畳み込み演算を、空間方向への畳み込み演算とチャネル方向への畳み込み演算とに分けて、これらを個別に実行するニューラルネットワーク回路が開示されている。このニューラルネットワーク回路は、チャネル方向への畳み込みを行なう1×1畳み込み演算回路と、1×1畳み込み演算回路の演算結果が格納されるSRAMと、SRAMに格納された演算結果に対して空間方向への畳み込みを行なうN×N畳み込み演算回路とを備える。1×1畳み込み演算回路の演算結果をSRAMに格納することにより、N×N畳み込み演算回路のメモリボトルネックを回避している。メモリボトルネックは、1回の畳み込み演算に必要なデータをメモリから読み出す時間が、1回の畳み込み演算時間を上回ることをいう(特許文献1参照)。
国際公開第2020/194465号
畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)では、繰り返し行列演算を大量に行うため、情報処理装置の処理量(演算量)が膨大になることが知られている。また、CNNによる推論(入力データを分類して結果を推測すること)の実行頻度が高いほど、推論の精度が高くなる。このため、CNNを用いて精度の高い推論を行うには、処理能力の高いCPU(Central Processing Unit)やGPU(Graphics Processing Unit)を用いることが望ましい。
組み込み系のシステム等では、コスト低減の観点から、汎用のCPUに比べて処理能力の低いCPUが用いられることがある。たとえば、車両に搭載される組み込み系シスデムでは、各タスクに実行周期が設定され、短時間で確実に処理を行う必要性があるとともに、処理速度が制限される場合がある。処理能力の低いCPUでCNNを用いる場合、処理量(計算量)を削減しつつ、推論の実行頻度が高めることが望まれる。
本開示の目的は、畳み込みニューラルネットワークの処理量(演算量)が比較的少なくても、推論の精度を高くすることが可能な情報処理装置を提供することである。
本開示に係る情報処理装置は、畳み込みニューラルネットワークに用いられる報処理装置である。情報処理装置は、入力データを取得するデータ取得部と、畳み込み処理を実行する畳み込み層とプーリング処理を実行するプーリング層を有し、入力データを処理する処理部とを備える。処理部は、データ取得部で取得した入力データを、処理領域が重複する重複領域と処理領域が重複しない非重複領域を有する処理領域に区切り、処理領域における処理を実行する際、非重複領域では、畳み込み処理あるいはプーリング処理を実行し、重複領域では、畳み込み処理の処理結果あるいはプーリング処理の処理結果を再利用して、処理を実行するよう構成されている。
この構成によれば、処理部は、データ取得部で取得した入力データを、処理領域が重複する重複領域と処理領域が重複しない非重複領域を有する処理領域に区切る。処理領域に重複領域が設定されるため、入力データの推論の実行頻度が高くなり、推論の精度を高めることができる。処理部は、処理領域における処理を実行する際、重複領域では、畳み込み処理の処理結果あるいはプーリング処理の処理結果を再利用して、処理を実行する。畳み込み処理の処理結果あるいはプーリング処理の処理結果を再利用するので、処理量(演算量)を削減することができる。
好ましくは、入力データは時系列データであってよく、処理部は、時系列データを一定間隔で処理領域に区切るとともに、重複領域と非重複領域を有するよう処理領域を区切ってもよい。
この構成によれば、時系列データの重複を許容しながら、処理部に入力できるので、推論の実行頻度を高めることができる。
好ましくは、処理部は、全結合層の前段に、畳み込み層およびプーリング層を含む複数の処理層を有する。処理部は、最初の1周期の処理の際には、複数の処理層の第1層から最終層まで、畳み込み処理あるいはプーリング処理を、順次実行する。そして、処理部は、2周期以降の処理の際には、第1層から最終層まで、前周期と今周期の非重複領域では、畳み込み処理あるいはプーリング処理を実行するとともに、前周期と今周期の重複領域では、前周期における畳み込み処理の処理結果あるいは前周期におけるプーリング処理の処理結果を再利用して、処理を実行するよう構成されてもよい。
この構成によれば、最初の1周期には、前周期がなく重複領域がないので、複数の処理層の第1層から最終層まで、畳み込み処理あるいはプーリング処理を、順次実行する。2周期以降の処理の際には、第1層から最終層まで、前周期と今周期の非重複領域では、畳み込み処理あるいはプーリング処理を、順次実行する。これにより、入力データに対して、連続して、第1層から最終層まで処理を順次実行することが可能になり、処理に待ち時間が無くなるので、処理時間を短縮することができる。前周期と今周期の重複領域では、前周期における畳み込み処理の処理結果あるいは前周期におけるプーリング処理の処理結果を再利用するので、処理量(演算量)を削減することができる。
好ましくは、最終層は、全結合層に入力する出力データを作成するものである。処理部は、前周期と今周期の重複領域では、前周期における畳み込み処理の処理結果あるいは前周期におけるプーリング処理の処理結果を再利用して、出力データを作成し、前周期と今周期の非重複領域では、第1層から最終層まで、畳み込み処理あるいはプーリング処理を、順次実行することにより、出力データを作成する。そして、処理部は、最終層で、今周期の処理領域における出力データが全て作成されると、出力データを、結合層に入力するよう構成されてもよい。
この構成によれば、全結合層に入力する出力データを作成する最終層において、重複領域では、前周期における畳み込み処理の処理結果あるいは前周期におけるプーリング処理の処理結果を再利用して、出力データを作成し、非重複領域では、第1層から最終層まで、畳み込み処理あるいはプーリング処理を、順次実行することにより、出力データを作成する。したがって、結合層に入力される出力データを、重複領域における処理結果を再利用して作成することができ、処理量を削減することができる。
好ましくは、処理部は、前周期と今周期の非重複領域では、カーネルによって処理可能なデータが揃うと順次処理を実行するようにしてもよい。
この構成によれば、非重複領域において、非重複領域のデータが全て揃うのを待つこと無く、カーネル(フィルタ)のサイズ等に相当するデータが揃うと、順次処理を実行する。これにより、処理時間を短縮することが可能になる。
情報処理装置は、車両に搭載された演算装置から構成されてもよい。本開示の情報処理装置は、処理量(演算量)が少ないので、車両に搭載された組み込みシステムのCPUを用いて、CNNを使用することができる。
本開示によれば、畳み込みニューラルネットワークの処理量(演算量)が比較的少なくても、推論の精度を高くすることが可能な情報処理装置を提供することができる。
本実施の形態に係る情報処理装置10の構成を示す図である。 処理部23の詳細な構成を説明するための図である。 従来における、入力データの区切り方を説明する図である。 本実施の形態における、入力データの区切り方を説明する図である。 従来における、CNNの処理(演算)を模式的に説明した図である。 本実施の形態における、CNNの処理(演算)を模式的に説明した図である。
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
図1は、本実施の形態に係る情報処理装置10の構成を示す図である。本実施の形態に係る情報処理装置10は、車両Vに搭載されている。車両Vは、内燃機関Eと変速機MとディファレンシャルギヤGと駆動輪Dを備える。なお、車両Vは、電気モータを備えた電動車両であってもよい。情報処理装置10は、畳み込みニューラルネットワーク(CNN)による推論を行い(入力データを分類して結果を推測し)、その結果を出力する。情報処理装置10は、制御装置20と、記憶装置30と、通信装置40とを備える。
記憶装置30は、たとえば、ROM(Read Only Memory)およびRAM(Random Access Memory)を含んで構成される。記憶装置30は、制御装置20により実行されるプログラム等を記憶する。通信装置40は、外部の装置と制御装置20の双方向の通信が可能に構成される。
制御装置20は、データ取得部21と、処理部23と、出力部25とを含む。制御装置20は、記憶装置30に記憶されたプログラムを実行することにより、データ取得部21、処理部23、出力部25として機能する。なお、制御装置20は、CNNを使用して、データ取得部21から受けたデータ(入力データ)を処理する際のバッファを備えてよく、記憶装置30をバッファとして使用してもよい。
データ取得部21は、各種センサ50で検出した、あるいは、各種センサ50で検出した値に基づき作成された、時系列データ100を取得する。時系列データ100としては、たとえば、車両Vの運動状態(前後加速度、横加速度、車速等)や、内燃機関Eの回転速度や排気温度等であってよく、車両Vに係る時系列データであればよい。データ取得部21は、所定の周期で、時系列データ100を取得し、取得された時系列データ100を処理部23に出力する。
処理部23は、CNNを使用して、データ取得部21から受けた時系列データ100(入力データ)を処理し、入力データに対する識別結果(推論の結果)を出力部25に出力する。
図2は、処理部23の詳細な構成を説明するための図である。処理部23は、畳み込み層231、233、プーリング層232、234、および、全結合層235を含む。畳み込み層231、233およびプーリング層232、234は、入力データから特徴量を抽出する。畳み込み層231、233では、所定のサイズのカーネル(フィルタ)を用いた畳み込み処理が実行される。プーリング層232、234では、畳み込み結果を圧縮する処理であり、所定サイズのカーネル(ウィンド)を用いてプーリング処理が実行される。本実施の形態では、MAXプーリングが実行される。なお、図2おいては、2つの畳み込み層231、233および2つのプーリング層232、234が処理部23に含まれる例を示しているが、これらの処理層の数(畳み込み層の数、プーリング層の数)は、適宜変更することが可能である。
全結合層235は、入力層と、中間層と、出力層とを含む。入力層は、複数のユニットで構成される。各ユニットには、1次元に変換されたプーリング層234の出力が入力される。
中間層は、複数の層で構成される。図2では、中間層の層数が2である場合を例示しているが、中間層の層数は適宜変更することができる。中間層の各層は、複数のユニットで構成される。各ユニットは、前の層の各ユニットと、次の層の各ユニットとに接続される。各ユニットは、前の層の各ユニットからの各出力値に重みを乗算し、それらの乗算結果を積算する。次に、各ユニットは、積算結果の各々に対して所定のバイアスを加算(または減算)し、その加算結果(または減算結果)を所定の活性化関数(たとえば、ランプ関数またはシグモナイト関数)に入力し、その活性化関数の出力値を次の層の各ユニットに出力する。
出力層は、1つ以上のユニットで構成される。出力層のユニット数は、適宜変更することができる。出力層の各ユニットは、中間層の最終層の各ユニットに接続される。出力層の各ユニットは、中間層の最終層の各ユニットからの出力値を受けて、各出力値に重みを乗算し、それらの乗算結果を積算する。当該乗算結果は、所定の活性化関数(たとえば、ランプ関数またはシグモナイト関数)に入力される。当該活性化関数の出力値は、たとえば確率を示す。
一般的に、入力データが時系列データ100である場合、CNNを使用した処理では、データ取得部21で取得した時系列データ100(入力データ)を、一定間隔(一定周期)で区切り、CNNの処理領域(演算領域)として、最初の処理(本実施の形態では畳み込み層の処理)を実行する。図3は、従来における、入力データの区切り方を説明する図である。図3に示すように、時系列データ100を一定間隔(一定周期)Tで区切り、時刻t1sから時刻t1eまでの時系列データ100を第1処理領域1として処理を実行し、時刻t2s(時刻t1eと同時刻)から時刻t2eまでの時系列データ100を第2処理領域2として処理を実行する。第3処理領域3および第4処理領域の同様である。
このように、一定間隔Tで処理領域を区切り、CNNの処理を実行すると、第1処理領域1と第2処理領域2の間に、特徴が良く表れている時系列データ100が存在する場合、時系列データ100の特徴を精度良く推論することができない懸念がある。
図4は、本実施の形態における、入力データの区切り方を説明する図である。本実施の形態では、従来と同様に、時系列データ100を一定間隔Tで区切り、処理領域を設定する際に、処理領域の重複を許容し、重複領域を設定する。図4に示すように、時刻t1sから時刻t1eまでの第1処理領域1の間に、第2処理領域2の開始時刻t2sを設定し、時刻t1sから時刻t1eまでの時系列データ100の重複を許容する。これにより、図4に斜線で示した、時刻t2sから時刻t1eまでの時系列データ100が、第1処理領域1と第2処理領域2の重複領域となる。また、時刻t1eから時刻t2eまでの時系列データ100が、第2処理領域2における、非重複領域となる。時刻t2sから時刻t2eまでの第2処理領域2の間に、第3処理領域3の開始時刻t3sを設定し、時刻t3sから時刻t2eまでの時系列データ100の重複を許容することにより、時刻t3sから時刻t2eまでの時系列データ100が、第2処理領域2と第3処理領域3の重複領域となる。以後、同様に入力データ(時系列データ100)を区切ることにより、今周期における処理領域と前周期における処理領域に重複領域を設定することができる。
図4においては、時刻によって処理領域の区切ることを説明しているが、時系列データ100は、所定のデータ収集間隔毎に生成される。時系列データ100を一定間隔(一定周期)Tで区切り、処理領域を設定することは、連続した所定個数の時系列データ100を処理領域とすることと実施的に同一である。連続した所定個数の時系列データ100の処理領域を、「入力窓」と称すると、入力窓を設定個数だけスライドすることにより、重複領域を設定することができる。
このように、処理領域の重複を許容することにより、特徴が良く表れている時系列データ100が存在する領域を確実にカバーできるとともに、CNNによる推論の実行頻度を増やすことができるので、時系列データ100の特徴を精度良く推論することが可能になる。しかし、処理領域毎にCNNによる推論を実行すると、処理量(演算量)が増加するという問題が生じる。
図5は、従来における、CNNの処理(演算)を模式的に説明した図である。図5において、処理層の第1層は、畳み込み層231であり、第2層はプーリング層232であり、第3層は畳み込み層233であり、最終層(第4層)はプーリング層234である。最終層であるプーリング層234は、全結合層235に入力する出力データを作成する。
データ取得部21が、入力データ(時系列データ100)を取得し、第1処理領域1の時系列データ100が揃うと、第1層(畳み込み層231)は、第1層カーネル(フィルタ)231fを用いて畳み込み処理を開始する。たとえば、第1層カーネル231fを用いた積和演算を、第1層カーネル231fを順次スライドしながら実行し、処理結果(処理データ)を第1層バッファ231bに記憶する。第1層(畳み込み層231)の処理が終了すると、第2層(プーリング層232)の処理を実行する。
第2層(プーリング層232)では、第1層バッファ231bに記憶された処理データに対して、第2層カーネル(ウィンド)232cを順次スライドしMAXプーリングを実行し、処理結果(処理データ)を、第2層バッファ232bに記憶する。第2層(プーリング層232)の処理が終了すると、第3層(畳み込み層233)の処理を実行する。
第3層(畳み込み層233)および最終層(プーリング層234)の処理は、上記と同様に行わる。第2層バッファ232bに記憶された処理データに対して、第3層カーネル(フィルタ)233fを用いた畳み込み処理を実行し、処理結果を第3層バッファ233bに記憶する。また、第3層バッファ233bに記憶された処理データに対して、最終層カーネル(ウィンド)234cを用いたMAXプーリングを実行し、処理結果を最終層バッファ234bに記憶する。そして、最終層(プーリング層234)の処理が終了すると、最終層バッファ234bに記憶された処理データが、全結合層235に入力される。
第1処理領域1において、第1層(畳み込み層231)から最終層(プーリング層234)の処理が終了すると、第2処理領域2において同様の処理を実行する。このように、従来は、処理領域毎に順次、CNNによる推論を繰り返し実行している。
図6は、本実施の形態における、CNNの処理(演算)を模式的に説明した図である。図6において、図5と同様に、処理層の第1層は、畳み込み層231であり、第2層はプーリング層232であり、第3層は畳み込み層233であり、最終層(第4層)はプーリング層234である。最終層であるプーリング層234は、全結合層235に入力する出力データを作成する。
本実施の形態では、第1処理領域1の処理に際し、第1層(畳み込み層231)において、データ取得部21が入力データ(時系列データ100)を取得し、第1層カーネル(フィルタ)231fを用いた積和演算が可能な時系列データ100が揃うと、第1層カーネル231fを用いて畳み込み処理を開始する。たとえば、最初は、第1層カーネル231fのサイズと同じ数(あるいは、同じ数以上)の時系列データ100が揃うと、積和演算を行い、処理結果(処理データ)を第1層バッファ231bに記憶する。次回以降の処理(演算)では、第1層カーネル231fのスライド量に相当する時系列データ100が追加され、第1層カーネル231fを用いた積和演算が可能な時系列データ100が揃うと、積和演算を行い、処理結果(処理データ)を第1層バッファ231bに記憶する。このように、第1層(畳み込み層231)では、第1層カーネル231fを用いた積和演算が可能な時系列データ100が揃うと、順次、積和演算を行い、処理結果(処理データ)を第1層バッファ231bに記憶する。
第2層(プーリング層232)においては、第1層バッファ231bに記憶された処理データ(第1層の処理結果)の数が、第2層カーネル(ウィンド)232cを用いたMAXプーリングが可能な数になると、プーリング処理を実行する。たとえば、最初は、第2層カーネル232cのサイズと同じ数(あるいは、同じ数以上)の処理データが第1層バッファ231bに揃うと、MAXプーリングを実行し、処理結果(処理データ)を第2層バッファ232bへ記憶する。次回以降の処理(演算)では、第2層カーネル232cのスライド量に相当する処理データが第1層バッファ231bに追加され、第2層カーネル232cを用いたMAXプーリングが可能な処理データが揃うと、MAXプーリングを行い、処理結果(処理データ)を第2層バッファ232bに記憶する。このように、第2層(プーリング層232)においても、第2層カーネル232cを用いたMAXプーリングが可能な処理データが第1層バッファ231bに揃うと、順次、プーリング処理を行い、処理結果(処理データ)を第2層バッファ232bに記憶する。
第3層(畳み込み層233)および最終層(プーリング層234)の処理も、上記と同様に行わる。第2層バッファ232bに記憶された処理データが、第3層カーネル(フィルタ)233fを用いた畳み込み処理を可能な状態になると、順次、畳み込み処理を実行し、処理結果を第3層バッファ233bに記憶する。また、第3層バッファ233bに記憶された処理データが、最終層カーネル234cを用いたMAXプーリングを可能な状態になると、順次プーリング処理を実行し処理結果を最終層バッファ234bに記憶する。そして、第1処理領域1における最終層(プーリング層234)の処理が終了すると、最終層バッファ234bに記憶された処理データが、全結合層235に入力される。
第2処理領域2の非重複領域(図6に斜線で示した重複領域に続く、第2処理領域)では、非重複領域における時系列データ100に対して、上記で説明した第1処理領域1における処理と同様な処理が実行される。これにより、第1処理領域1の処理に連続して、第2処理領域の非重複領域の処理が実行され、最終層バッファ234bには、非重複領域における時系列データ100に対する処理結果(処理データ)が記憶される。
第2処理領域2において、斜線で示した、第1処理領域1と第2処理領域2の重複領域では、第1処理領域1の処理結果を再利用する。第2処理領域2においては、重複領域における時系列データ100に対する第1層(畳み込み層231)から最終層(プーリング層234)の処理を実行せず、重複領域における時系列データ100を用いて第1処理領域1で処理(演算)され、最終層バッファ234bに記憶された処理結果(処理データ)を、非重複領域における時系列データ100に対する処理結果(処理データ)に加えることによって、第1処理領域1の処理結果を再利用する。第2処理領域2の処理が終了すると、最終層バッファ234bには、重複領域における時系列データ100を用いて第1処理領域1で処理(演算)された処理結果(処理データ)と、非重複領域における時系列データ100に対する処理結果(処理データ)が記憶されているので、これらの処理結果(処理データ)を全結合層235に入力する。
第3処理領域3以降の処理は、第2処理領域2における処理と同様に実行され、第2処理領域2と第3処理領域3の重複領域では、第2処理領域2の処理結果を再利用する。なお、図6において、第1処理領域1と第2処理領域2と第3処理領域が重複する領域が存在するが、この領域では、第3処理領域3において、第1処理領域1の処理結果が再利用されることになる。
本実施の形態では、データ取得部21で取得した時系列データ100(入力データ)を、一定間隔Tで区切り処理領域を設定する際に、処理領域の重複を許容し、重複領域を設定している。重複領域を設定することにより、特徴が良く表れている時系列データ100が存在する領域を確実にカバーできるとともに、CNNによる推論の実行頻度を増やすことができるので、時系列データ100の特徴を精度良く推論することが可能になる。
本実施の形態では、処理領域における処理を実行する際、重複領域において、処理結果を再利用する。すなわち、前周期の重複領域の処理結果を、今周期の重複領域の処理結果として出力する。これにより、CNNの処理量(演算)量を削減することができる。
本実施の形態では、最初の1周期である第1処理領域1の処理の際には、第1層(畳み込み層231)から最終層(プーリング層234)まで、処理(演算)を順次実行する。2周期以降の処理である第2処理領域2以降の処理の際には、前周期と今周期の非重複領域では、第1層(畳み込み層231)から最終層(プーリング層234)まで、処理(演算)を順次実行するとともに、前周期と今周期の重複領域では、前周期の処理結果を再利用している。これにより、入力データである時系列データ100に対して、連続して、第1層から最終層まで処理を順次実行することが可能になり、処理に待ち時間が無くなるので、処理時間を短縮することができる。
本実施の形態では、最終層(プーリング層234)は、全結合層235に入力する出力データ(処理データ)を記憶する最終層バッファ234bを備える。最終層バッファ234bは、前周期と今周期の重複領域では、前周期における処理結果(処理データ)を記憶し、前周期と今周期の非重複領域では、第1層から最終層までの処理を順次実行した処理結果(処理データ)を記憶する。そして、今周期の処理領域における処理が終了すると、最終層バッファ234bに記憶されている、重複領域の処理データと非重複領域の処理データを、全結合層235に入力する。これにより、全結合層235に入力する出力データ(処理データ)記憶する最終層バッファ234bに、重複複領域での処理結果(処理データ)が記憶され、再利用されるので、処理量(演算量)を削減することができる。
本実施の形態では、非重複領域において、時系列データ100、第1層バッファ231bに記憶された処理データ、第2層バッファ232bに記憶された処理データ、および、第3層バッファ233bに記憶された処理データが、対応するカーネルのサイズ、あるいは、スライド量に相当する数になり、カーネルによる処理が可能なデータが揃うと、処理を実行する。これにより、非重複領域のデータがすべて揃うのを待つことなく処理を実行できるので、処理時間を短縮することが可能になる。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10 情報処理装置、20 制御装置、21 データ取得部、23 処理部、25 出力部、30 記憶装置、40 通信装置、50 各種センサ、100 時系列データ、231 畳み込み層、231b 第1層バッファ、231f 第1層カーネル、232 プーリング層、232b 第2層バッファ、232c 第2層カーネル、233 畳み込み層、233b 第3層バッファ、233f 第3層カーネル、234 プーリング層、234b 最終層バッファ、234c 最終層カーネル、235 全結合層、D 駆動輪、E 内燃機関、G ディファレンシャルギヤ、M 変速機、V 車両。

Claims (6)

  1. 畳み込みニューラルネットワークに用いられる報処理装置であって、
    入力データを取得するデータ取得部と、
    畳み込み処理を実行する畳み込み層とプーリング処理を実行するプーリング層を有し、前記入力データを処理する処理部とを備え、
    前記処理部は、
    前記データ取得部で取得した前記入力データを、処理領域が重複する重複領域と処理領域が重複しない非重複領域を有する処理領域に区切り、
    前記処理領域における前記処理を実行する際、前記非重複領域では、前記畳み込み処理あるいは前記プーリング処理を実行し、前記重複領域では、前記畳み込み処理の処理結果あるいは前記プーリング処理の処理結果を再利用して、前記処理を実行するよう構成されている、情報処理装置。
  2. 前記入力データは時系列データであり、
    前記処理部は、
    前記時系列データを一定間隔で前記処理領域に区切るとともに、前記重複領域と前記非重複領域を有するよう前記処理領域を区切るよう構成されている、請求項1に記載の情報処理装置。
  3. 前記処理部は、
    全結合層の前段に、前記畳み込み層および前記プーリング層を含む複数の処理層を有し、
    前記処理部は、
    最初の1周期の処理の際には、前記複数の処理層の第1層から最終層まで、前記畳み込み処理あるいは前記プーリング処理を、順次実行し、
    前記処理の2周期以降の処理の際には、前記第1層から前記最終層まで、前周期と今周期の前記非重複領域では、前記畳み込み処理あるいは前記プーリング処理を実行するとともに、前周期と今周期の前記重複領域では、前周期における前記畳み込み処理の前記処理結果あるいは前周期における前記プーリング処理の前記処理結果を再利用して、前記処理を実行するよう構成されている、請求項1または請求項2に記載の情報処理装置。
  4. 前記最終層は、前記全結合層に入力する出力データを作成するものであり、
    前記処理部は、
    前周期と今周期の前記重複領域では、前周期における前記畳み込み処理の前記処理結果あるいは前周期における前記プーリング処理の前記処理結果を再利用して、前記出力データを作成し、
    前周期と今周期の前記非重複領域では、前記第1層から前記最終層まで、前記畳み込み処理あるいは前記プーリング処理を、順次実行することにより、前記出力データを作成し、
    前記最終層で、今周期の前記処理領域における前記出力データが全て作成されると、前記出力データを、前記結合層に入力するよう構成されている、請求項3に記載の情報処理装置。
  5. 前記処理部は、
    前周期と今周期の前記非重複領域では、カーネルによって処理可能なデータが揃うと順次前記処理を実行するよう、請求項4に記載の情報処理装置。
  6. 前記情報処理装置は、車両に搭載された演算処理装置から構成される、請求項1から請求項5のいずれか1項に記載の情報処理装置。
JP2021148670A 2021-09-13 2021-09-13 情報処理装置 Pending JP2023041348A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021148670A JP2023041348A (ja) 2021-09-13 2021-09-13 情報処理装置
US17/876,076 US20230078893A1 (en) 2021-09-13 2022-07-28 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021148670A JP2023041348A (ja) 2021-09-13 2021-09-13 情報処理装置

Publications (1)

Publication Number Publication Date
JP2023041348A true JP2023041348A (ja) 2023-03-24

Family

ID=85480302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021148670A Pending JP2023041348A (ja) 2021-09-13 2021-09-13 情報処理装置

Country Status (2)

Country Link
US (1) US20230078893A1 (ja)
JP (1) JP2023041348A (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826530B (zh) * 2014-11-15 2023-06-30 北京旷视科技有限公司 使用机器学习进行面部检测
PE20180594A1 (es) * 2015-05-15 2018-04-05 Motion Metrics Int Corp Metodo y aparato para localizar una pieza de desgaste en una imagen de un accesorio de trabajo
US10140515B1 (en) * 2016-06-24 2018-11-27 A9.Com, Inc. Image recognition and classification techniques for selecting image and audio data
US20180089586A1 (en) * 2016-09-29 2018-03-29 Stmicroelectronics S.R.L. Artificial neural networks for human activity recognition
TWI607389B (zh) * 2017-02-10 2017-12-01 耐能股份有限公司 卷積神經網路的池化運算裝置及方法
KR20210036715A (ko) * 2019-09-26 2021-04-05 삼성전자주식회사 뉴럴 프로세싱 장치 및 뉴럴 프로세싱 장치에서 뉴럴 네트워크의 풀링을 처리하는 방법
IT202000016909A1 (it) * 2020-07-13 2022-01-13 St Microelectronics Srl Procedimento di elaborazione dati implementato su elaboratore, sistema micro-controllore e prodotto informatico corrispondenti

Also Published As

Publication number Publication date
US20230078893A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
CN107844826B (zh) 神经网络处理单元及包含该处理单元的处理***
EP3499428A1 (en) Method and electronic device for convolution calculation in neutral network
TW202026858A (zh) 在深度神經網路中利用啟動稀疏性
US20210019555A1 (en) Generating video frames using neural networks
EP4010769B1 (en) A method for determining a sensor configuration
CN113841162B (zh) 深度神经网络中的深度优先卷积
US20210097347A1 (en) Method and apparatus with data processing
CN110659069A (zh) 用于执行神经网络计算的指令调度方法及相应计算***
US11636712B2 (en) Dynamic gesture recognition method, device and computer-readable storage medium
EP3637327A1 (en) Computing device and method
CN114418203B (zh) 基于碰撞关键特征数据的乘员损伤预测方法及装置
KR20210014561A (ko) 다수 컨벌루션 윈도우 중의 이미지 데이터를 추출하는 방법, 장치, 기기 및 컴퓨터 판독 가능한 저장매체
CN112651485A (zh) 识别图像的方法和设备以及训练神经网络的方法和设备
US20200110985A1 (en) Artifical neural network circuit
CN111709415A (zh) 目标检测方法、装置、计算机设备和存储介质
JP2023041348A (ja) 情報処理装置
CN111886604A (zh) 用于运行人工神经网络的方法
CN113496248A (zh) 训练计算机实施的模型的方法和设备
CN112862080B (zh) EfficientNet的注意力机制的硬件计算方法
CN111027670A (zh) 特征图处理方法、装置、电子设备及存储介质
EP4113389A1 (en) Neural network comprising matrix multiplication
KR20220110460A (ko) 인공신경망 모델을 이용한 데이터 분석 방법 및 장치
CN114897133A (zh) 一种通用可配置的Transformer硬件加速器及其实现方法
CN112292663A (zh) 使至少两个被乘数相乘的计算单元、方法和计算机程序
CN114662648A (zh) 压缩系数集以供随后在神经网络中使用

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20220606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240717