(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6869948
(24)【登録日】2021年4月16日
(45)【発行日】2021年5月12日
(54)【発明の名称】ニューラルネットワークにおける転移学習
(51)【国際特許分類】
G06N 3/08 20060101AFI20210426BHJP
【FI】
G06N3/08
【請求項の数】15
【全頁数】32
(21)【出願番号】特願2018-502806(P2018-502806)
(86)(22)【出願日】2016年6月27日
(65)【公表番号】特表2018-525734(P2018-525734A)
(43)【公表日】2018年9月6日
(86)【国際出願番号】US2016039661
(87)【国際公開番号】WO2017052709
(87)【国際公開日】20170330
【審査請求日】2019年6月4日
(31)【優先権主張番号】62/195,763
(32)【優先日】2015年7月22日
(33)【優先権主張国】US
(31)【優先権主張番号】14/851,911
(32)【優先日】2015年9月11日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100184332
【弁理士】
【氏名又は名称】中丸 慶洋
(72)【発明者】
【氏名】ウィールジンスキー、カシミール・マシュー
【審査官】
多賀 実
(56)【参考文献】
【文献】
米国特許第07835910(US,B1)
【文献】
中山 英樹,「深層畳み込みニューラルネットによる画像特徴抽出と転移学習」,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2015年 7月 9日,第115巻, 第146号,pp.55-59
【文献】
得居 誠也,「最適化から見たディープラーニングの考え方」,オペレーションズ・リサーチ,公益社団法人日本オペレーションズ・リサーチ学会,2015年 4月 1日,第60巻, 第4号,pp.191-197
【文献】
Lei Jimmy Ba, et al.,"Do Deep Nets Really Need to be Deep?",Advances in Neural Information Processing Systems 27 (NIPS 2014) [online],Neural Information Processing Systems Foundation, Inc.,2014年,pp.1-9,[2020年7月27日検索], インターネット<URL: http://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
(57)【特許請求の範囲】
【請求項1】
転移学習の方法であって、
第1のトレーニングされたニューラルネットワークにおいて、第2のデータを受信することと、
前記第1のトレーニングされたニューラルネットワークを介して、前記第2のデータのための第2のラベルを生成することと、前記第1のトレーニングされたニューラルネットワークは、第1のデータのための第1のラベルを備える第1のトレーニングデータを用いて予めトレーニングされており、前記第2のラベルは、第2のニューラルネットワークをトレーニングするために生成され、
前記第2のデータおよび前記第2のラベルを備える第2のトレーニングデータを用いて前記第2のニューラルネットワークをトレーニングすることと、
更新された第2のネットワークを提供するために、第3のデータおよび第3のラベルに関する追加学習によって前記トレーニングされた第2のニューラルネットワークをトレーニングすることと、
前記更新された第2のトレーニングされたニューラルネットワークを介して、前記更新された第2のトレーニングされたニューラルネットワークにおいて受信される入力を分類することと
を備える方法。
【請求項2】
前記第2のネットワークのサイズが、前記第1のトレーニングされたニューラルネットワークのサイズとは異なる、請求項1に記載の方法。
【請求項3】
前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおけるクラスの少なくとも1つの既存の境界を修正することをさらに備える、請求項1に記載の方法。
【請求項4】
前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおいて少なくとも1つの新しいクラスを追加することをさらに備える、請求項1に記載の方法。
【請求項5】
(i) 前記第1のデータまたは前記第1のラベルは、前記第1のトレーニングされたニューラルネットワークをトレーニングした後に利用可能でなくなる、または
(ii) 前記第2のデータは、前記第1のデータと同様である、請求項1に記載の方法。
【請求項6】
前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
をさらに備える、請求項1に記載の方法。
【請求項7】
転移学習の方法であって、
第2のニューラルネットワークにおいて、第1のトレーニングされたニューラルネットワークによって生成された第2のラベルを受信することと、前記第2のラベルは、第2のデータに基づいて、前記第1のトレーニングされたニューラルネットワークにおいて生成され、前記第1のトレーニングされたニューラルネットワークは、第1のラベルおよび第1のデータを備える第1のトレーニングデータを用いて予めトレーニングされており、
前記第2のラベルおよび前記第2のデータを備える第2のトレーニングデータを用いて第2のニューラルネットワークをトレーニングすることと、
更新された第2のネットワークを提供するために、第3のデータおよび第3のラベルに関する追加学習によって前記トレーニングされた第2のニューラルネットワークをトレーニングすることと、
前記更新された第2のトレーニングされたニューラルネットワークを介して、前記更新された第2のトレーニングされたニューラルネットワークにおいて受信される入力を分類することと、
を備える方法。
【請求項8】
前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
をさらに備える、請求項7に記載の方法。
【請求項9】
(i) 前記第2のトレーニングされたニューラルネットワークのサイズが、前記第1のトレーニングされたニューラルネットワークのサイズとは異なる、
(ii) 前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおけるクラスの少なくとも1つの既存の境界を修正すること、
(iii) 前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおいて少なくとも1つの新しいクラスを追加すること、
(iv) 前記第1のデータまたは前記第1のラベルのうちの少なくとも1つは、前記第1のトレーニングされたニューラルネットワークをトレーニングした後に利用可能でなくなる、または
(v) 前記第2のデータは、前記第1のデータと同様である、
のうちの1つをさらに備える、請求項7に記載の方法。
【請求項10】
転移学習のための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサは、
第1のトレーニングされたニューラルネットワークにおいて、第2のデータを受信することと、
前記第1のトレーニングされたニューラルネットワークを介して、前記第2のデータのための第2のラベルを生成することと、前記第1のトレーニングされたニューラルネットワークは、第1のデータのための第1のラベルを備える第1のトレーニングデータを用いて予めトレーニングされており、前記第2のラベルは、第2のニューラルネットワークをトレーニングするために生成され、
前記第2のデータおよび前記第2のラベルを備える第2のトレーニングデータを用いて前記第2のニューラルネットワークをトレーニングすることと、
更新された第2のネットワークを提供するために、第3のデータおよび第3のラベルに関する追加学習によって前記トレーニングされた第2のニューラルネットワークをトレーニングすることと、
前記更新された第2のトレーニングされたニューラルネットワークを介して、前記更新された第2のトレーニングされたニューラルネットワークにおいて受信される入力を分類することと
を行うように構成される、装置。
【請求項11】
(i) 前記第2のトレーニングされたニューラルネットワークのサイズが、前記第1のトレーニングされたニューラルネットワークのサイズとは異なる、
(ii) 前記少なくとも1つのプロセッサは、前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおけるクラスの少なくとも1つの既存の境界を修正するようにさらに構成される、
(iii) 前記少なくとも1つのプロセッサは、前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおいて少なくとも1つの新しいクラスを追加するようにさらに構成される、
(iv) 前記第1のデータまたは前記第1のラベルのうちの少なくとも1つは、前記第1のトレーニングされたニューラルネットワークをトレーニングした後に利用可能でなくなる、
(v) 前記第2のデータは、前記第1のデータと同様である、または
(vi) 前記少なくとも1つのプロセッサは、
前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
を行うようにさらに構成される、
のうちの1つを備える、請求項10に記載の装置。
【請求項12】
転移学習のための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサは、
第2のニューラルネットワークにおいて、第1のトレーニングされたニューラルネットワークによって生成された第2のラベルを受信することと、前記第2のラベルは、第2のデータに基づいて、前記第1のトレーニングされたニューラルネットワークにおいて生成され、前記第1のトレーニングされたニューラルネットワークは、第1のラベルおよび第1のデータを備える第1のトレーニングデータを用いて予めトレーニングされており、
前記第2のラベルされたデータで第2のニューラルネットワークをトレーニングすることと、
更新された第2のネットワークを提供するために、第3のデータおよび第3のラベルに関する追加学習によって前記トレーニングされた第2のニューラルネットワークをトレーニングすることと、
前記更新された第2のトレーニングされたニューラルネットワークを介して、前記更新された第2のトレーニングされたニューラルネットワークにおいて受信される入力を分類することと
を行うように構成される、装置。
【請求項13】
(i) 前記少なくとも1つのプロセッサは、
前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
を行うようにさらに構成され、
(ii) 前記第2のトレーニングされたニューラルネットワークのサイズが、前記第1のトレーニングされたニューラルネットワークのサイズとは異なる、
(iii) 前記少なくとも1つのプロセッサは、前記第3のデータおよび前記第3のラベルに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおけるクラスの少なくとも1つの既存の境界を修正するようにさらに構成される、
(iv) 前記少なくとも1つのプロセッサは、前記第3のデータおよび前記第3のラベルに少なくとも部分的に基づいて、前記第2のトレーニングされたニューラルネットワークにおいて少なくとも1つの新しいクラスを追加するようにさらに構成される、
(v) 前記第1のデータまたは前記第1のラベルのうちの少なくとも1つは、前記第1のトレーニングされたニューラルネットワークをトレーニングした後に利用可能でなくなる、または
(vi) 前記第2のデータは、前記第1のデータと同様である、
のうちの1つをさらに備える、請求項12に記載の装置。
【請求項14】
プログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、
第1のトレーニングされたニューラルネットワークにおいて、第2のデータを受信するためのプログラムコードと、
前記第1のトレーニングされたニューラルネットワークを介して、前記第2のデータのための第2のラベルを生成するためのプログラムコードと、前記第1のトレーニングされたニューラルネットワークは、第1のデータのための第1のラベルを備える第1のトレーニングデータを用いて予めトレーニングされており、前記第2のラベルは、第2のニューラルネットワークをトレーニングするために生成され、
前記第2のデータおよび前記第2のラベルを備える第2のトレーニングデータを用いて前記第2のニューラルネットワークをトレーニングするためのプログラムコードと、
更新された第2のネットワークを提供するために、第3のデータおよび第3のラベルに関する追加学習によって前記トレーニングされた第2のニューラルネットワークをトレーニングするためのプログラムコードと、
前記更新された第2のトレーニングされたニューラルネットワークを介して、前記更新された第2のトレーニングされたニューラルネットワークにおいて受信される入力を分類するためのプログラムコードと
を備える、非一時的なコンピュータ可読媒体。
【請求項15】
プログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、
第2のニューラルネットワークにおいて、第1のトレーニングされたニューラルネットワークによって生成された第2のラベルを受信するためのプログラムコードと、第2のラベルは、第2のデータに基づいて、前記第1のトレーニングされたニューラルネットワークにおいて生成され、前記第1のトレーニングされたニューラルネットワークは、第1のラベルおよび第1のデータを備える第1のトレーニングデータを用いて予めトレーニングされおり、
前記第2のラベルされたデータで第2のニューラルネットワークをトレーニングするためのプログラムコードと、
更新された第2のネットワークを提供するために、第3のデータおよび第3のラベルに関する追加学習によって前記トレーニングされた第2のニューラルネットワークをトレーニングするためのプログラムコードと、
前記更新された第2のトレーニングされたニューラルネットワークを介して、前記更新された第2のトレーニングされたニューラルネットワークにおいて受信される入力を分類するためのプログラムコードと
を備える、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【0001】
[0001]本願は、2015年7月22日に出願された「ニューラルネットワークにおける転移学習(TRANSFER LEARNING IN NEURAL NETWORKS)」と題する米国仮特許出願第62/195,763号の利益を米国特許法第119条(e)項に基づいて主張し、その開示は、その全体が参照により本明細書に明確に組み込まれる。
【技術分野】
【0002】
[0002]本開示のある特定の態様は、一般に機械学習に関し、さらに詳細には、ニューラルネットワークにおける転移学習のためのシステムおよび方法を改善することに関する。
【背景技術】
【0003】
[0003]相互結合された人工ニューロン(例えば、ニューロンモデル)のグループを備え得る人工ニューラルネットワークは、計算デバイスであるか、または計算デバイスによって実行される方法を表す。
【0004】
[0004]畳み込みニューラルネットワークは、フィードフォワード(feed-forward)人工ニューラルネットワークのタイプである。畳み込みニューラルネットワークは、各々が受容野を有し、かつ入力空間を集合的にタイリングする(collectively tile)ニューロンの集合を含み得る。畳み込みニューラルネットワーク(CNN:convolutional neural networks)は、多数のアプリケーションを有する。特に、CNNは、パターン認識および分類(classification)の分野において幅広く使用されてきた。
【0005】
[0005]ディープビリーフネットワーク(deep belief networks)およびディープ畳み込みネットワークのような、ディープラーニングアーキテクチャ(deep learning architectures)は、第1の層のニューロンの出力が第2の層のニューロンへの入力となり、第2の層のニューロンの出力が第3の層のニューロンへの入力となるというような、層状のニューラルネットワークアーキテクチャ(layered neural networks architectures)である。ディープニューラルネットワークは、特徴の階層(hierarchy of features)を認識するようにトレーニングされ得、したがって、それらは、オブジェクト認識アプリケーションにおいてますます使用されている。畳み込みニューラルネットワークと同様に、これらのディープラーニングアーキテクチャにおける計算は、処理ノードの集団(population)にわたって分散され得、これは、1つまたは複数の計算チェーンにおいて構成され得る。これらの多層型アーキテクチャは、一度に1層ずつトレーニングされ得、バックプロパゲーション(back propagation)を使用して微調整(fine-tuned)され得る。
【0006】
[0006]他のモデルもまた、オブジェクト認識のために利用可能である。例えば、サポートベクターマシン(SVM:support vector machines)は、分類に適用されることができる学習ツールである。サポートベクターマシンは、データをカテゴリ化する(categorizes)分離超平面(例えば、決定境界)を含む。超平面は、教師あり学習(supervised learning)によって定義される。所望の超平面は、トレーニングデータのマージンを増大させる。言い換えれば、超平面は、トレーニング例との最大の最小距離(greatest minimum distance)を有するべきである。
【0007】
[0007]これらの解決策は、多数の(a number of)分類ベンチマークに対して優れた結果を達成するが、それらの計算複雑性は、極めて高くなり得る。加えて、モデルのトレーニングは、困難であり得る。
【発明の概要】
【0008】
[0008]本開示の一態様では、転移学習のための方法が開示される。方法は、第2のデータを受信することを含む。方法はまた、第1のネットワークを介して、第2のデータのための第2のラベルを生成することを含む。一構成では、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされている(previously trained)。さらに、第2のラベルは、第2のネットワークをトレーニングするために生成される。
【0009】
[0009]本開示の別の態様が、第2のデータを受信するための手段を含む装置に向けられる。装置はまた、第1のネットワークを介して、第2のデータのための第2のラベルを生成するための手段を含む。一構成では、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされている。さらに、第2のラベルは、第2のネットワークをトレーニングするために生成される。
【0010】
[0010]本開示の別の態様では、転移学習のためのコンピュータプログラム製品が開示される。コンピュータプログラム製品は、非一時的なプログラムコードがその上に記録された非一時的なコンピュータ可読媒体を有する。プログラムコードは、プロセッサによって実行され、第2のデータを受信するためのプログラムコードを含む。プログラムコードはまた、第1のネットワークを介して、第2のデータのための第2のラベルを生成するためのプログラムコードを含む。一構成では、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされている。さらに、第2のラベルは、第2のネットワークをトレーニングするために生成される。
【0011】
[0011]本開示の別の態様は、メモリユニットと、メモリに結合された1つまたは複数のプロセッサとを有する、転移学習のための装置に向けられる。(1つまたは複数の)プロセッサは、第2のデータを受信するように構成される。(1つまたは複数の)プロセッサはまた、第1のネットワークを介して、第2のデータのための第2のラベルを生成するように構成される。一構成では、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされている。さらに、第2のラベルは、第2のネットワークをトレーニングするために生成される。
【0012】
[0012]本開示の一態様では、転移学習のための方法が開示される。方法は、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信することを含む。一構成では、第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている。方法はまた、第2のラベルおよび第2のデータで第2のネットワークをトレーニングすることを含む。
【0013】
[0013]本開示の別の態様が、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するための手段を含む装置に向けられる。一構成では、第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている。装置はまた、第2のラベルおよび第2のデータで第2のネットワークをトレーニングするための手段を含む。
【0014】
[0014]本開示の別の態様では、転移学習のためのコンピュータプログラム製品が開示される。コンピュータプログラム製品は、非一時的なプログラムコードがその上に記録された非一時的なコンピュータ可読媒体を有する。プログラムコードは、プロセッサによって実行され、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するためのプログラムコードを含む。一構成では、第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている。プログラムコードはまた、第2のラベルおよび第2のデータで第2のネットワークをトレーニングするためのプログラムコードを含む。
【0015】
[0015]本開示の別の態様は、メモリと、このメモリに結合された1つまたは複数のプロセッサとを有する、転移学習のための装置に向けられる。(1つまたは複数の)プロセッサは、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するように構成される。一構成では、第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている。(1つまたは複数の)プロセッサはまた、第2のラベルおよび第2のデータで第2のネットワークをトレーニングするように構成される。
【0016】
[0016]本開示の追加の特徴および利点が、以下で説明される。本開示が、本開示と同じ目的を実行するための他の構造を修正(modifying)または設計するための基礎として容易に利用され得ることが、当業者によって理解されるべきである。また、そのような等価の構造が、添付された特許請求の範囲に記載の本開示の教示から逸脱しないことも、当業者によって理解されるべきである。さらなる目的および利点と共に、その構成および動作の方法の両方について、本開示の特徴であると考えられる新規の特徴は、添付の図面に関連して考慮されるとき、以下の説明からより良く理解されるであろう。しかしながら、図面の各々は、例示および説明のみの目的で提供されており、本開示の限定の定義として意図されるものではないことが、明確に理解されるべきである。
【図面の簡単な説明】
【0017】
[0017]本開示の特徴、性質、および利点は、同様の参照符号が全体にわたって同様のものを指す図面と共に考慮されるとき、以下に記載される詳細な説明からより明らかになるであろう。
【
図1】[0018]
図1は、本開示のある特定の態様による、汎用プロセッサを含む、システムオンチップ(SOC)を使用してニューラルネットワークを設計する例となるインプリメンテーションを例示する。
【
図2】[0019]
図2は、本開示の態様による、システムの例となるインプリメンテーションを例示する。
【
図3A】[0020]
図3Aは、本開示の態様による、ニューラルネットワークを例示する図である。
【
図3B】[0021]
図3Bは、本開示の態様による、例示的なディープ畳み込みネットワーク(DCN)を例示するブロック図である。
【
図4】[0022]
図4は、本開示の態様による、人工知能(AI)機能をモジュール化し得る例示的なソフトウェアアーキテクチャを例示するブロック図である。
【
図5】[0023]
図5は、本開示の態様による、スマートフォン上のAIアプリケーションのランタイム動作(run-time operation)を例示するブロック図である。
【
図6】[0024]
図6は、本開示の態様による、転移学習に関するフロー図である。
【
図7A】[0025]
図7Aは、本開示の態様による、異なるネットワークの例を例示する。
【
図7B】[0025]
図7Bは、本開示の態様による、異なるネットワークの例を例示する。
【
図7C】[0025]
図7Cは、本開示の態様による、異なるネットワークの例を例示する。
【
図7D】[0025]
図7Dは、本開示の態様による、異なるネットワークの例を例示する。
【
図7E】[0025]
図7Eは、本開示の態様による、異なるネットワークの例を例示する。
【
図8】[0026]
図8は、本開示の態様による、転移学習のための方法を例示する。
【
図9】[0026]
図9は、本開示の態様による、転移学習のための方法を例示する。
【0018】
[0027]添付された図面に関連して以下に記載される詳細な説明は、様々な構成の説明として意図され、ここで説明される概念が実施され得る唯一の構成を表すようには意図されない。詳細な説明は、様々な概念の完全な理解を提供することを目的とした特定の詳細を含む。しかしながら、これらの概念が、これらの特定の詳細なしで実施され得ることは、当業者にとって明らかであろう。いくつかの事例では、周知の構造およびコンポーネントが、このような概念を曖昧にすることを避けるために、ブロック図形式で示される。
【0019】
[0028]本教示に基づき、当業者は、本開示の範囲が、本開示のその他任意の態様と組み合わされてインプリメントされようと、あるいは独立してインプリメントされようと、本開示の任意の態様をカバーするように意図されていることを理解すべきである。例えば、記載される任意の数の態様を使用して、装置がインプリメントされ得、または方法が実施され得る。加えて、本発明の範囲は、記載される本開示の様々な態様に加えて、またはそれ以外の、他の構造、機能、または構造と機能を使用して実施されるそのような装置または方法をカバーするように意図される。開示される本開示の任意の態様が、請求項の1つまたは複数の要素によって具現化され得ることが理解されるべきである。
【0020】
[0029]「例示的(exemplary)」という用語は、ここで、「例、事例、または例示を提供する」という意味で使用される。「例示的」であるとしてここで説明される任意の態様は、必ずしも他の態様よりも好ましいまたは有利であるようには解釈されるべきでない。
【0021】
[0030]特定の態様がここで説明されるが、これらの態様の多くの変形および置換が、本開示の範囲内に含まれる。好ましい態様のいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、用途または目的に限定されるようには意図されない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワークおよびプロトコルに広く適用可能であるように意図されており、そのうちのいくつかは、図面および好ましい態様の以下の説明において、例として例示される。詳細な説明および図面は、限定ではなく、本開示の単なる例示であり、本開示の範囲は、添付された特許請求の範囲およびそれらの同等物によって定義されている。
【0022】
[0031]ニューラルネットワークは、入力からオブジェクトを分類するために、ラベルおよび対応するデータを含むトレーニングセットでトレーニングされ得る。例えば、第1のニューラルネットワークは、異なるタイプの車を識別するために、車のラベル付けされた画像でトレーニングされ得る。いくつかのケースでは、ネットワークがトレーニングされた後に、新しいクラスを追加する、および/または既存のクラスの境界を修正することが望ましくあり得る。依然として、様々な理由から、トレーニングセットは、第1のニューラルネットワークがトレーニングされた後に、もはや利用可能でなくなり得る。したがって、トレーニングセットがもはや利用可能でないので、追加学習(incremental learning)は、ネットワークがトレーニングされた後に、新しいクラスを追加する、および/または既存のクラスの境界を修正するために、ネットワークに対して実行されることができない。
【0023】
[0032]したがって、第2のニューラルネットワークによる追加学習を可能にするために、第1のニューラルネットワークの学習を第2のニューラルネットワークに転移することが望ましくあり得る。例えば、元のトレーニングセットは、第1のニューラルネットワークをトレーニングした後に利用可能でなくなり得るので、第1のニューラルネットワークは、第1のニューラルネットワークを近似した(approximates)第2のニューラルネットワークをトレーニングするための新しいデータにラベル付けするように指定され得る。その後、第2のニューラルネットワークは、追加学習または他のタスクのために使用され得る。
【0024】
[0033]
図1は、本開示のある特定の態様による、汎用プロセッサ(CPU)またはマルチコア汎用プロセッサ(CPUs)102を含み得る、システムオンチップ(SOC)100を使用した前述の転移学習の例となるインプリメンテーションを例示する。変数(例えば、ニューラル信号およびシナプス荷重(synaptic weights))、計算デバイスに関連付けられたシステムパラメータ(例えば、重みを有するニューラルネットワーク)、遅延、周波数ビン情報、およびタスク情報が、ニューラル処理ユニット(NPU)108に関連付けられたメモリブロックに、または専用メモリブロック118に記憶され得る。汎用プロセッサ102において実行される命令は、CPU 102に関連付けられたプログラムメモリからロードされ得るか、または専用メモリブロック118からロードされ得る。SOC 100はまた、グラフィックス処理ユニット(GPU)104、デジタルシグナルプロセッサ(DSP)106、接続性ブロック110、これは、第4世代ロングタームエボリューション(4G LTE(登録商標))接続性、アンライセンスドWi−Fi接続性、USB接続性、Bluetooth(登録商標)接続性、および同様のものを含み得る、および、例えば、ジェスチャを検出および認識し得るマルチメディアプロセッサ112のような、特定の機能に合わせられた(tailored to)追加の処理ブロックを含み得る。SOC 100はまた、センサプロセッサ114、画像信号プロセッサ(ISP)、および/または全地球測位システムを含み得るナビゲーション120を含み得る。
【0025】
[0034]SOC 100は、ARM命令セットに基づき得る。本開示のある態様では、汎用プロセッサ102にロードされる命令は、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するためのコードを備え得る。第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされたものである。汎用プロセッサ102にロードされる命令はまた、第2のラベルおよび第2のデータで第2のネットワークをトレーニングするためのコードを備え得る。
【0026】
[0035]別の態様では、汎用プロセッサ102にロードされる命令は、第2のデータを受信するためのコードと、第1のネットワークを介して、第2のデータのための第2のラベルを生成するためのコードとを備える。第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされたものである。第2のラベルは、第2のネットワークをトレーニングするために生成される。第2のデータは、ラベル付けされていないことがあり得、またはこのデータは、無視されるラベル(the labels ignored)を用いてラベル付けされ得る。汎用プロセッサ102にロードされる命令はまた、第2のラベルおよび第2のデータで第2のネットワークをトレーニングするためのコードを備え得る。
【0027】
[0036]
図2は、本開示のある特定の態様による、システム200の例となるインプリメンテーションを例示する。
図2に例示されるように、システム200は、ここで説明される方法の様々な動作を実行し得る複数のローカル処理ユニット(local processing units)202を有し得る。各ローカル処理ユニット202は、ローカル状態メモリ204と、ニューラルネットワークのパラメータを記憶し得るローカルパラメータメモリ206とを備え得る。加えて、ローカル処理ユニット202は、ローカルモデルプログラムを記憶するためのローカル(ニューロン)モデルプログラム(LMP)メモリ208と、ローカル学習プログラムを記憶するためのローカル学習プログラム(LLP)メモリ210と、ローカル接続メモリ212とを有し得る。さらに、
図2に例示されるように、各ローカル処理ユニット202は、ローカル処理ユニットのローカルメモリのための構成を提供するための構成プロセッサユニット214、およびローカル処理ユニット202間のルーティングを提供するルーティング接続処理ユニット216とインタフェースし得る。
【0028】
[0037]ディープラーニングアーキテクチャは、各層において連続的により高度な抽象化レベル(successively higher levels of abstraction)で入力を表現する(represent)ことを学習することによってオブジェクト認識タスクを実行し得、それにより、入力データの有用な特徴表現を構築(building up)する。このようにして、ディープラーニングは、従来の機械学習の主要なボトルネック(major bottleneck)に対処する。ディープラーニングが出現する前は、オブジェクト認識問題に対する機械学習アプローチは、ことによるとシャロー分類器(shallow classifier)との組合せにおいて、人間によって設計された特徴(human engineered features)に依存するところが大きかった。シャロー分類器は、2クラス線形分類器であり得、例えば、そこで、特徴ベクトル成分の加重和(weighted sum)が、どのクラスに入力が属するか予測するためにしきい値と比較され得る。人間によって設計された特徴は、領域の専門知識を有するエンジニアによって、特定の問題領域に合わせられたテンプレートまたはカーネルであり得る。ディープラーニングアーキテクチャは、対照的に、トレーニングを通じてであるが、人間のエンジニアが設計し得るものと同様の特徴を表現することを学習し得る。さらに、ディープネットワークは、人間が考慮することがなかったであろう新しいタイプの特徴を表現および認識することを学習し得る。
【0029】
[0038]ディープラーニングアーキテクチャは、特徴の階層を学習し得る。例えば、視覚データが提示された場合、第1の層は、入力ストリームにおける、エッジのような、単純な特徴を認識することを学習し得る。聴覚データが提示された場合、第1の層は、特定の周波数におけるスペクトルパワーを認識することを学習し得る。第1の層の出力を入力として受ける第2の層は、視覚データについては単純な形状または聴覚データについては音の組合せのような、特徴の組合せを認識することを学習し得る。上位層は、視覚データにおける複雑な形状または聴覚データにおける単語を表現することを学習し得る。さらに上位の層は、共通の視覚オブジェクトまたは発話フレーズを認識することを学習し得る。
【0030】
[0039]ディープラーニングアーキテクチャは、自然階層構造を有する問題に適用されるとき、特によく機能し得る。例えば、モーターの付いた乗り物の分類は、車輪、風防ガラス、および他の特徴を認識するための第1の学習から恩恵を受け得る。これらの特徴は、車、トラック、および飛行機を認識するために、異なる方法で上位層において組み合わされ得る。
【0031】
[0040]ニューラルネットワークは、様々な結合パターン(connectivity patterns)を用いて設計され得る。フィードフォワードネットワークでは、情報は、下位層から上位層へ渡されるとともに、所与の層における各ニューロンが、上位層におけるニューロンに伝達する。階層的な表現が、上記で説明されたように、フィードフォワードネットワークの連続した層において構築され得る。ニューラルネットワークはまた、再帰型(recurrent)結合またはフィードバック(トップダウンとも呼ばれる)結合を有し得る。再帰型結合では、所与の層におけるニューロンからの出力は、同じ層における別のニューロンに伝達される。再帰型アーキテクチャは、時間において展開する(unfold in time)パターンを認識するのに役立ち得る。所与の層におけるニューロンから下位層におけるニューロンへの結合は、フィードバック(またはトップダウン)結合と呼ばれる。多くのフィードバック結合を有するネットワークは、高レベルの概念の認識が、入力の特定の低レベルの特徴を区別することを支援し得るときに役立ち得る。
【0032】
[0041]
図3Aを参照すると、ニューラルネットワークの層間の結合は、全結合302または局所結合304であり得る。全結合ネットワーク302では、所与の層におけるニューロンは、その出力を次の層における全てのニューロンに伝達し得る。代替として、局所結合されたネットワーク304では、所与の層におけるニューロンは、次の層における限られた数のニューロンに結合され得る。畳み込みネットワーク306は、局所結合され得、それはさらに、所与の層における各ニューロンに関連付けられた結合強度が共有される特殊なケースである(例えば、308)。より一般的には、ネットワークの局所結合された層は、層における各ニューロンが、異なる値を有し得る結合強度を持ってではあるが、同じまたは同様の結合パターンを有するように構成され得る(例えば、310、312、314、および316)。局所結合された結合パターンは、所与の領域における上位層のニューロンが、ネットワークへの総入力の制限された部分の特性(properties)にトレーニングを通じて調整される入力を受信し得るので、上位層における空間的に別個の受容野(spatially distinct receptive fields)を生じさせ得る。
【0033】
[0042]局所結合されたニューラルネットワークは、入力の空間的ロケーションが意味をもつ問題によく適し得る。例えば、車載カメラからの視覚特徴を認識するように設計されたネットワーク300は、異なる特性を有する上位層のニューロンを、画像の下部対上部(the lower versus the upper portion)とのそれらの関連付けに依存して発達(develop)させ得る。例えば、画像の下部に関連付けられたニューロンは、車線区分線を認識することを学習し得、一方、画像の上部に関連付けられたニューロンは、交通信号、交通標識、および同様のものを認識することを学習し得る。
【0034】
[0043]DCNは、教師あり学習を用いてトレーニングされ得る。トレーニング中、DCNは、速度制限標識のクロップされた画像(cropped image)のような、画像326を提示され得、その後、「フォワードパス(forward pass)」が、出力328を生成するために計算され得る。出力328は、「標識」、「60」、および「100」のような特徴に対応する値のベクトルであり得る。ネットワーク設計者は、DCNが、例えば、トレーニングされたネットワーク300についての出力328において示される「標識」および「60」に対応するもののような、出力特徴ベクトルにおけるニューロンのうちのいくつかについて、高いスコアを出力することを望み得る。トレーニング前は、DCNによって生成される出力は、不正確である可能性が高く、したがって、実際の出力とターゲット出力との間で誤差が計算され得る。その後、DCNの重みは、DCNの出力スコアがターゲットにより密接に合わせられる(aligned)ように調整され得る。
【0035】
[0044]重みを適正に調整するために、学習アルゴリズムが、重みについての勾配ベクトルを計算し得る。勾配は、重みがわずかに調整された場合に、誤差が増大または低減するであろう量を示し得る。最上層において、勾配は、最後から2番目の層における活性化されたニューロンと出力層におけるニューロンとを結合する重みの値に直接対応し得る。下位層において、勾配は、重みの値と、上位層の計算された誤差勾配とに依存し得る。その後、重みは、誤差を低減させるように調整され得る。重みを調整するこの方法は、それがニューラルネットワークを通じた「バックワードパス(backward pass)」を伴うので、「バックプロパゲーション」と呼ばれ得る。
【0036】
[0045]実際には、重みの誤差勾配は、計算された勾配が、真の誤差勾配(true error gradient)を近似するように、少数の例にわたって計算され得る。この近似方法は、確率的勾配降下法(stochastic gradient descent)と呼ばれ得る。確率的勾配降下法は、システム全体の達成可能な誤差率(error rate)の低減が止まるまで、または誤差率がターゲットレベルに達するまで繰り返され得る。
【0037】
[0046]学習後、DCNは、新しい画像326を提示され得、ネットワークを通じたフォワードパスが、DCNの推論または予測と見なされ得る出力328をもたらし得る。
【0038】
[0047]ディープビリーフネットワーク(DBN)は、隠れノードの複数の層(multiple layers of hidden nodes)を備える確率モデルである。DBNは、トレーニングデータセットの階層的な表現(hierarchical representation)を抽出するために使用され得る。DBNは、制限付きボルツマンマシン(RBM:restricted Boltzmann machines)の層を積み上げること(stacking up)によって取得され得る。RBMは、入力のセットにわたる確率分布を学習することができる人工ニューラルネットワークのタイプである。RBMは、各入力がカテゴリ化されるべきクラスについての情報がない状態で確率分布を学習することができるので、RBMは、教師なし学習においてしばしば使用される。ハイブリッド教師なしおよび教師ありパラダイムを使用して、DBNの下方のRBM(bottom RBM)は、教師なしの方法でトレーニングされ得、かつ特徴抽出器として機能し得、また、上方のRBM(top RBM)は、(ターゲットクラスおよび前の層からの入力の同時分布(joint distribution)で)教師ありの方法でトレーニングされ得、かつ分類器として機能し得る。
【0039】
[0048]ディープ畳み込みネットワーク(DCN)は、畳み込みネットワークのネットワークであり、追加のプーリング層および正規化層を用いて構成される。DCNは、多くのタスクについて最先端のパフォーマンスを達成している。DCNは、入力ターゲットおよび出力ターゲットの両方が、多くのエグゼンプラー(exemplars)について知られており、かつ勾配降下法の使用によってネットワークの重みを修正するために使用される、教師あり学習を使用してトレーニングされることができる。
【0040】
[0049]DCNは、フィードフォワードネットワークであり得る。加えて、上記で説明されたように、DCNの第1の層におけるニューロンから、次の上位層におけるニューロンのグループへの結合は、第1の層におけるニューロンにわたって共有される。DCNのフィードフォワード結合および共有結合は、高速処理に活用され得る。DCNの計算負担は、例えば、再帰型結合またはフィードバック結合を備える同様のサイズのニューラルネットワークのそれよりも、はるかに少なくなり得る。
【0041】
[0050]畳み込みネットワークの各層の処理は、空間的に不変のテンプレートまたは基底射影(basis projection)であると見なされ得る。入力が、最初にカラー画像の赤、緑、および青チャネルのような複数のチャネルに分解される場合には、その入力でトレーニングされた畳み込みネットワークは、画像の軸に沿った2つの空間次元と、色情報をキャプチャする第3の次元とを有する、3次元であると見なされ得る。畳み込み結合の出力は、後続の層318、320、および322において特徴マップを形成すると考えられ得るとともに、特徴マップ(例えば、320)の各要素が、複数のチャネルの各々から、および前の層(例えば、318)におけるある範囲のニューロン(a range of neurons)から入力を受信する。特徴マップにおける値は、正規化(rectification)、すなわちmax(0,x)のような、非線形性を用いてさらに処理され得る。隣接するニューロンからの値は、さらにプーリングされ得(324)、これは、ダウンサンプリングに対応し、追加の局所不変性および次元削減(dimensionality reduction)を提供し得る。白色化に対応する正規化がまた、特徴マップにおけるニューロン間の側抑制(lateral inhibition)を通じて適用され得る。
【0042】
[0051]ディープラーニングアーキテクチャのパフォーマンスは、より多くのラベル付けされたデータポイントが利用可能になるにつれて、または計算能力が増大するにつれて増大し得る。現代のディープニューラルネットワークは、わずか15年前に一般的な研究者に利用可能であったものよりも何千倍も大きいコンピューティングリソースを用いて、日常的に(routinely)トレーニングされる。新しいアーキテクチャおよびトレーニングパラダイムは、ディープラーニングのパフォーマンスをさらに高め得る。整流された線形ユニットは、勾配消失(vanishing gradients)として知られるトレーニング課題を低減し得る。新しいトレーニング技法は、過学習(over-fitting)を低減し、したがって、より大きいモデルがより良い汎化を達成することを可能にし得る。カプセル化技法は、所与の受容野においてデータを抽象化(abstarct)し、全体的なパフォーマンスをさらに高め得る。
【0043】
[0052]
図3Bは、例示的なディープ畳み込みネットワーク350を例示するブロック図である。ディープ畳み込みネットワーク350は、結合性および重みの共有に基づいて、複数の異なるタイプの層を含み得る。
図3Bに示されるように、例示的なディープ畳み込みネットワーク350は、複数の畳み込みブロック(例えば、C1およびC2)を含む。畳み込みブロックの各々は、畳み込み層、正規化層(LNorm)、およびプーリング層で構成され得る。畳み込み層は、1つまたは複数の畳み込みフィルタを含み得、これは、特徴マップを生成するために入力データに適用され得る。2つの畳み込みブロックのみが示されているが、本開示はそのように限定するものではなく、代わりに、設計の選好に従って、任意の数の畳み込みブロックがディープ畳み込みネットワーク350に含まれ得る。正規化層は、畳み込みフィルタの出力を正規化するために使用され得る。例えば、正規化層は、白色化または側抑制(lateral inhibition)を提供し得る。プーリング層は、局所不変性および次元削減のために、空間にわたってダウンサンプリングアグリゲーションを提供し得る。
【0044】
[0053]ディープ畳み込みネットワークの、例えば、並列フィルタバンク(parallel filter banks)は、高いパフォーマンスおよび低い電力消費を達成するために、オプションとしてARM命令セットに基づいて、SOC 100のCPU 102またはGPU 104上に搭載(loaded on)され得る。代替的な実施形態では、並列フィルタバンクは、SOC 100のDSP 106またはISP 116上に搭載され得る。加えて、DCNは、センサ114およびナビゲーション120に専用の処理ブロックのような、SOC上に存在し得る他の処理ブロックにアクセスし得る。
【0045】
[0054]ディープ畳み込みネットワーク350はまた、1つまたは複数の全結合層(例えば、FC1およびFC2)を含み得る。ディープ畳み込みネットワーク350は、ロジスティック回帰(LR:logistic regression)層をさらに含み得る。ディープ畳み込みネットワーク350の各層の間には、更新されるべき重み(図示せず)がある。各層の出力は、第1の畳み込みブロックC1において供給された入力データ(例えば、画像、音声、ビデオ、センサデータ、および/または他の入力データ)から階層的な特徴表現を学習するために、ディープ畳み込みネットワーク350における後続の層の入力として機能し得る。
【0046】
[0055]
図4は、人工知能(AI)機能をモジュール化し得る例示的なソフトウェアアーキテクチャ400を例示するブロック図である。このアーキテクチャを使用して、SOC 420の様々な処理ブロック(例えば、CPU 422、DSP 424、GPU 426および/またはNPU 428)に、アプリケーション402のランタイム動作中にサポート計算(supporting computations)を実行させ得るアプリケーション402が設計され得る。
【0047】
[0056]AIアプリケーション402は、例えば、そこでデバイスが現在動作するロケーションを示すシーンの検出および認識をもたらし(provide for)得る、ユーザ空間404において定義された機能を呼び出すように構成され得る。AIアプリケーション402は、例えば、認識されたシーンがオフィス、講堂、レストラン、または湖のような屋外環境であるかどうかに依存して異なるように、マイクロフォンおよびカメラを構成し得る。AIアプリケーション402は、現在のシーンの推定を提供するために、SceneDetectアプリケーションプログラミングインタフェース(API)406において定義されたライブラリに関連付けられた、コンパイルされたプログラムコードへの要求を行い得る。この要求は、例えば、ビデオおよび測位データに基づいてシーン推定を提供するように構成されたディープニューラルネットワークの出力に最終的に依拠し得る。
【0048】
[0057]ランタイムフレームワーク(Runtime Framework)のコンパイルされたコードであり得るランタイムエンジン408が、AIアプリケーション402にとってさらにアクセス可能であり得る。AIアプリケーション402は、例えば、ランタイムエンジンに、特定の時間間隔における、またはアプリケーションのユーザインタフェースによって検出されたイベントによってトリガされる、シーン推定を要求させ得る。シーンを推定させられたとき、ランタイムエンジンは、順に、SOC 420上で実行中のLinux(登録商標)カーネル412のような、オペレーティングシステム410に信号を送り得る。オペレーティングシステム410は、順に、CPU 422、DSP 424、GPU 426、NPU 428、またはこれらの何らかの組合せ上で、計算を実行させ得る。CPU 422は、オペレーティングシステムによって直接アクセスされ得、他の処理ブロックは、DSP 424のための、GPU 426のための、またはNPU 428のためのドライバ414〜418のような、ドライバを通じてアクセスされ得る。例示的な例では、ディープニューラルネットワークは、CPU 422およびGPU 426のような、処理ブロックの組合せ上で実行するように構成され得るか、または、存在する場合、NPU 428上で実行され得る。
【0049】
[0058]
図5は、スマートフォン502上のAIアプリケーションのランタイム動作500を例示するブロック図である。AIアプリケーションは、画像506のフォーマットを変換し、その後、画像508をクロップおよび/またはリサイズするように(例えば、JAVA(登録商標)プログラミング言語を使用して)構成され得る前処理モジュール504を含み得る。その後、前処理された画像は、視覚入力に基づいてシーンを検出および分類するように(例えば、Cプログラミング言語を使用して)構成され得るSceneDetectバックエンドエンジン512を含む分類アプリケーション510に通信され得る。SceneDetectバックエンドエンジン512は、スケーリング516およびクロッピング518によって、画像をさらに前処理514するように構成され得る。例えば、画像は、結果として得られる画像が224ピクセル×224ピクセルとなるように、スケーリングされ、クロップされ得る。これらの次元(dimensions)は、ニューラルネットワークの入力次元にマッピングし得る。ニューラルネットワークは、SOC 100の様々な処理ブロックに、ディープニューラルネットワークを用いて画像ピクセルをさらに処理させるように、ディープニューラルネットワークブロック520によって構成され得る。その後、ディープニューラルネットワークの結果は、しきい値処理(thresholded)522され、分類アプリケーション510内の指数平滑化(exponential smoothing)ブロック524を通され得る。その後、平滑化された結果は、スマートフォン502の設定および/または表示の変更を生じ得る。
【0050】
[0059]一構成では、機械学習モデルのようなモデルは、ラベル付けされていない可能性がある第2のデータを受信するために構成される。加えて、このモデルは、第1のネットワークを介して、第2のデータのための第2のラベルを生成するように構成され得る。さらに、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされたものであり得る。その上さらに、このモデルは、第2のデータおよび第2のラベルで第2のネットワークをトレーニングするように構成され得る。第1のネットワークおよび第2のネットワークは、同じデバイス上で定義され得るか、または異なるデバイス上で定義され得ることに留意されたい。
【0051】
[0060]このモデルは、生成する手段および/または受信する手段を含む。一態様では、生成する手段および/または受信する手段は、記載された機能を実行するように構成された、汎用プロセッサ102、汎用プロセッサ102に関連付けられたプログラムメモリ、メモリブロック118、ローカル処理ユニット202、およびまたはルーティング接続処理ユニット216であり得る。別の構成では、上述された手段は、これら上述された手段によって、記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
【0052】
[0061]別の構成では、機械学習モデルのようなモデルは、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するために構成される。加えて、このモデルは、第2のラベルおよび第2のデータで第2のネットワークをトレーニングするように構成され得る。さらに、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされたものであり得る。第1のネットワークおよび第2のネットワークは、同じデバイス上で定義され得るか、または異なるデバイス上で定義され得ることに留意されたい。
【0053】
[0062]このモデルは、受信する手段および/またはトレーニングする手段を含む。一態様では、受信する手段および/またはトレーニングする手段は、記載された機能を実行するように構成された、汎用プロセッサ102、汎用プロセッサ102に関連付けられたプログラムメモリ、メモリブロック118、ローカル処理ユニット202、およびまたはルーティング接続処理ユニット216であり得る。別の構成では、上述された手段は、これら上述された手段によって、記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
【0054】
[0063]本開示のある特定の態様によると、各ローカル処理ユニット202は、モデルの所望の1つまたは複数の機能的特徴に基づいて、モデルのパラメータを決定することと、決定されたパラメータがさらに適合、調整、および更新されるにつれて、所望の機能的特徴に向けて1つまたは複数の機能的特徴を発展させることと、を行うように構成され得る。
【0055】
ニューラルネットワークにおける転移学習
[0064]ニューラルネットワークのような、機械学習ネットワークは、画像入力および/または音声入力のような、入力からアイテムを分類するようにトレーニングされ得る。いくつかのケースでは、ニューラルネットワークは、ラベル付けされたデータでバックプロパゲーションを介してトレーニングされる。例えば、バックプロパゲーションは、異なる車モデルを識別するようにニューラルネットワークをトレーニングするために、車のラベル付けされた画像を使用し得る。
【0056】
[0065]一例では、第1のニューラルネットワークFが、第1のトレーニングセットDでトレーニングされ得る。この例では、第1のトレーニングセットDは、
【0058】
となるように、データxおよび対応するラベルyを含む。したがって、トレーニング後、第1のニューラルネットワークFは、特定の画像x
iについての特定のラベルy
iを近似し得る
【0060】
本開示では、トレーニングセット(例えば、ラベルおよびデータ)は、ラベル付けされたデータと呼ばれ得る。さらに、本開示では、トレーニングセットのデータは、画像と呼ばれ得る。
【0061】
[0066]いくつかのケースでは、第1のトレーニングセットDのデータxおよび/またはラベルyは、第1のニューラルネットワークFをトレーニングした後に、もはや利用可能でなくなり得る。すなわち、いくつかのケースでは、第1のトレーニングセットDのデータxは、ラベルyが依然として利用可能でありながら、もはや利用可能でなくなり得る。他のケースでは、第1のトレーニングセットDのラベルyは、データxが依然として利用可能でありながら、もはや利用可能でなくなり得る。別の例では、画像xおよびラベルyの両方が利用可能でない。
【0062】
[0067]一例では、第1のトレーニングセットDは、ライセンシング制限のような制限により、外部ディストリビューション(external distribution)に利用可能でないことがあり得る。したがって、第1のトレーニングセットDがもはや利用可能でないので、第1のニューラルネットワークFは、追加学習を介して更新され得ない。本開示の態様によると、追加学習は、ニューラルネットワークのクラスの既存の境界を修正すること、および/または、ニューラルネットワークに新しいクラスを追加することを指す。
【0063】
[0068]一構成では、元のトレーニングセットは、追加学習を実行するために、追加のデータおよびラベルを用いて増強され(augmented)得る。すなわち、追加学習については、元のトレーニングセットの分類を忘れることを回避するために、新しいトレーニングセットを用いて元のトレーニングセットを増強することが望ましい。追加学習は、他の追加学習機能もまた企図されるので、クラスを増強すること、または既存のクラスの境界を修正することに限定されない。
【0064】
[0069]一構成では、第1のトレーニングセットDが、第1のニューラルネットワークFをトレーニングした後にもはや利用可能でないとき、第2のニューラルネットワークF′が、第1のニューラルネットワークFを近似するように指定される。具体的には、第1のトレーニングセットDがもはや利用可能でないとき、第1のニューラルネットワークFは、第2のラベル
【0068】
に適用され得る。一構成では、第2のデータ
【0070】
は、第1のトレーニングセットDの第1のデータxと実質的に同様または同一(substantially similar or identical)である。代替として、第2のデータ
【0072】
は、第1のデータxに関連していないことがあり得る。
【0073】
[0070]さらに、第2のトレーニングセットD′は、第2のデータ
【0075】
に第1のニューラルネットワークFを適用した後に生成される。すなわち、トレーニング後、第2のラベル
【0079】
に関連付けられる。具体的には、トレーニング後、第2のトレーニングセットD′は、第2のデータ
【0083】
を含む。より具体的には、第2のデータ
【0085】
で第1のニューラルネットワークFをトレーニングした後、
【0089】
である。最後に、第2のトレーニングセットD′は、第2のニューラルネットワークF′が、特定の画像x
iについての特定のラベル
【0093】
ように、第2のニューラルネットワークF′をトレーニングするために使用され得る。一構成では、第2のニューラルネットワークF′は、第1のニューラルネットワークFと比較して異なるサイズを有する。例えば、第2のニューラルネットワークF′のサイズは、第1のニューラルネットワークFのサイズよりも小さくまたは大きくなり得る。
【0094】
[0071]第2のトレーニングセットD′を用いてトレーニングされていることに加えて、第2のニューラルネットワークF′は、第3のトレーニングセットD″を用いてトレーニングされ得る。第3のトレーニングセットD″は、第2のニューラルネットワークF′におけるクラスの1つまたは複数の既存の境界を修正するために使用され得る。例えば、第2のトレーニングセットD′は、車の異なるクラスについての境界を設定し得、第3のトレーニングセットD″は、1つまたは複数の既存の車の設計変更を考慮して(to account for)境界を修正し得る。
【0095】
[0072]例えば、車モデルAのような、特定の車モデルが、特定のラベル(例えば、クラス)に関連付けられ得る。すなわち、車モデルAの画像が、車モデルAとしてラベル付けされ得る。この例では、特定の車モデルは、テールライト設計に対する更新のような、その設計に対する更新を受信し得る。依然として、第2のトレーニングセットD′は、更新された車設計についてのラベル付けされたデータを含まないことがあり得る。したがって、既存のクラスの境界は、ネットワークが、依然として、更新された車モデルを特定の車モデルとしてラベル付けするように、更新された設計を考慮して修正され得る。すなわち、この例では、車モデルAクラスの境界は、更新されたテールライトを有する車モデルAを不正確にカテゴリ化するのではなく、車モデルAとして、更新されたテールライト設計を有する車モデルAをカテゴリ化するように修正される。このケースでは、車モデルAの新しい設計のラベル付けされた例を含む第3のトレーニングセットD″が、車モデルAの両方の設計を正確に分類するように第2のニューラルネットワークFをトレーニングするために、第2のトレーニングセットD′と共に使用されることができる。
【0096】
[0073]一構成では、新しい例が既存のクラスに追加されるとき、ラベル付けされていないデータXおよび新しいラベル付けされたデータ{(x″,y″)}を与えられると、新しいネットワークFは、{(X,F(X)}と{(x″,y″)}の合併集合でトレーニングされる。
【0097】
[0074]加えて、または代替として、一構成では、第3のトレーニングセットD″は、第2のニューラルネットワークF′に1つまたは複数の新しいクラスを追加するように指定される。例えば、第2のトレーニングセットD′が異なる車についてのクラスを作成するように指定される場合、第3のトレーニングセットD″は、新しい車モデルを考慮して新しいクラスを追加するように指定され得る。
【0098】
[0075]例として、車モデルAのような、特定の車モデルは、特定のクラスに関連付けられ得る。加えて、この例では、車モデルBのような、新しい車モデルが、製造業者によって導入され得る。この例では、第2のトレーニングセットD′は、新しい車モデルについてのラベル付けされたデータを含んでいない。したがって、第2のトレーニングセットD′からのトレーニングに基づいて、ネットワークは、車モデルBの画像を不正確にラベル付けし得る。したがって、この例では、新しい車モデルBのための新しいクラスが、第3のトレーニングセットD″に含まれる新しい車モデルBについてのラベル付けされたデータに基づいて、第2のニューラルネットワークF′に追加される。すなわち、この例では、車モデルBが車モデルAとして不正確にラベル付けされないように、新しい車クラスが車モデルBのために作成される。
【0099】
[0076]一構成では、元のトレーニングデータが利用可能でないときに、予めトレーニングされたネットワークに1つまたは複数の新しいクラスを追加するとき、ラベル付けされていないデータXおよび新しいラベル付けされたデータ{(x″,y″)}を与えられると、新しいネットワークFは、{(X,[F(X);0
*y″]}と{(x″,[F(X)
*0;y″]}の合併集合でトレーニングされる。本開示の態様によると、y″は、ベクトルまたはスカラであり得る。
【0100】
[0077]一構成では、第2のデータ
【0102】
は、クラスタ化され、第3のトレーニングセットD″の第3のデータ
【0104】
と比較される。さらに、比較後、第2のデータ
【0108】
に対する類似度(similarity)または多様度(diversity)に基づいて、トレーニングのために選択される。
【0109】
[0078]
図6は、本開示の態様による、転移学習に関するフロー
図600の例を例示する。
図6に示されるように、ブロック610において、第1のネットワークが、第1のトレーニングセットを用いてトレーニングされる。さらに、ブロック620において、ネットワークおよび/またはユーザが、第1のトレーニングセットの第1のデータおよび第1のラベルが利用可能であるかどうかを決定し得る。第1のデータおよび第1のラベルが利用可能である場合、ブロック630において、第1のネットワークは、所望に応じて使用および/または変更され得る。
【0110】
[0079]第1のデータおよび第1のラベルは、制限された頒布権(distribution rights)のために利用可能でないことがあり得る。別の例として、第1のデータおよび第1のラベルは、メモリ制限により、利用可能でないことがあり得る。この例では、追加学習を実行しているシステムは、第1のトレーニングセットを保持するためのメモリ容量を有していないことがあり得る。加えてまたは代替として、このシステムは、第1のトレーニングセットをダウンロードするように指定された接続性または時間を有していないことがあり得る。したがって、システム制約により、第2のトレーニングセットが、トレーニングプロセス中に、第1のトレーニングされたネットワークから生成され得る。本開示の態様は、第1のデータおよび第1のラベルが利用可能でない他の理由もまた企図されるので、第1のデータおよび第1のラベルが頒布権またはシステム制約により利用可能でないことに限定されない。
【0111】
[0080]加えて、第1のラベルおよび/または第1のデータ(例えば、第1のトレーニングセット)が利用可能でない場合、ブロック640において、第1のネットワークを介して、第2のラベルが第2のデータのために生成される。第2のデータは、第1のデータに基づくことも、基づかないこともあり得る。第2のラベルを生成した後、ブロック650において、第2のネットワークは、第2のラベルおよび第2のデータ(例えば、第2のトレーニングセット)でトレーニングされ得る。さらに、第2のネットワークがトレーニングされた後、ブロック660において、第3のデータおよび第3のラベル(例えば、第3のトレーニングセット)が、第2のネットワークに新しいクラスを追加する、および/または第2のネットワークの既存のクラスについての境界を修正するために、第2のラベルおよび第2のデータと共に使用され得る。
【0112】
[0081]
図7Aは、第1のトレーニングセットを用いてトレーニングされた元のネットワーク710の例を例示する。
図7Aに示されるように、ラベル(y軸)が、画像(x軸)に対して指定される。さらに、元のネットワーク710は、ラベル付けされた画像でトレーニングされ、かつラベル付けされた画像に近似される。
【0113】
[0082]前述されたように、第1のラベルおよび/または第1のデータ(例えば、第1のトレーニングセット)は、元のネットワーク710をトレーニングした後に利用可能でなくなり得る。
図7Bは、第1のトレーニングセットなしの元のネットワーク710の例を例示する。
図7Bに示されるように、第1のトレーニングセットは、もはや利用可能でないが、元のネットワークは、第1のトレーニングセットからのトレーニングに基づいて、ラベル付けされていない第2のデータを分類するために依然として使用され得る。依然として、新しいクラスを追加する、および/または既存のクラスについての境界を修正することが望ましくあり得る。ほとんどのケースでは、新しいクラスを追加する、および/または既存のクラスについての境界を修正するためにネットワークをトレーニングするとき、このネットワークは、第1のトレーニングセットのような元のトレーニングセットおよび第2のトレーニングセットのような追加のトレーニングセットを使用してトレーニングされる。追加のトレーニングセットのラベルおよびデータは、新しいクラスを追加する、および/または既存のクラスについての境界を修正するために使用され得る。
【0114】
[0083]したがって、本開示の態様によると、新しいネットワークが、新しいクラスを追加する、および/または既存のクラスについての境界を修正するために指定され得る。一構成では、新しいネットワークは、元のネットワークを介して、ラベル付けされていないデータにラベルを提供することによって生成される。
図7Cに示されるように、元のネットワーク710は、ラベル付けされていないデータにラベル付けするために使用される。すなわち、元のネットワーク710は、ラベル付けされていない第2のデータのための第2のラベルを生成するように指定され得る。一構成では、第2のデータは、第1のデータと実質的に同様である。
【0115】
[0084]さらに、
図7Dに示されるように、第2のデータおよび第2のラベルは、新しいネットワーク720をトレーニングするために使用される。新しいネットワーク720が第2のデータおよび第2のラベルを用いてトレーニングされた後、新しいネットワーク720は、新しいクラスを追加するため、および/または既存のクラスについての境界を修正するために、第3のラベルおよび第3のデータを用いて増強された第2のデータおよび第2のラベルでさらにトレーニングされ得る。
【0116】
[0085]
図7Eは、元のネットワーク710と新しいネットワーク720の比較を例示する。
図7Eに示されるように、新しいネットワーク720は、元のネットワーク710に類似している。
【0117】
[0086]
図8は、本開示の態様による、転移学習のための方法800を例示する。ブロック802において、第2のデータが受信される。一構成では、第2のデータは、ラベル付けされていない。加えて、ブロック804において、第1のネットワークが、第2のデータのための第2のラベルを生成する。一構成では、第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされている。さらに、第2のラベルは、第2のネットワークをトレーニングするために生成され得る。第1のネットワークおよび第2のネットワークは、同じデバイス上で定義され得るか、または異なるデバイス上で定義され得ることに留意されたい。第2のデータは、第1のデータと実質的に同様であることができる。別の例では、第2のデータは、第1のデータと同一であるが、第1のラベルは、利用可能であることも、利用可能でないこともあり得る。
【0118】
[0087]
図9は、本開示の態様による、転移学習のための方法900を例示する。ブロック902において、第2のネットワークは、第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信する。一構成では、第2のデータは、第1のネットワークによるラベル付けの前は、ラベル付けされていない。さらに、一構成では、第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている。加えて、ブロック904において、第2のネットワークは、第2のラベルおよび第2のデータでトレーニングされる。第1のネットワークおよび第2のネットワークは、同じデバイス上で定義され得るか、または異なるデバイス上で定義され得ることに留意されたい。第2のデータは、第1のデータと実質的に同様であることができる。別の例では、第2のデータは、第1のデータと同一であるが、第1のラベルは、利用可能であることも、利用可能でないこともあり得る。
【0119】
[0088]上記で説明された方法の様々な動作は、対応する機能を実行することが可能な任意の適切な手段によって実行され得る。これら手段は、それに限定されるものではないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェアの(1つまたは複数の)コンポーネントおよび/または(1つまたは複数の)モジュールを含み得る。一般に、図中に例示された動作がある場合、これらの動作は、同様の番号付けを有する、対応する対をなすミーンズプラスファンクションのコンポーネントを有し得る。
【0120】
[0089]ここで使用される場合、「決定すること」という用語は、幅広いアクションを包含する。例えば、「決定すること」は、計算すること(calculating)、計算すること(computing)、処理すること、導出すること、調査すること、ルックアップすること(例えば、表、データベース、または別のデータ構造においてルックアップすること)、確定すること、および同様のことを含み得る。加えて、「決定すること」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリにおけるデータにアクセスすること)、および同様のことを含み得る。さらに、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、および同様のことを含み得る。
【0121】
[0090]ここで使用される場合、アイテムのリスト「のうちの少なくとも1つ」を指す表現は、単一のメンバ(members)を含む、それらのアイテムの任意の組合せを指す。例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cをカバーするように意図される。
【0122】
[0091]本開示に関連して説明された、様々な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネント、あるいはここで説明された機能を実行するように設計されたこれらの任意の組合せを用いてインプリメントまたは実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、このプロセッサは、任意の商業的に利用可能なプロセッサ、コントローラ、マイクロコントローラまたはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、あるいはその他任意のこのような構成としてインプリメントされ得る。
【0123】
[0092]本開示に関連して説明されたアルゴリズムまたは方法のステップは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて、具現化され得る。ソフトウェアモジュールは、当該技術分野で知られている任意の形態の記憶媒体内に存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、フラッシュメモリ、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、等を含む。ソフトウェアモジュールは、単一の命令、または多くの命令を備え得、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって、分散され得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、および/または記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体は、プロセッサと一体化され得る。
【0124】
[0093]ここで開示された方法は、説明された方法を達成するための1つまたは複数のステップまたはアクションを備える。方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに置き換えられ得る。言い換えれば、ステップまたはアクションの特定の順序が明記されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
【0125】
[0094]説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ハードウェアでインプリメントされる場合、例となるハードウェア構成は、デバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いてインプリメントされ得る。バスは、処理システムの特定のアプリケーションおよび全体的な設計制約に依存して、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサ、機械可読媒体、およびバスインタフェースを含む様々な回路を共にリンクし得る。バスインタフェースは、特に、バスを介してネットワークアダプタを処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能をインプリメントするために使用され得る。ある特定の態様では、ユーザインタフェース(例えば、キーパッド、ディスプレイ、マウス、ジョイスティック、等)がまた、バスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧レギュレータ、電力管理回路、および同様のもののような、様々な他の回路をリンクし得、これらは、当該技術分野において周知であり、したがって、これ以上は説明されない。
【0126】
[0095]プロセッサは、バスの管理と、機械可読媒体上に記憶されたソフトウェアの実行を含む汎用処理とを担い得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いてインプリメントされ得る。例は、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行することができるその他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他の方法で呼ばれるかにかかわらず、命令、データ、またはこれらの任意の組合せを意味するように広く解釈されるべきである。機械可読媒体は、例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取専用メモリ(ROM)、プログラマブル読取専用メモリ(PROM)、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、またはその他任意の適切な記憶媒体、あるいはこれらの任意の組合せを含み得る。機械可読媒体は、コンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、パッケージング材料を備え得る。
【0127】
[0096]ハードウェアインプリメンテーションでは、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者が容易に理解するであろうように、機械可読媒体、またはその任意の部分は、処理システムの外部にあり得る。例として、機械可読媒体は、伝送路(transmission line)、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得、これら全ては、バスインタフェースを通じてプロセッサによってアクセスされ得る。代替として、またはこれに加えて、機械可読媒体、またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルでのケースでそうであり得るように、プロセッサに組み込まれ得る。ローカルコンポーネントのような、説明された様々なコンポーネントは、特定のロケーションを有するものとして説明されているが、それらはまた、分散型コンピューティングシステムの一部として構成されているある特定のコンポーネントように、様々な方法で構成され得る。
【0128】
[0097]処理システムは、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとを有し、全てが外部バスアーキテクチャを通じて他のサポート回路と共にリンクされている、汎用処理システムとして構成され得る。代替として、処理システムは、ここで説明されたニューロンモデルおよびニューラルシステムのモデルをインプリメントするための1つまたは複数の神経形態学的プロセッサを備え得る。別の代替として、処理システムは、プロセッサと、バスインタフェースと、ユーザインタフェースと、サポート回路と、単一のチップに組み込まれた機械可読媒体の少なくとも一部分とを有する特定用途向け集積回路(ASIC)を用いて、または、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、ステートマシン、ゲート論理、個別ハードウェアコンポーネント、またはその他任意の適切な回路、あるいは本開示全体にわたって説明された様々な機能を実行することができる回路の任意の組合せを用いて、インプリメントされ得る。当業者であれば、特定のアプリケーションおよびシステム全体に課せられる全体的な設計制約に依存して、処理システムに関して説明された機能をインプリメントするのに最良の方法を認識するであろう。
【0129】
[0098]機械可読媒体は、多数のソフトウェアモジュールを備え得る。これらソフトウェアモジュールは、プロセッサによって実行されると、様々な機能を処理システムに実行させる命令を含む。これらソフトウェアモジュールは、送信モジュールおよび受信モジュールを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス内に存在し得るか、または複数の記憶デバイスにわたって分散され得る。例として、ソフトウェアモジュールは、トリガリングイベントが生じたときに、ハードドライブからRAMにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を増大させるために、命令のうちのいくつかをキャッシュにロードし得る。その後、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行するとき、プロセッサによってインプリメントされるということが理解されるであろう。さらに、本開示の態様が、プロセッサ、コンピュータ、機械、またはこのような態様をインプリメントする他のシステムの機能に改善をもたらすことが理解されるべきである。
【0130】
[0099]ソフトウェアでインプリメントされる場合、これら機能は、コンピュータ可読媒体上で、1つまたは複数の命令またはコードとして送信または記憶され得る。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶デバイス、あるいは、データ構造または命令の形式で所望のプログラムコードを記憶または搬送するために使用されることができ、かつ、コンピュータによってアクセスされることができるその他任意の媒体を備えることができる。また、任意の接続は、厳密にはコンピュータ可読媒体と称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。ここで使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、ここでディスク(disks)は、通常磁気的にデータを再生し、一方ディスク(discs)は、レーザーを用いて光学的にデータを再生する。したがって、いくつかの態様では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体(例えば、有形媒体)を備え得る。加えて、他の態様では、コンピュータ可読媒体は、一時的なコンピュータ可読媒体(例えば、信号)を備え得る。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【0131】
[00100]したがって、ある特定の態様は、ここで提示された動作を実行するためのコンピュータプログラム製品を備え得る。例えば、このようなコンピュータプログラム製品は、その上に命令が記憶された(および/または符号化された)コンピュータ可読媒体を備え得、これら命令は、ここで説明された動作を実行するために1つまたは複数のプロセッサによって実行可能である。ある特定の態様では、コンピュータプログラム製品は、パッケージング材料を含み得る。
【0132】
[00101]さらに、ここで説明された方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適宜、ユーザ端末および/または基地局によって、ダウンロードされ得ること、および/または、その他の方法で取得され得ることが理解されるべきである。例えば、このようなデバイスは、ここで説明された方法を実行するための手段の転送を容易にするためにサーバに結合されることができる。代替として、ここで説明された様々な方法は、ユーザ端末および/または基地局が、デバイスに記憶手段を結合または提供する際に、様々な方法を得ることができるように、記憶手段(例えば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクのような物理記憶媒体、等)を介して提供されることができる。さらに、ここで説明された方法および技法をデバイスに提供するためのその他任意の適切な技法が、利用されることができる。
【0133】
[00102]特許請求の範囲は、上記に例示された厳密な構成およびコンポーネントに限定されないことが理解されるべきである。様々な修正、変更、および変形が、特許請求の範囲から逸脱することなく、上記で説明された方法および装置の配置、動作および詳細において行われ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] 転移学習の方法であって、
第2のデータを受信することと、
第1のネットワークを介して、前記第2のデータのための第2のラベルを生成することと、前記第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされており、前記第2のラベルは、第2のネットワークをトレーニングするために生成される、
を備える方法。
[C2] 前記第2のラベルおよび前記第2のデータで前記第2のネットワークをトレーニングすることをさらに備える、C1に記載の方法。
[C3] 前記第2のネットワークのサイズが、前記第1のネットワークのサイズとは異なる、C2に記載の方法。
[C4] 第3のデータおよび第3のラベルで前記第2のネットワークをトレーニングすることをさらに備える、C2に記載の方法。
[C5] 前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のネットワークにおけるクラスの少なくとも1つの既存の境界を修正することをさらに備える、C4に記載の方法。
[C6] 前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のネットワークにおいて少なくとも1つの新しいクラスを追加することをさらに備える、C4に記載の方法。
[C7] 前記第1のデータまたは前記第1のラベルは、前記第1のネットワークをトレーニングした後に利用可能でない、C1に記載の方法。
[C8] 前記第2のデータは、前記第1のデータと実質的に同様である、C1に記載の方法。
[C9] 前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
をさらに備える、C1に記載の方法。
[C10] 転移学習の方法であって、
第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信することと、前記第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている、
前記第2のラベルおよび前記第2のデータで第2のネットワークをトレーニングすることと
を備える方法。
[C11] 前記第1のネットワークを介して、前記第2のデータを使用して前記第2のラベルを生成することをさらに備える、C10に記載の方法。
[C12] 前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
をさらに備える、C11に記載の方法。
[C13] 前記第2のネットワークのサイズが、前記第1のネットワークのサイズとは異なる、C10に記載の方法。
[C14] 第3のラベルおよび第3のデータで前記第2のネットワークをトレーニングすることをさらに備える、C10に記載の方法。
[C15] 前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のネットワークにおけるクラスの少なくとも1つの既存の境界を修正することをさらに備える、C14に記載の方法。
[C16] 前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のネットワークにおいて少なくとも1つの新しいクラスを追加することをさらに備える、C14に記載の方法。
[C17] 前記第1のデータまたは前記第1のラベルは、前記第1のネットワークをトレーニングした後に利用可能でない、C10に記載の方法。
[C18] 前記第2のデータは、前記第1のデータと実質的に同様である、C10に記載の方法。
[C19] 転移学習のための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサは、
第2のデータを受信することと、
第1のネットワークを介して、前記第2のデータのための第2のラベルを生成することと、前記第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされており、前記第2のラベルは、第2のネットワークをトレーニングするために生成される、
を行うように構成される、装置。
[C20] 前記少なくとも1つのプロセッサは、前記第2のラベルおよび前記第2のデータで前記第2のネットワークをトレーニングするようにさらに構成される、C19に記載の装置。
[C21] 前記第2のネットワークのサイズが、前記第1のネットワークのサイズとは異なる、C20に記載の装置。
[C22] 前記少なくとも1つのプロセッサは、第3のデータおよび第3のラベルで前記第2のネットワークをトレーニングするようにさらに構成される、C20に記載の装置。
[C23] 前記少なくとも1つのプロセッサは、前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のネットワークにおけるクラスの少なくとも1つの既存の境界を修正するようにさらに構成される、C22に記載の装置。
[C24] 前記少なくとも1つのプロセッサは、前記第3のラベルおよび前記第3のデータに少なくとも部分的に基づいて、前記第2のネットワークにおいて少なくとも1つの新しいクラスを追加するようにさらに構成される、C22に記載の装置。
[C25] 前記第1のデータまたは前記第1のラベルは、前記第1のネットワークをトレーニングした後に利用可能でない、C19に記載の装置。
[C26] 前記第2のデータは、前記第1のデータと実質的に同様である、C19に記載の装置。
[C27] 前記少なくとも1つのプロセッサは、
前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
を行うようにさらに構成される、C19に記載の装置。
[C28] 転移学習のための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサは、
第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信することと、前記第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている、
前記第2のラベルおよび前記第2のデータで第2のネットワークをトレーニングすることと
を行うように構成される、装置。
[C29] 前記少なくとも1つのプロセッサは、前記第1のネットワークを介して、前記第2のデータを使用して前記第2のラベルを生成するようにさらに構成される、C28に記載の装置。
[C30] 前記少なくとも1つのプロセッサは、
前記第2のデータをクラスタ化することと、
前記クラスタ化された第2のデータを第3のデータと比較することと、
前記第3のデータに対する類似度または前記第3のデータからの相違度に少なくとも部分的に基づいて、ラベル付けするための前記第2のデータを選択することと
を行うようにさらに構成される、C29に記載の装置。
[C31] 前記第2のネットワークのサイズが、前記第1のネットワークのサイズとは異なる、C28に記載の装置。
[C32] 前記少なくとも1つのプロセッサは、第3のデータおよび第3のラベルで前記第2のネットワークをトレーニングするようにさらに構成される、C28に記載の装置。
[C33] 前記少なくとも1つのプロセッサは、前記第3のデータおよび前記第3のラベルに少なくとも部分的に基づいて、前記第2のネットワークにおけるクラスの少なくとも1つの既存の境界を修正するようにさらに構成される、C32に記載の装置。
[C34] 前記少なくとも1つのプロセッサは、前記第3のデータおよび前記第3のラベルに少なくとも部分的に基づいて、前記第2のネットワークにおいて少なくとも1つの新しいクラスを追加するようにさらに構成される、C32に記載の装置。
[C35] 前記第1のデータまたは第1のラベルは、前記第1のネットワークをトレーニングした後に利用可能でない、C28に記載の装置。
[C36] 前記第2のデータは、前記第1のデータと実質的に同様である、C28に記載の装置。
[C37] 転移学習のための装置であって、
第2のデータを受信するための手段と、
第1のネットワークを介して、前記第2のデータのための第2のラベルを生成するための手段と、前記第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされており、前記第2のラベルは、第2のネットワークをトレーニングするために生成される、
を備える装置。
[C38] 転移学習のための装置であって、
第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するための手段と、前記第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている、
前記第2のラベルおよび前記第2のデータで第2のネットワークをトレーニングするための手段と
を備える装置。
[C39] プログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、
第2のデータを受信するためのプログラムコードと、
第1のネットワークを介して、前記第2のデータのための第2のラベルを生成するためのプログラムコードと、前記第1のネットワークは、第1のデータのための第1のラベルで予めトレーニングされており、前記第2のラベルは、第2のネットワークをトレーニングするために生成される、
を備える、非一時的なコンピュータ可読媒体。
[C40] プログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、
第2のデータを使用して第1のネットワークによって生成された第2のラベルを受信するためのプログラムコードと、前記第1のネットワークは、第1のラベルおよび第1のデータで予めトレーニングされている、
前記第2のラベルおよび前記第2のデータで第2のネットワークをトレーニングするためのプログラムコードと
を備える、非一時的なコンピュータ可読媒体。