IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ニューララ インコーポレイテッドの特許一覧

特許7317717ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法
<>
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図1
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図2
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図3
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図4
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図5
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図6
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図7A
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図7B
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図8
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図9
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図10
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図11
  • 特許-ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-21
(45)【発行日】2023-07-31
(54)【発明の名称】ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法
(51)【国際特許分類】
   G06N 3/045 20230101AFI20230724BHJP
   G06N 3/08 20230101ALI20230724BHJP
   G06N 20/00 20190101ALI20230724BHJP
   G06F 17/10 20060101ALI20230724BHJP
   G06T 7/00 20170101ALI20230724BHJP
【FI】
G06N3/045
G06N3/08
G06N20/00 160
G06F17/10 A
G06T7/00 350C
【請求項の数】 9
(21)【出願番号】P 2019561829
(86)(22)【出願日】2018-05-09
(65)【公表番号】
(43)【公表日】2020-07-02
(86)【国際出願番号】 US2018031833
(87)【国際公開番号】W WO2018208939
(87)【国際公開日】2018-11-15
【審査請求日】2021-05-06
(31)【優先権主張番号】62/503,639
(32)【優先日】2017-05-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/612,529
(32)【優先日】2017-12-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514282530
【氏名又は名称】ニューララ インコーポレイテッド
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100170379
【弁理士】
【氏名又は名称】徳本 浩一
(74)【代理人】
【識別番号】100180231
【弁理士】
【氏名又は名称】水島 亜希子
(74)【代理人】
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】ルシウ,マシュー
(72)【発明者】
【氏名】オリヴェラ,サンティアゴ
(72)【発明者】
【氏名】ゴルシェチニコフ,アナトリー
(72)【発明者】
【氏名】ワーブズ,ジェレミー
(72)【発明者】
【氏名】ヴェルサーチ,ヘザー・エイムズ
(72)【発明者】
【氏名】ヴェルサーチ,マッシミリアーノ
【審査官】加藤 優一
(56)【参考文献】
【文献】米国特許出願公開第2017/0032222(US,A1)
【文献】米国特許出願公開第2017/0039469(US,A1)
【文献】米国特許出願公開第2014/0050391(US,A1)
【文献】米国特許出願公開第2013/0022242(US,A1)
【文献】YU, Jie,Leveraging Knowledge-based Inference for Material Classification,MM'15:Proceedings of the 23rd ACM international conference on Multimedia,2015年10月30日,pp.1243-1246,[検索日:2022.05.09],インターネット<URL:https://dl.acm.org/doi/pdf/10.1145/2733373.2806327>
【文献】高岡 哲也,ほか2名,ART1のデータ提示順序と分類結果に関する考察,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1997年12月12日,Vol.97 No.448,第87頁-第92頁
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 -99/00
G06F 17/00 -17/18
G06T 7/00 - 7/90
G06V 10/00 -20/90
G06V 30/418
G06V 40/16
(57)【特許請求の範囲】
【請求項1】
環境の中の物体を分析する方法であって、
センサによって、前記環境の中の前記物体を表すデータストリームを収集することと、
前記センサへ動作可能に連結するプロセッサ上で動くニューラルネットワークによって、前記データストリームから畳み込み出力を抽出することであって、前記畳み込み出力は、前記物体の特徴を表す、ことと、
前記ニューラルネットワークへ動作可能に連結する分類器によって、前記畳み込み出力に基づいて既知の物体のカテゴリの活性化を判定することと、
前記分類器によって、活性化の分散と、前記活性化の平均から生成されると共に前記活性化の平均より大きい動的閾値との比較に基づいて、前記物体を既知の物体のカテゴリのうちの一つに属するものである知っている物体、または前記既知の物体のカテゴリのいずれにも属さないものである以前に見ていない物体のいずれかとして分類することと
を含む、方法。
【請求項2】
前記センサは画像センサであり、前記データストリームは画像を含む、請求項1に記載の方法。
【請求項3】
前記特徴を抽出することは、
前記画像の第一画像の複数のセグメント化サブエリアを生成することと、
前記ニューラルネットワークによって、前記複数のセグメント化サブエリアの各々をコード化することと、を含む、請求項2に記載の方法。
【請求項4】
前記特徴を抽出することは、
ユーザが、前記データストリームの中で関心のある部分を選択することが可能になることと、
前記ユーザが、前記関心のある部分を複数のセグメントに分割することが可能になることと、
前記ニューラルネットワークによって、前記複数のセグメントの各々をコード化することと、を含む、請求項1に記載の方法。
【請求項5】
前記センサは、ライダー、レーダー、および音響センサのうちの少なくとも一つであり、前記データストリームは、ライダーデータ、レーダーデータ、および音響データのうちの対応する一つを含む、請求項1に記載の方法。
【請求項6】
環境のデータストリームを収集するセンサであって、前記データストリームは、前記環境の中の物体を表す、センサと、
前記センサへ動作可能に連結する少なくとも一つのプロセッサであって、(i)前記物体の特徴を表す畳み込み出力を、前記データストリームから抽出するように、ニューラルネットワークを、および(ii)前記畳み込み出力に基づいて既知の物体のカテゴリの活性化を判定し、活性化の分散と、前記活性化の平均から生成されると共に前記活性化の平均より大きい動的閾値との比較に基づいて、前記物体を既知の物体のカテゴリのうちの一つに属するものである知っている物体、または前記既知の物体のカテゴリのいずれにも属さないものである以前に見ていない物体のいずれかとして分類する分類器を実行する、少なくとも一つのプロセッサと
を備える、装置。
【請求項7】
前記センサは、画像センサ、ライダー、レーダー、および音響センサのうちの少なくとも一つを備える、請求項6に記載の装置。
【請求項8】
前記ニューラルネットワークは、ディープニューラルネットワーク(DNN)を含む、請求項6に記載の装置。
【請求項9】
前記ニューラルネットワークは、適応共鳴理論(ART)ネットワークを含む、請求項6に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、米国特許法119条(e)の下で、2017年12月31日出願の米国特許出願第62/612,529号、および2017年5月9日出願の米国特許出願第62/503,639号の優先権を主張する。これらの各出願は、その全体を参照することにより本明細書に組み込まれる。
【背景技術】
【0002】
入力層と出力層との間に配置されるニューロンの多くの層を含むディープニューラルネットワーク(DNN)を含め、従来のニューラルネットワークは、特定のデータセットに対してトレーニングのために数千回または数百万回の繰り返しサイクルを必要とする。これらのサイクルは、高性能コンピューティングサーバで頻繁に行われる。実際に、入力データセットのサイズによって、従来のDNNの中には、トレーニングに数日または数週間もかかる場合がある。
【0003】
DNNをトレーニングする一技法には、逆伝播アルゴリズムが関与する。逆伝播アルゴリズムは、誤差勾配を逆伝播させるためにチェーンルールを適用することによって、ラベル付きデータセットからの誤差勾配に比例するDNNの全重みの変化を計算する。逆伝播は、各データの重みを少し変更し、多くのエポックに対してセット中の全データに広がる。
【0004】
繰り返しサイクルごとの学習率が大きいほど、損失関数の勾配が、最小の代わりに極小に落ち着く可能性がより高くなり、それによって、パフォーマンスが低下しうる。損失関数が最小に落ち着く可能性を増大するために、DNNは学習率を減少させ、それによって、すべてのトレーニングエポックで重みが少し変更される。これによって、トレーニングサイクルの回数、および総学習時間が増加する。
【0005】
グラフィックスプロセッシングユニット(GPU)技術の進歩によって、かつては数週間または数か月かかったトレーニングジョブを達成するのに使用される、高度な並列動作のための計算能力に大きな改善がもたらされた。これらのジョブは今、GPUで数時間または数日で完了できるが、これでもまだ、リアルタイムに知識を更新するには十分速くはない。さらに、DNNを更新するために高性能計算サーバを利用すると、サーバ価格およびエネルギー消費の点からコストについて指摘される。これによって、リアルタイム動作の多くの場合に望ましい、オンザフライのDNNに基づくシステムの知識を更新するのが、非常に困難になる。
【0006】
さらに、いかなる単一のトレーニングサンプルに対して計算される損失関数の勾配も、ネットワーク中の重みすべてに影響を与えうる(通常の分散表現により)ため、標準的なDNNは、新しい物体を学習すると、以前の知識を忘れやすい。複数のエポックによる同じ入力の反復表現によって、この問題は軽減されるが、新しい知識をシステムへ迅速に追加することが非常に困難であるという欠点がある。これは、学習が、計算を限定されるエッジデバイス(例えば、携帯電話、タブレット、または小型フォームファクタプロセッサ)上で実現困難、または完全に不可能であることが一つの理由である。忘れるという問題が解決されたとしても、エッジデバイス上での学習は、トレーニングの高い計算負荷、小さなトレーニングステップ、および全入力の反復表現から、依然として実現困難であろう。
【0007】
これらの制限は、配備寿命にわたって、エッジが知識を更新する必要がありうる、単一の計算エッジだけでなく、配備のライフサイクルにわたって、新たに取得した知識を迅速に共有することが、知的エージェントの望ましい特性である、分散型多エッジシステム(例えば、ネットワークの中で接続されるスマートフォン、ネットワーク化されたスマートカメラ、ドローンまたは自動運転車両の一団、および類似のもの)にも当てはまる。
【0008】
逆伝播アルゴリズムを動かすプロセッサは、出力時の各ニューロンの誤差への寄与を算出し、ネットワーク層を通って誤差を戻し分散させる。全ニューロンの重みは、損失関数の勾配を算出することによって調整される。したがって、ネットワークが古い例を正しく分類する能力を失わないように、新しいトレーニング例は、古い例を再トレーニングせずに、事前にトレーニングされたネットワークには追加できない。古い例を正しく分類する能力を失うことを、「致命的忘却」と呼ぶ。この忘れるという問題は、動作している間にオンザフライで新しい情報を迅速に学習し組み込む必要がしばしばある、リアルタイムに動作する機械と接続しているとみなされるとき、特に関連がある。
【0009】
知識を学習するために、従来のDNNを使用する、リアルタイムに動作する機械は、DNNを再トレーニングするために、大量のデータを蓄積する必要がありうる。蓄積されたデータは、オペレータからラベルを手に入れ、その後、エッジ上で実行されるDNNを再トレーニングするために、リアルタイムに動作する機械である「エッジ」(すなわち、例えば、自動運転自動車、ドローン、ロボットなどのデバイス自体)から、中央サーバ(例えば、クラウドベースのサーバ)へ転送される。蓄積されるデータが多くなるほど、時間およびネットワーク帯域の点から、転送プロセスがより高額になる。加えて、中央サーバ上におけるインターリーブのトレーニングによって、新しいデータを、システムのライフサイクル全体用に記憶される元データと組み合わせる必要がある。これによって、厳しい伝送帯域およびデータ記憶制限が作り出される。
【0010】
要約すると、従来の逆伝播に基づくDNNトレーニングを、リアルタイムオペレーティングシステムに適用すると、次の欠点に悩まされる。
a.システムを新しい知識でオンザフライにより更新することは不可能である。
b.サーバとの通常通信、おおび知識の更新のための著しい待機時間なしでは、エッジの配備サイクルの間中の学習は不可能である。
c.新しい情報の学習には、さらなるトレーニングのため、全入力データを無期限に記憶する、サーバ空間、エネルギー消費、およびディスク空間の消費が必要となる。
d.小型フォームファクタのコンピューティングエッジデバイス上では学習できない。
e.低速で高価なサーバ側の再トレーニングおよび再配備を行わなければ、複数のエッジにわたって知識をマージできない。
【発明の概要】
【0011】
生涯ディープニューラルネットワーク(L-DNN)によって、時間を消費する、計算による集中学習を必要とすることなく、軽量の計算デバイス(エッジ)における、人工ニューラルネットワーク(ANN)およびディープニューラルネットワーク(DNN)での連続したオンライン生涯学習が可能になる。L-DNNによって、連続データストリームからのリアルタイム学習が可能になり、逆伝播学習の複数回の繰り返しのために、入力データを記憶する必要を回避する。
【0012】
L-DNN技術では、関心のある実体または事象を表す特徴の、高速だが安定的な学習を実現するように、表現豊富なDNNに基づくサブシステム(モジュールA)を高速学習サブシステム(モジュールB)と組み合わせる。これらの特徴セットは、逆伝播など、低速学習の方法論によって事前にトレーニングできる。本開示で詳細に記載する(他の特徴に関する記載は、モジュールAに非DNN方法論を採用することにより可能である)DNNに基づく事例の場合、DNNの高水準特徴抽出層は、知っている実体および事象を分類し、知らない実体および事象の知識をオンザフライで追加するように、モジュールBの高速学習システムへの入力として機能する。モジュールBは、低速学習の欠点を伴わずに、重要な情報を学習し、記述的で予測確率の高い環境の特徴を捕捉できる。
【0013】
L-DNN技法は、他の様式の中でも、視覚データ、構造化光データ、ライダー(LIDAR)データ、ソナー(SONAR)データ、レーダー(RADAR)データ、または音声データに適用できる。視覚データまたは類似のデータに対して、L-DNN技法は、全体像分類(例えば、場面検出)、境界ボックスベースの物体認識、ピクセル単位のセグメンテーション、および他の視覚認識タスクが可能になるなど、視覚処理に適用できる。L-DNN技法はまた、非視覚信号の分類などの非視覚認識タスク、およびロボット、自動運転自動車、ドローン、または他のデバイスが環境を進んでいくにつれて、徐々に知識を追加することによって、自己位置推定と環境地図作成を同時に行うこと(SLAM)で生成される地図を更新するなど、他のタスクも行うことができる。
【0014】
L-DNNがより多くの実体または事象(視覚的な用語では、「物体」または「カテゴリ」)を学習するとき、L-DNNの中でメモリを集約することによって、メモリ要件をモジュールBの制御下に保持する。加えて、L-DNN方法論によって、複数のエッジコンピューティングデバイスが、エッジを横断してそれらの知識(または入力データを分類する能力)をマージすることが可能になる。マージは、二つのモジュールB間でのニューラルネットワーク表現の直接交換によって、またはいくつかのエッジからの複数のモジュールBの表現をマージする、中間サーバを介して、ピアツーピアごとに発生しうる。最後に、L-DDNは逆伝播に依存せず、それによって、トレーニング時間、電力要件、および計算資源を劇的に減少させて、新しい入力データを使用して、L-DNN知識を更新する。
【0015】
当然のことながら、前述の概念および以下でより詳細に考察する追加的概念のすべての組み合わせは(このような概念は相互に矛盾していないという前提で)、本明細書に開示する本発明の主題の一部であると考えられる。特に、本開示の最後に現れる、特許請求の範囲に記載する主題のすべての組み合わせは、本明細書に開示する発明主題の一部であると考えられる。また当然のことながら、参照により組み込まれるあらゆる開示において明示的に用いられる用語には、本明細書に開示する特定の概念と最も一致する意味を与える必要がある。
【0016】
以下の図表および詳細な記載を検討すると、他のシステム、プロセス、および特徴が当業者に明らかとなるであろう。このようなさらなるシステム、プロセス、および特徴すべてが、本記載内に含まれ、本発明の範囲内であり、添付の特許請求の範囲によって保護されることが意図される。
【図面の簡単な説明】
【0017】
当業者であれば、図面が主として例示的な目的であること、そして本明細書に記載する本発明の主題の範囲を制限することを意図していないことを理解するだろう。図面は必ずしも一定の比率ではなく、一部の例では、本明細書に開示する本発明の主題の様々な態様は、異なる特徴の理解を容易にするために図面内で誇張または拡大されて示されうる。図面では、同様の参照文字は概して、同様の特徴(例えば、機能的に類似した、および/または構造的に類似した要素)を意味する。
【0018】
図1図1は、個々にデータストリームに作用するか、またはピアツーピアで、もしくは中間計算サーバを介して接続するかどちらかの、複数の計算エッジに関連するときの、生涯ディープニューラルネットワーク(L-DNN)の概要を示す。
図2図2は、L-DNNアーキテクチャ例を示す。
図3図3は、ニューラルネットワークにおける未知という概念の実装を示す。
図4図4は、一例示的実装としてVGG-16ベースのL-DNN分類器を示す。
図5図5は、不均一なマルチスケール物体検出を示す。
図6図6は、物体セグメンテーションのためのマスクR-CNNに基づくL-DNNを示す。
図7A図7Aは、適応共鳴理論(ART)ニューラルネットワークを使用する、集約および混合を示す。
図7B図7Bは、局所的に曖昧な情報、例えば、ラクダ(第一場面の砂漠)または犬(第二場面の郊外)のピクセル化した画像を、場面に関する大局情報、および物体間から学習した過去の関連付けによって、どのように見出すことができるかを示す。
図8図8は、ドローンベースの産業調査での使用事例へのL-DNNの適用を示す。
図9図9では、図8のドローンベースの産業調査での使用事例を、L-DNNを持つ複数のドローンがコンサートで動作する状況に拡張する。
図10図10は、L-DNNの倉庫在庫の使用事例への適用を示す。
図11図11は、まとめて知識を取得および共有するようにL-DNNを使用する、多数のスマートデバイスを示す。
図12図12は、データセンターをベースとした適用において、L-DNNが従来のDNNに代わる事例を示す。
【発明を実施するための形態】
【0019】
リアルタイムに動作する機械の継続学習
生涯学習ディープニューラルネットワークまたは生涯ディープニューラルネットワーク(L-DNN)によって、リアルタイムに動作する機械が、中央サーバまたはクラウド上で学習する必要なく、エッジにてオンザフライで学習することが可能になる。これによって、ネットワークの遅延を排除し、リアルタイムの性能を増大させ、必要に応じてプライバシーが確保される。一部の例では、リアルタイムに動作する機械は、L-DNNを使用して、現場で特定のタスクに対して更新できる。例えば、L-DNNを用いて、調査ドローンが、基地局鉄塔もしくは太陽電池パネルの最上部で問題を特定する方法を学習でき、データをローカルデバイスの外部で共有しないため、プライバシーの問題を心配することなく、ユーザの嗜好に基づいてスマートトイを自分用に設定でき、スマートフォンが、非常に長くかかる学習のために情報を中央サーバへ発送することなく、エッジで学習した知識を共有でき(全デバイスとピアツーピアでまたは大局的に)、または自動運転自動車が動作すると、知識を学習し共有できる。
【0020】
またL-DNNで、古い知識を忘れることなく、新しい知識を学習することも可能になり、それによって、致命的忘却を軽減または排除する。言い換えると、本技術によって、リアルタイムに動作する機械が、a)入力画像を送信も記憶もする必要なく、b)トレーニングに時間を消費することもなく、c)大きなコンピューティング資源もなしに、ユーザ入力に基づいて、エッジで継続的かつ最適に挙動を調整することが可能になる。配備後のL-DNNを用いた学習によって、リアルタイムに動作する機械が、その環境およびユーザの相互作用の変化に適応し、元のデータセットの欠陥に対処し、カスタマイズされた体験をユーザに提供することが可能になる。
【0021】
開示する技術はまた、複数のエッジデバイスからの知識をマージできる。このマージには、「クラウドコレクション」、ならびに知識のラベル付け、およびこの収集した知識のエッジデバイス間における共有を含み、単調で退屈な集中的ラベル付けの時間を排除する。言い換えると、エッジデバイスのうちの一つ以上からの頭脳を、一つが別のものに(ピアツーピア)マージ、またはエッジにあるデバイスの一部もしくはすべてにプッシュバックされて共有される頭脳の中へマージのいずれか一方を行える。L-DNNによって、知識のマージ/混合/共有/組み合わせが、物体数の線形的増大と変わらない速さで、メモリフットプリントの増大をもたらし、リアルタイムで生じ、結果、デバイス間で交換されるのが少量の情報となることが保証される。これらの特徴によって、L-DNNは実世界での適用に対して実用的となる。
【0022】
L-DNNは、次の二つのモジュールにより特徴付けられる、異種ニューラルネットワークアーキテクチャを実装する。
1)工場で事前にトレーニングされ固定されるか、または逆伝播、もしくはデータ入力の数列に基づく他の学習アルゴリズムによって学習するように構成されるかの、いずれかのニューラルネットワーク(例えば、ディープニューラルネットワーク)を含む、低速学習のモジュールA。
2)トレーニングサンプルをほとんど持たずに、シナプスの重みおよび表現を瞬時に変更できる、漸進的な分類器を提供する、モジュールB。この漸進的な分類器のインスタンス化の例には、例えば、適応共鳴理論(ART)ネットワーク、またはコントラスティブダイバージェンスでニューラルネットワークをトレーニングする、制限ボルツマンマシン(RBM)、およびサポートベクターマシン(SVM)または他の高速学習の教師付き分類プロセスなど、非ニューラルの方法を含む。
【0023】
L-DNNの通常の適用例は、限定するものではないが、ユーザの習慣に基づいて使用法のパターンを学習する、モノのインターネット(IoT)デバイスと、運転「スタイル」をユーザのものに順応できるか、オンザフライで新しい技能を迅速に学習できるか、または新しい私道に駐車できる、自動運転車両と、オンザフライでインフラへの損傷の新しいクラスを学習でき、動作中、短時間の学習後にこの損傷を見分けられる、ドローンと、所有者の識別のためにクラウドにpingを送ることなく、(ほぼ)瞬時に学習できる、おもちゃまたはコンパニオンロボットなどの、家庭ロボットと、前に一度も見たことがない物体を認識して反応し、新しい障害物を避け、世界地図の中に新しい物体を見つけることを学習できる、ロボットと、新しい部品、およびそれをオンザフライで操作する方法を学習できる、産業ロボットと、新しい個人または物体を学習し、ネットワークへ接続する他のカメラにより提供される画像の中にそれを迅速に発見できる、セキュリティカメラとによって例証される。上の適用は、本明細書に記載する技術革新により解除され可能になる問題のクラスの例でしかなく、学習は、費用が高く非常に長い反復学習をサーバ上で始めることが必要とされることなく、特定の適用において埋め込まれるコンピューティングデバイスに直接発生しうる。
【0024】
本明細書に開示する技術は、ビデオストリーム、能動的センサからのデータ(例えば、赤外線(IR)画像、ライダーデータ、ソナーデータ、および類似のもの)、音響データ、他の時系列データ(例えば、センサデータ、工場で生成されるデータを含むリアルタイムデータストリーム、IoTデバイスデータ、金融データ、および類似のもの)、およびこのようなデータストリームのいかなる多様式の線形/非線形の組み合わせを含むが、それらに限定するものではない、いくつかの入力様式に適用できる。
【0025】
L-DNNの概要
上に開示したように、L-DNNは、高速学習モードおよび低速学習モードを組み合わせるように、異種ニューラルネットワークアーキテクチャを実装する。高速学習モードでは、L-DNNを実装する、リアルタイムに動作する機械が、ほぼ即座に新しい知識に応答できるように、新しい知識および新しい体験を学習する。このモードでは、高速学習サブシステムの学習率は、新しい知識および対応する新しい体験に有利に働くほど高く、一方、低速学習サブシステムの学習率は、古い知識および対応する古い体験を保存するように、低い値またはゼロに設定される。
【0026】
図1は、マスターエッジ/中央サーバおよびいくつかの計算エッジ(例えば、ドローン、ロボット、スマートフォン、または他のIoTデバイス)を含む、L-DNNを動かす複数デバイスがコンサートで動作する、L-DNNアーキテクチャの概要を提供する。各デバイスは感覚入力100を受信し、それを、低速学習モジュールA102および高速学習モジュールB104を備える、対応するL-DNN106へ供給する。各モジュールA102は、事前に学習した(固定の重み)DNNに基づき、特徴抽出器として機能する。モジュールA102は、入力100を受信し、関連する特徴を物体の圧縮表現の中へ抽出し、これらの表現を対応するモジュールB104へ供給する。モジュールB104は、これらの物体表現を高速で学習できる。ユーザとのやり取りを通して、モジュールB104は、知らない物体に対する正しいラベルを受信し、各特徴ベクトルと対応するラベルとの間の関連付けを迅速に学習し、結果として、これらの新しい物体を即座に認識できる。複数のL-DNN106は、異なる入力を学習するとき、新しく取得した知識を混合し(融合し、マージし、または組み合わせ)、以下に開示するように、それを他のL-DNN106と共有するために、ピアツーピアで(破線)または中央サーバへ(点線)接続できる。
【0027】
以下に提示する物体検出のL-DNN実装例は、従来の物体検出のDNN「You only look once(見るのは一度のみ)」(YOLO)と比較する、次の試験結果を生み出した。一つの物体を持つ、小さな(600画像)同じカスタムデータセットを使用して、両ネットワークをトレーニングし検証した。これらのうちの200画像を検証セットとして使用した。異なるサイズの四つのトレーニングセット(100、200、300、および400画像)が、残りの400画像から作り出された。L-DNNトレーニングでは、トレーニングセットの各画像が一度提示された。従来のDNN YOLOでは、無作為にトレーニングセットをシャッフルすることによってバッチを作り出し、トレーニングはこれらのバッチを複数回繰り返して進められた。トレーニング後、両ネットワーク上で検証を行い、次の平均適合率の平均(mAP:mean average precision)の結果を生み出した。
【表1】
【0028】
さらに、400画像のトレーニングセットを使用したL-DNNに対するトレーニング時間は1.1秒であり、YOLOに対するトレーニング時間は21.5時間であった。これは驚くほど大きな性能の改善である。L-DNNのメモリフットプリントは320MBであり、一方、YOLOのフットプリントは500MBであった。これらの結果は、L-DNNが、従来のDNN YOLOよりも良い精度を実現でき、より小さいデータセット、さらにより高速のトレーニング時間、およびより少ないメモリ要件でこれを行えることを明らかに示している。
【0029】
L-DNNアーキテクチャの例
図2は、ロボット、ドローン、スマートフォン、またはIoTデバイスなど、リアルタイムに動作する機械によって使用される、L-DNNアーキテクチャの例を示す。L-DNN106は、二つのサブシステム、低速学習モジュールA102および高速学習モジュールB104を使用する。一実装では、モジュールAは事前にトレーニングされたDNNを含み、モジュールBは高速学習の適応共鳴理論(ART)パラダイムに基づき、DNNはARTへ、後者の特徴層のうちの一つ(通常、DNN自体が完全に接続した層を分類する直前の層、または直前から二番目の層)の出力を供給する。複数のDNN層が、一つ以上のモジュールBへ入力を提供できる(例えば、マルチスケール、投票、または階層形式で)、他の構成も可能である。
【0030】
デジタルカメラ、検出器配列、またはマイクロホンなど、入力源100は環境から情報/データ(例えば、ビデオデータ、構造化光データ、音声データ、それらの組み合わせ、および/または類似のもの)を取得する。入力源100は、カメラシステムを含む場合、リアルタイムに動作する機械を囲む環境のビデオストリームを取得できる。入力源100からの入力データは、リアルタイムでモジュールA102によって処理され、モジュールA102は、モジュールB104への入力として、圧縮された特徴信号を提供する。この例では、ビデオストリームは、モジュールAおよびBによってリアルタイムで一連の画像フレームとして処理できる。モジュールAおよびモジュールBは、適切な揮発性および不揮発性メモリ、ならびに適切な入力/出力インターフェースを伴い、グラフィックプロセッサユニット、フィールドプログラマブルゲートアレイ、または特定用途向け集積回路などの適切なコンピュータプロセッサに実装できる。
【0031】
一実装では、入力データが、モジュールAの事前にトレーニングされたディープニューラルネットワーク(DNN)200に供給される。DNN200は、例示的実装セクションで詳細に示すように、入力情報/データを表すのに用いることができる特徴を、抽出するように使用される畳み込み層204のスタック202を含む。DNN200は、望ましいレベルのデータ表現を実現するように、配備前に工場で事前にトレーニングできる。DNN200は、そのアーキテクチャを判定する構成ファイルと、トレーニング中に取得される知識を表す、対応する重みのセットとによって、完全に定義できる。
【0032】
L-DNNシステム106は、DNNの重みが優れた特徴抽出器であるという事実を活用する。一つ以上の高速学習ニューラルネットワーク分類器を含むモジュールB104を、モジュールA102のDNN200へ接続するために、最初のDNNにより分類時に作動するDNNの上位層の一部のみ(例えば、図2の層206および208)を無視するか、またはさらにまとめてシステムから取り去る。高水準特徴抽出層204の望ましい未加工の畳み込み出力にアクセスして、モジュールB104への入力として機能させる。例えば、元のDNN200は大抵、勾配降下技法でトレーニング中に重みを最適化することが可能になるように使用される、コスト層208に加えて、多数の完全に接続された平均化を行うプーリング層206を含む。これらの層は、DNNトレーニング中、またはDNN200から直接予測を得るために使用されるが、モジュールB104用の入力を生成するためには必要ない(図2の陰影は、層206および208が不必要であることを示す)。代わりに、モジュールB104のニューラルネットワーク分類器に対する入力は、DNN204の畳み込み層のサブセットから取られる。異なる層または複数の層を使用して、モジュールB104への入力を提供できる。
【0033】
DNN200上の各畳み込み層は、局所受容フィールドを使用して、前層の小領域から情報を集めるフィルタを包含する。これらのフィルタは、DNNの畳み込み層を通して空間情報を維持する。特徴抽出器の一つ以上の後期畳み込み層204からの出力(絵によってテンソル210として表す)は、モジュールB104の中のニューラルネットワーク分類器(例えば、ART分類器)の入力ニューロン層212へ供給される。例示的実装セクションで詳細に記載するように、L-DNN106が全体画像分類または物体検出のために設計されたかによって、モジュールA102の各後期畳み込み層204と、モジュールB104のそれぞれの高速学習ニューラルネットワーク分類器との間に、1対1または1対多の対応がありうる。
【0034】
DNN200からモジュールBシステム104へ伝送されるテンソル210は、元の入力データ(例えば、センサ100からの元画像)からのn層スタックの表現として見ることができる。この例では、スタックの各要素は、カメラからの入力画像と同じ空間地形を持つグリッドとして表される。n個のスタックにわたる各グリッド要素が、モジュールBのニューラルネットワークへの実際の入力である。
【0035】
初期モジュールBのニューラルネットワーク分類器は、配備後のオンザフライによる学習を促進するように、任意の初期知識で、またはモジュールA102のトレーニングされた分類で事前にトレーニングされうる。入力源100が環境に関連するデータをL-DNN106へ提供すると、ニューラルネットワーク分類器は、DNN200からのデータ(例えば、テンソル210)を連続して処理する。モジュールBのニューラルネットワーク分類器は、高速の、好ましくは、ワンショット学習を使用する。ART分類器は、一致に基づくパターン学習を実装するように、ニューロンのような要素間のボトムアップ(入力)およびトップダウン(フィードバック)の連想型投影、ならびにカテゴリ間で競争を実施するように水平投影を使用する。
【0036】
高速学習モードでは、新規の特徴セットが、モジュールA102からの入力として提示されるとき、ARTベースのモジュールB104は、特徴をF1層212に入力ベクトルとして置き、この入力ベクトルと既存の重みベクトル214との間の距離操作を計算して、F2層216で全カテゴリノードの活性化を判定する。距離は、ファジーAND(ARTのデフォルトバージョン)、ドット積、またはベクトル末端間のユークリッド距離のいずれかとして計算される。その後、カテゴリノードは、最も活性化が高いものから最も低いものへと並び替えられ、カテゴリノード間で競争を実施し、この順序で勝者候補とみなされる。勝者候補のラベルが、ユーザにより提供されるラベルと一致する場合、対応する重みベクトルを更新して、最も簡単純な実装では、勝者ノードに対して新しい入力と既存の重みベクトルとの重み付き平均を取る学習プロセスを通して、新しい入力を普遍化して含める。正しいラベルを有する勝者がいない場合、新しいカテゴリノードは、入力のコピーである重みベクトルを伴い、カテゴリ層F2の216に導入される。どちらの場合も、モジュールB104はこのときにはこの入力を知っており、次の提示では認識できる。
【0037】
モジュールB104の結果は、L-DNN106が解決しているタスク次第で、結果自体でL-DNN106の出力として、またはモジュールA102からの特定のDNN層からの出力との組み合わせとして、いずれかで機能する。場面全体の物体認識に対して、全体画像を分類するとき、モジュールBの出力は十分でありうる。物体検出のために、モジュールB104によって、モジュールAの活動から判定される境界ボックス上に重ね合わせるクラスラベルが提供され、そのため、各物体は、モジュールA102によって正しく見つけられ、モジュールB104によって正しくラベル付けされる。物体セグメンテーションのために、モジュールA102からの境界ボックスが、ピクセル単位のマスクに置き換えられ、モジュールB104がこれらのマスク用のラベルを提供してもよい。モジュールA102およびモジュールB104のさらなる詳細を、以下に提供する。
【0038】
ニューラルネットワークにおけるリアルタイム動作および未知という概念
通常のL-DNNおよび特定のモジュールBは、連続する感覚入力にリアルタイムで動作するように設計されるため、モジュールBのニューラルネットワークは、知っている物体が全く提示されないときも、混乱しないように実装されるべきである。従来のニューラルネットワークは、入力にラベル付きの物体を通常包含するデータセットを標的としているため、結果として、知っている物体が存在しない場合、入力に対処する必要がない。したがって、このようなネットワークをL-DNNのモジュールBで使用するには、「何も知らない(Nothing I know)」というさらなる特別カテゴリをネットワークへ追加して、知らない物体を知っていると間違って分類するモジュールBの試み(偽陽性)を軽減するべきである。
【0039】
この「何も知らない」という概念は、もっぱら以前は見えずラベルのない物体を包含しうる、実況の感覚ストリームを処理するときに有用である。これによって、モジュールBおよびL-DNNは、潜在的に、知らない物体を誤って知っている物体と識別する代わりに、知らない物体を「何も知らない」または「以前に見ていない(not previously seen)」と識別することが可能になる。「何も知らない」という概念の実装で従来の設計を拡張することは、バイアスノードをネットワークへ追加することと同じくらい単純でありうる。「何も知らない」の概念はまた、既知の物体クラスの数およびそれらが対応する活性化に従って、自動的に影響を増減させるバージョンで実装できる。
【0040】
「何も知らない」の概念の一つの可能な実装は、いくつかのカテゴリへ例外なく分散するのとは対照的に、内部への知識分散が明確に共通カテゴリに集中している予測に有利に働く、内在する動的閾値として働く。言い換えると、モジュールBのニューラルネットワーク分類器は、ある物体に対して、既知の物体クラスの中に明確な勝者がいると示すとき、物体が勝者クラスに属すると認識する。しかし、複数の異なる物体が類似の活性化を有する(すなわち、明確な勝者はいない)とき、システムは物体が未知であると報告する。学習プロセスで明示的にラベルを使用するため、「何も知らない」の実装によって、認識モードに影響を与えるのみであってもよく、学習モードに干渉しない場合がある。
【0041】
ARTネットワークを使用する「何も知らない」の概念の例示的実装を、図3に提示する。入力の提示中、カテゴリ層F2の216は、そのノードにわたって活性化パターンで応答する。知っている物体を包含する入力には、図3の上の事例のように、卓越した勝者300がいる可能性が高い。知っている物体を包含しない入力では、図3の下の事例に示すように、F2層の活動がより一律に分散する可能性が高い。第二事例にさえ、閾値(図3の点線)より高い活動を伴うノード302がありうるため、全活性化の平均を算出し、閾値として使用することは、これら二つの事例を区別するには不十分である。図3の上の事例でのように、明確な勝者300のみが閾値(図3の破線)の上方に留まるように、平均に1以上のパラメータを乗じることによって、閾値を大きくする。
【0042】
このパラメータの正確な値は、複数の因子に依存し、ネットワークが学習してきたカテゴリ数、およびネットワークの中のカテゴリノードの総数に基づいて自動的に算出できる。算出の例は、次のとおりである。
【数1】

式中、θは閾値であり、Cは既知のカテゴリ数であり、Nはカテゴリノード数であり、倍率sは、モジュールAで使用されるDNNタイプに基づいて設定され、L-DNN準備中に微調整される。sを高く設定しすぎると、ニューラルネットワークの偽陰性率が増大する場合があり、低く設定しすぎると偽陽性率が増大しうる。
【0043】
「何も知らない」の概念を利用して独立型モジュールBをトレーニングすると、次の結果が生み出された。Columbia Object Image Library100(COIL-100)データセットの中の100個の物体から50個の物体を、トレーニングセットとして使用した。50個の新規物体が、独立型モジュールBによって「何も知らない」と認識されるように、COIL-100データセットから全100個の物体を、テストセットとして使用した。トレーニング中、リアルタイム動作をシミュレートするようにシャッフルすることは全く行わず、独立型モジュールBのART分類器に1個ずつ物体を供給した。トレーニング後、ART分類器は95.5%という認識率(物体と「ない」との組み合わせ)を実証した。比較のために、COIL-100データセットの中の全100個の物体のシャッフルしていないデータセットを、従来のARTへ供給すると、認識率は55%のみであった。これは、以下で考察するARTの順序依存性が原因でありうる。
【0044】
入力が、モジュールBのART分類器によって認識されない場合、補正を導入し、望ましい入力をラベル付けするのは、ユーザ次第である。認識されない入力が重要でない場合、ユーザはその入力を無視でき、ART分類器は「何も知らない」として識別し続けるであろう。物体がユーザにとって重要である場合、ユーザはそれをラベル付けでき、高速学習モジュールBのネットワークによって、物体の特徴および対応するラベルが、知識へ追加されるであろう。モジュールBは、この新しい物体と関連する特徴セットを強化するように、この物体を見守り続け、より多くの視点を追加する、トラッカーシステムを作動できる。
【0045】
モジュールAの例示的実装
動作中、モジュールAは特徴を抽出し、物体の圧縮表現を作り出す。畳み込みディープニューラルネットワークは、以下に概説するように、このタスクに非常に適している。
【0046】
畳み込みニューラルネットワーク(CNN)は、畳み込みユニットを使用するDNNであり、ユニットのフィルタ(重みベクトル)の受容フィールドが、入力の高さおよび幅寸法にわたって段階的に変わる。視覚入力に適用されるとき、CNNの初期層への入力は高さ(h)、幅(w)、および一つから三つのチャネル(c)の寸法(例えば、赤、緑、および青色ピクセルの構成要素)を伴う画像であり、一方、CNNのその後の層への入力は、高さ(h)、幅(w)、および前の層からのフィルタの数(c)という寸法を有する。各フィルタが小さいため、完全に接続する層と比較して、パラメータの数は大幅に減少し、(h,w,c)の各々から次の層上の各ユニットへ投影する一意の重みがある。畳み込み層については、各ユニットは、(f,f,c)と等しい重みの数を有し、fは、hまたはwのいずれよりも非常に小さい、空間フィルタサイズ(通常、3)である。各フィルタを入力中の異なる空間位置で適用することで、物体が一つの空間位置にあるときに分類できる場合、物体を含む特徴は、物体の空間位置から独立しているため、物体はすべての空間位置において分類できるという点で、並進不変という好ましい特性が提供される。
【0047】
畳み込み層の後に、大抵、サブサンプリング(ダウンサンプリング)層が続く。これらは、入力の小さい空間ウィンドウ(例えば、2×2)を単一値に減少させることによって、入力の高さ(h)および幅(w)を減少させる。減少には、平均化(平均プーリング)または最大値の採用(最大プーリング)が使用されている。サブサンプリング層の応答は、画像の小さな変化に対して不変であり、この効果は、通常のCNNの複数層の上に蓄積される。推論では、いくつかの畳み込み層およびサブサンプリング層を画像に適用すると、出力は、並進、回転、拡大縮小、および反りなどまで、入力の様々な変形に対して素晴らしい安定性を呈し、例えば、続きの(ペンを持ち上げることなく書かれた)手書き数字についてトレーニングされたネットワークは、トレーニングセットの数字「3」と、小さい円をつなげ合わせて書かれた数字「3」とに同様の応答をする。
【0048】
これらの不変性によって、入力のコード化で、視覚の変動に対する安定度が向上した特徴空間が提供され、つまり、入力が変化する(例えば、物体が、画像フレームにおいてわずかに並進して、回転する)とき、出力値の変化は入力値よりも非常に小さくなる。これによって学習は可能になるが、例えば、数ピクセル分並進した物体を伴う二つのフレームのコード化に、ほとんどまたは全く類似性がない、別の方法の上に学習するのは困難でありうる。
【0049】
さらに、大規模なデータセットからフィルタを学習するために、近年GPUを加速する勾配降下技法を使用することで、CNNは、よくトレーニングされた物体クラスに対して、普遍化された素晴らしい性能に到達できる。普遍化とは、トレーニングされたクラス内で、トレーニングされた画像と同一ではないテスト画像に対して、ネットワークが類似の出力を生み出せることを意味する。クラスを定義する主要な規則性を学習するには、大量のデータが必要である。ネットワークが多くのクラスについてトレーニングされている場合、フィルタが全クラス間で共有される下位層は、すべての自然入力に良好な規則性のセットを提供する。したがって、一つのタスクについてトレーニングされたDNNは、他のタスクの初期化として使用される場合、または下位層を、新しい高水準表現に対してプリプロセッサとして使用する場合、優れた結果を提供できる。自然な画像は統計的特性の共通セットを共有する。よくトレーニングされたニューラルネットワーク内部の視覚化における、最近の研究が示すように、下層で学習される特徴は、ほとんどクラスに依存しない一方、上の層になればなるほど、よりクラスに依存するようになる。
【0050】
L-DNNでは、モジュールBが、分類のため、高品質で圧縮され普遍化された物体特徴の表現を得るように、モジュールAのこれらCNNの能力を活かす。この利点を増大または最大化するために、L-DNNに使用されるDNNは、可能な限り多くの異なる物体に対して事前トレーニングされてもよく、そのため、高水準特徴層の物体特異性は、L-DNNの高速学習能力に干渉しない。
【0051】
モジュールBの例示的実装
動作中、モジュールBは、新しい物体を迅速に致命的忘却なしに学習する。
【0052】
適応共鳴理論(ART)
モジュールBの一例示的実装は、ARTニューラルネットワークである。ARTでは、各物体提示に対して勝者ノードを判定するように、カテゴリノード間の競争を利用することによって致命的忘却を避ける。この勝者ノードが、物体の正しいラベルと関連付けられる場合、およびその場合にのみ、学習アルゴリズムがそのノードの重みを更新する。各ノードは一つの物体のみと関連付けられ、学習アルゴリズムは、勝者ノードに対してのみ重みを更新するため、ARTのいかなる学習エピソードも、たった一つの物体にのみ影響を与える。したがって、新しい物体がシステムに追加されるとき、前の知識の干渉はなく、むしろARTは、新しいカテゴリノードを作り出し、対応する重みを更新するのみである。
【0053】
残念ながら、文献に記載されているARTには、L-DNNのモジュールBとして成功裏に使用するのを阻止する、いくつかの不利点がある。これらの不利点のうちの一つ、特に「何も知らない」の概念の欠如は、ARTに特有なわけではなく、上で考察している。ART特有の問題およびこれらの問題に対するソリューションのリストを、以下に開示する。
【0054】
古典的なファジーARTは、その設計の不可欠な部分である補数コーディングのため、スパース入力に上手く対処しない。スパース入力が補数コーディングされるとき、スパース入力に豊富に存在する0の補数が1であるため、補数部分は、構成要素の大部分で高い活性を有する。これらの1すべてが入力の補数部分にあることから、距離計算中に異なる入力を互いから分離することが非常に難しくなるため、システムは混乱する。他方で、DNNのような強力な特徴抽出器は、高水準の特徴抽出時に、もっぱらスパース信号を提供する傾向がある。ARTパラダイムを保持するが、古典的なファジー設計および補数コーディングからは離れることは、L-DNNのモジュールBでARTを使用するには有用となる。ソリューションの一つは、補数コーディングを除去し、ファジーARTにより使用されるファジーANDの距離計量を、ドット積に基づく計量と取り替えることである。このドット積に基づく計量には、結果は正規化されたままであり、ファジーARTへの他の変更は必要ないという利点がある。
【0055】
ニューラルネットワークのARTファミリは、入力の提示順に非常に敏感である。言い換えると、ARTは一貫性の特性を欠き、異なる入力順が、ARTネットワークの中の対応する物体の異なる表現につながる。残念ながら、L-DNNのようなリアルタイムオペレーティングシステムは、センサからトレーニングデータを受信するときにそれを消費するため、一貫性を提供するように、トレーニングデータをシャッフルすることができない。センサは、リアルタイム動作中頻繁に、第一物体の大部分またはすべてのサンプル、それから後続の物体の全サンプルを提供するため、システムは一度に一つずつ物体表現を学習する。これによって、他の物体と競争せずに、システムが間違わず、それゆえ物体表現を適切に精緻化しうるため、いくつかのノードのみが第一物体を提示する状況につながってもよい。他方で、後続の物体は、システムが、第一物体の表現により既に大部分が占有されている超空間の中へ、その表現を押し込むであろうため、誇大に表現されうる。上に記載した「何も知らない」のメカニズムによって、早い段階で競争を導入し、第一物体のきめ細かい表現を保証する。上に記載した集約は、後続の物体の誇大表現になり、それを減少させ、またはそれを排除する。
【0056】
また集約によって、物体表現のメモリフットプリントも減少し、メモリが限定されるエッジデバイスにとって特に有益である。システムが他の方法では分類できない物体のすべての視点に対して、新しいカテゴリノードを作り出すことは、新しい物体が入力として追加されるとき、ARTシステムのメモリフットプリントが一定の割合で増加することにつながる。上に記載したリアルタイム動作および続いて起こる物体の提示の間、システムは、次に続く各物体に対して、超線形的に増加する数のノードを作り出す。一部の事例では、システムは、物体の数に伴い、ノードの数の指数関数的増大を経験する。したがって、従来のARTを使用する、モジュールBのメモリフットプリントは、物体の数による線形増加よりも速く増大しうる。最悪の場合、この増大は指数的でありうる。集約によって、メモリの増大を、物体の数と線形と変わらない速さに抑制し、L-DNNが学習する各物体に対する、固定サイズのほぼ最適表現を作り出すことが可能になる。
【0057】
完全なL-DNN実装の例
【0058】
L-DNN分類器
図4は、モジュールAのコアとして修正されたVGG-16のDNNを使用する、全体画像分類のための例示的なL-DNN実装を表す。ソフトマックスおよび完全に接続した最後の2層が、元のVGG-16のDNNから除去され、ARTベースのモジュールBが、VGG-16のDNNの完全に接続した第一層に接続する。類似だがより一層単純なL-DNNは、VGG-16の代わりにAlexnetを使用して作り出すことができる。これは非常に単純で計算コストが低いシステムであり、現代のいかなるスマートフォン上でも動き、GPUもいかなる他の専用プロセッサも必要とせず、スマートフォンのカメラにより提供される数個の入力フレームから、いかなる物体のセットも学習できる。
【0059】
L-DNNグリッドベースの検出器
画像の中で関心のある物体を検出する一つの手段は、画像をグリッドに分け、各グリッドセル上で分類を行うことである。L-DNNのこの実装では、CNNの以下の特徴が特に有用である。
【0060】
上に記載した層にわたる縦の階層組織に加えて、各層は、地形組織を維持するデータを処理する。これは、ネットワークもしくはカーネル、ストライド、またはパッドサイズのどのくらいの深さかにかかわらず、画像上の関心のある特定のエリアに対応する特徴を、層の類似エリアに、様々な解像度のすべての層上に見つけられることを意味する。例えば、物体が画像の左上隅にあるとき、対応する特徴は、層の階層に沿って各層の左上隅に見つかるだろう。したがって、モジュールBを層の場所の各々に取り付けることによって、モジュールBが、画像の特定の場所上で分類を行い、いずれか知っている物体がこの場所に存在するかを判定することを可能にする。
【0061】
さらに、同じ特徴ベクトルは、画像中の位置にかかわらず、同じ物体を提示するため、入力として使用される各DNN層(またはスケール)につき、モジュールBを一つのみ作り出さなくてはならない。それゆえ、右上隅にある一つの物体を学習することによって、モジュールBが画像中のどこででも、その物体を認識することが可能になる。別個のモジュールBへの入力として、異なるサイズ(スケール)の複数のDNN層を使用することによって、複数のスケールでの検出が可能になる。これは、次のプロセスにおいて、より細かいスケールで全体画像を処理することなく、画像の中で物体の位置を微調整するのに使用できる。
【0062】
このプロセスでは、モジュールAは分類用に、最も粗いスケール(例えば、公的に入手可能なExtractionNetの7×7)の画像をモジュールBへ提供する。モジュールBが、物体を左端から2番目、上端から4番目にあるセルに発見したと示す場合、より細かいDNN入力(例えば、同じExtractionNetの14×14)の対応する一部のみを分析して、物体の場所をさらに精緻化すべきである。
【0063】
マルチスケール検出の別の適用では、層のサイズが互いの倍数ではない、DNN設計を使用できる。例えば、DNNは、30×30の層を有する場合、2×2(圧縮因子15)、3×3(圧縮因子10)、および5×5(圧縮因子6)の層にまで減少されうる。図5に示すように、モジュールBをこれらの圧縮したDNNの各々へ取り付けると、物体の大雑把な場所(502、504、506として示す)が得られる。しかし、これらモジュールBの出力が組み合わされている場合(508として示す)、空間解像度は、中心の解像度がより高く、端に向かって解像度がより低くなる、不均一な8×8グリッドとなる。
【0064】
この解像度を実現するには、システムは、モジュールBの計算を(2×2)+(3×3)+(5×5)=38回のみ行う一方、均一な8×8グリッドを計算するには、64回モジュールBの計算を行うことに留意されたい。より少ない計算で算出されることに加えて、中央の36個の場所に対する、図5のマルチスケールグリッドの解像度は、均一な8×8グリッドの解像度と等しいか、またはそれよりも細かい。したがって、マルチスケール検出によって、システムは、同等の均一グリッドの計算資源の60%のみを使用して、より正確に物体の場所(510)を示すことができる。この性能差は、合計の2乗(均一グリッドに対する計算回数を表す)が、2乗の合計(不均一グリッドに対する計算回数を表す)よりも早く大きくなるため、より大きな層に対して増加する。
【0065】
不均一(マルチスケール)検出は、視野の中心にある物体が、ロボットの経路にいる可能性が最も高く、危険な衝突の兆候を提示しない周辺の物体よりも、正確に検出されることから恩恵を受けるため、動くロボットに対して特に有益でありうる。
【0066】
画像セグメンテーション用のL-DNN
画像に対して、物体検出は通例、物体の回りに境界ボックスを置き、関連するクラス(例えば、「犬」)とラベル付けするタスクとして定義される。前セクションのグリッドに基づく方法に加えて、物体検出技法は通例、境界ボックスを伴う画像の一つ以上の領域を選択し、その後、そのボックス内の特徴を特定のクラスとして分類しながら、同時に境界ボックスの場所のオフセットを回帰推定することによって実装される。この物体検出の方法を実施するアルゴリズムは、Region-based CNN(R-CNN)、Fast R-CNN、およびFaster R-CNNを含むものの、位置確認を行わないいずれの方法も、検出モジュールとして置き換えられてもよい、分類情報に直接依存する。
【0067】
画像セグメンテーションは、画像の中のピクセルのすべてまたはサブセットに対して、クラスラベルを判定するタスクである。セグメンテーションは、同じクラスの二つの別個の物体からの個々のピクセルの曖昧さを解消する、セマンティックセグメンテーションと、同じクラスの二つの別個の物体からの個々のピクセルを、一意に識別またはインスタンス化する、インスタンスセグメンテーションとに分かれてもよい。画像セグメンテーションは通例、物体検出方法(R-CNN、Fast R-CNN、またはFaster R-CNNなど)の境界ボックス出力を取り出し、そのボックスで最も目立つ物体をセグメント化することによって実施される。境界ボックスと関連付けられるクラスラベルが、その後、セグメント化された物体と関連付けられる。境界ボックスに起因しうるクラスラベルがない場合、セグメンテーション結果は破棄される。結果として得られるセグメント化された物体は、インスタンス情報を有していてもいなくてもよい。このセグメンテーションの方法を実施する一つのアルゴリズムが、Mask R-CNNである。
【0068】
ネットワークのR-CNNファミリに基づく、画像検出またはセグメンテーション用のL-DNN設計を、図6に提示する。Mask R-CNNなど、静的分類モジュールを使用する画像セグメンテーションプロセスについて考える。このシナリオでは、静的分類モジュール600は、L-DNNのモジュールB104と取り替えられてもよい。すなわち、ネットワークのセグメンテーション経路は変わらないままであり、領域は通常どおりに提案され、続けてセグメント化される。静的分類モジュールを伴う場合のように、L-DNNのモジュールB104が、閾値を渡す肯定的なクラス予測を全く返信しない(例えば、ネットワークがトレーニングされていない、またはセグメント化されたエリアを、上に記載したような「何も知らない」と認識する場合に生じるような)とき、セグメンテーション結果は破棄される。同様に、L-DNNのモジュールB104が許容可能なクラス予測を返信するとき、静的分類モジュールと同じように、セグメンテーション結果は保持される。静的分類モジュール600とは異なり、L-DNNのモジュールB104は、ユーザフィードバックによって前者から後者へ状態を変更するように、継続適応を用意する。
【0069】
ユーザフィードバックは、ユーザがソーシャルメディアプロフィール上で物体を選択してタグ付けする場合など、直接的に境界ボックスおよびクラスラベルを通して、またはユーザがビデオの中で物体を選択し、その後、物体がビデオ中を通して追跡され、新しい物体クラスに関する連続フィードバックを提供する場合など、間接フィードバックを通して提供されてもよい。このフィードバックは、新規のクラスネットワークを経時的に分類する方法を、L-DNNにトレーニングするために使用される。このプロセスは、ネットワークのセグメンテーション構成要素には影響を与えない。
【0070】
また、このパラダイムでのモジュールB104の配置にも、ある程度柔軟性がある。モジュールB104への入力は、クラスラベルが、セグメンテーション出力と組み合わせられ、セグメント化されラベル付けされた出力602を生み出してもよいように、モジュールAの畳み込み層202の出力へ直接リンクされるべきである。この制約は、両モジュールAおよびBに、領域提案段階の出力を取らせることによって満たされうる。モジュールAは、モジュールBのいかなる動的部分にも依存すべきではない。すなわち、モジュールBはネットワークの重みに適応しているが、モジュールAが静的であるため、モジュールBが重みを変更し、その後、その出力をモジュールAへ渡すべき場合、モジュールAは、ほとんどの静的ニューラルネットワークが、ネットワークの入力表現の急な変更に対処できないため、性能の低下を見る可能性が高いであろう。
【0071】
頭脳の集約および頭脳の混合
L-DNNを実装する複数のリアルタイムに動作する機械は、L-DNNを通して新しい情報をオンザフライで個々に学習できる。一部の状況では、次のセクションに記載する、いくつかの使用事例で概説するように、リアルタイムに動作する機械間で知識を共有することは有利でありうる。リアルタイムに動作する機械がエッジで新しい知識を学習するので、新しい知識を共有するために、各リアルタイムに動作する機械は、エッジから中央サーバへまたは他のリアルタイムに動作する機械へ、新しい情報の、圧縮され普遍化された表現(モジュールBのシナプスの重み行列という観点から、ネットワークに表される)を送信する。次のステップを実施することによって、各リアルタイムに動作する機械により取得される知識を、中央サーバでまたは直接エッジデバイス上のいずれかで、抽出し、加えて、集約し、集中型通信またはピアツーピア通信によって、他のリアルタイムに動作する機械と共有できる。
【0072】
・配備された現場で新しい情報を学習 ― 上で考察したように、リアルタイムに動作する機械は、新しい情報をL-DNNによってオンザフライで学習できる。ユーザは、リアルタイムに動作する機械が新しい物体および/または新しい知識に遭遇していると分かると、リアルタイムに動作する機械が、新しい物体および/または新しい知識をオンザフライで学習できるように、新しい物体にラベルを提供し、高速学習モードをトリガできる。このように、リアルタイムに動作する機械は、その挙動を修正し、迅速に新しい物体および/または新しい知識に適応できる。
【0073】
・新しい知識の集約 ― 一つ以上の物体をオンザフライで学習した後、システムは、高速学習モジュールBで集約プロセスを動かす。このプロセスによって、新しい物体の表現を圧縮し、以前から既知である物体の表現と統合し、ネットワークの普遍化能力を向上させ、モジュールBのメモリフットプリントを削減する。ARTネットワークに基づく例示的実装について、以下で詳細に示す。
【0074】
・集約された個々の頭脳を他のデバイスへ伝達 ― 動作中のいずれの時点でも、またはミッション完了後に、リアルタイムに動作する機械は、その高速学習モジュール(モジュールB)の集約された重み行列を、有線または無線通信チャネルを通して中央サーバ(例えば、クラウドベースのサーバ)へ伝送できる。一部の例では、各リアルタイムに動作する機械の高速学習モジュールの重み行列を、外部記憶デバイスへダウンロードでき、中央サーバへ物理的に連結できる。中央サーバが利用可能でない、または望ましくないとき、通信はリアルタイムに動作する機械(エッジデバイス)間にピアツーピア形式で生じうる。
【0075】
・頭脳混合(または融合、マージ、組み合わせ) ― いくつかのリアルタイムに動作する機械からの重み行列が、中央サーバまたはエッジデバイスのうちの一つで収集された後、中央サーバまたはエッジデバイスは、各リアルタイムに動作する機械から新しく取得される知識を組み合わせ、単一の重み行列へ圧縮し、集約する混合ユーティリティを動かすことができる。混合ユーティリティによって、システム全体の精度を保ちながら、結果として得られる行列のメモリフットプリントを削減し、冗長性を除去する。ARTネットワークに基づく例示的実装について、以下で詳細に示す。
【0076】
・混合後の個々の頭脳の更新 ― 頭脳混合中に作り出される、結果として生じる重み行列は、その後、有線もしくは無線通信チャネルを通して、または物理的外部記憶/メモリデバイスへダウンロードし、記憶/メモリデバイスをリアルタイムに動作する機械へ物理的に輸送することによって、一つ以上のリアルタイムに動作する機械へダウンロードされる。
【0077】
このように、複数のリアルタイムに動作する機械からの知識を集約することができ、これらの機械の各々により学習される新しい知識を、他のリアルタイムに動作する機械と共有できる。
【0078】
ARTを使用する頭脳集約および混合プロセスの例示的実装
図7Aは、ARTを使用する例示的な頭脳集約および混合プロセスを示す。図では、次のように既定のARTプロセスを拡張する。層F2の216にあるARTのカテゴリノードの各々は、ある物体を表し、各物体は、それを表す一つ以上のカテゴリノードを有する。図7Aの左側は、層F1の212により活性化される、層F2の216にあるカテゴリノードに対する重みパターン702を示す。各重みパターンは、層F1の212へ提供される、複数の現実の特徴入力210から学習された、普遍化された入力パターンを表す。ARTでの学習は、カテゴリノードおよび対応する物体が、競争に勝利していて、問題の物体を正しく識別しているときにのみ生じることに留意されたい。
【0079】
図7Aの中央は、異なる物体に対する複数の入力210が、ARTネットワークへ提示された後の、層F2の216にある異なるカテゴリノードの重みパターン702を示す。各重みパターン702は、対応するノードが、対応する物体ラベルと同一であるとするように学習した入力の普遍化バージョンを表す。図7Aの中央にある重みパターン702は、図7Aの右に示す集約入力704になる。
【0080】
最初の入力210は、概して、集約時または混合時にシステムには利用できない。他方で、重みパターン702の収集は、ARTネットワークがトレーニング中に触れた、入力210すべての普遍化である。このように、重みパターン702は、入力210の重要な特徴も、または元の入力210よりも良好な重要な特徴を表し、トレーニングプロセス中、現実の入力の代用として機能できる。
【0081】
集約には、現実の入力の代用として、重みパターンを使用する。集約の間、次のステップが生じる。
【0082】
・既存の重み行列の重みベクトル702(例えば、図2の重みベクトル214の行列)を、集約入力セット(図7Aの右側)a=wに加え、式中、aは入力ベクトルであり、wは重みベクトルであり、iは1からネットワークの中にある既存のカテゴリノードの数までである。ARTネットワークが補数コーディングを使用する場合、重みベクトルの半分の補数を解除(decomplemented)し、ベクトルの最初の半分で平均する(a=(w+(1-wic))/2)。集約入力セットの各ベクトルは、それぞれのカテゴリノードから抽出された対応するラベルを受け取る。
【0083】
・既存のF2ノードおよび対応する重みはすべて、ARTネットワークから除去され、そのため、ARTネットワークは空白の初期状態になる。
【0084】
・集約入力セットは無作為にシャッフルされ、ARTネットワークが、元の入力を学習したのと同じようにこのセットを学習する。無作為にシャッフルすることによって、従来のARTネットワークにおける順序依存性の影響を低減し、ARTネットワークが、よりコンパクト(作り出されるカテゴリノードがより少ない)でより最適な(より優れた普遍化)表現を構築することが可能になる。
【0085】
集約入力セットに重みを使用することには、単一のベクトルが多くの元の入力ベクトルと置き換わるというさらなる利点があり、そのため、集約プロセスによって複雑さが減少し、元の学習プロセスよりも計算時間が速くなる。
【0086】
集約プロセスは、L-DNNに基づくシステムの動作中はいつでも生じうる。集約プロセスによって、モジュールBのARTベースの実装のメモリフットプリントを削減し、ARTに基づくシステムの順序依存性を低減する。このような動作中に、システムが動作するにつれてシステムの中へ入ってくる感覚入力の順序を変更する手段がないため、順序依存性の低減は、L-DNNに基づく、いかなるリアルタイムに動作する機械にも有益である。集約は、ユーザ作用によって、もしくはメモリフットプリントが大きくなりすぎるとき(例えば、閾値サイズに到達するか、またはそれを超過する)に自動で、または動作期間に基づいて定期的にトリガできる。
【0087】
例示的な集約は、リアルタイムで動作しており、次々に物体を見たかのように、ARTネットワークへ意図的に提示される、COILデータセットに対して行われた。最初のトレーニングには、集約トレーニングよりも4.5倍長くかかった。集約によって、メモリフットプリントを25%削減し、物体認識性能は50%の正解から75%の正解へと向上した。トレーニングデータセットが最初にシャッフルされて、順序のアーチファクトを減少させた事例では、集約は依然として性能の向上を示した。初期トレーニング後に、システムが既に十分圧縮されていたため、著しいメモリフットプリントの削減はなかったが、物体認識に対する正解率は平均で87%から98%へと上昇した。これらの実験結果は、予想外に大きな性能改善を表している。
【0088】
融合は、二つ以上のARTネットワークの重み行列から、集約トレーニングセットが組み合わされる集約の延長である。融合は、集約のすべての利点を継承し、ARTネットワークの普遍化特性から利益を得る。結果として、複数の融合されたARTネットワークが、同じ物体の知識を有するとき、複数のARTネットワークにわたるこの物体の類似表現すべてが、ART学習プロセスによって自然に共に組み合わされ、一方ですべての特徴的な表現は保存される。これは、物体表現の賢い圧縮、および融合されたシステムのメモリフットプリントのさらなる削減につながる。
【0089】
例えば、一つのARTインスタンスでCOILデータセットからの50個の物体を学習し、別のARTインスタンスで33個の物体(2セットで17個の物体が同じ)を学習する場合、第一インスタンスに対して92.9%の正解、および第二インスタンスに対して90.5%の正解となる。それらを共に融合することで、両ARTインスタンスによって学習される、全66個の一意の物体に関して、97%正解のネットワークを作り出す。加えて、融合バージョンは、二つのネットワークの総当たりの組み合わせが有するであろううちの、83%のメモリフットプリントを有する。さらに、融合バージョンのメモリフットプリントは、第一ネットワークと、第二ネットワークの新しい物体のみとの組み合わせ(重複する17個の物体を除く)よりも3%小さい。したがって、混合によって実際に、精度を向上するように、賢く圧縮し、物体表現を精緻化する。入力を無作為にシャッフルしない場合、混合の結果は、正確性の点でより一層卓越し、85.3%および77.6%正解のネットワークを混合すると、組み合わせた二つのネットワークのメモリフットプリントの84.6%を有する、96.6%正解のネットワークとなる。これらの混合実験結果は、予想外に大きな性能改善を表している。
【0090】
性能向上のためのコンテキスト情報の使用
L-DNNに基づくシステムはさらに、コンテキスト情報を現在の物体情報と組み合わせることによって、性能精度を向上できる。コンテキストL-DNNは、ある物体が入力ストリームで共起する可能性が高いことを学習しうる。例えば、ラクダ、ヤシの木、砂丘、およびオフロード車は、砂漠の場面に典型的な物体であり(図7Bを参照)、一方、家、スポーツカー、オークの木、および犬は、郊外の場面にコンテキスト典型的な物体である。ドローンの入力として取得された、ピクセルレベルで局所的に曖昧な情報は、コンテキストに応じて、二つの物体クラス(例えば、ラクダまたは犬)にマッピングできる。両方の事例で、物体の焦点には、低解像度画像によくある、曖昧な表現がある。砂漠の場面では、ラクダのピクセル化画像は、「ラクダ」がL-DNNによって推察される可能性の高いクラスの4番目であり、最もありうるのは、局所ピクセル情報のみに基づくと「馬」であるものの、場面に関する大局情報、および物体間で学習された過去の関連付けによって見出すことができる。コンテキストの物体(砂丘、オフロード車、ヤシの木)が、「ラクダ」と関連付けられる過去にあったことがあり、そのため、コンテキスト分類器は「馬」クラスを覆して、「ラクダ」クラスを選ぶことができる。同様に、「家」、「スポーツカー」、および「オークの木」を包含する都会の場面では、同じピクセルセットが「犬」にマッピングされうる。
【0091】
補足として、上の例のラクダのように、物体が曖昧または異常と識別されるとき、L-DNNシステムは、人間の分析者/ユーザに、物体をより詳しく見るように促してもよい。この異常検出および警告サブシステムによって、コンテキストを使用して、正常な物体の識別の曖昧さを解消することによって、場面に属さない、関心のある識別物体間のバランスを取ることができる。
【0092】
無限後退問題、すなわち、コンテキストモジュールが物体クラスを生み出しうる前に、物体分類が必要であることは、最大確率を持つラベルを、コンテキスト分類器への入力として与えることで避けられる。このように、物体の各固定時に、コンテキスト分類器は、物体ラベルの推量を繰り返し精緻化できる。
【0093】
L-DNNはラベルのない莫大な量のデータを活用可能
莫大な量の非構造化コンテンツによって、ラベルなしでも、価値のあるレーニングデータがL-DNNのモジュールAに提供される。貪欲な層単位の事前トレーニング(greedy layer-wise pre-training)として知られる技法によって、DNNが、各層を順にトレーニングすることによって、ボトムアップからの教師なし学習を行うことが可能になる。層単位のトレーニングメカニズムは、コントラスティブダイバージェンス、すなわち、ノイズ除去オートエンコーダおよび畳み込みオートエンコーダを含む。オートエンコーダは、入力を取り込み、重みおよび転送機能によってコード化し、入力再構成誤差の点から出力を評価する。層をトレーニングした後に、その出力は次の層の入力になる。事前トレーニングされたネットワークは、いかなるディープネットワークの恩恵をも享受し、すなわち、例えば、層1上の学習エッジ、層2上のコーナーおよび他のエッジグループ、ならびに後の層における高次データに固有の特徴といった、有用な階層特徴の関係をしばしば捕捉する。さらに、畳み込みの変形は、畳み込みネットワークの生来の並進不変を享受する。
【0094】
このプロセスは、後で教師あり学習(「微調整」)に先行する傾向があるため、事前トレーニングと呼ばれる。多くの場合、事前トレーニングされるネットワークの性能は、事前トレーニングなしのネットワークより優れている。大量のラベル付きデータがある場合、ラベルが分析者に何らかの負荷をかけるため、事前トレーニングされるネットワークは、事前トレーニングなしのネットワークにかなわない。事前トレーニングされる「環境固有の」ネットワークは、ラベル付けの負荷を低く抑えながら、L-DNNシステムの認識性能を、他の事前トレーニングされるネットワークよりも向上させるだろう。言い換えると、分析者の報告に起因する限定的ラベルに加えて、ラベルのないデータに関してトレーニングされるDNNは、比較的少数の分析者の報告だけでなく、別の大量にラベルの付いたデータセットからもトレーニングされるDNNを上回る性能の向上につながる。
【0095】
最後に、モジュールBの実装としてのARTは、教師なし学習も行うことができるため、別のメリットがある。ARTは、学習用のラベルを必要としないが、利用可能なときには、ラベルを活用できることを意味する、「半教師付き」とみなされうる。ARTは、各ノードに対して、最も一致した観察のフレームおよび画像領域用の検索情報を記憶しながら、教師なし学習モードで操作することによって、ラベルのないデータの組織化を支援する。各ARTノードによって、分析者が多くの類似する観察にアクセスし調査することが可能になりうる。
【0096】
L-DNNの例示的な使用事例
次の使用事例は、L-DNNが、様々な現場で技術上の問題にどのように取り組みうるかの非限定的な例である。
【0097】
L-DNNを使用して調査を自動化:単一または複数の画像資源
例えば、送電線、基地局鉄塔、または風力タービンといった産業インフラの調査プロセスを自動化したい、ドローンサービスプロバイダについて考える。既存のソリューションでは、調査が必要な主要構成要素を含むフレームを見つけるために、調査官がドローンのビデオを何時間も見る必要がある。調査官は、フレームの各々で、これらの主要構成要素を手動で識別しなくてはならない。
【0098】
対照的に、L-DNNベースのアシスタントは識別ツールに導入できる。関心のある物体または異常のラベルを含むデータを、従来の低速DNN工場トレーニング中に、事前トレーニング済みセットとして、L-DNNベースのアシスタントへ提供できる。以下に記載するように、高速学習モード中に、ユーザがこのセットへ追加することができる。
【0099】
図8は、「スマートな」ドローン上、または「データ処理能力のない」ドローンにより取得されるビデオを再検討するのに使用されるコンピュータ上に含むことができる、L-DNNベースのアシスタントの動作を示す。ドローン800は、通信塔820、太陽電池パネル830、風力タービンファーム840、または送電線分配850などの構造(これらは例示的な構造にすぎず、他の構造も想定されうる)を調査する。ドローンオペレータ810は、ドローンの手動制御を使用していてもよく、または自動で機能するドローンを監視していてもよい。制御室にいる分析者などの人間の分析者805は、ドローン800からの感覚入力(例えば、ビデオ、ライダーなど)100を所有する、L-DNNシステム106のモジュールB104へ、ドローンが飛行しているときにラベルを提供、または飛行を掲載できる。
【0100】
最初に、ドローン800は、L-DNN106のコピーを個別の局所分類器として受信する。ドローン800が、これらの送電線850、基地局鉄塔820、および風力タービン840を調査している間に、ビデオフレーム100を取得すると、L-DNN106のモジュールA102は、事前トレーニングされたデータに基づいて、ビデオフレーム100から画像の特徴を抽出する。モジュールB104はその後、これらの特徴に基づいて、各物体に可能性の高いラベルを提供する。この情報はユーザ805へ渡される。ユーザ805は、ラベルが意に満たない場合、高速学習モードを作動させて、モジュールBのネットワークを正しいラベルで更新できる。このように、ユーザが提供する情報によって現在のラベルを補正してもよい。したがって、高速学習サブシステムは、更新後の第一フレームと同じくらい早く、送電線、基地局鉄塔、および風力タービンなど、既に学習した物体の位置および特徴を判定するように、一試行の学習を利用できる。前に撮ったビデオを分析する場合、それはユーザが補正を導入した直後を意味する。したがって、システム106は、時間と共により知識が豊富になり、ユーザの助けで経時的により良い識別を提供する。
【0101】
図9は、本明細書に記載するL-DNN技術を、複数のドローン(例えば、データ処理能力のないドローン800および900、ならびにスマートなドローン910)が、同期的または非同期的にデータを収集する、図8の普遍化された事例としてどのように適用できるかを示す。各ドローンと関連付けられたL-DNNにより学習される情報は、マージされ(組み合わされ、または混合され)他のドローンへプッシュバックされるか、ドローン間のピアツーピアで共有するか、またはモジュールB104を包含する中央サーバと共有するかできる。中央サーバは、個々のL-DNNが学習した情報をマージし、ドローン910を含む全ドローンへマージした情報をプッシュバックし、ドローン910は、ドローン800および900により取得されたデータに由来する、通信塔820、太陽電池パネル830、風力タービンファーム840、または送電線分配850に関する情報に触れていなかったが、マージプロセスのおかげで、これらの項目をここで理解し分類できる。
【0102】
L-DNNを使用して倉庫業務を自動化:複数資源からの知識を集約および混合
上に記載したシステムは、コンサートで動作する、複数の機械またはカメラ(固定された、ドローンに取り付けられた、など)に対して拡張できる。複数の異なる地理的場所に、大きな倉庫を持つ会社について考える。手作業で大きな倉庫の棚卸しをすると、多くの人時がかかる可能性があり、大抵その時間中、倉庫を閉める必要がある。既存の自動化ソリューションでは、隠れている場合がある、積み重なった物体を識別するのが困難である。加えて、既存の自動化ソリューションでは、一つの地理的場所で学習される情報は、他の場所へ転送されない。一部の例では、異なる地理的場所で収集される莫大な量のデータのため、これらの自動化ソリューションは、新しいデータを学習し、新しいデータに作用するのに何週間もかかりうる。
【0103】
対照的に、本明細書に記載するL-DNN技術は、センサ(例えば、固定カメラ1010a~1010c、またはロボットもしくはドローン上に載置された移動カメラ)が、センサへ接続する様々なL-DNNモジュールを介して、在庫の中の新しい項目をオンザフライで学習できる、図10に示すような、倉庫、産業施設、または流通センターの環境へ適用可能である。加えて、805および1005にいるオペレータは、分散的なやり方で新しい情報を様々なL-DNNモジュールへ教えうる。この新しい知識は、中央に統合されるか、またはピアツーピアで伝達されるかして、混合の後に各個々のデバイス(例えば、カメラ1010)へプッシュバックされうる。
【0104】
例えば、図10の固定カメラ1010a~1010c(まとめて、カメラ1010)について考える。これらのカメラ1010の各々は、コンベアベルト上の物体の対応するビデオ画像100を取得し、その画像100を対応するL-DNN106a~106c(まとめて、L-DNN106)へ提供する。L-DNN106は、例えば、調査、仕分け、または他の流通センター機能のために、画像100の中の既知の物体を認識する。
【0105】
各L-DNN106は、人間のオペレータ805および1005による評価のために、または「何も知らない」として、未知の物体をタグ付けする。例えば、未知の物体1040により提示されるとき、L-DNN106aは、人間のオペレータ805による分類のために、未知の物体1040にフラグを立てる。同様に、L-DNN106cは、人間のオペレータ805による分類のために、未知の物体1060にフラグを立てる。L-DNN106bは、未知の物体1050が提示されると、単純に未知の物体1050を「何も知らない」とタグ付けする。L-DNN106へ連結する独立型モジュールB104dは、L-DNN106aおよび106cにより人間のオペレータ805および1005から取得される知識をマージし、モジュールB104bが、物体1040および1060の今後のインスタンスを認識できるように、L-DNN106bのモジュールB104bへ知識をプッシュする。
【0106】
各デバイス用のL-DNN106は、柱の印、出口表示のような特徴、それらの組み合わせ、および/または類似のものなど、倉庫の中の既存の目印を認識するように、事前にトレーニングできる。これによって、システムが、センサを装備する、またはセンサ(例えば、カメラ1010)により取得される画像に現れる無人車両の位置を、三角測量することが可能になる。各車両のL-DNNは、上に記載した使用事例と全く同じように動作する。このように、複数の無人車両からの知識は、集約され、混合され、各無人車両へ戻して再分配できる。すべての場所からの知識の集約および混合は、上の集約および混合セクションに記載したように、中央サーバにより行うことができ、加えて、ピアツーピアでの混合も適用できる。したがって、倉庫業務への最小限の混乱で、複数の倉庫において、在庫を取り出し、知識を集約できる。
【0107】
モバイルデバイスの一団でL-DNNを使用
消費者のスマートフォンおよびタブレットなどの消費者のモバイルデバイス、またはモバイルカメラ、装着式カメラ、ならびに公共の安全のために第一対応者および公共安全担当者により使用される、手持ち式LTEデバイスなどの専門デバイスの分散型ネットワークについて考える。消費者のデバイスは、写真を撮る時など、消費者の周囲を理解するために使用できる。これらの場合、本明細書に記載するL-DNN技術が、図11に示すスマートフォンまたはタブレットデバイス1110、1120、および1130に適用できる。個人(例えば、ユーザ1105および1106)は、デバイス1110および1130のL-DNNモジュール106にそれぞれ知識を教え、この情報をピアツーピアで、またはモジュールB104を包含するサーバ1190上でマージしうる。サーバ1190は、マージした知識を、元のトレーニング1020に参加しなかったデバイスを場合により含む、一部またはすべての接続デバイスにプッシュバックする。
【0108】
L-DNNモジュールは、例えば、ユーザが撮った写真に、画像処理法を適用することを学習でき、ユーザは、各L-DNNに、写真の態様と関連付けられた一部のカスタマイズされた作用(例えば、これら物体のクラスまたはエリアに、フィルタまたは画像の歪みを適用する)を教えることができる。組み合わせて学習された作用は、デバイスにわたりピアツーピアでもしくはまとめて、共有、マージ、または組み合わされうる。加えて、L-DNN技術は、入力変数が感覚的または非感覚的でありうる(スマートフォンのすべての使用パターン)、スマートフォン使用を普遍化した使用事例に適用できる。入力変数および出力変数の任意の組み合わせでありうる、これらの使用パターンは、スマートフォンレベルで学習され、中央のL-DNNモジュール104へプッシュされ、マージされ、個々のデバイスへプッシュバックできる。
【0109】
別の例では、警察官が、L-DNNを動かす専門デバイスを使用して、迷子、容疑者、または疑わしい物体を探すことができる。このような状況では、警官および/または第一対応者には、時間を無駄にする余裕はない。警官および/または第一対応者に提供される既存のソリューションでは、カメラからのビデオフィードを、手動で分析し整理する必要がある。このようなソリューションは、中央サーバを使用して物体を分析および識別するため、時間がかかりすぎる。すなわち、このようなソリューションには、ビデオデータをクラウド/中央サーバで分析する必要があるため、大きな遅延問題がある。これは、データを受信すると即座に行動する必要がしばしばある、第一対応者/警官には深刻な障害となりうる。加えて、ビデオデータを連続して中央サーバへ送信することで、通信チャネルに負担がかかりうる。
【0110】
代わりに、携帯電話、装着式カメラ、および手持ち式LTEデバイスのL-DNNを使用することによって、データをエッジ自体で学習し分析できる。消費者は、その場で自身のデバイスをカスタマイズすることを学習でき、警官/第一対応者は、人/物体の場所を探して提供するだけでなく、警官が能動的に見ていないかもしれない、関心対象の人/物体を所々で探して識別もできる。L-DNNは、リモートサーバ上でオペレータから学習する代わりに、現場のデバイス上で警官から学習するように高速学習モードを利用して、集中型学習と関連付けられる遅延問題を低減または排除できる。
【0111】
図1は、消費者が、電話を場面に向け、全体の場面または場面の部分(物体、例えば、空、水といった場面の一部分など)をラベル付けするとき、画像の中の構成要素をラベル付けするための、携帯電話のL-DNNの動作を示しうる。加えて、警察官は、ビデオフレームにアクセスして、疑わしい人/物体を識別できる。携帯電話がビデオフレーム100を取得すると、モジュールA102は、事前にトレーニングされたデータに基づいて、これらのフレームから画像の特徴を抽出できる。モジュールB104はその後、これらの特徴を使用して、各物体に可能性の高いラベルを提供できる。例えば、人物Aが近所Bに住み、過去に近所Bで観察されていた場合、人物Aは、近所Bの「住民」としてラベル付けされてもよい。したがって、高速学習サブシステムは、早ければ学習の第一フレーム後即座に、家、木など、既に学習した物体の相対位置および特徴を判定するように、一試行の学習を利用できる。より重要なことは、中央サーバ110上のディスパッチャによって、サーバ側のL-DNNに見出すべき新しい物体を導入することができ、新しい物体は、必要に応じて混合され、現地の第一対応者へ分配されるだろう。
【0112】
この使用事例は、前の使用事例に非常に類似しているが、古い物体を忘れることなく、新しい物体を迅速に学習する、L-DNNの能力をより活用している。調査および在庫収集中は、大抵ほとんど時間的制約がなく、メモリを低速学習モードで集約できる一方、第一対応者の場合、エリア中の全デバイスが、容疑者または行方不明の子供を探し始めることができるように、できるだけ速く複数のデバイスからの知識を集約し混合することが重要でありうる。したがって、一人の第一対応者により導かれる新しい物体を、迅速に学習し、ほぼ瞬時にサーバ上で集約し、エリア中のすべての第一対応者へ分配するL-DNNの能力は、この使用事例にとってとてつもなく大きな利点となる。
【0113】
従来のDNNとデータセンターのL-DNNとの取り替え
本明細書に記載するL-DNN技術は、図12に示すように、個々の計算ノードまたは大きなデータセンターのサーバ1200において、DNNプロセスの計算時間を低減する道具として適用できる。L-DNN技術によって、DNNにおける学習が桁違いに速くなる。この特徴を使用して、劇的にサーバ上での計算資源の必要性を減少させるか、または計算資源の消費を削減でき、情報は、大抵数時間/数日/数週間のトレーニング時間を必要とする、大規模なデータセット100に対して、ほとんど数秒もかからずに学習できる。L-DNNの使用はまた、電力消費を削減し、データセンターのサーバ資源1200を全体的により上手く利用することにもなる。
【0114】
結論
上に記載したように、L-DNNによって、オンザフライ(ワンショット)学習をニューラルネットワークシステムに提供できる。逆に、従来のDNNはしばしば、新しい物体を学習するのに、数千回または数百万回の繰り返しサイクルを必要とする。繰り返しサイクル当たりのステップサイズが大きくなるほど、損失関数の勾配が、実際の性能向上につながりうる可能性が低くなる。故に、これら従来のDNNは、トレーニングサンプルごとに、重みに小さな変更をもたらす。これによって、新しい知識をオンザフライで追加するのが非常に困難になる。対照的に、高速学習ニューラルネットワークを伴うL-DNNでは、ほとんどトレーニング例がなくても、安定した物体表現を学習できる。一部の例では、たった一つのトレーニング例でも、L-DNNに十分でありうる。
【0115】
L-DNNは、従来のDNNに加えて、高速トレーニングニューラルネットワークを使用するため、従来のDNNを悩ます「致命的忘却」に耐性がある。致命的忘却では、新しい入力がDNNへ提供されると、DNNのすべての重みがサンプル提示ごとに調整されて、新しい入力を学習すると、DNNに古い入力の分類方法を「忘れ」させる。致命的忘却は、新しい入力を含め、入力の完全なセットを単純に再学習することによって避けることができるが、再学習は時間がかかりすぎて実践的ではない。一部の既存のアプローチは、重みの重要性に基づいて選択的に重みを制限するか、DNNのサブネットワークをトレーニングするか、または致命的忘却を避けるようにモジュール式のアプローチを使用するかのいずれかである。しかしながら、このようなアプローチは、低速であるだけでなく、DNNをトレーニングする複数回の繰り返しサイクルも必要とする。対照的に、L-DNNによって、再トレーニングなしで、高速で安定的な学習能力を実現する手段を提供する。またL-DNNによって、単一の例でおよび/または単一回の繰り返しサイクルで物体表現の安定的学習も促進する。
【0116】
本明細書において様々な発明の実施形態を記載し、例示してきたが、当業者は、本明細書に記載の機能を実施し、ならびに/または結果および一つ以上の利点を得るための、様々な他の手段および/または構造を容易に想定し、かかる変形および/または変更の各々は、本明細書に記載の発明に関する実施形態の範囲内であるとみなされる。より一般的には、当業者は、本明細書に記載するすべてのパラメータ、寸法、材料、および構成が例示を意味し、実際のパラメータ、寸法、材料、および/または構成が、本発明の教示が使用される特定の一つまたは複数の用途に依存することを容易に理解するだろう。当業者は、本明細書に記載する特定の発明に関する実施形態の多くの同等物を認識し、またはただ通常の実験を用いて確認することができる。したがって、前述の実施形態は、例としてのみ提示され、添付した特許請求の範囲およびその同等物の範囲内であり、発明の実施形態が、具体的に記載し請求する以外の形でも実践されうることを理解されたい。本開示の発明に関する実施形態は、本明細書に記載する個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、二つ以上のこのような特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせは、このような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の本発明の範囲内に含まれる。
【0117】
上に記載した実施形態は、多数の手段のいずれかで実施できる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実施されてもよい。ソフトウェアに実装される場合、ソフトウェアコードは、単一のコンピュータに提供されるか、複数のコンピュータ間に分散するかにかかわらず、任意の適切なプロセッサまたはプロセッサの集合で実行され得る。
【0118】
さらに、コンピュータが、ラック搭載型コンピュータ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、またはタブレット型コンピュータなど、多数の形態のいずれかで具現化されうることは理解されるべきである。加えて、コンピュータは、概してコンピュータとみなされるデバイスではなく、パーソナルデジタルアシスタント(PDA)、スマートフォン、またはいかなる他の適切な携帯型もしくは固定電子デバイスを含む、適切な処理能力を持つデバイスの中に埋め込まれてもよい。
【0119】
また、コンピュータは一つ以上の入力および出力デバイスを有しうる。これらのデバイスは、とりわけ、ユーザインターフェースを提示するために使用できる。ユーザインターフェースを提供するために使用できる出力デバイスの例には、プリンタまたは出力の視覚的表現のためのディスプレイ画面、およびスピーカーまたは出力の可聴表現のための他の音声発生デバイスが挙げられる。ユーザインターフェースに使用できる入力デバイスの例には、キーボード、ならびにマウス、タッチパッド、およびデジタイザタブレットなどのポインティングデバイスが含まれる。別の例として、コンピュータは、音声認識によってまたは他の可聴フォーマットで、入力情報を受信してもよい。
【0120】
このようなコンピュータは、ローカルエリアネットワーク、またはエンタープライズネットワークなどの広域ネットワーク、およびインテリジェントネットワーク(IN)またはインターネットを含む、任意の適切な形態の一つ以上のネットワークによって相互接続されてもよい。このようなネットワークは、任意の適切な技術に基づいてもよく、任意の適切なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバーネットワークを含んでもよい。
【0121】
本明細書に概説する様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのうちのいずれか一つを用いる、一つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化されてもよい。加えて、このようなソフトウェアは、多数の適切なプログラミング言語および/またはプログラミングもしくはスクリプトツールのいずれかを使用して記述されてもよく、またフレームワークもしくは仮想マシン上で実行される、実行可能なマシン語コードまたは中間コードとしてコンパイルされてもよい。
【0122】
また、様々な発明の概念が、一つ以上の方法として具現化されてもよく、その例を提供してきた。方法の一部として行われる行為は、任意の適切な手段で順序付けられうる。したがって、行為が例示するものとは異なる順序で行われる実施形態を構築してもよく、それは、例示的実施形態に連続する行為として示す場合であっても、一部の行為を同時に行うことを含みうる。
【0123】
本明細書で言及するすべての出版物、特許出願、特許、および他の参考文献は、参照によりそれらの全体が組み込まれる。
【0124】
本明細書で定義および使用するすべての定義は、辞書定義、参照により組み込まれる文書の定義、および/または定義された用語の通常の意味を統制するものと理解されるべきである。
【0125】
本明細書および特許請求の範囲で使用する場合、不定冠詞「a」および「an」は、明確にそうでないと示されない限り、「少なくとも一つ」を意味すると理解されるべきである。
【0126】
本明細書および特許請求の範囲で使用する場合、「および/または」という語句は、結合された要素の「いずれかまたは両方」を意味し、すなわち、一部の場合には接続的に存在し、他の場合には離接的に存在する要素を意味すると理解されるべきである。「および/または」で挙げられる複数の要素は、同じ形式、すなわち、等位接続される要素のうちの「一つ以上」と解釈されるべきである。他の要素は、具体的に識別される要素に関連するかまたは関連しないかにかかわらず、「および/または」節によって具体的に識別される要素以外に、随意に存在してもよい。したがって、非限定的な例として、「Aおよび/またはB」への言及は、「備える」などの制限のない語法と連動して使われるときに、一実施形態においては、Aのみ(任意選択的にB以外の要素を含む)、別の実施形態では、Bのみ(任意選択的にA以外の要素を含む)、さらに別の実施形態では、AとBと両方(任意選択的に他の要素を含む)などを指すことができる。
【0127】
本明細書および特許請求の範囲において使用する場合、「または」は、上で定義した「および/または」と同じ意味を有すると理解されるべきである。例えば、リスト内の項目を分離するとき、「または」または「および/または」は包括的なもの、すなわち、多数の要素のまたは要素のリスト、および随意にリストに無い追加の項目のうちの少なくとも一つを含むが、二つ以上も含むと解釈されるものとする。それとは反対であると明確に指示した用語のみ、例えば、「のうちの一つのみ」もしくは「のうちの正確に一つ」、または特許請求の範囲において使用するときの「から成る」は、多数の要素またはリストの要素のうちの正確に一つの要素の包含を指す。概して、本明細書で使用する場合、「または」という用語は、「いずれか」、「のうちの一つ」、「のうちの一つのみ」、または「のうちの正確に一つ」など、排他性の用語が先行するときには、排他的な選択肢(すなわち「両方ともでなくどちらか一方」)を示すとのみ解釈されるものとする。「から基本的に成る」は、特許請求の範囲で使用する場合、特許法の分野において使用される通常の意味を有するものとする。
【0128】
本明細書および特許請求の範囲で使用される場合、一つ以上の要素のリストに関連する「少なくとも一つ」という語句は、要素のリストの中の要素のいずれか一つ以上から選択される、少なくとも一つの要素を意味するが、要素のリスト内で具体的に列挙したありとあらゆる要素の少なくとも一つを必ずしも含むわけではなく、要素のリストのいかなる要素の組み合せも除外するものではない、と理解されるべきである。この定義はまた、「少なくとも一つ」という語句が指す、要素のリスト内で具体的に識別される以外の要素が、具体的に識別される要素に関連があるか関連が無いかにかかわらず、任意に存在しうることを許容する。したがって、非限定的な例として、「AおよびBのうち少なくとも一つ」(または、等価的に、「AまたはBのうちの少なくとも一つ」、もしくは、等価的に「Aおよび/またはBのうちの少なくとも一つ」)は、一実施形態においては、Bは存在せず、少なくとも一つの、任意選択的には二つ以上を含むA(任意選択的にB以外の要素を含む)、別の実施形態においては、Aは存在せず、少なくとも一つの、任意選択的には二つ以上を含むB(任意選択的にA以外の要素を含む)、また別の実施形態においては、少なくとも一つの、任意選択的には二つ以上を含むA、および少なくとも一つの、任意選択的には二つ以上を含むB(任意選択的に他の要素を含む)などを指すことができる。
【0129】
特許請求の範囲、ならびに上記の明細書で、すべての移行句、例えば、「備える(comprising)」、「含む(including)」、「持つ(carrying)」、「有する(having)」、「包含する(containing)」、「伴う(involving)」、「保つ(holding)」、「から構成される(composed of)」、および類似のものは制限がないと理解され、すなわち、含むがそれに限定はされないということを意味する。「から成る(consisting of)」および「から基本的に成る(consisting essentially of)」という移行句のみが、米国特許局の特許審査手続便覧、セクション2111.03に記載されている、それぞれ閉鎖的または半閉鎖的な移行句であるものとする。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
環境の中の物体を分析する方法であって、
センサによって、前記環境の中の前記物体を表すデータストリームを収集することと、
前記センサへ動作可能に連結するプロセッサ上で動くニューラルネットワークによって、前記データストリームから畳み込み出力を抽出することであって、前記畳み込み出力は、前記物体の特徴を表す、ことと、
前記ニューラルネットワークへ動作可能に連結する分類器によって、前記畳み込み出力に基づいて前記物体を分類することと、を含む、方法。
請求項2:
前記センサは画像センサであり、前記データストリームは画像を含む、請求項1に記載の方法。
請求項3:
前記特徴のセットを抽出することは、
前記第一画像の複数のセグメント化サブエリアを生成することと、
前記ニューラルネットワークによって、前記複数のセグメント化サブエリアの各々をコード化することと、を含む、請求項2に記載の方法。
請求項4:
前記特徴セットを抽出することは、
ユーザが、前記データストリームの中で関心のある部分を選択することが可能になることと、
前記ユーザが、前記関心のある部分を複数のセグメントに分割することが可能になることと、
前記ニューラルネットワークによって、前記複数のセグメントの各々をコード化することと、を含む、請求項1に記載の方法。
請求項5:
前記センサは、ライダー、レーダー、または音響センサのうちの少なくとも一つであり、前記データストリームは、ライダーデータ、レーダーデータ、または音響データのうちの対応する一つを含む、請求項1に記載の方法。
請求項6:
環境のデータストリームを収集するセンサであって、前記データストリームは、前記環境の中の物体を表す、センサと、
前記画像センサへ動作可能に連結する少なくとも一つのプロセッサであって、(i)前記物体の前記特徴を表す畳み込み出力を、前記データストリームから抽出するように、ニューラルネットワークを、および(ii)前記畳み込み出力に基づいて前記物体を分類する分類器を実行する、少なくとも一つのプロセッサと、を備える、装置。
請求項7:
前記センサは、画像センサ、ライダー、レーダー、または音響センサのうちの少なくとも一つを備える、請求項6に記載の装置。
請求項8:
前記ニューラルネットワークは、ディープニューラルネットワーク(DNN)を含む、請求項6に記載の装置。
請求項9:
前記ニューラルネットワークは、適応共鳴理論(ART)ネットワークを含む、請求項6に記載の装置。
請求項10:
リアルタイムに動作する機械に、生涯学習ディープニューラルネットワーク(L-DNN)を実装する方法であって、
前記L-DNNによって、(i)センサによる、前記リアルタイムに動作する機械の環境の観察、および(ii)前記L-DNNの予め判定された重みに基づいて、前記リアルタイムに動作する機械に対する第一作用を予測することと、
前記L-DNNによって、前記観察に基づいて、前記リアルタイムに動作する機械に関する予想と認知との間の不一致を判定することと、
前記不一致に応じて、前記L-DNNによって高速学習モードをトリガすることであって、前記高速学習モードは、前記L-DNNの前記予め判定された重みを変更することなく、前記観察に基づいて修正される予想を生成する、ことと、を含む、方法。
請求項11:
前記リアルタイムに動作する機械がオフラインであると判定することと、
前記リアルタイムに動作する機械がオフラインであるとの判定に応じて、低速学習モードをトリガすることであって、前記低速学習モードは、前記観察に基づいて前記L-DNNの前記予め判定された重みを修正する、ことと、をさらに含む、請求項10に記載の方法。
請求項12:
複数のリアルタイムに動作する機械の間で知識を抽出し、集約し、共有する方法であって、前記複数のリアルタイムに動作する機械の中の各リアルタイムに動作する機械は、重み行列のそれぞれのコピーと共にニューラルネットワークを実装し、
前記複数のリアルタイムに動作する機械の中の第一のリアルタイムに動作する機械の高速学習サブシステムで、少なくとも一つの新しい物体を学習することと、
通信チャネルを介して、前記第一のリアルタイムに動作する機械からサーバへ、前記少なくとも一つの新しい物体の表現を伝送することと、
前記中央サーバにて、前記第一のリアルタイムに動作する機械からの前記少なくとも一つの新しい物体の前記表現に少なくとも一部基づいて、更新された重み行列を形成することと、
前記サーバから、前記複数のリアルタイムに動作する機械の中の少なくとも一つの第二のリアルタイムに動作する機械へ、前記更新された重み行列のコピーを伝送することと、
を含む、方法。
請求項13:
前記新しい物体を学習することは、
前記第一のリアルタイムに動作する機械の前記高速学習サブシステムへ動作可能に連結する画像センサで、前記少なくとも一つの新しい物体の画像を取得することと、
前記第一のリアルタイムに動作する機械の前記高速学習サブシステムで、前記少なくとも一つの新しい物体の前記画像を処理することと、を含む、請求項12に記載の方法。
請求項14:
前記ニューラルネットワークは、適応共鳴理論(ART)ニューラルネットワークを含み、
前記ARTニューラルネットワークで、前記少なくとも一つの新しい物体の前記表現を生成することをさらに含む、請求項12に記載の方法。
請求項15:
前記少なくとも一つの新しい物体の前記表現は、重みベクトルを含み、
前記少なくとも一つの新しい物体の前記表現のメモリフットプリントを減少させるように、前記第一のリアルタイムに動作する機械によって使用される前記重み行列の前記コピーと、前記重みベクトルを集約することをさらに含む、請求項14に記載の方法。
請求項16:
前記新しい物体の前記表現を、少なくとも一つの予め知っている物体の表現と集約することをさらに含む、請求項12に記載の方法。
請求項17:
前記少なくとも一つの新しい物体の前記表現を伝送することは、
前記少なくとも一つの新しい物体の前記表現を、前記複数のリアルタイムに動作する機械の中の第二のリアルタイムに動作する機械によって、前記サーバへ伝送することを含む、請求項12に記載の方法。
請求項18:
前記更新された重み行列を形成することは、
前記少なくとも一つの新しい物体の前記表現を、前記複数のリアルタイムに動作する機械の中の、少なくとも一つの他のリアルタイムに動作する機械からの、少なくとも一つの他の新しい物体の表現と混合することを含む、請求項12に記載の方法。
請求項19:
複数のカテゴリの中で物体を認識するようにトレーニングされたニューラルネットワークで、物体を分類する方法であって、
前記ニューラルネットワークに物体を提示することと、
前記ニューラルネットワークによって、複数の信頼水準を判定することであって、前記複数の信頼水準の中の各信頼水準は、前記物体が前記複数のカテゴリの中の対応するカテゴリに該当する可能性を表す、ことと、
前記複数の信頼水準と閾値との比較を行うことと、
前記比較に基づいて、前記物体が前記複数のカテゴリのいずれにも該当しないと判定することと、を含む、方法。
請求項20:
前記比較を行うことは、
前記複数の信頼水準の中の信頼水準には、前記閾値を超えるものがないと判定することを含む、請求項19に記載の方法。
請求項21:
前記閾値を、前記複数の信頼水準の平均よりも大きく設定することをさらに含む、請求項19に記載の方法。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12