(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-05
(45)【発行日】2022-09-13
(54)【発明の名称】センサデータを分類するための方法及び装置並びにアクチュエータを駆動制御するための駆動制御信号を求めるための方法及び装置
(51)【国際特許分類】
G06N 3/08 20060101AFI20220906BHJP
G06N 3/04 20060101ALI20220906BHJP
【FI】
G06N3/08
G06N3/04
(21)【出願番号】P 2021535791
(86)(22)【出願日】2019-11-28
(86)【国際出願番号】 EP2019082838
(87)【国際公開番号】W WO2020126379
(87)【国際公開日】2020-06-25
【審査請求日】2021-06-18
(31)【優先権主張番号】102018222346.7
(32)【優先日】2018-12-19
(33)【優先権主張国・地域又は機関】DE
(31)【優先権主張番号】102019215120.5
(32)【優先日】2019-10-01
(33)【優先権主張国・地域又は機関】DE
(73)【特許権者】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】フランク シュミット
(72)【発明者】
【氏名】トルステン ザクセ
【審査官】多賀 実
(56)【参考文献】
【文献】米国特許出願公開第2018/0336887(US,A1)
【文献】米国特許出願公開第2018/0107451(US,A1)
【文献】Hoffer, Elad et al.,"Norm matters: efficient and accurate normalization schemes in deep networks",arXiv.org [online],arXiv:1803.01814v2,米国,arXiv,2018年03月,[令和4年8月12日検索], インターネット:<URL: https://arxiv.org/abs/1803.01814v2>,DOI:10.48550/ARXIV.1803.01814
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
G05B 13/02
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワーク(60)を用いて入力信号(x)を分類するための方法であって、
前記入力信号(x)は、センサ(30)の出力信号(S)に関連して求められ、
前記ニューラルネットワーク(60)はスケーリング層(S
4)を含み、前記スケーリング層は、前記スケーリング層(S
4)の入力側に印加される入力信号(z
4)を前記スケーリング層(S
4)の出力側に印加される出力信号(z
5)にマッピングし、前記マッピングが、設定可能な値領域への前記入力信号(z
4)の投影に相当するように前記マッピングが行われる方法において、
前記マッピングを特徴付けるパラメータ(ρ,c)は、設定可能であり、
前記マッピングは、第1のノルム(N
1)及び第2のノルム(N
2)を伴う方程式
【数1】
によって与えられる、
ことを特徴とする、入力信号(x)を分類するための方法。
【請求項2】
駆動制御信号(A)を、ニューラルネットワーク(60)の出力信号(y)に関連して求める、請求項1に記載の方法。
【請求項3】
前記駆動制御信号(A)に関連してアクチュエータ(10)を駆動制御する、請求項2に記載の方法。
【請求項4】
前記第1のノルム(N
1)と前記第2のノルム(N
2)とを等しく選択する、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記第1のノルム(N
1)は、L
∞ノルムである、請求項1乃至3のいずれか一項に記載の方法。
【請求項6】
前記第1のノルム(N
1)は、L
1ノルムである、請求項1乃至3のいずれか一項に記載の方法。
【請求項7】
前記第2のノルム(N
2)は、L
2ノルムである、請求項5又は6に記載の方法。
【請求項8】
前記方程式
【数2】
を決定論的ニュートン方法によって解く、請求項7に記載の方法。
【請求項9】
はじめにトレーニングフェーズにおいて、前記ニューラルネットワーク(60)をトレーニングする方法に関連して、設定可能な前記パラメータ(ρ,c)を適合させ、
前記トレーニング時に、設定可能な前記パラメータ(ρ,c)の適合化を、前記ニューラルネットワーク(60)の入力信号(x)の供給時の前記ニューラルネットワーク(60)の出力信号(y)に関連して、かつ、属する所望の出力信号(y
T)に関連して行い、
設定可能な前記パラメータの前記適合化を、求められた勾配(g)に関連して行い、前記勾配は、前記ニューラルネットワーク(60)の前記出力信号(y)及び前記属する所望の出力信号(y
T)に関連する、請求項1乃至8のいずれか一項に記載の方法。
【請求項10】
コンピュータプログラムであって、コンピュータによる前記
コンピュータプログラムの実行時に、前記コンピュータに、請求項1乃至9のいずれか一項に記載の方法を実施させるための命令を含むコンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムが格納されている機械可読記憶媒体(46,146)。
【請求項12】
請求項
1乃至9のいずれか一項
に記載の方法を実施するように構成されているアクチュエータ制御システム(40)。
【発明の詳細な説明】
【技術分野】
【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】
【文献】「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))
【文献】「Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift」(arXiv preprint arXiv:1502.03167v3, Sergey loffe, Christian Szegedy (2015))
【発明の概要】
【発明が解決しようとする課題】
【0005】
発明の利点
これに対して、独立請求項1及び2の特徴を有する方法は、ニューラルネットワークのアーキテクチャ検索が容易になるという利点を有している。
【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の態様においては、ニューラルネットワークはスケーリング層を含み、スケーリング層が、スケーリング層の入力側に印加される入力信号をスケーリング層の出力側に印加される出力信号にマッピングすることが設定されている。ここで、このようなマッピングは、このようなマッピングが設定可能な値領域への入力信号の投影に相当するように行われ、ここで、このマッピングを特徴付けるパラメータは、設定可能である。この値領域は、ここではノルムによって規定されるものとしてよい。このような場合、スケーリング層は、入力信号のスケールがこのようなノルムに関して制限されることを実現する。
【0020】
このような文脈において、「設定可能」とは、特に、これらのパラメータがニューラルネットワークのトレーニング中に、勾配に関連して適合され得ることを意味するものとしてよく、ここで、このような勾配は、通常、ニューラルネットワークの出力信号及び属する所望の出力信号に関連して求められる。
【0021】
即ち、はじめにトレーニングフェーズにおいて、設定可能なパラメータが、ニューラルネットワークをトレーニングする方法に関連して適合させられ、ここで、トレーニング時に、このような設定可能なパラメータの適合化が、ニューラルネットワークの入力信号の供給時のニューラルネットワークの出力信号に関連して、かつ、属する所望の出力信号に関連して行われ、設定可能なパラメータの適合化は、求められた勾配に関連して行われる。この勾配は、ニューラルネットワークの出力信号及び属する所望の出力信号に関連する。
【0022】
有利には、発展形態において、スケーリング層が、スケーリング層の入力側に印加される入力信号を、スケーリング層の出力側に印加される出力信号にマッピングすることが設定可能であり、ここで、このようなマッピングは、このようなマッピングが、球への投影に相当するように行われ、この球の中心c及び/又は半径ρは、固定的に設定可能であるものとしてよい。
【0023】
ここで、マッピングは、方程式
【数4】
によって得られるものとしてよく、これは第1のノルム(N
1)と第2のノルム(N
2)とを伴う。ここでは、用語「ノルム」は、数学的な意味において理解されるべきである。
【0024】
特に効率的に計算される発展形態においては、第1のノルム(N1)と第2のノルム(N2)とが等しく選択されていることが設定されるものとしてよい。
【0025】
選択的又は付加的に、第1のノルム(N1)は、L∞ノルムであるものとしてよい。このようなノルムは、特に第1のノルム(N1)と第2のノルム(N2)とが等しく選択されていない場合においても、同様に特に効率的に計算される。
【0026】
選択的に、ここで、第1のノルム(N1)は、L1ノルムであることが設定されるものとしてよい。第1のノルムのこのような選択は、スケーリング層の出力信号のスパース性(英語で「sparsity」)を促進する。これは、例えば、ニューラルネットワークの圧縮に有利である。なぜなら、値が0の重みは、自身の層の出力値に寄与しないからである。
【0027】
従って、そのような層を備えたニューラルネットワークを、特に圧縮方法に関連して、特にメモリ効率良く使用することができる。
【0028】
第1のノルム(N1)に対する、記載された変形において、有利には、第2のノルム(N2)がL2ノルムであることが設定されるものとしてよい。これによって、これらの方法は、特に容易に実現される。
【0029】
特に有利には、ここでは、方程式
【数5】
が決定論的ニュートン方法によって解かれる。
【0030】
即ち、驚くべきことに、スケーリング層の入力側に、多くの重要な、即ち、強く重み付けされる特徴を備えた入力信号が印加される場合、これらの方法が特に効率的であることが判明した。
【0031】
本発明の実施形態を、以下において、添付の図面を参照してより詳細に説明する。
【図面の簡単な説明】
【0032】
【
図1】制御システムの実施形態の構造を概略的に示している。
【
図2】少なくとも部分的に自律的なロボットを制御するための実施例を概略的に示している。
【
図3】製造システムを制御するための実施例を概略的に示している。
【
図4】パーソナルアシスタントを制御するための実施例を概略的に示している。
【
図5】アクセスシステムを制御するための実施例を概略的に示している。
【
図6】監視システムを制御するための実施例を概略的に示している。
【
図7】医療用画像化システムを制御するための実施例を概略的に示している。
【
図8】トレーニングシステムを概略的に示している。
【
図9】ニューラルネットワークの構造を概略的に示している。
【
図10】ニューラルネットワーク内の情報の転送を概略的に示している。
【
図11】トレーニング方法の実施形態をフローチャートにより示している。
【
図12】勾配を推定するための方法の実施形態をフローチャートにより示している。
【
図13】勾配を推定するための方法の選択的な実施形態をフローチャートにより示している。
【
図14】推定された勾配をスケーリングするための方法の実施形態をフローチャートにより示している。
【
図15】ニューラルネットワーク内にスケーリング層を実装するための実施形態をフローチャートにより示している
【
図16】トレーニングされたニューラルネットワークの動作方法をフローチャートにより示している。
【発明を実施するための形態】
【0033】
実施例の説明
図1は、アクチュエータ10を、制御システム40と相互作用する自身の周囲20内において示している。アクチュエータ10及び周囲20は、まとめてアクチュエータシステムとも称される。有利な一定の時間間隔で、アクチュエータシステムの状態がセンサ30によって検出される。この状態が、複数のセンサによって与えられるものとしてもよい。センサ30のセンサ信号S(又は、複数のセンサが存在する場合には、各センサ信号S)が、制御システム40に伝達される。従って、制御システム40は、一連のセンサ信号Sを受信する。制御システム40は、ここから、アクチュエータ10に伝送される駆動制御信号Aを求める。
【0034】
センサ30は、周囲20の状態を検出し、それをセンサ信号Sとして伝達する任意のセンサである。例えば、このセンサは、画像化センサ、特に画像センサ若しくはビデオセンサ等の光学センサ、又は、レーダセンサ、又は、超音波センサ、又は、LiDARセンサであり得る。これはまた、例えば、固体伝搬音又は音声信号を受信する音響センサであるものとしてもよい。同様に、センサは、位置センサ(例えばGPS等)又は運動学的センサ(例えば単軸加速度センサ又は多軸加速度センサ)であるものとしてよい。周囲20におけるアクチュエータ10の配向を特徴付けるセンサ(例えばコンパス)も可能である。周囲20の化学的な組成を検出するセンサ、例えばラムダセンサも可能である。選択的又は付加的に、センサ30が情報システムも含むものとしてよい。情報システムは、アクチュエータシステムの状態に関する情報を求める。情報システムは、例えば気象情報システムのように、周囲20の気象の現在又は将来の状態を求める。
【0035】
制御システム40は、任意選択的な受信ユニット50において、センサ30の一連のセンサ信号Sを受信し、受信ユニット50は、この一連のセンサ信号Sを一連の入力信号xに変換する(選択的に、各センサ信号Sが、直接的に入力信号xとして引き受けられるものとしてもよい)。入力信号xは、例えば、センサ信号Sの一部又はセンサ信号Sをさらに処理したものであってよい。入力信号xは、例えば、画像データ若しくは画像又はビデオ記録の個々のフレームを含み得る。言い換えれば、入力信号xは、センサ信号Sに関連して求められる。入力信号xは、ニューラルネットワーク60に供給される。
【0036】
ニューラルネットワーク60は、有利には、パラメータθによってパラメータ化される。これは、例えば、パラメータメモリPに格納されていて、ここから提供される重みwを含む。
【0037】
ニューラルネットワーク60は、入力信号xから出力信号yを求める。出力信号yは、典型的には、入力信号xの分類情報を符号化する。出力信号yは、任意選択的な変換ユニット80に供給される。変換ユニット80は、ここから駆動制御信号Aを求める。駆動制御信号Aは、アクチュエータ10に供給され、これにより、それに応じてアクチュエータ10を駆動制御することができる。
【0038】
アクチュエータ10は駆動制御信号Aを受信し、それに応じて駆動制御され、対応する動作を実行する。アクチュエータ10は、ここで駆動制御信号Aから第2の駆動制御信号を求める駆動制御ロジック(これは必ずしも構造的に統合されている必要はない)を含むものとしてよく、第2の駆動制御信号によってアクチュエータ10が駆動制御される。
【0039】
さらなる実施形態においては、制御システム40は、センサ30を含む。他のさらなる実施形態においては、制御システム40は、選択的に又は付加的に、アクチュエータ10も含む。
【0040】
さらなる有利な実施形態においては、制御システム40は、1つ又は複数のプロセッサ45と、少なくとも1つの機械可読記憶媒体46とを含み、少なくとも1つの機械可読記憶媒体46には、プロセッサ45上において実行されるときに、制御システム40に、制御システム40の動作方法を実施させるための命令が格納されている。
【0041】
選択的な実施形態においては、アクチュエータ10に対して選択的又は付加的に、表示ユニット10aが設けられている。
【0042】
図2は、少なくとも部分的に自律的なロボット、ここでは、少なくとも部分的に自動化された自動車100を制御するために制御システム40が使用される実施例を示している。
【0043】
センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよく、有利には、自動車100内に有利に配置されている1つ又は複数のビデオセンサ、及び/又は、1つ又は複数のレーダセンサ、及び/又は、1つ又は複数の超音波センサ、及び/又は、1つ又は複数のLiDARセンサ、及び/又は、1つ又は複数の位置センサ(例えばGPS)であるものとしてよい。
【0044】
ニューラルネットワーク60は、入力データxから、例えば、少なくとも部分的に自律的なロボットの周囲にある物体を検出することができる。出力信号yは、少なくとも部分的に自律的なロボットの周囲のどこに物体が存在しているのかを特徴付ける情報であるものとしてよい。次に、出力信号Aが、このような情報に関連して、及び/又は、このような情報に対応して求められるものとしてよい。
【0045】
有利には自動車100内に配置されているアクチュエータ10は、例えば、自動車100のブレーキ、駆動装置又はステアリングシステムであるものとしてよい。ここで、例えば、ニューラルネットワーク60によって識別された物体との衝突を自動車100が阻止するように、1つ又は複数のアクチュエータ10が駆動制御されるように駆動制御信号Aが求められるものとしてよい。これは特に、これが、特定のクラスの物体、例えば歩行者である場合である。言い換えれば、駆動制御信号Aは、求められたクラスに関連して、及び/又は、求められたクラスに対応して求められるものとしてよい。
【0046】
選択的に、少なくとも部分的に自律的なロボットは、他の移動ロボット(図示せず)であるものとしてよく、これは例えば、飛行、泳ぎ、潜水又は歩行によって移動するロボットである。移動ロボットは、例えば、少なくとも部分的に自律的な芝刈り機又は少なくとも部分的に自律的な掃除ロボットであるものとしてよい。これらの場合においても、駆動制御信号Aは、次のように求められるものとしてよい。即ち、少なくとも部分的に自律的なロボットが、例えば、ニューラルネットワーク60によって識別された物体との衝突を阻止するように移動ロボットの駆動装置及び/又はステアリングシステムが駆動制御されるように求められるものとしてよい。
【0047】
さらなる代替案においては、少なくとも部分的に自律的なロボットは、画像化センサ30及びニューラルネットワーク60によって、周囲20の植物の種類又は状態を求める園芸ロボット(図示せず)であるものとしてもよい。この場合には、アクチュエータ10は、例えば、化学薬品のアプリケータであるものとしてよい。駆動制御信号Aは、求められた種類又は求められた状態に対応する量の化学物質が適用されるように、求められた種類又は植物の求められた状態に関連して求められるものとしてよい。
【0048】
他のさらなる代替案においては、少なくとも部分的に自律的なロボットは、家電製品(図示せず)であるものとしてよく、特に洗濯機、レンジ、オーブン、電子レンジ又は食器洗い機であるものとしてよい。センサ30、例えば光学センサによって、家電製品によって扱われる対象物の状態を検出することができ、例えば洗濯機の場合には、洗濯機内にある洗濯物の状態を検出することができる。ここで、このような対象物の種類又は状態が、ニューラルネットワーク60によって求められ、出力信号yによって特徴付けられるものとしてよい。ここで、駆動制御信号Aは、家電製品が、対象物の求められた種類又は求められた状態に関連して駆動制御されるように求められるものとしてよい。例えば、洗濯機の場合には、洗濯機内にある洗濯物がどのような材料によりできているかに関連して、これが駆動制御されるものとしてよい。この場合には、洗濯物の求められた材料に関連して、駆動制御信号Aが選択されるものとしてよい。
【0049】
図3は、製造システム200の製造機械11を駆動制御するために制御システム40が使用される実施例を示している。これは、このような製造機械11を制御するアクチュエータ10を駆動制御することによって行われる。製造機械11は、例えば、打ち抜き、鋸引き、穴あけ、及び/又は、切断のための機械であるものとしてよい。
【0050】
センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよく、有利には、例えば、製造物12の特性を検出する光学センサであるものとしてよい。製造機械11を制御するアクチュエータ10が、製造物12の求められた特性に関連して駆動制御されるものとしてよく、それによって、製造機械11が対応して、このような製造物12の後続の加工ステップを実行する。センサ30が、製造機械11によって加工された製造物12の特性を求め、それに関連して、後続の製造物のために製造機械11の駆動制御を適合させることも可能である。
【0051】
図4は、パーソナルアシスタント250を制御するために制御システム40が使用される実施例を示している。センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよい。センサ30は、有利には、ユーザ249の音声信号を受信する音響センサである。選択的又は付加的に、センサ30は、光信号、例えば、ユーザ249のジェスチャのビデオ画像を受け取るように構成されるものとしてもよい。
【0052】
センサ30の信号に関連して、制御システム40は、例えば、ニューラルネットワークがジェスチャ識別を実行することによって、パーソナルアシスタント250の駆動制御信号Aを求める。次に、このような求められた駆動制御信号Aがパーソナルアシスタント250に伝達され、従って、パーソナルアシスタント250が対応して駆動制御される。求められたこのような駆動制御信号Aは、特に、これが、ユーザ249による、推測される所望の駆動制御に対応するように選択されるものとしてよい。このような推測される所望の駆動制御は、ニューラルネットワーク60によって識別されたジェスチャに関連して求められるものとしてよい。次に、制御システム40は、推測される所望の駆動制御に関連して、パーソナルアシスタント250に伝達される駆動信号Aを選択することができ、及び/又は、推測される所望の駆動制御に対応して、パーソナルアシスタント250に伝達される駆動制御信号Aを選択することができる。
【0053】
対応するこのような駆動制御は、例えば、パーソナルアシスタント250がデータベースから情報を呼び出し、ユーザ249が享受可能なようにこれを再現することを含むものとしてよい。
【0054】
パーソナルアシスタント250の代わりに、家電製品(図示せず)、特に洗濯機、レンジ、オーブン、電子レンジ又は食器洗い機が、対応して駆動制御されるように設定されているものとしてもよい。
【0055】
図5は、アクセスシステム300を制御するために制御システム40が使用される実施例を示している。アクセスシステム300は、物理的なアクセスコントロール、例えばドア401を含み得る。センサ30は、
図1に関連して挙げられたセンサの1つであるものとしてよく、有利には、顔を検出するように構成されている(例えば、画像データ又はビデオデータを検出するための)光学センサであるものとしてよい。検出されたこのような画像は、ニューラルネットワーク60によって解釈されるものとしてよい。例えば、人物の同一性を求めることができる。アクチュエータ10は、錠であるものとしてよく、駆動制御信号Aに関連して、アクセスコントロールを解除する又は解除しない。例えば、ドア401を開放する又は開放しない。このために、駆動制御信号Aが、ニューラルネットワーク60の解釈に関連して、例えば、人物の求められた同一性に関連して選択されるものとしてよい。物理的なアクセスコントロールの代わりに、論理的なアクセスコントロールが設けられているものとしてもよい。
【0056】
図6は、監視システム400を制御するために制御システム40が使用される実施例を示している。この実施例は、アクチュエータ10の代わりに、制御システム40によって駆動制御される表示ユニット10aが設けられているという点において、
図5に示された実施例とは異なる。例えば、ニューラルネットワーク60によって、光学センサによって記録された物体が怪しいか否かを求めることができ、次に、この物体が表示ユニット10aによって色で強調表示されるように駆動制御信号Aを選択することができる。
【0057】
図7は、医療用画像化システム500、例えば、MRT装置、X線装置又は超音波装置を制御するために制御システム40が使用される実施例を示している。センサ30は、例えば、画像化センサによって提供されるものとしてよく、表示ユニット10aは、制御システム40によって駆動制御される。例えば、ニューラルネットワーク60によって、画像化センサによって記録された領域が目立っているか否かを求めることができ、次に、この領域が表示ユニット10aによって色で強調表示されるように駆動制御信号Aを選択することができる。
【0058】
図8は、トレーニング方法によってニューラルネットワーク60をトレーニングするためのトレーニングシステム140の実施例を概略的に示している。トレーニングデータユニット150は、ニューラルネットワーク60に供給される適当な入力信号xを求める。例えば、トレーニングデータユニット150は、トレーニングデータのセットが格納されているコンピュータ実装されたデータベースにアクセスし、例えば、トレーニングデータのセットから入力信号xをランダムに選択する。任意選択的に、トレーニングデータユニット150は、評価ユニット180に供給される、入力信号xに割り当てられた所望の又は「実際の」出力信号y
Tも求める。
【0059】
人工ニューラルネットワーク60は、自身に供給された入力信号xから、属する出力信号yを求めるように構成されている。これらの出力信号yは、評価ユニット180に供給される。
【0060】
評価ユニット180は、例えば、出力信号y及び所望の出力信号yTに関連するコスト関数(英語で「cost function」)Lによって、ニューラルネットワーク60のパフォーマンスを特徴付けることができる。パラメータθは、コスト関数Lに関連して最適化されるものとしてよい。
【0061】
さらなる有利な実施形態においては、トレーニングシステム140は、1つ又は複数のプロセッサ145と、プロセッサ145上において実行されるときに、制御システム140にトレーニング方法を実施させるための命令が格納されている少なくとも1つの機械可読記憶媒体146とを含む。
【0062】
図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が複数の層の出力信号から構成されることも可能である。
【0063】
出力層S5は、例えば、Argmax層(即ち、割り当てられた各入力値を備える複数の入力側から、それらの入力値の中で割り当てられた入力値が最大である入力側の標識を選択する層)によって提供されるものとしてよく、層S1、S2、S3のうちの1つ又は複数は、例えば畳み込み層によって提供されるものとしてよい。
【0064】
有利には、層S
4は、スケーリング層として構成されており、このスケーリング層は、スケーリング層(S
4)の入力側に印加される入力信号(x)が、スケーリング層(S
4)の出力側に印加される出力信号(y)にマッピングされるように構成されている。このマッピングは、出力側に加えられている出力信号(y)が入力信号(x)の再スケーリングであるように行われる。ここで、この再スケーリングを特徴付けるパラメータは、固定的に設定可能である。スケーリング層S
4が実行することができる方法の実施例は、
図15に関連して以下に記載されている。
【0065】
図10は、ニューラルネットワーク60内の情報の転送を概略的に示している。ここでは、ニューラルネットワーク60内の3つの多次元信号、即ち、入力信号x及びその後の特徴マップz
1、z
2が概略的に示されている。実施例においては、入力信号xは、
【数6】
個のピクセルの空間分解能を有しており、第1の特徴マップz
1は、
【数7】
個のピクセルの空間分解能力を有しており、第2の特徴マップz
2は、
【数8】
個のピクセルの空間分解能力を有している。実施例においては、第2の特徴マップz
2の分解能は、入力信号xの分解能よりも低いが、必ずしもそうではない。
【0066】
さらに、特徴、例えば、第2の特徴マップz2のピクセル(i,j)3が示されている。第2の特徴マップz2を第1の特徴マップz1から求める関数が、例えば、畳み込み層又は全結合層(英語で「fully connected layer」)によって表される場合、第1の特徴マップz1の複数の特徴が、このような特徴(i,j)3の値の算出に関与することも可能である。しかし、当然、第1の特徴マップz1の1つの特徴だけがこのような特徴(i,j)3の値の算出に関与することも可能である。
【0067】
ここで、「関与する」とは、有利には、第2の特徴マップz
2が第1の特徴マップz
1から求められる関数を特徴付けるパラメータの値と、第1の特徴マップz
1の値との組合せが、関与する特徴の値に特徴(i,j)
3の値が関連するように存在していることと理解することができる。これらの関与する特徴の全体は、
図10においては、領域Beとして示されている。
【0068】
領域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の値に影響を与え得る。
【0069】
図11は、実施形態に即した、ニューラルネットワーク60をトレーニングするための方法のフローをフローチャートにより示している。
【0070】
はじめに(1000)、入力信号xiと、各属する出力信号yiとから成るペア(xi,yi)を含むトレーニングデータセットXが提供される。学習率ηは、例えばη=1で初期化される。
【0071】
さらに、例えば、
図12に示される、方法のこの部分の実施例がステップ1100において使用される場合、任意選択的に、第1のセットG及び第2のセットNが初期化される。
図13に示される、方法のこの部分の実施例がステップ1100において使用される場合、第1のセットG及び第2のセットNの初期化を省略することができる。
【0072】
第1のセットG及び第2のセットNの初期化を次のように行うことができる。トレーニング方法の現在のエポックの過程において既に抽出されている、トレーニングデータセットXのペア(xi,yi)を含む第1のセットGは、空のセットとして初期化される。現在のエポックの過程においてまだ抽出されていない、トレーニングデータセットXのペア(xi,yi)を含む第2のセットNは、自身に、トレーニングデータセットXの総てのペア(xi,yi)が割り当てられることによって初期化される。
【0073】
ここで(1100)、パラメータθに関する特性変数Lの勾配gが、トレーニングデータセットXの入力信号x
iと、各属する出力信号y
iとから成るペア(x
i,y
i)によって推定される。即ち、g=∇
θLである。このような方法の実施例は、
図12及び
図13に関連して記載されている。
【0074】
次に(1200)、任意選択的に、勾配gのスケーリングが実行される。このような方法の実施例は、
図14に関連して記載されている。
【0075】
次に(1300)、任意選択的に、学習率ηの適合化が実行される。ここで、実行されるエポックの数を、設定可能なエポック数、例えば5によって除算することが可能である限り、学習率ηを、例えば、設定可能な学習率低減ファクタDη(例えば、Dη=1/10)だけ低減させることができる(即ち、η←η・Dη)。
【0076】
次に(1400)、パラメータθが求められ、場合によっては、スケーリングされた勾配g及び学習率ηによって更新される。例えば、パラメータθは、θ-η・gによって置き換えられる。
【0077】
次に(1500)、設定可能な収束基準によって、この方法が収束しているか否かがチェックされる。例えば、(例えば、最後の2つのエポックの間の)パラメータθの絶対的な変化に関連して、収束基準が満たされているか否かを判断することができる。例えば、最後の2つのエポック間の総てのパラメータθの変化に関するL2ノルムが、設定可能な収束しきい値よりも小さい場合、まさしく収束基準が満たされている可能性がある。
【0078】
収束基準が満たされていると判断された場合、パラメータθが学習されたパラメータとして引き受けられ、この方法は終了する。そうでない場合、ステップ1100に分岐して戻される。
【0079】
図12は、ステップ1100において勾配gを求めるための例示的な方法をフローチャートにより示している。
【0080】
最初に(1110)、トレーニングデータセットXのペア(xi,yi)の設定可能な数bsが、(戻すことを伴わずに)抽出され、即ち、選択され、バッチB(英語で「batch」)に割り当てられるべきである。この設定可能な数bsは、バッチサイズ(英語で「batch size」)とも称される。バッチBは、空のセットとして初期化される。
【0081】
さらに、バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)より大きいか否かがチェックされる(1120)。
【0082】
バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)の数より大きくない場合、bs個のペア(xi,yi)が、第2のセットNからランダムに抽出され(1130)、即ち、選択され、バッチBに追加される。
【0083】
バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)の数より大きい場合、その数がsにより示される、第2のセットNの総てのペアが抽出され(1140)、即ち、選択され、バッチBに追加され、残余のペア、即ち、bs-s個のペアが、第1のセットGから抽出され、即ち、選択され、バッチBに追加される。
【0084】
ステップ(1130)又は(1140)に続いて(1150)、総てのパラメータθに対して、任意選択的に、これらのパラメータθがこのようなトレーニング実行においてスキップされるべきか否かが判断される。このために、例えば、このような層のパラメータθがスキップされる確率が、各層(S1,S2,…,S6)に対して個別に確定される。例えば、このような確率は、第1の層(S1)に対しては50%であり、後続の層ごとに10%ずつ低減されるものとしてよい。
【0085】
次に、このような確定された各確率を使用して、各パラメータθに対して、それがスキップされるか否かが判断されるものとしてよい。
【0086】
バッチBの各ペア(xi,yi)について、ここで(1155)、任意選択的に、各入力信号xiが拡張されるか否かが判断される。拡張されるべき、対応する各入力信号xiに対して、拡張関数が有利にはランダムに選択され、入力信号xiに適用される。このように拡張された入力信号xiは、次に、元の入力信号xiに置き換わる。入力信号xiが画像信号である場合、拡張関数が、例えば、設定可能な角度だけの回転によって得られるものとしてよい。
【0087】
次に(1160)、バッチBの各ペア(xi,yi)に対して、対応する(かつ、場合によっては拡張された)入力信号xiが選択され、ニューラルネットワーク60に供給される。ニューラルネットワーク60のスキップされるべきパラメータθは、ここで、対応する出力信号を求めている間に非活性化される。これは、例えば、これらが一時的に値ゼロに設定されることによって行われる。ニューラルネットワーク60の対応する出力信号y(xi)は、対応するペア(xi,yi)に割り当てられる。出力信号y(xi)及び所望の出力信号yTとしてのペア(xi,yi)の各出力信号yiに関連して、それぞれコスト関数Liが求められる。
【0088】
次に(1165)、バッチBの総てのペア(xi,yi)に対して共通して、完全なコスト関数L=Σi∈BLiが求められ、スキップされるべきではない各パラメータθに対して、勾配gの対応する成分が、例えば、誤差逆伝播(英語で「backpropagation」)を用いて求められる。スキップされるべき各パラメータθに対しては、勾配gの対応する成分がゼロに設定される。
【0089】
次に、ステップ1000におけるチェックの際に、バッチサイズbsが、第2のセットN内に存在しているペア(xi,yi)の数より大きいことが確定されたか否かがチェックされる(1170)。
【0090】
バッチサイズ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)へと直接的に分岐させられる。
【0091】
バッチサイズbsが、第2のセットN内に存在しているペアの数(xi,yi)より大きいことが確定された場合、第1のセットGは、バッチBの総てのペア(xi,yi)がそれに割り当てられることによって再初期化され(1190)、第2のセットNは、トレーニングデータセットXの総てのペア(xi,yi)がそれに割り当てられることによって再初期化され、続いて、バッチB内にも存在しているペア(xi,yi)が除去される。続いて、新しいエポックが始まり、ステップ(1200)へと分岐させられる。これで、方法のこの部分は終了する。
【0092】
図13は、ステップ1100において勾配gを求めるためのさらなる例示的な方法をフローチャートにより示している。最初に、方法のパラメータが初期化される(1111)。次に、パラメータθの数学的空間が、Wにより表される。パラメータθがまた、np個の個別のパラメータを含む場合、この空間Wは、np次元の空間であり、例えば、
【数9】
である。反復カウンタnが値n=0に初期化され、次に、第1の変数m
1が、m
1=0∈Wとして(即ち、np次元のベクトルとして)設定され、第2の変数が、
【数10】
として(即ち、np×np次元の行列として)設定される。
【0093】
次に(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)によって置き換えられる。
【0094】
入力信号xiが、ニューラルネットワーク60に供給される。対応する出力信号y(xi)と、所望の出力信号yTとしてのペア(xi,yi)の出力信号yiとに関連して、対応するコスト関数Liが求められる。パラメータθに対して、これに関連する勾配dが、例えば誤差逆伝播によって求められ、即ち、d=∇θL(y(xi),yi)である。
【0095】
次に(1131)、反復カウンタn、第1の変数m
1及び第2の変数m
2が次のように更新される。
【数13】
【0096】
次に(1141)、共分散行列Cの成分C
a,bが
【数14】
として提供される。
【0097】
ここから、(ベクトル値の)第1の変数m
1によってスカラ積Sが形成される。即ち、
【数15】
である。
【0098】
方程式(8)を用いて、スカラ積Sを十分に正確に求めるために、共分散行列C又は逆行列C-1の総てのエントリが同時に存在している必要はない。方程式(8)の評価中に、共分散行列Cの、次に必要なエントリCa,bを決定すると、メモリ効率が良好になる。
【0099】
次に、このようなスカラ積Sが不等式
【数16】
を満たすか否かがチェックされる(1151)。ここで、λは、信頼水準に相当する、設定可能なしきい値である。
【0100】
この不等式が満たされている場合、第1の変数m1の現在の値が、推定された勾配gとして引き受けられ、ステップ(1200)に分岐して戻される。
【0101】
この不等式が満たされない場合、ステップ(1121)に分岐して戻されるものとするとよい。選択的に、反復カウンタnが設定可能な最大反復値nmaxに到達したか否かをチェックすることもできる(1171)。そうでない場合、ステップ(1121)に分岐して戻され、他の場合には、ゼロベクトル0∈Wが推定された勾配gとして引き受けられ(1181)、ステップ(1200)に分岐して戻される。これで、方法のこの部分は終了する。
【0102】
このような方法によって、m1が、抽出されたペア(xi,yi)に関する、求められた勾配dの算術平均値に相当し、m2が、抽出されたペア(xi,yi)に関する、求められた勾配dの行列積d・dTの算術平均値に相当することが実現される。
【0103】
図14は、ステップ(1200)における、勾配gをスケーリングするための方法の実施形態を示している。以下においては、勾配gの各成分は、対(i,l)により示され、ここで、i∈{1,…,k}は、対応するパラメータθの層を示し、l∈{1,…,dim(V
i)}は、i番目の層内の対応するパラメータθのナンバリングを示す。
図10に示されているように、ニューラルネットワークが、i番目の層における対応する特徴マップz
iにおける多次元入力データxの処理のために構成されている場合、ナンバリングlは、有利には、特徴マップz
iにおける、対応するパラメータθが関連付けられている特徴の位置によって与えられる。
【0104】
次に(1220)、勾配gの各成分gi,lに対して、スケーリング係数Ωi,lが求められる。例えば、このようなスケーリング係数Ωi,lは、i番目の層の特徴マップのlの対応する特徴の受容野rFの大きさによって与えられるものとしてよい。スケーリング係数Ωi,lが、選択的に、入力層に関するi番目の層の分解能、即ち、特徴の数の比率によって与えられるものとしてもよい。
【0105】
次に(1220)、勾配gの各成分g
i,lが、スケーリング係数Ω
i,lによってスケーリングされる。即ち、
【数17】
である。
【0106】
スケーリング係数Ωi,lが、受容野rFの大きさによって与えられる場合、パラメータθの過剰適合が特に効果的に回避される。スケーリング係数Ωi,lが分解能の比率によって与えられる場合、これは、受容野rFの大きさの、特に効率的な近似的な推定である。
【0107】
図15は、スケーリング層S
4によって実行される方法の実施形態を示している。
【0108】
スケーリング層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】
を解く。
【0109】
図15a)は、第1のノルムN
1と第2のノルムN
2とが同一である場合の特に効率的な第1の実施形態を示している。以下においては、これらのノルムは||・||により示される。
【0110】
はじめに(2000)、スケーリング層S4の入力側に印加される入力信号x、中心パラメータc及び半径パラメータρが提供される。
【0111】
次に(2100)、スケーリング層S
4の出力側に印加される出力信号yが求められる。
【数19】
【0112】
これで、方法のこの部分は終了する。
【0113】
図15b)及び
図15c)は、第1のノルムN
1及び第2のノルムN
2の特に有利に選択された組合せの実施形態を示している。
【0114】
図15b)は、満たされるべき条件(12)において、第1のノルムN
1(・)が、最大ノルム||・||
∞によって与えられており、第2のノルムN
2(・)が、2ノルム||・||
2によって与えられる第2の実施形態を示している。ノルムのこれらの組合せは、特に効率的に計算される。
【0115】
はじめに(3000)、ステップ(2000)と同様に、スケーリング層S4の入力側に印加される入力信号x、中心パラメータc及び半径パラメータρが提供される。
【0116】
次に(3100)、スケーリング層S
4の出力側に印加される出力信号yの成分y
iが求められる。
【数20】
ここで、iは、成分を示している。
【0117】
この方法は、特に計算効率が高い。これで、方法のこの部分は終了する。
【0118】
図15c)は、満たされるべき条件(12)において、第1のノルムN
1(・)が1ノルム||・||
1によって与えられており、第2のノルムN
2(・)が2ノルム||・||
2によって与えられる場合の第3の実施形態を示している。ノルムのこのような組合せによって、スケーリング層S
4の入力側に印加される入力信号xにおいて、可能な限り多くの小さい成分が値ゼロに設定される。
【0119】
まずは(4000)、ステップ(2000)と同様に、スケーリング層S4の入力側に印加される入力信号x、中心パラメータc及び半径パラメータρが提供される。
【0120】
次に(4100)、符号変数ε
iが求められる。
【数21】
スケーリング層S
4の入力側に印加される入力信号xの成分x
iは、
【数22】
によって置き換えられる。
【0121】
補助パラメータγは、値ゼロに初期化される。
【0122】
次に(4200)、セットNがN={i|xi>γ}として求められ、距離尺度D=Σi∈N(xi-γ)である。
【0123】
次に(4300)、不等式
【数23】
か満たされているか否かがチェックされる。
【0124】
そうである場合(4400)、補助パラメータγが、
【数24】
によって置き換えられ、ステップ(4200)へと分岐して戻る。
【0125】
不等式(16)が満たされていない場合(4500)、スケーリング層S
4の出力側に印加される出力信号yの成分y
iが求められる。
【数25】
【0126】
表記(・)
+は、ここで、通常、
【数26】
を意味している。
【0127】
これで、方法のこのような部分は、終了する。このような方法は、ニュートン方法に相当し、特に、スケーリング層S4の入力側に印加される入力信号xの成分の多くが重要である場合に、特に計算効率が高い。
【0128】
図16は、ニューラルネットワーク60の動作方法の実施形態を示している。最初に(5000)、ニューラルネットワークが、記載された方法のうちの1つによってトレーニングされる。次に(5100)、制御システム40は、記載されたように、このようにトレーニングされたニューラルネットワーク60により動作する。これで、この方法は終了する。
【0129】
ニューラルネットワークは、フィードフォワードニューラルネットワーク(英語で「feedforward neural network」)に限定されるものではなく、本発明は、あらゆる種類のニューラルネットワーク、特に再帰型ニューラルネットワーク、畳み込みニューラルネットワーク(英語で「convolutional neural network」)、オートエンコーダ、ボルツマンマシン、パーセプトロン又はカプセルネットワーク(英語で「Capsule Neural Network」)に同様に適用され得ることが自明である。
【0130】
用語「コンピュータ」は、設定可能な計算規則を処理するための任意の装置を包含している。このような計算規則は、ソフトウェアの形態においても、又は、ハードウェアの形態においても、又は、ソフトウェアとハードウェアとの混合形態においても、存在し得る。
【0131】
さらに、これらの方法が、記載されているように、完全にソフトウェアによってしか実装されないわけではないことは、自明である。これらの方法は、ハードウェア、又は、ソフトウェアとハードウェアとの混合形態において実装されるものとしてもよい。