JP2020184341A - 機械学習システム、並びに、機械学習システムを構成する方法、コンピュータプログラム及び装置 - Google Patents

機械学習システム、並びに、機械学習システムを構成する方法、コンピュータプログラム及び装置 Download PDF

Info

Publication number
JP2020184341A
JP2020184341A JP2020081985A JP2020081985A JP2020184341A JP 2020184341 A JP2020184341 A JP 2020184341A JP 2020081985 A JP2020081985 A JP 2020081985A JP 2020081985 A JP2020081985 A JP 2020081985A JP 2020184341 A JP2020184341 A JP 2020184341A
Authority
JP
Japan
Prior art keywords
learning system
machine learning
filter
sequence
image
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
JP2020081985A
Other languages
English (en)
Other versions
JP2020184341A5 (ja
JP7493380B2 (ja
Inventor
プファイル トーマス
Pfeil Thomas
プファイル トーマス
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 JP2020184341A publication Critical patent/JP2020184341A/ja
Publication of JP2020184341A5 publication Critical patent/JP2020184341A5/ja
Application granted granted Critical
Publication of JP7493380B2 publication Critical patent/JP7493380B2/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/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】本発明は、少なくとも1つの時間フィルタ(21)を含む機械学習システム(10)に関する。【解決手段】画像の時間的シーケンスを含む入力変数は、機械学習システム(10)を用いてフィルタ(21)を使用して処理される。機械学習システム(10)は、フィルタ(21)を、すべてが画像のそれぞれ同一座標上に存在する又は中間結果のそれぞれ同一座標上に存在する画素のシーケンスに適用するように構成されている。フィルタ(21)のフィルタ係数は、量子化されている。本発明は、さらに、機械学習システム(10)を構成する方法、コンピュータプログラム及び装置に関する。【選択図】図2

Description

本発明は、量子化されたパラメータを有する機械学習システムに関する。さらに、本発明は、機械学習システムを構成する方法及びコンピュータプログラム並びに装置に関する。
背景技術
未公開の独国特許出願第102017218889.8号明細書は、1つ以上の入力変数を、内部処理チェーンによって1つ以上の出力変数に処理するように構成されている人工知能モジュールを開示している。この内部処理チェーンは、1つ以上のパラメータによって確定されている。ここでは、少なくとも1つの統計的分布に依存してパラメータを算出するように構成されている分布モジュールが想定されている。
未公開の独国特許出願第102018216471.1号明細書は、量子化されたニューラルネットワークを開示している。
量子化ニューラルネットワークを、大幅に強化した量子化によって構成することは、例えば、Hubaraらによる文献「Quantized neural networks:Training neural networks with low precision weights and activations: The Journal of Machine Learning Research, 2017, 18. Jg., Nr.1, S.6869-6898」に示されているように可能である。
独国特許出願第102017218889.8号明細書 独国特許出願第102018216471.1号明細書
Hubaraら著、「Quantized neural networks:Training neural networks with low precision weights and activations: The Journal of Machine Learning Research, 2017, 18. Jg., Nr.1, S.6869-6898」
リカレントニューラルネットワーク(recurrent neural networks;略してRNN)は、センサデータの時間的次元に含まれた情報も処理することができるという利点を有する。ただし、RNNの欠点は、量子化を強化することができないことにある。
しかしながら、RNNを、モバイルコンピュータユニット上でより効率的に動作させることができるようにするために、RNNのパラメータを量子化することが望ましい。
独立請求項1によれば、RNNの代わりに、時間的畳み込みによるニューラルネットワークの使用が提案される。これには、次のような利点がある。即ち、これらのニューラルネットワークが、複雑な計算の畳み込みにもかかわらず自身のパラメータの量子化の際に、上記のRNNの利点を維持しつつも同等のRNNよりも驚くほどエネルギーの節約ができるようになるということである。
発明の開示
第1の態様においては、逐次処理/時系列処理のための特にメモリ効率及びエネルギー効率に優れた機械学習システムが提案される。
請求項1に記載の特徴を有する機械学習システム、特にニューラルネットワークは、少なくとも1つのフィルタを含み、ここでは、少なくともフィルタのフィルタ係数が量子化されている。フィルタ係数の他に、機械学習システムのさらなるパラメータが量子化されていることも考えられる。代替的又は付加的に、少なくとも活性化が量子化されてもよいであろう。この活性化の量子化は、活性化の数値が機械学習システムのパラメータ(例えば、重み)の数値を上回った場合に有意になり得る。
この機械学習システムは、フィルタを使用して入力変数に依存して出力変数を算出するように構成されている。入力変数は、画像の時間的シーケンスを含む。代替的に、時間的に順次連続して検出された複数の変数、例えば一次元センサデータなどを使用することができる。機械学習システムは、さらに、フィルタを、すべてが画像のそれぞれ同一座標上に存在する、又は、機械学習システムの中間結果の、特に中間処理された画像のそれぞれ同一座標上に存在する画素のシーケンスに適用するように構成されている。画像の代わりに検出された変数が使用されるケースについては、フィルタは、それぞれ同一の位置に存在する、検出された変数又は中間結果のデータ点に適用される。これらの中間結果は、例えば、ニューラルネットワークの活性化層である。
また、フィルタ係数及び好適には機械学習システムのさらなるパラメータが、それぞれ、予め定められ量子化された値範囲からの値を有することも考えられる。この予め定められ量子化された値範囲は、量子化レベルの予め定められた数によって、及び/又は、ビットの予め設定された数によって定められてもよい。
量子化とは、フィルタ係数が10進表記の量子化値であること、好ましくは、浮動小数点、固定小数点又は整数の記数形式の量子化値のみであることを想定することができることを意味するものと理解されたい。好適には、フィルタ係数は、最大で32ビット、特に最大で16ビット又は8ビット、好適には4ビット又は1ビットで量子化されている。さらに、量子化とは、フィルタ係数が、予め定められた複数の量子化レベルのすぐ次の量子化レベルに切り上げられたこと又は切り捨てられたことを意味するものと理解されたい。したがって、フィルタ係数は、それぞれ複数の量子化レベルの値を有し、この場合、これらの値はメモリに格納されている。これについて、好適には、量子化レベルは、メモリ効率に優れた手法で格納することができる。量子化レベルの数は、量子化に使用されたビットの数に依存している。代替的に、そのパラメータを学習の際に完全な分解能で適応化させ、これに続いて量子化させるように学習させた機械学習システムで量子化することも可能である。
予め設定可能に量子化される値範囲は、リストであってもよい。フィルタ係数が低減された分解能を有することも考えられ、その場合、分解能は、量子化を用いて低減されている。
解像度は、それぞれがパラメータ及び/又は中間結果を表す、種々異なって可能な複数の特に量子化された値を用いて特徴付けることが可能である。
フィルタの適用とは、すべてが同一座標を有するデータ点又はセクションを用いて数学的に畳み込みされることを意味するものと理解されたい。
第1の態様による機械学習システムは、量子化によって、フィルタ係数の記憶のためにより少ないビットしか必要なく、結果として、より少ないメモリスペースしか必要なくなるという利点を有する。これにより、ハードウェアにおける機械学習システムのよりコンパクトな構造形式を可能にする、より小さなメモリを使用することができるようになる。パラメータ及び活性化の記憶と読み取りのためのエネルギー消費量は、ビットの数に比例し、乗算についてはパラメータ及び活性化の分解能(ビットの数)に対して少なくとも二次的であるため、特に量子化によるビットの数の低減は、特にコンピュータのリソース効率に優れる。機械学習システムがソフトウェアで実現されている場合であっても、より少ないメモリしか必要ないため、これらの利点が活用される。
例えば、画像などの高分解能の入力変数の他に、フィルタは、エネルギー消費量に対して最大の影響を有しているので、フィルタの量子化は有利である。というのも、その結果として生じるコンピュータリソースに優しい取り扱いにより、この機械学習システムは、据え置き型の適用(例えば、中央コンピュータなど)にも移動型の適用(例えば、モバイルデータ処理装置又は組み込みシステムなど)にも使用可能である。この種の量子化された機械学習システムは、特に、センサ近傍又はセンサ自体において測定されたデータを処理するのに適している。これにより、測定されたデータを帯域幅効率に優れた手法により圧縮及び伝送することができる。
画像は、Lidar画像、レーダ画像、超音波画像、又は、カメラ画像であるものとしてもよい。
入力変数は、複数の検出された変数又は画像のシーケンスを含むテンソルであることが提案される。検出された変数又は画像は、テンソルの一次元に沿って配置されている。次いで、フィルタは、少なくとも一次元に沿って適用される。それゆえ、時間的シーケンスを特徴付ける一次元に沿ったフィルタの適用は、時間的畳み込みとも称される。
この機械学習システムの利点は、時間軸に沿って含まれている情報も、時間的フィルタリングによってともに処理されることにある。これにより、この機械学習システムは、回帰特性を有するが、ただし、典型的には量子化を強化することができない回帰型結合は不要である。それにもかかわらず、量子化されたフィルタにより、RNNを用いた場合よりも効率に優れた入力変数のシーケンスの処理が達成される。
さらに、フィルタは、多次元であり、機械学習システムはさらに、フィルタを、すべてが画像のそれぞれ同一座標上に存在する、又は、中間結果のそれぞれ同一座標上に存在するセクションのシーケンスに適用するように構成されていることが提案される。
1つのセクションは、検出された変数又は画像又は中間結果のそれぞれ座標上に存在する複数のデータ点又は画素を含む。これらのセクションは、一次元/多次元であってもよく、それに応じてフィルタの次元の数を選択する必要がある。それにより、すべてが一次元に沿って、特にそれに平行に存在する複数の画素又はデータ点は、一次元に沿ったフィルタリングの際に付加的に考慮される点に留意されたい。
例えば、セクションは、線又は矩形であってもよい。画像の内部においては、セクションの様々な配向、例えば、垂直線又は水平線又は対角線などが考えられる。
また、機械学習システムは、さらに付加的に、フィルタを、それぞれが画像の内部の異なる座標上に存在する又はそれぞれが中間結果の内部の異なる座標上に存在するさらなるセクションのシーケンスに適用するように構成されていることが提案される。
ここでの利点は、フィルタの付加的な適用を用いることにより、付加的情報がそれぞれ検出された変数に沿って出力変数に導入される点にある。即ち、このフィルタは、テンソルのさらなる次元に適用される。このことは、時間的畳み込み及び空間的畳み込みとも称される。
さらに、フィルタ係数の他に、機械学習システムの中間結果、特に活性化も量子化されていることが提案される。
さらに、中間結果が、予め定められ量子化された値範囲又はさらなる予め定められ量子化された値範囲からのそれぞれ1つの値を有することも考えられる。
さらに、フィルタ係数及び/又は中間結果は、2進数又は3進数であることも提案される。この提案のもとでは、それぞれのフィルタ係数及び/又は中間結果は、最大で2つ又は3つの異なる値をとり得ることが考えられる。好適には、これらの異なる値は、最大で1つ又は2つのビットを用いて表される。理想的には1つのビットによってである。なぜなら、そうすることによって、特に計算効率及びメモリ効率に優れたバイナリニューラルネットワークが存在するからである。
さらに、フィルタは、個々のデータ点を、フィルタリングの際に、特に時間的次元に沿って省略することが提案される。このことは、より少ないフィルタ係数を用いて、より大きなフィルタの視野を達成することができ、ひいてはさらに過去に遡ってみることができるという利点を有する。
さらに、機械学習システムは、フィルタの直後に配置されているプーリング演算(pooling)を含むことが提案される。
このプーリング演算とは、個々のフィルタリングされたデータ点又はフィルタリングされた画素が無視されること、特に拒否されることを意味するものと理解されたい。好適には、クラスターの内部のデータ点が無視され、それらの値は、ゼロ近傍に存在する局限的プーリング(local pooling)が使用される。代替的に、平均的プーリング(average pooling)も使用することができる。
さらに、画像又は検出された変数は、予め設定可能な順序で相前後して、特に画像又は検出された変数のそれぞれ検出された時点に依存して配置されていることが提案される。好適には、この配置は、検出の時点の後に上昇/下降するように行われる。
機械学習システムは、専らハードウェアにおいても、ソフトウェアにおいても、又は、ソフトウェア及びハードウェアからなる混合形態においても、実現することができる点に留意されたい。これにより、それぞれパラメータを格納するためのわずかなメモリを準備すればよく、そのため、本発明の第1の態様による機械学習システムは、最小の技術システムにも組み込んで使用することが可能である。
本発明の第2の態様においては、本発明の第1の態様の機械学習システムを動作させる、特にコンピュータで実現される方法が提案される。この方法は、複数の検出された変数を、機械学習システムの入力変数に対してグループ化するステップと、続いて、フィルタを使用して出力変数を入力変数に依存して算出するステップと、を含む。ここでは、機械学習システムのフィルタが使用され、特に、入力変数又は中間結果の時間的フィルタリングが実施される。
本発明の第2の態様については、画像は、それぞれ直接後続する時点で相前後して検出されることが提案される。次いで、出力変数が算出された場合、新たに検出された画像が入力変数に追加され、含まれている画像のうちの1つ、特に時間的に最も長く含まれていた画像が入力変数から削除される。
好適には、入力変数の画像は、テンソルの一次元に沿った位置だけシフトされ、ここで、新たに検出された画像は空きになった箇所に追加され、入力変数の最も過去に検出された画像はテンソルから削除される。
さらに、変数、特に画像は、それぞれの変数が検出された時点のシーケンスのそれぞれ1つの時点に割り当てられており、ここで、各時点において新たな変数が検出され、この新たに検出された変数は、直接先行する時点において検出された変数の他に、当該入力変数に追加され、最も過去の時点に割り当てられている検出された変数が当該入力変数から削除される。
本発明のさらなる態様においては、第1の態様の機械学習システムを学習させる方法が提案されている。この学習は、少なくともトレーニングデータを提供するステップを含む。これらのトレーニングデータは、少なくとも複数の画像シーケンス又は検出された変数の時系列を含む。これに続いて、それぞれ少なくとも1つの出力変数を、画像シーケンス又は時系列の各々に対して算出するステップが追従する。これに続いて、損失関数を、算出された出力変数及びトレーニングデータに依存して算出するステップが追従する。引き続き、機械学習システムのパラメータを、損失関数に依存して適応化させ、それによって、損失関数が予め設定可能な基準に関して最適にされるステップが追従する。これに続いて、パラメータ、特にフィルタ係数を量子化するステップが追従する。
好適には、量子化は最初から使用され、これを考慮に入れて、機械学習システムは、学習する。
さらなる態様においては、第1の態様の機械学習システム又は第2の態様に従って生成された機械学習システムは、検出されたセンサ変数、特にセンサの画像に依存して、出力変数を算出することができ、当該出力変数は、これに続いて制御ユニットを用いた制御変数の算出に用いられる。
この制御変数は、技術システムのアクチュエータの制御に使用することができる。この技術システムは、例えば、少なくとも半自律型の機械、少なくとも半自律型の車両、ロボット、ツール、工作機械、又は、ドローンなどの自律的な飛行物体であってもよい。入力変数は、例えば、検出されたセンサデータに依存して算出することができ、機械学習システムに提供することができる。これらのセンサデータは、技術システムのセンサ、例えば、カメラなどによって検出することができ、代替的に外部から受信することができる。
さらなる態様においては、コンピュータプログラムが提案される。このコンピュータプログラムは、本発明の第2の態様の前述した方法の1つを実施するように構成されている。このコンピュータプログラムは、当該コンピュータプログラムがコンピュータ上で実行されるときに、コンピュータにこれらの前記方法の1つをそのすべてのステップについて実施させるための命令を含む。さらに、コンピュータプログラムが記憶されている機械可読メモリモジュールが提案される。
上述の態様の実施例は、添付の図面に示されており、以下に続く明細書において、より詳細に説明される。
例えばそれぞれ時系列を処理するための2つの異なるニューラルネットワークに対する量子化分解能に関してプロットされたエネルギー消費量の概略図。 時間的畳み込み用のフィルタを含むディープニューラルネットワークの概略図。 時間的畳み込みの概略図。 時間的畳み込み用のフィルタを含むニューラルネットワークを動作させる方法のフローチャートの概略図。 ロボット用の時間的畳み込み用のフィルタを含むニューラルネットワークの使用の概略図。
図1は、時間的フィルタリング(NN−temp)を用いてニューラルネットワークの測定されたエネルギー消費量E及びRNNの測定されたエネルギー消費量Eが、量子化分解能Qに関してプロットされている線図の概略図を示している。ここでは、2つのネットワークが同一のデータセット上において類似の結果を得るように留意した。y軸は、エネルギー消費量Eを表し、このエネルギー消費量Eは、線図の原点において最も低く、原点からの距離の増加に伴って増加する。x軸には、線図の原点の方向において増加する量子化分解能Qがプロットされている。即ち、原点に近いほど、量子化分解能、特にパラメータを表すビットの数が高くなる。以下では、高い量子化分解能用の時間的フィルタリング(NN−temp)を備えたニューラルネットワークが、同等の量子化分解能のもとでの同等のRNNよりも大幅に増加したエネルギー消費量を有している例示的なケースを検討する。
2つのニューラルネットワークのパラメータの分解能が低減すると、2つのニューラルネットワークのエネルギー消費量もそれぞれ減少する。2つのニューラルネットワークの結果の品質が実質的に不変のまま維持されるという条件のもとで、時間的フィルタリング(NN−temp)を用いたニューラルネットワークの最小の量子化分解能を、RNNの最小の量子化分解能と比較すると、時間的フィルタリング(NN−temp)を用いたニューラルネットワークの最小の量子化分解能は、RNNの最小の量子化分解能よりも大幅に低減していることが顕著である。このことは、時間的フィルタリング(NN−temp)を用いたニューラルネットワークが、強化された量子化に基づいて、RNNよりも少ないエネルギーを使用することに結び付く。
図2は、機械学習システム10、特にディープニューラルネットワークの概略図を示している。この機械学習システム10は、予め設定可能な順序で互いに接続された複数の層11を含む。この機械学習システム10は、入力変数12に依存して出力変数yを算出する。
機械学習システム10は、出力変数yとして、入力変数12の画像の1つ又は最も新しく検出された画像の1つの分類、セグメント化を出力することができる。代替的に、出力変数yは、回帰型であってもよい。
入力変数12は、この実施例においては、テンソルである。このテンソルは、相前後して検出された複数の画像13を含む。これらの画像は、ここでは、テンソルの一次元に沿って配置されている。
これらの層は、完全に接続された(fully connected)層であるものとしてもよく、ここで、これらの層の少なくとも1つは、時間的フィルタリングを実施するように構成されている。機械学習システムによる入力変数12の伝播の際には、時間的フィルタリングが使用される。この時間的フィルタリングは、以下に続く図3において、より詳細に説明される。
図3は、時間的畳み込み、換言すれば時間的フィルタリングの概略図を示している。
図3に示されているテンソル20は、機械学習システム10の入力変数12又は中間変数であるものとしてもよい。この中間変数は、例えば、層11のうちの1つの出力変数である。
テンソル20の左下には、座標系23が概略的に示されている。この座標系23は、例示的に3つの次元h,t,wを含み、これらの次元h,t,wに沿ってテンソル20は延在する。画像13は、「時間的」次元tに沿って相前後してテンソル20内に配置されている点に留意されたい。次元h及びwは、例示的な空間的次元であり、これらの次元内に画像13は延在する。
ここでは、フィルタ21を用いて、テンソル20が時間的にフィルタリングされる。このことは、「時間的」次元tに沿ったフィルタが、テンソル20に沿ってフィルタリングを実施することによって行われる。テンソル20を用いたフィルタ21の時間的畳み込み、特に時間的畳み込みの例示的な経過は、破線の矢印22に基づいて概略的に示されている。
時間的フィルタリングは、代替的に、さらなるフィルタ21a,21b,21cのうちの1つを用いて実施することができる。さらなるフィルタは、それらが複数の異なる次元を有しているという点で互いに異なる。例えば、さらなるフィルタ21cは、3次元フィルタである。テンソル20を用いた3次元フィルタ21cの畳み込みの可能な経過は、3次元フィルタ21cに隣接する破線の矢印22bによって例示的に示されている。テンソル20を用いた3次元フィルタ21cのフィルタリングは、畳み込みが破線の矢印22bに応じて実施される場合、時間的フィルタリングも空間的フィルタリングも表す点に留意されたい。
図4は、機械学習システム10を動作させる方法の概略的フローチャートを示している。
第1の実施形態においては、この方法は、ステップS40において開始される。このステップにおいては、入力変数12が、機械学習システム10に提供される。
それに続くステップS41においては、提供された入力変数12が機械学習システム10によって伝搬される。この伝搬の際に、入力変数12か又は機械学習システム10の中間変数が、フィルタ21を用いて時間的にフィルタリングされる(図3に対する説明を参照)。このフィルタは、量子化フィルタ係数を有する。好適には、機械学習システム(10)のすべてのさらなるパラメータも同様に量子化されている。
それに続くステップS42においては、機械学習システムの出力変数が出力される。
これに続いて、後続のステップS43においては、新たな画像が検出され、入力変数12に追加され、入力変数12の含まれる画像が入力変数12から削除される。
これに続いて、この方法は、そのすべてのステップS40乃至S43を繰り返し実施する。
機械学習システム10を動作させる方法のさらなる実施形態においては、ステップS40乃至S43は、機械学習システム10の学習のために使用される。この学習の際、ステップS43の後で付加的に、損失関数(loss function)に依存して機械学習システムのパラメータが最適化される。この損失関数は、この場合、機械学習システム10の算出された出力変数と、それぞれ使用された入力変数の割り当てられたトレーニング出力変数との間の偏差を特徴付ける。出力変数の算出の際には、既に量子化されたパラメータを使用することができる。機械学習システムのパラメータを介した損失関数の最適化は、例えば「逆伝搬(スルー時間)」などの例えば勾配降下法を用いて実施することができる。この場合、この勾配降下法は、パラメータに依存して損失関数を最小化又は最大化するために使用される。パラメータが最適化された後においては、当該パラメータ、特にフィルタ係数が量子化される。好適には、パラメータの最適化のために、少なくとも32ビットのパラメータの分解能が使用される。次いで、量子化の際に分解能は、例えば、8ビット又は1ビットにまで低減される。
機械学習システム10を動作させる方法の第1の実施形態の発展形態においては、ステップS43の終了後、任意選択的に、機械学習システム10の出力変数を、この出力変数に依存して少なくとも半自律型のロボットを駆動制御するために使用することができる。この少なくとも半自律型のロボットは、以下の図5において例示的に示されている。
図5は、第1の実施例において少なくとも半自律型の車両100によって提供されている少なくとも半自律型のロボットの概略図を示している。さらなる実施例においては、少なくとも半自律型のロボットは、サービス、取り付け、又は、定常的な製造ロボット、代替的には、例えば、ドローンなどの自律的な飛行物体であってもよい。
少なくとも半自律型の車両100は、検出ユニット30を含み得る。この検出ユニット30は、例えば、車両100の周辺環境を検出するカメラであってもよい。検出ユニット30は、機械学習システム10に接続されてもよい。機械学習システム10は、例えば、検出ユニット30によって提供された入力変数に依存して、及び、機械学習システム10の複数のパラメータに依存して出力変数を算出する。これらの出力変数は、制御ユニット40に転送することができる。
制御ユニット40は、機械学習システム10の出力変数に依存してアクチュエータを制御し、好適には、これによって車両100が衝突のない操縦を実施するようにアクチュエータを制御する。第1の実施例においては、アクチュエータは、車両100のモータ又はブレーキシステムであってもよい。
さらなる実施例においては、半自律型のロボットは、工具、工作機械又は製造ロボットであるものとしてもよい。ワークピースの材料は、機械学習システム10を用いて分類することができる。アクチュエータは、ここでは、例えば、研削ヘッドを駆動するモータであってもよい。
さらに、車両100、特に半自律型のロボットは、計算ユニット50及び機械可読メモリ要素60を含む。このメモリ要素60上には、計算ユニット50上において命令が実行されるときに、当該計算ユニット50を用いて機械学習システム10を動作させるための命令を含むコンピュータプログラムが記憶されているものとするとよい。

Claims (13)

  1. 機械学習システム(10)、特に、畳み込み層を備えたディープニューラルネットワークであって、
    少なくとも1つのフィルタ(21)を含み、
    前記機械学習システム(10)は、前記フィルタ(21)を使用して入力変数(12)に依存して出力変数を算出するように構成されており、
    前記入力変数(12)は、画像の時間的シーケンスを含み、
    前記機械学習システム(10)は、すべてが前記画像のそれぞれ同一座標上に存在する又は前記機械学習システム(10)の中間結果のそれぞれ同一座標上に存在する画素のシーケンスに、前記フィルタ(21)を適用するように構成されており、
    前記フィルタ(21)のフィルタ係数は、量子化されている、
    機械学習システム(10)。
  2. 前記フィルタ(21)は、多次元であり、前記機械学習システム(10)は、前記フィルタ(21)を、すべてが前記画像のそれぞれ同一座標上に存在する又は前記中間結果のそれぞれ同一座標上に存在するセクションのシーケンスに適用するように構成されている、
    請求項1に記載の機械学習システム(10)。
  3. 前記機械学習システム(10)は、さらに付加的に、前記フィルタ(21)を、それぞれが前記画像の内部の異なる座標上に存在する又はそれぞれが前記中間結果の内部の異なる座標上に存在するさらなるセクションのシーケンスに適用するように構成されている、
    請求項2に記載の機械学習システム(10)。
  4. 前記フィルタ係数の他に、前記中間結果も、量子化されている、
    請求項1から3までのいずれか1項に記載の機械学習システム(10)。
  5. 前記フィルタ係数及び/又は前記中間結果は、2進数又は3進数である、
    請求項4に記載の機械学習システム(10)。
  6. 前記フィルタ(21)は、前記フィルタ(21)の使用の際に、前記画像又は中間結果の個々の画素を省略するように構成されている、
    請求項1から5までのいずれか1項に記載の機械学習システム(10)。
  7. 前記機械学習システム(10)は、前記フィルタ(21)の直後に配置されているプーリング演算(pooling)を含む、
    請求項1から6までのいずれか1項に記載の機械学習システム(10)。
  8. 前記画像は、予め定められた順序で相前後して配置されており、前記フィルタ(21)は、それぞれが同一座標上に存在する画素又はセクションのシーケンスに適用され、前記シーケンスの画素又はセクションは、前記順序で配置されている、
    請求項1から7までのいずれか1項に記載の機械学習システム(10)。
  9. 請求項1から8までのいずれか1項に記載の機械学習システム(10)を動作させる方法であって、
    画像のシーケンスを、前記機械学習システム(10)の入力変数に対してグループ化するステップと、
    フィルタ(21)を使用して出力変数を入力変数に依存して算出するステップと、
    を含む方法。
  10. 前記画像は、それぞれ直接後続する時点で相前後して検出され、次いで、出力変数が算出された場合、新たに検出された画像が入力変数に追加され、前記入力変数に含まれている画像のうちの1つ、特に時間的に最も長く含まれていた画像が前記入力変数から削除され、これに続いて、さらなる出力変数がフィルタを使用して前記入力変数に依存して算出される、
    請求項9に記載の方法。
  11. 請求項1から8までのいずれか1項に記載の機械学習システム(10)を学習させる方法であって、
    少なくとも複数の画像のシーケンスと割り当てられたトレーニング出力変数とを含むトレーニングデータを提供するステップと、
    それぞれ少なくとも1つの出力変数を、前記画像のシーケンスの各々に対して算出するステップと、
    損失関数を、算出された出力変数と前記トレーニング出力変数とに依存して算出するステップと、
    前記機械学習システム(10)のパラメータを、損失関数に依存して適応化させ、それによって、前記損失関数が予め設定可能な基準に関して最適にされるステップと、
    前記機械学習システム(10)のパラメータ、特にフィルタ係数を量子化するステップと、
    を含む方法。
  12. コンピュータを用いて命令を実行させるときに、当該コンピュータに請求項9乃至11のいずれか一項に記載の方法を実施させるために構成されている命令を含むコンピュータプログラム。
  13. 請求項12に記載のコンピュータプログラムが記憶されている機械可読メモリ要素。
JP2020081985A 2019-05-08 2020-05-07 機械学習システム、並びに、機械学習システムを構成する方法、コンピュータプログラム及び装置 Active JP7493380B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019206621.6 2019-05-08
DE102019206621.6A DE102019206621A1 (de) 2019-05-08 2019-05-08 Maschinelles Lernsystem, sowie ein Verfahren, ein Computerprogramm und eine Vorrichtung zum Erstellen des maschinellen Lernsystems

Publications (3)

Publication Number Publication Date
JP2020184341A true JP2020184341A (ja) 2020-11-12
JP2020184341A5 JP2020184341A5 (ja) 2023-08-29
JP7493380B2 JP7493380B2 (ja) 2024-05-31

Family

ID=

Also Published As

Publication number Publication date
KR20200130153A (ko) 2020-11-18
US20200356845A1 (en) 2020-11-12
CN111914990A (zh) 2020-11-10
DE102019206621A1 (de) 2020-11-12
US11790218B2 (en) 2023-10-17
EP3736742A1 (de) 2020-11-11

Similar Documents

Publication Publication Date Title
KR102302725B1 (ko) 룸 레이아웃 추정 방법들 및 기술들
US11331800B2 (en) Adaptive predictor apparatus and methods
KR102023149B1 (ko) 로봇 파지를 위한 심층 기계 학습 방법 및 장치
EP3319016B1 (en) Control systems using deep reinforcement learning
KR102068576B1 (ko) 합성곱 신경망 기반 이미지 처리 시스템 및 방법
KR102023588B1 (ko) 로봇 파지용 심층 기계 학습 방법 및 장치
US9008840B1 (en) Apparatus and methods for reinforcement-guided supervised learning
US11717959B2 (en) Machine learning methods and apparatus for semantic robotic grasping
Lee et al. SubFlow: A dynamic induced-subgraph strategy toward real-time DNN inference and training
US10853646B1 (en) Generating and utilizing spatial affordances for an object in robotics applications
Bai et al. Pointnet on fpga for real-time lidar point cloud processing
KR20200130153A (ko) 기계 학습 시스템, 그리고 기계 학습 시스템을 생성하기 위한 방법, 컴퓨터 프로그램 및 장치
US20230333816A1 (en) Signal processing device, imaging device, and signal processing method
Hundhausen et al. Fast reactive grasping with in-finger vision and in-hand fpga-accelerated cnns
CN114298289A (zh) 一种数据处理的方法、数据处理设备及存储介质
JP7493380B2 (ja) 機械学習システム、並びに、機械学習システムを構成する方法、コンピュータプログラム及び装置
CN109542513B (zh) 一种卷积神经网络指令数据存储系统及方法
CN108376283B (zh) 用于神经网络的池化装置和池化方法
Permana et al. Hand movement identification using single-stream spatial convolutional neural networks
JP2018055570A (ja) 演算処理装置、演算処理方法及びプログラム
CN117377560A (zh) 在使用互补性约束进行避碰的情况下的物体操纵
CN114615505A (zh) 基于深度熵编码的点云属性压缩方法、装置和存储介质
CN110389649B (zh) 用于环境感知的训练方法和系统
US11938638B2 (en) Simulation driven robotic control of real robot(s)
CN116295356A (zh) 一种单目检测与测距方法、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230821

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240226

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240514