特許第6983937号(P6983937)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ マジック リープ, インコーポレイテッドの特許一覧

特許6983937畳み込みニューラルネットワークにおける構造学習
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6983937
(24)【登録日】2021年11月26日
(45)【発行日】2021年12月17日
(54)【発明の名称】畳み込みニューラルネットワークにおける構造学習
(51)【国際特許分類】
   G06N 3/08 20060101AFI20211206BHJP
   G06N 3/04 20060101ALI20211206BHJP
【FI】
   G06N3/08
   G06N3/04
【請求項の数】20
【外国語出願】
【全頁数】25
(21)【出願番号】特願2020-42897(P2020-42897)
(22)【出願日】2020年3月12日
(62)【分割の表示】特願2018-547429(P2018-547429)の分割
【原出願日】2017年3月13日
(65)【公開番号】特開2020-91922(P2020-91922A)
(43)【公開日】2020年6月11日
【審査請求日】2020年3月12日
(31)【優先権主張番号】62/307,071
(32)【優先日】2016年3月11日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】アンドリュー ラビノビッチ
(72)【発明者】
【氏名】ヴィジャイ バドリナラヤナン
(72)【発明者】
【氏名】ダニエル デトン
(72)【発明者】
【氏名】スリヴィグネシュ ラジェンドラン
(72)【発明者】
【氏名】ダグラス バートラム リー
(72)【発明者】
【氏名】トマシュ ジェイ. マリシーウィッツ
【審査官】 今城 朋彬
(56)【参考文献】
【文献】 米国特許出願公開第2015/0036922(US,A1)
【文献】 国際公開第2005/022243(WO,A2)
【文献】 特表2017−515207(JP,A)
【文献】 国際公開第2016/118257(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを用いて実装される方法であって、
オブジェクトの分類を行うように構成されるニューラルネットワークを作成することであって、前記ニューラルネットワークは、複数の層を備える、ことと、
前記ニューラルネットワークが、処理タスクを行い、出力を生成することと、
前記複数の層から異質層を識別することと、
前記ニューラルネットワークから前記異質層を除去することと、
他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去することと
を含み、
前記ニューラルネットワークは、垂直分割および水平分割の両方を受け
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である、方法。
【請求項2】
オール・オア・ナッシングハイウェイネットワークが、前記ニューラルネットワーク内の除去されるべき前記異質層を識別するために採用される、請求項1に記載の方法。
【請求項3】
前記異質層の使用とペナルティを関連付けることをさらに含む、請求項に記載の方法。
【請求項4】
前記ペナルティの大きさは、前記異質層によって使用される計算能力の量に対応する、請求項に記載の方法。
【請求項5】
前記ペナルティの大きさは、変動させられる、請求項に記載の方法。
【請求項6】
プロセッサを用いて実装される方法であって、
オブジェクトの分類を行うように構成されるニューラルネットワークを作成することであって、前記ニューラルネットワークは、複数の層を備える、ことと、
前記ニューラルネットワークが、処理タスクを行い、出力を生成することと、
前記複数の層から異質層を識別することであって、オール・オア・ナッシングハイウェイネットワークが、前記ニューラルネットワーク内の除去されるべき前記異質層を識別するために採用される、ことと、
前記ニューラルネットワークから前記異質層を除去することと、
他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去することと、
前記異質層の使用とペナルティを関連付けることと
を含み、
前記プロセッサがクラウドコンピューティングプラットフォームの一部であるとき、前記ペナルティは、0に設定され
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である、方法。
【請求項7】
前記オール・オア・ナッシングハイウェイネットワークは、前記異質層を使用しないようにバイナリ決定を生成する、請求項に記載の方法。
【請求項8】
プロセッサを用いて実装される方法であって、
オブジェクトの分類を行うように構成されるニューラルネットワークを作成することであって、前記ニューラルネットワークは、複数の層を備える、ことと、
前記ニューラルネットワークが、処理タスクを行い、出力を生成することと、
前記複数の層から異質層を識別することであって、オール・オア・ナッシングハイウェイネットワークが、前記ニューラルネットワーク内の除去されるべき前記異質層を識別するために採用される、ことと、
前記ニューラルネットワークから前記異質層を除去することと、
他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去することと
前記オール・オア・ナッシングハイウェイネットワーク、混合行列を導入し、前記異質層に対応するスキップ接続を変換する方法を判定することと
を含み、
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である、方法。
【請求項9】
スカラー値によって前記混合行列をパラメトライズすることをさらに含む、請求項に記載の方法。
【請求項10】
前記スカラー値が0であるとき、前記異質層への入力が、前記異質層からの出力と等しく、これにより、前記ニューラルネットワークから前記異質層を除去する前に前記異質層をスキップする、請求項に記載の方法。
【請求項11】
恒等写像を使用して、前記異質層に対応するスキップ接続を変換することをさらに含む、請求項に記載の方法。
【請求項12】
前記ニューラルネットワークに関するモデルを更新し、更新されたモデルを取得することをさらに含み、前記異質層は、前記更新されたモデルを取得するために前記モデルから除去される、請求項1に記載の方法。
【請求項13】
複数の損失層が、前記ニューラルネットワークに追加される、請求項1に記載の方法。
【請求項14】
プロセッサを用いて実装される方法であって、
オブジェクトの分類を行うように構成されるニューラルネットワークを作成することであって、前記ニューラルネットワークは、複数の層を備える、ことと、
前記ニューラルネットワークが、処理タスクを行い、出力を生成することと、
前記複数の層から異質層を識別することと、
前記ニューラルネットワークから前記異質層を除去することと、
他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去することと、
複数の損失層を前記ニューラルネットワークに追加することと、
前記損失層のうちの1つにおいて予測を生成し、前記予測を、テンソルTを形成する1つまたは複数の混同行列に変換することと
を含み、
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である、方法。
【請求項15】
Tの構造は、深度および幅の両方の観点から、分析され、前記ニューラルネットワークの既存の構造を修正および強化する、請求項14に記載の方法。
【請求項16】
K分割法が、前記水平分割を実装するために行われる、請求項1に記載の方法。
【請求項17】
プロセッサを用いて実装される方法であって、
オブジェクトの分類を行うように構成されるニューラルネットワークを作成することであって、前記ニューラルネットワークは、複数の層を備える、ことと、
前記ニューラルネットワークが、処理タスクを行い、出力を生成することと、
前記複数の層から異質層を識別することと、
前記ニューラルネットワークから前記異質層を除去することと、
他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去することと
を含み、
前記ニューラルネットワークの各層は、独立して対処され、前記ニューラルネットワークの所与の層は、貪欲選択を行って前記所与の層を分割することによって、分割を受け、これは、訓練損失に関する最良改良を提供し、
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である、方法。
【請求項18】
前記ニューラルネットワークは、仮想現実または拡張現実システムのために捕捉された画像を分類するために採用される、請求項1に記載の方法。
【請求項19】
システムであって、
プロセッサと、
プログラマブルコードを保持するためのメモリと
を備え、
前記プログラマブルコードは、オブジェクトの分類を行うように構成されるニューラルネットワークを作成するための命令であって、前記ニューラルネットワークは、複数の層を備える、命令と、前記ニューラルネットワークが処理タスクを行って出力を生成するための命令と、前記複数の層から異質層を識別するための命令と、前記ニューラルネットワークから前記異質層を除去するための命令と、他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去するための命令とを含み、前記ニューラルネットワークは、垂直分割および水平分割の両方を受け
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である、システム。
【請求項20】
令のシーケンスを記憶した非一時的コンピュータ可読媒体であって、前記命令のシーケンスは、プロセッサによって実行されると、
オブジェクトの分類を行うように構成されるニューラルネットワークを作成することであって、前記ニューラルネットワークは、複数の層を備える、ことと、
前記ニューラルネットワークが、処理タスクを行い、出力を生成することと、
前記複数の層から異質層を識別することと、
前記ニューラルネットワークから前記異質層を除去することと、
他の異質層が識別されなくなるまで、前記複数の層から他の異質層を識別して除去することと
を含む方法を前記プロセッサに実行させ、
前記ニューラルネットワークは、垂直分割および水平分割の両方を受け
前記異質層は、前記複数の層のうちの他の層と比較して分類の正確度の最低改良を提供する層である非一時的コンピュータ可読媒体
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、計算ネットワークに関し、より具体的には、階層表現をデータから学習するように構成される、ニューラルネットワークに関する。
【背景技術】
【0002】
ニューラルネットワークは、複雑な計算問題を解くために使用され得る生物学的脳処理の神経構造に倣って大まかにモデル化される計算アプローチに関する。ニューラルネットワークは、通常、層のセットとして編成され、各層は、種々の機能を含む相互接続されたノードのセットを含む。加重された接続は、ネットワーク内で処理され、種々の分析演算を行う機能を実装する。学習プロセスが、ネットワークおよびネットワーク内の接続に対する関連付けられた加重を構築ならびに修正するために採用され得る。接続加重を修正することによって、これは、ネットワークが、過去の分析から経時的に学習し、将来的分析結果を改良することを可能にする。
【0003】
ニューラルネットワークは、任意の適切なタイプのデータ分析を行うために採用され得るが、特に、パターン分析および分類等の複雑な分析タスクに適用されるために適している。これらの技術の直接適用は、したがって、例えば、デジタルイメージングデバイスによって捕捉される画像データからの特定のオブジェクトおよびオブジェクトクラスの認識ならびに分類等のマシンビジョン機能を実装するために好適である。
【0004】
当該分野において公知の多数のタイプのニューラルネットワークが存在する。深層ニューラルネットワークは、ニューラルネットワークのタイプの1つであり、深層学習技法が、多くの層の非線形処理のカスケードを実装し、分析機能を行うために適用される。深層学習アルゴリズムは、浅層学習アルゴリズムより多くの層を通してその入力を変換する。各層では、信号が、人工ニューロン等の処理ユニットによって変換され、そのパラメータは、訓練を通して学習される。
【0005】
畳み込みニューラルネットワークも、ニューラルネットワークのタイプの1つであり、ネットワーク内の接続パターンは、生物学的視覚野機能から着想を得ている。視野が、ネットワークを通して構築され、入力刺激に対する個々の人工ニューロンの応答が、畳み込み演算によって数学的に近似され得る。
【0006】
畳み込み深層ニューラルネットワークは、公知の技術において実装されている。LeNet(LeCun et al.(1998年))、Alex Net(Krizhevsky et al.(2012年))、GoogLeNet(Szegedy et al.(2015年))、およびVGGNet(Simonyan & Zisserman(2015年))は全て、異なるタイプの深層ニューラルネットワークを実装する、ConvNetアーキテクチャの実施例である。これらのモデルは、非常に異なる(例えば、異なる深度、幅、および活性化関数)。しかしながら、これらのモデルは全て、1つの重要な点、すなわち、それぞれ、差し迫った問題についての設計者の洞察を具現化する手設計構造(hand designed structure)であるという点において同一である。
【0007】
これらのネットワークは、比較的に単純なレシピに従い、Gaborフィルタまたはいくつかのその表現に類似する低レベル特徴を学習する、畳み込み層から開始する。後の層は、オブジェクト部分(顔、車等の部分)等のより高いレベルの特徴をエンコードする。最後に、最上位に、クラスにわたる確率分布を返す層が、存在する。ラベル空間において、訓練されたネットワークによって作られた出力にある構造を提供するアプローチがあるが、問題は、本構造が、これらのネットワークが設計および訓練されるとき、滅多に利用されないことである。
【0008】
確率的グラフィカルモデルにおける構造学習が、提案されており、深層畳み込みネットワークにおける構造学習のための畳み込みアルゴリズムは、典型的には、2つのカテゴリ、すなわち、ネットをより小さくするものと、ネットをより良好にするものとのうちの1つに分けられる。扱いにくい事前に訓練されたネットワークを取り上げ、それらをより小さいメモリフットプリントを伴い、したがって、より少ない計算リソースを要求するネットワークに振り分けることに焦点を当てるアプローチが、提案されている。本技術のクラスは、「教師−生徒」パラダイムに従い、その目標は、教師を模倣する生徒ネットワークを作成することである。これは、Oracleアーキテクチャおよびその学習された加重の両方から開始することを必要とする、すなわち、生徒の訓練は、後にのみ発生することを意味する。スペシャリストのアンサンブルを非常に大規模なデータセット上で蒸留するとき、計算上高価なアンサンブル訓練ステップは、最初に行われなければならない。
【0009】
Feng et alの「Learning the Structure of Deep Convolutional Networks」は、深層モデルの構造の自動的学習側面に関する技法の実施例である。本アプローチは、Indian Buffet Processを使用して、構造を識別するための新しい畳み込みニューラルネットワークモデルを提案しており、構造が判定された後、プルーニングが、行われ、ネットワークのよりコンパクトな表現を作成する。しかしながら、本アプローチに関する1つの欠点は、層の数が静的であり続け、構造学習プロセスを通して多少なりとも複雑になるように強化されるものが静的な数の層内に存在する既知の個々の層のみであるということである。したがって、このアプローチは、構造を最適化するために必要とされ得る任意の新しい層を識別不能である。
【発明の概要】
【発明が解決しようとする課題】
【0010】
したがって、畳み込みニューラルネットワークのための構造学習を実装するための改良されたアプローチの必要がある。
【課題を解決するための手段】
【0011】
本発明のいくつかの実施形態は、ニューラルネットワークのための構造学習を実装する改良されたアプローチを対象とする。本アプローチは、ネットワークから開始し、ネットワークに、ラベル付きデータを有する問題を提供し、次いで、本ネットワークによって作られた出力の構造を精査する。ネットワークのアーキテクチャは、次いで、特定の問題に関するより優れた解を得るように修正される。エキスパートに、高度に複雑でドメイン特有のネットワークアーキテクチャを提案させるのではなく、本アプローチは、データが、特定のタスクのために使用されるであろうネットワークのアーキテクチャを駆動することを可能にする。
【0012】
いくつかの実施形態によると、ニューラルネットワークは、(a)その構造内の情報利得ボトルネックを識別することと、(b)予測の構造に適用し、ボトルネックを緩和することと、最後に、(c)スペシャリスト経路の深度を判定することとによって、改良されることができる。
【0013】
いくつかの実施形態は、ネットワークが解くことを標的とするデータ/問題内の相関を活用することによって、ニューラルネットワークの構造学習を実装し、貪欲アプローチが、最下畳み込み層から全接続層までの情報利得のボトルネックを見つけるために行われる。いくつかの実施形態では、ネットワークが、初期時間点において作成され、出力のセットが、指定されたタスクに適用され、例えば、画像認識/オブジェクト分類タスクを行うとき、ネットワークから作成される。次に、ネットワークモデル内の種々の層が、分析され、モデル内の最低性能層を識別する。付加的構造が、次いで、モデルの中に投入され、モデルの性能を改良する。特に、新しいスペシャリスト層が、識別された垂直位置においてモデルの中に挿入され、モデルの性能を強化させる。単に、1つの汎用経路に複数のタイプのオブジェクトのための分類を行わせるのではなく、第1の新しいスペシャリスト層が、第1のタイプのオブジェクトの分類に対処するためだけに追加されてもよく、第2の新しいスペシャリスト層が、第2のタイプのオブジェクトの分類に対処するためだけに追加されてもよい。本アクションを行うことによって、経時的に、これらのスペシャリストコンポーネントはそれぞれ、スペシャリストが、そのスペシャリストコンポーネントに割り当てられる特定のサブドメインについて広範なレベルの詳細を学習するように強制されるため、その専用エリアの専門知識について高度に知識豊富となる。このように、モデルは、ネットワークの他の部分と比較して準最適として具体的に識別された分類のエリアに直接対処するであろう、新しい層を追加することによって改良される。本同一プロセスは、モデルの残りを通して継続し、修正および/または強化されるべき任意の付加的層を識別する。
【0014】
ある実施形態では、「損失」機構(例えば、損失層、損失関数、および/またはコスト関数)が、ネットワークの各層に含まれる。単に、単一の最上位レベル損失層を有する代わりに、付加的損失層が、ネットワーク内の他の層に追加され、例えば、深層ニューラルネットワークは、複数の損失層を特徴抽出の中間および最終段階に有し、各損失層は、その深度点までのネットワークの性能を測定する。予測が、各損失層において生成され、個別の混同行列に変換され、ネットワークに関する全ての混同行列を含有するテンソルTを形成することができる。Tおよびその要素の構造を分析することによって、深度および幅の両方の観点から、ネットワークの既存の構造を修正および強化することが目標となる。一方で、特徴共有を最大限にし、計算を削減し、さらに他方で、正確度を増加させるために、既存のネットワークの構造を再構築することが目標となる。そのために、本アプローチは、その現在の性能に従って、ネットワークの深度ならびに幅をパーティショニングする。したがって、垂直分割が、いくつかの実施形態では、例えば、異なる層間のドット積を計算することによって行われる。アーキテクチャを深度においてパーティショニングするために、いくつかの実施形態は、近傍層における連続損失関数評価に対応する、近傍サブ空間を比較する。加えて、水平分割が、例えば、K分割法を行うことによって行われる。特定の層におけるネットワークの性能を改良するために、その構造(例えば、全畳み込み)は、強化を要求し得る。ネットワークの一部は、一般的知識に焦点を当てる一方(ジェネラリスト)、その他は、相互間に高い類似を有するラベルの小サブセットに集中する(スペシャリスト)。層iによって達成される知識は、ネットワークの第1の水平パーティショニングを行うために使用されるであろう。処理は、ネットワークの最上位層に到達するまで継続する(例えば、再帰様式において)。本時点で、最終モデルは、コンピュータ可読媒体の中に記憶される。
【0015】
いくつかの実施形態は、スペシャリストの深層学習に関する。ジェネラリストの構造は、一般的知識には良好に性能を発揮することが公知であるが、この同一構造がスペシャリストでも良好に性能を発揮するであろうことは、保証されておらず、スペシャリストのタスクは、より単純または複雑な表現を要求し得る。いくつかの実施形態は、各スペシャリストの構造が、データ駆動様式において、深度方向分割を介して、ジェネラリストの構造から逸脱することを可能にする。
【0016】
これらの技法の付加的変形例が、代替実施形態において適用されてもよい。例えば、分割対(垂直または水平)毎に、ネットワークは、再訓練され、所与の経路における分類を得ることができる。ある実施形態では、凝集型クラスタリングおよび/または分割等によって、これを加速するための、および/またはそれを完全に回避するための技法が、適用されることができる。さらに、混同行列CおよびそのパーティショニングKを前提として、凝集型クラスタリングが、CのK部分のそれぞれに行われ、さらなる分割を推定してもよい。これは、コストXにつながる。コストXは、教師ありグループ化のコストであり、高レベルのネットワークにおいて新しい混同行列を学習する。Xは、X+Tau未満またはそれと等しく、Tauは、クラスタリング誤差の上界である。
【0017】
いくつかの実施形態では、変形例が、畳み込み層対全接続(1×1畳み込み)に関して考慮される。分割が、畳み込み層間で要求される場合(意味論セグメント化の場合等の全畳み込み層でさえ)、層の線形サイズ(この場合、fc)を変化させる代わりに、次元の深度が、変化され、クラスの数(これは、FCNの拡張である)を反映してもよい。
【0018】
さらなる変形例および実施形態が、経路あたりの垂直層の縮約または追加、ラベル空間の関数として層のサイズ変化、および/または検出ならびにRNN(混同を比較することによって同一方法で展開する)の拡張を使用してなされてもよい。
【0019】
さらに別の実施形態では、より少ない層が要求される処理タスクのために適正となるであろうように、あまりに多くの層がネットワーク内に存在し得るとき、それを識別するための技法が、適用されてもよい。前述のように、確実に、深度をネットワークに追加し、十分な訓練データを前提として、性能の改良を認めることができる。しかしながら、本追加された性能上昇は、FLOPおよびメモリ消費の観点から代償が伴い得る。いくつかの実施形態では、ネットワークは、ネットワーク内の所与の計算層がバイナリ決定を介して使用されるかどうかを学習する、オール・オア・ナッシングハイウェイネットワークの使用を考慮して、本トレードオフを用いて最適化される。所与の計算ブロックが使用される場合、ペナルティを被る。本ペナルティ項を変動させることによって、標的アーキテクチャを考慮して、学習プロセスをカスタマイズすることができる。すなわち、内蔵システムは、クラウドベースのシステムよりはるかに無駄のないアーキテクチャを好むであろう。
【0020】
本発明の側面、目的、および利点のさらなる詳細は、以下の詳細な説明、図面、および請求項に説明される。前述の発明の概要および以下の詳細な説明は両方とも、例示的かつ説明的であって、本発明の範囲に関する限定を意図するものではない。
本発明は、例えば、以下を提供する。
(項目1)
プロセッサを用いて実装される方法であって、
ニューラルネットワークを作成するステップと、
前記ニューラルネットワークから出力を生成するステップと、
前記ニューラルネットワークから低性能層を識別するステップと、
新しいスペシャリスト層を前記低性能層に挿入するステップと、
前記ニューラルネットワークの最上位層に到達するまで繰り返すステップと
を含む、方法。
(項目2)
更新されたモデルは、複数の新しいスペシャリスト層と、少なくとも1つのジェネラリスト層とを備える、項目1に記載の方法。
(項目3)
前記新しいスペシャリスト層は、別のスペシャリスト層によってハンドリングされるサブドメインと明確に異なるデータの特定のサブドメインに焦点を当てる、項目1に記載の方法。
(項目4)
複数の損失層が、前記ニューラルネットワークに追加される、項目1に記載の方法。
(項目5)
前記複数の損失層は、前記ニューラルネットワークの各層に追加される、項目4に記載の方法。
(項目6)
予測が、各損失層において生成され、1つまたはそれを上回る混同行列に変換され、前記ニューラルネットワークに関する前記1つまたはそれを上回る混同行列の全てを有するテンソルTを形成する、項目4に記載の方法。
(項目7)
Tの構造は、深度および幅の両方の観点から、分析され、前記ニューラルネットワークの既存の構造を修正および強化する、項目6に記載の方法。
(項目8)
前記ニューラルネットワークは、垂直分割および水平分割の両方を受ける、項目1に記載の方法。
(項目9)
K分割法が、前記水平分割を実装するために行われる、項目8に記載の方法。
(項目10)
前記ネットワークの各層は、独立して対処され、所与の層は、貪欲選択を行い、層を分割させることによって、分割を受け、これは、訓練損失に関する最良改良を提供する、項目1に記載の方法。
(項目11)
オール・オア・ナッシングハイウェイネットワークが、除去されるべき前記ニューラルネットワーク内の層を識別するために採用される、項目1に記載の方法。
(項目12)
前記ニューラルネットワークは、仮想現実または拡張現実システムのために捕捉された画像を分類するために採用される、項目1に記載の方法。
(項目13)
システムであって、
プロセッサと、
プログラマブルコードを保持するためのメモリと
を備え、前記プログラマブルコードは、方法1−12のいずれかを実行するための命令を含む、システム。
(項目14)
コンピュータ可読媒体上で具現化されるコンピュータプログラム製品であって、前記コンピュータ可読媒体は、プロセッサによって実行されると、前記プロセッサに方法1−12のいずれかを実行させる、その上に記憶される命令のシーケンスを有する、コンピュータプログラム製品。
【図面の簡単な説明】
【0021】
図面は、本発明の種々の実施形態の設計および可用性を図示する。図は、正確な縮尺で描かれておらず、同様の構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。本発明の種々の実施形態の前述および他の利点ならびに目的を得る方法をより深く理解するために、上記で簡単に説明されたより詳細な説明が、付随の図面に図示されるその特定の実施形態を参照することによって与えられるであろう。これらの図面は、本発明の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされないことを理解した上で、本発明は、付随の図面の使用を通して付加的具体性および詳細とともに記載ならびに説明されるであろう。
【0022】
図1図1は、ニューラルネットワークのための構造学習を実装するために、本発明のいくつかの実施形態において採用され得る、例示的システムを図示する。
図2図2は、本発明のいくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのフローチャートを図示する。
図3図3は、いくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのより詳細なフローチャートを図示する。
図4A図4A−4Fは、本発明の種々の実施形態を図示する。
図4B図4A−4Fは、本発明の種々の実施形態を図示する。
図4C図4A−4Fは、本発明の種々の実施形態を図示する。
図4D図4A−4Fは、本発明の種々の実施形態を図示する。
図4E図4A−4Fは、本発明の種々の実施形態を図示する。
図4F図4A−4Fは、本発明の種々の実施形態を図示する。
図5A図5A−5Bは、ネットワーク内にあまりに多くの層が存在し得るとき、それを識別するアプローチを図示する。
図5B図5A−5Bは、ネットワーク内にあまりに多くの層が存在し得るとき、それを識別するアプローチを図示する。
図6A図6A−6Dは、種々の実施形態のための一般的ARシステムコンポーネントオプションを図示する。
図6B図6A−6Dは、種々の実施形態のための一般的ARシステムコンポーネントオプションを図示する。
図6C図6A−6Dは、種々の実施形態のための一般的ARシステムコンポーネントオプションを図示する。
図6D図6A−6Dは、種々の実施形態のための一般的ARシステムコンポーネントオプションを図示する。
図7図7は、本発明のいくつかの実施形態が実装され得る、コンピュータ化システムを描写する。
【発明を実施するための形態】
【0023】
本発明のいくつかの実施形態は、ニューラルネットワークのための構造学習を実装する改良されたアプローチを対象とする。本アプローチは、ネットワークから開始し、ネットワークに、ラベル付きデータを有する問題を提供し、次いで、本ネットワークによって作られた出力の構造を精査する。ネットワークのアーキテクチャは、次いで、特定の問題に関するより優れた解を得るように修正される。エキスパートに、高度に複雑かつドメイン特有ネットワークアーキテクチャを提案させるのではなく、本アプローチは、データが、特定のタスクのために使用されるであろうネットワークのアーキテクチャを駆動することを可能にする。
【0024】
図1は、ニューラルネットワークのための構造学習を実装するために本発明のいくつかの実施形態において使用され得る、例示的システムを図示する。本システムは、コンピューティングシステム107または115とインターフェースをとり、それを動作させ、システムを制御および/またはそれと相互作用する、1人またはそれを上回るユーザを含んでもよい。本システムは、ニューラルネットワークコンピューティングデバイス107またはユーザコンピューティングデバイス115を動作させる、それとインターフェースをとる、またはそれを実装するために使用され得る、任意のタイプのコンピューティングステーションを備える。そのようなコンピューティングシステムの実施例は、例えば、サーバ、ワークステーション、パーソナルコンピュータ、またはネットワーク化もしくはクラウドベースのコンピューティングプラットフォームに接続される、遠隔コンピューティング端末を含む。コンピューティングシステムは、ユーザが、マウスまたはキーボード等のシステムのアクティビティにわたる動作制御を提供し、ポインティングオブジェクトを操作するための1つまたはそれを上回る入力デバイスを備えてもよい。コンピューティングシステムはまた、コンピューティングシステムのユーザへの制御インターフェースおよび/または分析結果のために、ディスプレイモニタ等のディスプレイデバイスと関連付けられてもよい。
【0025】
いくつかの実施形態では、コンピュータビジョン機能性を実装するためのシステムが、採用される。したがって、本システムは、システムが動作する環境内の1つまたはそれを上回るオブジェクト105に関する画像データ101を捕捉するためのカメラ103等の1つまたはそれを上回る画像捕捉デバイスを含んでもよい。画像データ101および/または任意の分析結果(例えば、分類出力データ113)は、1つまたはそれを上回るコンピュータ可読記憶媒体内に記憶されてもよい。コンピュータ可読記憶媒体は、コンピュータ可読記憶媒体に位置するデータへの容易なアクセスを可能にする、ハードウェアおよび/またはソフトウェアの任意の組み合わせを含む。例えば、コンピュータ可読記憶媒体は、オペレーティングシステムによって動作可能に管理される、コンピュータメモリおよび/またはハードドライブストレージ、ならびに/もしくはネットワーク接続ストレージ(NAS)、ストレージエリアネットワーク(SAN)、またはクラウドストレージ等のネットワーク化された記憶デバイス内の遠隔ストレージとして実装され得る。コンピュータ可読記憶媒体はまた、永続および/または非永続ストレージ上にストレージを有する、電子データベースシステムとして実装され得る。
【0026】
ニューラルネットワークコンピューティングデバイス107は、構造学習モジュール109を含み、オリジナルモデル1を改良されたモデルnに修正し、モデルnは、可能性として、モデル内の層を修正するための複数の反復プロセスの結果である。モデルnは、好ましくは、知識、本質的には、エキスパートの混合内に深度および幅を含む。モデルは、大まかなカテゴリ間の差異を理解し、さらに同時に、種々のドメインを横断した細かい粒度のクラスに関する差異も理解すべきである。新しいスペシャリスト層111が、必要に応じて、モデルに追加され、これらの目標を実装する。そのようなシステムの設計は、それらが要求される場所にのみリソースを追加するという制約によって支配される。単に、恣意的に、より深くかつより広くすることによって、ネットワークを拡張させることは、計算制約に起因して、スケーリングをもたらさず、したがって、本アプローチは、余剰正則化トリック(extra regularization trick)の必要性を回避する。
【0027】
図2は、本発明のいくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのフローチャートを示す。本アプローチは、ネットワークが解くことを目標とするデータ/問題内の相関を活用することによって、ニューラルネットワークの構造学習を実装する。最下畳み込み層から全接続層までの情報利得のボトルネックを見つける、貪欲アプローチが、説明される。単に、恣意的に、アーキテクチャをより深くするのではなく、付加的計算および容量は、要求される場合のみ追加される。
【0028】
131では、ネットワークが、初期時点で作成される。任意の好適なアプローチが、ネットワークを作成するために使用されることができる。例えば、従来のAlexnetまたはGooglenetアプローチが、ネットワークを生成するために使用されてもよい。
【0029】
次に、133では、出力のセットが、指定されたタスクに適用され、例えば、画像認識/オブジェクト分類タスクを行うとき、ネットワークから生成される。例えば、ある数の人々および動物が、環境内に存在し、割り当てられるタスクが、画像データを分析し、環境内で観察され得る、異なる人々およびタイプの動物を分類することであると仮定する。モデルの各層は、その層内で行われるアクティビティに関してある出力を提供する。出力は、それに対してある構造を有し、これは、解かれている分類問題内のクラス間の関係を確認するために精査され得る。
【0030】
135では、ネットワークモデル内の種々の層が、分析され、モデル内の最低性能層を識別する。例えば、モデルが10の層を有し、層1から3および層5から10の層はそれぞれ、分類正確度に10%改良を提供するが、層4のみが、1%改良を提供すると仮定する。本状況では、層4は、最低性能層として識別されるであろう。
【0031】
次に、137では、付加的構造が、モデルの性能を改良するためにモデルの中に投入される。特に、新しいスペシャリスト層が、モデルの性能を強化するために、識別された垂直位置においてモデルの中に挿入される。
【0032】
本発明の実施形態の本側面を説明するために、モデルは、図4Aに図示されるように、環境内の人々および動物の分類を行うことが意図されると仮定する。ここでは、画像捕捉デバイスは、異なる人々(例えば、女性401、男性403、および子供405)の画像を捕捉する。加えて、環境は、複数の動物(例えば、ネコ407、イヌ409、およびマウス411)を含む。さらに、既存のモデルは、人々(401、403、405)を動物(407、409、411)から正常に区別することが可能であるが、異なる人々を相互から区別する、または異なるタイプの動物を相互から区別することがより困難であると考えられると仮定する。ネットワーク(例えば、Oracleネットワーク)から学習され得る実際の構造を精査する場合、ネットワークが行われている予測間に学習依存性を含むことが明らかである。しかしながら、従来の深層学習アーキテクチャ設計では、これは、利用されない。本構造をさらにより細かく吟味する場合、システムは、実際には、視覚的に相互に類似する学習概念であることが明白である。図4Bを参照すると、クラスの3Dにおける例示的散布図が、複数のグループにクラスタリングされた完全に訓練されたAlexNetに関する予測の例示的構造を図示するように示される。点間の距離は、概念間の視覚的類似に対応する。ここでは、人々のオブジェクトに関する点の第1の集密クラスタリングと、動物オブジェクトに関する点の第2の集密クラスタリングとが存在することが分かる。本現象は、モデルが1人の人物を別の人物からまたは1匹の動物を別の動物から区別することが可能となることの困難性に寄与し得る。
【0033】
本発明のいくつかの実施形態における本状況では、単に、1つの汎用経路にこれらのタイプのオブジェクトの全てに関して分類を行わせるのではなく、第1の新しいスペシャリスト層が、人々の分類に対処するためだけに追加されてもよく、第2の新しいスペシャリスト層が、動物の分類に対処するためだけに追加されてもよい。1つのスペシャリスト(人々スペシャリスト層)が、したがって、図4Bにおけるチャートの部分413に関するデータをハンドリングするために割り当てられるであろう一方、第2のスペシャリスト(動物スペシャリスト層)が、図4Bにおける部分415に関するデータをハンドリングするために割り当てられるであろう。本アクションを行うことによって、経時的に、これらのスペシャリストコンポーネントはそれぞれ、スペシャリストが、そのスペシャリストコンポーネントに割り当てられた特定のサブドメインについて広範なレベルの詳細を学習するように強制されるため、その専用エリアの専門知識について高度に知識豊富となる。このように、モデルは、ネットワークの他の部分と比較して準最適として具体的に識別された分類のエリアに直接対処するであろう、新しい層を追加することによって改良される。
【0034】
本同一プロセスは、モデルの残りを通して継続し、修正および/または強化されるべき任意の付加的層を識別する。したがって、139において、処理がネットワークの最上位層に到達したかどうか判定される。該当する場合、モデルは、141において終了される。該当しない場合、プロセスは、133に戻り、ネットワークの最上位層に到達するまで、プロセスを継続する。
【0035】
本アプローチは、任意の既製の畳み込みニューラルネットワークのアーキテクチャを修正および改良するために行われることができる。本開示の本発明のアプローチに従うことによって、任意のニューラルネットワークは、(a)その構造内の情報利得ボトルネックを識別し、(b)予測の構造に適用し、ボトルネックを緩和し、最後に、(c)スペシャリスト経路の深度を判定することによって、改良されることができる。
【0036】
図3は、いくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのより詳細なフローチャートを図示する。本フローの目的のために、ネットワーク(例えば、モノリシックネットワーク)が、AlexnetまたはGooglenet等の任意の好適なアプローチに従ってすでに作成されていると仮定する。
【0037】
151では、「損失」機構(例えば、損失層、損失関数、および/またはコスト関数)が、ネットワークの各層に含まれる。損失機構は、イベントまたは値をニューラルネットワーク内の処理と関連付けられたコストまたは誤差値の表現に写像する、機能に対応する。図4Cに示されるように、単に、単一の最上位レベル損失層421を有する代わりに、付加的損失層423が、ネットワーク内の他の層に追加される。したがって、本図は、複数の損失層を特徴抽出の中間および最終段階に伴う、深層ニューラルネットワークの実施例を示し、各損失層は、深度内のその点までのネットワークの性能を測定する。目標は、そのアーキテクチャを修正し、タスクに最良適合させることによって、ネットワークアーキテクチャを強化および修正し、所与の問題を可能な限り最良に解くことであることを思い出されたい。したがって、本アプローチは、ネットワーク全体を通して種々の損失層において形成される予測を分析し、それらの間の混同に基づいて、ニューロン活性化をグループ化する。
【0038】
図4Dおよび4Eに図示されるように、予測が、各損失層において生成され、個別の混同行列に変換され(図4Dに示されるように)、ネットワーク、例えば、Oracleネットワークのための全ての混同行列を含有するテンソルTを形成する(図4Eに示されるように)。Tおよびその要素の構造を分析することによって、深度および幅の両方の観点から、ネットワークの既存の構造を修正および強化することが目標となる。
【0039】
説明するために、Ciは、クラスの混同行列とすると、損失層iは、したがって、以下となる。
【化1】
式中、Aは、損失層iにおけるアフィニティ行列であって、Dは、対角行列であって、Lは、グラフLaplacianであって、
【化2】
は、Cによって作られたアフィニティ行列のグラフLaplacianの先頭固有ベクトルによってスパンされたサブ空間である。その結果、テンソルは、以下となる。
【化3】
【0040】
一方で、特徴共有を最大限にし、計算を削減し、さらに他方で、正確度を増加させるために、既存のネットワークの構造を再構築することが目標となる。そのために、本アプローチは、その現在の性能に従って、ネットワークの深度ならびに幅をパーティショニングする。
【0041】
したがって、153では、垂直分割が、例えば、異なる層間のドット積を計算することによって行われる。アーキテクチャを深度においてパーティショニングするために、いくつかの実施形態は、以下の方程式を使用して、近傍層における連続損失関数評価に対応する、近傍サブ空間を比較する。
【化4】
【0042】
ここでは、
【化5】
および
【化6】
は、レベルiおよびi+1における損失関数に関する混同行列の近似先頭固有ベクトルを示し、
【化7】
は、Frobeniusノルムを示す。形式上、
【化8】
および
【化9】
は、N−次元サブ空間を表し、Φ(i,i+1)は、それらの間の正規化された補完角度である。本測定値Φは、
【化10】
および
【化11】
の列によってスパンされるサブ空間のみに依存し、したがって、固有ベクトルの回転に対して不変であることに留意することが重要である。また、Φは、[0,1]内に制約され、レベルiおよびi+1は、Φ(i,i+1)がゼロに近い場合、構造において類似すると見なされ、Φ(i,i+1)が直交するとき、正確に1である。完全な類似関係をスケール空間のレベル間に構築するために、全ての近傍損失層対が、Φを使用して比較される。確立された類似関係を用いることで、ここで、モノリシックネットワークアーキテクチャをパーティショニングする問題に対処することが可能となる。
【0043】
Φが、全てのiおよびi+1のシーケンシャル対のベクトルであって、φ=Φ(i、i+1)であるとする。ゼロに最も近いφの値は、層iとi+1との間の最低情報利得を示す。したがって、argmin(φ)は、モノリシックアーキテクチャの最適初期分割である。アーキテクチャを深度において分割することは、特徴共有を促進する一方、冗長点(ゼロ情報利得)を識別する。
【0044】
155では、水平分割が、例えば、K分割法を行うことによって行われる。特定の層におけるネットワークの性能を改良するために、その構造(例えば、全畳み込み)は、強化を要求し得る。ネットワークの一部は、一般的知識に焦点を当てる一方(ジェネラリスト)、その他は、相互間に高い類似を有するラベルの小サブセットに集中する(スペシャリスト)。層iによって達成される知識は、ネットワークの第1の水平パーティショニングを行うために使用されるであろう。
【0045】
形式上、Cを前提として、上記に開示されるような方程式(1)、(2)、および(3)に従って、Lを計算する。固有ギャップが、グラフLaplacian Lの先頭固有値を分析し、新しい経路(スペシャリスト)の数を判定することによって判定される。オリジナルデータが、Lの最上位N先頭固有ベクトル上に投影され、Rでは、データはさらに、k個のクラスにクラスタリングされ、kは、固有ギャップと等しい。そのような投影およびグループ化の実施例は、図4Bに図示される。本プロシージャは、第1の分割後のネットワーク407を図示する、図4Fに示されるように、アーキテクチャの修正につながるであろう。
【0046】
いったん第1の分割が確立されると、全ての新しい経路が、オリジナルネットワークとして取り扱われる。分割プロシージャは、分割のためのさらなるラベルがなくなる、または100%正確度が達成されるまで適用される。
【0047】
157では、前述の処理は、ネットワークの最上位層に到達するまで継続する(例えば、再帰様式において)。本時点で、最終モデルが、コンピュータ可読媒体の中に記憶される。
【0048】
本開示の本部分は、スペシャリストの深層学習に関する。ジェネラリストの構造は、一般的知識には良好に性能を発揮することが公知であるが、本同一構造がスペシャリストでも良好に性能を発揮するであろうことは、保証されておらず、スペシャリストのタスクは、より単純または複雑な表現を要求し得る。いくつかの実施形態は、各スペシャリストの構造が、データ駆動様式において、深度方向分割を介して、ジェネラリストの構造から逸脱することを可能にする。
【0049】
L={L,L,….,L}が、さらなる分割のために検討される全接続層のセットであるとする。出力yを作る、L内の層Lを検討する。その入力に、y=σ(f(x))(但し、σ()は、ReLU等の非線形性に適用され、f(x)=Wx(Wは、次元M×Nの学習された加重行列であって、xは、次元N×1を有する本層への入力である)である)として適用される、変換を書き込むことができる。分割を行うために、本アプローチは、Lの変換をy=σ(g(σ(h(x)))(但し、σ()およびσ()は、活性化関数であり、g(x)=Wxおよびh(x)=Wx(Wは、次元N×Nを有し、Wは、次元M×Nを有する)に分解する。本アプローチは、以下を選定する。
【化12】
【0050】
ここでは、W=UΣVは、WのSVD因数分解であって、Iは、単位行列である。本変化を用いることで、層Lの変換は、不変である。Lの学習された表現の複雑性を増加させるために、σをReLU等の非線形活性化関数として設定し得る。しかしながら、本非線形性の追加は、Lの学習された表現に急激な変化を生じさせ、ネットワークにその学習の多くを始めから再開させ得る。代わりに、PReLU非線形性を挿入し、その単一パラメータaを1であるように初期化することができ、これは、方程式8におけるIと同等である。これは、スペシャリストに新しい非線形性を本層に導入するための平滑機構を提供する。
【0051】
層Lのセットを前提として、前述の方略を各層Lに独立して適用し、分割を貪欲に選定することができ、これは、訓練損失に関する最良の改良を提供する。本プロセスは、層Lnew={L,L,….,L,Ln+1}のセットに再帰的に繰り返されることができる。
【0052】
これらの技法の付加的変形例が、代替実施形態において適用されてもよい。例えば、分割対(垂直または水平)毎に、ネットワークは、再訓練され、所与の経路における分類を得ることができる。ある実施形態では、凝集型クラスタリングおよび/または分割等によって、これを加速するための、および/またはそれを完全に回避するための技法が、適用されることができる。さらに、混同行列CiおよびそのパーティショニングKを前提として、凝集型クラスタリングが、CiのK部分のそれぞれに行われ、さらなる分割を推定してもよい。これは、コストXにつながる。コストXは、教師ありグループ化のコストであって、高レベルのネットワークにおいて新しい混同行列を学習する。Xは、X+Tau未満またはそれと等しく、Tauは、クラスタリング誤差の上界である。
【0053】
いくつかの実施形態では、変形例が、畳み込み層対全接続(1×1畳み込み)に関して考慮される。分割が、畳み込み層間で要求される場合(意味論セグメント化の場合等の全畳み込み層でさえ)、層の線形サイズ(この場合、fc)を変化させる代わりに、次元の深度が、変化され、クラスの数(これは、FCNの拡張である)を反映してもよい。
【0054】
さらなる変形例および実施形態が、経路あたりの垂直層の縮約または追加、ラベル空間の関数として層のサイズ変化、および/または検出ならびにRNN(混同を比較することによって同一方法で展開する)の拡張を使用して作られてもよい。
【0055】
さらに別の実施形態では、より少ない層が要求される処理タスクのために適正となるであろうように、あまりに多くの層がネットワーク内に存在し得るとき、それを識別するための技法が、適用されてもよい。前述のように、確実に、深度をネットワークに追加し、十分な訓練データを前提として、性能の改良を認めることができる。しかしながら、本追加された性能上昇は、FLOPおよびメモリ消費の観点から代償が伴い得る。いくつかの実施形態では、ネットワークは、ネットワーク内の所与の計算層がバイナリ決定を介して使用されるかどうかを学習する、オール・オア・ナッシングハイウェイネットワークの使用を考慮して、本トレードオフを用いて最適化される。所与の計算ブロックが使用される場合、ペナルティを被る。本ペナルティ項を変動させることによって、標的アーキテクチャを考慮して、学習プロセスをカスタマイズすることができる。すなわち、内蔵システムは、クラウドベースのシステムよりはるかに無駄のないアーキテクチャを好むであろう。
【0056】
本実施形態によって対処される問題は、所与の問題Xに関して計算予算が与えられるべきネットワークの深度を判定することである。オール・オア・ナッシングハイウェイネットワークを使用するアプローチを用いることで、ハイウェイネットワークは、混合行列を導入し、現在の計算ブロックの出力と混合する前に、前の層からのスキップ接続が変換されるべき方法を学習する。以下の方程式を検討する。
【化13】
【0057】
残りのネットワークは、恒等写像を使用して、スキップ接続を組み合わせることに成功し得る。恒等写像は、あまり代表的ではないが、最適化するためにより効率的かつより容易である。
【化14】
【0058】
現在のアプローチは、代わりに、計算ブロックの出力をゲートする単一スカラーαによって、混合行列をパラメトライズする(図5A参照)。
【化15】
【0059】
α=0であるとき、y=xおよび入力は、単に、出力に回される。α=1であるとき、(方程式12)は、(方程式10)となり、残りの単位は、計算のために使用される。
【0060】
図5Aは、オール・オア・ナッシングハイウェイ接続を伴うネットワークのためのチャート501を図示する。本図では、計算ブロックが、入力にフィードされ、後に、残りの接続(要素毎追加)を介して結び付けられる。追加前に、計算ブロックの出力は、学習されたパラメータαによってスケーリングされ、これは、本計算ブロックの使用にペナルティを課す。本損失は、以下に説明される。
【0061】
学習が、計算ブロックを使用するかどうかを判定するために行われる。事前に、深層ネットワーク内の所与の層の挙動を制御する、αパラメータを課し、本パラメータをモデルパラメータおよびその目的関数とともに最適化することが望ましい。訓練の間、αが深度毎に独立して0または1のいずれかを選定するバイナリ決定を促すことが望ましい。計算ブロックが、スキップされるべきであると学習される場合、単に、推論時にその計算ブロックをモデルから除去することができる。
【0062】
残りのネットワークでは、連続層は、一般に、小さな写像を有し、学習された残りの関数は、一般に、小さな応答を有し、恒等写像が合理的な事前条件付けを提供することを示唆する。これは、(方程式10)における恒等写像と恒等層との間およびその逆の遷移が、壊滅的変化を目的関数に生じさせるべきではないことを示唆する。したがって、本アプローチは、区分的平滑損失関数をαパラメータに導入し、これは、種々の深度における計算ブロックの出力をゲートする。
【0063】
加えて、異なるシナリオに関して、より高いペナルティがより多くの計算を使用するモデルに割り当てられるように、αパラメータに関する損失関数をパラメトライズすることが望ましい。スマートフォン等の軽量の内蔵プラットフォームの場合、層を選定するために高ペナルティが所望され得る。クラウドコンピューティングプラットフォームの場合、計算ブロックを使用するためのそのようなペナルティは、所望され得ない。これらの基準を前提として、図5Bに示される区分的平滑多項式/線形関数を使用することができ、これは、以下によってパラメトライズされることができる。
【化16】
【0064】
図5Bに示されるピークの種々の選択に関して、種々の使用ペナルティが、モデルに与えられる。
(拡張現実およびコンピューティングシステムアーキテクチャ)
【0065】
前述の技法は、特に、仮想現実および拡張現実システムのためのマシンビジョン用途に適用可能である。本発明のニューラルネットワーク分類デバイスは、ARシステムから独立して実装されてもよいが、以下の多くの実施形態は、例証目的のためだけにARシステムに関連して説明される。
【0066】
開示されるのは、種々のコンピュータシステムのための分類および認識のためのデバイス、方法、およびシステムである。一実施形態では、コンピュータシステムは、種々の他のコンピュータシステム(例えば、金融コンピュータシステム)とのユーザ相互作用を促進するように構成される、頭部搭載型システムであってもよい。他の実施形態では、コンピュータシステムは、ユーザの金融取引を促進するように構成される据え付けのデバイス(例えば、商業用端末またはATM)であってもよい。種々の実施形態が、ARシステム(例えば、頭部搭載型)の文脈において以下に説明されるであろうが、本明細書に開示される実施形態は、任意の既存および/または公知のARシステムから独立して使用されてもよいことを理解されたい。
【0067】
ここで図6A−6Dを参照すると、種々の実施形態による、いくつかの一般的ARシステムコンポーネントオプションが、図示される。図6A−6Dの実施形態は、頭部搭載型ディスプレイを図示するが、同一コンポーネントは、据え付けのコンピュータシステム内にも同様に組み込まれてもよく、図6A−6Dは、限定として見なされるべきではないことを理解されたい。
【0068】
図6Aに示されるように、頭部搭載型デバイスユーザ60は、ユーザ60の眼の正面に位置付けられるディスプレイシステム62に結合されるフレーム64構造を装着して描写される。フレーム64は、セキュリティの要求されるレベルに応じて、1つまたはそれを上回るユーザ識別特有サブシステムに恒久的または一時的に結合されてもよい。スピーカ66が、描写される構成においてフレーム64に結合され、ユーザ60の外耳道に隣接して位置付けられてもよい。代替実施形態では、別のスピーカ(図示せず)が、ユーザ60の他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する。1つまたはそれを上回る実施形態では、ユーザ識別デバイスは、フレーム64に固定して取り付けられる、図6Bに描写される実施形態に示されるように、ヘルメットまたは帽子80に固定して取り付けられる、ヘッドホン内に埋設される、図6Cの実施形態に示されるように、リュック式構成においてユーザ60の胴体82に除去可能に取り付けられる、または図6Dの実施形態に示されるように、ベルト結合式構成においてユーザ60の臀部84に除去可能に取り付けられる等、種々の構成において搭載され得る、有線導線または無線コネクティビティ等によって、ローカル処理およびデータモジュール70に動作可能に結合される、ディスプレイ62を有してもよい。
【0069】
ローカル処理およびデータモジュール70は、電力効率的プロセッサまたはコントローラと、フラッシュメモリ等のデジタルメモリとを備えてもよく、両方とも、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。データは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等のフレーム64に動作可能に結合され得る、センサから捕捉されてもよい。代替として、または加えて、データは、可能性として、処理もしくは読み出し後、ディスプレイ62への通過のために、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して、取得ならびに/もしくは処理されてもよい。ローカル処理およびデータモジュール70は、これらの遠隔モジュール72、74が、相互に動作可能に結合され、ローカル処理およびデータモジュール70へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、遠隔処理モジュール72および遠隔データリポジトリ74に動作可能に結合76、78されてもよい。
【0070】
一実施形態では、遠隔処理モジュール72は、データおよび/または画像情報を分析ならびに処理するように構成される、1つもしくはそれを上回る比較的にパワフルなプロセッサまたはコントローラを備えてもよい。一実施形態では、遠隔データリポジトリ74は、インターネットまたは「クラウド」リソース構成内の他のネットワーキング構成を通して利用可能であり得る、比較的に大規模なデジタルデータ記憶設備を備えてもよい。一実施形態では、全てのデータが、ローカル処理およびデータモジュール内に記憶され、全ての計算が、そこで行われ、任意の遠隔モジュールからの完全に自律的な使用を可能にする。
【0071】
いくつかの実施形態では、図6A−6Dに説明されるものに類似する識別デバイス(または識別用途を有するARシステム)が、ユーザの眼への一意のアクセスを提供する。識別/ARデバイスが、ユーザが3−D仮想コンテンツを知覚することを可能にするために、ユーザの眼と重要な相互作用を果たし、多くの実施形態では、ユーザの眼に関連する種々のバイオメトリック(例えば、虹彩パターン、輻輳・開散運動、眼の運動、桿体細胞および錐体細胞のパターン、眼の移動のパターン等)を追跡することを前提として、得られた追跡データは、有利には、識別用途において使用されてもよい。したがって、ユーザの眼へのこの先例のないアクセスは、必然的に、種々の識別用途にふさわしいものとなる。
【0072】
図7は、本発明の実施形態を実装するために好適な例証的コンピューティングシステム1400のブロック図である。コンピュータシステム1400は、プロセッサ1407、システムメモリ1408(例えば、RAM)、静的記憶デバイス1409(例えば、ROM)、ディスクドライブ1410(例えば、磁気または光学)、通信インターフェース1414(例えば、モデムまたはEthernet(登録商標)カード)、ディスプレイ1411(例えば、CRTまたはLCD)、入力デバイス1412(例えば、キーボード)、およびカーソル制御等のサブシステムおよびデバイスを相互接続する、情報を通信するためのバス1406または他の通信機構を含む。
【0073】
本発明の一実施形態によると、コンピュータシステム1400は、プロセッサ1407がシステムメモリ1408内に含有される1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスを実行することによって、特定の動作を行う。そのような命令は、システムメモリ1408の中に、静的記憶デバイス1409またはディスクドライブ1410等の別のコンピュータ可読/使用可能媒体から読み込まれてもよい。代替実施形態では、有線回路が、代わりに、またはソフトウェア命令と組み合わせて、本発明を実装するために使用されてもよい。したがって、本発明の実施形態は、ハードウェア回路および/またはソフトウェアの任意の特定の組み合わせに限定されない。一実施形態では、用語「論理」は、本発明の全部または一部を実装するために使用される、ソフトウェアまたはハードウェアの任意の組み合わせを意味するものとする。
【0074】
用語「コンピュータ可読媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、プロセッサ1407に実行のための命令を提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、ディスクドライブ1410等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ1408等の動的メモリを含む。
【0075】
一般的形態のコンピュータ可読媒体は、例えば、フロッピー(登録商標)ディスク、可撓性ディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュ−EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが読み取ることができる任意の他の媒体を含む。
【0076】
本発明のある実施形態では、本発明を実践するための命令のシーケンスの実行は、単一コンピュータシステム1400によって行われる。本発明の他の実施形態によると、通信リンク1415(例えば、LAN、PTSN、または無線ネットワーク)によって結合される、2つまたはそれを上回るコンピュータシステム1400が、相互に協調して、本発明を実践するために要求される命令のシーケンスを行ってもよい。
【0077】
コンピュータシステム1400は、通信リンク1415および通信インターフェース1414を通して、プログラム、例えば、アプリケーションコードを含む、メッセージ、データ、および命令を伝送および受信してもよい。受信されたプログラムコードは、受信されたときにプロセッサ1407によって実行される、および/または後の実行のために、ディスクドライブ1410または他の不揮発性ストレージ内に記憶されてもよい。コンピュータシステム1400は、データインターフェース1433を通して、外部記憶デバイス1431上のデータベース1432と通信してもよい。
【0078】
前述の明細書では、本発明が、その特定の実施形態を参照して説明された。しかしながら、種々の修正および変更が、本発明のより広義の精神ならびに範囲から逸脱することなく、本明細書に成され得ることは、明白となるであろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本発明の範囲または動作に影響を及ぼさずに変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。
図1
図2
図3
図4A
図4B
図4C
図4D
図4E
図4F
図5A
図5B
図6A
図6B
図6C
図6D
図7