(57)【要約】入力を分類するための装置は、分類器と特徴抽出器とを含む。特徴抽出器は、入力に基づいて特徴ベクトルを生成するように構成される。特徴ベクトルはまた、スパースな特徴ベクトルを生み出すために、特徴ベクトルのいくつかの要素をゼロに設定するように構成される。スパースな特徴ベクトルは、特徴抽出器によって生成された特徴ベクトルと同じ次元を有する。しかしながら、スパースな特徴ベクトルは、特徴抽出器によって生成された特徴ベクトルより少ない非ゼロ要素を含む。特徴ベクトルは、入力を分類するために、スパースな特徴ベクトルを分類器に送るようにさらに構成される。
2018527677.tif 000002
【特許請求の範囲】
【請求項１】
入力を分類するための装置であって、
分類器と、
特徴抽出器と、を備え、
前記特徴抽出器は、
前記入力から特徴ベクトルを生成することと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを前記分類器に送ることと、
を行うように構成される、装置。
【請求項２】
前記特徴抽出器は、パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定するようにさらに構成される、請求項１に記載の装置。
【請求項３】
前記特徴抽出器は、前記パフォーマンス測定基準をオンデバイスで計算するようにさらに構成される、請求項２に記載の装置。
【請求項４】
前記特徴抽出器は、前記パフォーマンス測定基準をオフデバイスで計算するようにさらに構成される、請求項２に記載の装置。
【請求項５】
前記特徴抽出器は、保持するための前記特徴ベクトルの前記要素の数を決定するように訓練される、請求項１に記載の装置。
【請求項６】
前記特徴抽出器は、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して訓練される、請求項５に記載の装置。
【請求項７】
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、請求項６に記載の装置。
【請求項８】
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を２値化するようにさらに構成される、請求項１に記載の装置。
【請求項９】
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を量子化するようにさらに構成される、請求項１に記載の装置。
【請求項１０】
入力を分類するための方法であって、
前記入力から特徴ベクトルを生成することと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送ることと、
を備える、方法。
【請求項１１】
パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定することをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記パフォーマンス測定基準をオンデバイスで計算することをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記パフォーマンス測定基準をオフデバイスで計算することをさらに備える、請求項１１に記載の方法。
【請求項１４】
保持するための前記特徴ベクトルの前記要素の数を決定することをさらに備える、請求項１０に記載の方法。
【請求項１５】
前記決定することは、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して特徴抽出器を訓練することを備える、請求項１４に記載の方法。
【請求項１６】
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、請求項１５に記載の方法。
【請求項１７】
前記スパースな特徴ベクトルの要素を２値化することをさらに備える、請求項１０に記載の方法。
【請求項１８】
前記スパースな特徴ベクトルの要素を量子化することをさらに備える、請求項１０に記載の方法。
【請求項１９】
入力を分類するための装置であって、
前記入力から特徴ベクトルを生成するための手段と、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定するための手段と、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るための手段と、
を備える、装置。
【請求項２０】
その上に符号化された、入力を分類するためのプログラムコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記プログラムコードは、プロセッサによって実行され、
前記入力から特徴ベクトルを生成するためのプログラムコードと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定するためのプログラムコードと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るためのプログラムコードと、
を備える、非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
[0001]  本出願は、「ENFORCED SPARSITY FOR CLASSIFICATION」と題され２０１５年９月２日に出願された米国特許仮出願第６２／２１３，５９１号の利益を主張し、それの開示は、参照によって全体がここに明示的に組み込まれる。
［技術分野］
[0002]  本開示のある特定の態様は、一般に、機械学習に関し、より具体的には、特徴抽出および分類のシステムおよび方法を改善することに関する。
【背景技術】
【０００２】
[0003]  人工ニューラルネットワークは、（ニューロンモデル等の）人工ニューロンの相互結合されたグループを備え得るものであって、計算デバイスであるか、または計算デバイスによって実施される方法を表す（represent）。
【０００３】
[0004]  畳み込みニューラルネットワークは、フィードフォワード人工ニューラルネットワーク（feed-forward artificial neural network）の１つのタイプである。畳み込みニューラルネットワークは、各々が受容野（receptive field）を有し、かつ入力空間を集合的にタイリングする（tile）ニューロンの集合体を含み得る。畳み込みニューラルネットワーク（ＣＮＮ:Convolutional neural network）の用途は非常に幅広い。特に、ＣＮＮは、パターン認識および分類の分野で広く使用されてきた。
【０００４】
[0005]  深層信念ネットワークおよび深層畳み込みネットワーク等の深層学習アーキテクチャは、層状（layered）のニューラルネットワークアーキテクチャであり、そこでは第１の層のニューロンの出力が第２の層のニューロンへの入力となり、第２の層のニューロンの出力が第３の層のニューロンとなり、および入力し、以降同様に続く。深層ニューラルネットワークは、特徴の階層を認識するように訓練され得、よって、それらはオブジェクト認識アプリケーションで使用されることが次第に多くなってきている。畳み込みニューラルネットワークのように、これらの深層学習アーキテクチャにおける計算は、処理ノードの集団（population）にわたって分散（distributed）され得、それは１つまたは複数の計算チェーンで構成され得る。これらの多層アーキテクチャは、一度に１層が訓練され得、逆伝播（back propagation）を使用して微調整（fine-tuned）され得る。
【０００５】
[0006]  他のモデルもまたオブジェクト認識のために利用可能である。例えば、サポートベクトルマシン（ＳＶＭ）は、分類のために適用されることができる学習ツールである。サポートベクトルマシンは、データをカテゴライズする分離超平面（a separating hyperplane）（例えば、決定境界）を含む。超平面は、教師あり学習（supervised learning）によって定義される。所望の超平面は、訓練データのマージンを増加させる。言い換えれば、超平面は、最大の、訓練例への最小距離（the greatest minimum distance to the training examples）を有するべきである。
【０００６】
[0007]  これらの解決策は、いくつかの分類ベンチマークに対して優れた結果を出すが、それらの計算複雑性は極端に高い可能性がある。さらに、モデルの訓練は、難しいものであり得る。
【発明の概要】
【０００７】
[0008]  本開示の一態様では、入力を分類するための装置が開示される。装置は、分類器および特徴抽出器を含む。特徴抽出器は、入力から特徴ベクトルを生成するように構成される。特徴ベクトルはまた、スパースな特徴ベクトル（sparse feature vector）を生み出すために、特徴ベクトルのいくつかの要素をゼロに設定するように構成される。スパースな特徴ベクトルは、特徴抽出器によって生成された特徴ベクトルと同じ次元を有する。スパースな特徴ベクトルは、特徴抽出器によって生成された特徴ベクトルより少ない非ゼロ要素（fewer non-zero elements）を含む。特徴ベクトルは、入力を分類するために、スパースな特徴ベクトルを分類器に送る（forward）ようにさらに構成される。
【０００８】
[0009]  本開示の別の態様では、入力を分類するための方法が開示される。方法は、入力から特徴ベクトルを生成することを含む。方法はまた、スパースな特徴ベクトルを生み出すために、特徴ベクトルのいくつかの要素をゼロに設定することを含む。スパースな特徴ベクトルは、生成された特徴ベクトルと同じ次元を有する。スパースな特徴ベクトルはまた、生成された特徴ベクトルより少ない非ゼロ要素を含む。方法は、入力を分類するために、スパースな特徴ベクトルを分類器に送ることをさらに含む。
【０００９】
[0010]  本開示のさらに別の態様では、入力を分類するための装置が開示される。装置は、入力から特徴ベクトルを生成するための手段を含む。装置はまた、スパースな特徴ベクトルを生み出すために、特徴ベクトルのいくつかの要素をゼロに設定するための手段を含む。スパースな特徴ベクトルは、生成された特徴ベクトルと同じ次元を有する。スパースな特徴ベクトルはまた、生成された特徴ベクトルより少ない非ゼロ要素を含む。装置は、入力を分類するために、スパースな特徴ベクトルを分類器に送るための手段をさらに含む。
【００１０】
[0011]  本開示のさらに別の態様では、非一時的なコンピュータ読み取り可能な媒体が提示される。非一時的なコンピュータ読み取り可能な媒体は、その上に符号化された、分類するためのプログラムコードを有する。プログラムコードは、プロセッサによって実行され、入力から特徴ベクトルを生成するためのプログラムコードを含む。プログラムコードはまた、スパースな特徴ベクトルを生み出すために、特徴ベクトルのいくつかの要素をゼロに設定するためのプログラムコードを含む。スパースな特徴ベクトルは、生成された特徴ベクトルと同じ次元を有する。スパースな特徴ベクトルはまた、生成された特徴ベクトルより少ない非ゼロ要素を含む。プログラムコードは、入力を分類するために、スパースな特徴ベクトルを分類器に送るためのプログラムコードをさらに含む。
【００１１】
[0012]  本開示の追加的な特徴および利点が、以下に説明される。本開示と同じ目的を実行するために他の構造を修正または設計するための基礎として本開示が容易に利用され得ることは、当業者によって認識されるはずである。そのような同等の構造が添付の特許請求の範囲に記載された本開示の教示から逸脱しないことも、当業者によって十分理解されるはずである。本開示の特性と考えられる新規の特徴は、それの構造および動作方法の両方について、さらなる目的および利点と共に、添付の図面に関連して考えられたときに以下の説明からより良く理解されることになる。しかしながら、それら図の各々は、例示および説明のためのみに提供されており、本開示の限定の定義として意図されてはいないことは明確に理解されるべきである。
【図面の簡単な説明】
【００１２】
[0013]  本開示の特徴、性質、および利点は、同様の参照文字が全体を通じた対応を特定する図面と合わせられるとき、以下に記載される詳細な説明からより明らかになるだろう。
【図１】[0014]  図１は、本開示のある特定の態様による、汎用プロセッサを含むシステムオンチップ（ＳＯＣ）を使用してニューラルネットワークを設計することの例示的なインプリメンテーションを例示する。
【図２】[0015]  図２は、本開示の態様によるシステムの例示的なインプリメンテーションを例示する。
【図３Ａ】[0016]  図３Ａは、本開示の態様によるニューラルネットワークを例示する図である。
【図３Ｂ】[0017]  図３Ｂは、本開示の態様による例示的な深層畳み込みネットワーク（ＤＣＮ）を例示するブロック図である。
【図４】[0018]  図４は、本開示の態様による、人工知能（ＡＩ）機能をモジュール化し得る例示的なソフトウェアアーキテクチャを例示するブロック図である。
【図５】[0019]  図５は、本開示の態様による、スマートフォン上でのＡＩアプリケーションの実行時動作（run-time operation）を例示するブロック図である。
【図６】[0020]  図６は、本開示の態様による特徴抽出器を含む例示的な機械学習モデルを例示するブロック図である。
【図７】[0021]  図７は、本開示の態様による特徴抽出および入力分類のための方法を例示する。
【詳細な説明】
【００１３】
[0022]  添付図面に関連して以下に記載される詳細な説明は、様々な構成の説明として意図されており、ここに説明される概念が実施され得るのはこれらの構成においてのみであることを表すようには意図されていない。詳細な説明は、様々な概念の徹底した理解を提供することを目的として特定の詳細を含む。しかしながら、これらの概念がこれらの特定の詳細なしに実施され得ることは、当業者に明らかであろう。いくつかの事例では、そのような概念をあいまいにすることを避けるために、周知の構造およびコンポーネントはブロック図の形式で示される。
【００１４】
[0023]  本教示に基づいて、当業者は、本開示の任意の他の態様から独立してインプリメントされようが本開示の任意の他の態様と組み合わせてインプリメントされようが、本開示の範囲は、本開示のいかなる態様もカバーするように意図されていることを認識するはずである。例えば、記載されたいくつの態様を使用しても、装置はインプリメントされ得る、または方法は実行され得る。加えて、本開示の範囲は、記載された本開示の様々な態様に加えて、またはそれら以外の、他の構造、機能性、または構造および機能性を使用して実施される、そのような方法または装置をカバーするように意図される。開示される本開示のいずれの態様も、特許請求の範囲の１つまたは複数の要素によって具現化され得ることは理解されるべきである。
【００１５】
[0024]  「例示的な（exemplary）」という用語は、ここで「例、事例、または例示としての役割を果たす」という意味で使用される。「例示的」であるとここで説明されたいずれの態様も、必ずしも、他の態様よりも好ましいまたは有利であると解釈されるべきではない。
【００１６】
[0025]  特定の態様がここに説明されるが、これらの態様の多くの変形および置換が、本開示の範囲に含まれる。好ましい態様のいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、用途、または目的に限定されるようには意図されない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワークおよびプロトコルに広く適用可能なように意図されており、それらのいくつかは、好ましい態様の以下の説明に、および図に、例として例示される。詳細な説明および図面は、本開示を限定するものではなくそれを単に例示するものであり、本開示の範囲は、添付の特許請求の範囲およびそれらの同等物によって定義される。
【００１７】
分類のための強制的なスパース性（Enforced Sparsity）
[0026]  分類タスクでは、特徴抽出器を介した特徴ベクトル出力は、しばしば密（dense）（例えば、多くの非ゼロ要素を含む）であり得る。そのような密な特徴ベクトルを有することは、メモリ要件および分類器のレイテンシに悪影響を及ぼし得る。さらに、小さな、非ゼロの特徴値を有する、多数の特徴ベクトル要素を有することは、ノイズの多い特徴ベクトル（noisy feature vector）を表し得、するとそれは分類の正確さを低下させ得る。
【００１８】
[0027]  本開示の態様は、改善された特徴抽出および分類の正確さを対象とする。本開示では、所与の特徴ベクトルの上位のＫ個のまたはＫ％の特徴値または要素のみが保持されるように、強制的なスパース性（ＥＳ：enforced sparsity）処理が用いられる。他の値は、ゼロ（０）に設定され、それにより所与の特徴ベクトルより少ない非ゼロ値を有するスパースな特徴ベクトルを生み出し得る。しかしながら、特徴ベクトルの次元（例えば、特徴ベクトルにおける要素の数）は、維持され得る。特徴ベクトルのスパース性を増加させることにより、例えば、再訓練するための特徴を記憶するために使用されるメモリはより少なくなり得る。さらに、より高いスパース性はまた、分類器のパフォーマンス（例えば、分類の速度および正確さ）を改善し得る。
【００１９】
[0028]  図１は、本開示のある特定の態様による、汎用プロセッサ（ＣＰＵ）またはマルチコア汎用プロセッサ（ＣＰＵ）１０２を含み得るシステムオンチップ（ＳＯＣ）１００を使用した、前述の強制的なスパース性および特徴抽出の例示的なインプリメンテーションを例示する。変数（例えば、ニューラル信号およびシナプス荷重）、（重みを有するニューラルネットワーク等の）計算デバイスに関連するシステムパラメータ、遅延、周波数ビン情報、およびタスク情報は、ニューラル処理ユニット（ＮＰＵ）１０８に関連するメモリブロックに記憶され得るか、ＣＰＵ１０２に関連するメモリブロックに記憶され得るか、グラフィックスプロセシングユニット（ＧＰＵ）１０４に関連するメモリブロックに記憶され得るか、デジタルシグナルプロセッサ（ＤＳＰ）１０６に関連するメモリブロックに記憶され得るか、専用のメモリブロック１１８に記憶され得るか、または複数のブロックにわたって分散され得る。汎用プロセッサ１０２において実行される命令は、ＣＰＵ１０２に関連するプログラムメモリからロードされ得るか、または専用のメモリブロック１１８からロードされ得る。
【００２０】
[0029]  ＳＯＣ１００はまた、ＧＰＵ１０４や、ＤＳＰ１０６や、第４世代ロングタームエボリューション（４Ｇ  ＬＴＥ（登録商標））接続性、アンライセンスＷｉ−Ｆｉ接続性、ＵＳＢ接続性、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続性等を含み得る接続性ブロック１１０や、例えば、ジェスチャーを検出および認識し得るマルチメディアプロセッサ１１２等の特定の機能に適合（tailored to）された追加的な処理ブロックを含み得る。１つのインプリメンテーションでは、ＮＰＵは、ＣＰＵ、ＤＳＰ、および／またはＧＰＵにおいてインプリメントされる。ＳＯＣ１００はまた、センサプロセッサ１１４、画像信号プロセッサ（ＩＳＰ：image signal processor）、および／またはグローバルポジショニングシステムを含み得るナビゲーション１２０を含み得る。
【００２１】
[0030]  ＳＯＣ１００は、ＡＲＭ命令セットに基づき得る。本開示の一態様では、汎用プロセッサ１０２へとロードされる命令は、特徴抽出器から特徴ベクトルを受け取るためのコードを備え得る。汎用プロセッサ１０２へとロードされる命令はまた、スパースな特徴ベクトルを生み出すために、特徴ベクトルのある割合の要素を保持するためのコードを備え得る。さらに、汎用プロセッサ１０２へとロードされる命令はまた、スパースな特徴ベクトルを分類器に送るためのコードを備え得る。
【００２２】
[0031]  図２は、本開示のある特定の態様による、システム２００の例示的なインプリメンテーションを例示する。図２に例示されるように、システム２００は、ここに説明される方法の様々な動作を実施し得る複数の局所処理ユニット（local processing unit）２０２を有し得る。各局所処理ユニット２０２は、ニューラルネットワークのパラメータを記憶し得る局所パラメータメモリ２０６および局所状態メモリ２０４を備え得る。加えて、局所処理ユニット２０２は、局所モデルプログラムを記憶するための局所（ニューロン）モデルプログラム（ＬＭＰ）メモリ２０８、局所学習プログラムを記憶するための局所学習プログラム（ＬＬＰ）メモリ２１０、および局所結合メモリ２１２を有し得る。さらに、図２に例示されるように、各局所処理ユニット２０２は、局所処理ユニットの局所メモリに関する構成を提供するための構成プロセッサユニット２１４との、および複数の局所処理ユニット２０２間のルーティングを提供するルーティング結合処理ユニット（routing connection processing unit）２１６との、インタフェースをとり得る。
【００２３】
[0032]  深層学習アーキテクチャは、各層において連続的により高い抽象レベルで入力を表現するように学習し、それにより入力データの有益な特徴表現を形成（building up）することによって、オブジェクト認識タスクを実施し得る。このようにして、深層学習は、伝統的な機械学習の主要なボトルネックに対処する。深層学習が出現する前は、オブジェクト認識問題に対する機械学習のアプローチは、場合によってはシャロー（浅い）分類器（shallow classifier）と組み合わせて、人間によって設計された特徴（human engineered features）に大いに依存してきた可能性がある。シャロー分類器は、例えば、特徴ベクトルコンポーネントの重み付き和（weighted sum）がその入力がどのクラスに属するかを予測するためにしきい値と比較され得る２クラス線形分類器であり得る。人間によって設計された特徴は、領域の専門知識を持った技術者（engineers with domain expertise）によって特定の問題領域に適合されたカーネルまたはテンプレートであり得る。対照的に、深層学習アーキテクチャは、人間の技術者が設計し得るものと同様な特徴を表現すように、ただし訓練を通して、学習し得る。さらに、深層ネットワークは、人間が考慮してこなかった可能性がある新しいタイプの特徴を表現および認識するように学習し得る。
【００２４】
[0033]  深層学習アーキテクチャは、特徴の階層（hierarchy of features）を学習し得る。視覚データで提示される場合、例えば、第１の層は、入力ストリームにおいて、エッジのような比較的シンプルな特徴を認識するように学習し得る。別の例では、聴覚データで提示される場合、第１の層は、特定の周波数におけるスペクトルパワーを認識するように学習し得る。第２の層は、第１の層の出力を入力として受け、聴覚データについては音の組合せ、または視覚データについては複数のシンプルな形状のような、特徴の組合せを認識するように学習し得る。例えば、上位層（higher layers）は、視覚データにおける複雑な形状、または聴覚データにおける単語を表現するように学習し得る。さらなる上位層は、共通の視覚的オブジェクトまたは発話フレーズを認識するように学習し得る。
【００２５】
[0034]  深層学習アーキテクチャは、自然な階層構造を有する問題に適用されたとき、とりわけ優れて機能し得る。例えば、モーター付き車両の分類は、最初に車輪、フロントガラス、および他の特徴を認識するように学習することから恩恵を受け得る。これらの特徴は、車、トラック、および飛行機を認識するように、上位層において異なる方法で組み合わせられ得る。
【００２６】
[0035]  ニューラルネットワークは、多様な結合パターンを用いて設計され得る。フィードフォワードネットワークでは、情報は、所与の層における各ニューロンが上位層におけるニューロンに伝達（communicating）する、というようにして、下位層から上位層へと渡される。階層表現が、上述したようにフィードフォワードネットワークの連続した層において形成され得る。ニューラルネットワークはまた、再帰型（recurrent）またはフィードバック（トップダウンとも呼ばれる）結合を有し得る。再帰型結合では、所与の層におけるニューロンからの出力は、同じ層における別のニューロンに伝達され得る。再帰型アーキテクチャは、ニューラルネットワークに順次供給される（delivered to the neural network in a sequence）入力データの塊（the input data chunks）の１つより多くにまたがる（span）パターンを認識するのに役立ち得る。所与の層におけるニューロンから下位層（lower layer）のニューロンへの結合は、フィードバック（またはトップダウン）結合と呼ばれる。多くのフィードバック結合を有するネットワークは、高レベルの概念の認識が入力の特定の低レベルの特徴を判別する助けとなり得る場合に、役立ち得る。
【００２７】
[0036]  図３Ａを参照すると、ニューラルネットワークの層と層との間の結合は、全結合（fully connected）３０２または局所結合（locally connected）３０４であり得る。全結合ネットワーク３０２では、第１の層におけるニューロンは、第２の層における各ニューロンが第１の層におけるすべてのニューロンから入力を受け取ることになるように、それの出力を第２の層におけるすべてのニューロンに伝達し得る。代替的に、局所結合ネットワーク３０４では、第１の層におけるニューロンは、第２の層における限られた数のニューロンに結合され得る。畳み込みネットワーク３０６は、局所結合され得、さらに、第２の層における各ニューロンのための入力に関連する結合強度が共有されるように構成される（例えば、３０８）。より一般的には、ネットワークの局所結合層は、ある層における各ニューロンが、同一または同様の結合パターンを、ただし異なる値を有し得る結合強度で、有することになるように構成され得る（例えば、３１０、３１２、３１４、および３１６）。局所結合された結合パターンは、所与の領域（region）における上位層のニューロンがネットワークへの総入力の限られた部分の特性についての訓練を通して調整された入力を受け取り得ることにより、上位層において空間的に別個の（spatially distinct）受容野を生じさせ得る。
【００２８】
[0037]  局所結合されたニューラルネットワークは、入力の空間位置が有意味である問題によく適し得る。例えば、車載カメラからの視覚特徴を認識するように設計されたネットワーク３００は、上位層（high layer）のニューロンを、画像の下部対上部とのそれらの関連に応じて異なる特性で発達させ（develop）得る。画像の下部に関連するニューロンは、例えば、車線区分線を認識するように学習し得、一方画像の上部に関連するニューロンは、信号機、交通標識等を認識するように学習し得る。
【００２９】
[0038]  深層畳み込みネットワーク（ＤＣＮ）は、教師あり学習を用いて訓練され得る。訓練の間、ＤＣＮは、速度制限標識３２６の切り取られた画像（cropped image）のような画像を提示され得、次いで出力３２２を生み出すように「前方へのパス（forward pass）」が計算され得る。出力３２２は、「標識」、「６０」、および「１００」のような特徴に対応する値のベクトルであり得る。ネットワーク設計者は、例えば、訓練されたネットワーク３００についての出力３２２に示されるような「標識」および「６０」に対応するもの等の、出力特徴ベクトルにおけるニューロンのうちのいくつかのものについて、ＤＣＮが高いスコアを出力することを望み得る。訓練の前は、ＤＣＮによって生み出される出力は、不正確なものとなる可能性が高く、よって実際の出力とターゲット出力との間で誤差が算出され得る。次いで、ＤＣＮの出力スコアがターゲットとより近く整合され得るようにＤＣＮの重みが調整（adjust）され得る。
【００３０】
[0039]  重みを調整するために、学習アルゴリズムは、重みについての勾配ベクトル（gradient vector）を計算し得る。勾配は、重みがわずかに調整された場合に誤差が増加または減少するであろう量を示し得る。最上位層（the top layer）では、勾配は、最後から２番目の層における活性化されたニューロンと出力層におけるニューロンとを結合する重みの値に直接的に対応し得る。下位層（lower layers）においては、勾配は、重みの値に、および上位層の計算された誤差勾配に、依存し得る。重みは次いで、誤差を減少させるように調整され得る。重みを調整するこの方法は、それがニューラルネットワークを通した「後方へのパス（backward pass）」に関わるので、「逆伝播」と呼ばれ得る。
【００３１】
[0040]  実際には、重みの誤差勾配は、算出された勾配が真の誤差勾配を近似するように、少数の例にわたって算出され得る。この近似法は、確率的勾配降下法（stochastic gradient descent）と呼ばれ得る。確率的勾配降下法は、システム全体の達成可能な誤差レートが減少しなくなるまで、または誤差レートがターゲットレベルに達するまで、繰り返され得る。
【００３２】
[0041]  学習の後、ＤＣＮは新しい画像３２６を提示され得、ネットワークを通した前方へのパスが、ＤＣＮの予測または推論と見なされ得る出力３２２を生じさせ（yield）得る。
【００３３】
[0042]  深層信念ネットワーク（ＤＢＮ：Deep belief network）は、隠れノードの複数の層を備える確率モデルである。ＤＢＮは、訓練データセットの階層的な表現を抽出するために使用され得る。ＤＢＮは、制約ボルツマンマシン（ＲＢＭ：Restricted Boltzmann Machine）の層を積層することによって得られ得る。ＲＢＭは、入力のセットにわたる確率分布を学習することができる人工ニューラルネットワークの１つのタイプである。ＲＢＭは各入力がカテゴライズされるべきクラスについての情報がなくても確率分布を学習することができるので、ＲＢＭは教師なし学習（unsupervised learning）でしばしば使用される。教師なしと教師ありとのハイブリッドなパラダイムを使用して、ＤＢＮの最下層のＲＢＭら（the bottom RBMs）は、教師なしの方法で訓練され得、特徴抽出器の役割を果たし得、また、最上位のＲＢＭ（the top RBM）は、（ターゲットクラスおよび前の層からの入力の同時分布（joint distribution）で）教師ありの方法で訓練され得、分類器の役割を果たし得る。
【００３４】
[0043]  深層畳み込みネットワーク（ＤＣＮ）は、追加的なプーリングおよび正規化層（pooling and normalization layers）を用いて構成された畳み込みネットワークのネットワークである。ＤＣＮは、多くのタスクに対して最先端のパフォーマンスを達成している。ＤＣＮは、入力および出力ターゲットの両方が、多くの標本（exemplars）について知られており、勾配降下法の使用によりネットワークの重みを修正するために使用される、教師あり学習を使用して訓練されることができる。
【００３５】
[0044]  ＤＣＮは、フィードフォワードネットワーク（feed-forward networks）であり得る。加えて、上述したように、ＤＣＮの第１の層におけるニューロンからすぐ上の上位層におけるニューロンのグループへの結合は、第１の層における複数のニューロンにわたって共有される。ＤＣＮのフィードフォワードおよび共有される結合は、高速処理のために活用され得る。ＤＣＮの計算負担は、例えば、再帰型またはフィードバック結合を備える同様のサイズのニューラルネットワークの計算負担に比べて、格段に小さい可能性がある。
【００３６】
[0045]  畳み込みネットワークの各層の処理は、空間的に不変のテンプレートまたは基底射影（basis projection）と考えられ得る。入力が初めにカラー画像の赤、緑、および青チャネルのようなマルチプルなチャネルに分解される場合、次いでその入力について訓練された畳み込みネットワークは、画像の軸に沿った２つの空間次元と、色情報をキャプチャする第３の次元とを有する、３次元と見なされ得る。畳み込み結合の出力は、後続の層３１８および３２０において特徴マップを形成すると見なされ得、特徴マップ（例えば、３２０）の各要素は、前の層（例えば、３１８）におけるある範囲のニューロンから、および複数のチャネルの各々から、入力を受け取る。特徴マップにおける値は、正規化（rectification）、ｍａｘ（０，ｘ）のような非線形性でさらに処理され得る。隣接したニューロンからの値はさらに、プーリングされ得、それはダウンサンプリングに対応するものであり、そして追加的な局所不変性および次元削減を提供し得る。正規化（Normalization）は、白色化に対応するものであり、それはまた特徴マップにおけるニューロン間の側抑制（lateral inhibition）を通して適用され得る。
【００３７】
[0046]  深層学習アーキテクチャのパフォーマンスは、利用可能となるラベル付けされたデータポイントが多いほど、または計算能力が増加するほど、向上し得る。現代の深層ニューラルネットワークは、ほんの１５年前に一般の研究者に利用可能であったものの数千倍の計算リソースで日常的に（routinely）訓練される。新しいアーキテクチャおよび訓練パラダイムは、深層学習のパフォーマンスをさらに向上させ得る。正規化線形ユニット（Rectified linear units）は、勾配消失（vanishing gradient）として知られる訓練課題を減少させ得る。新しい訓練技法は、過剰適合（over-fitting）を減少させ得、故により大きなモデルがより良い汎化（generalization）を達成することを可能にし得る。カプセル化技法は、所与の受容野におけるデータを抽象化し、全体的なパフォーマンスをさらに向上させ得る。
【００３８】
[0047]  図３Ｂは、例示的な深層畳み込みネットワーク３５０を例示するブロック図である。深層畳み込みネットワーク３５０は、結合（connectivity）および重み共有に基づいて、複数の異なるタイプの層を含み得る。図３Ｂに示されるように、例示的な深層畳み込みネットワーク３５０は、複数の畳み込みブロック（例えば、Ｃ１およびＣ２）を含む。畳み込みブロックの各々は、畳み込み層、正規化層（Ｌノルム）、およびプーリング層で構成され得る。畳み込み層は、特徴マップを生成するために入力データに適用され得る１つまたは複数の畳み込みフィルタを含み得る。２つの畳み込みブロックのみが示されているが、本開示は、そのように限定されるわけではなく、代わりに、任意の数の畳み込みブロックが、設計選好に従って、深層畳み込みネットワーク３５０に含まれ得る。正規化層は、畳み込みフィルタの出力を正規化するために使用され得る。例えば、正規化層は、白色化または側抑制を提供し得る。プーリング層は、局所不変性および次元削減のために空間にわたってダウンサンプリングアグリゲーションを提供し得る。
【００３９】
[0048]  例えば深層畳み込みネットワークの、並列なフィルタバンクは、高パフォーマンスと低電力消費とを達成するために、オプションとして、ＡＲＭ命令セットに基づいて、ＳＯＣ１００のＣＰＵ１０２またはＧＰＵ１０４上にロードされ得る。代替的な実施形態では、並列なフィルタバンクは、ＳＯＣ１００のＤＳＰ１０６またはＩＳＰ１１６上にロードされ得る。加えて、ＤＣＮは、センサ１１４およびナビゲーション１２０に専用の処理ブロックのような、ＳＯＣ上に存在し得る他の処理ブロックにアクセスし得る。
【００４０】
[0049]  深層畳み込みネットワーク３５０はまた、１つまたは複数の全結合層（例えば、ＦＣ１およびＦＣ２）を含み得る。深層畳み込みネットワーク３５０は、ロジスティック回帰（ＬＲ）層をさらに含み得る。深層畳み込みネットワーク３５０の各層間には、更新されるべき重み（示されていない）がある。各層の出力は、第１の畳み込みブロックＣ１において供給される入力データ（例えば、画像、オーディオ、ビデオ、センサデータ、および／または他の入力データ）から階層的な特徴表現を学習するために、深層畳み込みネットワーク３５０における次の層（a succeeding layer）の入力の役割を果たし得る。
【００４１】
[0050]  図４は、人工知能（ＡＩ）機能をモジュール化し得る例示的なソフトウェアアーキテクチャ４００を例示するブロック図である。このアーキテクチャを使用して、ＳＯＣ４２０（例えば、ＣＰＵ４２２、ＤＳＰ４２４、ＧＰＵ４２６、および／またはＮＰＵ４２８）の様々な処理ブロックに、アプリケーション４０２の実行時動作の間の計算をサポートすることを実施させ得るアプリケーション４０２が設計され得る。
【００４２】
[0051]  ＡＩアプリケーション４０２は、例えば、デバイスが現在動作する位置を示すシーンの検出および認識を提供し得る、ユーザ空間４０４において定義された機能を呼び出すように構成さ得る。ＡＩアプリケーション４０２は、例えば、認識されたシーンがオフィスであるか、講堂であるか、レストランであるか、または湖のような屋外環境であるかに応じて、異なった方法で、マイクロフォンおよびカメラを構成し得る。ＡＩアプリケーション４０２は、現在のシーンの推定を提供するように、シーン検出アプリケーションプログラミングインタフェース（ＡＰＩ：SceneDetect application programming interface）４０６において定義されたライブラリに関連するコンパイルされたプログラムコードに対して要求を行い得る。この要求は、例えば、ビデオおよびポジショニングデータに基づいてシーン推定を提供するように構成される、深層ニューラルネットワークの出力に、最終的に依存し得る。
【００４３】
[0052]  実行時エンジン４０８は、実行時フレームワークのコンパイルされたコードであり得、それはさらに、ＡＩアプリケーション４０２にアクセス可能であり得る。ＡＩアプリケーション４０２は、実行時エンジンに、例えば、特定の時間間隔における、またはアプリケーションのユーザインタフェースによって検出されたイベントによってトリガされる、シーン推定を要求させ得る。シーンを推定させられるとき、実行時エンジンは今度は、ＳＯＣ４２０上で実行中のＬｉｎｕｘ（登録商標）カーネル４１２のようなオペレーティングシステム４１０に信号を送り得る。オペレーティングシステム４１０は、今度は、ＣＰＵ４２２、ＤＳＰ４２４、ＧＰＵ４２６、ＮＰＵ４２８、またはそれらの何らかの組合せ上で計算が実施されるようにし得る。ＣＰＵ４２２は、オペレーティングシステムによって直接的にアクセスされ得、他の処理ブロックは、ＤＳＰ４２４のための、ＧＰＵ４２６のための、またはＮＰＵ４２８のためのドライバ４１４〜４１８のようなドライバを通して、アクセスされ得る。例示的な例では、深層ニューラルネットワークは、ＣＰＵ４２２およびＧＰＵ４２６のような処理ブロックの組合せ上で実行するように構成され得る、または、存在する場合にはＮＰＵ４２８上で実行し得る。
【００４４】
[0053]  図５は、スマートフォン５０２上のＡＩアプリケーションの実行時動作５００を例示するブロック図である。ＡＩアプリケーションは、画像５０６のフォーマットを変換し、次いで画像５０８をクロップおよび／またはサイズ変更（resize）するように（例えば、ＪＡＶＡ（登録商標）プログラミング言語を使用して）構成され得る前処理モジュール５０４を含み得る。前処理された画像は次いで、視覚入力に基づいて、シーンを検出および分類するように（例えば、Ｃプログラミング言語を使用して）構成され得るシーン検出バックエンドエンジン（SceneDetect Backend Engine）５１２を含む分類アプリケーション５１０に伝達され得る。シーン検出バックエンドエンジン５１２は、スケーリング５１６およびクロッピング５１８によって、画像をさらに前処理５１４するように構成され得る。例えば、画像は、結果的な画像が２２４ピクセル×２２４ピクセルとなるようにスケーリングおよびクロップされ得る。これらの次元は、ニューラルネットワークの入力次元にマッピングし得る。ニューラルネットワークは、ＳＯＣ１００の様々な処理ブロックに深層ニューラルネットワークを用いて画像ピクセルをさらに処理させるように、深層ニューラルネットワークブロック５２０によって構成され得る。深層ニューラルネットワークの結果は次いで、しきい値処理（thresholded）５２２され、分類アプリケーション５１０における指数平滑化（exponential smoothing）ブロック５２４を通過させられ得る。平滑化された結果は次いで、スマートフォン５０２の設定および／または表示の変更を引き起こし得る。
【００４５】
[0054]  一構成では、機械学習モデルは、入力から特徴ベクトルを生成するために構成される。モデルはまた、スパースな特徴ベクトルを生み出すために、特徴ベクトルのいくつかの要素をゼロに設定するために構成される。機械学習モデルはさらに、スパースな特徴ベクトルを分類器に送るために構成される。機械学習モデルは、生成する手段、設定する手段、および／または送る手段を含む。一態様では、生成する手段、設定する手段、および／または送る手段は、記載される機能を実施するように構成された、汎用プロセッサ１０２、汎用プロセッサ１０２に関連するプログラムメモリ、メモリブロック１１８、局所処理ユニット２０２、およびまたはルーティング結合処理ユニット２１６であり得る。別の構成では、前述の手段は、前述の手段によって記載された機能を実施するように構成された、いかなるモジュールまたはいかなる装置でもあり得る。
【００４６】
[0055]  本開示のある特定の態様によれば、各局所処理ユニット２０２は、ニューラルネットワークの所望の１つまたは複数の機能的特徴に基づいて、ニューラルネットワークのパラメータを決定し、決定されたパラメータがさらに適合（adapted）、調整（tuned）、および更新されるときに１つまたは複数の機能的特徴を、所望の機能的特徴を目指して発展させるように構成され得る。
【００４７】
[0056]  図６は、本開示の態様による、特徴抽出器６０２を含む例示的な機械学習モデル６００を例示するブロック図である。図６を参照すると、特徴抽出器６０２の強制的なスパース性ユニティ（enforced sparsity unity）および全結合層ＦＣ１が示される。いくつかの態様では、全結合層は、例えば、深層畳み込みネットワーク（ＤＣＮ）または他のネットワークの層（例えば、最終層（the last layer））を備え得る。
【００４８】
[0057]  全結合層ＦＣ１は、特徴ベクトルを強制的なスパース性（ＥＳ）ユニットに供給し得る。この例示的な構成では、入力（例えば、画像ピクセル、会話、または同様のもの）は、ある特定の特徴を抽出するためにＤＣＮの複数の層を通過させられ、全結合層ＦＣ１を介して特徴ベクトルを出力し得る。
【００４９】
[0058]  典型的に、ＤＣＮは、データを正規化（rectify）するために、ＲｅＬＵ（rectifier linear units）またはＰＲｅＬＵ（parametric rectifier linear units）を用い得る。ＲｅＬＵは、負の特徴ベクトル値を０に設定し、正の値を保つことによって、データを正規化する。一方、ＰＲｅＬＵは、正の特徴ベクトル値を保ち、負の値を線形的にスケーリングする。しかしながら、両方とも、強制的なスパース性の提案された方法に比べて、推論および訓練における高められたレイテンシおよび増加されたメモリ消費を伴って特徴ベクトルを生み出す。
【００５０】
[0059]  本開示の態様によれば、強制的なスパース性が、ＥＳユニットを介して適用され得る。つまり、特徴ベクトルに含まれるデータは、データをスパース（疎ら）にする（sparsify the data）またはデータをスパース（疎ら）にレンダリングする（render the data sparse）ために、強制的なスパース性（ＥＳ）ユニットに供給され得る。ＥＳユニットを使用して、データ要素の上位Ｋ％が維持され得、ここでＫは整数である。つまり、最も高い値を有するＫ個の要素またはＫ％の要素が保持され得る。特徴ベクトルの残りの要素は、ゼロに設定され得る。したがって、Ｋ個の要素またはＫ％の要素のみについて非ゼロ値を含む、供給される特徴ベクトルと同じ次元または要素の数を有するスパースな特徴ベクトルが生み出され得る。
【００５１】
[0060]  いくつかの態様では、Ｋの値は、オフラインで計算または決定され得る。例えば、Ｋの値は、０％と１００％との間の様々なＫ値にわたるパラメータスイープ（parameter sweep）に基づいて決定され得る。
【００５２】
[0061]  逆に、Ｋの値はまた、オンラインで決定され得る。例えば、Ｋの値は、ユーザからの訓練および検証サンプルのセットを保持し、Ｋにわたってスイープを実行（performing）することによって決定され得る。
【００５３】
[0062]  ＥＳユニットは、図６においてはＤＣＮの外部のにあるものとして示されているが、いくつかの態様では、ＥＳユニットはＤＣＮまたは他のネットワーク内に組み込まれ得る。一例では、スパース性は、ＤＣＮまたは他の特徴抽出器の訓練プロシージャの一部として、最小絶対誤差（Ｌ１）コスト関数（a least absolute errors (L1) cost function）を適用することによってＤＣＮに組み込まれ得る。いくつかの態様では、コスト関数は、特徴ベクトルに含まれる非ゼロ要素の数にペナルティを科す（penalize）ように構成され得る。さらに、誤差のＬ１ノルムを最小化することは、非ゼロ特徴値の数を強制的により小さな数にし得る。したがって、ＤＣＮはスパース性係数（sparsity factor）を、そして一部のケースでは特徴ベクトルの最も好ましいまたは望ましいスパース性係数を、学習し得る。
【００５４】
[0063]  ＤＣＮでは、訓練は、予測されたラベルと実際のラベルとの間の誤差に応じて、重み更新を行うことによって進歩する。この誤差は、ペナルティ項であり、１つの目標は、誤差をゼロに減少させることである。本開示の態様によれば、第２のペナルティ項が追加され得る。第２のペナルティ項は、スパース性が望まれる層の活性化のノルムを備え得る。目標は特徴ベクトルにおける非ゼロ要素の数を最小化することなので、この第２のペナルティ項は、いくつかの態様では、その層における非ゼロ項の数のカウントを備え得る。非ゼロ項のカウントは、Ｌ０ノルムであり得る。
【００５５】
[0064]  しかしながら、この量は恐らく微分可能ではなく、（例えば、重み更新を生じさせる（to drive weight updates）ためにコスト関数の勾配を使用する逆伝播を使用して）ネットワークを訓練することの困難さにつながり得る。したがって、いくつかの態様では、Ｌ１ノルム（項のカウントの代わりに項の絶対値の和）が第２のペナルティ項として使用され得る。絶対値の小さな和（small sum of absolute）を強制することによって、いくつかの項が、ゼロ（またはゼロへと下げるようにしきい値処理される可能性がある非常に小さな数）になるように間接的に強いられ得る。
【００５６】
[0065]  このパラダイムでは、非ゼロ項の「最適な」数（例えば、Ｋ）は、コスト関数最小化の一部として決定され得る。このケースでは、それがまたは誤差を最小化し、ならびにスパース性を最大化するので、非ゼロ項の数は、最適と見なされ得る。
【００５７】
[0066]  一例では、要素Ｆ［−１  ０  ２  −３  ５  ７  ９  ４  −１  ２］を含む特徴ベクトルが、ＥＳユニットに供給され得る。ＥＳユニットは、例えば、特徴ベクトル値または要素の上位２０％を保つように構成され得る。したがって、ＥＳユニットは、特徴ベクトルの１０個（１０）の要素のうちの上位２つ（２）の要素または特徴値を決定し得る。したがって、ＥＳユニットは、非ゼロ特徴値または要素のスパース性を用いて修正された特徴ベクトルＦ’［０  ０  ０  ０  ０  ７  ９  ０  ０  ０］を出力し得る。したがって、スパースな特徴がＥＳユニットを介して出力され、分類器に供給され得る。
【００５８】
[0067]  いくつかの態様では、ＥＳユニットは、最大でＫ％の特徴ベクトルを保持し得る。代替的に、ＥＳユニットは、特徴ベクトル要素の上位Ｋ％の絶対値、正の値、または負の値を保持し得る。加えて、上位Ｋ％を選択することは、特徴ベクトルの残存する（surviving）特徴値または非ゼロ要素を選択するためのインスタンス化（instantiation）である。
【００５９】
[0068]  スパースな特徴ベクトルは、それが再訓練するために特徴を記憶するためのメモリ消費を減少させ得るので、特に有益であり得る。増加させられたスパース性はまた、より少ない計算が実施されることで、より速い分類器の訓練および推論を可能にするのに役立ち得る。加えて、スパースな特徴ベクトルは、分類器の正確さを改善し得る。さらに、スパースな特徴ベクトルはまた、例えば、「類似の（similar）」特徴のクラスタを形成（form）するために、または「最近傍分類器（nearest neighbor classifiers）」のようなよりシンプルな分類器を形成（build）するために、２つ以上の特徴ベクトル間の特徴空間における距離を算出することに関わるタスクを実施するのに役立つ。
【００６０】
[0069]  いくつかの態様では、修正された特徴ベクトルの要素値は、２値化または量子化（binarized or quantized）され得る。例えば、上の例では、Ｆの２値化されたバージョンは、Ｆ’［０  ０  ０  ０  ０  １  １  ０  ０  ０］であり得る。スパースな特徴ベクトルが、今度は分類器に提示され得る。
【００６１】
[0070]  第２の例では、要素値は量子化され得る。この例では、すべての「残存する量（surviving quantities）」またはＫ個の最も高い値が１で符号化され、他のすべてが０で符号化され得る。例えば、所望のスパース性が８０％でベクトルサイズが１０である場合には、最も少ない量である８つが０に設定され、２つの残存する量（例えば、最も高い要素値）が１に設定され得る。
【００６２】
[0071]  図７は、特徴抽出および入力分類のための方法７００を例示する。ブロック７０２では、処理は、入力から特徴ベクトルを生成する。入力は、画像、音声、会話、または他の入力データであり得る。ブロック７０４では、処理は、スパースな特徴ベクトルを生み出すために、特徴ベクトルのいくつかの要素をゼロに設定する。スパースな特徴ベクトルは、生成された特徴ベクトルと同じ次元を有し、生成された特徴ベクトルより少ない非ゼロ要素を含む。
【００６３】
[0072]  いくつかの態様では、要素の数は、例えば、分類器のレイテンシ、分類器の正確さ、分類器の速度、および／またはメモリ利用度のようなパフォーマンス測定基準に基づいて決定され得る。パフォーマンス測定基準は、オンデバイス（on-device）（例えば、分類タスクを実施するデバイス上で）またはオフデバイス（off-device）で決定され得る。
【００６４】
[0073]  さらに、ブロック７０６では、処理はスパースな特徴ベクトルを分類器に送る。いくつかの態様では、処理は、メモリ消費をさらに減少させるために、スパースな特徴ベクトルの要素を促進または量子化（further or quantize）し得る。
【００６５】
[0074]  ある態様では、処理はさらに、保持するための特徴ベクトルの要素の数を決定するように特徴抽出器を訓練し得る。訓練は、特徴ベクトルの低いスパース性にペナルティを科すコスト関数の適用を含み得る。いくつかの態様では、コスト関数は、最小絶対誤差（Ｌ１−ノルム）またはＬ０ノルム正則化（regularization）を含み得る。
【００６６】
[0075]  いくつかの態様では、方法７００は、ＳＯＣ１００（図１）またはシステム２００（図２）によって実施され得る。つまり、方法７００の要素の各々は、例えば、限定するわけではないが、ＳＯＣ１００またはシステム２００または１つまたは複数のプロセッサ（例えば、ＣＰＵ１０２および局所処理ユニット２０２）および／またはそこに含まれる他のコンポーネントによって実施され得る。
【００６７】
[0076]  上に説明された方法の様々な動作は、対応する機能を実施することが可能であるいかなる好適な手段によっても実施され得る。これら手段は、回路、特定用途向け集積回路（ＡＳＩＣ）またはプロセッサに限定されるわけではないがそれらを含む、様々なハードウェアおよび／またはソフトウェアコンポーネント（１つまたは複数）および／またはモジュール（１つまたは複数）を含み得る。一般に、図に例示された動作が存在する場合、それらの動作は、同様の番号を有する、対応するカウンターパートのミーンズプラスファンクションコンポーネントを有し得る。
【００６８】
[0077]  ここで使用される場合、「決定すること（determining）」という用語は、多種多様なアクションを包含する。例えば、「決定すること」は、算出すること（calculating）、計算すること（computing）、処理すること（processing）、導出すること（deriving）、調査すること（investigating）、調べること（looking up）（例えば、表、データベース、または別のデータ構造を調べること）、確かめること（ascertaining）等を含み得る。さらに、「決定すること」は、受け取る／受信すること（receiving）（例えば、情報を受け取る／受信すること）、アクセスすること（accessing）（例えば、メモリ内のデータにアクセスすること）等を含み得る。さらに、「決定すること」は、解決すること（resolving）、選択すること（selecting）、選ぶこと（choosing）、確立すること（establishing）等を含み得る。
【００６９】
[0078]  ここで使用される場合、項目のリスト「のうちの少なくとも１つ」に言及する表現は、単一のメンバ（members）を含む、それらの項目のうちの任意の組合せに言及するものである。例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃをカバーするように意図されている。
【００７０】
[0079]  本開示に関連して説明された様々な例示の論理ブロック、モジュールおよび回路は、ここに説明された機能を実施するように設計された、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイシグナル（ＦＰＧＡ）、または他のプログラマブル論理デバイス（ＰＬＤ）、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいはそれらの任意の組合せを用いてインプリメントまたは実施され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替の方法では、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、ＤＳＰと１つのマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連結した１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成としてもインプリメントされ得る。
【００７１】
[0080]  本開示に関連して説明されたアルゴリズムまたは方法のステップは、直接的にハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはそれら２つの組合せにおいて、具現化され得る。ソフトウェアモジュールは、当該技術分野において知られているいかなる形態の記憶媒体にも存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバルディスク、ＣＤ−ＲＯＭ等を含む。ソフトウェアモジュールは、単一の命令または多くの命令を備え得、いくつかの異なるコードセグメントにわたって、異なるプログラムの間で、および、複数の記憶媒体にわたって、分散され得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができるように、および、記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。別の方法では、記憶媒体はプロセッサに統合され得る。
【００７２】
[0081]  ここに開示された方法は、説明された方法を達成するための１つまたは複数のステップまたはアクションを備える。これら方法のステップおよび／またはアクションは、特許請求の範囲の適用範囲（the scope）から逸脱することなく、互いに置き換えられ得る。言い換えれば、ステップまたはアクションの特定の順序が規定されていない限り、特定のステップおよび／またはアクションの順序および／または使用は、特許請求の範囲の適用範囲から逸脱することなく修正され得る。
【００７３】
[0082]  説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいてインプリメントされ得る。ハードウェアでインプリメントされる場合、例示的なハードウェア構成は、デバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いてインプリメントされ得る。バスは、処理システムの特定の用途および全体的な設計制約に応じて、相互接続バスおよびブリッジをいくつでも含み得る。バスは、プロセッサ、機械読み取り可能な媒体、およびバスインタフェースを含む様々な回路を互いにリンクさせ得る。バスインタフェースは、バスを介してネットワークアダプタをとりわけ処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能をインプリメントするために使用され得る。ある特定の態様については、ユーザインタフェース（例えば、キーパッド、ディスプレイ、マウス、ジョイスティック等）もまたバスに接続され得る。バスはまた、例えばタイミングソース、周辺機器、電圧レギュレータ、電力管理回路等の様々な他の回路をリンクし得るが、それらは当該技術分野において周知であるので、これ以上説明されることはない。
【００７４】
[0083]  プロセッサは、機械読み取り可能な媒体に記憶されたソフトウェアの実行を含む、一般的な処理およびバスの管理を担い得る。プロセッサは、１つまたは複数の汎用および／または専用プロセッサを用いてインプリメントされ得る。例は、マイクロプロセッサ、マイロコントローラ、ＤＳＰプロセッサ、およびソフトウェアを実行することができる他の回路構成を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他の名称に関わらず、命令、データ、またはそれらの任意の組合せを意味するように広く解釈されるべきである。機械読み取り可能な媒体は、例として、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、プログラム可能な読み取り専用メモリ（ＰＲＯＭ）、消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、レジスタ、磁気ディスク、光学ディスク、ハードドライブ、または任意の他の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械読み取り可能な媒体は、コンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、パッケージング素材を備え得る。
【００７５】
[0084]  ハードウェアインプリメンテーションでは、機械読み取り可能な媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者が容易に認識することになるように、機械読み取り可能な媒体またはその任意の部分は、処理システムの外部に存在し得る。例として、機械読み取り可能な媒体は、送信線、データによって変調される搬送波、および／またはデバイスとは別個のコンピュータ製品を含み得、それらのすべては、バスインタフェースを通してプロセッサによってアクセスされ得る。代替的に、または追加的に、機械読み取り可能な媒体またはその任意の部分は、プロセッサに統合され得、そのような場合にはキャッシュおよび／または汎用レジスタファイルを伴い得る。説明された様々なコンポーネントは、局所コンポーネントのように特定の位置を有するものとして説明され得るが、それらはまた、例えば、ある特定のコンポーネントは分散された計算システム（distributed computing system）の一部として構成されるなど、様々な方法で構成され得る。
【００７６】
[0085]  処理システムは、外部のバスアーキテクチャを通してすべてが他のサポーティング回路構成とリンクしている、機械読み取り可能な媒体の少なくとも一部を提供する外部のメモリと、プロセッサの機能性を提供する１つまたは複数のマイクロプロセッサと、を有する汎用処理システムとして、構成され得る。代替的に、処理システムは、ここに説明されたニューラルシステムのモデルおよびニューロンモデルをインプリメントするための１つまたは複数のニューロン形態学的プロセッサ（neuromorphic processors）を備え得る。別の代替としては、処理システムは、プロセッサ、バスインタフェース、ユーザインタフェース、サポーティング回路構成、および単一のチップに統合された機械読み取り可能な媒体の少なくとも一部、を有する特定用途向け集積回路（ＡＳＩＣ）を用いて、または、１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能な論理デバイス（ＰＬＤ）、コントローラ、ステートマシン、ゲート論理、ディスクリートハードウェアコンポーネント、または任意の他の好適な回路構成、あるいは本開示を通して説明された様々な機能性を実施することができる回路の任意の組合せを用いて、インプリメントされ得る。当業者は、特定の用途およびシステム全体に課せられた全体的な設計制約に応じて、処理システムのための説明された機能性をいかにして最良にインプリメントするかを認識することになる。
【００７７】
[0086]  機械読み取り可能な媒体は、いくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されると、処理システムに様々な機能を実施させる命令を含む。ソフトウェアモジュールは、送信モジュールおよび受信モジュール（receiving module）を含み得る。各ソフトウェアモジュールは、単一の記憶デバイス内に存在し得るか、複数の記憶デバイスにわたって分散され得る。例として、ソフトウェアモジュールは、トリガイベントが起こるとき、ハードドライブからＲＡＭへとロードされ得る。ソフトウェアモジュールの実行の間に、プロセッサは、アクセス速度を増加させるため、命令のうちのいくつかをキャッシュにロードし得る。次いで、１つまたは複数のキャッシュラインは、プロセッサによる実行のために汎用レジスタファイルへとロードされ得る。以下でソフトウェアモジュールの機能性に言及するとき、そのような機能性は、そのソフトウェアモジュールからの命令を実行するときにプロセッサによってインプリメントされることは理解されることになる。さらに、本開示の態様は、そのような態様をインプリメントするプロセッサ、コンピュータ、マシン、または他のシステムの機能に改善をもたらすことは認識されるべきである。
【００７８】
[0087]  ソフトウェアでインプリメントされる場合、それら機能は、コンピュータ読み取り可能な媒体上の１つまたは複数の命令またはコードとして記憶または送信され得る。コンピュータ読み取り可能な媒体は、１つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされることができるいかなる利用可能な媒体でもあり得る。限定ではなく例として、そのようなコンピュータ読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用されることができ、コンピュータによってアクセスされることができる、任意の他の媒体を備えることができる。さらに、いかなる接続（connection）も、コンピュータ読み取り可能な媒体と適切に称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線（ＩＲ）、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多目的ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ここで、ディスク（disks）は、通常磁気的にデータを再生し、一方ディスク（discs）は、レーザーを用いて光学的にデータを再生する。したがって、いくつかの態様では、コンピュータ読み取り可能な媒体は、非一時的なコンピュータ読み取り可能な媒体（例えば、有形の媒体）を備え得る。加えて、他の態様については、コンピュータ読み取り可能な媒体は、一時的なコンピュータ読み取り可能な媒体（例えば、信号）を備え得る。上記の組合せもまた、コンピュータ読み取り可能な媒体の範囲内に含まれるべきである。
【００７９】
[0088]  したがって、ある特定の態様は、ここに提示された動作を実施するためのコンピュータプログラム製品を含み得る。例えば、そのようなコンピュータプログラム製品は、その上に記憶（および／または符号化）された命令を有するコンピュータ読み取り可能な媒体を備え得、それら命令は、ここに説明された動作を実施するために１つまたは複数のプロセッサによって実行可能である。複数のある特定の態様に関して、コンピュータプログラム製品は、パッケージング素材を含み得る。
【００８０】
[0089]  さらに、ここに説明された方法および技法を実施するためのモジュールおよび／または他の適切な手段は、適用可能な場合、ダウンロードされるおよび／またはそうでなければユーザ端末および／または基地局によって取得されることができることは認識されるべきである。例えば、そのようなデバイスは、ここに説明された方法を実施するための手段の転送を容易にするために、サーバに接続されることができる。代替的に、ここに説明された様々な方法は、デバイスに記憶手段を提供するまたは結合する際に、ユーザ端末および／または基地局が様々な方法を得ることができるように、記憶手段（例えば、コンパクトディスク（ＣＤ）またはフロッピーディスクのような物理記憶媒体、ＲＯＭ、ＲＡＭ等）を介して提供されることができる。さらに、ここに説明された方法および技法をデバイスに提供するためのいかなる他の好適な技法も利用されることができる。
【００８１】
[0090]  本願の特許請求の範囲が上に例示されたまさにその構成およびコンポーネントに限定されないことは理解されるべきである。特許請求の範囲の適用範囲から逸脱することなく、上で説明された装置および方法の詳細、動作、および配列において、様々な修正、変更、および変形がなされ得る。
【図１】
2018527677.tif 000003
【図２】
2018527677.tif 000004
【図３Ａ】
2018527677.tif 000005
【図３Ｂ】
2018527677.tif 000006
【図４】
2018527677.tif 000007
【図５】
2018527677.tif 000008
【図６】
2018527677.tif 000009
【図７】
2018527677.tif 000010
【手続補正書】
【提出日】平成30年5月22日(2018.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力を分類するための装置であって、
分類器と、
特徴抽出器と、を備え、
前記特徴抽出器は、
前記入力から特徴ベクトルを生成することと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを前記分類器に送ることと、
を行うように構成される、装置。
【請求項２】
前記特徴抽出器は、パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定するようにさらに構成される、請求項１に記載の装置。
【請求項３】
前記特徴抽出器は、前記パフォーマンス測定基準をオンデバイスで計算するようにさらに構成される、請求項２に記載の装置。
【請求項４】
前記特徴抽出器は、前記パフォーマンス測定基準をオフデバイスで計算するようにさらに構成される、請求項２に記載の装置。
【請求項５】
前記特徴抽出器は、保持するための前記特徴ベクトルの前記要素の数を決定するように訓練される、請求項１に記載の装置。
【請求項６】
前記特徴抽出器は、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して訓練される、請求項５に記載の装置。
【請求項７】
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、請求項６に記載の装置。
【請求項８】
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を２値化するようにさらに構成される、請求項１に記載の装置。
【請求項９】
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を量子化するようにさらに構成される、請求項１に記載の装置。
【請求項１０】
入力を分類するための、コンピュータによってインプリメントされる方法であって、
前記入力から特徴ベクトルを生成することと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送ることと、
を備える、コンピュータによってインプリメントされる方法。
【請求項１１】
パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１２】
前記パフォーマンス測定基準をオンデバイスで計算することをさらに備える、請求項１１に記載のコンピュータによってインプリメントされる方法。
【請求項１３】
前記パフォーマンス測定基準をオフデバイスで計算することをさらに備える、請求項１１に記載のコンピュータによってインプリメントされる方法。
【請求項１４】
保持するための前記特徴ベクトルの前記要素の数を決定することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１５】
前記決定することは、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して特徴抽出器を訓練することを備える、請求項１４に記載のコンピュータによってインプリメントされる方法。
【請求項１６】
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、請求項１５に記載のコンピュータによってインプリメントされる方法。
【請求項１７】
前記スパースな特徴ベクトルの要素を２値化することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１８】
前記スパースな特徴ベクトルの要素を量子化することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１９】
入力を分類するための装置であって、
前記入力から特徴ベクトルを生成するための手段と、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定するための手段と、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るための手段と、
を備える、装置。
【請求項２０】
その上に符号化された、入力を分類するためのプログラムコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記プログラムコードは、プロセッサによって実行され、
前記入力から特徴ベクトルを生成するためのプログラムコードと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定するためのプログラムコードと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るためのプログラムコードと、
を備える、非一時的なコンピュータ読み取り可能な媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
[0090]  本願の特許請求の範囲が上に例示されたまさにその構成およびコンポーネントに限定されないことは理解されるべきである。特許請求の範囲の適用範囲から逸脱することなく、上で説明された装置および方法の詳細、動作、および配列において、様々な修正、変更、および変形がなされ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
入力を分類するための装置であって、
分類器と、
特徴抽出器と、を備え、
前記特徴抽出器は、
前記入力から特徴ベクトルを生成することと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを前記分類器に送ることと、
を行うように構成される、装置。
［Ｃ２］
前記特徴抽出器は、パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ３］
前記特徴抽出器は、前記パフォーマンス測定基準をオンデバイスで計算するようにさらに構成される、Ｃ２に記載の装置。
［Ｃ４］
前記特徴抽出器は、前記パフォーマンス測定基準をオフデバイスで計算するようにさらに構成される、Ｃ２に記載の装置。
［Ｃ５］
前記特徴抽出器は、保持するための前記特徴ベクトルの前記要素の数を決定するように訓練される、Ｃ１に記載の装置。
［Ｃ６］
前記特徴抽出器は、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して訓練される、Ｃ５に記載の装置。
［Ｃ７］
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、Ｃ６に記載の装置。
［Ｃ８］
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を２値化するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ９］
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を量子化するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ１０］
入力を分類するための方法であって、
前記入力から特徴ベクトルを生成することと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送ることと、
を備える、方法。
［Ｃ１１］
パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定することをさらに備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記パフォーマンス測定基準をオンデバイスで計算することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１３］
前記パフォーマンス測定基準をオフデバイスで計算することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１４］
保持するための前記特徴ベクトルの前記要素の数を決定することをさらに備える、Ｃ１０に記載の方法。
［Ｃ１５］
前記決定することは、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して特徴抽出器を訓練することを備える、Ｃ１４に記載の方法。
［Ｃ１６］
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、Ｃ１５に記載の方法。
［Ｃ１７］
前記スパースな特徴ベクトルの要素を２値化することをさらに備える、Ｃ１０に記載の方法。
［Ｃ１８］
前記スパースな特徴ベクトルの要素を量子化することをさらに備える、Ｃ１０に記載の方法。
［Ｃ１９］
入力を分類するための装置であって、
前記入力から特徴ベクトルを生成するための手段と、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定するための手段と、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るための手段と、
を備える、装置。
［Ｃ２０］
その上に符号化された、入力を分類するためのプログラムコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記プログラムコードは、プロセッサによって実行され、
前記入力から特徴ベクトルを生成するためのプログラムコードと、
スパースな特徴ベクトルを生み出すために、前記特徴ベクトルのいくつかの要素をゼロに設定するためのプログラムコードと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ前記生成された特徴ベクトルより少ない非ゼロ要素を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るためのプログラムコードと、
を備える、非一時的なコンピュータ読み取り可能な媒体。
【手続補正書】
【提出日】平成30年5月23日(2018.5.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力を分類するための装置であって、
分類器と、
特徴抽出器と、を備え、
前記特徴抽出器は、
前記入力から特徴ベクトルを生成することと、前記特徴ベクトルは、非ゼロ要素を備える、
前記非ゼロ要素の最も高い値を決定することと、
スパースな特徴ベクトルを生み出すために、前記最も高い値に基づいて、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを前記分類器に送ることと、
を行うように構成される、装置。
【請求項２】
前記特徴抽出器は、パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定するようにさらに構成される、請求項１に記載の装置。
【請求項３】
前記特徴抽出器は、前記パフォーマンス測定基準をオンデバイスで計算するようにさらに構成される、請求項２に記載の装置。
【請求項４】
前記特徴抽出器は、前記パフォーマンス測定基準をオフデバイスで計算するようにさらに構成される、請求項２に記載の装置。
【請求項５】
前記特徴抽出器は、保持するための前記特徴ベクトルの前記要素の数を決定するように訓練される、請求項１に記載の装置。
【請求項６】
前記特徴抽出器は、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して訓練される、請求項５に記載の装置。
【請求項７】
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、請求項６に記載の装置。
【請求項８】
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を２値化するようにさらに構成される、請求項１に記載の装置。
【請求項９】
前記特徴抽出器は、前記スパースな特徴ベクトルの要素を量子化するようにさらに構成される、請求項１に記載の装置。
【請求項１０】
入力を分類するための、コンピュータによってインプリメントされる方法であって、
前記入力から特徴ベクトルを生成することと、前記特徴ベクトルは、非ゼロ要素を備える、
前記非ゼロ要素の最も高い値を決定することと、
スパースな特徴ベクトルを生み出すために、前記最も高い値に基づいて、前記特徴ベクトルのいくつかの要素をゼロに設定することと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送ることと、
を備える、コンピュータによってインプリメントされる方法。
【請求項１１】
パフォーマンス測定基準に少なくとも部分的に基づいて、前記要素の数を決定することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１２】
前記パフォーマンス測定基準をオンデバイスで計算することをさらに備える、請求項１１に記載のコンピュータによってインプリメントされる方法。
【請求項１３】
前記パフォーマンス測定基準をオフデバイスで計算することをさらに備える、請求項１１に記載のコンピュータによってインプリメントされる方法。
【請求項１４】
保持するための前記特徴ベクトルの前記要素の数を決定することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１５】
前記決定することは、前記特徴ベクトルの低いスパース性にペナルティを科すコスト関数を使用して特徴抽出器を訓練することを備える、請求項１４に記載のコンピュータによってインプリメントされる方法。
【請求項１６】
前記コスト関数は、Ｌ１ノルムまたはＬ０ノルムを含む、請求項１５に記載のコンピュータによってインプリメントされる方法。
【請求項１７】
前記スパースな特徴ベクトルの要素を２値化することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１８】
前記スパースな特徴ベクトルの要素を量子化することをさらに備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【請求項１９】
入力を分類するための装置であって、
前記入力から特徴ベクトルを生成するための手段と、前記特徴ベクトルは、非ゼロ要素を備える、
前記非ゼロ要素の最も高い値を決定するための手段と、
スパースな特徴ベクトルを生み出すために、前記最も高い値に基づいて、前記特徴ベクトルのいくつかの要素をゼロに設定するための手段と、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るための手段と、
を備える、装置。
【請求項２０】
その上に符号化された、入力を分類するためのプログラムコードを有する非一時的なコンピュータ読み取り可能な媒体であって、前記プログラムコードは、プロセッサによって実行され、
前記入力から特徴ベクトルを生成するためのプログラムコードと、前記特徴ベクトルは、非ゼロ要素を備える、
前記非ゼロ要素の最も高い値を決定するためのプログラムコードと、
スパースな特徴ベクトルを生み出すために、前記最も高い値に基づいて、前記特徴ベクトルのいくつかの要素をゼロに設定するためのプログラムコードと、前記スパースな特徴ベクトルは、前記生成された特徴ベクトルと同じ次元を有し、かつ非ゼロ要素のスパース性を含む、
前記入力を分類するために、前記スパースな特徴ベクトルを分類器に送るためのプログラムコードと、
を備える、非一時的なコンピュータ読み取り可能な媒体。
【請求項２１】
前記最も高い値は、前記特徴ベクトルの上位の割合の絶対値、正の値、または負の値を備える、請求項１に記載の装置。
【請求項２２】
前記最も高い値は、前記特徴ベクトルの上位の割合の絶対値、正の値、または負の値を備える、請求項１０に記載のコンピュータによってインプリメントされる方法。
【国際調査報告】
2018527677.tif 000011
2018527677.tif 000012
2018527677.tif 000013