(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-16
(54)【発明の名称】ニューラルネットワークをトレーニングするための方法
(51)【国際特許分類】
G06N 3/08 20060101AFI20220208BHJP
G06N 20/00 20190101ALI20220208BHJP
【FI】
G06N3/08
G06N20/00 130
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021535840
(86)(22)【出願日】2019-11-28
(85)【翻訳文提出日】2021-06-18
(86)【国際出願番号】 EP2019082837
(87)【国際公開番号】W WO2020126378
(87)【国際公開日】2020-06-25
(31)【優先権主張番号】102018222347.5
(32)【優先日】2018-12-19
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】フランク シュミット
(72)【発明者】
【氏名】トルステン ザクセ
(57)【要約】
ニューラルネットワーク(60)をトレーニングするための、コンピュータ実装される方法であって、ニューラルネットワーク(60)は、特に、物理的な測定変数を分類するように構成されており、ニューラルネットワーク(60)は、トレーニングデータセット(X)によってトレーニングされ、トレーニングするために、入力信号(x)と、属する所望の出力信号(yT)とを含むペアをトレーニングデータセット(X)から抽出し、ニューラルネットワーク(60)のパラメータ(θ)の適合化を、入力信号(x)の供給時のニューラルネットワーク(60)の出力信号(y)に関連して、かつ、所望の出力信号(yT)に関連して行う。この方法は、ペアのこのような抽出を常にトレーニングデータセット全体(X)から行うことを特徴とする。
【特許請求の範囲】
【請求項1】
ニューラルネットワーク(60)をトレーニングするための、コンピュータ実装される方法であって、
前記ニューラルネットワーク(60)は、特に、物理的な測定変数を分類するように構成されており、
前記ニューラルネットワーク(60)を、トレーニングデータセット(X)によってトレーニングし、トレーニングするために、入力信号(x)と、属する所望の出力信号(y
T)とを含むペアを前記トレーニングデータセット(X)から抽出し、
前記ニューラルネットワーク(60)のパラメータ(θ)の適合化を、前記入力信号(x)の供給時の前記ニューラルネットワーク(60)の出力信号(y)に関連して、かつ、前記所望の出力信号(y
T)に関連して行う方法において、
ペアの前記抽出を常に前記トレーニングデータセット全体(X)から行う、
ことを特徴とする方法。
【請求項2】
前記トレーニングの過程において以前にいずれのペアが抽出されたかに関係なく、ペアの前記抽出を行う、請求項1に記載の方法。
【請求項3】
抽出された前記ペアの前記入力信号(x)を拡張関数(α
i)により拡張する、請求項1又は2に記載の方法。
【請求項4】
前記拡張関数(α
i)を、前記入力信号(x)に関連する、提供される拡張関数(α)のセットから選択する、請求項3に記載の方法。
【請求項5】
ペアを前記トレーニングデータセット(X)からランダムに抽出する場合に、設定可能なペアが抽出される確率は、前記設定可能なペアの前記入力信号(x)の提供される拡張関数(α)の数(μ(α))に関連する、請求項4に記載の方法。
【請求項6】
前記パラメータ(θ)の前記適合化を、求められた勾配(g)に関連して行い、前記勾配(g)を求めるために、前記勾配(g)の推定値(m
1)を、連続的に増加する、前記トレーニングデータセット(X)から抽出されるペア(x
i,y
i)の数(n)を考慮することによって、前記勾配(g)の前記推定値(m
1)に関連する、設定可能な終了条件が満たされるまで改良する、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記設定可能な終了条件は、前記勾配(g)の前記推定値(m
1)の共分散行列(C)にも関連する、請求項6に記載の方法。
【請求項8】
前記設定可能な終了条件は、設定可能な信頼値(λ)に対する推定値(m
1)と共分散行列(C)とが、条件〈m
1,C
-1m
1〉≧λ
2を満たすか否かの条件を含む、請求項7に記載の方法。
【請求項9】
請求項1乃至8のいずれか一項に記載の方法を実施するように構成されているトレーニングシステム(140)。
【請求項10】
センサ(30)の出力信号(S)に関連して求められた、前記ニューラルネットワークの入力側に印加される入力信号(x)を分類するための、請求項1乃至8のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用。
【請求項11】
前記ニューラルネットワーク(60)の出力側に印加される、前記ニューラルネットワーク(60)の出力信号(y)に関連して、アクチュエータ(10)を駆動制御するための駆動制御信号(A)を提供するための、請求項1乃至8のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用。
【請求項12】
前記駆動制御信号(A)に関連してアクチュエータ(10)が駆動制御される、請求項11に記載された、請求項1乃至8のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用。
【請求項13】
請求項1乃至8又は請求項10乃至12のいずれか一項に記載の方法を実施するために構成されているコンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムが格納されている機械可読記憶媒体(46,146)。
【請求項15】
第1のフェーズにおいて、前記ニューラルネットワーク(60)は、請求項1乃至8のいずれか一項に記載の方法によってトレーニングされ、続いて、請求項10乃至12のいずれか一項に従って使用される、ニューラルネットワーク(60)の使用方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークをトレーニングするための方法、トレーニングシステム、このようにトレーニングされたニューラルネットワークの使用、コンピュータプログラム及び機械可読記憶媒体に関する。
【背景技術】
【0002】
従来技術
「Improving neural networks by preventing co-adaptation of feature detectors」(arXiv preprint arXiv:1207.0580v1, Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, llya Sutskever, Ruslan R. Salakhutdinov (2012))から、トレーニング中に特徴検出器がランダムにスキップされる、ニューラルネットワークをトレーニングするための方法が既知である。ここでは、このような方法は、「ドロップアウト」という名称によっても知られている。
【0003】
「Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift」(arXiv preprint arXiv:1502.03167v3, Sergey loffe, Christian Szegedy (2015))から、ミニバッチ(英語で「mini-batch」)に対する、層への入力変数がトレーニング例によって正規化される、ニューラルネットワークをトレーニングするための方法が既知である。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「Improving neural networks by preventing co-adaptation of feature detectors」(arXiv preprint arXiv:1207.0580v1, Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, llya Sutskever, Ruslan R. Salakhutdinov (2012))
【非特許文献2】「Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift」(arXiv preprint arXiv:1502.03167v3, Sergey loffe, Christian Szegedy (2015))
【発明の概要】
【発明が解決しようとする課題】
【0005】
発明の利点
これに対して、独立請求項1の特徴を有する方法は、トレーニングされたシステムの保証可能な信頼性をもたらすという利点を有しており、これは、特に安全性が重要な用途にとって不可欠である。驚くべきことに、このような利点は、トレーニングの終了時に得られる、(例えば画像分類時の)パフォーマンスの低下を受け入れる必要なく、得られる。
【0006】
発展形態は、従属請求項に記載されている。
【0007】
発明の開示
十分に多いトレーニングデータを伴って、いわゆる「ディープラーニング」方法、即ち、(ディープ)人工ニューラルネットワークを、入力空間V
0と出力空間V
kとの間のマッピングを効率的に求めるために利用することができる。これは、例えば、センサデータ、特に画像データの分類、即ち、センサデータ又は画像データのクラスへのマッピングであるものとしてよい。これは、k-1個の隠れ空間V
1,…
,V
k-1を提供するアプローチに基づいている。さらに、k回のマッピングf
i:V
i-1→V
i(i=1…k)がこれらの空間の間に設定される。これらのマッピングf
iの各々は、通常、層(英語で「layer」)と称される。そのような層f
iは、典型的には、適当に選択された空間W
iによる重みw
i∈W
iによってパラメータ化されている。k個の層f
iの重みw
1,…
,w
kは、まとめて、重みw∈W:=W
1×…×W
kとも称され、入力空間V
0から出力空間V
kへのマッピングは、f
w:V
0→V
kと称され、これは、個々のマッピングf
i(添字として明示的に示される重みw
iを伴う)から
【数1】
として得られる。
【0008】
V
0×V
kに規定される所定の確率分布Dを伴う、ニューラルネットワークのトレーニングの課題は、コスト関数Lの予期値Φ
【数2】
が最小化されるように重みw∈Wを決定することである。ここで、コスト関数Lは、関数f
wによって求められた、入力変数x
Dの、出力空間V
k内の変数f
w(x
D)へのマッピングと出力空間V
k内の実際の出力変数y
Dとの間の距離に対する尺度を示す。
【0009】
「ディープニューラルネットワーク」は、少なくとも2つの隠れ層(英語で「hidden layer」)を有するニューラルネットワークと理解することができる。
【0010】
このような予期値Φを最小化するために、勾配に基づいた方法を使用することができ、これらの方法は、重みwに関して勾配∇Φを求める。このような勾配∇Φは、通常、トレーニングデータ(xj,yj)を使用して、即ち、∇wL(fw(xj,yj))によって近似化される。ここで、指数jは、いわゆるエポックから選択される。エポックは、ここでは、使用可能なトレーニングデータポイントのラベル{1,…,N}の順列である。
【0011】
いわゆるデータ拡張(拡張とも称される)を使用して、トレーニングデータセットを拡張することができる。ここでは、エポックからの各インデックスjに対して、ペア(xj,yj)の代わりに拡張されたペア(xa,yj)を選択することができ、入力信号xjが、拡張された入力値xa∈α(xj)によって置き換えられる。ここで、α(xj)は、入力信号xjの典型的なバリエーションのセット(入力信号xj自体を含む)であるものとしてよく、これは、入力信号xjの分類、即ち、ニューラルネットワークの出力信号を変化させない。
【0012】
しかし、このようなエポックに基づくサンプリングは、各データポイントがエポックの過程において厳密に1回選択されるので、方程式(1)の規定と完全には一致しない。これに対して、方程式(1)の規定は、独立して抽出されたデータポイントに基づいている。これは、方程式(1)が「戻すこと(Zuruecklegen)を伴う」データポイントの抽出を前提としているのに対して、エポックに基づくサンプリングは「戻すことを伴わない」データポイントの抽出を実行することを意味している。これによって、収束の数学的証明の前提条件が満たされないことが生じ得る(なぜなら、N個のデータポイントのセットからN個の例を抽出するので、これらのデータポイントの各々を厳密に1回抽出する確率が、
【数3】
より低くなるからである)。他方で、エポックに基づくサンプリングにおいては、このような確率は、常に1に等しい。
【0013】
データ拡張を使用する場合、セットα(xj)の要素が各エポックに存在しており、拡張関数αに応じて、i≠jの場合、α(xj)≒α(xi)が排除されることはないので、このような統計的な作用は、さらに高くなり得る。この場合には、セットα(xj)による拡張の統計的に正しいマッピングは困難である。なぜなら、この作用は、各入力データxjに対して等しく現れるはずがないからである。従って、例えば、回転は、円形の物体には作用しないが、一般的な対象物には非常に強く作用することがある。従って、セットα(xj)の大きさは、入力データxjに関連している可能性があり、これは、敵対的学習方法にとって問題になり得る。
【0014】
最後に、トレーニングデータポイントの数Nは、通常、設定するために労力がかかる変数である。Nの選択が大き過ぎると、トレーニング方法の実行時間が不当に長くなる可能性がある。また、Nの選択が小さ過ぎると、収束を保証することができない可能性がある。なぜなら、収束の数学的証明は、全般的に仮定に基づいており、これらの仮定が満たされていないからである。さらに、いずれの時点においてトレーニングが確実に終了されるべきなのかが明確ではない。ここで、データポイントの一部を評価データセットとして採用し、このような評価データセットを使用して収束の質を決定する場合、評価データセットのデータポイントに関して、重みwの過剰適合(英語で「over-fitting」)が生じ得る。これは、データ効率を低下させるだけでなく、これがこのトレーニングデータ以外に適用される場合に、ネットワークのパフォーマンスを低下させることがある。これは、いわゆる「一般化可能性」(英語で「generalizability」)の低下につながる可能性がある。
【0015】
過剰適合を低減させるために、冒頭に挙げた「ドロップアウト」方法を使用して、隠れ層に格納されている情報をランダムに間引くことができる。
【0016】
トレーニングプロセスの無作為化を改善するために、いわゆるバッチ正規化層(英語で「batch normalization layer」)を使用して、トレーニングプロセス中に確率的に更新される、いわゆるミニバッチ(英語で「mini batch」)を介して、統計パラメータμ及びσを導入することができる。推論の場合、これらのパラメータμ及びσの値は、固定的に設定可能な値として選択され、例えば、指数関数的減衰動作を外挿することによるトレーニングからの推定値として選択される。
【0017】
指数iを有する層がバッチ正規化層である場合、属する重みwi=(μi,σi)は、勾配降下の際に更新されない。即ち、これらの重みwiは、残余の層kの重みwkとは異なる方法により扱われる。これによって、実装がより複雑になる。
【0018】
さらに、ミニバッチの大きさは、全般的にトレーニング結果に影響を与えるパラメータであるため、例えば(場合によっては労力のかかる)アーキテクチャ検索の枠において、さらなるハイパーパラメータとして可能な限り良好に設定されなければならない。
【課題を解決するための手段】
【0019】
従って、第1の態様においては、本発明は、特に、物理的な測定変数を分類するように構成されているニューラルネットワークをトレーニングするための方法に関する。ここで、ニューラルネットワークは、トレーニングデータセットXによってトレーニングされ、トレーニングするために、入力信号と、属する所望の出力信号とを含むペアがトレーニングデータセットから(ランダムに)抽出される。ここで、ニューラルネットワークのパラメータの適合化が、入力信号及び所望の出力信号の供給時のニューラルネットワークの出力信号に関連して行われ、ここで、ペアのこのような抽出は、常にトレーニングデータセット全体から行われる。
【0020】
このような態様の有利な発展形態においては、トレーニングの過程において以前にいずれのペアが抽出されたかに関係なく、ペアの抽出が行われることが設定されている。
【0021】
言い換えると、トレーニングデータセットからのペア、即ち、データポイントのサンプリングは、「戻すことを伴う抽出」に相当する。これは、トレーニングデータセットのトレーニング例が「戻すことを伴わない抽出」によって抽出されるという、存在している範例に反する。このような「戻すことを伴う抽出」は、最初は不利に見える場合がある。なぜなら、所定数のトレーニング例内においてトレーニングデータセットからの総てのデータポイントが実際に使用されることを保証し得ないからである。
【0022】
これによって、トレーニングされたシステムの保証可能な信頼性がもたらされ、これは、特に安全性が重要な用途にとって不可欠である。驚くべきことに、このような利点は、トレーニングの終了時に得られる、(例えば画像分類時の)パフォーマンスの低下を受け入れる必要なく、得られる。さらに、ニューラルネットワークをトレーニングすることができるトレーニングシステムの他のサブブロックへのインタフェースが大幅に簡素化される。
【0023】
ここで、抽出されたペアは、任意選択的にさらに拡張されるものとしてよい。即ち、(ペアの構成要素としての)トレーニングデータセットに含まれている入力信号の一部又は全部に対して、入力信号が影響を受け得る拡張関数のセットを提供することができる。対応する拡張関数の選択は、同様にランダムに行われるものとしてよく、有利には、トレーニングの過程において以前にいずれのペア及び/又はいずれの拡張関数が抽出されたのかに無関係に行われるものとしてよい。
【0024】
発展形態においては、抽出されたペアの入力信号が拡張関数αiにより拡張されることが設定されるものとしてよい。即ち、入力信号が拡張関数の下で自身の画像によって置き換えられる。
【0025】
有利には、この場合には、拡張関数αiが、可能な拡張関数のセットαから、特にランダムに選択されることが設定されており、ここで、このようなセットは、入力信号に関連する。
【0026】
ここで、ペアがトレーニングデータセットからランダムに抽出される場合に、設定可能なペアが抽出される確率が、このような設定可能なペアの入力信号の可能な拡張関数αの数に関連することが設定されるものとしてよい。
【0027】
例えば、この確率は、設定可能な変数であるものとしてよい。特にこの確率は有利には、可能な拡張関数の数に比例するように選択される。これによって、相当数の拡張関数が入力信号を変更されないままにするため、拡張関数のセットの強大さ(即ち、セットの要素の数)が入力信号間において大きく異なる可能性があることを適切に考慮することができる。この適切な考慮によって、敵対的学習方法により発生する可能性のある問題が回避される。これは、次のように理解される:与えられた入力信号により、敵対的学習方法において、適当な拡張関数によって、敵対的入力信号が生成されるものとしてよく、この敵対的入力信号は、与えられた入力信号との間に、最大距離rよりも十分に短い距離を有する。相互の距離が短い(最大距離の半分未満)2つの入力信号が許可されている場合、敵対的入力信号のセットが重複する可能性があり、そのため、この重複が適切に考慮されていない場合、敵対的学習方法が過大評価される可能性がある。前述の方法は、これを解決する。
【0028】
発展形態のさらなる態様においては、パラメータの適合化が求められた勾配に関連して行われ、勾配を求めるために、勾配の推定値m1が、連続的に増加する、トレーニングデータセットから抽出されるペアの数を考慮することによって、勾配の推定値m1に関連する、設定可能な終了条件が満たされるまで改良されることが設定されるものとしてよい。
【0029】
これは、特に、パラメータの適合化が、設定可能な終了条件が満たされた後にはじめて行われることを意味する。
【0030】
これは、例えば、勾配が、設定可能なミニバッチにわたって常に平均化される確率的勾配降下法(英語で「stochastic gradient descent」)等の、従来技術の一般的な方法とは対照的である。このようなミニバッチは、ハイパーパラメータとして設定され得る、設定可能な変数を有している。トレーニングデータセットからペアを連続的に追加することによって、提案された方法においては、勾配が確実に上昇方向を指すまで、この算出を実行し続けることが可能である。
【0031】
さらに、ミニバッチのサイズは、最適化されるべきハイパーパラメータである。このような最適化を省略することができるため、この方法は、より効率的であり、かつ、より信頼性が高い。なぜなら、過剰適合をより効果的に抑制することができ、ハイパーパラメータとしてのバッチサイズが省略されるからである。
【0032】
特に、設定可能な終了条件が、勾配の推定値m1の共分散行列Cに関連するものとしてもよい。
【0033】
これによって、特に容易に、勾配が確実に上昇方向を指すことを保証することができる。
【0034】
例えば、設定可能な終了条件は、設定可能な信頼値λに対する推定値m1と共分散行列Cとが、条件〈m1,C-1m1〉≧λ2を満たすか否かの条件を含むものとしてよい。
【0035】
即ち、このような条件によって、確率的な終了基準が導入される。これによって、信頼値λの勾配が上昇方向を指すことを、設定可能な信頼度により保証することも可能になる。
【0036】
発展形態のさらなる態様においては、求められた勾配の成分が、ニューラルネットワークのいずれの層に、このような成分に対応するパラメータが属しているのかに関連してスケーリングされることが設定されるものとしてよい。
【0037】
このような関連においては、「スケーリング」は、求められた勾配の成分が、層に関連する係数により乗算されることと理解され得る。
【0038】
特に、スケーリングを、ニューラルネットワーク内のこのような層の位置、即ち、深さに関連して行うことができる。
【0039】
深さは、例えば、それを通って、ニューラルネットワークの入力層に供給される信号が、最初に入力信号としてこのような層に印加される前に伝播しなければならない層の数によって特徴付けられるものとしてよく、特に与えられるものとしてよい。
【0040】
発展形態においては、求められた勾配の対応する成分が特徴マップのいずれの特徴に属するのかにも関連してスケーリングが行われることが設定されるものとしてよい。
【0041】
特に、スケーリングが、このような特徴の受容野の大きさに関連して行われることが設定されるものとしてよい。
【0042】
特に、畳み込みニューラルネットワークにおいては、特徴マップの重みが、受容野の特徴の情報により累積的に乗算されることが認識されている。そのため、これらの重みに対して過剰適合が発生する可能性がある。これは、提案された方法によって効果的に阻止される。
【0043】
特に単純かつ効率的な代替案においては、このような層の分解能に関連してスケーリングが行われることが設定されるものとしてよい。特に、このような層の分解能と、入力層の分解能との商に関連して、スケーリングが行われる。
【0044】
これによって、受容野の大きさが極めて容易かつ効率的に近似されることが認識された。
【0045】
発展形態のさらなる態様においては、ニューラルネットワークがスケーリング層を含み、スケーリング層が、スケーリング層の入力側に印加される入力信号をスケーリング層の出力側に印加される出力信号にマッピングすることが設定されるものとしてよい。ここで、このようなマッピングは、出力側に印加される出力信号が、入力信号の再スケーリングされた信号であり、この再スケーリングを特徴付けるパラメータは、固定的に設定可能である。
【0046】
有利には、ここで、スケーリング層が、スケーリング層の入力側に印加される入力信号を、スケーリング層の出力側に印加される出力信号にマッピングすることが設定されるものとしてよく、ここで、このようなマッピングは、このようなマッピングが、球への投影に相当するように行われ、この球の中心c及び/又は半径ρは、固定的に設定可能であるものとしてよい。選択的に、このようなパラメータが、トレーニングの過程において、ニューラルネットワークの他のパラメータと同様に適合させられることも可能である。
【0047】
ここで、マッピングは、方程式
【数4】
によって得られるものとしてよく、これは、第1のノルム(N
1)と第2のノルム(N
2)とを伴う。ここでは、用語「ノルム」は、数学的な意味において理解されるべきである。
【0048】
特に効率的に計算される発展形態においては、第1のノルム(N1)と第2のノルム(N2)とが等しく選択されていることが設定されるものとしてよい。
【0049】
選択的又は付加的に、第1のノルム(N1)は、L∞ノルムであるものとしてよい。このようなノルムは、特に、第1のノルム(N1)と第2のノルム(N2)とが等しく選択されていない場合においても、同様に特に効率的に計算される。
【0050】
選択的に、ここで、第1のノルム(N1)は、L1ノルムであることが設定されるものとしてよい。第1のノルムのこのような選択は、スケーリング層の出力信号のスパース性(英語で「sparsity」)を促進する。これは、例えば、ニューラルネットワークの圧縮に有利である。なぜなら、値が0の重みは、自身の層の出力値に寄与しないからである。
【0051】
従って、そのような層を備えたニューラルネットワークを、特に圧縮方法に関連して、特にメモリ効率良く使用することができる。
【0052】
第1のノルム(N1)に対する、記載された変形において、有利には、第2のノルム(N2)は、L2ノルムであることが設定されるものとしてよい。これによって、これらの方法は、特に容易に実現される。
【0053】
特に有利には、ここでは、方程式
【数5】
が決定論的ニュートン方法によって解かれる。
【0054】
即ち、驚くべきことに、スケーリング層の入力側に、多くの重要な、即ち、強く重み付けされる特徴を備えた入力信号が印加される場合、これらの方法が特に効率的であることが判明した。
【0055】
本発明の実施形態を、以下において、添付の図面を参照してより詳細に説明する。
【図面の簡単な説明】
【0056】
【
図1】制御システムの実施形態の構造を概略的に示している。
【
図2】少なくとも部分的に自律的なロボットを制御するための実施例を概略的に示している。
【
図3】製造システムを制御するための実施例を概略的に示している。
【
図4】パーソナルアシスタントを制御するための実施例を概略的に示している。
【
図5】アクセスシステムを制御するための実施例を概略的に示している。
【
図6】監視システムを制御するための実施例を概略的に示している。
【
図7】医療用画像化システムを制御するための実施例を概略的に示している。
【
図8】トレーニングシステムを概略的に示している。
【
図9】ニューラルネットワークの構造を概略的に示している。
【
図10】ニューラルネットワーク内の情報の転送を概略的に示している。
【
図11】トレーニング方法の実施形態をフローチャートにより示している。
【
図12】勾配を推定するための方法の実施形態をフローチャートにより示している。
【
図13】勾配を推定するための方法の選択的な実施形態をフローチャートにより示している。
【
図14】推定された勾配をスケーリングするための方法の実施形態をフローチャートにより示している。
【
図15】ニューラルネットワーク内にスケーリング層を実装するための実施形態をフローチャートにより示している。
【
図16】トレーニングされたニューラルネットワークの動作方法をフローチャートにより示している。
【発明を実施するための形態】
【0057】
実施例の説明
図1は、アクチュエータ10を、制御システム40と相互作用する自身の周囲20内において示している。アクチュエータ10及び周囲20は、まとめてアクチュエータシステムとも称される。有利な一定の時間間隔で、アクチュエータシステムの状態がセンサ30によって検出される。この状態が、複数のセンサによって与えられるものとしてもよい。センサ30のセンサ信号S(又は、複数のセンサが存在する場合には、各センサ信号S)が、制御システム40に伝達される。従って、制御システム40は、一連のセンサ信号Sを受信する。制御システム40は、ここから、アクチュエータ10に伝送される駆動制御信号Aを求める。
【0058】
センサ30は、周囲20の状態を検出し、それをセンサ信号Sとして伝達する任意のセンサである。例えば、このセンサは、画像化センサ、特に画像センサ若しくはビデオセンサ等の光学センサ、又は、レーダセンサ、又は、超音波センサ、又は、LiDARセンサであり得る。これはまた、例えば、固体伝搬音又は音声信号を受信する音響センサであるものとしてもよい。同様に、センサは、位置センサ(例えばGPS等)又は運動学的センサ(例えば単軸加速度センサ又は多軸加速度センサ)であるものとしてよい。周囲20におけるアクチュエータ10の配向を特徴付けるセンサ(例えばコンパス)も可能である。周囲20の化学的な組成を検出するセンサ、例えばラムダセンサも可能である。選択的又は付加的に、センサ30が情報システムも含むものとしてよい。情報システムは、アクチュエータシステムの状態に関する情報を求める。情報システムは、例えば気象情報システムのように、周囲20の気象の現在又は将来の状態を求める。
【0059】
制御システム40は、任意選択的な受信ユニット50において、センサ30の一連のセンサ信号Sを受信し、受信ユニット50は、この一連のセンサ信号Sを一連の入力信号xに変換する(選択的に、各センサ信号Sが、直接的に入力信号xとして引き受けられるものとしてもよい)。入力信号xは、例えば、センサ信号Sの一部又はセンサ信号Sをさらに処理したものであってよい。入力信号xは、例えば、画像データ若しくは画像又はビデオ記録の個々のフレームを含み得る。言い換えれば、入力信号xは、センサ信号Sに関連して求められる。入力信号xは、ニューラルネットワーク60に供給される。
【0060】
ニューラルネットワーク60は、有利には、パラメータθによってパラメータ化される。これは、例えば、パラメータメモリPに格納されていて、ここから提供される重みwを含む。
【0061】
ニューラルネットワーク60は、入力信号xから出力信号yを求める。出力信号yは、典型的には、入力信号xの分類情報を符号化する。出力信号yは、任意選択的な変換ユニット80に供給される。変換ユニット80は、ここから駆動制御信号Aを求める。駆動制御信号Aは、アクチュエータ10に供給され、これにより、それに応じてアクチュエータ10を駆動制御することができる。
【0062】
ニューラルネットワーク60は、例えば、入力信号において、人物及び/又は道路標識及び/又は信号機及び/又は車両を検出する(即ち、これが存在しているか否かを分類する)ように、及び/又は、その種類を分類するように(これを、領域、特にピクセルごとのセマンティックセグメンテーションの形態において行うことができる)構成されるものとしてよい。
【0063】
アクチュエータ10は、駆動制御信号Aを受信し、それに応じて駆動制御され、対応する動作を実行する。アクチュエータ10は、ここで駆動制御信号Aから第2の駆動制御信号を求める駆動制御ロジック(これは必ずしも構造的に統合されている必要はない)を含むものとしてよく、第2の駆動制御信号によってアクチュエータ10が駆動制御される。
【0064】
さらなる実施形態においては、制御システム40は、センサ30を含む。他のさらなる実施形態においては、制御システム40は、選択的に又は付加的に、アクチュエータ10も含む。
【0065】
さらなる有利な実施形態においては、制御システム40は、1つ又は複数のプロセッサ45と、少なくとも1つの機械可読記憶媒体46とを含み、少なくとも1つの機械可読記憶媒体46には、プロセッサ45上において実行されるときに、制御システム40に、制御システム40の動作方法を実施させるための命令が格納されている。
【0066】
選択的な実施形態においては、アクチュエータ10に対して選択的又は付加的に、表示ユニット10aが設けられている。
【0067】
図2は、少なくとも部分的に自律的なロボット、ここでは、少なくとも部分的に自動化された自動車100を制御するために制御システム40が使用される実施例を示している。
【0068】
センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよく、有利には、自動車100内に有利に配置されている1つ又は複数のビデオセンサ、及び/又は、1つ又は複数のレーダセンサ、及び/又は、1つ又は複数の超音波センサ、及び/又は、1つ又は複数のLiDARセンサ、及び/又は、1つ又は複数の位置センサ(例えばGPS)であるものとしてよい。
【0069】
ニューラルネットワーク60は、入力データxから、例えば、少なくとも部分的に自律的なロボットの周囲にある物体を検出することができる。出力信号yは、少なくとも部分的に自律的なロボットの周囲のどこに物体が存在しているのかを特徴付ける情報であるものとしてよい。次に、出力信号Aが、このような情報に関連して、及び/又は、このような情報に対応して求められるものとしてよい。
【0070】
有利には自動車100内に配置されているアクチュエータ10は、例えば、自動車100のブレーキ、駆動装置又はステアリングシステムであるものとしてよい。ここで、例えば、ニューラルネットワーク60によって識別された物体との衝突を自動車100が阻止するように、1つ又は複数のアクチュエータ10が駆動制御されるように駆動制御信号Aが求められるものとしてよい。これは特に、これが、特定のクラスの物体、例えば歩行者である場合である。言い換えれば、駆動制御信号Aは、求められたクラスに関連して、及び/又は、求められたクラスに対応に求められるものとしてよい。
【0071】
選択的に、少なくとも部分的に自律的なロボットは、他の移動ロボット(図示せず)であるものとしてよく、これは例えば、飛行、泳ぎ、潜水又は歩行によって移動するロボットである。移動ロボットは、例えば、少なくとも部分的に自律的な芝刈り機又は少なくとも部分的に自律的な掃除ロボットであるものとしてよい。これらの場合においても、駆動制御信号Aは、次のように求められるものとしてよい。即ち、少なくとも部分的に自律的なロボットが、例えば、ニューラルネットワーク60によって識別された物体との衝突を阻止するように移動ロボットの駆動装置及び/又はステアリングシステムが駆動制御されるように求められるものとしてよい。
【0072】
さらなる代替案においては、少なくとも部分的に自律的なロボットは、画像化センサ30及びニューラルネットワーク60によって、周囲20の植物の種類又は状態を求める園芸ロボット(図示せず)であるものとしてもよい。この場合には、アクチュエータ10は、例えば、化学薬品のアプリケータであるものとしてよい。駆動制御信号Aは、求められた種類又は求められた状態に対応する量の化学物質が適用されるように、求められた種類又は植物の求められた状態に関連して求められるものとしてよい。
【0073】
他のさらなる代替案においては、少なくとも部分的に自律的なロボットは、家電製品(図示せず)であるものとしてよく、特に洗濯機、レンジ、オーブン、電子レンジ又は食器洗い機であるものとしてよい。センサ30、例えば光学センサによって、家電製品によって扱われる対象物の状態を検出することができ、例えば洗濯機の場合には、洗濯機内にある洗濯物の状態を検出することができる。ここで、このような対象物の種類又は状態が、ニューラルネットワーク60によって求められ、出力信号yによって特徴付けられるものとしてよい。ここで、駆動制御信号Aは、家電製品が、対象物の求められた種類又は求められた状態に関連して駆動制御されるように求められるものとしてよい。例えば、洗濯機の場合には、洗濯機内にある洗濯物がどのような材料によりできているかに関連して、これが駆動制御されるものとしてよい。この場合には、洗濯物の求められた材料に関連して、駆動制御信号Aが選択されるものとしてよい。
【0074】
図3は、製造システム200の製造機械11を駆動制御するために制御システム40が使用される実施例を示している。これは、このような製造機械11を制御するアクチュエータ10を駆動制御することによって行われる。製造機械11は、例えば、打ち抜き、鋸引き、穴あけ、及び/又は、切断のための機械であるものとしてよい。
【0075】
センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよく、有利には、例えば、製造物12の特性を検出する光学センサであるものとしてよい。製造機械11を制御するアクチュエータ10が、製造物12の求められた特性に関連して駆動制御されるものとしてよく、それによって、製造機械11が対応して、このような製造物12の後続の加工ステップを実行する。センサ30が、製造機械11によって加工された製造物12の特性を求め、それに関連して、後続の製造物のために製造機械11の駆動制御を適合させることも可能である。
【0076】
図4は、パーソナルアシスタント250を制御するために制御システム40が使用される実施例を示している。センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよい。センサ30は、有利には、ユーザ249の音声信号を受信する音響センサである。選択的又は付加的に、センサ30は、光信号、例えば、ユーザ249のジェスチャのビデオ画像を受け取るように構成されるものとしてもよい。
【0077】
センサ30の信号に関連して、制御システム40は、例えば、ニューラルネットワークがジェスチャ識別を実行することによって、パーソナルアシスタント250の駆動制御信号Aを求める。次に、このような求められた駆動制御信号Aがパーソナルアシスタント250に伝達され、従って、パーソナルアシスタント250が対応して駆動制御される。求められたこのような駆動制御信号Aは、特に、これが、ユーザ249による、推測される所望の駆動制御に対応するように選択されるものとしてよい。このような推測される所望の駆動制御は、ニューラルネットワーク60によって識別されたジェスチャに関連して求められるものとしてよい。次に、制御システム40は、推測される所望の駆動制御に関連して、パーソナルアシスタント250に伝達される駆動信号Aを選択することができ、及び/又は、推測される所望の駆動制御に対応して、パーソナルアシスタント250に伝達される駆動制御信号Aを選択することができる。
【0078】
対応するこのような駆動制御は、例えば、パーソナルアシスタント250がデータベースから情報を呼び出し、ユーザ249が享受可能なようにこれを再現することを含むものとしてよい。
【0079】
パーソナルアシスタント250の代わりに、家電製品(図示せず)、特に洗濯機、レンジ、オーブン、電子レンジ又は食器洗い機が、対応して駆動制御されるように設定されているものとしてもよい。
【0080】
図5は、アクセスシステム300を制御するために制御システム40が使用される実施例を示している。アクセスシステム300は、物理的なアクセスコントロール、例えばドア401を含み得る。センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよく、有利には、顔を検出するように構成されている(例えば、画像データ又はビデオデータを検出するための)光学センサであるものとしてよい。検出されたこのような画像は、ニューラルネットワーク60によって解釈されるものとしてよい。例えば、人物の同一性を求めることができる。アクチュエータ10は、錠であるものとしてよく、駆動制御信号Aに関連して、アクセスコントロールを解除する又は解除しない。例えば、ドア401を開放する又は開放しない。このために、駆動制御信号Aが、ニューラルネットワーク60の解釈に関連して、例えば、人物の求められた同一性に関連して選択されるものとしてよい。物理的なアクセスコントロールの代わりに、論理的なアクセスコントロールが設けられているものとしてもよい。
【0081】
図6は、監視システム400を制御するために制御システム40が使用される実施例を示している。この実施例は、アクチュエータ10の代わりに、制御システム40によって駆動制御される表示ユニット10aが設けられているという点において、
図5に示された実施例とは異なる。例えば、ニューラルネットワーク60によって、光学センサによって記録された物体が怪しいか否かを求めることができ、次に、この物体が表示ユニット10aによって色で強調表示されるように駆動制御信号Aを選択することができる。
【0082】
図7は、医療用画像化システム500、例えば、MRT装置、X線装置又は超音波装置を制御するために制御システム40が使用される実施例を示している。センサ30は、例えば、画像化センサによって提供されるものとしてよく、表示ユニット10aは、制御システム40によって駆動制御される。例えば、ニューラルネットワーク60によって、画像化センサによって記録された領域が目立っているか否かを求めることができ、次に、この領域が表示ユニット10aによって色で強調表示されるように駆動制御信号Aを選択することができる。
【0083】
図8は、トレーニング方法によってニューラルネットワーク60をトレーニングするためのトレーニングシステム140の実施例を概略的に示している。トレーニングデータユニット150は、ニューラルネットワーク60に供給される適当な入力信号xを求める。例えば、トレーニングデータユニット150は、トレーニングデータのセットが格納されているコンピュータ実装されたデータベースにアクセスし、例えば、トレーニングデータのセットから入力信号xをランダムに選択する。任意選択的に、トレーニングデータユニット150は、評価ユニット180に供給される、入力信号xに割り当てられた所望の又は「実際の」出力信号y
Tも求める。
【0084】
人工ニューラルネットワーク60は、自身に供給された入力信号xから、属する出力信号yを求めるように構成されている。これらの出力信号yは、評価ユニット180に供給される。
【0085】
評価ユニット180は、例えば、出力信号y及び所望の出力信号yTに関連するコスト関数(英語で「cost function」)Lによって、ニューラルネットワーク60のパフォーマンスを特徴付けることができる。パラメータθは、コスト関数Lに関連して最適化されるものとしてよい。
【0086】
さらなる有利な実施形態においては、トレーニングシステム140は、1つ又は複数のプロセッサ145と、プロセッサ145上において実行されるときに、制御システム140にトレーニング方法を実施させるための命令が格納されている少なくとも1つの機械可読記憶媒体146とを含む。
【0087】
図9は、例として、実施例においてはニューラルネットワークとして提供されるニューラルネットワーク60の可能な構造を示している。ニューラルネットワークは、複数の層S
1、S
2、S
3、S
4、S
5を含み、これによって、入力層S
1の入力側に供給される入力信号xから、出力層S
5の出力側に加えられる出力信号yが求められる。層S
1、S
2、S
3、S
4、S
5の各々は、ここで、各層S
1、S
2、S
3、S
4、S
5の入力側に印加される(場合によっては多次元の)入力信号x、z
1、z
3、z
4、z
6から、各層S
1、S
2、S
3、S
4、S
5の出力側に印加される(場合によっては多次元の)出力信号z
1、z
2、z
4、z
5、yを求めるように構成されている。そのような出力信号は、特に画像処理においては、特徴マップ(英語で「feature maps」)とも称される。ここでは、入力信号としてさらなる層に入る総ての出力信号が、それぞれ先行する層から直後の層に入るように、層S
1、S
2、S
3、S
4、S
5が配置されていることは必要不可欠ではない。代わりに、スキップ接続(英語で「Skip Connections」)又は回帰性の接続も可能である。当然、入力信号xが複数の層に入ること、又は、ニューラルネットワーク60の出力信号yが複数の層の出力信号から構成されることも可能である。
【0088】
出力層S5は、例えば、Argmax層(即ち、割り当てられた各入力値を備える複数の入力側から、それらの入力値の中で割り当てられた入力値が最大である入力側の標識を選択する層)によって提供されるものとしてよく、層S1、S2、S3のうちの1つ又は複数は、例えば畳み込み層によって提供されるものとしてよい。
【0089】
有利には、層S
4は、スケーリング層として構成されており、このスケーリング層は、スケーリング層(S
4)の入力側に印加される入力信号(x)が、スケーリング層(S
4)の出力側に印加される出力信号(y)にマッピングされるように構成されている。このマッピングは、出力側に加えられている出力信号(y)が入力信号(x)の再スケーリングであるように行われる。ここで、この再スケーリングを特徴付けるパラメータは、固定的に設定可能である。スケーリング層S
4が実行することができる方法の実施例は、
図15に関連して以下に記載されている。
【0090】
図10は、ニューラルネットワーク60内の情報の転送を概略的に示している。ここでは、ニューラルネットワーク60内の3つの多次元信号、即ち、入力信号x及びその後の特徴マップz
1、z
2が概略的に示されている。実施例においては、入力信号xは、
【数6】
個のピクセルの空間分解能を有しており、第1の特徴マップz
1は、
【数7】
個のピクセルの空間分解能力を有しており、第2の特徴マップz
2は、
【数8】
個のピクセルの空間分解能力を有している。実施例においては、第2の特徴マップz
2の分解能は、入力信号xの分解能よりも低いが、必ずしもそうではない。
【0091】
さらに、特徴、例えば、第2の特徴マップz2のピクセル(i,j)3が示されている。第2の特徴マップz2を第1の特徴マップz1から求める関数が、例えば、畳み込み層又は全結合層(英語で「fully connected layer」)によって表される場合、第1の特徴マップz1の複数の特徴が、このような特徴(i,j)3の値の算出に関与することも可能である。しかし、当然、第1の特徴マップz1の1つの特徴だけがこのような特徴(i,j)3の値の算出に関与することも可能である。
【0092】
ここで、「関与する」とは、有利には、第2の特徴マップz
2が第1の特徴マップz
1から求められる関数を特徴付けるパラメータの値と、第1の特徴マップz
1の値との組合せが、関与する特徴の値に特徴(i,j)
3の値が関連するように存在していることと理解することができる。これらの関与する特徴の全体は、
図10においては、領域Beとして示されている。
【0093】
領域Beの各特徴(i,j)2の算出に、入力信号xの1つ又は複数の特徴が順番に関与する。領域Beの特徴(i,j)2のうちの少なくとも1つの特徴の算出に関与する、入力信号xの総ての特徴のセットは、特徴(i,j)3の受容野rFと称される。言い換えれば、特徴(i,j)3の受容野rFは、特徴(i,j)3の算出に直接的又は間接的に(言い換えれば、少なくとも間接的に)関与する、入力信号xの総ての特徴を含む。即ち、それらの値は、特徴(i,j)3の値に影響を与え得る。
【0094】
図11は、実施形態に即した、ニューラルネットワーク60をトレーニングするための方法のフローをフローチャートにより示している。
【0095】
はじめに(1000)、入力信号xiと、各属する出力信号yiとから成るペア(xi,yi)を含むトレーニングデータセットXが提供される。学習率ηは、例えばη=1で初期化される。
【0096】
さらに、例えば、
図12に示される、方法のこの部分の実施例がステップ1100において使用される場合、任意選択的に、第1のセットG及び第2のセットNが初期化される。
図13に示される、方法のこの部分の実施例がステップ1100において使用される場合、第1のセットG及び第2のセットNの初期化を省略することができる。
【0097】
第1のセットG及び第2のセットNの初期化を次のように行うことができる。トレーニング方法の現在のエポックの過程において既に抽出されている、トレーニングデータセットXのペア(xi,yi)を含む第1のセットGは、空のセットとして初期化される。現在のエポックの過程においてまだ抽出されていない、トレーニングデータセットXのペア(xi,yi)を含む第2のセットNは、自身に、トレーニングデータセットXの総てのペア(xi,yi)が割り当てられることによって初期化される。
【0098】
ここで(1100)、パラメータθに関する特性変数Lの勾配gが、トレーニングデータセットXの入力信号x
iと、各属する出力信号y
iとから成るペア(x
i,y
i)によって推定される。即ち、g=∇
θLである。このような方法の実施例は、
図12及び
図13に関連して記載されている。
【0099】
次に(1200)、任意選択的に、勾配gのスケーリングが実行される。このような方法の実施例は、
図14に関連して記載されている。
【0100】
次に(1300)、任意選択的に、学習率ηの適合化が実行される。ここで、実行されるエポックの数を、設定可能なエポック数、例えば5によって除算することが可能である限り、学習率ηを、例えば、設定可能な学習率低減ファクタDη(例えば、Dη=1/10)だけ低減させることができる(即ち、η←η・Dη)。
【0101】
次に(1400)、パラメータθが求められ、場合によっては、スケーリングされた勾配g及び学習率ηによって更新される。例えば、パラメータθは、θ-η・gによって置き換えられる。
【0102】
次に(1500)、設定可能な収束基準によって、この方法が収束しているか否かがチェックされる。例えば、(例えば、最後の2つのエポックの間の)パラメータθの絶対的な変化に関連して、収束基準が満たされているか否かを判断することができる。例えば、最後の2つのエポック間の総てのパラメータθの変化に関するL2ノルムが、設定可能な収束しきい値よりも小さい場合、まさしく収束基準が満たされている可能性がある。
【0103】
収束基準が満たされていると判断された場合、パラメータθが学習されたパラメータとして引き受けられ、この方法は終了する。そうでない場合、ステップ1100に分岐して戻される。
【0104】
図12は、ステップ1100において勾配gを求めるための例示的な方法をフローチャートにより示している。
【0105】
最初に(1110)、トレーニングデータセットXのペア(xi,yi)の設定可能な数bsが、(戻すことを伴わずに)抽出され、即ち、選択され、バッチB(英語で「batch」)に割り当てられるべきである。この設定可能な数bsは、バッチサイズ(英語で「batch size」)とも称される。バッチBは、空のセットとして初期化される。
【0106】
さらに、バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)より大きいか否かがチェックされる(1120)。
【0107】
バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)の数より大きくない場合、bs個のペア(xi,yi)が、第2のセットNからランダムに抽出され(1130)、即ち、選択され、バッチBに追加される。
【0108】
バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)の数より大きい場合、その数がsにより示される、第2のセットNの総てのペアが抽出され(1140)、即ち、選択され、バッチBに追加され、残余のペア、即ち、bs-s個のペアが、第1のセットGから抽出され、即ち、選択され、バッチBに追加される。
【0109】
ステップ(1130)又は(1140)に続いて(1150)、総てのパラメータθに対して、任意選択的に、これらのパラメータθがこのようなトレーニング実行においてスキップされるべきか否かが判断される。このために、例えば、このような層のパラメータθがスキップされる確率が、各層(S1,S2,…,S6)に対して個別に確定される。例えば、このような確率は、第1の層(S1)に対しては50%であり、後続の層ごとに10%ずつ低減されるものとしてよい。
【0110】
次に、このような確定された各確率を使用して、各パラメータθに対して、それがスキップされるか否かが判断されるものとしてよい。
【0111】
バッチBの各ペア(xi,yi)について、ここで(1155)、任意選択的に、各入力信号xiが拡張されるか否かが判断される。拡張されるべき、対応する各入力信号xiに対して、拡張関数が有利にはランダムに選択され、入力信号xiに適用される。このように拡張された入力信号xiは、次に、元の入力信号xiに置き換わる。入力信号xiが画像信号である場合、拡張関数が、例えば、設定可能な角度だけの回転によって得られるものとしてよい。
【0112】
次に(1160)、バッチBの各ペア(xi,yi)に対して、対応する(かつ、場合によっては拡張された)入力信号xiが選択され、ニューラルネットワーク60に供給される。ニューラルネットワーク60のスキップされるべきパラメータθは、ここで、対応する出力信号を求めている間に非活性化される。これは、例えば、これらが一時的に値ゼロに設定されることによって行われる。ニューラルネットワーク60の対応する出力信号y(xi)は、対応するペア(xi,yi)に割り当てられる。出力信号y(xi)及び所望の出力信号yTとしてのペア(xi,yi)の各出力信号yiに関連して、それぞれコスト関数Liが求められる。
【0113】
次に(1165)、バッチBの総てのペア(xi,yi)に対して共通して、完全なコスト関数L=Σi∈BLiが求められ、スキップされるべきではない各パラメータθに対して、勾配gの対応する成分が、例えば、誤差逆伝播(英語で「backpropagation」)を用いて求められる。スキップされるべき各パラメータθに対しては、勾配gの対応する成分がゼロに設定される。
【0114】
次に、ステップ1000におけるチェックの際に、バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)の数より大きいことが確定されたか否かがチェックされる(1170)。
【0115】
バッチサイズbsが第2のセットN内に存在しているペア(xi,yi)の数より大きくないことが確定された場合、第1のセットGにバッチBの総てのペア(xi,yi)が追加され(1180)、第2のセットNから除去される。次に、第2のセットNが空であるか否かがチェックされる(1185)。第2のセットNが空の場合、新しいエポックが始まる(1186)。このために、第1のセットGは、空のセットとして再初期化され、第2のセットNは、トレーニングデータセットXの総てのペア(xi,yi)がそれに再び割り当てられることによって再初期化され、ステップ(1200)へと分岐する。第2のセットNが空でない場合、ステップ(1200)へと直接的に分岐させられる。
【0116】
バッチサイズbsが、第2のセットN内に存在しているペアの数(xi,yi)より大きいことが確定された場合、第1のセットGは、バッチBの総てのペア(xi,yi)がそれに割り当てられることによって再初期化され(1190)、第2のセットNは、トレーニングデータセットXの総てのペア(xi,yi)がそれに割り当てられることによって再初期化され、続いて、バッチB内にも存在しているペア(xi,yi)が除去される。続いて、新しいエポックが始まり、ステップ(1200)へと分岐させられる。これで、方法のこの部分は終了する。
【0117】
図13は、ステップ1100において勾配gを求めるためのさらなる例示的な方法をフローチャートにより示している。最初に、方法のパラメータが初期化される(1111)。次に、パラメータθの数学的空間が、Wにより表される。パラメータθがまた、np個の個別のパラメータを含む場合、この空間Wは、np次元の空間であり、例えば、
【数9】
である。反復カウンタnが値n=0に初期化され、次に、第1の変数m
1が、m
1=0∈Wとして(即ち、np次元のベクトルとして)設定され、第2の変数が、
【数10】
として(即ち、np×np次元の行列として)設定される。
【0118】
次に(1121)、ペア(x
i,y
i)がトレーニングデータセットXからランダムに選択され、場合によっては拡張される。これは、例えば、トレーニングデータセットXのペア(x
i,y
i)の各入力信号に対して、可能な拡張α(x
i)の数μ(α(x
i))が求められ、各ペア(x
i,y
i)に、位置変数
【数11】
が割り当てられるように行われ得る。次に、乱数φ∈[0;1]が均等に分散されて抽出されると、不等式のチェーン
【数12】
を満たす位置変数p
iを選択することができる。次に、属する指数iが、選択されたペア(x
i,y
i)を示し、入力変数x
iの拡張α
iが、可能な拡張α(x
i)のセットからランダムに抽出され、入力変数x
iに適用されるものとしてよい。即ち、選択されたペア(x
i,y
i)は、(α
i(x
i),y
i)によって置き換えられる。
【0119】
入力信号xiが、ニューラルネットワーク60に供給される。対応する出力信号y(xi)と、所望の出力信号yTとしてのペア(xi,yi)の出力信号yiとに関連して、対応するコスト関数Liが求められる。パラメータθに対して、これに関連する勾配dが、例えば誤差逆伝播によって求められ、即ち、d=∇θL(y(xi),yi)である。
【0120】
次に(1131)、反復カウンタn、第1の変数m
1及び第2の変数m
2が次のように更新される。
【数13】
【0121】
次に(1141)、共分散行列Cの成分C
a,bが
【数14】
として提供される。
【0122】
ここから、(ベクトル値の)第1の変数m
1によってスカラ積Sが形成される。即ち、
【数15】
である。
【0123】
方程式(8)を用いて、スカラ積Sを十分に正確に求めるために、共分散行列C又は逆行列C-1の総てのエントリが同時に存在している必要はない。方程式(8)の評価中に、共分散行列Cの、次に必要なエントリCa,bを決定すると、メモリ効率が良好になる。
【0124】
次に、このようなスカラ積Sが不等式
【数16】
を満たすか否かがチェックされる(1151)。ここで、λは、信頼水準に相当する、設定可能なしきい値である。
【0125】
この不等式が満たされている場合、第1の変数m1の現在の値が、推定された勾配gとして引き受けられ、ステップ(1200)に分岐して戻される。
【0126】
この不等式が満たされない場合、ステップ(1121)に分岐して戻されるものとするとよい。選択的に、反復カウンタnが設定可能な最大反復値nmaxに到達したか否かをチェックすることもできる(1171)。そうでない場合、ステップ(1121)に分岐して戻され、他の場合には、ゼロベクトル0∈Wが推定された勾配gとして引き受けられ(1181)、ステップ(1200)に分岐して戻される。これで、方法のこの部分は終了する。
【0127】
このような方法によって、m1が、抽出されたペア(xi,yi)に関する、求められた勾配dの算術平均値に相当し、m2が、抽出されたペア(xi,yi)に関する、求められた勾配dの行列積d・dTの算術平均値に相当することが実現される。
【0128】
図14は、ステップ(1200)における、勾配gをスケーリングするための方法の実施形態を示している。以下においては、勾配gの各成分は、対(i,l)により示され、ここで、i∈{1,…,k}は、対応するパラメータθの層を示し、l∈{1,…,dim(V
i)}は、i番目の層内の対応するパラメータθのナンバリングを示す。
図10に示されているように、ニューラルネットワークが、i番目の層における対応する特徴マップz
iにおける多次元入力データxの処理のために構成されている場合、ナンバリングlは、有利には、特徴マップz
iにおける、対応するパラメータθが関連付けられている特徴の位置によって与えられる。
【0129】
次に(1220)、勾配gの各成分gi,lに対して、スケーリング係数Ωi,lが求められる。例えば、このようなスケーリング係数Ωi,lは、i番目の層の特徴マップのlの対応する特徴の受容野rFの大きさによって与えられるものとしてよい。スケーリング係数Ωi,lが、選択的に、入力層に関するi番目の層の分解能、即ち、特徴の数の比率によって与えられるものとしてもよい。
【0130】
次に(1220)、勾配gの各成分g
i,lが、スケーリング係数Ω
i,lによってスケーリングされる。即ち、
【数17】
である。
【0131】
スケーリング係数Ωi,lが、受容野rFの大きさによって与えられる場合、パラメータθの過剰適合が特に効果的に回避される。スケーリング係数Ωi,lが分解能の比率によって与えられる場合、これは、受容野rFの大きさの、特に効率的な近似的な推定である。
【0132】
図15は、スケーリング層S
4によって実行される方法の実施形態を示している。
【0133】
スケーリング層S
4は、スケーリング層S
4の入力側に印加される入力信号xの、半径ρ及び中心点cを有する球への投影を達成するように構成されている。これは、中心点cとスケーリング層S
4の出力側に印加される出力信号yとの間の距離を測定する第1のノルムN
1(y-c)、及び、スケーリング層S
4の入力側に印加される入力信号xとスケーリング層S
4の出力側に印加される出力信号yとの間の距離を測定する第2のノルムN
2(x-y)によって特徴付けられる。言い換えれば、スケーリング層S
4の出力側に加えられている出力信号yは、方程式
【数18】
を解く。
【0134】
図15a)は、第1のノルムN
1と第2のノルムN
2とが同一である場合の特に効率的な第1の実施形態を示している。以下においては、これらのノルムは||・||により示される。
【0135】
はじめに(2000)、スケーリング層S4の入力側に印加される入力信号x、中心パラメータc及び半径パラメータρが提供される。
【0136】
次に(2100)、スケーリング層S
4の出力側に印加される出力信号yが求められる。
【数19】
【0137】
これで、方法のこの部分は終了する。
【0138】
図15b)及び
図15c)は、第1のノルムN
1及び第2のノルムN
2の特に有利に選択された組合せの実施形態を示している。
【0139】
図15b)は、満たされるべき条件(12)において、第1のノルムN
1(・)が、最大ノルム||・||
∞によって与えられており、第2のノルムN
2(・)が、2ノルム||・||
2によって与えられる第2の実施形態を示している。ノルムのこれらの組合せは、特に効率的に計算される。
【0140】
はじめに(3000)、ステップ(2000)と同様に、スケーリング層S4の入力側に印加される入力信号x、中心パラメータc及び半径パラメータρが提供される。
【0141】
次に(3100)、スケーリング層S
4の出力側に印加される出力信号yの成分y
iが求められる。
【数20】
ここで、iは、成分を示している。
【0142】
この方法は、特に計算効率が高い。これで、方法のこの部分は終了する。
【0143】
図15c)は、満たされるべき条件(12)において、第1のノルムN
1(・)が1ノルム||・||
1によって与えられており、第2のノルムN
2(・)が2ノルム||・||
2によって与えられる場合の第3の実施形態を示している。ノルムのこのような組合せによって、スケーリング層S
4の入力側に印加される入力信号xにおいて、可能な限り多くの小さい成分が値ゼロに設定される。
【0144】
まずは(4000)、ステップ(2000)と同様に、スケーリング層S4の入力側に印加される入力信号x、中心パラメータc及び半径パラメータρが提供される。
【0145】
次に(4100)、符号変数ε
iが求められる。
【数21】
スケーリング層S
4の入力側に印加される入力信号xの成分x
iは、
【数22】
によって置き換えられる。
【0146】
補助パラメータγは、値ゼロに初期化される。
【0147】
次に(4200)、セットNがN={i|xi>γ}として求められ、距離尺度D=Σi∈N(xi-γ)である。
【0148】
次に(4300)、不等式
【数23】
か満たれているか否かがチェックされる。
【0149】
そうである場合(4400)、補助パラメータγが、
【数24】
によって置き換えられ、ステップ(4200)へと分岐して戻る。
【0150】
不等式(16)が満たされていない場合(4500)、スケーリング層S
4の出力側に印加される出力信号yの成分y
iが求められる。
【数25】
【0151】
表記(・)
+は、ここで、通常、
【数26】
を意味している。
【0152】
これで、方法のこのような部分は、終了する。このような方法は、ニュートン方法に相当し、特に、スケーリング層S4の入力側に印加される入力信号xの成分の多くが重要である場合に、特に計算効率が高い。
【0153】
図16は、ニューラルネットワーク60の動作方法の実施形態を示している。最初に(5000)、ニューラルネットワークが、記載された方法のうちの1つによってトレーニングされる。次に(5100)、制御システム40が、記載されたように、このようにトレーニングされたニューラルネットワーク60により動作する。これで、この方法は終了する。
【0154】
ニューラルネットワークは、フィードフォワードニューラルネットワーク(英語で「feedforward neural network」)に限定されるものではなく、本発明は、あらゆる種類のニューラルネットワーク、特に再帰型ニューラルネットワーク、畳み込みニューラルネットワーク(英語で「convolutional neural network」)、オートエンコーダ、ボルツマンマシン、パーセプトロン又はカプセルネットワーク(英語で「Capsule Neural Network」)に同様に適用され得ることが自明である。
【0155】
用語「コンピュータ」は、設定可能な計算規則を処理するための任意の装置を包含している。このような計算規則は、ソフトウェアの形態においても、又は、ハードウェアの形態においても、又は、ソフトウェアとハードウェアとの混合形態においても、存在し得る。
【0156】
さらに、これらの方法が、記載されているように、完全にソフトウェアによってしか実装されないわけではないことは、自明である。これらの方法は、ハードウェア、又は、ソフトウェアとハードウェアとの混合形態において実装されるものとしてもよい。
【手続補正書】
【提出日】2021-06-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ニューラルネットワーク(60)をトレーニングするための、コンピュータ実装される方法であって、
前記ニューラルネットワーク(60)は、特に、物理的な測定変数を分類するように構成されており、
前記ニューラルネットワーク(60)を、トレーニングデータセット(X)によってトレーニングし、トレーニングするために、入力信号(x)と、属する所望の出力信号(yT)とを含むペアを前記トレーニングデータセット(X)から抽出し、
前記ニューラルネットワーク(60)のパラメータ(θ)の適合化を、前記入力信号(x)の供給時の前記ニューラルネットワーク(60)の出力信号(y)に関連して、かつ、前記所望の出力信号(yT)に関連して行
い、
ペアの前記抽出を常に前記トレーニングデータセット全体(X)から行
う、方法において、
前記トレーニングの過程において以前にいずれのペアが抽出されたかに関係なく、ペアの前記抽出を行う、
ことを特徴とする方法。
【請求項2】
抽出された前記ペアの前記入力信号(x)を拡張関数(αi)により拡張する、請求項
1に記載の方法。
【請求項3】
前記拡張関数(α
i)を、前記入力信号(x)に関連する、提供される拡張関数(α)のセットから選択する、請求項
2に記載の方法。
【請求項4】
ペアを前記トレーニングデータセット(X)からランダムに抽出する場合に、設定可能なペアが抽出される確率は、前記設定可能なペアの前記入力信号(x)の提供される拡張関数(α)の数(μ(α))に関連する、請求項
3に記載の方法。
【請求項5】
前記パラメータ(θ)の前記適合化を、求められた勾配(g)に関連して行い、前記勾配(g)を求めるために、前記勾配(g)の推定値(m
1)を、連続的に増加する、前記トレーニングデータセット(X)から抽出されるペア(x
i,y
i)の数(n)を考慮することによって、前記勾配(g)の前記推定値(m
1)に関連する、設定可能な終了条件が満たされるまで改良する、請求項
4に記載の方法。
【請求項6】
前記設定可能な終了条件は、前記勾配(g)の前記推定値(m
1)の共分散行列(C)にも関連する、請求項
5に記載の方法。
【請求項7】
前記設定可能な終了条件は、設定可能な信頼値(λ)に対する推定値(m
1)と共分散行列(C)とが、条件〈m
1,C
-1m
1〉≧λ
2を満たすか否かの条件を含む、請求項
6に記載の方法。
【請求項8】
請求項1乃至
7のいずれか一項に記載の方法を実施するように構成されているトレーニングシステム(140)。
【請求項9】
センサ(30)の出力信号(S)に関連して求められた、前記ニューラルネットワークの入力側に印加される入力信号(x)を分類するための、請求項1乃至
7のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用。
【請求項10】
前記ニューラルネットワーク(60)の出力側に印加される、前記ニューラルネットワーク(60)の出力信号(y)に関連して、アクチュエータ(10)を駆動制御するための駆動制御信号(A)を提供するための、請求項1乃至
7のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用。
【請求項11】
前記駆動制御信号(A)に関連してアクチュエータ(10)が駆動制御される、請求項
10に記載された、請求項1乃至
7のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用。
【請求項12】
コンピュータプログラムであって、コンピュータによる前記プログラムの実行時に、前記コンピュータに、請求項1乃至
7又は請求項
9乃至
11のいずれか一項に記載の方法を実施
させるための命令を含むコンピュータプログラム。
【請求項13】
請求項
12に記載のコンピュータプログラムが格納されている機械可読記憶媒体(46,146)。
【請求項14】
第1のフェーズにおいて、前記ニューラルネットワーク(60)は、請求項1乃至
7のいずれか一項に記載の方法によってトレーニングされ、続いて、請求項
9乃至
11のいずれか一項に従って使用される、ニューラルネットワーク(60)の使用方法。
【手続補正書】
【提出日】2021-06-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ニューラルネットワーク(60)をトレーニングするための、コンピュータ実装される方法であって、
前記ニューラルネットワーク(60)は、特に、物理的な測定変数を分類するように構成されており、
前記ニューラルネットワーク(60)を、トレーニングデータセット(X)によってトレーニングし、トレーニングするために、入力信号(x)と、属する所望の出力信号(yT)とを含むペアを前記トレーニングデータセット(X)から抽出し、
前記ニューラルネットワーク(60)のパラメータ(θ)の適合化を、前記入力信号(x)の供給時の前記ニューラルネットワーク(60)の出力信号(y)に関連して、かつ、前記所望の出力信号(yT)に関連して行い、
ペアの前記抽出を常に前記トレーニングデータセット全体(X)から行う、方法において、
前記トレーニングの過程において以前にいずれのペアが抽出されたかに関係なく、ペアの前記抽出を行う、
ことを特徴とする方法。
【請求項2】
抽出された前記ペアの前記入力信号(x)を拡張関数(αi)により拡張する、請求項1に記載の方法。
【請求項3】
前記拡張関数(α
i)を、前記入力信号(x)に関連する、提供される拡張関数(α)のセットから選択する、請求項2に記載の方法。
【請求項4】
ペアを前記トレーニングデータセット(X)からランダムに抽出する場合に、設定可能なペアが抽出される確率は、前記設定可能なペアの前記入力信号(x)の提供される拡張関数(α)の数(μ(α))に関連する、請求項3に記載の方法。
【請求項5】
前記パラメータ(θ)の前記適合化を、求められた勾配(g)に関連して行い、前記勾配(g)を求めるために、前記勾配(g)の推定値(m
1)を、連続的に増加する、前記トレーニングデータセット(X)から抽出されるペア(x
i,y
i)の数(n)を考慮することによって、前記勾配(g)の前記推定値(m
1)に関連する、設定可能な終了条件が満たされるまで改良する、請求項4に記載の方法。
【請求項6】
前記設定可能な終了条件は、前記勾配(g)の前記推定値(m
1)の共分散行列(C)にも関連する、請求項5に記載の方法。
【請求項7】
前記設定可能な終了条件は、設定可能な信頼値(λ)に対する推定値(m
1)と共分散行列(C)とが、条件〈m
1,C
-1m
1〉≧λ
2を満たすか否かの条件を含む、請求項6に記載の方法。
【請求項8】
請求項1乃至7のいずれか一項に記載の方法を実施するように構成されているトレーニングシステム(140)。
【請求項9】
センサ(30)の出力信号(S)に関連して求められた、前記ニューラルネットワークの入力側に印加される入力信号(x)を分類するための、請求項1乃至7のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用
方法。
【請求項10】
前記ニューラルネットワーク(60)の出力側に印加される、前記ニューラルネットワーク(60)の出力信号(y)に関連して、アクチュエータ(10)を駆動制御するための駆動制御信号(A)を提供するための、請求項1乃至7のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用
方法。
【請求項11】
前記駆動制御信号(A)に関連してアクチュエータ(10)が駆動制御される、請求項10に記載された、請求項1乃至7のいずれか一項に記載の方法によってトレーニングされたニューラルネットワーク(60)の使用
方法。
【請求項12】
コンピュータプログラムであって、コンピュータによる前記
コンピュータプログラムの実行時に、前記コンピュータに、請求項1乃至7又は請求項9乃至11のいずれか一項に記載の方法を実施させるための命令を含むコンピュータプログラム。
【請求項13】
請求項12に記載のコンピュータプログラムが格納されている機械可読記憶媒体(46,146)。
【請求項14】
第1のフェーズにおいて、前記ニューラルネットワーク(60)は、請求項1乃至7のいずれか一項に記載の方法によってトレーニングされ、続いて、請求項9乃至11のいずれか一項
に記載の方法に従って使用される、ニューラルネットワーク(60)の使用方法。
【国際調査報告】