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

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

▶ 株式会社日立製作所の特許一覧

特許7578779ニューラルネットワークを動的環境に適応させる方法及びシステム
<>
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図1
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図2
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図3A
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図3B
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図3C
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図4
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図5
  • 特許-ニューラルネットワークを動的環境に適応させる方法及びシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】ニューラルネットワークを動的環境に適応させる方法及びシステム
(51)【国際特許分類】
   G06N 3/096 20230101AFI20241029BHJP
   G06N 3/0895 20230101ALI20241029BHJP
【FI】
G06N3/096
G06N3/0895
【請求項の数】 14
(21)【出願番号】P 2023176429
(22)【出願日】2023-10-12
(65)【公開番号】P2024066994
(43)【公開日】2024-05-16
【審査請求日】2023-10-12
(31)【優先権主張番号】202241062684
(32)【優先日】2022-11-02
(33)【優先権主張国・地域又は機関】IN
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】マニカンダン アール
(72)【発明者】
【氏名】野中 雄一
(72)【発明者】
【氏名】キングシュク バネルジー
【審査官】多賀 実
(56)【参考文献】
【文献】中国特許出願公開第114255257(CN,A)
【文献】特表2022-511619(JP,A)
【文献】Hengshuang Zhao et al.,Compositing-aware Image Search,Proceedings of the European Conference on Computer Vision (ECCV)[online],pp. 1-15,2018年,[検索日 2024.10.16], インターネット:<URL:https://openaccess.thecvf.com/content_ECCV_2018/html/Hengshuang_Zhao_Compositing-aware_Image_Search_ECCV_2018_paper.html>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークを動的環境に適応させる方法であって、
システムによって、入力データ項目の第1の部分に関連付けられた、入力データ項目の特徴の第1のセットを受信することと、
システムによって、入力データ項目の第2の部分に関連付けられた、入力データ項目の特徴の第2のセットを、特徴の第1のセットを、ニューラルネットワークを使用して生成された1つ又は複数の相関ペアと関連付けることによって決定することと、
1つ又は複数のニューラルネットワークから、複数の訓練データ項目のそれぞれのデータセットの訓練特徴の第1のセット及び訓練特徴の第2のセットを含む特徴セットを受信することと、
前記複数の訓練データ項目の各々のデータセットについて、前記訓練特徴の第1のセット及び前記訓練特徴の第2のセットを特徴空間上に投影することにより、1つ又は複数の第1のラベル及び1つ又は複数の第2のラベルを生成することと、
前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの相関に基づいて、前記第1の訓練特徴セットと前記訓練特徴の第2のセットとを特徴空間上で再配置することと、
前記複数の訓練データ項目のそれぞれのデータセットの1つ又は複数の第1のラベルと対応する第2のラベルをそれぞれ示す1つ又は複数の相関ペアを、前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの再配置に基づいて生成することと、
を含む、
方法。
【請求項2】
請求項1に記載の方法において、
前記訓練特徴の第2のセットと前記特徴の第2のセットに基づいて、1つ又は複数のテスト特徴を生成することと、
前記1つ又は複数のテスト特徴と前記特徴の第1のセットとを比較することによって偏差を特定することと、
前記偏差に応じて前記特徴の第2のセットを修正することと、
を含む、
方法。
【請求項3】
請求項1に記載の方法において、
前記入力データ項目及び前記複数の訓練データ項目は、画像、ビデオ、音声入力、テキスト入力、及び音声入力のうちの1つを含む、
方法。
【請求項4】
請求項1に記載の方法において、
前記複数の訓練データ項目の各々のデータセットは、元のデータ項目と、元のデータ項目の1つ以上の変換とを有する、
方法。
【請求項5】
請求項1に記載の方法において、
前記1つ又は複数の第1のラベル及び前記1つ又は複数の第2のラベルを生成することは、
前記複数の訓練データ項目から、前記訓練データ項目の第2の部分の1つ又は複数のクラスの各々について、前記特徴空間において前記訓練特徴の第1のセット及び前記訓練特徴の第2のセットを投影することと、
前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの間の類似性に基づいて、複数の領域を作成することと、
前記複数の領域のそれぞれの中心と半径を特定することと、
前記複数の訓練データ項目から、前記他の訓練データ項目の前記第2の部分の1つ又は複数のクラスの各々について、前記特徴空間において前記訓練特徴の第1のセット及び前記訓練特徴の前記第2のセットを投影することによって、前記複数の領域の各々の半径を調整することと、
前記複数の領域の各々について、対応する領域に関連付けられた、前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの類似性に基づくラベルを生成することと、
を含む、
方法。
【請求項6】
請求項5に記載の方法において、
前記複数の領域の数は、前記複数の訓練データ項目の各々の1つ又は複数の変換の数と、前記1つ又は複数のクラスの数とに基づいている、
方法。
【請求項7】
請求項1に記載の方法において、
前記1つ又は複数の第2のラベルを前記1つ又は複数の第1のラベルと相関させることは、前記1つ又は複数の第1のラベルを、訓練特徴の第2のセットの生成に関連付けられた1つ又は複数のニューラルネットワークから第1のニューラルネットワークに提供することと、
前記1つ又は複数の第2のラベルを、訓練特徴の第1のセットの生成に関連付けられた1つ又は複数のニューラルネットワークから第2のニューラルネットワークに提供することと、
を含む、
方法。
【請求項8】
ニューラルネットワークを動的環境に適応させるためのシステムであって、
1つ又は複数のプロセッサと、
プロセッサ実行可能命令を記憶するメモリであって、実行時に、1つ又は複数のプロセッサに下記の動作を実行させる、メモリと、
を備え、
前記プロセッサは、
入力データ項目の特徴の第1のセットを受信することと、
前記特徴の第1のセットを、ニューラルネットワークを使用して生成された1つ又は複数の相関ペアと関連付けることによって、前記入力データ項目の特徴の第2のセットを決定すること、
1つ又は複数のニューラルネットワークから、複数の訓練データ項目のそれぞれのデータセットの訓練特徴の第1のセット及び訓練特徴の第2のセットを含む特徴セットを受信することと、
前記複数の訓練データ項目の各々のデータセットについて、前記訓練特徴の第1のセット及び前記訓練特徴の第2のセットを特徴空間上に投影することにより、1つ又は複数の第1のラベル及び1つ又は複数の第2のラベルを生成することと、
前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの相関に基づいて、前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとを特徴空間上で再配置することと、
前記複数の訓練データ項目のそれぞれのデータセットの1つ又は複数の第1のラベルと対応する第2のラベルを示す1つ又は複数の相関ペアを、前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの再配置に基づいて生成することと、
を行う、
システム。
【請求項9】
請求項8に記載のシステムにおいて、
前記1つ又は複数のプロセッサは、
前記訓練特徴の第2のセットと前記特徴の第2のセットに基づいて、1つ又は複数のテスト特徴を生成することと、
前記1つ又は複数のテスト特徴と前記特徴の第1のセットとを比較することにより、偏差を特定することと、
前記偏差に応じて前記特徴の第2のセットを修正することと、
を行う、
システム。
【請求項10】
請求項8に記載のシステムにおいて、
前記入力データ項目及び前記複数の訓練データ項目は、画像、ビデオ、音声入力、テキスト入力、及び音声入力のうちの1つを有する、システム。
【請求項11】
請求項8に記載のシステムにおいて、
前記複数の訓練データ項目の各々のデータセットは、元のデータ項目と、元のデータ項目の1つ以上の変換とを有する、
システム。
【請求項12】
請求項8に記載のシステムにおいて、
前記1つ又は複数のプロセッサは、
前記複数の訓練データ項目から、前記訓練データ項目の第2の部分の1つ又は複数のクラスの各々について、前記特徴空間において前記訓練特徴の第1のセット及び前記訓練特徴の第2のセットを投影することと、
前記第1の訓練特徴セットと前記訓練特徴の第2のセットとの間の類似性に基づいて、複数の領域を作成することと、
前記複数の領域のそれぞれの中心と半径を特定することと、
前記複数の訓練データ項目から、前記他の訓練データ項目の前記第2の部分の1つ又は複数のクラスの各々について、前記特徴空間において前記訓練特徴の前記第1のセット及び前記訓練特徴の前記第2のセットを投影することによって、前記複数の領域の各々の半径を調整することと、
前記複数の領域の各々について、対応する領域に関連付けられた、前記訓練特徴の第1のセットと前記訓練特徴の第2のセットとの類似性に基づくラベルを生成することと、
により、
前記1つ又は複数の第1のラベル及び前記1つ又は複数の第2のラベルを生成する、
システム。
【請求項13】
請求項12に記載のシステムにおいて、
前記複数の領域の数は、前記複数の訓練データ項目の各々の1つ又は複数の変換の数と、前記1つ又は複数のクラスの数とに基づいている、システム。
【請求項14】
請求項8に記載のシステムにおいて、
前記1つ又は複数のプロセッサは、
前記1つ又は複数の第1のラベルを、訓練特徴の第2のセットの生成に関連付けられた1つ又は複数のニューラルネットワークから第1のニューラルネットワークに提供し、前記1つ又は複数の第2のラベルを、訓練特徴の第1のセットの生成に関連付けられた1つ又は複数のニューラルネットワークから第2のニューラルネットワークに提供することによって、前記1つ又は複数の第1のラベルと前記1つ又は複数の第2のラベルとを相関させる、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に、人工知能及びデータ分析の分野に関する。より詳細には、本開示は、ニューラルネットワークを動的環境に適応させるための方法及びシステムに関する。
【背景技術】
【0002】
ニューラルネットワークは、人間の脳が意思決定を行う方法を模倣しようとする計算モデルである。ニューラルネットワークは、さまざまな業界の多様なアプリケーションで広く使われている。このようなアプリケーションで使用される場合、ニューラルネットワークはさまざまな種類の環境に対応する。例えば、職場の安全のための監視アプリケーションのようなビデオ分析システムに実装されたニューラルネットワークは、組立ラインで安全ギアを装着した作業員を識別する必要がある。また、ニューラルネットワークは、生産ラインで安全ギアを装着した作業員を識別する必要がある。組立ラインと生産ラインでは環境が異なるため、安全ギアを装着した作業員の識別に影響する背景のばらつきが大きい。このため、ニューラルネットワークが作業員を誤って識別したり、識別を見落としたりする可能性があり、ニューラルネットワークの性能が低下する。別の例では、物体認識アプリケーションにおいて、晴れた地域で撮影された物体の画像を使用して訓練されたニューラルネットワークは、曇りの地域ではうまく機能しないことがある。ニューラルネットワークは物体を誤って認識する可能性があるため、異なる気候条件下ではうまく動作しない可能性がある。そのため、ニューラルネットワークを異なる環境用に開発し、性能を向上させる必要がある。しかし、このような開発は高価で面倒である。また、さまざまなアプリケーションにおけるデータとアノテーションの不足は、ニューラルネットワークを異なる環境に適応させることを困難にしている。
【0003】
半教師あり学習、ゼロショット学習、少数ショット学習などの従来の技術は、大量のデータとアノテーションの必要性に取り組んでいる。しかし、これらの技術は、最小限のアノテーションなしで異なる環境に対処できるようにニューラルネットワークを拡張する解決策を提供しない。さらに、これらの技術は、アノテーションを作成するにもかかわらず、精度が低い。他の従来技術の中には、ニューラルネットワークの性能を向上させるために画像ビューの抽出を利用するものがある。しかし、これらの従来技術は、データ内のニューラルネットワークのアプリケーションに関連する前景特徴のみを考慮するため、異なる背景や環境に適応することができない。
【0004】
本開示の背景の項で開示された情報は、本発明の一般的背景の理解を深めるためのものであり、この情報が当業者に既に知られている先行技術を形成していることを認めるもの、又は何らかの形で示唆するものと解釈されるべきではない。
【発明の概要】
【0005】
実施形態において、本開示は、ニューラルネットワークを動的環境に適応させる方法を開示する。本方法は、入力データ項目の第1の部分に関連付けられた、入力データ項目の特徴の第1のセットを受信することを備える。さらに、本方法は、ニューラルネットワークを使用して生成された1つ又は複数の相関ペアと特徴の第1のセットとを関連付けることによって、入力データ項目の第2の部分に関連付けられた、入力データ項目の特徴の第2のセットを決定することを備える。1つ又は複数の相関ペアは、1つ又は複数のニューラルネットワークから、複数の訓練データ項目の各々のデータセットの訓練特徴の第1のセット及び訓練特徴の第2のセットを含む特徴セットを受信することによって生成される。複数の訓練データ項目の各々のデータセットに対する1つ又は複数の第1のラベル及び1つ又は複数の第2のラベルは、訓練特徴の第1のセット及び訓練特徴の第2のセットを特徴空間上に投影することによって生成される。訓練特徴の第1のセット及び訓練特徴の第2のセットは、訓練特徴の第1のセットと訓練特徴の第2のセットとの相関に基づいて、特徴空間上で再配置される。複数の訓練データ項目の各々のデータセットの1つ又は複数の第1のラベル及び対応する第2のラベルをそれぞれ示す1つ又は複数の相関ペアが、訓練特徴の第1のセット及び訓練特徴の第2のセットの再配置に基づいて、生成される。
【0006】
一実施形態において、本開示は、ニューラルネットワークを動的環境に適応させるためのシステムを開示する。このシステムは、1つ又は複数のプロセッサと、メモリとを備える。1つ以上のプロセッサは、入力データ項目の第1の部分に関連付けられた、入力データ項目の特徴の第1のセットを受信するように構成される。さらに、1つ又は複数のプロセッサは、ニューラルネットワークを使用して生成された1つ又は複数の相関ペアと特徴の第1のセットとを関連付けることによって、入力データ項目の第2の部分に関連付けられた、入力データ項目の特徴の第2のセットを決定するように構成される。1つ又は複数の相関ペアは、1つ又は複数のニューラルネットワークから、複数の訓練データ項目の各々のデータセットの訓練特徴の第1のセット及び訓練特徴の第2のセットを含む特徴セットを受信することによって生成される。複数の訓練データ項目の各々のデータセットに対する1つ又は複数の第1のラベル及び1つ又は複数の第2のラベルは、訓練特徴の第1のセット及び訓練特徴の第2のセットを特徴空間上に投影することによって生成される。訓練特徴の第1のセット及び訓練特徴の第2のセットは、訓練特徴の第1のセットと訓練特徴の第2のセットとの相関に基づいて、特徴空間上で再配置される。複数の訓練データ項目の各々のデータセットの1つ又は複数の第1のラベル及び対応する第2のラベルをそれぞれ示す1つ又は複数の相関ペアが、訓練特徴の第1のセット及び訓練特徴の第2のセットの再配置に基づいて、生成される。
【0007】
前述の概要は例示的なものであり、いかなる意味においても限定的であることを意図するものではない。上述した例示的な態様、実施形態、及び特徴に加えて、さらなる態様、実施形態、及び特徴は、図面及び以下の詳細な説明を参照することによって明らかになるであろう。
【0008】
本開示の新規な特徴及び特性は、添付の特許請求の範囲に記載されている。しかしながら、本開示自体、並びにその好ましい使用態様、さらなる目的、及び利点は、添付の図と併せて読まれたときに、例示的な実施形態の以下の詳細な説明を参照することによって最もよく理解されるであろう。ここで、1つ又は複数の実施形態が、例示のためにのみ、添付の図を参照して説明され、ここで、同様の参照数字は同様の要素を表し、その中で、同様の参照数字は同様の要素を表す。
【図面の簡単な説明】
【0009】
図1図1は、本開示のいくつかの実施形態による、ニューラルネットワークを動的環境に適応させるための例示的な環境を示す。
図2図2は、本開示のいくつかの実施形態による、ニューラルネットワークを動的環境に適応させるためのシステムの詳細図である。
図3A図3Aは本開示のいくつかの実施形態による、ニューラルネットワークを動的環境に適応させるための例示的な図である。
図3B図3Bは本開示のいくつかの実施形態による、ニューラルネットワークを動的環境に適応させるための例示的な図である。
図3C図3Cは本開示のいくつかの実施形態による、ニューラルネットワークを動的環境に適応させるための例示的な図である。
図4図4は、本開示のいくつかの実施形態による、動的環境に適応するためのニューラルネットワークを訓練するための方法ステップを示す例示的なフローチャートである。
図5図5は、本開示のいくつかの実施形態によるニューラルネットワークを動的環境に適応させるための方法ステップを示す例示的なフローチャートである。
図6図6は、本開示の実施形態によるニューラルネットワークを動的環境に適応させるための汎用コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【0010】
本明細書における任意のブロック図は、本主題の原理を具体化する例示的なシステムの概念図を表すことが、当業者には理解されよう。同様に、任意のフローチャート、フロー図、状態遷移図、擬似コードなどは、そのようなコンピュータ又はプロセッサが明示的に示されているか否かにかかわらず、実質的にコンピュータ可読媒体で表され、コンピュータ又はプロセッサによって実行され得る様々なプロセスを表すことが理解されよう。
【0011】
本明細書において、「例示的」という語は、「例、実例、又は説明として役立つ」という意味で使用される。本明細書において「例示的」として記載される本主題の任意の実施形態又は実装は、必ずしも、他の実施形態よりも好ましい又は有利であると解釈されるものではない。
【0012】
本開示は様々な修正及び代替形態に影響を受け得るが、その具体的な実施形態が図面に例示的に示されており、以下に詳細に説明される。しかしながら、本開示を開示された特定の形態に限定することを意図するものではなく、逆に、本開示は、本開示の範囲内に入る全ての変更、等価物、及び代替物を対象とするものであることを理解されたい。
【0013】
「含む」、「含むこと」、又はそれらの他の変形は、非排他的な包含を意図しており、構成要素又はステップのリストから構成されるセットアップ、装置又は方法は、それらの構成要素又はステップのみを含むのではなく、明示的に列挙されていない、又はそのようなセットアップ又は装置又は方法に固有の他の構成要素又はステップを含む可能性がある。言い換えれば、システム又は装置内の1つ又は複数の要素の「…を含む」という文は、さらなる制約がなければ、システム又は装置内の他の要素又は追加の要素の存在を妨げるものではない。
【0014】
ニューラルネットワークは、さまざまな業界のさまざまなアプリケーションで使用されている。このようなアプリケーションで使用される場合、ニューラルネットワークはさまざまな種類の環境に対応する。ニューラルネットワークは、より良い性能を得るために、異なる種類の環境に適応する必要がある。本開示は、ニューラルネットワークを異なる動的環境に適応させるための方法及びシステムを提供する。ニューラルネットワークは、複数の訓練データ項目の訓練特徴(例えば、背景特徴)の第1のセットと訓練特徴(例えば、前景特徴)の第2のセットを提供することによって訓練される。ニューラルネットワークは、特徴の第1のセット及び特徴の第2のセットを相関させ、第1のラベル(例えば、背景ラベル)及び第2のラベル(例えば、前景ラベル)との相関ペアを形成する。ニューラルネットワークが入力データ項目の特徴(例えば背景特徴)の第1のセットを受信すると、ニューラルネットワークは相関ペアに基づいて入力データ項目の特徴の第2のセット(例えば前景特徴)を決定する。したがって、ニューラルネットワークは新しい環境に適応することができる。したがって、本開示は、ニューラルネットワークを異なる環境に適応させることを可能にする。本開示は、新たな環境(例えば、新たなモノのインターネット(IoT)環境)に対するデータ不足の制約下でニューラルネットワークを開発する際に使用することができ、それによってニューラルネットワークの用途を拡大することができる。
【0015】
図1は、本開示のいくつかの実施形態による、ニューラルネットワークを動的環境に適応させるための例示的な環境100を示す。環境100は、ニューラルネットワーク102及びシステム104を有する。入力データ項目101は、ニューラルネットワーク102に提供されてもよい。入力データ項目101は、画像、ビデオ、音声入力、テキスト入力、音声入力などのうちの1つを含む。入力データ項目101は、キャプチャユニット、ボイスレコーダ、データベースなどのようなソースから受信されてもよい。システム104は、入力データ項目101の第1の部分に関連付けられた、入力データ項目101の特徴の第1のセット103(第1の特徴のセット103)を受信する。例えば、入力データ項目101が画像である場合、入力データ項目101の第1の部分は画像の背景であってもよい。一実施形態では、特徴の第1のセット103は、ニューラルネットワーク102から受信されてもよい。人工ニューラルネットワークとしても知られるニューラルネットワーク102は、相互接続されたノードを有するコンピューティングシステムである。ニューラルネットワーク102は、継続的な学習及び改善のために、データ、領域、及び分類における隠れたパターン及び相関を経時的に認識する。ニューラルネットワーク102は、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、長期短期記憶(LSTM)、再帰的ニューラルネットワーク、グラフ畳み込みネットワーク、逐次ニューラルネットワーク、エンコーダ-デコーダネットワーク、及び、それらの組み合わせなどのうちの少なくとも1つで構成される。当業者は、本開示が、上記のニューラルネットワーク以外の任意のニューラルネットワークに適用可能であることを理解するであろう。
【0016】
システム104は、特徴の第1のセット103を1つ以上の相関ペアと関連付けることによって、入力データ項目101の第2の部分に関連付けられた、入力データ項目101の特徴の第2のセット108(第2の特徴のセット108)を決定してもよい。例えば、入力データ項目101が画像である場合、入力データ項目101の第2の部分は画像の前景であってもよい。本明細書では、入力データ項目101の前景は、ニューラルネットワーク102の所定の用途に関連する関心対象/音声特徴(入力データ項目101が音声入力を含む場合)を含む入力データ項目101の一部を指す。入力データ項目101の背景とは、関心対象を含まない/ニューラルネットワーク102の所定のアプリケーションに関連しない、入力データ項目101の一部/音声特徴を指す。相関ペアは、ニューラルネットワーク102を使用して、複数の訓練データ項目の各々のデータセットの訓練特徴の第1のセット(第1訓練特徴のセット)及び訓練特徴の第2のセット(第2訓練特徴のセット)からなる特徴セットを受信することによって生成される。例えば、訓練特徴の第1のセットは背景訓練特徴であってもよく、訓練特徴の第2のセットは前景訓練特徴であってもよい。複数の訓練データ項目の各々のデータセットは、元のデータ項目と、元のデータ項目の1つ以上の変換とから構成されてもよい。訓練特徴の第1のセット及び訓練特徴の第2のセットは、第1のラベル及び第2のラベルを生成するために特徴空間上に投影される。さらに、訓練特徴の第1のセット及び訓練特徴の第2のセットは、訓練特徴の第1のセットを訓練特徴の第2のセットに相関させることによって、特徴空間上に再配置される。再配置に基づいて、第1のラベル及び対応する第2のラベルをそれぞれ示す1つ又は複数の相関ペアが生成される。相関ペアは、第1のラベル(例えば、背景ラベル)及び対応する第2のラベル(例えば、前景ラベル)を示す。新たな特徴(例えば、背景特徴)を有する新たな入力データ項目101が受信されると、ニューラルネットワーク102は、入力データ項目101の前景特徴を決定し、異なる環境に適応することができる。ニューラルネットワーク102は、物体検出、物体追跡、顔認識などのアプリケーションで実装することができる。
【0017】
システム104は、入出力(I/O)インターフェース106、メモリ107、及び中央処理装置105(「CPU」又は「1つ以上のプロセッサ105」とも呼ばれる)を含むことができる。いくつかの実施形態では、メモリ107は、1つ又は複数のプロセッサ105に通信可能に結合されてもよい。メモリ107は、1つ以上のプロセッサ105によって実行可能な命令を記憶する。1つ以上のプロセッサ105は、ユーザ又はシステムが生成した要求を実行するためのプログラムコンポーネントを実行するための少なくとも1つのデータプロセッサを含んでよい。メモリ107は、1つ以上のプロセッサ105に通信可能に結合されてもよい。メモリ107は、1つ又は複数のプロセッサ105によって実行可能な命令を記憶し、実行時に、1つ又は複数のプロセッサ105にニューラルネットワーク102を動的環境に適応させるようにさせることができる。I/Oインターフェース106は、入力信号又は/及び出力信号が通信される1つ又は複数のプロセッサ105と結合される。例えば、入力データ項目101は、I/Oインターフェース106を介してユーザから受信されることがある。一実施形態では、システム104は、ラップトップコンピュータ、デスクトップコンピュータ、パーソナルコンピュータ(PC)、ノートブック、スマートフォン、タブレット、サーバ、ネットワークサーバ、クラウドベースのサーバなど、様々なコンピューティングシステムに実装することができる。
【0018】
本開示のいくつかの実施形態による、ニューラルネットワーク102を異なる環境に適応させるためのシステム104の詳細図200を示す。一実施形態では、メモリ107は、1つ以上のモジュール202及びデータ201を含み得る。1つ又は複数のモジュール202は、ダイナミックな環境にニューラルネットワーク102を適応させるために、データ201を使用して本開示のステップを実行するように構成され得る。一実施形態では、1つ以上のモジュール202の各々は、メモリ107の外部にあり、システム104と結合され得るハードウェアユニットであってもよい。本明細書で使用される場合、モジュール202という用語は、ASIC(Application Specific Integrated Circuit)、電子回路、FPGA(Field-Programmable Gate Arrays)、PSoC(Programmable System-on-Chip)、組合せ論理回路、及び/又は記載された機能を提供する他の適切なコンポーネントを指す。1つ又は複数のモジュール202は、本開示において定義される記載された機能性で構成されるとき、新規なハードウェアをもたらす。
【0019】
一実施形態では、モジュール202は、例えば、入力モジュール209、ラベル生成モジュール210、再配置モジュール211、相関モジュール212、決定モジュール213、及び他のモジュール214を含むことができる。このような前述のモジュール202は、単一のモジュールとして表されてもよいし、異なるモジュールの組み合わせとして表されてもよいことが理解されよう。一実施態様では、データ201は、例えば、入力データ203、ラベルデータ204、再配置データ205、相関データ206、決定データ207、及び他のデータ208を含むことができる。
【0020】
一実施形態において、入力モジュール209は、複数の訓練データ項目の各々のデータセットの特徴セットを受信するように構成されてもよい。複数の訓練データ項目は、画像、ビデオ、音声入力、テキスト入力、音声入力などのうちの1つを含んでよい。複数の訓練データ項目の各々のデータセットは、元のデータ項目と、元のデータ項目の1つ以上の変換とから構成される。元のデータ項目の1つ以上の変換は、回転、平行移動、スケーリングなどのうちの少なくとも1つから構成されてもよい。例えば、データセットは、原画像、原画像の回転バージョン、原画像のスケーリングバージョン等から構成されてもよい。特徴セットは、複数の訓練データ項目の各々のデータセットの訓練特徴の第1のセット及び訓練特徴の第2のセットから構成されてもよい。訓練特徴の第1のセットは、複数の訓練データ項目の各々の第1の部分に関連付けられ得る。訓練特徴の第2のセットは、複数の訓練データ項目の各々の第2の部分に関連付けられてもよい。例えば、訓練データ項目が画像であることを考える。その場合、訓練データ項目の第1の部分は画像の背景であってもよい。一方、訓練データ項目の第2の部分は、画像の前景であってもよい。画像は、前景に列車、背景に鉄道駅構内の人々から構成される。別の例では、画像は、前景に作業員、背景に組立ライン環境から構成される。
【0021】
一実施形態では、ニューラルネットワーク102の訓練中、入力モジュール209は、1つ又は複数のニューラルネットワーク102から訓練特徴の第1のセット及び訓練特徴の第2のセットを受信してもよい。例えば、第1のニューラルネットワークは、複数の訓練データ項目の各々のデータセットの第1の部分に関連する訓練特徴の第1のセットを抽出するために使用されてもよい。第2のニューラルネットワークは、複数の訓練データ項目の各々のデータセットの第2の部分に関連付けられた訓練特徴の第2のセットを抽出するために使用されてもよい。1つ又は複数のニューラルネットワーク102は、訓練されたニューラルネットワーク又は未訓練のニューラルネットワークであってよい。一実施形態において、複数の訓練データ項目は、入力モジュール209に提供されてもよい。入力モジュール209は、複数の訓練データ項目のそれぞれの第1の部分及び第2の部分を生成してもよい。例えば、入力モジュール209は、複数の訓練データ項目の各々の前景及び背景を得るために、背景減算技術を使用して、複数の訓練データ項目の各々の第1の部分及び第2の部分を生成してもよい。当業者であれば、複数の訓練データ項目の各々の第1の部分及び第2の部分を得るために、上述の技法以外の任意の技法が使用されてもよいことを理解するであろう。別の実施形態において、入力モジュール209は、複数の訓練データ項目の各々の第1の部分及び第2の部分を受信してもよい。第1の部分及び第2の部分は、ユーザ、データベースなどから受信されてもよい。
【0022】
図3Aの例300を参照すると、複数の訓練データ項目の各々の第1の部分302及び第2の部分301が図示されている。この例では、複数の訓練データ項目の各々は画像である。第1の部分302は画像の背景であり、第2の部分301は画像の前景である。さらに、複数の訓練データ項目の各々の1つ以上の変換303が生成される。次に、1つ又は複数のニューラルネットワーク102(ニューラルネットワーク102、ニューラルネットワーク102)は、複数の訓練データ項目の各々のデータセットの特徴の第1のセット及び特徴の第2のセットを抽出することができる。例えば、ニューラルネットワーク102は、特徴の第2のセット304(例えば、前景特徴)を生成し、ニューラルネットワーク102は、特徴の第1のセット305(例えば、背景特徴)を生成する。一例において、ニューラルネットワーク102は、異なるアプリケーションにおいてニューラルネットワーク102によって実行されるタスクに基づいて、複数の訓練データ項目の各々の複数のクラスに対して訓練されてもよい。各クラスに対応する特徴の第1のセット305及び特徴の第2のセット304が抽出されてもよい。特徴セットは、入力データ203としてメモリ107に格納されてもよい。
【0023】
一実施形態において、ラベル生成モジュール210は、入力モジュール209から入力データ203を受信するように構成されてもよい。さらに、ラベル生成モジュール210は、複数の訓練データ項目の各々のデータセットについて、1つ以上の第1のラベル及び1つ以上の第2のラベルを生成するように構成されてもよい。ラベル生成モジュール210は、訓練特徴の第1のセット及び訓練特徴の第2のセットを特徴空間上に投影することによって、1つ以上の第1のラベル(例えば、背景ラベル)及び1つ以上の第2のラベル(例えば、前景ラベル)を生成する。まず、ラベル生成モジュール210は、複数の訓練データ項目からの訓練データ項目の第2の部分の1つ以上のクラスの各々の、特徴空間における訓練特徴の第1のセット及び訓練特徴の第2のセットを投影する。例えば、訓練データ項目は画像であってもよい。画像の第2の部分(例えば、前景)の1つ又は複数のクラスは、オブジェクト識別、オブジェクト認識などを含み得る。一例において、ニューラルネットワーク102は、歩行者分類において実装されてもよい。その場合、1つ又は複数のクラスは、歩行者識別、歩行者認識などを含み得る。別の例では、ニューラルネットワーク102は、職場の安全のための監視アプリケーションに実装されてもよい。1つ又は複数のクラスは、作業者識別、安全装置遵守検出などを含むことができる。一実施形態では、特徴空間は超球であってもよい。当業者であれば、訓練特徴の第1のセット及び第2のセットは、上述の特徴空間以外の任意の特徴空間に投影されてもよいことを理解するであろう。図3Bの306を参照すると、三角形は、特徴空間308に投影された訓練特徴の第2のセットからの訓練特徴を示す。同様に、星印は、特徴空間308に投影された訓練特徴の第1のセットからの訓練特徴を示す。次に、ラベル生成モジュール210は、訓練特徴の第1のセットと訓練特徴の第2のセットとの間の類似性に基づいて複数の領域を作成する。図3Bの例を参照すると、複数の領域30711、30712、30721、30722、30731及び30732が作成される。特徴空間が超球の場合、複数の領域は球である。他の例では、複数の領域は、正方形、eclipseなどを含んでもよい。309は、訓練特徴の第1のセットと訓練特徴の第2のセットを分離する湾曲超平面309を示す。
【0024】
ラベル生成モジュール210は、複数の領域の各々の中心及び半径を特定してもよい。次に、ラベル生成モジュール210は、複数の訓練データ項目から他の訓練データ項目の第2の部分の1つ以上のクラスのそれぞれの、特徴空間における訓練特徴の第1のセット及び訓練特徴の第2のセットを投影することによって、複数の領域のそれぞれの半径を調整する。特徴空間が超球である場合、ラベル生成モジュール210は、以下の式(1)に基づいて半径を調整する。
【0025】
【数1】
ここで、「Wpxk」は中心行列、「Rpxk」は半径行列、「lmxn」は訓練特徴の第1及び第2のセット、「Dist」は特徴空間における点(訓練特徴の第1のセット及び訓練特徴の第2のセット)間の距離である。距離は、ユークリッド距離、コサイン距離などを用いて計算することができる。ラベル生成モジュール210は、対応する領域に関連付けられた、訓練特徴の第1のセットと訓練特徴の第2のセットの類似性に基づいて、複数の領域の各々に対してラベルを生成する。例えば、「黄色いシャツを着た歩行者」というラベルが、領域30711に対して生成されることがある。複数の領域の数は、複数の訓練データ項目の各々の1つ以上の変換303の数と、1つ以上のクラスの数に基づく。一実施形態では、複数の領域の数は、1つ以上のクラスと1つ以上の変換303との積である。1つ以上の第1のラベル及び1つ以上の第2のラベルは、ラベルデータ204としてメモリ107に記憶されてもよい。
【0026】
一実施形態において、再配置モジュール211は、入力モジュール209から入力データ203を受信し、ラベル生成モジュール210からラベルデータ204を受信するように構成されてもよい。さらに、再配置モジュール211は、訓練特徴の第1のセットと訓練特徴の第2のセットとの相関に基づいて、訓練特徴の第1のセットと訓練特徴の第2のセットとを特徴空間上に再配置するように構成されてもよい。特に、再配置モジュール211は、訓練特徴の第2のセットの生成に関連する1つ以上のニューラルネットワーク102から第1のニューラルネットワークに1つ以上の第1のラベルを提供することによって、1つ以上の第2のラベルを1つ以上の第1のラベルと相関させる。さらに、1つ又は複数の第2のラベルは、訓練特徴の第1のセットの生成に関連付けられた1つ又は複数のニューラルネットワーク102から第2のニューラルネットワークに提供される。相関(関連付け)は、スワップされたラベリング技術を使用して実行されてもよい。当業者は、1つ又は複数の第2のラベルを1つ又は複数の第1のラベルと相関させるために、上述の技法以外の任意の技法が使用されてもよいことを理解するであろう。再配置モジュール211は、相関関係に基づいて、特徴空間上で訓練特徴の第1のセット及び訓練特徴の第2のセットを再配置してもよい。一例において、再配置は、訓練特徴の第2のセットを有する領域に対する訓練特徴の第1のセットを有する領域の移動を含み得る。図3Bの例を参照すると、相関関係に基づいて、領域30712が領域30711に近付くように移動されてもよい。再配置された訓練特徴の第1のセット及び訓練特徴の第2のセットに関連するデータは、再配置データ205としてメモリ107に格納されてもよい。
【0027】
一実施形態において、相関モジュール212は、再配置モジュール211から再配置データ205を受信するように構成されてもよい。さらに、相関モジュール212は、1つ以上の相関ペアを生成するように構成されてもよい。相関モジュール212は、訓練特徴の第1のセット及び訓練特徴の第2のセットの再配置に基づいて、1つ又は複数の相関ペアを生成してもよい。1つ又は複数の相関ペアの各々は、複数の訓練データ項目の各々のデータセットの1つ又は複数の第1のラベル及び対応する第2のラベルを示してよい。図3Bの例を参照すると、第1の相関ペアは、領域30711と領域30712とを含み、第2の相関ペアは、領域30721と領域30722とを含み、第3の相関ペアは、領域30731と領域30732とを含む。一例において、相関ペアは、複数の画像の各々のデータセットの背景ラベル及び対応する前景ラベルを示すことができる。1つ以上の相関ペアは、相関データ206としてメモリ107に格納されることがある。
【0028】
一実施形態では、展開中、入力モジュール209は、入力データ項目101の特徴の第1のセット103を受信するようにさらに構成される。入力データ項目101は、画像、ビデオ、音声入力、テキスト入力及び音声入力などのうちの1つを含んでよい。特徴の第1のセット103は、入力データ項目101の第1の部分に関連付けられることがある。例えば、入力データ項目101は画像であってもよい。入力データ項目101の第1の部分は、画像の背景であってもよい。一例では、画像の背景は、オープンエリアにある列車を含むことがある。別の例では、入力データ項目101は書かれたテキストであってもよい。背景は青い紙を含んでいてもよい。別の例では、背景は生産ライン環境を含む。ニューラルネットワークは、組立ライン環境で訓練されてもよい。一実施形態では、入力モジュール209は、ニューラルネットワーク102から特徴の第1のセット103を受信してもよい。別の実施形態では、入力モジュール209は、データベース、ユーザ、キャプチャユニット、オーディオレコーダなどの1つ以上のソースから特徴の第1のセットを受信してもよい。特徴の第1のセット103は、入力データ203としてメモリ107に格納されてもよい。
【0029】
一実施形態では、決定モジュール213は、入力モジュール209から入力データ203を受信するように構成される。さらに、決定モジュール213は、入力データ項目101の特徴の第2のセット108を決定するように構成される。特徴の第2のセット108は、入力データ項目101の第2の部分、例えば、画像の前景に関連付けられる。決定モジュール213は、特徴の第1のセット103を1つ又は複数の相関ペアと関連付けることによって、特徴の第2のセット108を決定してもよい。決定モジュール213は、図3Cに示されるように、変換行列Wt310を生成することによって、特徴の第1のセット103を1つ又は複数の相関ペアと関連付けることができる。一実施形態では、変換行列Wtは、リーマン条件付け技法(Riemannian conditioning technique)を使用して生成されてもよい。決定モジュール213は、以下に与えられるように、式(2)を使用して、特徴の第1のセット103を1つ又は複数の相関ペアと関連付けることができる。
【0030】
【数2】
ここで、Arccosはコサイン関数の逆関数を示す。当業者であれば、上述の関数以外の任意の逆三角関数が、特徴の第1のセット103と1つ又は複数の相関ペアとの関連付けに使用され得ることを理解するであろう。特徴の第2のセット108は、メモリ107に決定データ207として記憶されてもよい。上述の例を参照すると、ニューラルネットワーク102は、背景に人がいる場合に列車又は列車の周囲の物体を識別するように訓練されてもよい。本開示は、列車がオープンエリアにある場合に、ニューラルネットワーク102が列車又は列車の周囲の物体を識別することを可能にする。したがって、本開示は、異なる環境におけるニューラルネットワーク102による予測における背景変動(例えば、オープンエリアにおける太陽光)を克服し、したがって、ニューラルネットワーク102の性能及びスケーラビリティを向上させる。
【0031】
その他のデータ208は、システム104の様々な機能を実行するために1つ又は複数のモジュール202によって生成された一時データ及び一時ファイルを含むデータを格納することができる。その他のデータ208は、メモリ107に格納されてもよい。また、1つ以上のモジュール202は、システム104の様々な雑多な機能を実行するための他のモジュール214を含んでもよい。例えば、他のモジュール214は、テストモジュールを含むことができる。テストモジュールは、訓練特徴の第2のセット及び特徴の第2のセット108に基づいて、1つ又は複数のテスト特徴を生成するように構成されてもよい。さらに、テストモジュールは、1つ以上のテスト特徴を特徴の第1のセット103と比較することによって偏差を識別するように構成されてもよい。テストモジュールは、入力データ項目101の第1の部分に関連する正しい特徴(背景特徴)が予測されるか否かを判定するために、偏差を識別する。次に、テストモジュールは、偏差の識別に応じて、1つ以上のテスト特徴を修正するように構成されてもよい。さらに、テストモジュールは、特徴の第2のセット108を修正するように構成されてもよい。テストモジュールは、特徴の第2のセット108を修正するために逆変換を実行するために使用される。1つ又は複数のモジュール202は、単一のモジュール又は異なるモジュールの組み合わせとして表されてもよいことが理解されよう。
【0032】
図4は、本開示のいくつかの実施形態に従って、動的環境に適応するためのニューラルネットワーク102を訓練するための方法ステップを示す例示的なフローチャートである。図4に示されるように、方法400は、1つ又は複数のステップから構成され得る。方法400は、コンピュータ実行可能命令の一般的な文脈で説明され得る。一般に、コンピュータ実行可能命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、及び、関数を含み得、これらは、特定の機能を実行するか、又は特定の抽象データ型を実装する。
【0033】
方法400が説明される順序は、限定として解釈されることを意図しておらず、説明される方法ブロックの任意の数は、方法を実施するために任意の順序で組み合わせることができる。さらに、個々のブロックは、本明細書に記載の主題の範囲から逸脱することなく、方法から削除することができる。 さらに、本方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実施することができる。
【0034】
ステップ401で、システム104は、入力データ項目101の特徴の第1のセット103を受信する。入力データ項目101は、画像、ビデオ、音声入力、テキスト入力及び音声入力などのうちの1つで構成されてもよい。特徴103の第1のセットは、入力データ項目101の第1の部分に関連付けられる。一実施形態では、システム104は、ニューラルネットワーク102から特徴の第1のセット103を受信してもよい。別の実施形態では、システム104は、データベース、ユーザ、キャプチャユニット、オーディオレコーダなどの1つ又は複数のソースから特徴の第1のセットを受信してもよい。
【0035】
ステップ402において、システム104は、複数の訓練データ項目の各々のデータセットについて、1つ以上の第1のラベル及び1つ以上の第2のラベルを生成する。システム104は、訓練特徴の第1のセット及び訓練特徴の第2のセットを特徴空間上に投影することによって、1つ又は複数の第1のラベル及び1つ又は複数の第2のラベルを生成する。システム104は、複数の訓練データ項目からの訓練データ項目の第2の部分の1つ又は複数のクラスの各々の、特徴空間における訓練特徴の第1のセット及び訓練特徴の第2のセットを投影する。さらに、システム104は、訓練特徴の第1のセットと訓練特徴の第2のセットとの間の類似性に基づいて、複数の領域を作成する。次に、システム104は、複数の領域のそれぞれの中心と半径を特定する。システム104は、複数の訓練データ項目から他の訓練データ項目の第2の部分の1つ又は複数のクラスの各々について、訓練特徴の第1のセット及び訓練特徴の第2のセットを特徴空間内に投影することによって、複数の領域の各々の半径を調整する。さらに、システム104は、訓練特徴の第1のセット及び訓練特徴の第2のセットの類似性に基づいて、対応する領域に関連付けられた、複数の領域の各々に対するラベルを生成する。
【0036】
ステップ403において、システム104は、訓練特徴の第1のセットと訓練特徴の第2のセットとの相関に基づいて、訓練特徴の第1のセットと訓練特徴の第2のセットとを特徴空間上に再配置する。システム104は、訓練特徴の第2のセットの生成に関連する1つ又は複数のニューラルネットワーク102から第1のニューラルネットワークに1つ又は複数の第1のラベルを提供することによって、1つ又は複数の第2のラベルを1つ又は複数の第1のラベルと相関させる。さらに、1つ又は複数の第2のラベルは、訓練特徴の第1のセットの生成に関連付けられた1つ又は複数のニューラルネットワーク102からの第2のニューラルネットワークに提供される。
【0037】
ステップ404において、システム104は、1つ以上の相関ペアを生成する。システム104は、訓練特徴の第1のセット及び訓練特徴の第2のセットの再配置に基づいて、1つ又は複数の相関ペアを生成してもよい。1つ又は複数の相関ペアの各々は、複数の訓練データ項目の各々のデータセットの1つ又は複数の第1のラベル及び対応する第2のラベルを示してもよい。
【0038】
図5は、本開示のいくつかの実施形態による、ニューラルネットワーク102を動的環境に適応させるための方法ステップを示す例示的なフローチャートである。図5に示されるように、方法500は、1つ又は複数のステップから構成され得る。方法500は、コンピュータ実行可能命令の一般的な文脈で説明され得る。一般に、コンピュータ実行可能命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、及び関数を含み得る、これらは、特定の機能を実行するか、又は特定の抽象データ型を実装する。
【0039】
方法500が説明される順序は、限定として解釈されることを意図しておらず、説明される方法ブロックの任意の数は、方法を実施するために任意の順序で組み合わせることができる。さらに、個々のブロックは、本明細書に記載の主題の範囲から逸脱することなく、方法から削除することができる。さらに、本方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実施することができる。
【0040】
ステップ501で、システム104は、入力データ項目101の特徴の第1のセット103を受信する。入力データ項目101は、画像、ビデオ、音声入力、テキスト入力及び音声入力などのうちの1つで構成されてもよい。特徴の第1のセット103は、入力データ項目101の第1の部分に関連付けられる。一実施形態では、システム104は、ニューラルネットワーク102から特徴の第1のセット103を受信してもよい。別の実施形態では、システム104は、データベース、ユーザ、キャプチャユニット、オーディオレコーダなどの1つ又は複数のソースから特徴の第1のセットを受信してもよい。
【0041】
ステップ502で、システム104は、入力データ項目101の特徴の第2のセット108を決定する。特徴の第2のセット108は、入力データ項目101の第2の部分に関連付けられる。システム104は、特徴の第1のセット103を1つ以上の相関ペアと関連付けることによって、特徴の第2のセット108を決定する。システム104は、リーマン条件付け技術(Riemannian conditioning technique)を使用して変換行列Wtを生成することによって、特徴の第1のセット103を1つ又は複数の相関ペアと関連付けることができる。当業者であれば、上述の技法以外の任意の技法が、特徴の第1のセット103を1つ又は複数の相関ペアと関連付けるために使用されてもよいことを理解するであろう。
【0042】
上述した実施例及び対応する図は、入力データ項目(複数の訓練データ項目及び入力データ項目101)を画像とみなして説明する。従って、特徴の第1のセット、特徴の第2のセット、訓練特徴の第1のセット、訓練特徴の第2のセット、第1のラベル、第2のラベル等は、画像の前景及び背景に対応する。本発明は、画像に限定されず、特徴の第1のセット、特徴の第2のセットは、入力データ項目101のタイプに基づいて適宜変化してもよい。例えば、入力データ項目101は、ニューラルネットワークの音声認識アプリケーションのための音声入力を含んでもよい。このような場合、特徴の第1のセットは、人物のアクセントなどの音声入力の背景特徴から構成されてもよい。特徴の第2のセットは、人物の声などの音声入力の前景特徴から構成されてもよい。別の例では、入力データ項目101は、ニューラルネットワークのアクセント分類アプリケーションにおける音声入力を含む場合がある。このような場合、特徴の第1のセットは、人物の声などの音声入力の背景特徴から構成されてもよい。特徴の第2のセットは、人物のアクセントなどの音声入力の前景特徴から構成される場合がある。
【0043】
<コンピュータシステム>
図6は、本開示と一致する実施形態を実施するための例示的なコンピュータシステム600のブロック図である。実施形態において、コンピュータシステム600は、システム104であってもよい。したがって、コンピュータシステム600は、動的環境においてニューラルネットワーク102を適応させるために使用されてもよい。コンピュータシステム600は、中央処理装置602(「CPU」又は「プロセッサ」とも呼ばれる)を含んでもよい。プロセッサ602は、少なくとも1つのデータプロセッサを含んでよい。プロセッサ602は、統合システム(バス)コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、グラフィック処理ユニット、デジタル信号処理ユニットなどの特殊な処理ユニットを含んでもよい。プロセッサ602は、図2で説明したプロセッサ105を実現するために使用されてもよい。
【0044】
プロセッサ602は、I/Oインターフェース601を介して、1つ以上の入力/出力(I/O)デバイス(図示せず)と通信可能に配置されてもよい。I/Oインターフェース601は、限定されないが、オーディオ、アナログ、デジタル、モノラル、RCA、ステレオ、IEEE(Institute of Electrical and Electronics Engineers)-1394、シリアルバス、ユニバーサルシリアルバス(USB)、赤外線、PS/2、BNC、同軸、コンポーネント、コンポジット、デジタルビジュアルインターフェース(DVI)、高精細マルチメディアインターフェース(HDMI)、無線周波数(RF)アンテナ、Sビデオ、VGA、IEEE 802.n /b/g/n/x、ブルートゥース、セルラー(例えば、符号分割多元接続(CDMA)、高速パケットアクセス(HSPA+)、グローバル移動通信システム(GSM)、長期進化(LTE)、WiMaxなど)などのような、通信プロトコル/通信方法などが挙げられる。
【0045】
I/Oインターフェース601を使用して、コンピュータシステム600は、1つ又は複数のI/Oデバイスと通信してもよい。例えば、入力デバイス610は、アンテナ、キーボード、マウス、ジョイスティック、(赤外線)リモートコントロール、カメラ、カードリーダ、ファックス機、ドングル、バイオメトリックリーダ、マイクロフォン、タッチスクリーン、タッチパッド、トラックボール、スタイラス、スキャナ、記憶装置、トランシーバ、ビデオデバイス/ソースなどであってもよい。出力デバイス611は、プリンタ、ファクシミリ、ビデオ・ディスプレイ(例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、プラズマ、プラズマ・ディスプレイ・パネル(PDP)、有機発光ダイオード・ディスプレイ(OLED)等)、オーディオ・スピーカ等であってもよい。
【0046】
プロセッサ602は、ネットワークインターフェース603を介して通信ネットワーク609と通信可能に配置されてもよい。ネットワークインターフェース603は、通信ネットワーク609と通信してもよい。ネットワークインターフェース603は、限定されないが、ダイレクトコネクト、イーサネット(例えば、ツイストペア10/100/1000ベースT)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、トークンリング、IEEE802.11a/b/g/n/xなどを含む接続プロトコルを採用してもよい。通信ネットワーク609は、限定するものではないが、直接相互接続、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスネットワーク(例えば、ワイヤレスアプリケーションプロトコルを使用する)、インターネット等を含み得る。ネットワークインターフェース603は、接続プロトコルとして、ダイレクトコネクト、イーサネット(例えば、ツイストペア10/100/1000ベースT)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、トークンリング、IEEE 802.11a/b/g/n/xなどを採用することができるが、これらに限定されない。
【0047】
通信ネットワーク609は、直接相互接続、電子商取引ネットワーク、ピアツーピア(P2P)ネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスネットワーク(例えば、ワイヤレスアプリケーションプロトコルを使用する)、インターネット、Wi-Fiなどを含むが、これらに限定されない。第1のネットワークと第2のネットワークは、専用ネットワークであっても、共有ネットワークであってもよく、これは、例えば、HTTP(Hypertext Transfer Protocol)、TCP/IP(Transmission Control Protocol/Internet Protocol)、WAP(Wireless Application Protocol)等の様々なプロトコルを使用して互いに通信する異なるタイプのネットワークの関連付けを表す。さらに、第1のネットワーク及び第2のネットワークは、ルータ、ブリッジ、サーバ、コンピューティングデバイス、ストレージデバイスなどを含む様々なネットワークデバイスを含み得る。コンピュータシステム600は、通信ネットワーク609を介してデータ項目612(入力データ項目及び複数の訓練データ項目)を受信することができる。
【0048】
いくつかの実施形態では、プロセッサ602は、ストレージインタフェース604を介してメモリ605(例えば、図6には示されていないRAM、ROMなど)と通信可能に配置されてもよい。ストレージインタフェース604は、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)、統合ドライブ・エレクトロニクス(IDE)、IEEE-1394、ユニバーサルシリアルバス(USB)、ファイバ・チャネル、小型コンピュータシステム・インターフェース(SCSI)などの接続プロトコルを採用する、限定されないが、メモリ・ドライブ、リムーバブル・ディスク・ドライブなどを含むメモリ605に接続してもよい。メモリ・ドライブには、さらに、ドラム、磁気ディスク・ドライブ、光磁気ドライブ、光学ドライブ、RAID(Redundant Array of Independent Discs)、ソリッド・ステート・メモリ・デバイス、ソリッド・ステート・ドライブなどを含めることができる。
【0049】
メモリ605は、限定されるものではないが、ユーザインタフェース606、オペレーティングシステム607、ウェブブラウザ608などを含む、プログラム又はデータベースコンポーネントの集合を格納することができる。いくつかの実施形態では、コンピュータシステム600は、本開示で説明されるようなデータ、変数、レコードなどのユーザ/アプリケーションデータを格納することができる。このようなデータベースは、Oracle(登録商標)又はSybase(登録商標)などのフォールトトレラント、リレーショナル、スケーラブル、セキュアなデータベースとして実装することができる。メモリ605は、図2で説明したメモリ107を実現するために使用することができる。メモリ605は、プロセッサ602と通信可能に結合されていてもよい。メモリ605は、1つ又は複数のプロセッサ602によって実行可能な命令を格納し、実行時に、プロセッサ602にニューラルネットワーク102を動的環境に適応させることができる。
【0050】
オペレーティングシステム607は、コンピュータシステム600のリソース管理及び動作を容易にすることができる。オペレーティングシステムの例としては、限定されないが、APPLE MACINTOSHR OS X、UNIXR、UNIXライクシステムディストリビューション(例えば、BERKELEY SOFTWARE DISTRIBUTIONTM(BSD)、FREEBSDTM、NETBSDTM、OPENBSDTM など)、LINUX DISTRIBUTIONSTM(例えば、RED HATTM,UBUNTUTM,KUBUNTUTMなど)、IBMTM OS/2、MICROSOFTTM WINDOWSTM (XPTM , VISTATM /7/8, 10など)、APPLER IOSTM、GOOGLER ANDROIDTM、BLACKBERRYR OSなどを含む。
【0051】
いくつかの実施形態では、コンピュータシステム600は、ウェブブラウザ608に格納されたプログラムコンポーネントを実装することができる。ウェブブラウザ608は、例えば、MICROSOFTR INTERNET EXPLORERTM 、GOOGLER CHROMETM0 、MOZILLAR FIREFOXTM 、APPLER SAFARITM などのハイパーテキスト閲覧アプリケーションであってもよい。セキュアなウェブブラウジングは、セキュア・ハイパーテキスト・トランスポート・プロトコル(HTTPS)、セキュア・ソケット・レイヤー(SSL)、トランスポート・レイヤー・セキュリティ(TLS)などを使用して提供される。ウェブブラウザ608は、AJAXTM 、DHTMLTM 、ADOBER FLASHTM、JAVASCRIPTTM 、JAVATM 、アプリケーションプログラミングインタフェース(API)などのファシリティを利用することができる。いくつかの実施形態では、コンピュータシステム600は、メールサーバ(図示せず)に格納されたプログラムコンポーネントを実装してもよい。メールサーバは、Microsoft Exchangeなどのインターネットメールサーバーであってもよい。メールサーバは、ASPTM、ACTIVEXTM 、ANSITM C++/C#、MICROSOFTR、.NETTM、CGI SCRIPTSTM 、JAVATM、JAVASCRIPTTM、PERLTM、PHPTM、PYTHONTM、WEBOBJECTSTMなどの設備を利用してもよい。メールサーバは、IMAP(Internet Message Access Protocol)、MAPI(Messaging Application Programming Interface)、MICROSOFTR exchange、POP(Post Office Protocol)、SMTP(Simple Mail Transfer Protocol)などの通信プロトコルを利用することができる。いくつかの実施形態では、コンピュータシステム600は、メールクライアントストアドプログラムコンポーネントを実装してもよい。メールクライアント(図示せず)は、APPLER MAILTM 、MICROSOFTR ENTOURAGETM 、MICROSOFTR OUTLOOKTM 、MOZILLAR THUNDERBIRDTM などのメール閲覧アプリケーションであってもよい。
【0052】
さらに、本開示と一致する実施形態を実施する際に、1つ以上のコンピュータ読み取り可能な記憶媒体を利用することができる。コンピュータ可読記憶媒体は、プロセッサによって読み取り可能な情報又はデータが記憶され得る任意のタイプの物理的メモリを指す。したがって、コンピュータ読み取り可能記憶媒体は、プロセッサ(複数可)に本明細書に記載の実施形態と一致するステップ又は段階を実行させるための命令を含む、1つ又は複数のプロセッサによる実行のための命令を記憶することができる。「コンピュータ読み取り可能媒体」という用語は、有形物を含み、搬送波及び過渡信号を除外する、すなわち、非一過性であると理解されるべきである。例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、コンパクトディスク読み出し専用メモリ(CD ROM)、デジタルビデオディスク(DVD)、フラッシュドライブ、ディスク、及び他の任意の既知の物理的記憶媒体が挙げられる。
【0053】
本開示は、ニューラルネットワークを異なる動的環境に適応させるための方法及びシステムを提供する。ニューラルネットワークは、複数の訓練データ項目の訓練特徴の第1のセット(例えば、背景特徴)と訓練特徴の第2のセット(例えば、前景特徴)とを提供することによって訓練される。
ニューラルネットワークは、特徴の第1のセット及び特徴の第2のセットを相関させ、第1のラベル(例えば、背景ラベル)及び第2のラベル(例えば、前景ラベル)との相関ペアを形成する。ニューラルネットワークが入力データ項目の特徴の第1のセット(例えば背景特徴)を受信すると、ニューラルネットワークは相関ペアに基づいて入力データ項目の特徴の第2のセット(例えば前景特徴)を決定する。したがって、ネットワークは新しい環境に適応することができる。したがって、本開示は、ニューラルネットワークを異なる環境に適応させることを可能にする。本開示は、新たな環境(例えば、新たなモノのインターネット(IoT)環境)に対するデータ不足の制約下でのニューラルネットワークの開発に使用することができ、それによりニューラルネットワークの用途を拡大することができる。
【0054】
「実施形態」、「実施形態」、「実施形態」、「1つ又は複数の実施形態」、「いくつかの実施形態」、及び「1つの実施形態」という用語は、明示的に別段の指定がない限り、「本発明(複数可)の1つ又は複数の(すべてではない)実施形態」を意味する。
【0055】
用語「を含む」、「からなる」、「を有する」及びその変形は、明示的に別段の定めがない限り、「を含むが、これに限定されない」を意味する。
【0056】
項目の列挙は、明示的に別段の定めがない限り、項目のいずれか又はすべてが相互に排他的であることを意味するものではない。「a」、「an」及び「the」という用語は、明示的に別段の定めがない限り、「1つ以上」を意味する。
【0057】
互いに通信する複数の構成要素を有する実施形態の説明は、そのような構成要素がすべて必要であることを意味するものではない。それどころか、本発明の多種多様な可能な実施形態を説明するために、様々なオプションの構成要素が記載されている。
【0058】
単一の装置又は成形品が本明細書に記載されている場合、複数の装置/成形品(それらが協働するか否かを問わない)が、単一の装置/成形品の代わりに使用され得ることは、容易に明らかであろう。同様に、本明細書において(それらが協働するか否かにかかわらず)2つ以上の装置又は物品が記載される場合、2つ以上の装置又は物品の代わりに単一の装置/物品が使用されてもよいこと、又は、示された数の装置又はプログラムの代わりに異なる数の装置/物品が使用されてもよいことは、容易に明らかであろう。装置の機能性及び/又は特徴は、そのような機能性/特徴を有するものとして明示的に記載されていない1つ以上の他の装置によって代替的に具現化されてもよい。したがって、本発明の他の実施形態は、装置自体を含む必要はない。
【0059】
図4及び図5の図示された動作は、特定の事象が特定の順序で発生することを示している。代替の実施形態では、特定の動作は、異なる順序で実行されたり、修正されたり、削除されたりしてもよい。さらに、上述したロジックにステップを追加しても、説明した実施形態に適合する。さらに、本明細書に記載された操作は、順次行われてもよいし、特定の操作が並行して処理されてもよい。さらに、操作は、単一の処理ユニットによって実行されてもよいし、分散処理ユニットによって実行されてもよい。
【0060】
最後に、本明細書で使用される文言は、主として読みやすさと説明の目的で選択されたものであり、発明的主題を画定又は包囲するために選択されたものではない可能性がある。したがって、本発明の範囲は、この詳細な説明によってではなく、むしろ、ここに基づく出願に基づいて発行される特許請求の範囲によって限定されることが意図される。従って、本発明の実施形態の開示は、以下の特許請求の範囲に規定される本発明の範囲を例示するものであるが、限定するものではないことを意図している。
【0061】
本明細書では様々な態様及び実施形態を開示したが、他の態様及び実施形態も当業者には明らかであろう。本明細書に開示された様々な態様及び実施形態は、例示を目的とするものであり、限定を意図するものではなく、真の範囲は以下の特許請求の範囲によって示される。
【符号の説明】
【0062】
100…環境、101…入力データ項目、102…ニューラルネットワーク、103…特徴の第1のセット、104…システム、105…プロセッサ、106…I/Oインターフェース、107…メモリ、108…特徴の第2のセット、200…詳細図、201…データ、202…モジュール、203…入力データ、204…ラベルデータ、205…再配置データ、206…相関データ、207…決定データ、208…他のデータ、209…入力モジュール、210…ラベル生成モジュール、211…再配置モジュール、212…相関モジュール、213…決定モジュール、214…他のモジュール、300…例、301…第1の部分、302…第2の部分、303…変換、304…特徴の第2のセット、305…特徴の第1のセット、307…領域、308…特徴空間、309…湾曲超平面、310…変換行列、600…コンピュータシステム、601…I/Oインターフェース、602…プロセッサ、603…ネットワークインターフェース、604…ストレージインタフェース、605…メモリ、606…ユーザインタフェース、607…オペレーティングシステム、608…ウェブブラウザ、609…通信ネットワーク、610…入力デバイス、611…出力デバイス、612…データ項目
図1
図2
図3A
図3B
図3C
図4
図5
図6