(57)【要約】【課題】畳み込みニューラルネットワークのための構造学習を実装するための改良されたアプローチの提供。【解決手段】本開示は、計算ネットワークに関し、より具体的には、階層表現をデータから学習するように構成される、ニューラルネットワークに関する。本開示は、ネットワークが解くことを目標とするデータ／問題内の相関を活用することによって、ニューラルネットワークの構造学習を実装するための改良されたアプローチを提供する。最下畳み込み層から全接続層までの情報利得のボトルネックを見出す、貪欲アプローチが、説明される。単に、アーキテクチャをより深くするのではなく、付加的計算および容量は、要求される場合のみ追加される。【選択図】なし【特許請求の範囲】
【請求項１】
本願明細書に記載の発明。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、計算ネットワークに関し、より具体的には、階層表現をデータから学習するように構成される、ニューラルネットワークに関する。
【背景技術】
【０００２】
ニューラルネットワークは、複雑な計算問題を解くために使用され得る生物学的脳処理の神経構造に倣って大まかにモデル化される計算アプローチに関する。ニューラルネットワークは、通常、層のセットとして編成され、各層は、種々の機能を含む相互接続されたノードのセットを含む。加重された接続は、ネットワーク内で処理され、種々の分析演算を行う機能を実装する。学習プロセスが、ネットワークおよびネットワーク内の接続に対する関連付けられた加重を構築ならびに修正するために採用され得る。接続加重を修正することによって、これは、ネットワークが、過去の分析から経時的に学習し、将来的分析結果を改良することを可能にする。
【０００３】
ニューラルネットワークは、任意の適切なタイプのデータ分析を行うために採用され得るが、特に、パターン分析および分類等の複雑な分析タスクに適用されるために適している。これらの技術の直接適用は、したがって、例えば、デジタルイメージングデバイスによって捕捉される画像データからの特定のオブジェクトおよびオブジェクトクラスの認識ならびに分類等のマシンビジョン機能を実装するために好適である。
【０００４】
当該分野において公知の多数のタイプのニューラルネットワークが存在する。深層ニューラルネットワークは、ニューラルネットワークのタイプの１つであり、深層学習技法が、多くの層の非線形処理のカスケードを実装し、分析機能を行うために適用される。深層学習アルゴリズムは、浅層学習アルゴリズムより多くの層を通してその入力を変換する。各層では、信号が、人工ニューロン等の処理ユニットによって変換され、そのパラメータは、訓練を通して学習される。
【０００５】
畳み込みニューラルネットワークも、ニューラルネットワークのタイプの１つであり、ネットワーク内の接続パターンは、生物学的視覚野機能から着想を得ている。視野が、ネットワークを通して構築され、入力刺激に対する個々の人工ニューロンの応答が、畳み込み演算によって数学的に近似され得る。
【０００６】
畳み込み深層ニューラルネットワークは、公知の技術において実装されている。ＬｅＮｅｔ（ＬｅＣｕｎ  ｅｔ  ａｌ．（１９９８年））、Ａｌｅｘ  Ｎｅｔ（Ｋｒｉｚｈｅｖｓｋｙ  ｅｔ  ａｌ．（２０１２年））、ＧｏｏｇＬｅＮｅｔ（Ｓｚｅｇｅｄｙ  ｅｔ  ａｌ．（２０１５年））、およびＶＧＧＮｅｔ（Ｓｉｍｏｎｙａｎ  ＆  Ｚｉｓｓｅｒｍａｎ（２０１５年））は全て、異なるタイプの深層ニューラルネットワークを実装する、ＣｏｎｖＮｅｔアーキテクチャの実施例である。これらのモデルは、非常に異なる（例えば、異なる深度、幅、および活性化関数）。しかしながら、これらのモデルは全て、１つの重要な点、すなわち、それぞれ、差し迫った問題についての設計者の洞察を具現化する手設計構造（ｈａｎｄ  ｄｅｓｉｇｎｅｄ  ｓｔｒｕｃｔｕｒｅ）であるという点において同一である。
【０００７】
これらのネットワークは、比較的に単純なレシピに従い、Ｇａｂｏｒフィルタまたはいくつかのその表現に類似する低レベル特徴を学習する、畳み込み層から開始する。後の層は、オブジェクト部分（顔、車等の部分）等のより高いレベルの特徴をエンコードする。最後に、最上位に、クラスにわたる確率分布を返す層が、存在する。ラベル空間において、訓練されたネットワークによって作られた出力にある構造を提供するアプローチがあるが、問題は、本構造が、これらのネットワークが設計および訓練されるとき、滅多に利用されないことである。
【０００８】
確率的グラフィカルモデルにおける構造学習が、提案されており、深層畳み込みネットワークにおける構造学習のための畳み込みアルゴリズムは、典型的には、２つのカテゴリ、すなわち、ネットをより小さくするものと、ネットをより良好にするものとのうちの１つに分けられる。扱いにくい事前に訓練されたネットワークを取り上げ、それらをより小さいメモリフットプリントを伴い、したがって、より少ない計算リソースを要求するネットワークに振り分けることに焦点を当てるアプローチが、提案されている。本技術のクラスは、「教師−生徒」パラダイムに従い、その目標は、教師を模倣する生徒ネットワークを作成することである。これは、Ｏｒａｃｌｅアーキテクチャおよびその学習された加重の両方から開始することを必要とする、すなわち、生徒の訓練は、後にのみ発生することを意味する。スペシャリストのアンサンブルを非常に大規模なデータセット上で蒸留するとき、計算上高価なアンサンブル訓練ステップは、最初に行われなければならない。
【０００９】
Ｆｅｎｇ  ｅｔ  ａｌの「Ｌｅａｒｎｉｎｇ  ｔｈｅ  Ｓｔｒｕｃｔｕｒｅ  ｏｆ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ」は、深層モデルの構造の自動的学習側面に関する技法の実施例である。本アプローチは、Ｉｎｄｉａｎ  Ｂｕｆｆｅｔ  Ｐｒｏｃｅｓｓを使用して、構造を識別するための新しい畳み込みニューラルネットワークモデルを提案しており、構造が判定された後、プルーニングが、行われ、ネットワークのよりコンパクトな表現を作成する。しかしながら、本アプローチに関する１つの欠点は、層の数が静的であり続け、構造学習プロセスを通して多少なりとも複雑になるように強化されるものが静的な数の層内に存在する既知の個々の層のみであるということである。したがって、このアプローチは、構造を最適化するために必要とされ得る任意の新しい層を識別不能である。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、畳み込みニューラルネットワークのための構造学習を実装するための改良されたアプローチの必要がある。
【課題を解決するための手段】
【００１１】
本発明のいくつかの実施形態は、ニューラルネットワークのための構造学習を実装する改良されたアプローチを対象とする。本アプローチは、ネットワークから開始し、ネットワークに、ラベル付きデータを有する問題を提供し、次いで、本ネットワークによって作られた出力の構造を精査する。ネットワークのアーキテクチャは、次いで、特定の問題に関するより優れた解を得るように修正される。エキスパートに、高度に複雑でドメイン特有のネットワークアーキテクチャを提案させるのではなく、本アプローチは、データが、特定のタスクのために使用されるであろうネットワークのアーキテクチャを駆動することを可能にする。
【００１２】
いくつかの実施形態によると、ニューラルネットワークは、（ａ）その構造内の情報利得ボトルネックを識別することと、（ｂ）予測の構造に適用し、ボトルネックを緩和することと、最後に、（ｃ）スペシャリスト経路の深度を判定することとによって、改良されることができる。
【００１３】
いくつかの実施形態は、ネットワークが解くことを標的とするデータ／問題内の相関を活用することによって、ニューラルネットワークの構造学習を実装し、貪欲アプローチが、最下畳み込み層から全接続層までの情報利得のボトルネックを見つけるために行われる。いくつかの実施形態では、ネットワークが、初期時間点において作成され、出力のセットが、指定されたタスクに適用され、例えば、画像認識／オブジェクト分類タスクを行うとき、ネットワークから作成される。次に、ネットワークモデル内の種々の層が、分析され、モデル内の最低性能層を識別する。付加的構造が、次いで、モデルの中に投入され、モデルの性能を改良する。特に、新しいスペシャリスト層が、識別された垂直位置においてモデルの中に挿入され、モデルの性能を強化させる。単に、１つの汎用経路に複数のタイプのオブジェクトのための分類を行わせるのではなく、第１の新しいスペシャリスト層が、第１のタイプのオブジェクトの分類に対処するためだけに追加されてもよく、第２の新しいスペシャリスト層が、第２のタイプのオブジェクトの分類に対処するためだけに追加されてもよい。本アクションを行うことによって、経時的に、これらのスペシャリストコンポーネントはそれぞれ、スペシャリストが、そのスペシャリストコンポーネントに割り当てられる特定のサブドメインについて広範なレベルの詳細を学習するように強制されるため、その専用エリアの専門知識について高度に知識豊富となる。このように、モデルは、ネットワークの他の部分と比較して準最適として具体的に識別された分類のエリアに直接対処するであろう、新しい層を追加することによって改良される。本同一プロセスは、モデルの残りを通して継続し、修正および／または強化されるべき任意の付加的層を識別する。
【００１４】
ある実施形態では、「損失」機構（例えば、損失層、損失関数、および／またはコスト関数）が、ネットワークの各層に含まれる。単に、単一の最上位レベル損失層を有する代わりに、付加的損失層が、ネットワーク内の他の層に追加され、例えば、深層ニューラルネットワークは、複数の損失層を特徴抽出の中間および最終段階に有し、各損失層は、その深度点までのネットワークの性能を測定する。予測が、各損失層において生成され、個別の混同行列に変換され、ネットワークに関する全ての混同行列を含有するテンソルＴを形成することができる。Ｔおよびその要素の構造を分析することによって、深度および幅の両方の観点から、ネットワークの既存の構造を修正および強化することが目標となる。一方で、特徴共有を最大限にし、計算を削減し、さらに他方で、正確度を増加させるために、既存のネットワークの構造を再構築することが目標となる。そのために、本アプローチは、その現在の性能に従って、ネットワークの深度ならびに幅をパーティショニングする。したがって、垂直分割が、いくつかの実施形態では、例えば、異なる層間のドット積を計算することによって行われる。アーキテクチャを深度においてパーティショニングするために、いくつかの実施形態は、近傍層における連続損失関数評価に対応する、近傍サブ空間を比較する。加えて、水平分割が、例えば、Ｋ分割法を行うことによって行われる。特定の層におけるネットワークの性能を改良するために、その構造（例えば、全畳み込み）は、強化を要求し得る。ネットワークの一部は、一般的知識に焦点を当てる一方（ジェネラリスト）、その他は、相互間に高い類似を有するラベルの小サブセットに集中する（スペシャリスト）。層ｉによって達成される知識は、ネットワークの第１の水平パーティショニングを行うために使用されるであろう。処理は、ネットワークの最上位層に到達するまで継続する（例えば、再帰様式において）。本時点で、最終モデルは、コンピュータ可読媒体の中に記憶される。
【００１５】
いくつかの実施形態は、スペシャリストの深層学習に関する。ジェネラリストの構造は、一般的知識には良好に性能を発揮することが公知であるが、この同一構造がスペシャリストでも良好に性能を発揮するであろうことは、保証されておらず、スペシャリストのタスクは、より単純または複雑な表現を要求し得る。いくつかの実施形態は、各スペシャリストの構造が、データ駆動様式において、深度方向分割を介して、ジェネラリストの構造から逸脱することを可能にする。
【００１６】
これらの技法の付加的変形例が、代替実施形態において適用されてもよい。例えば、分割対（垂直または水平）毎に、ネットワークは、再訓練され、所与の経路における分類を得ることができる。ある実施形態では、凝集型クラスタリングおよび／または分割等によって、これを加速するための、および／またはそれを完全に回避するための技法が、適用されることができる。さらに、混同行列ＣｉおよびそのパーティショニングＫを前提として、凝集型クラスタリングが、ＣｉのＫ部分のそれぞれに行われ、さらなる分割を推定してもよい。これは、コストＸｕにつながる。コストＸｓは、教師ありグループ化のコストであり、高レベルのネットワークにおいて新しい混同行列を学習する。Ｘｕは、Ｘｓ＋Ｔａｕ未満またはそれと等しく、Ｔａｕは、クラスタリング誤差の上界である。
【００１７】
いくつかの実施形態では、変形例が、畳み込み層対全接続（１×１畳み込み）に関して考慮される。分割が、畳み込み層間で要求される場合（意味論セグメント化の場合等の全畳み込み層でさえ）、層の線形サイズ（この場合、ｆｃ）を変化させる代わりに、次元の深度が、変化され、クラスの数（これは、ＦＣＮの拡張である）を反映してもよい。
【００１８】
さらなる変形例および実施形態が、経路あたりの垂直層の縮約または追加、ラベル空間の関数として層のサイズ変化、および／または検出ならびにＲＮＮ（混同を比較することによって同一方法で展開する）の拡張を使用してなされてもよい。
【００１９】
さらに別の実施形態では、より少ない層が要求される処理タスクのために適正となるであろうように、あまりに多くの層がネットワーク内に存在し得るとき、それを識別するための技法が、適用されてもよい。前述のように、確実に、深度をネットワークに追加し、十分な訓練データを前提として、性能の改良を認めることができる。しかしながら、本追加された性能上昇は、ＦＬＯＰおよびメモリ消費の観点から代償が伴い得る。いくつかの実施形態では、ネットワークは、ネットワーク内の所与の計算層がバイナリ決定を介して使用されるかどうかを学習する、オール・オア・ナッシングハイウェイネットワークの使用を考慮して、本トレードオフを用いて最適化される。所与の計算ブロックが使用される場合、ペナルティを被る。本ペナルティ項を変動させることによって、標的アーキテクチャを考慮して、学習プロセスをカスタマイズすることができる。すなわち、内蔵システムは、クラウドベースのシステムよりはるかに無駄のないアーキテクチャを好むであろう。
【００２０】
本発明の側面、目的、および利点のさらなる詳細は、以下の詳細な説明、図面、および請求項に説明される。前述の発明の概要および以下の詳細な説明は両方とも、例示的かつ説明的であって、本発明の範囲に関する限定を意図するものではない。
本発明は、例えば、以下を提供する。
（項目１）
プロセッサを用いて実装される方法であって、
ニューラルネットワークを作成するステップと、
前記ニューラルネットワークから出力を生成するステップと、
前記ニューラルネットワークから低性能層を識別するステップと、
新しいスペシャリスト層を前記低性能層に挿入するステップと、
前記ニューラルネットワークの最上位層に到達するまで繰り返すステップと
を含む、方法。
（項目２）
更新されたモデルは、複数の新しいスペシャリスト層と、少なくとも１つのジェネラリスト層とを備える、項目１に記載の方法。
（項目３）
前記新しいスペシャリスト層は、別のスペシャリスト層によってハンドリングされるサブドメインと明確に異なるデータの特定のサブドメインに焦点を当てる、項目１に記載の方法。
（項目４）
複数の損失層が、前記ニューラルネットワークに追加される、項目１に記載の方法。
（項目５）
前記複数の損失層は、前記ニューラルネットワークの各層に追加される、項目４に記載の方法。
（項目６）
予測が、各損失層において生成され、１つまたはそれを上回る混同行列に変換され、前記ニューラルネットワークに関する前記１つまたはそれを上回る混同行列の全てを有するテンソルＴを形成する、項目４に記載の方法。
（項目７）
Ｔの構造は、深度および幅の両方の観点から、分析され、前記ニューラルネットワークの既存の構造を修正および強化する、項目６に記載の方法。
（項目８）
前記ニューラルネットワークは、垂直分割および水平分割の両方を受ける、項目１に記載の方法。
（項目９）
Ｋ分割法が、前記水平分割を実装するために行われる、項目８に記載の方法。
（項目１０）
前記ネットワークの各層は、独立して対処され、所与の層は、貪欲選択を行い、層を分割させることによって、分割を受け、これは、訓練損失に関する最良改良を提供する、項目１に記載の方法。
（項目１１）
オール・オア・ナッシングハイウェイネットワークが、除去されるべき前記ニューラルネットワーク内の層を識別するために採用される、項目１に記載の方法。
（項目１２）
前記ニューラルネットワークは、仮想現実または拡張現実システムのために捕捉された画像を分類するために採用される、項目１に記載の方法。
（項目１３）
システムであって、
プロセッサと、
プログラマブルコードを保持するためのメモリと
を備え、前記プログラマブルコードは、方法１−１２のいずれかを実行するための命令を含む、システム。
（項目１４）
コンピュータ可読媒体上で具現化されるコンピュータプログラム製品であって、前記コンピュータ可読媒体は、プロセッサによって実行されると、前記プロセッサに方法１−１２のいずれかを実行させる、その上に記憶される命令のシーケンスを有する、コンピュータプログラム製品。
【図面の簡単な説明】
【００２１】
図面は、本発明の種々の実施形態の設計および可用性を図示する。図は、正確な縮尺で描かれておらず、同様の構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。本発明の種々の実施形態の前述および他の利点ならびに目的を得る方法をより深く理解するために、上記で簡単に説明されたより詳細な説明が、付随の図面に図示されるその特定の実施形態を参照することによって与えられるであろう。これらの図面は、本発明の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされないことを理解した上で、本発明は、付随の図面の使用を通して付加的具体性および詳細とともに記載ならびに説明されるであろう。
【００２２】
【図１】図１は、ニューラルネットワークのための構造学習を実装するために、本発明のいくつかの実施形態において採用され得る、例示的システムを図示する。
【図２】図２は、本発明のいくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのフローチャートを図示する。
【図３】図３は、いくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのより詳細なフローチャートを図示する。
【図４Ａ】図４Ａ−４Ｆは、本発明の種々の実施形態を図示する。
【図４Ｂ】図４Ａ−４Ｆは、本発明の種々の実施形態を図示する。
【図４Ｃ】図４Ａ−４Ｆは、本発明の種々の実施形態を図示する。
【図４Ｄ】図４Ａ−４Ｆは、本発明の種々の実施形態を図示する。
【図４Ｅ】図４Ａ−４Ｆは、本発明の種々の実施形態を図示する。
【図４Ｆ】図４Ａ−４Ｆは、本発明の種々の実施形態を図示する。
【図５Ａ】図５Ａ−５Ｂは、ネットワーク内にあまりに多くの層が存在し得るとき、それを識別するアプローチを図示する。
【図５Ｂ】図５Ａ−５Ｂは、ネットワーク内にあまりに多くの層が存在し得るとき、それを識別するアプローチを図示する。
【図６Ａ】図６Ａ−６Ｄは、種々の実施形態のための一般的ＡＲシステムコンポーネントオプションを図示する。
【図６Ｂ】図６Ａ−６Ｄは、種々の実施形態のための一般的ＡＲシステムコンポーネントオプションを図示する。
【図６Ｃ】図６Ａ−６Ｄは、種々の実施形態のための一般的ＡＲシステムコンポーネントオプションを図示する。
【図６Ｄ】図６Ａ−６Ｄは、種々の実施形態のための一般的ＡＲシステムコンポーネントオプションを図示する。
【図７】図７は、本発明のいくつかの実施形態が実装され得る、コンピュータ化システムを描写する。
【発明を実施するための形態】
【００２３】
本発明のいくつかの実施形態は、ニューラルネットワークのための構造学習を実装する改良されたアプローチを対象とする。本アプローチは、ネットワークから開始し、ネットワークに、ラベル付きデータを有する問題を提供し、次いで、本ネットワークによって作られた出力の構造を精査する。ネットワークのアーキテクチャは、次いで、特定の問題に関するより優れた解を得るように修正される。エキスパートに、高度に複雑かつドメイン特有ネットワークアーキテクチャを提案させるのではなく、本アプローチは、データが、特定のタスクのために使用されるであろうネットワークのアーキテクチャを駆動することを可能にする。
【００２４】
図１は、ニューラルネットワークのための構造学習を実装するために本発明のいくつかの実施形態において使用され得る、例示的システムを図示する。本システムは、コンピューティングシステム１０７または１１５とインターフェースをとり、それを動作させ、システムを制御および／またはそれと相互作用する、１人またはそれを上回るユーザを含んでもよい。本システムは、ニューラルネットワークコンピューティングデバイス１０７またはユーザコンピューティングデバイス１１５を動作させる、それとインターフェースをとる、またはそれを実装するために使用され得る、任意のタイプのコンピューティングステーションを備える。そのようなコンピューティングシステムの実施例は、例えば、サーバ、ワークステーション、パーソナルコンピュータ、またはネットワーク化もしくはクラウドベースのコンピューティングプラットフォームに接続される、遠隔コンピューティング端末を含む。コンピューティングシステムは、ユーザが、マウスまたはキーボード等のシステムのアクティビティにわたる動作制御を提供し、ポインティングオブジェクトを操作するための１つまたはそれを上回る入力デバイスを備えてもよい。コンピューティングシステムはまた、コンピューティングシステムのユーザへの制御インターフェースおよび／または分析結果のために、ディスプレイモニタ等のディスプレイデバイスと関連付けられてもよい。
【００２５】
いくつかの実施形態では、コンピュータビジョン機能性を実装するためのシステムが、採用される。したがって、本システムは、システムが動作する環境内の１つまたはそれを上回るオブジェクト１０５に関する画像データ１０１を捕捉するためのカメラ１０３等の１つまたはそれを上回る画像捕捉デバイスを含んでもよい。画像データ１０１および／または任意の分析結果（例えば、分類出力データ１１３）は、１つまたはそれを上回るコンピュータ可読記憶媒体内に記憶されてもよい。コンピュータ可読記憶媒体は、コンピュータ可読記憶媒体に位置するデータへの容易なアクセスを可能にする、ハードウェアおよび／またはソフトウェアの任意の組み合わせを含む。例えば、コンピュータ可読記憶媒体は、オペレーティングシステムによって動作可能に管理される、コンピュータメモリおよび／またはハードドライブストレージ、ならびに／もしくはネットワーク接続ストレージ（ＮＡＳ）、ストレージエリアネットワーク（ＳＡＮ）、またはクラウドストレージ等のネットワーク化された記憶デバイス内の遠隔ストレージとして実装され得る。コンピュータ可読記憶媒体はまた、永続および／または非永続ストレージ上にストレージを有する、電子データベースシステムとして実装され得る。
【００２６】
ニューラルネットワークコンピューティングデバイス１０７は、構造学習モジュール１０９を含み、オリジナルモデル１を改良されたモデルｎに修正し、モデルｎは、可能性として、モデル内の層を修正するための複数の反復プロセスの結果である。モデルｎは、好ましくは、知識、本質的には、エキスパートの混合内に深度および幅を含む。モデルは、大まかなカテゴリ間の差異を理解し、さらに同時に、種々のドメインを横断した細かい粒度のクラスに関する差異も理解すべきである。新しいスペシャリスト層１１１が、必要に応じて、モデルに追加され、これらの目標を実装する。そのようなシステムの設計は、それらが要求される場所にのみリソースを追加するという制約によって支配される。単に、恣意的に、より深くかつより広くすることによって、ネットワークを拡張させることは、計算制約に起因して、スケーリングをもたらさず、したがって、本アプローチは、余剰正則化トリック（ｅｘｔｒａ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ  ｔｒｉｃｋ）の必要性を回避する。
【００２７】
図２は、本発明のいくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのフローチャートを示す。本アプローチは、ネットワークが解くことを目標とするデータ／問題内の相関を活用することによって、ニューラルネットワークの構造学習を実装する。最下畳み込み層から全接続層までの情報利得のボトルネックを見つける、貪欲アプローチが、説明される。単に、恣意的に、アーキテクチャをより深くするのではなく、付加的計算および容量は、要求される場合のみ追加される。
【００２８】
１３１では、ネットワークが、初期時点で作成される。任意の好適なアプローチが、ネットワークを作成するために使用されることができる。例えば、従来のＡｌｅｘｎｅｔまたはＧｏｏｇｌｅｎｅｔアプローチが、ネットワークを生成するために使用されてもよい。
【００２９】
次に、１３３では、出力のセットが、指定されたタスクに適用され、例えば、画像認識／オブジェクト分類タスクを行うとき、ネットワークから生成される。例えば、ある数の人々および動物が、環境内に存在し、割り当てられるタスクが、画像データを分析し、環境内で観察され得る、異なる人々およびタイプの動物を分類することであると仮定する。モデルの各層は、その層内で行われるアクティビティに関してある出力を提供する。出力は、それに対してある構造を有し、これは、解かれている分類問題内のクラス間の関係を確認するために精査され得る。
【００３０】
１３５では、ネットワークモデル内の種々の層が、分析され、モデル内の最低性能層を識別する。例えば、モデルが１０の層を有し、層１から３および層５から１０の層はそれぞれ、分類正確度に１０％改良を提供するが、層４のみが、１％改良を提供すると仮定する。本状況では、層４は、最低性能層として識別されるであろう。
【００３１】
次に、１３７では、付加的構造が、モデルの性能を改良するためにモデルの中に投入される。特に、新しいスペシャリスト層が、モデルの性能を強化するために、識別された垂直位置においてモデルの中に挿入される。
【００３２】
本発明の実施形態の本側面を説明するために、モデルは、図４Ａに図示されるように、環境内の人々および動物の分類を行うことが意図されると仮定する。ここでは、画像捕捉デバイスは、異なる人々（例えば、女性４０１、男性４０３、および子供４０５）の画像を捕捉する。加えて、環境は、複数の動物（例えば、ネコ４０７、イヌ４０９、およびマウス４１１）を含む。さらに、既存のモデルは、人々（４０１、４０３、４０５）を動物（４０７、４０９、４１１）から正常に区別することが可能であるが、異なる人々を相互から区別する、または異なるタイプの動物を相互から区別することがより困難であると考えられると仮定する。ネットワーク（例えば、Ｏｒａｃｌｅネットワーク）から学習され得る実際の構造を精査する場合、ネットワークが行われている予測間に学習依存性を含むことが明らかである。しかしながら、従来の深層学習アーキテクチャ設計では、これは、利用されない。本構造をさらにより細かく吟味する場合、システムは、実際には、視覚的に相互に類似する学習概念であることが明白である。図４Ｂを参照すると、クラスの３Ｄにおける例示的散布図が、複数のグループにクラスタリングされた完全に訓練されたＡｌｅｘＮｅｔに関する予測の例示的構造を図示するように示される。点間の距離は、概念間の視覚的類似に対応する。ここでは、人々のオブジェクトに関する点の第１の集密クラスタリングと、動物オブジェクトに関する点の第２の集密クラスタリングとが存在することが分かる。本現象は、モデルが１人の人物を別の人物からまたは１匹の動物を別の動物から区別することが可能となることの困難性に寄与し得る。
【００３３】
本発明のいくつかの実施形態における本状況では、単に、１つの汎用経路にこれらのタイプのオブジェクトの全てに関して分類を行わせるのではなく、第１の新しいスペシャリスト層が、人々の分類に対処するためだけに追加されてもよく、第２の新しいスペシャリスト層が、動物の分類に対処するためだけに追加されてもよい。１つのスペシャリスト（人々スペシャリスト層）が、したがって、図４Ｂにおけるチャートの部分４１３に関するデータをハンドリングするために割り当てられるであろう一方、第２のスペシャリスト（動物スペシャリスト層）が、図４Ｂにおける部分４１５に関するデータをハンドリングするために割り当てられるであろう。本アクションを行うことによって、経時的に、これらのスペシャリストコンポーネントはそれぞれ、スペシャリストが、そのスペシャリストコンポーネントに割り当てられた特定のサブドメインについて広範なレベルの詳細を学習するように強制されるため、その専用エリアの専門知識について高度に知識豊富となる。このように、モデルは、ネットワークの他の部分と比較して準最適として具体的に識別された分類のエリアに直接対処するであろう、新しい層を追加することによって改良される。
【００３４】
本同一プロセスは、モデルの残りを通して継続し、修正および／または強化されるべき任意の付加的層を識別する。したがって、１３９において、処理がネットワークの最上位層に到達したかどうか判定される。該当する場合、モデルは、１４１において終了される。該当しない場合、プロセスは、１３３に戻り、ネットワークの最上位層に到達するまで、プロセスを継続する。
【００３５】
本アプローチは、任意の既製の畳み込みニューラルネットワークのアーキテクチャを修正および改良するために行われることができる。本開示の本発明のアプローチに従うことによって、任意のニューラルネットワークは、（ａ）その構造内の情報利得ボトルネックを識別し、（ｂ）予測の構造に適用し、ボトルネックを緩和し、最後に、（ｃ）スペシャリスト経路の深度を判定することによって、改良されることができる。
【００３６】
図３は、いくつかの実施形態による、ニューラルネットワークのための構造学習を実装するアプローチのより詳細なフローチャートを図示する。本フローの目的のために、ネットワーク（例えば、モノリシックネットワーク）が、ＡｌｅｘｎｅｔまたはＧｏｏｇｌｅｎｅｔ等の任意の好適なアプローチに従ってすでに作成されていると仮定する。
【００３７】
１５１では、「損失」機構（例えば、損失層、損失関数、および／またはコスト関数）が、ネットワークの各層に含まれる。損失機構は、イベントまたは値をニューラルネットワーク内の処理と関連付けられたコストまたは誤差値の表現に写像する、機能に対応する。図４Ｃに示されるように、単に、単一の最上位レベル損失層４２１を有する代わりに、付加的損失層４２３が、ネットワーク内の他の層に追加される。したがって、本図は、複数の損失層を特徴抽出の中間および最終段階に伴う、深層ニューラルネットワークの実施例を示し、各損失層は、深度内のその点までのネットワークの性能を測定する。目標は、そのアーキテクチャを修正し、タスクに最良適合させることによって、ネットワークアーキテクチャを強化および修正し、所与の問題を可能な限り最良に解くことであることを思い出されたい。したがって、本アプローチは、ネットワーク全体を通して種々の損失層において形成される予測を分析し、それらの間の混同に基づいて、ニューロン活性化をグループ化する。
【００３８】
図４Ｄおよび４Ｅに図示されるように、予測が、各損失層において生成され、個別の混同行列に変換され（図４Ｄに示されるように）、ネットワーク、例えば、Ｏｒａｃｌｅネットワークのための全ての混同行列を含有するテンソルＴを形成する（図４Ｅに示されるように）。Ｔおよびその要素の構造を分析することによって、深度および幅の両方の観点から、ネットワークの既存の構造を修正および強化することが目標となる。
【００３９】
説明するために、Ｃｉは、クラスの混同行列とすると、損失層ｉは、したがって、以下となる。
【化１】
2020091922.tif 000002
式中、Ａｉは、損失層ｉにおけるアフィニティ行列であって、Ｄｉは、対角行列であって、Ｌｉは、グラフＬａｐｌａｃｉａｎであって、
【化２】
2020091922.tif 000003
は、Ｃｉによって作られたアフィニティ行列のグラフＬａｐｌａｃｉａｎの先頭固有ベクトルによってスパンされたサブ空間である。その結果、テンソルは、以下となる。
【化３】
2020091922.tif 000004
【００４０】
一方で、特徴共有を最大限にし、計算を削減し、さらに他方で、正確度を増加させるために、既存のネットワークの構造を再構築することが目標となる。そのために、本アプローチは、その現在の性能に従って、ネットワークの深度ならびに幅をパーティショニングする。
【００４１】
したがって、１５３では、垂直分割が、例えば、異なる層間のドット積を計算することによって行われる。アーキテクチャを深度においてパーティショニングするために、いくつかの実施形態は、以下の方程式を使用して、近傍層における連続損失関数評価に対応する、近傍サブ空間を比較する。
【化４】
2020091922.tif 000005
【００４２】
ここでは、
【化５】
2020091922.tif 000006
および
【化６】
2020091922.tif 000007
は、レベルｉおよびｉ＋１における損失関数に関する混同行列の近似先頭固有ベクトルを示し、
【化７】
2020091922.tif 000008
は、Ｆｒｏｂｅｎｉｕｓノルムを示す。形式上、
【化８】
2020091922.tif 000009
および
【化９】
2020091922.tif 000010
は、ＮＥ−次元サブ空間を表し、Φ（ｉ，ｉ＋１）は、それらの間の正規化された補完角度である。本測定値Φは、
【化１０】
2020091922.tif 000011
および
【化１１】
2020091922.tif 000012
の列によってスパンされるサブ空間のみに依存し、したがって、固有ベクトルの回転に対して不変であることに留意することが重要である。また、Φは、［０，１］内に制約され、レベルｉおよびｉ＋１は、Φ（ｉ，ｉ＋１）がゼロに近い場合、構造において類似すると見なされ、Φ（ｉ，ｉ＋１）が直交するとき、正確に１である。完全な類似関係をスケール空間のレベル間に構築するために、全ての近傍損失層対が、Φを使用して比較される。確立された類似関係を用いることで、ここで、モノリシックネットワークアーキテクチャをパーティショニングする問題に対処することが可能となる。
【００４３】
Φが、全てのｉおよびｉ＋１のシーケンシャル対のベクトルであって、φｉ＝Φ（ｉ、ｉ＋１）であるとする。ゼロに最も近いφｉの値は、層ｉとｉ＋１との間の最低情報利得を示す。したがって、ａｒｇｍｉｎ（φ）は、モノリシックアーキテクチャの最適初期分割である。アーキテクチャを深度において分割することは、特徴共有を促進する一方、冗長点（ゼロ情報利得）を識別する。
【００４４】
１５５では、水平分割が、例えば、Ｋ分割法を行うことによって行われる。特定の層におけるネットワークの性能を改良するために、その構造（例えば、全畳み込み）は、強化を要求し得る。ネットワークの一部は、一般的知識に焦点を当てる一方（ジェネラリスト）、その他は、相互間に高い類似を有するラベルの小サブセットに集中する（スペシャリスト）。層ｉによって達成される知識は、ネットワークの第１の水平パーティショニングを行うために使用されるであろう。
【００４５】
形式上、Ｃｉを前提として、上記に開示されるような方程式（１）、（２）、および（３）に従って、Ｌｉを計算する。固有ギャップが、グラフＬａｐｌａｃｉａｎ  Ｌｉの先頭固有値を分析し、新しい経路（スペシャリスト）の数を判定することによって判定される。オリジナルデータが、Ｌｉの最上位Ｎ先頭固有ベクトル上に投影され、ＲＮでは、データはさらに、ｋ個のクラスにクラスタリングされ、ｋは、固有ギャップと等しい。そのような投影およびグループ化の実施例は、図４Ｂに図示される。本プロシージャは、第１の分割後のネットワーク４０７を図示する、図４Ｆに示されるように、アーキテクチャの修正につながるであろう。
【００４６】
いったん第１の分割が確立されると、全ての新しい経路が、オリジナルネットワークとして取り扱われる。分割プロシージャは、分割のためのさらなるラベルがなくなる、または１００％正確度が達成されるまで適用される。
【００４７】
１５７では、前述の処理は、ネットワークの最上位層に到達するまで継続する（例えば、再帰様式において）。本時点で、最終モデルが、コンピュータ可読媒体の中に記憶される。
【００４８】
本開示の本部分は、スペシャリストの深層学習に関する。ジェネラリストの構造は、一般的知識には良好に性能を発揮することが公知であるが、本同一構造がスペシャリストでも良好に性能を発揮するであろうことは、保証されておらず、スペシャリストのタスクは、より単純または複雑な表現を要求し得る。いくつかの実施形態は、各スペシャリストの構造が、データ駆動様式において、深度方向分割を介して、ジェネラリストの構造から逸脱することを可能にする。
【００４９】
Ｌ＝｛Ｌ１，Ｌ２，…．，Ｌｎ｝が、さらなる分割のために検討される全接続層のセットであるとする。出力ｙを作る、Ｌ内の層Ｌｉを検討する。その入力に、ｙ＝σ（ｆ（ｘ））（但し、σ（）は、ＲｅＬＵ等の非線形性に適用され、ｆ（ｘ）＝Ｗｘ（Ｗは、次元Ｍ×Ｎの学習された加重行列であって、ｘは、次元Ｎ×１を有する本層への入力である）である）として適用される、変換を書き込むことができる。分割を行うために、本アプローチは、Ｌｉの変換をｙ＝σ１（ｇ（σ２（ｈ（ｘ）））（但し、σ１（）およびσ２（）は、活性化関数であり、ｇ（ｘ）＝Ｗ１ｘおよびｈ（ｘ）＝Ｗ２ｘ（Ｗ１は、次元Ｎ×Ｎを有し、Ｗ２は、次元Ｍ×Ｎを有する）に分解する。本アプローチは、以下を選定する。
【化１２】
2020091922.tif 000013
【００５０】
ここでは、Ｗ＝ＵΣＶＴは、ＷのＳＶＤ因数分解であって、Ｉは、単位行列である。本変化を用いることで、層Ｌｉの変換は、不変である。Ｌｉの学習された表現の複雑性を増加させるために、σ２をＲｅＬＵ等の非線形活性化関数として設定し得る。しかしながら、本非線形性の追加は、Ｌｉの学習された表現に急激な変化を生じさせ、ネットワークにその学習の多くを始めから再開させ得る。代わりに、ＰＲｅＬＵ非線形性を挿入し、その単一パラメータａを１であるように初期化することができ、これは、方程式８におけるＩと同等である。これは、スペシャリストに新しい非線形性を本層に導入するための平滑機構を提供する。
【００５１】
層Ｌのセットを前提として、前述の方略を各層Ｌｉに独立して適用し、分割を貪欲に選定することができ、これは、訓練損失に関する最良の改良を提供する。本プロセスは、層Ｌｎｅｗ＝｛Ｌ１，Ｌ２，…．，Ｌｎ，Ｌｎ＋１｝のセットに再帰的に繰り返されることができる。
【００５２】
これらの技法の付加的変形例が、代替実施形態において適用されてもよい。例えば、分割対（垂直または水平）毎に、ネットワークは、再訓練され、所与の経路における分類を得ることができる。ある実施形態では、凝集型クラスタリングおよび／または分割等によって、これを加速するための、および／またはそれを完全に回避するための技法が、適用されることができる。さらに、混同行列ＣｉおよびそのパーティショニングＫを前提として、凝集型クラスタリングが、ＣｉのＫ部分のそれぞれに行われ、さらなる分割を推定してもよい。これは、コストＸｕにつながる。コストＸｓは、教師ありグループ化のコストであって、高レベルのネットワークにおいて新しい混同行列を学習する。Ｘｕは、Ｘｓ＋Ｔａｕ未満またはそれと等しく、Ｔａｕは、クラスタリング誤差の上界である。
【００５３】
いくつかの実施形態では、変形例が、畳み込み層対全接続（１×１畳み込み）に関して考慮される。分割が、畳み込み層間で要求される場合（意味論セグメント化の場合等の全畳み込み層でさえ）、層の線形サイズ（この場合、ｆｃ）を変化させる代わりに、次元の深度が、変化され、クラスの数（これは、ＦＣＮの拡張である）を反映してもよい。
【００５４】
さらなる変形例および実施形態が、経路あたりの垂直層の縮約または追加、ラベル空間の関数として層のサイズ変化、および／または検出ならびにＲＮＮ（混同を比較することによって同一方法で展開する）の拡張を使用して作られてもよい。
【００５５】
さらに別の実施形態では、より少ない層が要求される処理タスクのために適正となるであろうように、あまりに多くの層がネットワーク内に存在し得るとき、それを識別するための技法が、適用されてもよい。前述のように、確実に、深度をネットワークに追加し、十分な訓練データを前提として、性能の改良を認めることができる。しかしながら、本追加された性能上昇は、ＦＬＯＰおよびメモリ消費の観点から代償が伴い得る。いくつかの実施形態では、ネットワークは、ネットワーク内の所与の計算層がバイナリ決定を介して使用されるかどうかを学習する、オール・オア・ナッシングハイウェイネットワークの使用を考慮して、本トレードオフを用いて最適化される。所与の計算ブロックが使用される場合、ペナルティを被る。本ペナルティ項を変動させることによって、標的アーキテクチャを考慮して、学習プロセスをカスタマイズすることができる。すなわち、内蔵システムは、クラウドベースのシステムよりはるかに無駄のないアーキテクチャを好むであろう。
【００５６】
本実施形態によって対処される問題は、所与の問題Ｘに関して計算予算が与えられるべきネットワークの深度を判定することである。オール・オア・ナッシングハイウェイネットワークを使用するアプローチを用いることで、ハイウェイネットワークは、混合行列を導入し、現在の計算ブロックの出力と混合する前に、前の層からのスキップ接続が変換されるべき方法を学習する。以下の方程式を検討する。
【化１３】
2020091922.tif 000014
【００５７】
残りのネットワークは、恒等写像を使用して、スキップ接続を組み合わせることに成功し得る。恒等写像は、あまり代表的ではないが、最適化するためにより効率的かつより容易である。
【化１４】
2020091922.tif 000015
【００５８】
現在のアプローチは、代わりに、計算ブロックの出力をゲートする単一スカラーαによって、混合行列をパラメトライズする（図５Ａ参照）。
【化１５】
2020091922.tif 000016
【００５９】
α＝０であるとき、ｙ＝ｘおよび入力は、単に、出力に回される。α＝１であるとき、（方程式１２）は、（方程式１０）となり、残りの単位は、計算のために使用される。
【００６０】
図５Ａは、オール・オア・ナッシングハイウェイ接続を伴うネットワークのためのチャート５０１を図示する。本図では、計算ブロックが、入力にフィードされ、後に、残りの接続（要素毎追加）を介して結び付けられる。追加前に、計算ブロックの出力は、学習されたパラメータαによってスケーリングされ、これは、本計算ブロックの使用にペナルティを課す。本損失は、以下に説明される。
【００６１】
学習が、計算ブロックを使用するかどうかを判定するために行われる。事前に、深層ネットワーク内の所与の層の挙動を制御する、αパラメータを課し、本パラメータをモデルパラメータおよびその目的関数とともに最適化することが望ましい。訓練の間、αが深度毎に独立して０または１のいずれかを選定するバイナリ決定を促すことが望ましい。計算ブロックが、スキップされるべきであると学習される場合、単に、推論時にその計算ブロックをモデルから除去することができる。
【００６２】
残りのネットワークでは、連続層は、一般に、小さな写像を有し、学習された残りの関数は、一般に、小さな応答を有し、恒等写像が合理的な事前条件付けを提供することを示唆する。これは、（方程式１０）における恒等写像と恒等層との間およびその逆の遷移が、壊滅的変化を目的関数に生じさせるべきではないことを示唆する。したがって、本アプローチは、区分的平滑損失関数をαパラメータに導入し、これは、種々の深度における計算ブロックの出力をゲートする。
【００６３】
加えて、異なるシナリオに関して、より高いペナルティがより多くの計算を使用するモデルに割り当てられるように、αパラメータに関する損失関数をパラメトライズすることが望ましい。スマートフォン等の軽量の内蔵プラットフォームの場合、層を選定するために高ペナルティが所望され得る。クラウドコンピューティングプラットフォームの場合、計算ブロックを使用するためのそのようなペナルティは、所望され得ない。これらの基準を前提として、図５Ｂに示される区分的平滑多項式／線形関数を使用することができ、これは、以下によってパラメトライズされることができる。
【化１６】
2020091922.tif 000017
【００６４】
図５Ｂに示されるピークの種々の選択に関して、種々の使用ペナルティが、モデルに与えられる。
（拡張現実およびコンピューティングシステムアーキテクチャ）
【００６５】
前述の技法は、特に、仮想現実および拡張現実システムのためのマシンビジョン用途に適用可能である。本発明のニューラルネットワーク分類デバイスは、ＡＲシステムから独立して実装されてもよいが、以下の多くの実施形態は、例証目的のためだけにＡＲシステムに関連して説明される。
【００６６】
開示されるのは、種々のコンピュータシステムのための分類および認識のためのデバイス、方法、およびシステムである。一実施形態では、コンピュータシステムは、種々の他のコンピュータシステム（例えば、金融コンピュータシステム）とのユーザ相互作用を促進するように構成される、頭部搭載型システムであってもよい。他の実施形態では、コンピュータシステムは、ユーザの金融取引を促進するように構成される据え付けのデバイス（例えば、商業用端末またはＡＴＭ）であってもよい。種々の実施形態が、ＡＲシステム（例えば、頭部搭載型）の文脈において以下に説明されるであろうが、本明細書に開示される実施形態は、任意の既存および／または公知のＡＲシステムから独立して使用されてもよいことを理解されたい。
【００６７】
ここで図６Ａ−６Ｄを参照すると、種々の実施形態による、いくつかの一般的ＡＲシステムコンポーネントオプションが、図示される。図６Ａ−６Ｄの実施形態は、頭部搭載型ディスプレイを図示するが、同一コンポーネントは、据え付けのコンピュータシステム内にも同様に組み込まれてもよく、図６Ａ−６Ｄは、限定として見なされるべきではないことを理解されたい。
【００６８】
図６Ａに示されるように、頭部搭載型デバイスユーザ６０は、ユーザ６０の眼の正面に位置付けられるディスプレイシステム６２に結合されるフレーム６４構造を装着して描写される。フレーム６４は、セキュリティの要求されるレベルに応じて、１つまたはそれを上回るユーザ識別特有サブシステムに恒久的または一時的に結合されてもよい。スピーカ６６が、描写される構成においてフレーム６４に結合され、ユーザ６０の外耳道に隣接して位置付けられてもよい。代替実施形態では、別のスピーカ（図示せず）が、ユーザ６０の他方の外耳道に隣接して位置付けられ、ステレオ／成形可能音制御を提供する。１つまたはそれを上回る実施形態では、ユーザ識別デバイスは、フレーム６４に固定して取り付けられる、図６Ｂに描写される実施形態に示されるように、ヘルメットまたは帽子８０に固定して取り付けられる、ヘッドホン内に埋設される、図６Ｃの実施形態に示されるように、リュック式構成においてユーザ６０の胴体８２に除去可能に取り付けられる、または図６Ｄの実施形態に示されるように、ベルト結合式構成においてユーザ６０の臀部８４に除去可能に取り付けられる等、種々の構成において搭載され得る、有線導線または無線コネクティビティ等によって、ローカル処理およびデータモジュール７０に動作可能に結合される、ディスプレイ６２を有してもよい。
【００６９】
ローカル処理およびデータモジュール７０は、電力効率的プロセッサまたはコントローラと、フラッシュメモリ等のデジタルメモリとを備えてもよく、両方とも、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。データは、画像捕捉デバイス（カメラ等）、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープ等のフレーム６４に動作可能に結合され得る、センサから捕捉されてもよい。代替として、または加えて、データは、可能性として、処理もしくは読み出し後、ディスプレイ６２への通過のために、遠隔処理モジュール７２および／または遠隔データリポジトリ７４を使用して、取得ならびに／もしくは処理されてもよい。ローカル処理およびデータモジュール７０は、これらの遠隔モジュール７２、７４が、相互に動作可能に結合され、ローカル処理およびデータモジュール７０へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、遠隔処理モジュール７２および遠隔データリポジトリ７４に動作可能に結合７６、７８されてもよい。
【００７０】
一実施形態では、遠隔処理モジュール７２は、データおよび／または画像情報を分析ならびに処理するように構成される、１つもしくはそれを上回る比較的にパワフルなプロセッサまたはコントローラを備えてもよい。一実施形態では、遠隔データリポジトリ７４は、インターネットまたは「クラウド」リソース構成内の他のネットワーキング構成を通して利用可能であり得る、比較的に大規模なデジタルデータ記憶設備を備えてもよい。一実施形態では、全てのデータが、ローカル処理およびデータモジュール内に記憶され、全ての計算が、そこで行われ、任意の遠隔モジュールからの完全に自律的な使用を可能にする。
【００７１】
いくつかの実施形態では、図６Ａ−６Ｄに説明されるものに類似する識別デバイス（または識別用途を有するＡＲシステム）が、ユーザの眼への一意のアクセスを提供する。識別／ＡＲデバイスが、ユーザが３−Ｄ仮想コンテンツを知覚することを可能にするために、ユーザの眼と重要な相互作用を果たし、多くの実施形態では、ユーザの眼に関連する種々のバイオメトリック（例えば、虹彩パターン、輻輳・開散運動、眼の運動、桿体細胞および錐体細胞のパターン、眼の移動のパターン等）を追跡することを前提として、得られた追跡データは、有利には、識別用途において使用されてもよい。したがって、ユーザの眼へのこの先例のないアクセスは、必然的に、種々の識別用途にふさわしいものとなる。
【００７２】
図７は、本発明の実施形態を実装するために好適な例証的コンピューティングシステム１４００のブロック図である。コンピュータシステム１４００は、プロセッサ１４０７、システムメモリ１４０８（例えば、ＲＡＭ）、静的記憶デバイス１４０９（例えば、ＲＯＭ）、ディスクドライブ１４１０（例えば、磁気または光学）、通信インターフェース１４１４（例えば、モデムまたはＥｔｈｅｒｎｅｔ（登録商標）カード）、ディスプレイ１４１１（例えば、ＣＲＴまたはＬＣＤ）、入力デバイス１４１２（例えば、キーボード）、およびカーソル制御等のサブシステムおよびデバイスを相互接続する、情報を通信するためのバス１４０６または他の通信機構を含む。
【００７３】
本発明の一実施形態によると、コンピュータシステム１４００は、プロセッサ１４０７がシステムメモリ１４０８内に含有される１つまたはそれを上回る命令の１つまたはそれを上回るシーケンスを実行することによって、特定の動作を行う。そのような命令は、システムメモリ１４０８の中に、静的記憶デバイス１４０９またはディスクドライブ１４１０等の別のコンピュータ可読／使用可能媒体から読み込まれてもよい。代替実施形態では、有線回路が、代わりに、またはソフトウェア命令と組み合わせて、本発明を実装するために使用されてもよい。したがって、本発明の実施形態は、ハードウェア回路および／またはソフトウェアの任意の特定の組み合わせに限定されない。一実施形態では、用語「論理」は、本発明の全部または一部を実装するために使用される、ソフトウェアまたはハードウェアの任意の組み合わせを意味するものとする。
【００７４】
用語「コンピュータ可読媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、プロセッサ１４０７に実行のための命令を提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、ディスクドライブ１４１０等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ１４０８等の動的メモリを含む。
【００７５】
一般的形態のコンピュータ可読媒体は、例えば、フロッピー（登録商標）ディスク、可撓性ディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュ−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、またはコンピュータが読み取ることができる任意の他の媒体を含む。
【００７６】
本発明のある実施形態では、本発明を実践するための命令のシーケンスの実行は、単一コンピュータシステム１４００によって行われる。本発明の他の実施形態によると、通信リンク１４１５（例えば、ＬＡＮ、ＰＴＳＮ、または無線ネットワーク）によって結合される、２つまたはそれを上回るコンピュータシステム１４００が、相互に協調して、本発明を実践するために要求される命令のシーケンスを行ってもよい。
【００７７】
コンピュータシステム１４００は、通信リンク１４１５および通信インターフェース１４１４を通して、プログラム、例えば、アプリケーションコードを含む、メッセージ、データ、および命令を伝送および受信してもよい。受信されたプログラムコードは、受信されたときにプロセッサ１４０７によって実行される、および／または後の実行のために、ディスクドライブ１４１０または他の不揮発性ストレージ内に記憶されてもよい。コンピュータシステム１４００は、データインターフェース１４３３を通して、外部記憶デバイス１４３１上のデータベース１４３２と通信してもよい。
【００７８】
前述の明細書では、本発明が、その特定の実施形態を参照して説明された。しかしながら、種々の修正および変更が、本発明のより広義の精神ならびに範囲から逸脱することなく、本明細書に成され得ることは、明白となるであろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本発明の範囲または動作に影響を及ぼさずに変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。
【図１】
2020091922.tif 000018
【図２】
2020091922.tif 000019
【図３】
2020091922.tif 000020
【図４Ａ】
2020091922.tif 000021
【図４Ｂ】
2020091922.tif 000022
【図４Ｃ】
2020091922.tif 000023
【図４Ｄ】
2020091922.tif 000024
【図４Ｅ】
2020091922.tif 000025
【図４Ｆ】
2020091922.tif 000026
【図５Ａ】
2020091922.tif 000027
【図５Ｂ】
2020091922.tif 000028
【図６Ａ】
2020091922.tif 000029
【図６Ｂ】
2020091922.tif 000030
【図６Ｃ】
2020091922.tif 000031
【図６Ｄ】
2020091922.tif 000032
【図７】
2020091922.tif 000033
【外国語明細書】
2020091922000001.pdf