JP2019530114A - フィードフォーワード及びフィードバックが設けられた多層パーセプトロンモデルを計算のためのモデル計算ユニット及び制御装置 - Google Patents

フィードフォーワード及びフィードバックが設けられた多層パーセプトロンモデルを計算のためのモデル計算ユニット及び制御装置 Download PDF

Info

Publication number
JP2019530114A
JP2019530114A JP2019533672A JP2019533672A JP2019530114A JP 2019530114 A JP2019530114 A JP 2019530114A JP 2019533672 A JP2019533672 A JP 2019533672A JP 2019533672 A JP2019533672 A JP 2019533672A JP 2019530114 A JP2019530114 A JP 2019530114A
Authority
JP
Japan
Prior art keywords
neuron
data memory
neuron layer
model
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
JP2019533672A
Other languages
English (en)
Other versions
JP6828170B2 (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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2019530114A publication Critical patent/JP2019530114A/ja
Application granted granted Critical
Publication of JP6828170B2 publication Critical patent/JP6828170B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Feedback Control In General (AREA)
  • Semiconductor Memories (AREA)
  • Complex Calculations (AREA)

Abstract

本発明は、多層パーセプトロンモデルを計算するためのモデル計算ユニット(22)であって、モデル計算ユニット(22)は、ハードウェアで形成されハードワイヤードされており、‐演算コア(18)と、‐メモリ(12)と、‐対応付けられた入力ベクトル(101)の入力に基づいて各ニューロン層を計算し、出力ベクトル(102)の各得られた出力を対応付けられたデータメモリ区分(D)に格納するよう、演算コア(18)に連続的に命令するよう構成されたDMAユニット(17)と、を備え、ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた入力ベクトル(101)のためのデータメモリ区分(D)は、2つの異なるニューロン層の少なくとも2つの出力ベクトル(102)のデータメモリ区分(D)を、少なくとも部分的に含む、上記モデル計算ユニット(22)に関する。【選択図】図8

Description

本発明は、特に多層パーセプトロンモデルを計算するための、ハードワイヤードされている別体のモデル計算ユニットでの関数モデルの計算に関する。
例えば、内燃機関、エレクトリックパワートレイン、蓄電池等の技術システムを制御する機能は、実際のシステムの数学的な描写に相当するモデルを用いて実現されることが多い。しかしながら、物理的なモデルでは、特に関係が複雑な場合には、必要とされる計算精度が欠けており、今日の計算能力では、このようなモデルを、エンジン制御装置のために要求される実時間要求の範囲内で計算することは通常困難である。このような場合のために、データに基づくモデルであって、試験台等を利用して獲得された訓練データのみに基づいて出力と入力との間の関係を記述する上記データに基づくモデルを利用することが考えられている。特に、データに基づくモデルは、複雑な関係をモデル化するために適しており、ここでは、相互関係が生じている複数の入力が適切なやり方でモデルにおいて考慮される。さらに、データに基づくモデルを利用したモデル化によって、個別入力の付加によりモデルを補完する可能性が与えられる。
データに基づく関数モデルは、通常は、各適用のために十分なモデル化精度を達成するために多数のサンプルポイントに基づいている。多数のサンプルポイントにより、例えばガウス過程モデル又は多層パーセプトロンモデル等の、データに基づく関数モデルを用いてモデル値を計算するためには高い計算能力が必要となる。従って、制御装置での適用において、このようなデータに基づく関数モデルを実時間で計算しうるために、ハードウェア構成に基づくモデル計算ユニットが設けられうる。
本発明に基づいて、請求項1に係る多層パーセプトロンモデルのニューロン層を計算するためのモデル計算ユニット、並びに、独立形式請求項に係る制御装置及び制御装置を使用する方法が構想される。
更なる別の構成が、従属請求項において示される。
第1の観点によれば、多層パーセプトロンモデルを計算するためのモデル計算ユニットであって、モデル計算ユニットは、ハードウェアで形成されハードワイヤードされており、
‐入力ベクトルの1つ以上の入力に従って、複数のニューロンを有する多層パーセプトロンモデルのニューロン層の出力ベクトルの1つ以上の出力を計算するよう構成された演算コアと、
‐各ニューロン層に対して、入力ベクトルの入力を格納するためのデータメモリ区分、及び出力ベクトルの出力を格納するためのデータメモリ区分が対応付けられているデータメモリ領域が設けられたメモリと、
‐対応付けられた入力ベクトルの入力に基づいて各ニューロン層を計算し、出力ベクトルの各得られた出力を対応付けられたデータメモリ区分に格納するよう、演算コアに連続的に命令するよう構成されたDMAユニットと、を備え、
‐ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた入力ベクトルのためのデータメモリ区分は、2つの異なるニューロン層の少なくとも2つの出力ベクトルのデータメモリ区分を、少なくとも部分的に含む、上記モデル計算ユニットである。
上記のモデル計算ユニットでは、データに基づくモデルの一部としての、各可変数のニューロンを有する多層パーセプトロンモデル(MLPモデル)の複数のニューロン層を計算することを可能とする設計が構想される。多層パーセプトロンモデルの利用によって、例えばガウス過程モデル等の比較可能なデータに基づくモデルの場合よりも少ない数のサンプル点を含む、データに基づくモデル化が提示される。
上記のモデル計算ユニットの構想は、多層パーセプトロンモデルのニューロン層を計算するためのこのモデル計算ユニットを、制御装置の演算コアにハードウェア構造により別体で形成することである。このやり方で、ほぼハードワイヤードされたハードウェア回路が、以下のような機能を実現するために提供され、即ち、多層パーセプトロンモデルの1つ以上のニューロン層を計算し、その際に、ソフトウェアで制御される、制御装置のマイクロプロセッサで、非常に僅かな計算負荷しか生じさせないことを可能とする上記機能を実現するために提供されうる。モデル計算ユニットにより提供されるハードウェア加速化によって、多層パーセプトロンモデルを実時間で計算することが可能であり、従って、このようなモデルの利用は、自動車の内燃機関のための制御装置での適用にとって有益でありうる。
ハードウェアにより形成された上記モデル計算ユニットによって、制御装置の演算コアでの、多層パーセプトロンモデルの複数のニューロン層の自動的に連続的に行われる計算が可能となる。ハードワイヤードにより形成された別体のモデル計算ユニットへと、多層パーセプトロンモデルの計算を移すことによって、マイクロプロセッサと、多層パーセプトロンモデルを計算するためのモデル計算ユニットと、の間の通信を可能な限り減らし、このようにしてモデル値の計算のための時間消費を最小限に抑えることが可能である。
多層パーセプトロンモデルのモデル値が計算される際には、通常では層単位で計算が実行され、その際に、入力ベクトルの入力が第1のニューロン層に供給され、第1のニューロン層の計算によって、中間出力ベクトルの中間出力が獲得され、この中間出力自体は、パーセプトロンモデルの下位ニューロン層のための中間入力として機能する。
パーセプトロンモデルのニューロン層の数に対応して、上記の計算が連続的に行われ、従って、最後のニューロン層の結果としてモデル値が獲得される。このために、DMAユニットと共に演算フローの制御を行うことが可能なメモリ構造が設けられる。
異なるニューロン層に亘る純粋に連続的な計算を含む上述のパーセプトロンモデルに加えて、フィードバック型(逆伝播型)ネットワークを有する他のパーセプトロンモデル、即ち、1のニューロン層の出力の、これに先行するニューロン層の入力ベクトルの幾つかの入力へのフィードバックを有する他のパーセプトロンモデルが公知である。これにより、ニューロンでの時間的に先行する状態の格納が実現されうる。このモデルは、以下では、フィードバック型(逆伝播型)パーセプトロンモデルと呼ばれる。
さらに、フィードフォーワード型(順伝播型)ネットワークを含むパーセプトロンモデル、即ち、出力の一部が、少なくとも1つの直接的に後に続くニューロン層では考慮されず、従って、1のニューロン層の中間出力の一部が、直接的には後に続かないニューロン層の入力として利用され、即ち直接的に後に続くニューロン層を飛ばして利用されるパーセプトロンモデルを設けることが可能である。このモデルは、以下では、フィードフォーワード型(順伝播型)パーセプトロンモデルと称される。このパーセプトロンモデルは、フィードバック型パーセプトロンモデルと組み合わせても形成されうる。
1のニューロン層の入力ベクトルの入力を格納するための区分と、他の後続のニューロン層のための入力ベクトルの入力を格納するための区分と、のそれぞれを含むデータメモリ領域を設けることによって、モデル計算ユニットでのモデル値の自動的な計算を、更なる別の複写過程なしで設けることが可能である。ここで、各ニューロン層の出力ベクトルの出力はそれぞれ、次に計算されるニューロン層の入力を格納するためのデータメモリ領域の区分に格納される。DMAユニットによって、演算コアでの対応するニューロン層の計算を新たに開始することで、多層パーセプトロンモデルの所定数のニューロン層を自動的に計算することが可能である。
フィードバック型及び/又はフィードフォーワード型パーセプトロンモデルは、ニューロン層の入力ベクトルのためのデータメモリ区分が、データメモリ領域のアドレス範囲に以下のように配置され、即ち、異なるニューロン層の出力ベクトルに対応付けられている上記データメモリ区分が完全又は部分的に重なり合うように、データメモリ領域のアドレス範囲に配置されることで実現されうる。パーセプトロンモデルを計算するための複数の呼び出しの間の時点にデータメモリ領域が消去又は上書きされないことによって、データメモリ領域の特定のデータメモリ区分において、パーセプトロンモデルのニューロン層の先行する計算の出力ベクトルが引き続き提供され、入力ベクトルのデータメモリ区分の位置に従って、ニューロン層を計算するための入力ベクトルの一部として利用されうる。これにより、フィードバックが自動的に得られる。
フィードフォーワード型パーセプトロンモデルであるニューロン層を飛ばすことが、比較が可能なやり方で、以下のことによって実現され、即ち、あるニューロン層の中間出力を格納するためのデータメモリ領域と、直接的には後に続かないニューロン層の入力を格納するためのデータメモリ領域の区分と、を重ねることによって実現されうる。
特に、以下のような設定メモリ領域を設けることが可能であり、即ち、計算の流れを設定し、及び、ニューロン層の数、及び、ニューロン層ごとの所定数のニューロンをパラメータ化し、ニューロン層の計算順序を設定することを可能とする設定メモリ領域を設けることが可能である。さらに、DMAユニットでは、データメモリ領域のある区分であって、入力ベクトルの入力がそこから読み出され及びニューロン層の出力ベクトルの出力がそこに書き込まれる上記区分を、1のニューロン層の計算の出力が後続のニューロン層のための中間入力として再定義されるように、アドレス指定することが構想される。これにより、ニューロン層の新たな計算の自動的な開始によって、パーセプトロンモデルの多層での計算のフローが、演算コアのメモリの設定メモリ領域での適切なパラメータ化によって構想されうる。このようにして、演算コアに対して多層パーセプトロンモデルの計算というタスクをマイクロプロセッサにより予め設定し、マイクロプロセッサによる更なる介入なしに、多層パーセプトロンモデルの出力値としてのモデル値を、マイクロプロセッサによって計算の終了後に呼び出し又は受信することが可能である。
さらに、ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた入力ベクトルのためのデータメモリ区分は、先行するニューロン層の出力ベクトルのデータメモリ区分を完全に含みうる。
さらに、ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた入力ベクトルのためのデータメモリ区分は、上記先行するニューロン層とは異なるニューロン層、特に、ある先行するニューロン層又は後続のニューロン層の出力ベクトルのデータメモリ区分を部分的に持っているか又は含む。
2つの異なるニューロン層の少なくとも2つの出力ベクトルのデータメモリ区分は、データメモリ領域のアドレス範囲において互いに境を接することが構想されうる。
一実施形態によれば、ニューロン層ごとのメモリは、各設定メモリ区分に設定パラメータを格納するための設定メモリ領域を有し、DMAユニットは、演算コアに以下のことを連続的に命令するよう構成され、即ち、各設定メモリ区分の設定パラメータに基づいて各ニューロン層を計算し、入力ベクトルを設定パラメータによる定義に基づいて計算し、各得られた出力ベクトルを、対応する設定パラメータにより定義された、データメモリ領域のデータメモリ区分に格納するよう、演算コアに連続的に命令するよう構成されうる。
さらに、DMAユニットが、ニューロン層の計算の終了後に次のニューロン層のための設定パラメータを演算コアに提供するよう構成され、上記計算は、1つ以上の設定パラメータによって終了されることが構想されうる。
一実施形態によれば、演算コアは、ニューロン層の現在の計算の終了をDMAユニットに対してシグナリングするよう構成可能であり、DMAユニットは、他の設定メモリ区分に格納された設定パラメータに基づいて、次のニューロン層の計算を開始する。
さらに、演算コアは、複数のニューロンを有する多層パーセプトロンモデルのニューロン層ごとに、入力ベクトルの1つ以上の入力と、重み付け係数を含む重み付けマトリクスと、ニューロンごとに予め設定されたオフセット値と、に従って、ニューロンごとに出力を計算するよう構成可能であり、各ニューロンについて、ニューロン及び入力によって決定される重み付け係数により重み付けされた、入力の値の和に、ニューロンに予め設定されたオフセット値が加えられ、結果が活性化関数によって変換され、該当するニューロンのための出力が獲得される。
一実施形態によれば、演算コアは、集積モジュールの平面領域に形成されうる。
他の観点によれば、マイクロプロセッサと、1つ以上の上記モデル計算ユニットと、を含む制御装置が設けられ、制御装置は、特に集積回路として形成されうる。
更に別の観点によれば、自動車内の内燃機関及び/又はエレクトリックパワートレイン及び/又はエネルギー貯蔵器を含むエンジンシステムを制御するための制御装置としての、上記制御装置を使用する方法が構想される。
以下では、実施形態が、添付の図面を用いて詳細に解説される。
自動車内のエンジンシステムのための実装のための制御装置の概略図を示す。 制御装置の構成要素としてのモデル計算ユニットの概略図を示す。 MLPモデルのニューロン層の概略図を示す。 図4a〜4dは可能な活性化関数の図を示す。 演算コアの設定メモリ領域の設定メモリ区分を示す。 図6aは設定メモリ領域の区分けを、図6bはデータメモリ領域の区分けを示す。 モデル計算ユニットのDMAユニットの機能を示すためのフローチャートを示す。 フィードバック型ニューロン層及びフィードフォーワード型ニューロン層を含むパーセプトロンモデルの概略図を示す。 図8のパーセプトロンモデルについての様々なニューロン層の入力ベクトル及び出力ベクトルのためのデータメモリ区分の例示的なアドレス位置の概略図を示す。
図1は、制御される技術的システムの一例として内燃機関3を備えるエンジンシステム1のための制御装置2の概略図を例示している。制御装置2は、マイクロプロセッサ21と、モデル計算ユニット22と、を含み、マイクロプロセッサ21とモデル計算ユニット22とは、別々のモジュールとして形成され、又は統合された形態により、チップ上の別々の平面領域に形成されうる。特に、モデル計算ユニット22は、構造的にマイクロプロセッサ21の演算コアから分けることが可能なハードウェア回路である。
モデル計算ユニット22は、基本的にハードワイヤードされており、これに対応じて、マイクロプロセッサ21のように、ソフトウェアコードを実行しこれによりソフトウェアによって予め設定される可変的な関数を実行するようには構成されていない。換言すれば、モデル計算ユニット22にはプロセッサが設けられておらず、従って、モデル計算ユニット22は、ソフトウェアコードによっては駆動可能ではない。予め設定されたモデル関数に焦点を絞ることによって、このようなモデル計算ユニット22の、リソースが最適化された実現が可能となる。集積された構造形態において、モデル計算ユニット22は、面積が最適化されて(flaechenoptimiert)実現され、このことによってさらに、高速の計算が可能となる。
制御装置2は基本的に、内燃機関3のセンサシステムにより検知されたセンサ信号S又はセンサ値及び/又は外部の設定Vを処理し、周期的に、例えば1〜100msの固定で予め定められた時間間隔で、又は角度に同期して、駆動される内燃機関のクランク軸の角度に従って、1つ以上の対応する駆動制御変数Aの値を内燃機関3に印加するために役立ち、従って、内燃機関3は公知のやり方で駆動可能である。
図2には、モデル計算ユニット22がより詳細に示されている。モデル計算ユニット22は、状態機械11と、メモリ12と、1つ以上の演算ブロックと、を含み、1つ以上の演算ブロックは、例えば、1つ以上のMACブロック13(固定少数点演算のためのMAC(Multiply‐ACcumulate)、浮動小数点演算のためのFMA(Fused‐Multiply‐Add))、活性化関数ACTを計算するための活性化関数計算ブロック14、及び、任意に、加算ブロック15、及び/又は、乗算ブロック16を含む。状態機械11と1つ以上の演算ブロックとが、モデル計算ユニット22の演算コア18を形成する。状態機械11によって、メモリ12内のデータメモリ領域122(入力メモリ領域)に格納された入力の値が、反復されるループ計算によって計算され、従って、中間出力又は出力が獲得され、この中間出力又は出力は、メモリ12の、計算されたニューロン層に対応付けられた対応する出力メモリ領域に書き込まれる。
上記計算の制御は、DMA(Direct Memory Access)ユニット17を用いて行うことが可能であり、DMAユニット17は、演算コアのレジスタ、及び各ニューロン層の計算に関連するデータメモリ領域への1つ以上の複写過程を行う。
状態機械11は、多層パーセプトロンモデルの個々のニューロン層を計算するよう構成される。状態機械11は、以下の疑似コードによって記述されうる。

/* 入力変換 */
for (k=0; k<p7; k++) {
ut[k] = u[k]*p1[k] + p2[k];
}

/* ループ計算 */
for (j=p8; j<p6; j++) {
i = j * P7;
t = p3[j];
for (k=0; k<p7; ktt) {
t += V[i+k] * ut[k];
}
y[j] = act(t);
}

/* 出力変換 */
for (k=0; k<p6; k++) {
z[k] = y[k] * p4[k] + p5[k];
}

但し、
p7:入力ベクトルの入力のための最大インデックス値
p8:現在のニューロン層のニューロンの計算のための最小インデックス値又は初期値
p6:現在のニューロン層のニューロンのための最大インデックス値
p3:オフセット値
p1、p2:入力変換のための変数
p4、p5:出力変換のための変数
上記の疑似コードを用いて、計算される層のニューロンごとに以下の計算が実行される。即ち、

j=0…p6‐1について、
Figure 2019530114
これは、図3に示されるような、多層パーセプトロンモデルのニューロン層のための計算を表している。
図3は、複数のニューロン20のニューロン層を示している。複数のニューロン20には、入力ベクトルut…utp6−1の入力の値が供給される。入力の値は、重み付け係数v0…p7−1,0…p6−1からの対応する所定の重み付けマトリクスを用いて重み付けされる。この重み付けは通常、対応付けられた重み付け係数v0…p7−1,0…p6−1を乗算的に加えることによって行われる。重み付け係数は一般に、他のやり方でも入力ベクトルの値に加えられうる。
入力ベクトルut0…utp6−1の上記重み付けされた値の和の結果には、オフセット値O…Op6−1が加えられ、特に加算的に加えられる。この結果は、所定の活性化関数「act」によって変換される。結果として、出力ベクトルy…yp6−1の対応する値が獲得される。ニューロンごとにオフセット値を設けることによって、モデル形成のための更なる自由度が生じる。
インデックス付き変数p6の設定によって、計算されるニューロン層のニューロン20の数が調整されうる。多層パーセプトロンモデルは、ニューロン層の出力ベクトルy…yp6−1の値を、モデル計算ユニット22での次のニューロン層の計算用の入力ベクトルとして利用することによって利用可能であり、従って、多層パーセプトロンモデルの複数のニューロン層を、対応して変更されたパラメータによる上記の疑似コードに係る関数の呼び出し又はモデル計算ユニット22の呼び出しを繰り返すことによって、実現することが可能である。
入力ベクトルの入力の入力変換、及び/又は、出力ベクトルの出力の出力変換を、ニューロンごとに予め設定された正規化変数p1及びp2、又はp4及びp5を用いて行うことが可能である。入力における上記入力変換及び/又は出力変換は省略されてもよい。
MLPモデルの層単位での計算によって、モデル計算ユニット22のすっきりとした構成が可能となり、集積された構造形態においてモデル計算ユニット22が必要とする面積は小さい。それにも関わらず、モデル計算ユニット22によって、多層パーセプトロンモデルの計算が簡単なやり方で、出力ベクトルの出力の値を他のニューロン層の計算用の入力ベクトルの入力としてフィードバック又は再定義することで、可能となる。
活性化関数「act」として、複数の活性化関数のうちの1つの活性化関数を提供することが可能であり、上記1つの活性化関数は、モデル計算ユニット22の活性化関数計算ブロック14によって計算されうる。活性化関数は、例えば、図4a〜図4dに対応して示されるような、ランプ関数(Knickfunktion)、双曲線正接関数、シグモイド関数、又は一次関数であってもよい。
モデル計算ユニット22のメモリ12は、設定メモリ121を有し、この設定メモリ121は、所定数のニューロン層のための設定パラメータを、各設定メモリ区分Aで格納することが可能である。設定メモリ領域121は、制御装置のメインメモリの構成要素であり、この設定メモリ領域121は、マイクロコントローラ21とモデル計算ユニット22との双方によってアクセス又は利用されうる。代替的に、設定メモリ区分Aは、別体のフラッシュメモリにも、又は演算コア18にとって外部のメモリにも設けられうる。
設定メモリ区分Aは個別のメモリアドレスを有し、この個別のメモリアドレスには、図5に例示するように、モデル計算ユニット22の設定パラメータが所定の順序に対応して格納される。個々の設定メモリ区分Aを利用するために、ニューロン層の計算のためのそこに格納された値が、DMAユニット17によって、演算コア18のそのために設けられたレジスタに複写される。複写過程は、マイクロコントローラ21又は演算コア18が関与することなく行われ、DMAユニット17によって自動的に実行される。
各設定メモリ区分Aのアドレス位置Reg1〜RegPは、設定メモリ領域121の設定メモリ区分Aが対応付けられた該当するニューロン層での計算を実行するためのパラメータを含んでいる。例えば、設定メモリ位置Reg1〜RegPは、上記の疑似コードに対応するパラメータp1〜p8を格納することが可能であり、かつ、特に、対応するアドレスポインタを介して、格納することが可能であり、対応するアドレスポインタが指すデータメモリ領域122に設けられたデータメモリ区分(対応する開始アドレスの指定により定義されたアドレス範囲)には、(現在計算されている)該当するニューロン層に関連した、入力ベクトルの入力又は中間入力ベクトルの中間入力、重み付けマトリクスの重み付け係数、オフセットベクトルのオフセット値が格納されている。
データメモリ領域122は、制御装置のメインメモリ内、又は、モデル計算ユニット22の外部で対応付けられたメモリ内に設けられうる。さらに、設定パラメータReg1〜RegPのうちの1つが、ニューロン層での計算の結果として獲得される得られた出力ベクトルの各出力を格納するデータメモリ区分Dのための開始アドレスを指定することが可能である。アドレスポインタの利用には利点がある。なぜならば、モデルパラメータと、入力ベクトルと、出力ベクトルと、の次元は可変的だからである。
さらに、設定メモリ領域121には、計算開始情報RegCtrlを格納するためのアドレス位置を設けることが可能であり、この計算開始情報RegCtrlは、特定データが書き込まれた際に、モデル計算ユニット22での現在の(即ち、各設定メモリ区分に対応付けられた)ニューロン層の計算を開始させる。
さらに、別の状態レジスタメモリ領域Rが、状態情報を格納するための1つ以上のアドレス位置RegR01〜RegR0Qを有しうる。状態情報は、パーセプトロンモデルの各ニューロン層の計算からのフィードバックを示しうる。状態情報は、例えば、モデル計算ユニット22の演算状態(idle/busy)についての情報、計算の進捗(状態機械での疑似コードの計算の位置、例えば、入力変換、メインループ等の計算の位置)、パラメータの有効性(不正のアドレスポインタ、間違った/未対応の値(例えば、floatにおけるINFinity又はNot‐a‐Number)等についての情報を有しうる。
さらに、利用されないメモリアドレスを各設定メモリ区分Aに設けることが可能であり、従って、DMAユニット17による、ブロックごとの設定メモリ区分Aの処理が考慮される。
図6aには、設定メモリ領域121での複数の設定メモリ区分Aの配置が示されており、設定メモリ領域121では、図6aに示されるように、設定パラメータが、連続する設定メモリ区分Aに格納されている。そこでは、N個のニューロン層MLP1…MLPNのための設定パラメータを含むN個の設定メモリ区分の配置が予め設定されている。ニューロン層ごとの設定パラメータの数は変化しないため、設定メモリ区分Aは、好適に、それぞれ同じ大きさで設けられる。
設定パラメータの幾つかは、アドレスポインタとして設けられており、対応して「*」の印が付けられている。図6bに示されるように、アドレスポインタは、例えば制御装置のメインメモリ内に設けられた、データメモリ領域122のデータメモリ区分の開始アドレスを指し、上記データメモリ領域122から、該当するニューロン層の計算のために、入力ベクトルMLPx_EVの入力、又は、中間入力ベクトルMLPx_EVの中間入力(例えば、MLP1_Reg1*、MLP2_Reg1*等)、重み付けマトリクスからの重み付け係数、オフセットベクトルのオフセット値が呼び出される。さらに、アドレスポインタの1つは、出力ベクトルMLPx_AVの得られた出力、又は、(計算すべき後続のニューロン層が存在する際には)中間出力ベクトルMLPx_AVの得られた中間出力を格納するためのデータメモリ区分Dを指す(例えば、MLP1_Reg2*、MLP2_Reg2*等)。連続する設定メモリ区分A内の設定パラメータの適切なパラメータ化によって、好適に以下のことが構想され、即ち、1のニューロン層の出力ベクトルを格納するためのデータメモリ区分Dの開始アドレスが、次のニューロン層の入力ベクトル又は中間入力ベクトルを格納するためのデータメモリ区分の開始アドレスに対応することが構想される。
入力及び出力のためのデータメモリ領域122のデータメモリ区分Dは、ニューロン層ごとに、所定数のアドレス位置により予め設定されており、上記所定数のアドレス位置によって、パーセプトロンモデルの対応するニューロン層のニューロンの対応する数が予め設定される。個々のニューロン層の入力ベクトルMLP1_EV及び出力ベクトルMLP1_AVの開始アドレスは、メモリアクセスの粒度に従って区切化される。これにより、例えば図6bに示すような1つ以上の利用されないデータメモリ区分Dが生じる。この利用されないデータメモリ区分は、例えば、アドレスポインタが「ページ(Page)」単位でのみ、例えば8又は16バイトまでのブロックで、アドレス指定しうる場合に発生する。
これにより、マイクロプロセッサ21は、パーセプトロンモデルの複数のニューロン層を連続して計算するために、DMAユニット17のみ初期設定すればよく、その際に、マイクロプロセッサによって、対応するプログラムフロー制御量が獲得されることはない。ニューロン層の計算を連続的に呼び出すことによるフロー制御は、DMAユニット17によって行われる。
図7では、DMAユニット17によるモデル計算ユニットの制御を示すフローチャートが示されている。開始に際して、マイクロプロセッサ21による設定が行われ、その際は、対応するモデルパラメータ、即ち、第1のニューロン層の入力の値、ニューロン層ごとの重み付けマトリックスの値、及び、ニューロン層ごとのオフセットベクトルのオフセット値、並びに、設定パラメータがデータメモリ領域122の対応するデータメモリ区分A、又は設定メモリ領域121の対応する設定メモリ区分Aに書き込まれ、その際に、設定パラメータは、設定メモリ領域121の対応する設定メモリ区分Aに設定される。
工程S1において、DMAユニット17がマイクロコントローラ21によって、多重複写転送(Multiple‐Copy‐Transfer)であって、例えば設定メモリ領域121のソースアドレスが増分され、及び複写先として演算ユニットのレジスタが設定される上記多重複写転送のために設定される。これにより、DMAユニット17は、各設定パラメータ区分Aについて行われる複写過程の回数と、MLPモデル全体の複写過程の回数(=MLPニューロン層の数)とが分かる。
DMAユニット17は、演算ユニットのレジスタへの第1の設定パラメータ区分Aの第1の複写過程を開始し、続いて、工程S2において、第1のニューロン層に対応付けられた設定パラメータ(MLP1_Reg1〜MLP1_RegP、RegCtrl)に基づいて、第1のニューロン層の計算を開始する。このために、DMAユニット17は、例えば計算開始情報RegCtrlが設定メモリ領域121から対応するアドレス位置/レジスタに書き込まれることで、計算の開始をシグナリングする。設定パラメータのアドレスポインタが、以下のようなデータメモリ区分Dを指定し、即ち、第1のニューロン層の出力ベクトルの出力を計算するために、入力ベクトルの入力、重み付けマトリクスからの重み付け係数、及びオフセットベクトルのオフセット値をそこから取り出すべき上記データメモリ区分Dを指定する。
第1のニューロン層の出力が計算された後に、この出力は、対応する出力メモリブロックに存在し、この対応する出力メモリブロックは、DMAユニット17によって、第1のニューロン層のための設定パラメータに基づいて、データメモリ領域122の対応するデータメモリ区分Dに格納される。
工程S3では、演算コア18が、第1のニューロン層の計算が終了したことをDMAユニット17にシグナリングする。このことは、演算コア17が、対応する設定パラメータによってDMAユニット17への割り込みを促すことにより、達成される。更なる別のニューロン層の計算のために、第1のニューロン層の計算からの出力が、以下のことにより、中間入力として見做され、即ち、DMAユニット17が、上記更なる別のニューロン層に対応付けられた設定メモリ領域121の設定メモリ区分Aから演算ユニットのレジスタへと設定パラメータを供給し、場合によっては、重み付けマトリクスの重み付け係数及びオフセットベクトルのオフセット値を、これらが前もってそこに格納されていない限りにおいて、アドレスポインタにより設定パラメータで示されるデータメモリ区分Dに格納することにより、上記中間入力として見做される。続いて、工程S4において計算が開始される。
工程S3及びS4の処理は、各他のニューロン層のために、最初に予め設定した数の複写すべき設定メモリ区分Aに達するまで、繰り返される。最後のニューロン層の計算のための対応する設定パラメータが、演算コア18が割り込みを直接的にマイクロプロセッサ21に促すことで演算コア18の割り込み読出しを定める。この場合、演算コア18は、対応する割り込み信号をマイクロプロセッサ21へとシグナリングし、マイクロプロセッサ21は、これに応じて、モデル値を呼び出し又は他のやり方で受信する。代替的に、モデル計算ユニット22が、割り込み信号をDMAユニット17に伝えてもよく、DMAユニット17が、割り込み信号をマイクロコントローラ21へとさらに伝える(連鎖割り込み(chained interrupt))。
設定メモリ領域121は、計算のために必要なデータのためのメモリ区分を対応して参照させる設定パラメータも有しうる。さらに、パーセプトロンモデルの計算の終了後には、第2のパーセプトロンモデルの新たな第1のニューロン層の計算が行われうる。このためには、第2のパーセプトロンモデルの第1のニューロン層の入力の部分ではなく、第1のパーセプトロンモデルの最後のニューロン層の出力としてのモデル値が格納されているアドレス位置だけが必要である。
図8には、フィードフォーワード及びフィードバックが設けられたパーセプトロンモデルが概略的に示されている。図8には、ニューロン層MLP1〜MLP4を含む4層のパーセプトロンモデル100の一例が示されている。各ニューロン層MLP1〜MLP4は、入力ベクトル層101と、出力ベクトル層102と、個々のニューロン104を含むニューロン層103と、を有する。先に記載したように、ニューロン層103のニューロン104の数は、ニューロン層ごとに異なっていてもよい。
入力ベクトル101は、データメモリ領域122のデータメモリ区分Dに格納されており、出力ベクトル102は、データメモリ領域122の、少なくとも部分的に上記データメモリ区分Dとは異なるデータメモリ区分Dに格納されている。完全に又は部分的に、出力ベクトルを格納するためのデータメモリ区分Dは、後続のニューロン層の計算のための入力ベクトルを格納するためのデータメモリ区分Dに対応しうる。同じニューロン層又は異なるニューロン層の入力ベクトル及び出力ベクトルのためのデータメモリ区分Dの定義を適切に一致させることによって、次のニューロン層のための中間出力を考慮して、フィードバック、及び、あるニューロン層を飛ばすことが実現されうる。
図9には、データメモリ領域122におけるデータメモリ区分Dのアドレス位置が概略的に示されており、ここでは、データメモリ区分Dは、入力ベクトルのための「ニューロン層の名称」_「EV」、及び、出力ベクトルのための「ニューロン層の名称」_「AV」により称されている。重複領域又は重複アドレス部分はU1〜U4で印が付けられている。
図8に示したパーセプトロンモデルの実施例では、例えば、第2のニューロン層MLP2の出力ベクトルの一部が、第2のニューロン層MLP2にフィードバックされる。この場合、第1のニューロン層MLP1の出力ベクトルと合わせて、第2のニューロン層MLP2の入力ベクトルが形成され、従って、第2のニューロン層で利用される入力ベクトルは、第2のニューロン層MLP2の出力ベクトルのフィードバックされた部分と、第1のニューロン層MLP1の出力ベクトルと、で構成されている。しかしながら、モデル計算ユニット22の構成に対応して、入力ベクトルが、関連するデータメモリ区分Dで供給されるということが構想される。この場合には、第2のニューロン層MLP2の入力ベクトルは、関連するデータメモリ区分MLP2_EVから取り出される。
このことは、第1のニューロン層MLP1の出力ベクトルのためのデータメモリ区分MLP1_AVと、第2のニューロン層MLP2の出力ベクトルのフィードバックされた部分のためのデータメモリ区分MLP2_AVと、が互いに相前後して連続することによって達成される。この場合に、第2のニューロン層MLP2の入力ベクトルのためのデータメモリ区分MLP_EVは、以下のように定義され、即ち、上記データメモリ区分MLP_EVが、第1のニューロン層MLP1の出力ベクトルのためのデータメモリ区分MLP1_AVと、第2のニューロン層MLP2の出力ベクトルのフィードバックされた部分のためのデータメモリ区分MLP2_AVと、を含むように定義される。第2のニューロン層MLP2の出力ベクトルのフィードバックされた部分は、第1の重複アドレス部分U1と称される。
さらに、第2のニューロン層MLP2での計算は、第4のニューロン層MLP4の出力ベクトルを利用する。このことは、第1のニューロン層MLP1の出力ベクトルのためのデータメモリ区分MLP1_AVと、第4のニューロン層MLP4の出力ベクトルのデータメモリ区分MLP4_AVと、が互いに相前後して連続することによって達成される。第2のニューロン層MLP2の入力ベクトルのためのデータメモリ区分MLP2_EVは、上記の位置付けに加えて以下のように定義され、即ち、上記データメモリ区分MLP2_EVが、第1のニューロン層MLP1の出力ベクトルのためのデータメモリ区分MLP1_AVと、第2のニューロン層MLP2の出力ベクトルのフィードバックされた部分のためのデータメモリ区分MLP2_AVと、第4のニューロン層MLP4のフィードバックされた出力ベクトルのためのデータメモリ区分MLP4_AVと、を含むように定義される。第4のニューロン層MLP4の出力ベクトルのデータメモリ区分MLP4_AVは、第2の重複アドレス区分U2と称される。
さらに、第3のニューロン層MLP3での計算は、第1のニューロン層MLP1の出力ベクトルのフィードフォーワードされた部分と、第2のニューロン層MLP2の出力ベクトルと、を利用する。このことは、第1のニューロン層MLP1の出力ベクトルのためのデータメモリ区分MLP1_AVと、第2のニューロン層MLP2の出力ベクトルのデータメモリ区分MLP2_AVと、が互いに相前後して連続することによって達成される。第3のニューロン層MLP3の入力ベクトルのためのデータメモリ区分MLP3_EVは、上記の位置付けに加えて以下のように定義され、即ち、上記データメモリ区分MLP3_EVが、第2のニューロン層MLP2の出力ベクトルのためのデータメモリ区分MLP2_AVと、第1のニューロン層MLP1の出力ベクトルのフィードフォーワードされた部分のためのデータメモリ区分と、を含むように定義される。第1のニューロン層MLP1の出力ベクトルのフィードフォーワードされた部分のデータメモリ区分は、重複アドレス区分U3と称される。
追加的に、第3のニューロン層MLP3での計算は、同じ第3のニューロン層MLP3の出力ベクトルMLP3_AVのフィードバックされた部分であって、第4の重複アドレス区分U4に相当する上記部分を利用する。このことは、以下のことにより達成され、即ち、第3のニューロン層MLP3の出力ベクトルMLP3_AVのためのデータメモリ区分MLP3_AVと、第2のニューロン層MLP2の出力ベクトルMLP2_AVのデータメモリ区分MLP2_AVと、が互いに相前後して連続することで達成される。
第3のニューロン層MLP3の入力ベクトルのためのデータメモリ区分MLP3_EVは、上記の位置付けに加えて以下のように定義され、即ち、上記データメモリ区分MLP3_EVが、第2のニューロン層MLP2の出力ベクトルMLP2_AVのためのデータメモリ区分と、第1のニューロン層MLP1の出力ベクトルMLP1_AVのフィードフォーワードされた部分(第3の重複範囲U3)のためのデータメモリ区分と、第3のニューロン層MLP3の出力ベクトルMLP3_AVのフィードバックされた部分(第4の重複範囲U4))のためのデータメモリ区分と、を含むように定義される。
一般に、複数のニューロン層の出力ベクトルのデータメモリ区分Dは、当該データメモリ区分Dが共同で、上記複数のニューロン層に続いて計算されるニューロン層の入力ベクトルを完全又は部分的に形成する場合には、隣り合って配置されている。入力ベクトルのアドレス指定は通常、関係のあるアドレス範囲として行われるため、この場合、計算されるニューロン層の入力ベクトルのためのデータメモリ区分Dは、当該データメモリ区分Dと該当する出力ベクトルのデータメモリ区分Dとが重なり合うように、定義される。
個々のニューロン層の計算は、時間的に連続して、第1のニューロン層から開始して最終ニューロン層まで、即ち、本実施例では第4のニューロン層まで行われる。しかしながら、フィードバックの場合、フィードバックがそこへと行われるニューロン層の新たな計算は、直接的には行われない。その代わり、出力ベクトルのフィードバックされた部分が、パーセプトロンモデルの次の完全な計算においてようやく考慮されうる。これにより、出力ベクトルのフィードバックされた部分の考慮に遅延が生じる。このことは、図8の遅延要素105により表されている。この遅延要素105は機能のみ表しており、モデル計算ユニット22では実際には形成されない。なぜなら、上記機能は、データメモリ領域122での一時格納によって遂行されるからである。

Claims (11)

  1. 多層パーセプトロンモデルを計算するためのモデル計算ユニット(22)であって、
    前記モデル計算ユニット(22)は、ハードウェアで形成されハードワイヤードされており、
    ‐入力ベクトル(101)の1つ以上の入力に従って、複数のニューロンを有する前記多層パーセプトロンモデルのニューロン層の出力ベクトル(102)の1つ以上の出力を計算するよう構成された演算コア(18)と、
    ‐各ニューロン層に対して、前記入力ベクトル(101)の前記入力を格納するためのデータメモリ区分(D)、及び前記出力ベクトル(102)の前記出力を格納するためのデータメモリ区分(D)が対応付けられているデータメモリ領域(122)が設けられたメモリ(12)と、
    ‐対応付けられた前記入力ベクトル(101)の入力に基づいて各ニューロン層を計算し、前記出力ベクトル(102)の各得られた前記出力を対応付けられた前記データメモリ区分(D)に格納するよう、前記演算コア(18)に連続的に命令するよう構成されたDMAユニット(17)と、を備え、
    前記ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた前記入力ベクトル(101)のための前記データメモリ区分(D)は、2つの異なるニューロン層の少なくとも2つの前記出力ベクトル(102)の前記データメモリ区分(D)を、少なくとも部分的に含む、
    モデル計算ユニット(22)。
  2. 前記ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた前記入力ベクトル(101)のための前記データメモリ区分(D)は、先行する前記ニューロン層の前記出力ベクトル(102)の前記データメモリ区分(D)を完全に含む、
    請求項1に記載のモデル計算ユニット(22)。
  3. 前記ニューロン層のうちの少なくとも1つのニューロン層に対応づけられた前記入力ベクトル(101)のための前記データメモリ区分(D)は、前記先行するニューロン層とは異なるニューロン層、特に、ある先行するニューロン層又は後続のニューロン層の前記出力ベクトル(102)の前記データメモリ区分(D)を部分的に含む、
    請求項1又は2に記載のモデル計算ユニット(22)。
  4. 前記2つの異なるニューロン層の前記少なくとも2つの出力ベクトル(102)の前記データメモリ区分(D)は、前記データメモリ領域(D)のアドレス範囲において互いに境を接する、
    請求項1〜3のいずれか一項に記載のモデル計算ユニット(22)。
  5. ニューロン層ごとの前記メモリは、各設定メモリ区分(A)に設定パラメータを格納するための設定メモリ領域(A)を有し、前記DMAユニット(17)は、前記演算コア(18)に以下のことを連続的に命令するよう構成され、即ち、各設定メモリ区分(A)の前記設定パラメータに基づいて各ニューロン層を計算し、及び、前記設定パラメータにより定義される前記入力ベクトルを計算し、各得られた前記出力ベクトル(102)を、対応する前記設定パラメータにより定義された、前記データメモリ領域(122)のデータメモリ区分(D)に格納するよう、前記演算コア(18)に連続的に命令するよう構成される、
    請求項1〜4のいずれか一項に記載のモデル計算ユニット(22)。
  6. 前記演算コア(18)は、前記ニューロン層の現在の前記計算の終了を前記DMAユニット(17)又は外部に対してシグナリングするよう構成され、前記DMAユニット(17)は、他の設定メモリ区分(A)に格納された設定パラメータに基づいて、次の前記ニューロン層の前記計算を開始する、
    請求項1〜5のいずれか一項に記載のモデル計算ユニット(22)。
  7. 前記演算コア(18)は、複数のニューロン(20)を有する多層パーセプトロンモデルのニューロン層ごとに、入力ベクトルの1つ以上の入力と、重み付け係数を含む重み付けマトリクスと、ニューロンごとに予め設定されたオフセット値と、に従って、ニューロンごとに出力を計算するよう構成され、各ニューロンについて、前記ニューロン及び前記入力によって決定される重み付け係数により重み付けされた、前記入力の値の和と、前記ニューロン(20)に予め設定された前記オフセット値と、が計算され、結果が活性化関数によって変換され、該当する前記ニューロン(20)のための前記出力が獲得される、
    請求項1〜6のいずれか一項に記載のモデル計算ユニット(22)。
  8. 前記演算コア(18)は、集積モジュールの平面領域に形成される、請求項1〜7のいずれか一項に記載のモデル計算ユニット(22)。
  9. マイクロプロセッサ(21)と、請求項1〜8のいずれか一項に記載の1つ以上のモデル計算ユニット(22)と、を含む制御装置(2)。
  10. 前記制御装置(2)は、集積回路として形成される、請求項9に記載の制御装置(2)。
  11. 自動車内のエンジンシステム(1)を制御するための制御装置(2)としての、請求項9又は10に記載の前記制御装置(2)を使用する方法。
JP2019533672A 2016-09-07 2017-09-04 フィードフォーワード及びフィードバックが設けられた多層パーセプトロンモデルを計算のためのモデル計算ユニット及び制御装置 Active JP6828170B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102016216950.5 2016-09-07
DE102016216950.5A DE102016216950A1 (de) 2016-09-07 2016-09-07 Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung
PCT/EP2017/072043 WO2018046416A1 (de) 2016-09-07 2017-09-04 Modellberechnungseinheit und steuergerät zur berechnung eines mehrschichtigen perzeptronenmodells mit vorwärts- und rückkopplung

Publications (2)

Publication Number Publication Date
JP2019530114A true JP2019530114A (ja) 2019-10-17
JP6828170B2 JP6828170B2 (ja) 2021-02-10

Family

ID=59859051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019533672A Active JP6828170B2 (ja) 2016-09-07 2017-09-04 フィードフォーワード及びフィードバックが設けられた多層パーセプトロンモデルを計算のためのモデル計算ユニット及び制御装置

Country Status (6)

Country Link
US (1) US11449737B2 (ja)
JP (1) JP6828170B2 (ja)
KR (1) KR102509434B1 (ja)
CN (1) CN109643393B (ja)
DE (1) DE102016216950A1 (ja)
WO (1) WO2018046416A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3807874A1 (en) 2018-07-13 2021-04-21 Google LLC End-to-end streaming keyword spotting
US20220036216A1 (en) * 2018-09-26 2022-02-03 Google Llc Predicted Variables in Programming
CN111913898B (zh) * 2019-05-10 2024-07-09 恩智浦美国有限公司 使用端点的pcie根复合体消息中断产生方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03235723A (ja) * 1990-02-09 1991-10-21 Hitachi Ltd 自動車の制御装置
JPH06175999A (ja) * 1992-12-08 1994-06-24 Mitsubishi Electric Corp ニューロコンピュータ
US5583964A (en) * 1994-05-02 1996-12-10 Motorola, Inc. Computer utilizing neural network and method of using same
JP2015015024A (ja) * 2013-07-02 2015-01-22 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 制御装置を駆動する方法及びモデル計算ユニットを有する制御装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3210319B2 (ja) * 1990-03-01 2001-09-17 株式会社東芝 ニューロチップおよびそのチップを用いたニューロコンピュータ
US5809461A (en) * 1992-03-30 1998-09-15 Seiko Epson Corporation Speech recognition apparatus using neural network and learning method therefor
US6601051B1 (en) * 1993-08-09 2003-07-29 Maryland Technology Corporation Neural systems with range reducers and/or extenders
US5987444A (en) * 1997-09-23 1999-11-16 Lo; James Ting-Ho Robust neutral systems
CA2629069C (en) * 2005-11-15 2016-07-19 Bernadette Garner Method for training neural networks
US8051019B2 (en) * 2006-07-13 2011-11-01 Sap Ag Neural network resource sizing apparatus for database applications
GB2464677A (en) * 2008-10-20 2010-04-28 Univ Nottingham Trent A method of analysing data by using an artificial neural network to identify relationships between the data and one or more conditions.
US8990132B2 (en) * 2010-01-19 2015-03-24 James Ting-Ho Lo Artificial neural networks based on a low-order model of biological neural networks
DE102012214697A1 (de) * 2012-08-01 2014-02-06 Soma Analytics Ug (Haftungsbeschränkt) Vorrichtung, Verfahren und Applikation zur Ermittlung eines aktuellenBelastungsniveaus
DE102013206264A1 (de) * 2013-04-10 2014-10-30 Robert Bosch Gmbh Verfahren und Vorrichtung zur Durchführung einer Berechnung eines datenbasierten Funktionsmodells
DE102013213420A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE102013213414A1 (de) * 2013-07-09 2015-01-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells
CN106062786B (zh) * 2014-09-12 2019-12-31 微软技术许可有限责任公司 用于训练神经网络的计算***
EP3035249B1 (en) * 2014-12-19 2019-11-27 Intel Corporation Method and apparatus for distributed and cooperative computation in artificial neural networks
CN105892989B (zh) * 2016-03-28 2017-04-12 中国科学院计算技术研究所 一种神经网络加速器及其运算方法
CN105913117A (zh) * 2016-04-04 2016-08-31 北京工业大学 一种计算机智能识别的相关神经网络方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03235723A (ja) * 1990-02-09 1991-10-21 Hitachi Ltd 自動車の制御装置
JPH06175999A (ja) * 1992-12-08 1994-06-24 Mitsubishi Electric Corp ニューロコンピュータ
US5583964A (en) * 1994-05-02 1996-12-10 Motorola, Inc. Computer utilizing neural network and method of using same
JP2015015024A (ja) * 2013-07-02 2015-01-22 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 制御装置を駆動する方法及びモデル計算ユニットを有する制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
W. EPPLER ET AL.: ""High Speed Neural Network Chip for Trigger Purposes in High Energy Physics"", PROCEEDINGS DESIGN, AUTOMATION AND TEST IN EUROPE, JPN6020020377, February 1998 (1998-02-01), US, pages 108 - 115, XP010268412, ISSN: 0004286803, DOI: 10.1109/DATE.1998.655844 *
大場 百香 外5名: "「再構成可能なニューラルネットワークアクセラレータの提案と性能分析」", 電子情報通信学会技術研究報告, vol. 第116巻, 第177号, JPN6020020378, 1 August 2016 (2016-08-01), pages 235 - 242, ISSN: 0004286804 *

Also Published As

Publication number Publication date
CN109643393B (zh) 2023-05-23
US11449737B2 (en) 2022-09-20
CN109643393A (zh) 2019-04-16
KR20190043616A (ko) 2019-04-26
KR102509434B1 (ko) 2023-03-13
DE102016216950A1 (de) 2018-03-08
JP6828170B2 (ja) 2021-02-10
WO2018046416A1 (de) 2018-03-15
US20200226450A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
US11216721B2 (en) Method for calculating a neuron layer of a multi-layer perceptron model with simplified activation function
WO2020042739A1 (zh) 数据预处理方法、装置、计算机设备和存储介质
CN111667051B (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
JP5523624B2 (ja) 制御装置及び制御のための出力変数を計算する方法
JP6828170B2 (ja) フィードフォーワード及びフィードバックが設けられた多層パーセプトロンモデルを計算のためのモデル計算ユニット及び制御装置
JP2020532778A (ja) 変換方法、装置、コンピューターデバイス及び記憶媒体
Zhang et al. Dynamic scheduling in flexible assembly system based on timed Petri nets model
JP2008260286A (ja) プリントエンジン装置の能力を決定する方法
KR102166650B1 (ko) 제어 장치의 작동 방법 및 모델 연산 유닛을 포함하는 제어 장치
CN110765710B (zh) 基于非易失器件的通用逻辑综合方法及装置
CN109684085B (zh) 内存访问方法及相关产品
JP6737960B2 (ja) モデル計算ユニット、及び、多層パーセプトロンモデルを計算するための制御装置
CN108388943B (zh) 一种适用于神经网络的池化装置及方法
CN114897133A (zh) 一种通用可配置的Transformer硬件加速器及其实现方法
JP6808047B2 (ja) Rbfモデルを計算するためのモデル計算ユニット及び制御装置
JP6742525B2 (ja) Rbfモデルを計算するためのモデル計算ユニット及び制御装置
US11645499B2 (en) Model calculating unit and control unit for calculating a neural layer of a multilayer perceptron model
CN112948291A (zh) 数据传输方法、电子设备和可读存储介质
US20240177812A1 (en) Systems and methods for expedient computation of substrate deformations in thermo-compression bonding
CN114943635B (zh) 一种基于异构协同计算核心的融合算子设计与实现方法
CN117291240B (zh) 卷积神经网络加速器及电子设备
US20220327180A1 (en) Generic image resizer using matrix multiplier accelerator
CN114489043A (zh) 多智能体路径规划方法、装置、电子设备及存储介质
CN110412890A (zh) 一种伺服驱动器的仿真方法、装置、设备和存储介质
CN104281559A (zh) 用于执行基于数据的函数模型的模型计算的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190418

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190322

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190322

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210120

R150 Certificate of patent or registration of utility model

Ref document number: 6828170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250