(57)【特許請求の範囲】
【請求項１】
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減する、コンピュータによって実装される方法であって、
前記ＤＣＮの複数の層の各層のために、入力画像に適用されるべき低減ファクタを動的に選択することと、それによって、前記低減ファクタを動的に選択することは、
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することと
を備え、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節することと
を備える、コンピュータによって実装される方法。
【請求項２】
前記低減ファクタを動的に選択することが、
各層のために前記低減ファクタをランダムに選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することと
を備える、請求項１に記載のコンピュータによって実装される方法。
【請求項３】
前記ＤＣＮを調節することが、前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮの各層における重みを調節することをさらに備える、請求項１に記載のコンピュータによって実装される方法。
【請求項４】
前記ＤＣＮを調節することが、前記選択された低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮのプーリング層におけるシナプス結合をトリミングすることをさらに備える、請求項１に記載のコンピュータによって実装される方法。
【請求項５】
前記ＤＣＮを調節することが、前記ＤＣＮを微調整することをさらに備える、請求項１に記載のコンピュータによって実装される方法。
【請求項６】
前記微調整することが、少なくとも１つの他の層における固定重みを維持しながら、選択された層を微調整することを備える、請求項５に記載のコンピュータによって実装される方法。
【請求項７】
前記選択された層が畳み込み層を備え、前記最小１つの他の層が全結合層を備える、請求項６に記載のコンピュータによって実装される方法。
【請求項８】
元のＤＣＮと前記調節されたＤＣＮの両方のための１つの全結合層を記憶することと、  前記元のＤＣＮのための第１の畳み込み層と、前記調節されたＤＣＮのための第２の畳み込み層とを記憶することと
をさらに備える、請求項１に記載のコンピュータによって実装される方法。
【請求項９】
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減するための装置であって、
前記ＤＣＮの複数の層の各層のために、入力画像に適用されるべき低減ファクタを動的に選択するための手段と、ここにおいて、前記低減ファクタを動的に選択するための前記手段は、
各層のために、前記低減ファクタをランダムに選択するための手段と、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するための手段と
を備え、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節するための手段と
を備える、装置。
【請求項１０】
前記低減ファクタを動的に選択するための前記手段が、
各層のために前記低減ファクタをランダムに選択するための手段と、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するための手段と
を備える、請求項９に記載の装置。
【請求項１１】
i)前記ＤＣＮを調節するための前記手段が、前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮの各層における重みを調節するための手段をさらに備える、
ii)前記ＤＣＮを調節するための前記手段が、前記選択された低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮのプーリング層におけるシナプス結合をトリミングするための手段をさらに備える、
iii)前記ＤＣＮを調節するための前記手段が、前記ＤＣＮを微調整するための手段をさらに備える、または
iv)元のＤＣＮと前記調節されたＤＣＮの両方のための１つの全結合層を記憶するための手段、および
前記元のＤＣＮのための第１の畳み込み層と、前記調節されたＤＣＮのための第２の畳み込み層とを記憶するための手段
のうちの１つを備える、請求項１０に記載の装置。
【請求項１２】
微調整するための前記手段が、少なくとも１つの他の層における固定重みを維持しながら、選択された層を微調整するための手段を備える、請求項１１のオプションii)に記載の装置。
【請求項１３】
前記選択された層が畳み込み層を備え、前記最小１つの他の層が全結合層を備える、請求項１２に記載の装置。
【請求項１４】
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減するための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも１つのプロセッサとを備え、前記少なくとも１つのプロセッサが、
前記ＤＣＮの複数の層の各層のために、入力画像に適用されるべき低減ファクタを動的に選択することと、ここにおいて、前記少なくとも１つのプロセッサは、
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することと
を行うようにさらに構成され、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節することと
を行うように構成された、装置。
【請求項１５】
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減するためのプログラムコードを記録した非一時的コンピュータ可読媒体であって、前記プログラムコードが、プロセッサによって実行され、
前記ＤＣＮの複数の層の各層のために、入力画像に適用されるべき低減ファクタを動的に選択するためのプログラムコードであって、
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択するためのプログラムコードと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するためのプログラムコードと
をさらに備えるプログラムコードと、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節するためのプログラムコードと
を備える、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、その開示全体が参照により本明細書に明確に組み込まれる、２０１５年４月２８日に出願された「REDUCING IMAGE RESOLUTION IN DEEP CONVOLUTIONAL NETWORKS」と題する米国仮特許出願第６２／１５４，０８４号の米国特許法第１１９条（ｅ）項に基づく利益を主張する。
【０００２】
[0002]本開示のいくつかの態様は、一般にニューラルシステムエンジニアリングに関し、より詳細には、性能を維持しながら、深層畳み込みネットワーク（deep convolutional network）において画像解像度を低減するためのシステムおよび方法に関する。
【背景技術】
【０００３】
[0003]人工ニューロン（たとえば、ニューロンモデル）の相互結合されたグループを備え得る人工ニューラルネットワークは、計算デバイスであるか、または計算デバイスによって実行されるべき方法を表す。
【０００４】
[0004]畳み込みニューラルネットワークは、フィードフォワード人工ニューラルネットワークのタイプである。畳み込みニューラルネットワークは、各々が受容野を有し、入力空間を集合的にタイリングするニューロンの集合を含み得る。畳み込みニューラルネットワーク（ＣＮＮ）は多数の適用例を有する。特に、ＣＮＮは、パターン認識および分類の領域内で広く使用されている。
【０００５】
[0005]深層信念ネットワークおよび深層畳み込みネットワークなど、深層学習アーキテクチャは、層状（layered）ニューラルネットワークアーキテクチャであり、ニューロンの第１の層の出力はニューロンの第２の層への入力になり、ニューロンの第２の層の出力はニューロンの第３の層になり、入力し、以下同様である。深層ニューラルネットワークは、特徴の階層（hierarchy）を認識するようにトレーニングされ得、したがって、それらはオブジェクト認識適用例においてますます使用されている。畳み込みニューラルネットワークのように、これらの深層学習アーキテクチャにおける計算は、１つまたは複数の計算チェーンにおいて構成され得る処理ノードの集団にわたって分散され得る。これらの多層アーキテクチャは、一度に１つの層をトレーニングされ得、バックプロパゲーション（back propagation）を使用して微調整され得る。
【０００６】
[0006]他のモデルも、オブジェクト認識のために利用可能である。たとえば、サポートベクターマシン（ＳＶＭ）は、分類のために適用され得る学習ツールである。サポートベクターマシンは、データをカテゴリー分類する分離超平面（separating hyperplane）（たとえば、決定境界（decision boundary））を含む。超平面は、教師あり学習によって定義される。所望の超平面は、トレーニングデータのマージンを増加させる。言い換えれば、超平面は、トレーニング例との最大の最小距離を有するべきである。
【０００７】
[0007]これらのソリューションは、いくつかの分類ベンチマーク上で優れた結果を達成するが、それらの計算複雑さは極めて高いことがある。さらに、モデルのトレーニングが難しいことがある。
【発明の概要】
【０００８】
[0008]本開示の一態様では、深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減する方法が開示される。本方法は、ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタ（reduction factor）を動的に選択することを含む。本方法は、各層のために選択された低減ファクタに基づいて、ＤＣＮを調節することをも含む。
【０００９】
[0009]本開示の別の態様は、ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択するための手段を含む装置を対象とする。本装置は、各層のために選択された低減ファクタに基づいて、ＤＣＮを調節するための手段をも含む。
【００１０】
[0010]本開示の別の態様では、非一時的プログラムコードが記録された非一時的コンピュータ可読媒体が開示される。ＤＣＮにおいて画像解像度を低減するためのプログラムコードが、プロセッサによって実行され、ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択するためのプログラムコードを含む。プログラムコードは、各層のために選択された低減ファクタに基づいて、ＤＣＮを調節するためのプログラムコードをも含む。
【００１１】
[0011]本開示の別の態様は、ＤＣＮにおいて画像解像度を低減するための装置を対象とし、本装置は、メモリと、メモリに結合された１つまたは複数のプロセッサとを有する。（１つまたは複数の）プロセッサは、ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択するように構成される。（１つまたは複数の）プロセッサはまた、各層のために選択された低減ファクタに基づいて、ＤＣＮを調節するように構成される。
【００１２】
[0012]本開示の追加の特徴および利点が、以下で説明される。本開示は、本開示の同じ目的を実行するための他の構造を変更または設計するための基礎として容易に利用され得ることを、当業者は諒解されたい。また、そのような等価な構成が、添付の特許請求の範囲に記載の本開示の教示から逸脱しないことを、当業者は了解されたい。さらなる目的および利点とともに、本開示の編成と動作の方法の両方に関して、本開示を特徴づけると考えられる新規の特徴は、添付の図に関連して以下の説明を検討するとより良く理解されよう。ただし、図の各々は、例示および説明のみの目的で与えられたものであり、本開示の限界を定めるものではないことを明確に理解されたい。
【００１３】
[0013]本開示の特徴、特性、および利点は、全体を通じて同様の参照符号が同様のものを指す図面とともに、以下に記載される発明を実施するための形態を読めばより明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本開示のいくつかの態様による、汎用プロセッサを含むシステムオンチップ（ＳＯＣ）を使用してニューラルネットワークを設計する例示的な実装形態を示す図。
【図２】[0015]本開示の態様による、システムの例示的な実装形態を示す図。
【図３Ａ】[0016]本開示の態様による、ニューラルネットワークを示す図。
【図３Ｂ】[0017]本開示の態様による、例示的な深層畳み込みネットワーク（ＤＣＮ）を示すブロック図。
【図４】[0018]本開示の態様による、人工知能（ＡＩ）機能をモジュール化し得る例示的なソフトウェアアーキテクチャを示すブロック図。
【図５】[0019]本開示の態様による、スマートフォン上のＡＩアプリケーションのランタイム動作を示すブロック図。
【図６Ａ】[0020]深層畳み込みネットワークの例を示す図。
【図６Ｂ】深層畳み込みネットワークの例を示す図。
【図７】[0021]本開示の一態様による、計算複雑さと分類性能（classification performance）とをプロットするグラフの一例を示す図。
【図８】[0022]本開示の一態様による、画像のエネルギー成分を決定するためのグラフの一例を示す図。
【図９】[0023]本開示の態様による、画像解像度低減の一例を示す図。
【図１０】[0024]本開示の態様による、深層畳み込みネットワークにおいて画像解像度を低減するための方法を示す流れ図。
【図１１】本開示の態様による、深層畳み込みネットワークにおいて画像解像度を低減するための方法を示す流れ図。
【発明を実施するための形態】
【００１５】
[0025]添付の図面に関して以下に記載される発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明される概念が実施され得る構成のみを表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素がブロック図の形式で示される。
【００１６】
[0026]これらの教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、記載された態様をいくつ使用しても、装置は実装され得るか、または方法は実施され得る。さらに、本開示の範囲は、記載された本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。開示される本開示のいずれの態様も、請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００１７】
[0027]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明されるいかなる態様も、必ずしも他の態様よりも好適または有利であると解釈されるべきであるとは限らない。
【００１８】
[0028]本明細書では特定の態様が説明されるが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、それらのいくつかが、例として、図および好適な態様についての以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
モデル圧縮および微調整
[0029]深層畳み込みネットワーク（ＤＣＮ）など、深層ニューラルネットワークは、画像／ビデオ分類、音声認識、および／または顔認識などのいくつかの人工知能タスクにおいて使用される。従来のシステムでは、ニューラルネットワークモデルは、トレーニング例の大きいデータベースからトレーニングされる。さらに、たいていの場合、より大きいニューラルネットワークモデルは、より小さいニューラルネットワークモデルと比較して、より良い性能を達成する。モバイルデバイス、クラウドアプリケーション、ロボット、および／または車など、いくつかのデバイス上でニューラルネットワークモデルを展開するために、計算複雑さ、メモリフットプリント、および／または電力消費を低減することが望ましい。
【００１９】
[0030]畳み込みニューラルネットワークモデルは、層のシーケンスに分割され得る。各層は、ネットワーク中の１つまたは複数の先行する層から受信された入力を変換し得、ネットワークの後続の層のために出力を生成し得る。たとえば、畳み込みニューラルネットワークは、全結合（ＦＣ：fully-connected）層と、畳み込み層と、局所結合（ＬＣ：locally-connected）層と、他の層とを含み得る。異なる層の各々は、異なるタイプの変換を実行し得る。
【００２０】
[0031]さらに、層の各々は、１つまたは複数の前の層からの活性化ベクトルを入力として受信し、組み合わせられた入力ベクトルに線形／非線形変換を適用し、１つまたは複数の後続の層によって使用されるべき活性化ベクトルを出力する。いくつかの層は重みを用いてパラメータ化されるが、いくつかの層は重みを用いてパラメータ化されない。
【００２１】
[0032]画像分類および／または顔認識の場合、画像解像度が入力画像のために指定される。さらに、異なる画像解像度がＤＣＮ内の様々な層のために指定され得る。従来のシステムでは、様々な層においてＤＣＮのために指定される画像解像度は、アドホック様式で選択される。すなわち、従来のシステムでは、分類性能と計算複雑さとの間のトレードオフは、考慮されないことがあるか、または理解されない。したがって、従来のシステムは、様々な層において画像解像度を選択するための系統的手法（systematic approach）を有しないことがある。
【００２２】
[0033]それにもかかわらず、選択された画像解像度は、計算複雑さなど、ＤＣＮの性能に影響を及ぼし得る。一例として、層において、画像解像度を２のファクタ（by a facor of two）で減少させることは、層において、計算複雑さを４のファクタで減少させ得る。
【００２３】
[0034]本開示の態様は、全結合層、畳み込み層、および局所結合層など、重み層（weight layer）において、画像解像度など、入力の解像度を低減することを対象とする。例示的な層は、線形変換を実行するが、出力ニューロンがどのように入力ニューロンに結合されるかにおいて異なる。
【００２４】
[0035]図１は、本開示のいくつかの態様による、上述の、汎用プロセッサ（ＣＰＵ）またはマルチコア汎用プロセッサ（ＣＰＵ）１０２を含み得るシステムオンチップ（ＳＯＣ）１００を使用して深層畳み込みネットワークにおいて画像解像度を低減することの、例示的な実装形態を示す。変数（たとえば、ニューラル信号およびシナプス荷重）、計算デバイスに関連するシステムパラメータ（たとえば、重みをもつニューラルネットワーク）、遅延、周波数ビン情報、およびタスク情報が、ニューラル処理ユニット（ＮＰＵ）１０８に関連するメモリブロックに記憶されるか、ＣＰＵ１０２に関連するメモリブロックに記憶されるか、グラフィックス処理ユニット（ＧＰＵ）１０４に関連するメモリブロックに記憶されるか、デジタル信号プロセッサ（ＤＳＰ）１０６に関連するメモリブロックに記憶されるか、専用メモリブロック１１８に記憶され得るか、または複数のブロックにわたって分散され得る。汎用プロセッサ１０２において実行される命令が、ＣＰＵ１０２に関連するプログラムメモリからロードされ得るか、または専用メモリブロック１１８からロードされ得る。
【００２５】
[0036]ＳＯＣ１００はまた、ＧＰＵ１０４、ＤＳＰ１０６など、特定の機能に適合された（tailored to）追加の処理ブロックと、第４世代ロングタームエボリューション（４Ｇ  ＬＴＥ（登録商標））接続性、無認可Ｗｉ−Ｆｉ（登録商標）接続性、ＵＳＢ接続性、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続性などを含み得る接続性ブロック１１０と、たとえば、ジェスチャーを検出および認識し得るマルチメディアプロセッサ１１２とを含み得る。一実装形態では、ＮＰＵは、ＣＰＵ、ＤＳＰ、および／またはＧＰＵにおいて実装される。ＳＯＣ１００はまた、センサープロセッサ１１４、画像信号プロセッサ（ＩＳＰ）、および／または全地球測位システムを含み得るナビゲーション１２０を含み得る。ＳＯＣはＡＲＭ命令セットに基づき得る。
【００２６】
[0037]本開示の一態様では、汎用プロセッサ１０２にロードされる命令は、ＤＣＮの各層において入力画像に適用されるべき低減ファクタを動的に選択するためのコードを備え得る。汎用プロセッサ１０２にロードされる命令は、各層のために選択された低減ファクタに基づいて、ＤＣＮを調節するためのコードをも備え得る。
【００２７】
[0038]図２に、本開示のいくつかの態様による、システム２００の例示的な実装形態を示す。図２に示されているように、システム２００は、本明細書で説明される方法の様々な動作を実行し得る複数のローカル処理ユニット２０２を有し得る。各ローカル処理ユニット２０２は、ローカル状態メモリ２０４と、ニューラルネットワークのパラメータを記憶し得るローカルパラメータメモリ２０６とを備え得る。さらに、ローカル処理ユニット２０２は、ローカルモデルプログラムを記憶するためのローカル（ニューロン）モデルプログラム（ＬＭＰ）メモリ２０８と、ローカル学習プログラムを記憶するためのローカル学習プログラム（ＬＬＰ）メモリ２１０と、ローカル接続メモリ２１２とを有し得る。さらに、図２に示されているように、各ローカル処理ユニット２０２は、ローカル処理ユニットのローカルメモリのための構成を与えるための構成プロセッサユニット２１４、およびローカル処理ユニット２０２間のルーティングを与えるルーティング接続処理ユニット２１６とインターフェースし得る。
【００２８】
[0039]深層学習アーキテクチャは、各層において連続的により高い抽象レベルで入力を表現するように学習し、それにより、入力データの有用な特徴表現を蓄積することによって、オブジェクト認識タスクを実行し得る。このようにして、深層学習は、旧来の機械学習の主要なボトルネックに対処する。深層学習の出現より前に、オブジェクト認識問題に対する機械学習手法は、場合によっては浅い分類器（shallow classifier）と組み合わせて、人的に設計された特徴に大きく依拠していることがある。浅い分類器は、たとえば、入力がどのクラスに属するかを予測するために、特徴ベクトル成分の重み付き和がしきい値と比較され得る２クラス線形分類器であり得る。人的に設計された特徴は、領域の専門知識をもつ技術者によって特定の問題領域に適合されたテンプレートまたはカーネルであり得る。対照的に、深層学習アーキテクチャは、人間の技術者が設計し得るものと同様である特徴を表現するように学習するが、トレーニングを通してそれを行い得る。さらに、深層ネットワークは、人間が考慮していないことがある新しいタイプの特徴を表現し、認識するように学習し得る。
【００２９】
[0040]深層学習アーキテクチャは特徴の階層を学習し得る。たとえば、視覚データが提示された場合、第１の層は、エッジなど、入力ストリーム中の単純な特徴を認識するように学習し得る。聴覚データが提示された場合、第１の層は、特定の周波数におけるスペクトル電力を認識するように学習し得る。第１の層の出力を入力として取る第２の層は、視覚データの場合の単純な形状、または聴覚データの場合の音の組合せなど、特徴の組合せを認識するように学習し得る。上位層（Higher layers）は、視覚データ中の複雑な形状、または聴覚データ中の単語を表現するように学習し得る。さらに上位の層は、共通の視覚オブジェクトまたは発話フレーズを認識するように学習し得る。
【００３０】
[0041]深層学習アーキテクチャは、自然階層構造を有する問題に適用されたとき、特にうまく機能し得る。たとえば、原動機付き車両の分類は、ホイール、フロントガラス、および他の特徴を認識するための第１の学習から恩恵を受け得る。これらの特徴は、車、トラック、および飛行機を認識するために、異なる方法で、上位層において組み合わせられ得る。
【００３１】
[0042]ニューラルネットワークは、様々な結合性パターンを用いて設計され得る。フィードフォワードネットワークでは、情報が下位層から上位層に受け渡され（passed）、所与の層における各ニューロンは、上位層におけるニューロンに通信する。上記で説明されたように、フィードフォワードネットワークの連続する層において、階層表現が蓄積され（built up）得る。ニューラルネットワークはまた、リカレントまたは（トップダウンとも呼ばれる）フィードバック結合を有し得る。リカレント結合では、所与の層におけるニューロンからの出力は、同じ層における別のニューロンに通信される。リカレントアーキテクチャは、時間的に展開する（unfold）パターンを認識するのに役立ち得る。所与の層におけるニューロンから下位層におけるニューロンへの結合は、フィードバック（またはトップダウン）結合と呼ばれる。高レベルの概念の認識が、入力の特定の低レベルの特徴を弁別すること（discriminating）を助け得るとき、多くのフィードバック結合をもつネットワークが役立ち得る。
【００３２】
[0043]図３Ａを参照すると、ニューラルネットワークの層間の結合は全結合３０２または局所結合３０４であり得る。全結合ネットワーク３０２では、所与の層におけるニューロンは、それの出力を次の層におけるあらゆるニューロンに通信し得る。代替的に、局所結合ネットワーク３０４では、所与の層におけるニューロンは、次の層における限られた数のニューロンに結合され得る。畳み込みネットワーク３０６は、局所結合であり得、さらに、所与の層における各ニューロンに関連する結合強度が共有される特殊な場合である（たとえば、３０８）。より一般的には、ネットワークの局所結合層は、層における各ニューロンが同じまたは同様の（similar）結合性パターンを有するように構成されるが、異なる値を有し得る結合強度で構成され得る（たとえば、３１０、３１２、３１４、および３１６）。局所結合の結合性パターンは、所与の領域中の上位層ニューロンが、ネットワークへの総入力のうちの制限された部分のプロパティにトレーニングを通して調整された入力を受信し得るので、上位層において空間的に別個の受容野を生じ得る。
【００３３】
[0044]局所結合ニューラルネットワークは、入力の空間ロケーションが有意味である問題に好適であり得る。たとえば、車載カメラからの視覚特徴を認識するように設計されたネットワーク３００は、画像の下側部分対上側部分とのそれらの関連付けに依存して、異なるプロパティをもつ上位層ニューロンを発達させ（develop）得る。画像の下側部分に関連するニューロンは、たとえば、車線区分線を認識するように学習し得るが、画像の上側部分に関連するニューロンは、交通信号、交通標識などを認識するように学習し得る。
【００３４】
[0045]ＤＣＮは、教師あり学習を用いてトレーニングされ得る。トレーニング中に、ＤＣＮは、速度制限標識のクロップされた画像など、画像３２６を提示され得、次いで、出力３２８を生成するために、「フォワードパス」が計算され得る。出力３２８は、「標識」、「６０」、および「１００」など、特徴に対応する値のベクトルであり得る。ネットワーク設計者は、ＤＣＮが、出力特徴ベクトルにおけるニューロンのうちのいくつか、たとえば、トレーニングされたネットワーク３００のための出力３２８に示されているように「標識」および「６０」に対応するニューロンについて、高いスコアを出力することを希望し（want）得る。トレーニングの前に、ＤＣＮによって生成された出力は不正確である可能性があり、したがって、実際の出力とターゲット出力との間で誤差が計算され得る。次いで、ＤＣＮの重みは、ＤＣＮの出力スコアがターゲットとより密接に整合されるように調節され得る。
【００３５】
[0046]重みを適切に調節するために、学習アルゴリズムは、重みのための勾配ベクトルを計算し得る。勾配は、重みがわずかに調節された場合に、誤差が増加または減少する量を示し得る。最上層において、勾配は、最後から２番目の（penultimate）層における活性化されたニューロンと出力層におけるニューロンとを結合する重みの値に直接対応し得る。下位層では、勾配は、重みの値と、上位層の計算された誤差勾配とに依存し得る。次いで、重みは、誤差を低減するように調節され得る。重みを調節するこの様式は、それがニューラルネットワークを通して「バックワードパス」を伴うので、「バックプロパゲーション」と呼ばれることがある。
【００３６】
[0047]実際には、重みの誤差勾配は、計算された勾配が真の誤差勾配を近似するように、少数の例にわたって計算され得る。この近似方法は、確率的勾配降下（stochastic gradient descent）と呼ばれることがある。システム全体の達成可能な誤差レートが減少しなくなるまで、または誤差レートがターゲットレベルに達するまで、確率的勾配降下が繰り返され得る。
【００３７】
[0048]学習の後に、ＤＣＮは新しい画像３２６を提示され得、ネットワークを通したフォワードパスは、ＤＣＮの推論または予測と見なされ得る出力３２８をもたらし（yield）得る。
【００３８】
[0049]深層信念ネットワーク（ＤＢＮ：deep belief network）は、隠れノードの複数の層を備える確率モデルである。ＤＢＮは、トレーニングデータセットの階層表現を抽出するために使用され得る。ＤＢＮは、制限ボルツマンマシン（ＲＢＭ：Restricted Boltzmann Machine）の層を積層することによって取得され得る。ＲＢＭは、入力のセットにわたる確率分布を学習することができる人工ニューラルネットワークのタイプである。ＲＢＭは、各入力がそれにカテゴリー分類されるべきクラスに関する情報の不在下で確率分布を学習することができるので、ＲＢＭは、教師なし学習においてしばしば使用される。ハイブリッド教師なしおよび教師ありパラダイムを使用して、ＤＢＮの下部ＲＢＭは、教師なし様式でトレーニングされ得、特徴抽出器として働き得、上部ＲＢＭは、（前の層からの入力とターゲットクラスとの同時分布上で）教師あり様式でトレーニングされ得、分類器として働き得る。
【００３９】
[0050]深層畳み込みネットワーク（ＤＣＮ）は、追加のプーリング層および正規化層で構成された、畳み込みネットワークのネットワークである。ＤＣＮは、多くのタスクに関して最先端の性能を達成している。ＤＣＮは、入力と出力ターゲットの両方が、多くの標本について知られており、勾配降下方法の使用によってネットワークの重みを変更するために使用される、教師あり学習を使用してトレーニングされ得る。
【００４０】
[0051]ＤＣＮは、フィードフォワードネットワークであり得る。さらに、上記で説明されたように、ＤＣＮの第１の層におけるニューロンから次の上位層におけるニューロンのグループへの結合は、第１の層におけるニューロンにわたって共有される。ＤＣＮのフィードフォワードおよび共有結合は、高速処理のために活用され得る。ＤＣＮの計算負担は、たとえば、リカレントまたはフィードバック結合を備える同様のサイズのニューラルネットワークのそれよりもはるかに少ないことがある。
【００４１】
[0052]畳み込みネットワークの各層の処理は、空間的に不変のテンプレートまたは基底投射と見なされ得る。入力が、カラー画像の赤色、緑色、および青色チャネルなど、複数のチャネルに最初に分解された場合、その入力に関してトレーニングされた畳み込みネットワークは、画像の軸に沿った２つの空間次元と、色情報をキャプチャする第３の次元（third dimension）とをもつ、３次元であると見なされ得る。畳み込み結合の出力は、後続の層３１８、３２０、および３２２において特徴マップを形成すると考えられ、特徴マップ（たとえば、３２０）の各要素が、前の層（たとえば、３１８）における様々な（a range of）ニューロンから、および複数のチャネルの各々から入力を受信し得る。特徴マップにおける値は、整流（rectification）、ｍａｘ（０，ｘ）など、非線形性を用いてさらに処理され得る。隣接するニューロンからの値は、さらにプールされ得３２４、これは、ダウンサンプリングに対応し、さらなる局所不変性と次元削減とを与え得る。白色化に対応する正規化はまた、特徴マップにおけるニューロン間のラテラル抑制によって適用され得る。
【００４２】
[0053]深層学習アーキテクチャの性能は、より多くのラベリングされたデータポイントが利用可能となるにつれて、または計算能力が増加するにつれて、向上し得る。現代の深層ニューラルネットワークは、ほんの１５年前に一般的な研究者にとって利用可能であったものより数千倍も大きいコンピューティングリソースを用いて、ルーチン的にトレーニングされる。新しいアーキテクチャおよびトレーニングパラダイムが、深層学習の性能をさらに高め得る。整流された線形ユニット（rectified linear unit）は、勾配消失（vanishing gradients）として知られるトレーニング問題を低減し得る。新しいトレーニング技法は、過学習（over-fitting）を低減し、したがって、より大きいモデルがより良い汎化を達成することを可能にし得る。カプセル化技法は、所与の受容野においてデータを抽出し、全体的性能をさらに高め得る。
【００４３】
[0054]図３Ｂは、例示的な深層畳み込みネットワーク３５０を示すブロック図である。深層畳み込みネットワーク３５０は、結合性および重み共有に基づく、複数の異なるタイプの層を含み得る。図３Ｂに示されているように、例示的な深層畳み込みネットワーク３５０は、複数の畳み込みブロック（たとえば、Ｃ１およびＣ２）を含む。畳み込みブロックの各々は、畳み込み層と、正規化層（ＬＮｏｒｍ）と、プーリング層とで構成され得る。畳み込み層は、１つまたは複数の畳み込みフィルタを含み得、これは、特徴マップを生成するために入力データに適用され得る。２つの畳み込みブロックのみが示されているが、本開示はそのように限定しておらず、代わりに、設計選好に従って、任意の数の畳み込みブロックが深層畳み込みネットワーク３５０中に含まれ得る。正規化層は、畳み込みフィルタの出力を正規化するために使用され得る。たとえば、正規化層は、白色化またはラテラル抑制を行い得る。プーリング層は、局所不変性および次元削減のために、空間にわたってダウンサンプリングアグリゲーションを行い得る。
【００４４】
[0055]たとえば、深層畳み込みネットワークの並列フィルタバンクは、高性能および低電力消費を達成するために、随意にＡＲＭ命令セットに基づいて、ＳＯＣ１００のＣＰＵ１０２またはＧＰＵ１０４にロードされ得る。代替実施形態では、並列フィルタバンクは、ＳＯＣ１００のＤＳＰ１０６またはＩＳＰ１１６にロードされ得る。さらに、ＤＣＮは、センサー１１４およびナビゲーション１２０に専用の処理ブロックなど、ＳＯＣ上に存在し得る他の処理ブロックにアクセスし得る。
【００４５】
[0056]深層畳み込みネットワーク３５０はまた、１つまたは複数の全結合層（たとえば、ＦＣ１およびＦＣ２）を含み得る。深層畳み込みネットワーク３５０は、ロジスティック回帰（ＬＲ）層をさらに含み得る。深層畳み込みネットワーク３５０の各層の間には、更新されるべき重み（図示せず）がある。各層の出力は、第１の畳み込みブロックＣ１において供給された入力データ（たとえば、画像、オーディオ、ビデオ、センサーデータおよび／または他の入力データ）から階層特徴表現を学習するために、深層畳み込みネットワーク３５０中の後続の（succeeding）層の入力として働き得る。
【００４６】
[0057]図４は、人工知能（ＡＩ）機能をモジュール化し得る例示的なソフトウェアアーキテクチャ４００を示すブロック図である。アーキテクチャを使用して、ＳＯＣ４２０の様々な処理ブロック（たとえば、ＣＰＵ４２２、ＤＳＰ４２４、ＧＰＵ４２６および／またはＮＰＵ４２８）に、アプリケーション４０２のランタイム動作中に計算をサポートすることを実行させ得るアプリケーション４０２が設計され得る。
【００４７】
[0058]ＡＩアプリケーション４０２は、たとえば、デバイスが現在動作するロケーションを示すシーンの検出および認識を与え得る、ユーザ空間４０４において定義されている機能を呼び出すように構成され得る。ＡＩアプリケーション４０２は、たとえば、認識されたシーンがオフィス、講堂、レストラン、または湖などの屋外環境であるかどうかに応じて別様に、マイクロフォンおよびカメラを構成し得る。ＡＩアプリケーション４０２は、現在のシーンの推定を与えるために、ＳｃｅｎｅＤｅｔｅｃｔアプリケーションプログラミングインターフェース（ＡＰＩ）４０６において定義されているライブラリに関連するコンパイルされたプログラムコードへの要求を行い得る。この要求は、たとえば、ビデオおよび測位データに基づくシーン推定を与えるように構成された深層ニューラルネットワークの出力に最終的に依拠し得る。
【００４８】
[0059]さらに、ランタイムフレームワークのコンパイルされたコードであり得るランタイムエンジン４０８が、ＡＩアプリケーション４０２にとってアクセス可能であり得る。ＡＩアプリケーション４０２は、たとえば、ランタイムエンジンに、特定の時間間隔における、またはアプリケーションのユーザインターフェースによって検出されたイベントによってトリガされた、シーン推定を要求させ得る。シーンを推定させられたとき、ランタイムエンジンは、ＳＯＣ４２０上で実行している、Ｌｉｎｕｘ（登録商標）カーネル４１２など、オペレーティングシステム４１０に信号を送り得る。オペレーティングシステム４１０は、ＣＰＵ４２２、ＤＳＰ４２４、ＧＰＵ４２６、ＮＰＵ４２８、またはそれらの何らかの組合せ上で、計算を実行させ得る。ＣＰＵ４２２は、オペレーティングシステムによって直接アクセスされ得、他の処理ブロックは、ＤＳＰ４２４のための、ＧＰＵ４２６のための、またはＮＰＵ４２８のためのドライバ４１４〜４１８など、ドライバを通してアクセスされ得る。例示的な例では、深層ニューラルネットワークは、ＣＰＵ４２２およびＧＰＵ４２６など、処理ブロックの組合せ上で動作するように構成され得るか、または存在する場合、ＮＰＵ４２８上で動作させられ得る。
【００４９】
[0060]図５は、スマートフォン５０２上のＡＩアプリケーションのランタイム動作５００を示すブロック図である。ＡＩアプリケーションは、画像５０６のフォーマットを変換し、次いで画像５０８をクロップおよび／またはリサイズするように（たとえば、ＪＡＶＡ（登録商標）プログラミング言語を使用して）構成され得る前処理モジュール５０４を含み得る。次いで、前処理された画像は、視覚入力に基づいてシーンを検出および分類するように（たとえば、Ｃプログラミング言語を使用して）構成され得るＳｃｅｎｅＤｅｔｅｃｔバックエンドエンジン５１２を含んでいる分類アプリケーション５１０に通信され得る。ＳｃｅｎｅＤｅｔｅｃｔバックエンドエンジン５１２は、スケーリング５１６およびクロッピング５１８によって、画像をさらに前処理５１４するように構成され得る。たとえば、画像は、得られた画像が２２４ピクセル×２２４ピクセルであるように、スケーリングされ、クロップされ得る。これらの次元は、ニューラルネットワークの入力次元にマッピングし得る。ニューラルネットワークは、ＳＯＣ１００の様々な処理ブロックに、深層ニューラルネットワークを用いて画像ピクセルをさらに処理させるように、深層ニューラルネットワークブロック５２０によって構成され得る。次いで、深層ニューラルネットワークの結果は、しきい値処理５２２され、分類アプリケーション５１０中の指数平滑化ブロック５２４を通され得る。次いで、平滑化された結果は、スマートフォン５０２の設定および／またはディスプレイの変更を生じ得る。
【００５０】
[0061]一構成では、深層畳み込みネットワークなど、機械学習モデルは、深層畳み込みネットワークの各層において入力画像に適用されるべき低減ファクタを動的に選択することと、各層のために選択された低減ファクタに基づいて深層畳み込みネットワークを調節することとを行うために構成される。モデルは、動的選択手段および／または調節手段を含む。一態様では、動的選択手段および／または調節手段は、具陳された（recited）機能を実行するように構成された、汎用プロセッサ１０２、汎用プロセッサ１０２に関連するプログラムメモリ、メモリブロック１１８、ローカル処理ユニット２０２、およびまたはルーティング接続処理ユニット２１６であり得る。別の構成では、上述の手段は、上述の手段によって具陳された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
【００５１】
[0062]本開示のいくつかの態様によれば、各ローカル処理ユニット２０２は、モデルの所望の１つまたは複数の機能的特徴に基づいてニューラルネットワークのパラメータを決定し、決定されたパラメータがさらに適合、調整および更新されるように、１つまたは複数の機能的特徴を所望の機能的特徴のほうへ（toward）発達させるように構成され得る。
深層畳み込みネットワークのための画像解像度低減
[0063]前に説明したように、深層畳み込みネットワーク（ＤＣＮ）は、ニューラルネットワークのための画像分類および／または顔認識のために使用され得る。画像分類および／または顔認識の場合、画像解像度が入力画像のために指定される。さらに、異なる画像解像度がＤＣＮ内の様々な層のために指定され得る。
【００５２】
[0064]図６Ａは、元のＤＣＮ６００と調節されたＤＣＮ６０２との一例を示す。もちろん、従来のＤＣＮの層は、より多いまたはより少ない層および成分（components）が指定され得るので、図６Ａに示されている層に限定されない。調節されたＤＣＮ６０２は、元のＤＣＮ６００の複雑さよりも大きいまたは小さい複雑さを有し得る。
【００５３】
[0065]図６Ａに示されているように、元のＤＣＮ６００は、３つのチャネルをもつ２５６ピクセル×２５６ピクセル（２５６×２５６）のサイズを有する入力画像を受信する。チャネルは、赤色、緑色、および青色など、異なる色を表す。チャネルは、画像の色および／または画像に適用されるフィルタに応じてより多いまたはより少ないことがある。さらに、図６Ａに示されているように、画像は、１のストライド（stride）を有する第１の畳み込み層６０４に入力される。ストライドは、サブサンプリングの量を指す。すなわち、ストライドは、出力画像のサイズと入力画像のサイズとの比率である。この例では、入力画像は２５６×２５６のサイズを有し、出力画像は２５６×２５６のサイズを有する。したがって、ストライドは１である。すなわち、ストライドが１である場合、サブサンプリングは実行されない。
【００５４】
[0066]さらに、図６Ａに示されているように、第１の畳み込み層６０４からの出力は、３２個のチャネルを有する。たいていの場合、フィルタが各チャネルに適用される。したがって、図６Ａの例では、３２個のフィルタが画像に適用される。さらに、第１の畳み込み層６０４からの出力は、第１のプール層６０６に入力される。図６Ａに示されているように、各層から出力される画像サイズとチャネルの数とは、ストライドファクタおよび／または他のファクタに基づいて変化し得る。
【００５５】
[0067]図６Ａに示されているように、各層に入力される画像のサイズは、異なり得る。さらに、各層は、特定の層の動作を実行するために、入力画像サイズに基づいて入力画像の特定の部分を使用し得る。たとえば、図６Ａに示されているように、第２の畳み込み層６１２に入力された画像は、６４×６４のサイズを有する。さらに、第２の畳み込み層６１２から出力された画像のサイズは、３２×３２である。
【００５６】
[0068]さらに、図６Ａは、元のＤＣＮ６００の層に低減ファクタを適用することによって生成され得る、調節されたＤＣＮ６０２を示す。低減ファクタは、各層に入力される画像のサイズを変更する。たとえば、図６Ａに示されているように、第１のプール層６０６に入力された画像は、２５６×２５６のサイズを有する。さらに、調節されたＤＣＮ６０２の場合、第１の調節されたプール層６０８に入力される画像が１２８×１２８になるように、２の低減ファクタ（a reduction factor of two）が第１の調節されたプール層６０８に適用される。したがって、第１の調節されたプール層６０８に２の低減ファクタを適用することによって、第１の調節された畳み込み層６１０のストライドは、２に調節される（たとえば、出力画像サイズ／入力画像サイズ）。
【００５７】
[0069]図６Ａおよび図６ＢのＤＣＮは、例示的なＤＣＮである。もちろん、層の数など、ＤＣＮのサイズは例に限定されない。本開示の態様は、任意のサイズのＤＣＮのために企図される。
【００５８】
[0070]一構成では、特定の層の低減ファクタは、特定の層に入力される画像のサイズを調節する。たとえば、ｎ×ｎが、元の（original）ネットワークにおける層の入力画像サイズであり、ｒが低減ファクタである。この例では、調節されたＤＣＮにおけるこの層の入力画像サイズは、
【００５９】
【数１】
0006732795.tif 000002
【００６０】
であり、ここで、
【００６１】
【数２】
0006732795.tif 000003
【００６２】
はシーリング演算子を表す。
【００６３】
[0071]上述の層は、入力としてより低解像度の画像を予想するので、先行する層の複雑さは、少なくともｒ2のファクタで低減され得る。すなわち、先行する層は、ｎ2アクティブ化値の代わりに、ｎ2／ｒ2アクティブ化値を計算する。したがって、図６Ａに示されているように、第１の調節されたプール層６０８への入力が、２だけ低減されるので、第１の調節された畳み込み層６１０の出力も、２だけ低減される。したがって、低減ファクタは、１つの層への入力と先行する層の出力とを調節する。
【００６４】
[0072]図６Ｂは、畳み込み層の一例を示す。図６Ｂに示されているように、ｉ番目の入力マップＸiは、重み行列Ｗijを用いて畳み込まれ、ｊ番目の出力マップＹjに追加される。重み行列は、畳み込みカーネル（convolution kernel）とも呼ばれる。さらに、重み行列のサイズ（ｋ×ｋ）は、カーネルサイズと呼ばれる。図６Ｂに示されているように、畳み込み層は、入力ｘ1〜ｘnとして複数の画像６２０〜６２４を受信し、複数の画像チャネルｙ1〜ｙmを出力する。各出力画像は、入力画像の各々に対して畳み込みフィルタを適用することと、畳み込みを追加することとによって計算される。
【００６５】
[0073]計算複雑さの増加にもかかわらず、従来のＤＣＮは、画像の分類を改善するためにより高解像度の画像を使用し得る。いくつかの場合には、ＤＣＮは、低減された詳細をもつ３２×３２入力画像内に数字３が存在するかどうかを決定するという（of）タスクを有し得る。この例では、画像のサイズは分類を改善しないことがある。他の場合には、風景または複数のオブジェクトをもつ画像など、増加された詳細をもつ画像の場合、画像分類を改善するために、増加された画像サイズが指定される。
【００６６】
[0074]一般に、２５６×２５６以上（or higher）の画像サイズが、オブジェクト分類またはシーン分類などの適用例において使用される。概して、より高い画像解像度は、分類精度を改善するが、また、計算複雑さを増加させる。すなわち、ＤＣＮの精度は、入力画像のサイズが増加されるにつれて改善される。
【００６７】
[0075]限られたリソースをもつモバイルデバイスなど、いくつかのデバイスの場合、分類のために大きい画像を使用することが望ましくないことがある。したがって、性能影響（performance impact）を増加させることなしに、ＤＣＮの画像解像度を低減することが望ましい。すなわち、いくつかの場合には、ＤＣＮは、分類の性能の著しい減少なしに、より低解像度の画像を使用し得る。したがって、本開示の態様は、ＤＣＮの分類性能が性能しきい値よりも大きいままでありながら、より低解像度の画像上で動作するようにＤＣＮを調節することを対象とする。さらに、本開示の他の態様は、デバイス中の複数のＤＣＮの記憶を改善することを対象とする。
【００６８】
[0076]一構成では、画像解像度は、ＤＣＮの複雑さを調節するために様々な層において動的に低減される。さらに、この構成では、調節されたＤＣＮの分類性能が性能しきい値よりも大きくなるように、特定の画像解像度が選択される。本開示の態様によれば、低減ファクタは、入力画像解像度が低減される比率を指す。たとえば、２の低減ファクタが２８×２８画像に適用されたとき、低減された画像は１４×１４のサイズを有する。別の例として、３の低減ファクタが３０×３０画像に適用された場合、低減された画像は１０×１０のサイズを有する。
【００６９】
[0077]ＤＣＮ内の異なる層が異なる低減ファクタを有し得ることに留意されたい。すなわち、低減ファクタは層固有である。一構成では、低減ファクタを選択することと、選択された低減ファクタに基づいてＤＣＮを調節することとのために、内部ループ（inner-loop）と外部ループ（outer-loop）とが指定される。
【００７０】
[0078]一構成では、外部ループが低減ファクタを選択する。この構成では、外部ループは、様々な低減ファクタに基づいて、より高い複雑さのＤＣＮおよびより低い複雑さのＤＣＮなど、調節されたＤＣＮを取得するために使用される。
【００７１】
[0079]さらに、一構成では、内部ループは、ＤＣＮを調節するために、外部ループによって選択された低減ファクタを使用する。詳細には、この構成では、内部ループは、調節されたＤＣＮのアーキテクチャとシナプス重み値とを決定する。調節されたＤＣＮのアーキテクチャとシナプス重み値とを決定した後に、内部ループは、調節されたＤＣＮについて計算複雑さと分類性能の差とを外部ループに出力する。受信された出力に基づいて、外部ループは、調節されたＤＣＮの性能が性能しきい値よりも大きいかどうかを決定し得る。この構成では、調節されたＤＣＮの性能が性能しきい値よりも大きい場合、低減ファクタが選択される。
【００７２】
[0080]一構成では、外部ループは、様々な低減ファクタをランダムに選択し、ランダムに選択された低減ファクタのために内部ループを呼び出す。たとえば、外部ループは、第１の層のために２の低減ファクタ、第２の層のために３の低減ファクタ、および第３の層のために４の低減ファクタをランダムに選択し得る。ランダムに選択された低減ファクタを受信したことに応答して、内部ループは、受信された低減ファクタに基づいてＤＣＮモデルを調節する。いくつかの場合には、低減ファクタは分数であり得る。
【００７３】
[0081]各調節されたＤＣＮモデルについて、内部ループは、元の画像解像度と低減された画像解像度との間の分類性能の差を出力する。さらに、内部ループは、各調節されたＤＣＮモデルについて計算複雑さを出力する。
【００７４】
[0082]図７は、ＤＣＮによって実行される乗算の数など、計算複雑さと、分類精度など、ＤＣＮの分類性能とに基づいて外部ループから生成されたグラフ７００の一例を示す。分類性能は、分類精度以外のメトリックであり得る。たとえば、分類性能は、分類誤差に基づいて計算され得る。さらに、計算複雑さは、ＤＣＮによって実行される乗算の数以外のメトリックであり得る。たとえば、計算複雑さは、乗算の理論的に計算された数または経験的に測定されたランタイムであり得る。
【００７５】
[0083]図７に示されているように、外部ループは、元の画像解像度に基づいて元のＤＣＮ７０２についてのＤＣＮ性能をプロットし得る。たとえば、元のＤＣＮ７０２は、８５％の分類性能を有し、１００の計算複雑さを有し得る。本開示の態様によれば、より低い計算複雑さは、より高い計算複雑さよりも望ましい。さらに、本例では、より高い分類性能は、より低い分類性能よりも望ましい。
【００７６】
[0084]さらに、本構成では、外部ループは、内部ループに低減ファクタの複数のセットを与え得る。たとえば、外部ループは、内部ループに、ランダムに選択された低減ファクタの１００個のセットを与え得る。低減ファクタの各セットは、各層について異なる低減ファクタを含み得る。さらに、本構成では、低減ファクタの各セットについて、内部ループは、低減ファクタの所与のセットから調節された複雑さを有するＤＣＮについて、計算複雑さと分類性能とを出力する。
【００７７】
[0085]本構成では、内部ループの出力に基づいて、外部ループは、低減ファクタの所与のセットに基づく各モデルについてのＤＣＮ性能をプロットし得る。本構成では、外部ループは、分類性能対複雑さ曲線のパレート（Pareto）境界などの境界上にないモデルのプロットを削除することによって、プロットをプルーニングし得る。
【００７８】
[0086]図７に示されているように、分類性能対複雑さ曲線の境界７２２は、元のＤＣＮ７０２についてのＤＣＮ性能プロットに基づいて指定される。図７に示されているように、境界７２２（たとえばパレート境界）のあらかじめ定義された距離内にあるプロット７０４〜７２０は、維持される。さらに、境界７２２のあらかじめ定義された距離外にあるプロット７２４〜７３２は、無視される。境界はグラフの特定のモデルに限定されず、本開示の態様は、各モデルのための境界を決定することを対象とすることに留意されたい。さらに、モデルは、ネットワークおよび／またはＤＣＮと呼ばれることがある。
【００７９】
[0087]境界のあらかじめ定義された距離外にあるプロットをプルーニングした後に、外部ループは、性能しきい値よりも大きい性能をもつ低減ファクタの１つまたは複数のセットを選択し得る。性能しきい値は、計算複雑さおよび／または分類性能に基づき得る。
【００８０】
[0088]たとえば、図７に基づいて、元のＤＣＮ７０２について、しきい値は分類性能に基づき得、したがって、調節されたＤＣＮの分類性能が８０％よりも大きいかまたはそれに等しいときに低減ファクタが選択される。したがって、図７の例に基づいて、外部ループは、第１のプロット７０４、第２のプロット７０６、第３のプロット７０８、第４のプロット７１０、および第５のプロット７１２に関連する低減ファクタを選択し得る。内部ループの出力に基づく低減ファクタの選択はオフラインで実行され得、したがって、調節されたＤＣＮが必要に応じて（desired）オンライン動作中に選択され得る。
【００８１】
[0089]別の構成では、外部ループは、ヒューリスティックに基づいて低減ファクタを選択する。本開示の一態様によれば、外部ループは、様々な層の計算複雑さに基づいて低減ファクタを選択する。たとえば、いくつかの層は、他の層と比較してより高い複雑さを有する。したがって、調節される層のために低い画像解像度を選択することは、システムに有害で（detrimental）あり得る。したがって、本構成では、外部ループは、より高い複雑さをもつ層のためにより高い低減ファクタを選択し、より低い複雑さをもつ層のためにより低い低減ファクタを選択する。
【００８２】
[0090]別の構成では、外部ループは、特定の層への例示的な入力画像の周波数スペクトルを観測することによって、特定の層の低減ファクタを決定し得る。たとえば、ネットワークは、複数の画像をＤＣＮモデルに入力し得、外部ループは、ＤＣＮモデルにおいて所与の層における各画像の周波数スペクトルを観測し得る。この構成では、画像が、周波数スペクトルのより高い周波数中に増加された数のピクセルを有する場合、画像解像度を低減することは、画像コントラストなど、画像情報が失われ得るので、望ましくないことがある。すなわち、より低解像度の画像を使用することによって、周波数スペクトル中のより高い周波数は無視される。したがって、ｒの低減ファクタで画像の解像度を低減することは、下位の（lower）１／ｒの周波数が保持され、残りの上部（top）周波数が無視されることを暗示する。
【００８３】
[0091]したがって、各層において、外部ループは、画像が、増加された数の高周波成分を有するのか増加された数の低周波成分を有するのかを決定する。より詳細には、各画像のエネルギースペクトルが、各層において計算される。計算されたエネルギースペクトルは、２Ｄ画像を生じ得る。
【００８４】
[0092]図８は、本開示の一態様に基づく、画像のエネルギースペクトルのグラフ８００を示す。図８に示されているように、グラフ８００のｘ軸とｙ軸とは、異なる周波数成分である。（０，０）により近い値は低周波成分と見なされ、（０，０）からより遠い値は高周波成分と見なされる。一構成では、外部ループは、画像のための低エネルギースペクトル中のエネルギーの量と高エネルギースペクトル中のエネルギーの量とを決定するために、すべてのチャネルにわたってエネルギースペクトルを平均化する。
【００８５】
[0093]図８の例では、画像の全エネルギースペクトルは、グラフ８００のエネルギー境界８０２内のエネルギースペクトルであり得る。したがって、この例では、２の低減ファクタｒが画像に適用される場合、第１の低減ファクタ境界８０４内の低エネルギー成分ＥLのみが、画像のために保たれる。すなわち、第１の低減ファクタ境界８０４外の高い成分ＥHは、画像のために無視される。
【００８６】
[0094]別の例として、３の低減ファクタｒが画像に適用される場合、第２の低減ファクタ境界８０６内の低エネルギー成分ＥLのみが、画像のために保たれる。すなわち、第２の低減ファクタ境界８０６外の高い成分ＥHは、画像のために無視される。
【００８７】
[0095]したがって、所与の低減ファクタについて、外部ループは、高エネルギー成分の部分（fraction）と、高エネルギー成分と低エネルギー成分との和とに基づいて、エネルギー低減値を計算する（たとえば、
【００８８】
【数３】
0006732795.tif 000004
【００８９】
）。本構成では、エネルギー低減値がしきい値よりも小さい場合、低減ファクタは、低減が高エネルギー成分の損失を増加させないので、望ましいことがある。さらに、エネルギー低減値がしきい値よりも大きい場合、低減ファクタは、低減が高エネルギー成分の損失を増加させ得るので、望ましくないことがある。したがって、本開示の一態様によれば、各層のために、外部ループは、各層についてのエネルギー低減値がしきい値よりも小さいかどうかに基づいて低減ファクタｒを選択する。エネルギー成分は、周波数成分と呼ばれることがある。
【００９０】
[0096]詳細には、層のために低減ファクタｒを決定するとき、外部ループは、無視される上位の周波数中のエネルギーの割合がしきい値よりも小さいかどうかに基づいて、最も高いｒを選択する。しきい値パラメータは、漸進的な（incremental）複雑さをもつＤＣＮモデルのシーケンスを取得するように制御され得る。すなわち、より高いしきい値はより高い低減ファクタを生じ、これにより（which in turn）、より低い複雑さのモデルが生じる。
【００９１】
[0097]さらに、各層のために低減ファクタを選択した後に、外部ループは、ＤＣＮの複雑さを調節するために、選択された低減ファクタを内部ループに送信する。
【００９２】
[0098]また別の構成では、外部ループは、計算複雑さと周波数スペクトルの両方に基づいて低減ファクタを選択する。
【００９３】
[0099]さらに、一構成では、内部ループは、受信された低減ファクタに基づいてＤＣＮモデルの複雑さを調節するための様々な段（stages）を含む。一構成では、低減ファクタを受信した後に、内部ループは、全結合層、畳み込み層、および局所結合層など、各重み層において重みを調節する。重みは、より低解像度の入力画像に基づいて調節される。重みは、上位層を下位層に結合するシナプスの重み、重み行列の次元、および／または重み行列の値を指す。さらに、画像のサイズを調節するとき、層におけるフィルタは、その層のための受信された低減ファクタに基づいて計算された、調節された解像度フィルタと交換され得る。
【００９４】
[00100]一例として、畳み込み層の低減ファクタは２であり、したがって、畳み込み層は、２のファクタで低減された解像度を有する画像を受信することになる。所与の層の重みは、より高解像度の入力画像に対してトレーニングされるので、重みは、より低解像度の入力画像にマッチするように変更されるべきである。
【００９５】
[00101]図９は、元のＤＣＮの畳み込み層などの層に入力される元の解像度をもつ画像９０２の一例を示す。図９の例は、図６Ａの第２の畳み込み層６１２と調節された第２の畳み込み層６１４とに基づき得る。図６Ａに示されているように、第２の畳み込み層６１２への入力画像は、６４×６４のサイズを有する。さらに、図６Ａに示されているように、調節された第２の畳み込み層６１４が、３２×３２のサイズを有する入力画像を受信するように、２の低減ファクタが第２の畳み込み層に適用され得る。
【００９６】
[00102]図９に示されているように、元の画像は７×７のサイズを有する。さらに、図９に示されているように、元の畳み込み層のカーネル９０４は、３×３のサイズを有する（たとえば、ｋ×ｋ）。図９は、畳み込み層の出力９０６をも示す。図９のピクセルサイズは、画像サイズとカーネルサイズとが図６Ａの上述の層にマッピングすることが意図されるときの、説明のためのもの（for illustrative purposes）である。
【００９７】
[00103]本開示の態様に基づいて、低減ファクタがｒである場合、入力画像サイズは、ｎ×ｎから
【００９８】
【数４】
0006732795.tif 000005
【００９９】
に調節される。さらに、カーネルサイズも、同じファクタで、ｋ×ｋから
【０１００】
【数５】
0006732795.tif 000006
【０１０１】
に調節される。すなわち、重み行列の次元は、ｋ×ｋから
【０１０２】
【数６】
0006732795.tif 000007
【０１０３】
に調節（たとえば、ダウンサンプリング）され得る。
【０１０４】
[00104]図９は、より低い複雑さのＤＣＮの畳み込み層などの層に入力される低減された解像度をもつ画像９０８の一例をも示す。図９に示されているように、より低解像度の画像９０８は、２の低減ファクタが適用された後に、４×４のサイズを有する。さらに、図９に示されているように、２×２のサイズを有する変更されたカーネル９１０が、２の低減ファクタに基づいて画像に適用される。最終的に、図９に示されているように、畳み込み層はまた、出力９１２を生成する。
【０１０５】
[00105]図９に示されているように、元のＤＣＮの場合、出力９０６は、カーネル９０４内の９つのピクセルから計算される。さらに、調節されたＤＣＮの場合、出力９１２は、カーネル９１０中の４つのピクセルから計算される。図９は、１つのチャネルを示すにすぎない。もちろん、本開示の態様は、出力を生成するためにチャネルをアグリゲートするために企図される。
【０１０６】
[00106]図９に示されているように、調節されたＤＣＮは、元のＤＣＮと比較して、より少ないピクセルを使用して出力９１２を計算する。より低い数のピクセルに適応するために、一構成では、畳み込み層における重み行列は、同じ低減ファクタでダウンサンプリングされる。一例として、畳み込み層のカーネルサイズがｋ×ｋである場合、重み行列は
【０１０７】
【数７】
0006732795.tif 000008
【０１０８】
にダウンサンプリングされ、ここで、
【０１０９】
【数８】
0006732795.tif 000009
【０１１０】
はシーリング演算子を表す。重み行列のダウンサンプリングは、同期補間または双一次補間など、画像リサイジングのための画像処理のために指定される標準的方法を使用して達成され得る。
【０１１１】
[00107]別の構成では、調節されたネットワークの重み行列を取得するために、トレーニングデータが使用される。詳細には、トレーニングデータは、元のＤＣＮの畳み込み層に入力されると考えられる、より高解像度の入力画像を計算するために使用され得る。より低解像度の入力画像中に保持されたピクセルから、失われた（missing）ピクセルへの線形マッピングを取得するために、最小２乗など、標準的回帰ツールが指定され得る。失われたピクセルは、より高解像度の画像中に存在したが、より低解像度の画像中にもはや存在しないピクセルを指す。線形マッピングは、調節された解像度重み行列を取得するために、より高解像度の重み行列のために指定され得る。
【０１１２】
[00108]別の例として、元の画像サイズが２８×２８であり得、フィルタが３×３であり得る。さらに、本例では、２の低減ファクタが画像に適用され、したがって、画像サイズが１４×１４である場合、所与の層におけるフィルタは、新しい１４×１４画像に適応するように調節され得る。
【０１１３】
[00109]さらに、いくつかの層は、重みを含まないが、入力画像解像度に依存し得る。たとえば、受信された画像をダウンサンプリングするために、プーリング層が使用され得る。したがって、プーリング層は入力画像解像度に依存し得る。さらに、内部ループは、より低解像度の画像とともに動作するために、プーリング層など、入力画像解像度に依存する非重み付き（non-weighted）層における結合をトリミングし（trim）得る。トリミングは、その層のための受信された低減ファクタに基づいて実行される。内部ループは、入力画像解像度に依存しない、ニューロンまたはｒnormなどの他の層タイプを変更しないことに留意されたい。
【０１１４】
[00110]一例では、サブサンプリング層および／またはプーリング層の変更は、畳み込み層の変更と同様に実行され得る。図９は、高解像度画像を受信する元のＤＣＮのサブサンプル層および／またはプーリング層、ならびにより低解像度の画像を受信するより低い複雑さのＤＣＮのサブサンプル層および／またはプーリング層の一例を示す。
【０１１５】
[00111]図９の例は、図６Ａの第１のプール層６０６と調節された第１のプール層６０８とに基づき得る。図６Ａに示されているように、第１のプール層６０６への入力画像は、２５６×２５６のサイズを有する。さらに、図６Ａに示されているように、調節された第１のプール層６０８が、１２８×１２８のサイズを有する入力画像を受信するように、２の低減ファクタが第１のプール層に適用され得る。
【０１１６】
[00112]図９は、元のＤＣＮの、プール層などの、層に入力される元の解像度をもつ画像９０２の一例を示す。図９に示されているように、元の画像は７×７のサイズを有する。さらに、図９に示されているように、元のプール層のカーネル９０４は、３×３のサイズを有する（たとえば、ｋ×ｋ）。図９は、プール層の出力９０６をも示す。図９のピクセルサイズは、画像サイズとカーネルサイズとが図６Ａの上述の層にマッピングすることが意図されるときの、説明のためのものである。
【０１１７】
[00113]本開示の態様に基づいて、低減ファクタがｒである場合、入力画像サイズは、ｎ×ｎから
【０１１８】
【数９】
0006732795.tif 000010
【０１１９】
に低減される。さらに、カーネルサイズも、同じファクタで、ｋ×ｋから
【０１２０】
【数１０】
0006732795.tif 000011
【０１２１】
に低減される。すなわち、重み行列の次元は、ｋ×ｋから
【０１２２】
【数１１】
0006732795.tif 000012
【０１２３】
に調節（たとえば、ダウンサンプリング）され得る。
【０１２４】
[00114]図９は、調節されたＤＣＮの、プール層など、の層に入力される低減された解像度をもつ画像９０８の一例をも示す。図９に示されているように、より低解像度の画像は、２の低減ファクタが適用された後に、４×４のサイズを有する。さらに、図９に示されているように、２×２のサイズを有する変更された（modified）カーネル９１０が、２の低減ファクタに基づいて画像に適用される。最終的に、図９に示されているように、プール層はまた、出力９１２を生成する。
【０１２５】
[00115]図９に示されているように、元のＤＣＮの場合、出力９０６は、カーネル９０４内の９つのピクセルから計算される。さらに、調節されたＤＣＮの場合、出力９１２は、カーネル９１０中の４つのピクセルから計算される。図９は、１つのチャネルを示すにすぎない。もちろん、本開示の態様は、出力を生成するためにチャネルをアグリゲートするために企図される。
【０１２６】
[00116]図９に示されているように、調節されたＤＣＮは、元のＤＣＮと比較して、より少ないピクセルを使用して出力９１２を計算する。より低い数のピクセルに適応するために、一構成では、プーリングカーネルのサイズは、調節されたネットワークにおいてプーリング動作のタイプが保持されるように、ｋ×ｋから
【０１２７】
【数１２】
0006732795.tif 000013
【０１２８】
に低減され、ここで、ｒは低減ファクタである。すなわち、元のＤＣＮにおけるプール層が、平均プーリングまたは最大プーリングなど、特定のプール動作を実行する場合、調節されたＤＣＮにおけるプール層も同じ動作を実行する。
【０１２９】
[00117]最終的に、層における調節されたフィルタおよび結合に基づいて、ＤＣＮが調節される。ＤＣＮの複雑さを調節した後に、ＤＣＮはエンドツーエンドで微調整される。微調整は、調節されたＤＣＮのトレーニングをトレーニングサンプルに対して続けることを指す。調節されたＤＣＮのためのトレーニングサンプルに対するパスの数は、元のＤＣＮのパスの数よりも小さくなり得る。さらに、トレーニングサンプルは、元のトレーニングサンプルおよび／または新しいトレーニングサンプルを含み得る。調節されたＤＣＮを微調整した後に、内部ループは、元のＤＣＮと調節されたＤＣＮとの間の分類性能の差を決定することが可能であり得る。ＤＣＮを微調整するために、バックプロパゲーションなど、トレーニングシステムが使用され得ることに留意されたい。
【０１３０】
[00118]本開示の一態様によれば、微調整は特定の層に適用され、したがって、選択されない層の重みは一定（constant）のままである。一構成では、畳み込み層は微調整され、全結合層は微調整されない。
【０１３１】
[00119]様々な調節されたＤＣＮを決定した後に、調節されたＤＣＮの記憶を改善することが望ましい。たいていの場合、調節されたＤＣＮは、共通のベースモデルから導出される。したがって、調節されたＤＣＮと元のＤＣＮとは合同で（jointly）記憶され得、したがって、全体的メモリフットプリントは、調節されたＤＣＮおよび元のＤＣＮなど、各ＤＣＮを個別に記憶することと比較して低減される。
【０１３２】
[00120]一構成では、元のＤＣＮは、１つまたは複数の調節されたＤＣＮとともに記憶される。各記憶されたＤＣＮは、特定の機能または性能要件（performance considerations）に基づいて、必要に応じて使用され得る。さらに、複数のＤＣＮを記憶するとき、メモリ使用量が考慮されるべきである。
【０１３３】
[00121]前に説明したように、記憶されたＤＣＮは、共通のベースモデルから導出され得る。したがって、同じ値が２回以上記憶されないように、合同記憶が指定され得る。詳細には、本開示の態様に基づいて、画像解像度の低減は、入力が画像解釈を有する層に適用される。したがって、画像低減は、全結合層の入力が画像解像度に依存しないので、全結合層の大部分に適用可能でないことがある。すなわち、全結合層は、計算複雑さに関して低いが、高いメモリフットプリントを有し得る。たとえば、全結合層は、割り振られたメモリの約９０パーセントを使用し得る。
【０１３４】
[00122]したがって、記憶を改善するために、前に説明したように、全結合層は微調整段中に含まれない。すなわち、全結合層の重みは、元のＤＣＮと同じであるように維持され得る。したがって、全結合層パラメータは、共通ベースモデルから導出されるすべての調節されたＤＣＮにわたって同じである。
【０１３５】
[00123]したがって、一構成では、調節されたネットワークは、全結合層パラメータを共有するように指定される。すなわち、調節されたＤＣＮと元のＤＣＮとのすべてについて、同じ全結合層パラメータが記憶される。したがって、ＤＣＮは合同で記憶され、メモリフットプリントを低減し得る。さらに、畳み込み層が、各ＤＣＮ（たとえば、調節されたＤＣＮおよび元のＤＣＮ）について別個に記憶され得る。
【０１３６】
[00124]本開示の態様は、限られたメモリ、電力およびコンピューティングリソースをもつモバイルデバイスなど、様々なデバイスのために指定され得る。いくつかの場合には、モバイルデバイスは、動的なリソースおよびレイテンシ制約を有し得る。たとえば、いくつかのシナリオでは、ロボットが、答えがあまり正確でない場合でも速い答えを選好し（prefer）得る。そのようなシナリオでは、様々な複雑さをもつネットワークのシーケンスを記憶することが役立ち、したがって、適用例（application）は、状況に応じて適切なネットワークを選定する能力を有する。
【０１３７】
[00125]図１０は、深層畳み込みネットワークにおいて画像解像度を低減する方法１０００を示す。ブロック１００２において、ネットワークは、ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択する。ブロック１００４において、ネットワークは、各層のために選択された低減ファクタに基づいて、ＤＣＮを調節する。
【０１３８】
[00126]図１１は、深層畳み込みネットワーク（ＤＣＮ）において、画像解像度を低減するための流れ図を示す。図１１に示されているように、ブロック１１０２において、ＤＣＮは、分類のための入力を受信する。一例として、入力は、特定の解像度をもつ画像、ビデオ、および／またはオーディオファイルであり得る。たとえば、画像は、２５６×２５６の解像度を有し得る。入力を受信した後に、ブロック１１０４において、入力に１つまたは複数の低減ファクタを適用することによって、ＤＣＮは調節される。低減ファクタは、ＤＣＮの各層において入力の解像度を低減するために指定される。前に説明したように、低減ファクタは、低減ファクタがＤＣＮの各層において異なり得るように、層固有（layer specific）であり得る。
【０１３９】
[00127]さらに、ブロック１１０６において、システムは、適用された（１つまたは複数の）低減ファクタに基づいてＤＣＮの性能を決定する。一例として、各ＤＣＮについて、元の画像解像度と低減された画像解像度との間の分類性能の差は、適用された（１つまたは複数の）低減ファクタに基づいて決定される。さらに、各ＤＣＮモデルについての計算複雑さも、適用された（１つまたは複数の）低減ファクタに基づいて計算される。
【０１４０】
[00128]１つまたは複数の低減ファクタに基づいてＤＣＮの性能を決定した後に、システムは、ＤＣＮの計算複雑さおよび／または分類性能に基づいて、１つまたは複数の低減ファクタを選択する（ブロック１１０８）。もちろん、前に説明したように、１つまたは複数の低減ファクタは、ＤＣＮの計算複雑さおよび／または分類性能に基づいて選択されることに限定されない。計算複雑さおよび／または分類性能に加えてまたはそれらの代替として、低減ファクタは、ヒューリスティック、周波数スペクトル、および／または他の性能測定値に基づいて選択され得る。
【０１４１】
[00129]（１つまたは複数の）低減ファクタを選択した後に、選択された（１つまたは複数の）低減ファクタに基づいて、ＤＣＮの複雑さを調節する（ブロック１１１０）。たとえば、ＤＣＮの複雑さは、全結合層、畳み込み層、および局所結合層など、各重み層において重みを調節することによって調節され得る。重みは、より低解像度の入力画像に基づいて調節される。重みは、上位層を下位層に結合するシナプスの重み、重み行列の次元、および／または重み行列の値を指す。
【０１４２】
[00130]ブロック１１１２において、調節されたＤＣＮのトレーニングをトレーニングサンプルに対して続けることによって、調節されたＤＣＮをエンドツーエンドで微調整する。最終的に、ブロック１１１４において、調節されたＤＣＮと元のＤＣＮとを合同で記憶し、したがって、全体的メモリフットプリントは、調節されたＤＣＮおよび元のＤＣＮなど、各ＤＣＮを個々に記憶することと比較して低減される。
【０１４３】
[00131]上記で説明された方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含む、様々な（１つまたは複数の）ハードウェアおよび／またはソフトウェア構成要素および／またはモジュールを含み得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。
【０１４４】
[00132]本明細書で使用される「決定すること」という用語は、多種多様なアクションを包含する。たとえば、「決定すること」は、計算すること（calculating）、計算すること（computing）、処理すること、導出すること、調査すること、ルックアップすること（たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること）、確認することなどを含み得る。さらに、「決定すること」は、受信すること（たとえば、情報を受信すること）、アクセスすること（たとえば、メモリ中のデータにアクセスすること）などを含み得る。さらに、「決定すること」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
【０１４５】
[00133]本明細書で使用される、項目のリスト「のうちの少なくとも１つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃを包含するものとする。
【０１４６】
[00134]本開示に関連して説明された様々な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）または他のプログラマブル論理デバイス（ＰＬＤ）、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【０１４７】
[00135]本開示に関連して説明された方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその２つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形態の記憶媒体中に常駐し得る。使用され得る記憶媒体のいくつかの例としては、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭなどがある。ソフトウェアモジュールは、単一の命令、または多数の命令を備え得、いくつかの異なるコードセグメント上で、異なるプログラム間で、および複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【０１４８】
[00136]本明細書で開示された方法は、説明された方法を達成するための１つまたは複数のステップまたはアクションを備える。本方法のステップおよび／またはアクションは、特許請求の範囲から逸脱することなく、互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび／またはアクションの順序および／または使用は特許請求の範囲から逸脱することなく変更され得る。
【０１４９】
[00137]説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース（たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど）もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路など、様々な他の回路をリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上説明されない。
【０１５０】
[00138]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、１つまたは複数の汎用および／または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、ＤＳＰプロセッサ、およびソフトウェアを実行することができる他の回路がある。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、例として、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読取り専用メモリ（ＲＯＭ）、プログラマブル読取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
【０１５１】
[00139]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および／またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加として、機械可読媒体またはその任意の部分は、キャッシュおよび／または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。局所構成要素など、説明された様々な構成要素は、特定のロケーションを有するものとして説明され得るが、それらはまた、分散コンピューティングシステムの一部として構成されているいくつかの構成要素など、様々な方法で構成され得る。
【０１５２】
[00140]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する１つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部を提供する外部メモリとをもつ汎用処理システムとして構成され得る。代替的に、処理システムは、本明細書で説明されたニューロンモデルとニューラルシステムのモデルとを実装するための１つまたは複数の神経形態学的プロセッサを備え得る。別の代替として、処理システムは、プロセッサをもつ特定用途向け集積回路（ＡＳＩＣ）と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部分とを用いて、あるいは１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、もしくは他の好適な回路、または本開示全体にわたって説明された様々な機能を実行することができる回路の任意の組合せを用いて、実装され得る。当業者は、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明された機能を最も良く実装し得るかを理解されよう。
【０１５３】
[00141]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一のストレージデバイス中に常駐するか、または複数のストレージデバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからＲＡＭにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、１つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。
【０１５４】
[00142]ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線（ＩＲ）、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体（たとえば、有形媒体）を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体（たとえば、信号）を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１５５】
[00143]したがって、いくつかの態様は、本明細書で提示された動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明された動作を実行するために１つまたは複数のプロセッサによって実行可能である命令をその上に記憶した（および／または符号化した）コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
【０１５６】
[00144]さらに、本明細書で説明された方法および技法を実行するためのモジュールおよび／または他の適切な手段は、適用可能な場合にユーザ端末および／または基地局によってダウンロードされ、および／または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明された方法を実行するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明された様々な方法は、ユーザ端末および／または基地局が記憶手段（たとえば、ＲＡＭ、ＲＯＭ、コンパクトディスク（ＣＤ）またはフロッピーディスクなどの物理記憶媒体など）をデバイスに結合するかまたは与えると様々な方法を得ることができるように、記憶手段によって提供され得る。その上、本明細書で説明された方法および技法をデバイスに提供するための任意の他の好適な技法が利用され得る。
【０１５７】
[00145]特許請求の範囲は、上記で示された厳密な構成および構成要素に限定されないことを理解されたい。上記で説明された方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減する方法であって、
前記ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択することと、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節することとを備える、方法。
［Ｃ２］
前記低減ファクタを動的に選択することが、
各層のために前記低減ファクタをランダムに選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することとを備える、Ｃ１に記載の方法。
［Ｃ３］
前記低減ファクタを動的に選択することが、
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することとを備える、Ｃ１に記載の方法。
［Ｃ４］
前記ＤＣＮを調節することが、前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮの各層における重みを調節することをさらに備える、Ｃ１に記載の方法。
［Ｃ５］
前記ＤＣＮを調節することが、前記選択された低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮのプーリング層におけるシナプス結合をトリミングすることをさらに備える、Ｃ１に記載の方法。
［Ｃ６］
前記ＤＣＮを調節することが、前記ＤＣＮを微調整することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記微調整することが、少なくとも１つの他の層における固定重みを維持しながら、選択された層を微調整することを備える、Ｃ６に記載の方法。
［Ｃ８］
前記選択された層が畳み込み層を備え、前記最小１つの他の層が全結合層を備える、Ｃ７に記載の方法。
［Ｃ９］
元のＤＣＮと前記調節されたＤＣＮの両方のための１つの全結合層を記憶することと、
前記元のＤＣＮのための第１の畳み込み層と、前記調節されたＤＣＮのための第２の畳み込み層とを記憶することとをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減するための装置であって、
前記ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択するための手段と、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節するための手段とを備える、装置。
［Ｃ１１］
前記低減ファクタを動的に選択するための前記手段が、
各層のために前記低減ファクタをランダムに選択するための手段と、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するための手段とを備える、Ｃ１０に記載の装置。
［Ｃ１２］
前記低減ファクタを動的に選択するための前記手段が、
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択するための手段と、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するための手段とを備える、Ｃ１０に記載の装置。
［Ｃ１３］
前記ＤＣＮを調節するための前記手段が、前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮの各層における重みを調節するための手段をさらに備える、Ｃ１０に記載の装置。
［Ｃ１４］
前記ＤＣＮを調節するための前記手段が、前記選択された低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮのプーリング層におけるシナプス結合をトリミングするための手段をさらに備える、Ｃ１０に記載の装置。
［Ｃ１５］
前記ＤＣＮを調節するための前記手段が、前記ＤＣＮを微調整するための手段をさらに備える、Ｃ１０に記載の装置。
［Ｃ１６］
微調整するための前記手段が、少なくとも１つの他の層における固定重みを維持しながら、選択された層を微調整するための手段を備える、Ｃ１５に記載の装置。
［Ｃ１７］
前記選択された層が畳み込み層を備え、前記最小１つの他の層が全結合層を備える、Ｃ１６に記載の装置。
［Ｃ１８］
元のＤＣＮと前記調節されたＤＣＮの両方のための１つの全結合層を記憶するための手段と、
前記元のＤＣＮのための第１の畳み込み層と、前記調節されたＤＣＮのための第２の畳み込み層とを記憶するための手段とをさらに備える、Ｃ１０に記載の装置。
［Ｃ１９］
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減するための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも１つのプロセッサとを備え、前記少なくとも１つのプロセッサが、
前記ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択することと、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節することと
を行うように構成された、装置。
［Ｃ２０］
前記少なくとも１つのプロセッサが、
各層のために前記低減ファクタをランダムに選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することとを行うようにさらに構成された、Ｃ１９に記載の装置。
［Ｃ２１］
前記少なくとも１つのプロセッサが、
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択することと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節することとを行うようにさらに構成された、Ｃ１９に記載の装置。
［Ｃ２２］
前記少なくとも１つのプロセッサが、前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮの各層における重みを調節するようにさらに構成された、Ｃ１９に記載の装置。
［Ｃ２３］
前記少なくとも１つのプロセッサが、前記選択された低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮのプーリング層におけるシナプス結合をトリミングするようにさらに構成された、Ｃ１９に記載の装置。
［Ｃ２４］
前記少なくとも１つのプロセッサが、前記ＤＣＮを微調整するようにさらに構成された、Ｃ１９に記載の装置。
［Ｃ２５］
前記少なくとも１つのプロセッサが、少なくとも１つの他の層における固定重みを維持しながら、選択された層を微調整するようにさらに構成された、Ｃ２４に記載の装置。
［Ｃ２６］
前記選択された層が畳み込み層を備え、前記最小１つの他の層が全結合層を備える、Ｃ２５に記載の装置。
［Ｃ２７］
前記少なくとも１つのプロセッサが、
元のＤＣＮと前記調節されたＤＣＮの両方のための１つの全結合層を記憶することと、
前記元のＤＣＮのための第１の畳み込み層と、前記調節されたＤＣＮのための第２の畳み込み層とを記憶することとを行うようにさらに構成された、Ｃ１９に記載の装置。
［Ｃ２８］
深層畳み込みネットワーク（ＤＣＮ）において画像解像度を低減するための非一時的コンピュータ可読媒体であって、前記非一時的コンピュータ可読媒体がプログラムコードを記録しており、前記プログラムコードが、プロセッサによって実行され、
前記ＤＣＮの各層において、入力画像に、適用されるべき低減ファクタを動的に選択するためのプログラムコードと、
各層のために選択された前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮを調節するためのプログラムコードとを備える、非一時的コンピュータ可読媒体。
［Ｃ２９］
各層のために前記低減ファクタをランダムに選択するためのプログラムコードと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するためのプログラムコードとをさらに備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３０］
前記ＤＣＮの各層の計算複雑さおよび／または所与の層における前記入力画像の高周波成分中のエネルギーの部分に少なくとも部分的に基づいて、各層のために、前記低減ファクタを選択するためのプログラムコードと、
前記ＤＣＮの性能損失と複雑さのレベルとに少なくとも部分的に基づいて、各低減ファクタを調節するためのプログラムコードとをさらに備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３１］
前記低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮの各層における重みを調節するためのプログラムコードをさらに備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３２］
前記選択された低減ファクタに少なくとも部分的に基づいて、前記ＤＣＮのプーリング層におけるシナプス結合をトリミングするためのプログラムコードをさらに備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３３］
前記ＤＣＮを微調整するためのプログラムコードをさらに備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３４］
少なくとも１つの他の層における固定重みを維持しながら、選択された層を微調整するためのプログラムコードをさらに備える、Ｃ３３に記載のコンピュータ可読媒体。
［Ｃ３５］
前記選択された層が畳み込み層を備え、前記最小１つの他の層が全結合層を備える、Ｃ３４に記載のコンピュータ可読媒体。
［Ｃ３６］
元のＤＣＮと前記調節されたＤＣＮの両方のための１つの全結合層を記憶するためのプログラムコードと、
前記元のＤＣＮのための第１の畳み込み層と、前記調節されたＤＣＮのための第２の畳み込み層とを記憶するためのプログラムコードとをさらに備える、Ｃ２８に記載のコンピュータ可読媒体。
【図１】
0006732795.tif 000014
【図２】
0006732795.tif 000015
【図３Ａ】
0006732795.tif 000016
【図３Ｂ】
0006732795.tif 000017
【図４】
0006732795.tif 000018
【図５】
0006732795.tif 000019
【図６Ａ】
0006732795.tif 000020
【図６Ｂ】
0006732795.tif 000021
【図７】
0006732795.tif 000022
【図８】
0006732795.tif 000023
【図９】
0006732795.tif 000024
【図１０】
0006732795.tif 000025
【図１１】
0006732795.tif 000026