(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-01
(54)【発明の名称】適応的ランタイム高効率画像分類のための入力画像サイズスイッチ可能ネットワーク
(51)【国際特許分類】
G06T 7/00 20170101AFI20230825BHJP
G06V 10/82 20220101ALI20230825BHJP
G06N 3/08 20230101ALI20230825BHJP
G06N 3/0464 20230101ALI20230825BHJP
【FI】
G06T7/00 350C
G06V10/82
G06N3/08
G06N3/0464
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022564542
(86)(22)【出願日】2020-06-15
(85)【翻訳文提出日】2022-11-15
(86)【国際出願番号】 CN2020096035
(87)【国際公開番号】W WO2021253148
(87)【国際公開日】2021-12-23
(81)【指定国・地域】
(71)【出願人】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ヤオ、アンバン
(72)【発明者】
【氏名】ワン、イカイ
(72)【発明者】
【氏名】ル、ミン
(72)【発明者】
【氏名】ワン、シャンドン
(72)【発明者】
【氏名】チェン、フェン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096HA11
5L096JA11
5L096JA22
5L096KA04
(57)【要約】
画像分類ネットワークを実装及びトレーニングすることに関する技法が論述される。そのような技法は、解像度にかかわらず入力画像に共有畳み込み層を適用することと、入力画像解像度に基づいて選択的に正規化を適用することとを含む。そのような技法は、混合画像サイズ並列トレーニング及び混合画像サイズアンサンブル蒸留を使用してトレーニングすることを更に含む。
【特許請求の範囲】
【請求項1】
画像分類のためのシステムであって、
第1の解像度における第1の画像、及び前記第1の解像度未満の第2の解像度における第2の画像を記憶するメモリと、
前記メモリに結合された1つ又は複数のプロセッサであって、前記1つ又は複数のプロセッサは、
複数の畳み込み層パラメータを使用して前記第1の画像、又は前記第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、前記第1の画像に対応する1つ又は複数の第2の特徴マップを生成することと、
複数の第1の正規化パラメータを使用して前記1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成することと、
前記1つ又は複数の第3の特徴マップを使用して前記第1の画像のための第1のラベルを生成することと、
前記複数の畳み込み層パラメータを使用して前記第2の画像、又は前記第2の画像に対応する第4の特徴マップに前記畳み込みニューラルネットワーク層を適用して、前記第2の画像に対応する1つ又は複数の第5の特徴マップを生成することと、
前記第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して前記1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成することと、
前記1つ又は複数の第6の特徴マップを使用して前記第2の画像のための第2のラベルを生成することと
を行う、1つ又は複数のプロセッサと
を備える、システム。
【請求項2】
前記第1のラベルを生成する前記1つ又は複数のプロセッサは、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用することと、全結合層を適用することとを行う前記1つ又は複数のプロセッサを含み、前記第2のラベルを生成する前記1つ又は複数のプロセッサは、前記追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する前記1つ又は複数の追加の畳み込みニューラルネットワーク層を適用することと、前記全結合層を適用することとを行う前記1つ又は複数のプロセッサを含む、請求項1に記載のシステム。
【請求項3】
前記第1の画像が前記第1の解像度であることに応答して前記第1の正規化及び追加の第1の正規化が選択され、前記第2の画像が前記第2の解像度であることに応答して前記第2の正規化及び追加の第2の正規化が選択される、請求項2に記載のシステム。
【請求項4】
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
それぞれ前記第1の解像度及び前記第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像及び前記第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、前記第1のトレーニング画像及び前記第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での前記事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整と
に基づいてトレーニングされる前記事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、請求項1~3のいずれか1項に記載のシステム。
【請求項5】
前記パラメータ調整は、前記事前トレーニングされた畳み込みニューラルネットワークパラメータの全結合層パラメータに対する調整を更に含み、前記畳み込み層パラメータ及び全結合層パラメータは、入力画像サイズにわたって共有されることになり、前記第1の正規化パラメータ及び前記第2の正規化パラメータは、前記入力画像サイズにわたって非共有となる、請求項4に記載のシステム。
【請求項6】
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
前記第1の解像度、前記第2の解像度、及び前記第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、それぞれ前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、
前記アンサンブル予測の、前記グラウンドトゥルースラベルとの比較と
に基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、請求項1~5のいずれか1項に記載のシステム。
【請求項7】
前記アンサンブル予測は、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像の各々に適用されるような前記事前トレーニングされた畳み込みニューラルネットワークパラメータに対応するロジットの加重平均を含み、前記ロジットの前記加重平均は、ロジット重要度スコアを使用して重み付けされる、請求項6に記載のシステム。
【請求項8】
前記トレーニング反復において、パラメータ更新は、前記アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、前記アンサンブル予測からの各前記第1の予測、前記第2の予測、及び前記第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく、請求項6に記載のシステム。
【請求項9】
前記蒸留損失項は、前記第1の予測からの前記第2の予測の第1の発散、前記第3の予測からの前記第2の予測の第2の発散、及び前記第1の予測からの前記第3の予測の第3の発散を更に含む、請求項8に記載のシステム。
【請求項10】
前記損失関数は、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像への前記事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を更に含む、請求項8に記載のシステム。
【請求項11】
前記畳み込みニューラルネットワーク層は、剪定された畳み込みニューラルネットワーク層又は量子化された畳み込みニューラルネットワーク層のうちの1つを含む、請求項1~10のいずれか1項に記載のシステム。
【請求項12】
画像分類のための方法であって、
第1の解像度における第1の画像、及び前記第1の解像度未満の第2の解像度における第2の画像を受信する段階と、
複数の畳み込み層パラメータを使用して前記第1の画像、又は前記第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、前記第1の画像に対応する1つ又は複数の第2の特徴マップを生成する段階と、
複数の第1の正規化パラメータを使用して前記1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成する段階と、
前記1つ又は複数の第3の特徴マップを使用して前記第1の画像のための第1のラベルを生成する段階と、
前記複数の畳み込み層パラメータを使用して前記第2の画像、又は前記第2の画像に対応する第4の特徴マップに前記畳み込みニューラルネットワーク層を適用して、前記第2の画像に対応する1つ又は複数の第5の特徴マップを生成する段階と、
前記第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して前記1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成する段階と、
前記1つ又は複数の第6の特徴マップを使用して前記第2の画像のための第2のラベルを生成する段階と
を備える、方法。
【請求項13】
前記第1のラベルを生成する段階は、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する段階と、全結合層を適用する段階とを有し、前記第2のラベルを生成する段階は、前記追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する段階と、前記全結合層を適用する段階とを有する、請求項12に記載の方法。
【請求項14】
前記第1の画像が前記第1の解像度であることに応答して前記第1の正規化及び追加の第1の正規化が選択され、前記第2の画像が前記第2の解像度であることに応答して前記第2の正規化及び追加の第2の正規化が選択される、請求項13に記載の方法。
【請求項15】
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
それぞれ前記第1の解像度及び前記第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像及び前記第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、前記第1のトレーニング画像及び前記第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での前記事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整と
に基づいてトレーニングされる前記事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、請求項12~14のいずれか1項に記載の方法。
【請求項16】
前記パラメータ調整は、前記事前トレーニングされた畳み込みニューラルネットワークパラメータの全結合層パラメータに対する調整を更に含み、前記畳み込み層パラメータ及び全結合層パラメータは、入力画像サイズにわたって共有されることになり、前記第1の正規化パラメータ及び前記第2の正規化パラメータは、前記入力画像サイズにわたって非共有となる、請求項15に記載の方法。
【請求項17】
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
前記第1の解像度、前記第2の解像度、及び前記第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、それぞれ前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、
前記アンサンブル予測の、前記グラウンドトゥルースラベルとの比較と
に基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、請求項12~16のいずれか1項に記載の方法。
【請求項18】
前記アンサンブル予測は、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像の各々に適用されるような前記事前トレーニングされた畳み込みニューラルネットワークパラメータに対応するロジットの加重平均を含み、前記ロジットの前記加重平均は、ロジット重要度スコアを使用して重み付けされる、請求項17に記載の方法。
【請求項19】
前記トレーニング反復において、パラメータ更新は、前記アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、前記アンサンブル予測からの各前記第1の予測、前記第2の予測、及び前記第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく、請求項17に記載の方法。
【請求項20】
前記蒸留損失項は、前記第1の予測からの前記第2の予測の第1の発散、前記第3の予測からの前記第2の予測の第2の発散、及び前記第1の予測からの前記第3の予測の第3の発散を更に含む、請求項19に記載の方法。
【請求項21】
前記損失関数は、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像への前記事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を更に含む、請求項19に記載の方法。
【請求項22】
前記畳み込みニューラルネットワーク層は、剪定された畳み込みニューラルネットワーク層又は量子化された畳み込みニューラルネットワーク層のうちの1つを含む、請求項12~21のいずれか1項に記載の方法。
【請求項23】
プロセッサに、請求項12~22のいずれか1項に記載の方法を実行させるコンピュータプログラム。
【請求項24】
請求項12~22のいずれか1項に記載の方法を実行する手段を備える、装置。
【発明の詳細な説明】
【背景技術】
【0001】
深層畳み込みニューラルネットワーク(CNN)は、多様な画像分類応用において利用される。正確性の改善のためのCNNアーキテクチャにおける進歩にもかかわらず、最も性能が高いCNNモデルの集中的なメモリストレージ、計算、及びエネルギーコストにより、特にリアルタイム応用における、リソースが制約されたデバイス上でのそれらのモデルの展開が制限される。典型的には、複数画像サイズ実装のために、個別のCNNモデルが、目標画像サイズごとにトレーニングされ、トレーニング及び保存されることになるモデルの総数は、ランタイム時に考慮されることになる目標画像サイズの数に比例する。目標画像サイズごとに個別のCNNモデルをトレーニングすることを伴わないと、特定の画像サイズを用いてトレーニングされたモデルを他のサイズを有する画像に適用する場合、モデルの正確性は劣化する。したがって、目標画像サイズごとに1つのモデルが記憶される必要があり、これは、高いメモリストレージコストをもたらす。高いメモリストレージコストに加えて、各画像サイズ調整は、特にクラウドコンピューティング応用シナリオの場合、異なるCNNモデルのためにそれぞれのモデルパラメータをオフロード及びロードするのに追加のレイテンシが必然的に付随する。そのような複数のモデルの状況では、現行の技法は、ネットワークの構造上の構成を調整すること(例えば、ネットワーク深さ、幅を調整すること及びブロックを構築すること)、事前トレーニングされたモデルの冗長なパラメータ、フィルタ、及びチャネルを剪定すること、完全精度の同等物の代わりに量子化された低精度のCNNモデルを使用すること、大規模かつ強力なモデルの知識を伝達して目標のより小さいスチューデントモデルを改善すること、及び大規模モデルを幾つかのより小さいモデルに分割することによって、CNNモデルのための正確性-効率性のトレードオフを取ることを試みる。
【0002】
画像分類応用のためのメモリ、計算、及びエネルギーの点で効率的なCNNモデルが継続的に必要とされている。これらの及び他の考慮事項に関連して、この改善が必要とされてきた。そのような改善は、多様な状況、特にリソースが制約されたデバイスにおけるCNNモデルの実装がより普及するにつれて、重大になり得る。
【図面の簡単な説明】
【0003】
本明細書において説明されている題材は例示であって、添付図面に限定されない。図示の簡潔性及び明確性のために、図において示されている要素は、必ずしも縮尺どおりに描かれているわけではない。例えば、幾つかの要素の寸法は、明確性のために他の要素に対して誇張される場合がある。さらに、適切であると考えられる場合、対応する又は類似の要素を示すために、参照ラベルが図面間で繰り返されている。
図面は、以下のとおりである。
【0004】
【
図1】ネットワークトレーニングフェーズにおいて異なる解像度の入力画像のためのオブジェクトラベルを提供する例示のスイッチ可能ネットワークを示す図である。
【
図2】スイッチ可能ネットワークをトレーニングする例示のプロセスを示すフロー図である。
【
図3】異なる解像度の入力画像のためのオブジェクトラベルを提供するための実装フェーズにおける例示のスイッチ可能ネットワークを示す図である。
【
図4】スイッチ可能ネットワークを使用して異なる解像度の入力画像のためのラベルを生成する例示のプロセスを示すフロー図である。
【
図5】画像分類を実行する例示のプロセスを示すフロー図である。
【
図6】画像分類を実行する例示のシステムの説明図である。
【
図8】本開示の少なくとも幾つかの実装に従って全て構成される、例示のスモールフォームファクタデバイスを示す図である。
【発明を実施するための形態】
【0005】
ここで、添付図面を参照して1つ又は複数の実施形態又は実装が説明される。特定の構成及び配置が論述されるが、これは例示の目的でのみ行われることが理解されるべきである。当業者であれば、本明細書の趣旨及び範囲から逸脱することなく他の構成及び配置が利用され得ることを認識するであろう。本明細書において説明される技法及び/又は配置が、本明細書において説明されるもの以外の多様な他のシステム及びアプリケーションにおいても利用され得ることが、当業者には明らかとなろう。
【0006】
以下の説明は、例えば、システムオンチップ(SoC)アーキテクチャ等のアーキテクチャにおいて現れ得る様々な実装を記載する一方で、本明細書において説明される技法及び/又は配置の実装は、特定のアーキテクチャ及び/又はコンピューティングシステムに制限されず、同様の目的のための任意のアーキテクチャ及び/又はコンピューティングシステムによって実装されてよい。例として、例えば、複数の集積回路(IC)チップ及び/又はパッケージ、及び/又は様々なコンピューティングデバイス及び/又はコンシューマエレクトロニック(CE)デバイス、例えば、マルチ機能デバイス、タブレット、スマートフォン等を利用する様々なアーキテクチャは、本明細書において説明される技法及び/又は構成を実装してよい。さらに、以下の説明は、例えば、ロジック実装、システムコンポーネントのタイプ及び相互関係、ロジックの分割/統合の選択等の多数の具体的な詳細を記載し得るが、特許請求される主題は、そのような具体的な詳細なしに実施され得る。他の例では、例えば、制御構造及び完全なソフトウェア命令シーケンスのような幾つかの題材は、本明細書において開示される題材を不明瞭にしないよう、詳細に示されないことがある。
【0007】
本明細書において開示される題材は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせにおいて実装されてよい。本明細書において開示される題材は、1つ又は複数のプロセッサによって読み取られて実行され得る、機械可読媒体上に記憶された命令としても実装されてよい。機械可読媒体は、機械(例えば、コンピューティングデバイス)によって可読の形態で情報を記憶又は送信する任意の媒体及び/又はメカニズムを含んでよい。例えば、機械可読媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、電気、光、音響又は他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号等)及び他のものを含んでよい。
【0008】
本明細書における「1つの実装(one implementation)」、「一実装(an implementation)」、「an example implementation」、又は例、又は実施形態等への言及は、説明される実装が、特定の特徴、構造、又は特性を含んでよいが、全ての実施形態が、必ずしも当該特定の特徴、構造、又は特性を含むとは限らない場合があることを示す。その上、そのような文言は、必ずしも同じ実装を参照しているわけではない。さらに、一実施形態に関連して特定の特徴、構造又は特性が説明される場合、本明細書において明示的に説明されているか否かにかかわらず、他の実装に関連してそのような特徴、構造又は特性をもたらすことは当業者の知識の範囲内であることが述べられている。
【0009】
ネットワークが全ての画像サイズに共有畳み込み層及び全結合層パラメータを適用し、入力画像サイズに基づいて非共有正規化パラメータが適応的に利用されるような、適応的ランタイム高効率画像分類のための入力画像サイズスイッチ可能ネットワークに関する方法、デバイス、装置、コンピューティングプラットフォーム、及び製品が、本明細書において説明される。
【0010】
上記で説明されたように、異なるサイズ(例えば、解像度)の入力画像に対して画像分類又は他の画像処理タスクを実行することが望ましい。本明細書において使用される場合、交換可能に使用される解像度又はサイズという用語は、ピクセル単位の画像の幅×高さを示し、より高い解像度は、水平寸法、垂直寸法、又はその両方においてより多数のピクセルを含む。結果として得られる画像分類ラベル又は他の画像処理出力は、多様な状況において使用され得る。そのような画像分類は、オブジェクト認識、識別、又は検出を含み得る。明確性のために画像分類に関して本明細書において論述されているが、論述される技法は、画像超解像、画像鮮鋭化(image sharpness enhancement)、画像セグメンテーション、及び他のもの等の他の画像処理状況において使用され得る。幾つかの実施形態では、スイッチ可能ネットワークは、任意の数の共有畳み込み層を含み、その一部又は全てに非共有又は排他的正規化層が後続する、定義されたアーキテクチャを有する。本明細書において使用される場合、畳み込み層、全結合層、又は他のネットワークモジュールに関する共有という用語は、ネットワークに提供される入力画像サイズにかかわらず層又はモジュールが同じ(すなわち、共有)パラメータを適用することを示す。正規化層(又は層正規化、グループ正規化等のようなその変形)又は他のネットワークモジュールに関して適用される場合の、交換可能に使用される非共有又は排他的という用語は、層又はモジュールが、ネットワークに提供される入力画像サイズに基づいて異なる(すなわち、非共有)パラメータを適用することを示す。例えば、第1のパラメータ及び第2のパラメータが互いに排他的である(すなわち、異なる)ように、第1の正規化パラメータが第1の入力画像解像度のために適用され、かつ第2の正規化パラメータが第2の入力画像解像度のために適用される。
【0011】
スイッチ可能ネットワークの論述に戻ると、(入力画像解像度に依存したパラメータを利用して)最後の正規化層の適用に後続して、非共有大域平均プーリング層及び後続の共有全結合層が、入力画像のための1つのラベル又は複数のラベル(及び対応する確率)を生成するために適用され得る。例えば、最高確率ラベルに対応する単一のラベル(例えば、カップ、犬等)が出力され得るか、又は、利用可能なラベルごとの確率のうちの幾つか(例えば、5つの最も尤度が高い確率)又は全てが出力として提供され得る。スイッチ可能ネットワークは、任意の数の共有畳み込み層、非共有正規化層、及び他の層を含んでよい。幾つかの実施形態では、非共有大域平均プーリング層及び共有全結合層は、利用されない場合があり、特徴マップ又は出力画像は、ネットワークから提供されてよい。とりわけ、大域平均プーリング動作は、各特徴マップにわたる単一の平均化値(例えば、各ピクセル/成分が平均化出力に対する同じ寄与を有するチャネル)を出力する。この観点から、最後の層からの特徴マップのサイズは異なる入力画像に対して変化するので、これは共有されない。
【0012】
スイッチ可能ネットワークは、任意の数の入力画像サイズをハンドリングするために利用されてよく、共有層は、全ての入力画像サイズのための共有パラメータを有し、排他層ごとに排他的パラメータが提供される。例えば、5つの画像サイズ(例えば、224×224、192×192、160×160、128×128、及び96×96)のための実装を所与とすると、各共有層(例えば、各畳み込み層及び全結合層)は、パラメータの単一セットを有し、その一方、各非共有層(例えば、各正規化層及び各大域平均プーリング層)は、入力画像のサイズに応答して異なるパラメータセット及び/又は異なる動作を適用する。そのような技法は、総ストレージ要件(正規化パラメータは典型的には総ネットワークパラメータの1%未満を占めるため)、及び入力画像サイズのためのスイッチングのレイテンシを抑える。
【0013】
さらに、スイッチ可能ネットワークは、利用される要素又はモジュールが、少なくとも部分的に、畳み込み層及び/又は全結合層のための共有パラメータと、正規化層、大域平均プーリング層及び/又は他の層のための非共有パラメータとを使用するような、任意のアーキテクチャ又は畳み込みニューラルネットワーク(CNN)バックボーンを有してよい。本明細書において使用される場合、CNNという用語は、1つ又は複数の畳み込み層をネットワークの一部として利用する任意のネットワークを含む。畳み込み層という用語は、複数の畳み込みフィルタを利用し、任意選択でRELU層又はプーリング層を含む層を示す。選択されたスイッチ可能ネットワークアーキテクチャ又はCNNバックボーンを所与とすると、別個にトレーニングされたモデルと比較して改善された正確性で、ランタイムにおいて異なる入力画像サイズをハンドリングすることができる単一のモデルがトレーニングされる。さらに、論述される技法は、線形ブースティング、量子化技法、及び剪定技法等の、削減されたCNNモデルサイズ及び/又はCNNモデル改善のための他の手法と併せて利用されてよい。
【0014】
図1は、本開示の少なくとも幾つかの実装に従って構成される、ネットワークトレーニングフェーズにおいて異なる解像度の入力画像のためのオブジェクトラベルを提供する例示のスイッチ可能ネットワーク100を示している。
図1において示されているように、スイッチ可能ネットワーク100は、共有畳み込み層111と、排他的バッチ正規化モジュール112、113、114を利用する非共有バッチ正規化層と、共有畳み込み層115と、排他的バッチ正規化モジュール116、117、118を利用する非共有バッチ正規化層と、排他的大域平均プーリングモジュール119、120、121を利用する非共有大域平均プーリング層と、共有全結合層122とを備える。そのような層及びモジュールは、
図3に関して論述されるように、ネットワーク実装フェーズにおける展開のための最終決定パラメータを提供するために、ネットワークトレーニングフェーズにおいてトレーニングされて、異なる解像度の入力画像のためのオブジェクトラベルが生成される。そのようなトレーニングは、少なくとも部分的に、結果として得られるアンサンブル予測130及び予測131、132、133がグラウンドトゥルースラベル134と比較されるように、ロジット123、124、125、ロジット重要度スコア126、127、128、アンサンブルロジット129、アンサンブル予測130、及び予測131、132、133に基づいて、実行される。実装フェーズ中、そのようなトレーニングコンポーネントは、スイッチ可能ネットワーク100から破棄される。
【0015】
図1において示されているように、任意の数の共有畳み込み層と、排他的バッチ正規化モジュールを利用する対応する非共有バッチ正規化層とが、共有畳み込み層115、及びスイッチ可能ネットワーク100の残りの前に提供されてよい。例えば、共有畳み込み層と、対応する非共有バッチ正規化層との任意の数のペアがスイッチ可能ネットワーク100内に含まれてよい。さらに、畳み込み層における畳み込みフィルタの数、フィルタサイズ等、及びバッチ正規化技法は、任意の適した特性を含んでよい。幾つかの状況におけるバッチ正規化に対して論述及び例示されているが、代替的に、層正規化、グループ正規化、又は他の正規化処理が、非共有正規化パラメータを使用して適用されてよい。本明細書において使用される場合、正規化という用語は、対応する非共有正規化パラメータを使用して実行されるようなそのようなプロセスのうちの任意のものを示す。排他的大域平均プーリングモジュール119、120、121を利用する非共有大域平均プーリング層と、共有全結合層122とは、任意の適した特性を有してよい。共有畳み込み層の出力、並びに選択されたバッチ正規化モジュール及び大域平均プーリングモジュール(例えば、画像入力サイズに基づく)の出力は、特徴マップとして特徴付けされ得る。各層において、任意の解像度の任意の数の特徴マップ(すなわち、畳み込みフィルタの数に対応する)が使用されてよい。同様に、共有全結合層122の出力は、確率又はスコア等として特徴付けされ、出力ノードに依存して、入力画像がノードに割り当てられたラベルの画像を含む確率又は尤度を示し得る。幾つかの実施形態では、全てのノードの確率又は尤度の総和は、1に総和される。
【0016】
スイッチ可能ネットワーク100は、トレーニングにおいて又は実装においてのいずれかで、パーソナルコンピュータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、デジタルカメラ、ゲーミングコンソール、ウェアラブルデバイス、ディスプレイデバイス、オールインワンデバイス、ツーインワンデバイス等のような任意の適したデバイスを介して実装されてよい。例えば、スイッチ可能ネットワーク100は、ハードウェア、ソフトウェア、又はこれらの組み合わせにおいて実装され得る画像人工知能処理パイプラインの少なくとも一部分を提供してよい。幾つかの実施形態では、スイッチ可能ネットワーク100は、実装フェーズにおいて、システムオンチップ(SoC)としてハードウェアにおいて、実装される。幾つかの実施形態では、SoCは、モノリシック集積回路(IC)として利用される。本明細書において使用される場合、モノリシックという用語は、他のデバイスとは別個であるが、通信及び電力供給のための他のデバイスに結合され得るデバイスを示している。
【0017】
図2は、本開示の少なくとも幾つかの実装に従って構成される、スイッチ可能ネットワークをトレーニングする例示のプロセス200を示すフロー図である。プロセス200は、
図2において示されているように、1つ又は複数の動作201~210を含んでよい。プロセス200又はその一部分は、スイッチ可能ネットワーク100をトレーニングするために本明細書において論述される任意のデバイス又はシステムによって実行されてよい。
【0018】
スイッチ可能ネットワーク100のトレーニングは、入力画像サイズをスイッチングするランタイム高効率ネットワークを提供し、これは、入力サイズスイッチ可能ネットワーク(IS-Net)として特徴付けされ得る。任意のスイッチ可能ネットワーク100アーキテクチャ又はCNNバックボーンを前提とすると、幾つかの実施形態では、トレーニングは、3つのコンポーネントを含む。第1に、異なるサイズを有する入力トレーニング画像が単一のモデル内でトレーニングされるように、混合サイズ(すなわち、混合画像サイズ)並列トレーニングフレームワークが提供される。第2に、異なるトレーニング画像サイズはネットワーク内で異なる活性化統計値をもたらすので、トレーニング中の混合サイズ相互作用効果(例えば、不均衡な性能)に対処するために、畳み込みネットワークパラメータは共有されるが、層単位正規化パラメータは入力画像サイズごとに非共有である。第3に、混合サイズ相互作用効果を除去し、異なる画像サイズに対するモデル性能をブースティングするために、混合サイズアンサンブル蒸留(mixed-size ensemble distillation)が、異なる画像サイズを有する同じ画像インスタンス(例えば、異なる解像度における同じトレーニング画像コンテンツ)に基づいて、トレーニング中にその場で実行される。本明細書において使用される場合、画像インスタンスという用語は、異なる解像度における複数のトレーニング画像を生成するのに使用される、特定のビュー、オブジェクト等のソースイメージを示す。例えば、複数のトレーニング画像は、画像インスタンスのランダムにクロップされた領域の(又は画像インスタンスの全体の)異なる解像度における同じ像を含む。トレーニングの後、結果として得られるスイッチ可能ネットワーク100は、実装において、異なる入力画像サイズ間でのスイッチングを可能にし、対応する画像サイズを用いてトレーニングされた個別のモデルと比較して改善された性能を示す。
【0019】
プロセス200は、動作201において開始し、動作201において、異なる解像度を有するトレーニング画像のトレーニングセットが生成される。トレーニング画像インスタンスは、ネットワークによって検出されることになるオブジェクトを含む画像インスタンス(すなわち、画像)、及びそのようなオブジェクトが存在しない画像インスタンスを任意の数(例えば、数千個)含んでよい。さらに、各トレーニング画像インスタンスは、画像のトレーニングのための対応するグラウンドトゥルースオブジェクトラベルを有する。例えば、第1のトレーニング画像インスタンスは、カップの画像、及び「カップ」の対応するグラウンドトゥルースラベルを有してよく、第2のトレーニング画像インスタンスは、スプーンの画像及び「スプーン」の対応するグラウンドトゥルースラベルを有してよく、以降も同様である。各トレーニング画像インスタンスは、次に、ランダムにクロップされ、クロップされた部分は、トレーニング画像インスタンスに対応する任意の数のトレーニング画像にサイズ変更される。例えば、画像(すなわち、画像インスタンス)のトレーニングセットが得られ、各画像インスタンス又はテンプレート等がクロップされ、スイッチ可能ネットワークが利用されることになる画像のサイズに対応する複数の固定サイズトレーニング画像にサイズ変更される。例えば、ネットワークが5つの画像サイズ(例えば、224×224、192×192、160×160、128×128、及び96×96)において利用されることになる場合、トレーニング画像インスタンスの各クロップされた部分は、それらの5つの画像サイズにサイズ変更されて、5つのトレーニング画像及び1つの対応するグラウンドトゥルースラベルが提供される。
【0020】
図1を参照すると、各トレーニング画像インスタンス101は、バウンディングボックス141を使用してクロップされ、異なる解像度を有する任意の数のトレーニング画像102、103、104にサイズ変更されてよく、それにより、トレーニング画像102は、トレーニング画像103よりも高い解像度を有し、トレーニング画像103は、任意の介在するトレーニング画像よりも高い解像度を有し、以降も最低解像度トレーニング画像104まで同様となる。例えば、示されているように、S個の画像解像度が実装されてよく、各解像度1、2、...、Sは、インデックス値が増加するとともに減少する。幾つかの実施形態では、各トレーニング画像インスタンス101がクロップされ、複数の(すなわち、S個の)固定サイズサンプルx
iにサイズ変更される。幾つかの実施形態では、トレーニングセットは、{(x
i,y
i)|i∈{1,2,...,N}}として表記され、ここで、y
iは、C個のクラスのうちの1つに属するラベルであり、Nは、トレーニング画像インスタンスの数である。
【0021】
そのようなトレーニング画像102、103、104は、スイッチ可能ネットワーク100に提供される。とりわけ、トレーニング画像102は、共有畳み込み層111(すなわち、共有畳み込み層111は解像度にかかわらず任意の入力画像に適用される)、排他的バッチ正規化モジュール112(すなわち、バッチ正規化モジュール112はバッチ正規化モジュール112の解像度を有する入力画像にのみ適用される)、任意の数の共有畳み込み層/排他的バッチ正規化モジュールペア、共有畳み込み層115、排他的バッチ正規化モジュール116、排他的大域平均プーリングモジュール119、及び共有全結合層122の適用を介してスイッチ可能ネットワーク100をトラバースし、共有全結合層122の出力は、ロジット123、そして最終的には予測131を生成するのに使用される。同様に、トレーニング画像103は、共有畳み込み層111、排他的バッチ正規化モジュール113、任意の数の共有畳み込み層/排他的バッチ正規化モジュールペア、共有畳み込み層115、排他的バッチ正規化モジュール117、排他的大域平均プーリングモジュール120、及び共有全結合層122の適用を介してスイッチ可能ネットワーク100をトラバースし、共有全結合層122の出力は、ロジット124、そして最終的には予測132を生成するのに使用され、以降も同様であり、それにより、示されているように、トレーニング画像104は、共有畳み込み層111、排他的バッチ正規化モジュール114、任意の数の共有畳み込み層/排他的バッチ正規化モジュールペア、共有畳み込み層115、排他的バッチ正規化モジュール118、排他的大域平均プーリングモジュール121、及び共有全結合層122の適用を介してスイッチ可能ネットワーク100をトラバースし、共有全結合層122の出力は、ロジット125、そして最終的には予測133を生成するのに使用される。
【0022】
それによって、トレーニング中、スイッチ可能ネットワーク100は、トレーニング画像102、103、104を介して示されているように複数の解像度において同じトレーニング画像インスタンス101に適用されて、異なる結果として得られる成果が生成される。同じトレーニング画像インスタンスの異なる解像度のためのそのような結果として得られる成果は、スイッチ可能ネットワーク100の改善されたトレーニングのために活用される。
【0023】
図2に戻ると、処理は、動作202において継続し、動作202において、パラメータθを有するスイッチ可能ネットワーク100等のネットワーク構成(例えば、ネットワークアーキテクチャ又はCNNバックボーン)を所与とすると、ネットワークは、トレーニングのために初期化される。ネットワークパラメータは、特定の範囲内でのランダム化等のような任意の適した単数又は複数の技法を使用して初期化されてよい。
【0024】
一般に、ネットワークパラメータθを所与とすると、クラスcの予測確率は、p(c|x
i,θ)として表記される。トレーニングにおいて、ネットワーク(例えば、ネットワークモデル)は、式(1)において示されているように交差エントロピー損失を用いて最適化されてよい:
【数1】
ここで、δ(c,y
i)は、c=y
iである場合に1に等しく、そうではない場合には0に等しい。
【0025】
幾つかの実施形態では、スイッチ可能ネットワーク100をトレーニングするために、混合サイズ並列トレーニングフレームワークが利用される。論述されたように、各トレーニング画像インスタンスは、クロップされ、サイズ変更される(例えば、ランダムにクロップされ、スイッチ可能ネットワーク100によって実装されることになる解像度にサイズ変更される)。4つ、5つ、又はそれよりも大きい値等の任意の適した値であり得るS個の画像サイズ(例えば、S={224×224,192×192,160×160,128×128,及び96×96})を仮定すると、混合サイズトレーニングセットは、式(2)において示されるように特徴付けることができる:
【数2】
ここで、各トレーニング画像インスタンスx
iは、各利用可能な画像サイズ(例えば、1、2、...、S)にサイズ決めされ、異なる解像度のサイズ変更されたトレーニング画像のグループは、対応するグラウンドトゥルースラベルy
iを有する。
【0026】
処理は、動作203において継続し、動作203において、ネットワーク(第1の又は後続のトレーニング反復における)は、トレーニング画像インスタンスの少なくともサブセットに適用される。すなわち、ネットワークは、現在のネットワークパラメータに基づいて、各セットが画像インスタンスに対応し、対応するグラウンドトゥルースラベルを有するように、異なる解像度におけるトレーニング画像のセットに適用される。それによって、スイッチ可能ネットワーク100の混合サイズ並列トレーニングが実行される。例えば、動作203において、任意の数の画像インスタンスについて、ネットワークは、並列して画像インスタンスの各画像解像度に適用され、解像度の各々についての結果として得られる出力は、スイッチ可能ネットワーク100のパラメータを調整するのに使用される。とりわけ、各トレーニング反復において、ネットワークが適用され、損失項が定義され、パラメータが調整され、トレーニングが完了するまで以降も同様である。そのようなトレーニング反復は、バッチ等において、全てのトレーニング画像、又はそれらの幾つかのみに適用されてよい。例えば、そのようなトレーニング反復は、特定の数の反復について同じトレーニング画像を使用し、トレーニング画像又はそのバッチを変更し、以降も同様であり、トレーニング進展としてそのようなトレーニング画像又はバッチに返される。任意のイベントにおいて、スイッチ可能ネットワーク100は、並列して複数の解像度のトレーニング画像に適用され、損失項が定義及び評価され、パラメータが調整され、損失項が評価され、収束(例えば、誤差が目標未満であるか、又は特定の数のトレーニング反復若しくはエポックが得られる)まで以降も同様である。
【0027】
幾つかの実施形態では、
図1を参照すると、共有畳み込み層111、115(及び任意の追加の畳み込み層)のための共有畳み込み層パラメータ、バッチ正規化モジュール112、113、114、116、117、118(及び任意の追加の非共有バッチ正規化モジュール)の各々のための非共有バッチ正規化パラメータ、大域平均プーリングモジュール119、120、121の各々のための非共有大域平均プーリングパラメータ、及び共有全結合層122のための共有全結合層パラメータは、ともに取り込まれる、
図2に関して論述されるようにトレーニングされる、事前トレーニングされた畳み込みニューラルネットワークパラメータθである。
【0028】
処理は、動作204において継続し、動作204において、異なる解像度におけるトレーニング画像を使用して生成される予測の交差エントロピー損失の総和に基づく損失項が定義及び評価される。幾つかの実施形態では、(部分的に)最適化されることになる混合サイズトレーニングの損失項(又は関数)は、以下で示されるように定義される。例えば、損失関数は、損失関数(例えば、全体損失関数)がネットワークをトレーニングするために反復にわたって最小化されるように1つ又は複数の損失項を含んでよい。本明細書において、各損失項は、ネットワークをトレーニングするために独立して、又は他の損失項と組み合わせて、使用され得る。幾つかの実施形態では、分類損失項が、式(3)において示されるように交差エントロピー損失の総和として定義される:
【数3】
ここで、
【数4】
は、分類損失項であり、これは、式(1)において定義されたような交差エントロピー損失について各画像サイズ(解像度)にわたる損失を総和する。示されているように、全ての画像サイズ(すなわち、1、2、...S)は、最終の単一モデルを最小化するという共同目的に等しく寄与する。例えば、
図1において示されたように、入力トレーニング画像102に対応する予測131 p
1は、対応するグラウンドトゥルースラベルと比較され(すなわち、交差エントロピー損失技法を使用して)、入力トレーニング画像103に対応する予測132 p
2は、対応するグラウンドトゥルースラベルと比較され、以降も同様であり、入力トレーニング画像104に対応する予測133 p
Sは、対応するグラウンドトゥルースラベルと比較される。そのような交差エントロピー損失は、混合サイズ並列トレーニングを提供するために全ての利用可能な解像度にわたって総和される。
【0029】
以下で論述されるように、ネットワークパラメータは、プロセス200において更新及び精緻化され、最終的に展開される。とりわけ、式(3)に関して示されたような損失項又は関数は、トレーニングの一部として最小化されてよい。論述されるように、スイッチ可能ネットワーク100は、畳み込み層(conv)層/ブロック、バッチ正規化層、大域平均プーリング層、及び全結合(FC)層を含む任意の適したアーキテクチャを有してよい。幾つかの実施形態では、入力画像が異なるサイズを有する場合、全ての畳み込み層からの対応する特徴マップは、空間サイズにおいても異なることになる。大域平均プーリング層に起因して、特徴は、等しい数のチャネルを有する統一された空間次元(例えば、1×1)に変換され、共有全結合層122が後続することが可能になる。
【0030】
論述される並列トレーニング中、共有畳み込み層111、115及び共有全結合層122のパラメータは、論述されるように、入力画像サイズにかかわらず共有及び適用される。それによって、複数の画像サイズのためのトレーニングが、単一のネットワークにおいて実現される。さらに、画像のサイズ変更は、バッチ正規化(BN)及びその変形において使用される平均及び分散(例えば、パラメータ)を含む、ネットワーク内の異なる活性化統計値をもたらす。混合サイズ並列トレーニング中、そのようなバッチ正規化パラメータは、画像サイズごとに非共有又は排他的である(又は専用化される)。
【0031】
したがって、スイッチ可能ネットワーク100のトレーニング反復において、事前トレーニングされた畳み込みニューラルネットワークパラメータは、幾つかの実施形態では、第1の解像度及び第2の解像度におけるトレーニング画像を並列して使用する交差エントロピー損失の総和(
【数5】
)を含む式(3)において定義されたような分類損失項(
【数6】
)を含む(以下で更に論述されるような)全体損失を使用して、並列に調整(又は更新)される。幾つかの実施形態では、分類損失項(
【数7】
)は単独で、スイッチ可能ネットワーク100をトレーニングするのに使用されてよい。
【0032】
さらに、スイッチ可能ネットワーク100のトレーニングにおいて、混合サイズベース変換(例えば、パラメータの調整)は、データ拡張とみなされてよい。したがって、第1に、モデルは、多様である画像サイズの設定を用いて、(1つのみの画像サイズを使用したトレーニングと比較して)より広い範囲の画像サイズに基づいてトレーニングされるので、混合サイズ並列トレーニングは、より小さい画像サイズではなく(より豊富な情報を符号化する)より大きい画像サイズに正確性利得をもたらす傾向がある。第2に、関心オブジェクトが画像エリアの異なる部分をランダムに占有する大規模画像分類の特殊性に基づいて、ランダムサイズクロップ拡張ストラテジーがトレーニング中に使用されるが、テストのために使用することができない。これは、最終モデルのバイアスを、大きい画像サイズに対するより良好な性能に向けるが、その一方、はるかにより小さい画像サイズに対してより不良な性能を表示する傾向がある。
【0033】
そのような懸念に対処するために、混合サイズアンサンブル蒸留(MED)技法が、トレーニング中に利用される。とりわけ、十分にトレーニングされたモデルの場合、より大きい入力画像サイズにおいてテストされた画像インスタンスは、同じ画像インスタンスについてのより小さい入力画像サイズと比較してより良好な予測に常に対応するわけではない。例えば、テストは、小さい画像サイズにおいて正しく分類されているが、別のより大きい画像サイズにおいて誤って分類されているサンプルの或る割合が常に存在することを示した。そのような結果は、異なる画像サイズにおけるモデル予測が相補的であり、より大きい画像サイズが常により良好であるわけではないことを示している。したがって、オンザフライティーチャ(on-the-fly teacher)(例えば、トレーニング反復において生成される)が、ティーチャが全ての画像サイズに対する予測のアンサンブルであるように、スイッチ可能ネットワーク100をトレーニングするために利用される。さらに、密アンサンブル知識蒸留(dense ensemble knowledge distillation)が、スイッチ可能ネットワーク100の全体性能を改善するために、トレーニングにおいて実行される。
【0034】
処理は、動作205において継続し、動作205において、アンサンブル予測が定義され、アンサンブル予測を使用して、アンサンブル損失項が定義される。とりわけ、
図1を参照すると、トレーニング画像インスタンス101について、トレーニング画像102、103、104のうちの1つに各々が対応する複数の予測が得られる。複数の予測の加重平均である(例えば、以下で論述されるようにロジット重要度スコアを使用して重み付けされる)アンサンブル予測が、決定され、複数の予測の各々のためのオンザフライティーチャとして使用される。とりわけ、加重平均アンサンブル予測は、トレーニング中にその場で(on-the-fly)スイッチ可能ネットワーク100を介して生成される(そして、別のネットワークによっては課されない)。アンサンブル予測は、次に、アンサンブル予測からの複数の予測の各々の予測の発散を使用してネットワークをトレーニングするのに使用される。本明細書において使用される場合、アンサンブルという用語は、グループが個別ではなく全体としてみなされ得るような当該グループから決定されるエンティティを示す。
【0035】
幾つかの実施形態では、画像分類のトレーニングプロセス中、入力画像x
iごとに、クラスcの確率は、式(4)において示されるようにソフトマックス関数を使用して決定される:
【数8】
ここで、z
iは、ロジット、すなわち、ネットワークによって出力される非正規化対数確率であり、全てのクラスにわたる確率は、モデル予測pとして表記することができる。
【0036】
論述されたように、各画像インスタンスは、トレーニング中にS個のサイズにサイズ変更される。次に、S個の対応するロジット(z
1、z
2、...、z
S)は、式(4)に従って生成される。例示的なロジット123、124、125が
図1において示されている。
図1を引き続き参照すると、
【数9】
を満たす重要度スコア126、127、128のグループα=[α
1,α
2,...,α
S]がソフトマックス関数の実装を介して学習される。アンサンブルロジット129 z
0は、次に、式(5)において示されるように重要度スコアを使用して重み付けされたS個のロジットの加重和を介して生成される:
【数10】
ここで、z
0は、アンサンブルロジット129であり、これは、ロジット重要度スコア126、127、128を使用して重み付けされたトレーニング画像102、103、104の各々に適用されるような事前トレーニングされた畳み込みニューラルネットワークパラメータに対応するロジット123、124、125の加重平均である。幾つかの実施形態では、αを最適化するとき、ロジット(z
1、z
2、...、z
S)の勾配は一時的に凍結される。
【0037】
アンサンブルロジット129 z
0を使用して、アンサンブル予測130として特徴付けされる対応する予測p
0が、上記で論述されたような式(4)を使用して決定される。とりわけ、アンサンブル予測130 p
0は、トレーニング画像102、103、104への(現在のパラメータを使用した)スイッチ可能ネットワーク100の適用からの予測の組み合わせである。重要度スコア126、127、128、αは、アンサンブル予測130 p
0と、トレーニングセットに対して与えられたラベルとの間の交差エントロピー損失を使用して最適化される。交差エントロピー損失は、アンサンブル損失項
【数11】
として特徴付けされ、式(6)に関して示されているように決定される:
【数12】
【0038】
例えば、損失関数は、損失関数(例えば、全体損失関数)がネットワークをトレーニングするために反復にわたって最小化されるように1つ又は複数の損失項を含んでよい。例えば、アンサンブル損失項
【数13】
は、以下で論述されるように損失関数の一部として使用されてよい。示されているように、アンサンブル損失項
【数14】
の最小化は、トレーニングにおいて提供されたグラウンドトゥルースからのアンサンブル予測の発散を最小化する。
【0039】
処理は、動作206において継続し、動作206において、蒸留損失項が、動作205において生成されたアンサンブル予測からの予測の発散及び/又はより大きい入力トレーニング画像を使用して作成された予測からの予測の発散に基づいて定義される。
図1を参照すると、トレーニング画像インスタンス101について、トレーニング画像102、103、104のうちの1つに各々が対応する複数の予測が得られる。複数の予測の加重平均である(例えば、以下で論述されるようにロジット重要度スコアを使用して重み付けされる)アンサンブル予測130が、論述されるように決定される。示されているように、アンサンブル予測130は、(例えば、交差エントロピー技法を使用して)グラウンドトゥルースラベル134によって提供されるようなグラウンドトゥルースと比較され、それらの間の差は、式(6)に関して示されたように最小化される。
【0040】
アンサンブル予測130はまた、
図1において示されたように複数の予測の各々のためのオンザフライティーチャとして使用されてよい。例えば、ロジット123、124、125を使用して、それぞれ入力トレーニング画像102、103、104に対応する、対応する予測131、132、133が生成される。示されているように、予測131、132、133の各々からのアンサンブル予測130の発散は、スイッチ可能ネットワーク100のトレーニングにおいて使用される。とりわけ、加重平均アンサンブル予測は、トレーニング中にその場でスイッチ可能ネットワーク100を介して生成される(そして、別のネットワークによっては課されない)。アンサンブル予測130は、次に、アンサンブル予測130からの複数の予測131、132、133の各々の予測の発散を使用してネットワークをトレーニングするのに使用される。本明細書において使用される場合、アンサンブルという用語は、グループが個別ではなく全体としてみなされ得るような当該グループから決定されるエンティティを示す。
【0041】
加えて又は代替的に、より高い解像度のトレーニング画像の予測が、カスケード141に関して示されているようにより低い解像度のトレーニング画像をトレーニングするための参照として使用されてよい。例えば、(最高解像度の入力トレーニング画像102に対応する)予測131は、全てのより低い解像度における予測132、...、133をトレーニングするのに使用されてよく、(2番目に最高の解像度の入力トレーニング画像102に対応する)予測132は、予測133を含む全てのより低い解像度における予測をトレーニングするのに使用されてよく、以降も同様である(予測133のみが参照として使用されないようになっている)。そのような技法は、より良好な予測を典型的には提供するより高い解像度の入力トレーニング画像を活用してよい。
【0042】
例えば、アンサンブル損失項(例えば、グラウンドトゥルースからのアンサンブル予測の発散)の(部分的)最小化を介したトレーニングに加えて又は代替的に、アンサンブル予測130は、トレーニング画像102、103、104(すなわち、異なる解像度におけるトレーニング画像)のために作成された他の予測のためのオンザフライティーチャとして使用されてよい。幾つかの実施形態では、蒸留損失項が、アンサンブル損失予測からの各予測の発散を最小化するように求めるように定義される。
【0043】
すなわち、幾つかの実施形態では、スイッチ可能ネットワーク100のトレーニングにおいて、異なる画像サイズにおける予測が、学習されたアンサンブル予測130を模倣するように強制される。幾つかの実施形態では、蒸留損失
【数15】
は、式(7)において示されるようなKullback-Leibler(KL)発散の総和として決定される:
【数16】
【0044】
幾つかの実施形態では、(例えば、知識蒸留プロセスにおける)蒸留損失を定義するために、ティーチャ予測p
tとスチューデント予測p
sとの間のアライメントを定量化するために、式(8)が使用される:
【数17】
ただし、P
tは、アンサンブル予測130を表し、p
sは、各予測131、132、133を表すことを条件とする。
【0045】
加えて又は代替的に、論述されたように、混合サイズ並列トレーニングフレームワーク下で、大きい入力トレーニング画像サイズにおける予測の正確性は、多くの場合、より小さい入力トレーニング画像サイズにおける予測の正確性よりも良好である。幾つかの実施形態では、正確性は、大きい画像サイズにおける予測からより小さい画像サイズにおける予測に向かう密なガイダンスを提供することによって更に改善することができる。幾つかの実施形態では、蒸留損失
【数18】
は、式(9)において示されるように一般化されてよい:
【数19】
ここで、インデックスtは、アンサンブル項を参照して0から開始する。例えば、式(9)は、予測131、132、...、133の各々からのアンサンブル予測130の発散、予測132、...、133の各々からの予測131の発散、等を総和し、それにより、幾つかの実施形態では、蒸留損失
【数20】
は、各画像サイズベース予測からのアンサンブル予測の発散、及びより小さい解像度を有する各画像サイズベース予測からの各画像サイズベース予測からの各画像サイズの発散の総和である。各画像サイズベース予測という用語は、入力トレーニング画像への現在のスイッチ可能ネットワークパラメータの適用によって生成される予測を示す。
【0046】
処理は、動作206において継続し、動作206において、損失項の総和を含む損失関数(すなわち、全体損失関数)が最小化される。全体損失関数は、本明細書において論述される任意の損失項のうちの1つ又は複数を含んでよい。幾つかの実施形態では、全体損失関数は、式(10)において示されているように、調整すべきいずれの追加の重み付きパラメータも伴わない、分類損失項、アンサンブル損失項、及び蒸留損失項の総和である:
【数21】
ここで、アンサンブル損失
【数22】
の最適化は、全てのネットワーク重みを凍結させた状態で、重要度スコア126、127、128、αのみを更新する。とりわけ、蒸留損失項は、アンサンブル予測130からの予測131、132、133の発散のみを含んでよく、又は、これは、アンサンブル予測130からの予測131、132、133の発散及びより高い解像度におけるそれらの予測からの予測131、132の各々の予測の発散を含んでよい。
【0047】
処理は、動作208において継続し、動作208において、スイッチ可能ネットワークパラメータθ及びロジット重要度スコアαは、スイッチ可能ネットワークパラメータθに関して、定義された全体損失関数を最小化することに基づいて更新される。処理は、判断動作209において継続し、判断動作209において、スイッチ可能ネットワークのトレーニングが完了したか否かについての決定が行われる。そのような決定は、閾値との全体損失の比較、特定の回数のトレーニング反復の実施等のような任意の適した単数又は複数の技法を使用して行われてよい。
【0048】
トレーニングが完了していない場合、処理は、トレーニングが完了するまで上記で論述されたように動作203において継続する。トレーニングが完了している場合、処理は、動作210において継続し、動作210において、スイッチ可能ネットワークパラメータθは、本明細書において論述されるように実装フェーズにおける最終展開のためにメモリに記憶される。さらに、ロジット重要度スコアは、実装において不要として破棄される。
【0049】
図3は、本開示の少なくとも幾つかの実装に従って構成される、異なる解像度の入力画像のためのオブジェクトラベルを提供するための実装フェーズにおけるスイッチ可能ネットワーク100を示している。
図3において示されているように、スイッチ可能ネットワーク100は、第1の解像度における入力画像301を有する第1の時間インスタンス300において、及び第1の解像度よりも高い第2の解像度における入力画像302を有する第2の時間インスタンス330において、実装される。論述されたように、実装フェーズにおいて、スイッチ可能ネットワーク100は、パーソナルコンピュータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、デジタルカメラ、ゲーミングコンソール、ウェアラブルデバイス、ディスプレイデバイス、オールインワンデバイス、ツーインワンデバイス等のような任意の適したデバイスを介して実装されてよい。例えば、スイッチ可能ネットワーク100のネットワークパラメータは、メモリから索出され、1つ又は複数のプロセッサを介して実装されてよい。
【0050】
とりわけ、第1の時間インスタンス300と第2の時間インスタンス330との間で、バッチ正規化モジュール及び大域平均プーリングのためのパラメータ等の非共有パラメータ341のみが、入力画像301の処理から入力画像302へのスイッチの処理のために更新される必要がある。例えば、トレーニングのためのみに必要とされるパラメータは、破棄されてよい。さらに、示されているように、トレーニングのために必要とされるコンポーネントも、実装フェーズにおいて破棄され、セレクタ310が追加される。
【0051】
第1の時間インスタンス300において、入力画像301が受信される。入力画像301は、RGBチャネル、YUVチャネル等の3画像チャネル、又は単一輝度チャネルを含んでよい。入力画像301は、224×224ピクセル、192×192ピクセル、160×160ピクセル、128×128ピクセル、又は96×96ピクセルのうちの1つ等の任意の適した解像度を有してよい。セレクタ310は、入力画像301又はそのインジケータを受信し、セレクタ310は、入力画像301の解像度に基づく実装のためのスイッチ可能ネットワーク100の1つのルート又は一部分を選択する。示されている例では、入力画像301は、192×192であり、入力画像301のためのスイッチ可能ネットワーク100を通る選択されたルートは、次のとおり、すなわち、共有畳み込み層111、バッチ正規化モジュール113、任意の数の共有畳み込み層/非共有バッチ正規化モジュールペア、共有畳み込み層115、バッチ正規化モジュール117、大域平均プーリングモジュール120、全結合層122であり、全結合層122は、単数又は複数のラベル324を出力する。
【0052】
とりわけ、そのような層又はモジュールの各々は、スイッチ可能ネットワーク100のパラメータを適用し、共有層は、入力画像の解像度にかかわらず同じパラメータを適用し、排他的又は非共有モジュールは、入力画像の解像度に基づいて異なるパラメータを適用する。例えば、バッチ正規化モジュール113は、バッチ正規化モジュール112、114のパラメータに排他的なパラメータを適用する。本明細書において使用される場合、スイッチ可能ネットワークパラメータに関する排他的という用語は、幾つかのパラメータが合致するが、パラメータの異なるセットが利用されることを示す。例えば、1つ又は複数の異なるパラメータは、互いに対して排他的であるスイッチ可能ネットワークパラメータがモジュールを介して適用されることを示す。幾つかの実施形態では、バッチ正規化モジュールは、入力画像の解像度に応答して互いに対して異なる平均及び分散を適用する。
【0053】
示されているように、セレクタ310は、入力画像301のためのスイッチ可能ネットワーク100を通るルートを提供する。入力画像301は、共有畳み込み層111によって受信され、共有畳み込み層111は、共有畳み込み層111の畳み込み層パラメータを入力画像301に適用して、特徴マップ(FM)311を生成する。特徴マップ311は、任意の適した解像度を有する共有畳み込み層111において適用される畳み込みカーネルの数に対応する任意の数の特徴マップを含んでよい。共有畳み込み層111は、畳み込みカーネル並びに正規化線形ユニット(ReLU)及び/又は他の任意の適した処理を適用してよい。畳み込み層パラメータは、フィルタ重み、ReLUパラメータ等のような共有畳み込み層111の実装のための任意の適したパラメータを含んでよい。
【0054】
特徴マップ311は、バッチ正規化モジュール113によって選択的に受信され、バッチ正規化モジュール113は、バッチ正規化を適用して、特徴マップ312を生成する。特徴マップ312は、特徴マップ311のものと同じ数の特徴マップ及び解像度等の任意の数の特徴マップを含んでよい。論述されたように、バッチ正規化モジュール113は、平均及び分散等の非共有又は排他的バッチ正規化パラメータ、平均パラメータ、分散パラメータ等を適用する。
【0055】
特徴マップ312は、共有畳み込み層111及びバッチ正規化モジュール113に関して論述されるものと同様の方法において任意の数の共有畳み込み層及び非共有バッチ正規化モジュールペアによって処理される。そのような特徴マップ(又は特徴マップ312)は、共有畳み込み層115によって受信され、共有畳み込み層115は、共有畳み込み層115の畳み込み層パラメータを適用して、任意の適した数のマップ及び解像度を有する特徴マップ313を生成する。特徴マップ313は、バッチ正規化モジュール117によって選択的に受信され、バッチ正規化モジュール117は、バッチ正規化を適用して、ここでもやはり任意の適した数のマップ及び解像度を有する特徴マップ314を生成する。
【0056】
特徴マップ314は、大域平均プーリングモジュール120によって選択的に受信され、大域平均プーリングモジュール120は、大域平均プーリングを適用して、特徴マップ314の、特徴ベクトル315を提供するための等しい数のチャネルを有する統一された空間次元(例えば、1×1)への変換等の任意の適した単数又は複数の技法を使用して特徴ベクトル(FV)315を生成する。特徴ベクトル315は、共有全結合層122によって受信され、共有全結合層122は、共有全結合層122の全結合層パラメータを適用して、単数又は複数のラベル324を生成する。幾つかの実施形態では、スイッチ可能ネットワーク100は、最高確率に対応する単一のラベルを出力する。幾つかの実施形態では、出力は、複数のラベル及びそれらの対応する確率を含む。幾つかの実施形態では、出力は、全ての可能なラベルの確率を含む。出力ラベルは、幅広い人工知能応用、画像処理応用、又は同様の応用において使用され得る。ラベルの生成に関して論述されているが、幾つかの実施形態では、スイッチ可能ネットワーク100は、入力画像301の超解像バージョン、入力画像301のセグメンテーション、入力画像301の鮮鋭化バージョン、又は他の任意の像を含む特徴マップを出力してよい。
【0057】
時間インスタンス330に関して示されているように、スイッチ可能ネットワーク100は、次に、入力画像301とは異なる解像度(示されている例におけるより高い解像度)を有する入力画像302を処理するようにスイッチングされてよい。とりわけ、バッチ正規化モジュール及び大域平均プーリングのためのもの等の、総パラメータのうちのごく小さい割合(例えば、<1%)である非共有パラメータ341のみが、異なる解像度における処理間でスイッチングされるように更新される必要がある。それによって、スイッチ可能ネットワーク100は、利用可能な解像度ごとに異なるネットワークを実装することと比較して著しく削減されたメモリフットプリントを提供する。3、4、5、6、又はそれよりも多い数等の任意の数の解像度がスイッチ可能ネットワーク100によってハンドリングされてよい。幾つかの実施形態では、スイッチ可能ネットワーク100は、5つの解像度、すなわち、224×224ピクセル、192×192ピクセル、160×160ピクセル、128×128ピクセル、又は96×96ピクセルを処理してよい。
【0058】
第2の時間インスタンス330において、入力画像302が受信される。入力画像301と同様に、入力画像302は、3画像チャネル又は単一輝度チャネルを含んでよい。入力画像301は、224×224ピクセル、192×192ピクセル、160×160ピクセル、128×128ピクセル、又は96×96ピクセルのうちの1つ等の任意の適した解像度を有してよい。示されている例では、入力画像は、224×224の解像度を有する。セレクタ310は、共有畳み込み層111、バッチ正規化モジュール112、任意の数の共有畳み込み層/非共有バッチ正規化モジュールペア、共有畳み込み層115、バッチ正規化モジュール116、大域平均プーリングモジュール119、全結合層122を含む、示されている例における選択されたルートを用いた入力画像301の解像度に基づく実装のために、スイッチ可能ネットワーク100のルート又は一部分を選択し、全結合層122は、単数又は複数のラベル323を出力する。とりわけ、入力画像解像度にかかわらず、選択されたルートは、共有畳み込み層、任意の数の共有畳み込み層、共有畳み込み層115、及び全結合層122を含む。論述されたように、選択された層又はモジュールの各々は、スイッチ可能ネットワーク100のパラメータを適用し、共有層は、入力画像の解像度にかかわらず同じパラメータを適用し、排他的又は非共有モジュールは、入力画像の解像度に基づいて異なるパラメータを適用する。
【0059】
示されているように、セレクタ310は、入力画像302を共有畳み込み層111にルーティングし、共有畳み込み層111は、共有畳み込み層111の畳み込み層パラメータ(すなわち、入力画像301を含む任意の入力画像に適用されるものと同じ)を入力画像302に適用して、特徴マップ316を生成する。特徴マップ316は、バッチ正規化モジュール112によって選択的に受信され、バッチ正規化モジュール112は、バッチ正規化(すなわち、他のバッチ正規化モジュールに対して異なるバッチ正規化)を適用して、特徴マップ317を生成する。特徴マップ317は、特徴マップ316のものと同じ数の特徴マップ及び解像度等の任意の数の特徴マップを含んでよい。バッチ正規化モジュール112は、平均及び分散等の非共有又は排他的バッチ正規化パラメータ、平均パラメータ、分散パラメータ等を適用する。とりわけ、バッチ正規化モジュール112によって適用されるバッチ正規化パラメータは、バッチ正規化モジュール113によって適用されるものと異なる。
【0060】
特徴マップ317は、同様の方法において、任意の数の共有畳み込み層及び非共有バッチ正規化モジュールペアによって処理され、そのような特徴マップ(又は特徴マップ317)が共有畳み込み層115によって受信される。共有畳み込み層115は、入力画像301の論述に関して適用されたものと同じ畳み込み層パラメータを適用して、特徴マップ318を生成し、特徴マップ318は、任意の適した数のマップ及び解像度を有する。特徴マップ318は、バッチ正規化モジュール116によって選択的に受信され、バッチ正規化モジュール116は、バッチ正規化を適用して、ここでもやはり任意の適した数のマップ及び解像度を有する特徴マップ319を生成する。バッチ正規化モジュール116は、バッチ正規化モジュール117によって適用されるものに対して異なるバッチ正規化パラメータを適用する。
【0061】
特徴マップ319は、大域平均プーリングモジュール119によって選択的に受信され、大域平均プーリングモジュール119は、大域平均プーリングを適用して、特徴ベクトル320を生成する。例えば、大域平均プーリングモジュール119は、特徴マップ319を、等しい数のチャネルを有する統一された空間次元に変換して、特徴ベクトル320を提供してよく、特徴ベクトル320は、共有全結合層122によって受信される。全結合層122は、共有全結合層122の全結合層パラメータ(すなわち、特徴ベクトル315に適用される同じパラメータ)を適用して、単数又は複数のラベル323を生成し、単数又は複数のラベル323は、単数又は複数のラベル324に関して論述されたもののように任意の特性を有してよい。さらに、論述されたように、ラベルの生成に関して論述されているが、幾つかの実施形態では、スイッチ可能ネットワーク100は、超解像度画像、セグメンテーション画像、鮮鋭化画像301等のような特徴マップを出力してよい。
【0062】
図4は、本開示の少なくとも幾つかの実装に従って構成される、スイッチ可能ネットワークを使用して異なる解像度の入力画像のためのラベルを生成する例示のプロセス400を示すフロー図である。プロセス400は、
図4において示されているように、1つ又は複数の動作401~409を含んでよい。プロセス400又はその一部分は、スイッチ可能ネットワーク100等の本明細書において論述される任意のデバイス又はシステムによって実行されてよい。
【0063】
プロセス400は、動作401において開始し、動作401において、入力画像が、スイッチ可能ネットワークを介して処理するために受信されて、入力画像のための1つ又は複数の画像分類ラベルが提供される。入力画像は、スイッチ可能ネットワークが処理することが可能である幾つかの入力画像解像度のうちの1つにおいて受信されるか、又はクロップされて当該幾つかの入力画像解像度のうちの1つにサイズ変更されてよい。例えば、スイッチ可能ネットワークが処理することができる最大画像サイズよりも大きい場合、入力画像は、スイッチ可能ネットワークが処理することが可能である最大画像サイズにダウンサンプリングされてよい。代替的に、入力画像は、スイッチ可能ネットワークが処理することが可能である最小画像サイズにアップサンプリングされてよい。さらに、入力画像が適切な形状(例えば、正方形)ではない場合、入力画像は、適切な形状にクロップされてよい。
【0064】
処理は、動作402において継続し、動作402において、スイッチ可能ネットワークパスが、到来する入力画像解像度を使用して選択される。例えば、スイッチ可能ネットワークパスは、常に、共有層、ブロック、又はモジュールを含み得るが、その一方、パスにおいて選択される非共有又は排他層、ブロック、又はモジュールは、入力画像の解像度に依存する。幾つかの実施形態では、全ての畳み込み層が共有され、全結合層が共有されるが、その一方、バッチ正規化モジュール及び大域平均プーリングモジュールは非共有又は排他的である。スイッチ可能ネットワークを通る利用可能なパスの数は、スイッチ可能ネットワークが処理することができる解像度の数に等しく、3、4、5、6、又はそれよりも多い数等の任意の数であってよい。幾つかの実施形態では、スイッチ可能ネットワークは、224×224、192×192、160×160、128×128、及び96×96の解像度入力画像のための各々について1つずつである、5つのパスを有する。
【0065】
処理は、動作403において継続し、動作403において、第1の共有畳み込み層が入力画像に適用される。共有畳み込み層は、共有畳み込み層が、入力画像解像度にかかわらず、同じ畳み込み層パラメータを入力画像に適用して、任意の数の特徴マップを生成するような、本明細書において論述される任意の特性を有してよい。処理は、動作404において継続し、動作404において、解像度ベースバッチ正規化が、結果として得られる特徴マップに適用される。すなわち、バッチ正規化パラメータは、入力画像の解像度に基づいて選択され、他の解像度のためのバッチ正規化パラメータに排他的である。そのようなバッチ正規化は、到来する特徴マップに対して変更された特徴マップを生成する。
【0066】
処理は、判断動作405において継続し、判断動作405において、動作403において適用された共有畳み込み層がスイッチ可能ネットワークにおける最後の共有畳み込み層であるか否かについての決定が行われる。そうではない場合、処理は、動作404において実行されたバッチ正規化から出力された特徴マップに関して上記で論述されたように動作403、404において継続し、(例えば、カウンタ変数iによってカウントされるように)次の共有畳み込み層への入力が提供される。シーケンスにおける各関連共有畳み込み層が、入力画像(第1の共有畳み込み層)又は特徴マップ(各後続の共有畳み込み層)に適用される。さらに、動作404において、後続の解像度適応バッチ正規化が、結果として得られる特徴マップに適用され、バッチ正規化パラメータがここでもやはり入力画像の解像度に基づいて選択され、他の解像度のためのバッチ正規化パラメータに排他的である。
【0067】
動作403において適用された共有畳み込み層がスイッチ可能ネットワークにおける最後の共有畳み込み層である(及び動作404において適用された解像度ベースバッチ正規化がスイッチ可能ネットワークにおける最後の解像度ベースバッチ正規化である)場合、処理は、動作406において継続し、動作406において、解像度ベース大域平均プーリングは、結果として得られる特徴マップに適用される。例えば、大域平均プーリングパラメータは、入力画像の解像度に基づいて選択され、他の解像度のための大域平均プーリングパラメータに排他的である。そのような大域平均プーリング処理は、全結合層を介した実装のための特徴ベクトルを提供する。
【0068】
処理は、動作407において継続し、動作407において、共有全結合層が入力画像に適用される。共有全結合層は、共有全結合層が、入力画像解像度にかかわらず、同じ共有全結合層パラメータを入力ベクトルに適用して、入力画像に対応する1つ又は複数の画像分類ラベルを生成するような、本明細書において論述される任意の特性を有してよい。出力として、単一のラベル、複数の最高確率ラベル等が提供されてよい。
【0069】
処理は、判断動作408において継続し、判断動作408において、最後の画像が処理されたか否かについての決定が行われる。そうである場合、処理は、終了動作409において終了する。そうではない場合、処理は、上記で論述されたように、動作401において継続する。とりわけ、次の画像が以前に処理された画像と同じ解像度を有する場合、動作402において選択されたネットワークパスは、同じであり、(例えば、プロセッサによる実装のためのキャッシュメモリ等における)パラメータの変更は必要とされない。しかしながら、次の画像が以前に処理された画像に対して異なる解像度を有する場合、非共有又は排他的パラメータのみが、次の画像を処理するために、破棄され、再ロードされることが必要とされる。例えば、共有パラメータは、高レベルキャッシュ(例えば、L1又はL2キャッシュ)又はオンボードメモリにおいて維持されてよく、その一方、非共有パラメータは、より低いレベルのキャッシュ(例えば、L3キャッシュ)又はメインメモリから索出される。幾つかの実施形態では、共有パラメータは、オンチップメモリ(例えば、L1キャッシュ)において維持されてよく、その一方、非共有パラメータは、次の画像の処理のために、オフチップメモリから索出され、オンチップメモリにロードされる。
【0070】
そのような処理は、画像分類のために画像解像度間で迅速に変更するために、任意の回数繰り返されてよい。そのような技法は、適応的ランタイム高効率画像分類のための入力画像サイズスイッチ可能ネットワークを提供する。
【0071】
図5は、本開示の少なくとも幾つかの実装に従って構成される、画像分類を実行する例示のプロセス500を示すフロー図である。プロセス500は、
図5において示されているように、1つ又は複数の動作501~507を含んでよい。プロセス500は、画像分類プロセスの少なくとも一部を形成してよい。非限定的な例として、プロセス500は、本明細書において論述されるように、実装フェーズにおいてスイッチ可能ネットワーク100によって実行される画像分類プロセスの少なくとも一部を形成してよい。さらに、プロセス500は、
図6のシステム600を参照して、本明細書において説明される。
【0072】
図6は、本開示の少なくとも幾つかの実装に従って構成される、画像分類を実行する例示のシステム600の説明図である。
図6において示されているように、システム600は、中央プロセッサ601、画像プロセッサ602、メモリストレージ603、及びカメラ604を備えてよい。例えば、カメラ604は、処理のための入力画像を取得してよい。同様に示されているように、中央プロセッサ601は、セレクタ310、(共有畳み込み層111、115等を表す)共有畳み込み層611、(バッチ正規化モジュール112、113、114、116、117、118等を表す)正規化モジュール612、(大域平均プーリングモジュール119、120、121を表す)大域平均プーリングモジュール613、及び全結合層122を含むか、又はこれらを実装してよい。システム600は、
図1に関して論述されたように、任意のトレーニングモジュール又はコンポーネントを含むか、又はこれらを実装してもよい。そのようなコンポーネント又はモジュールは、本明細書において論述されるように動作を実行するように実装されてよい。メモリストレージ603は、画像、画像インスタンス、スイッチ可能ネットワークパラメータ、ラベル若しくはラベルデータ、又は本明細書において論述される他の任意のデータを記憶してよい。
【0073】
示されているように、幾つかの例では、セレクタ310、共有畳み込み層611、正規化モジュール612、大域平均プーリングモジュール613、及び全結合層122のうちの1つ又は複数は、中央プロセッサ601を介して実装される。他の例では、セレクタ310、共有畳み込み層611、正規化モジュール612、大域平均プーリングモジュール613、及び全結合層122のうちの1つ又は複数又は一部分は、画像プロセッサ602、ビデオプロセッサ、グラフィックスプロセッサ等を介して実装される。更に他の例では、セレクタ310、共有畳み込み層611、正規化モジュール612、大域平均プーリングモジュール613、及び全結合層122のうちの1つ又は複数又は一部分は、画像又はビデオ処理パイプライン又はユニットを介して実装される。
【0074】
画像プロセッサ602は、本明細書において論述されるように動作を提供し得る、任意の数及びタイプのグラフィックス、画像、又はビデオ処理ユニットを含んでよい。幾つかの例では、画像プロセッサ602は、画像信号プロセッサであってよい。例えば、画像プロセッサ602は、メモリストレージ603から取得された画像データを操作するのに専用の回路を含んでよい。中央プロセッサ601は、システム600に制御及び他の高レベルの機能を提供し、及び/又は、本明細書において論述されるような任意の動作を提供し得る任意の数及びタイプの処理ユニット又はモジュールを含んでよい。メモリストレージ603は、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)等)又は不揮発性メモリ(例えば、フラッシュメモリ等)等のような任意のタイプのメモリであってよい。非限定的な例では、メモリストレージ603は、キャッシュメモリによって実装されてよい。
【0075】
一実施形態では、セレクタ310、共有畳み込み層611、正規化モジュール612、大域平均プーリングモジュール613、及び全結合層122のうちの1つ又は複数又は一部分は、画像プロセッサ602の実行ユニット(EU)を介して実装される。EUは、例えば、幅広いプログラマブルロジック機能を提供し得る、単数又は複数のロジックコア等のプログラマブルロジック又は回路を含んでよい。一実施形態では、セレクタ310、共有畳み込み層611、正規化モジュール612、大域平均プーリングモジュール613、及び全結合層122のうちの1つ又は複数又は一部分は、固定機能回路等のような専用ハードウェアを介して実装される。固定機能回路は、専用ロジック又は回路を含んでよく、固定の目的又は機能のための専用ロジックにマッピングし得る固定機能入力ポイントのセットを提供してよい。幾つかの実施形態では、セレクタ310、共有畳み込み層611、正規化モジュール612、大域平均プーリングモジュール613、及び全結合層122のうちの1つ又は複数又は一部分は、特定用途向け集積回路(ASIC)を介して実装されてよい。ASICは、本明細書において論述される動作を実行するようにカスタマイズされた集積回路を含んでよい。カメラ604は、任意の適したレンズ及び画像センサ及び/又は画像又はビデオをキャプチャする関連ハードウェアを有する任意のカメラを含んでよい。
【0076】
図5の論述に戻ると、プロセス500は、動作501において開始し、動作501において、第1の解像度における第1の画像、及び第1の解像度未満の第2の解像度における第2の画像が、処理のために受信される。そのような画像は、並列に又は直列に受信されてよい。例えば、画像は、メモリに同時に記憶される場合も、されない場合もある。明確性のために2つの画像解像度に関して論述されているが、任意の数の利用可能な解像度の任意の数の入力画像が利用されてよい。プロセス500の論述において、動作は、入力画像解像度に基づいてスイッチ可能であるスイッチ可能ネットワークによって実行されてよい。
【0077】
処理は、動作502において継続し、動作502において、畳み込みニューラルネットワーク層が、任意の数の畳み込み層パラメータを使用して第1の画像、又は第1の画像に対応する第1の特徴マップに適用されて、第1の画像に対応する1つ又は複数の第2の特徴マップを生成する。例えば、動作502の畳み込みニューラルネットワーク層は、入力画像自体に適用されるスイッチ可能ネットワークにおける第1の畳み込みニューラルネットワーク層、又は第1の画像に基づいて生成される特徴マップに適用される後続の畳み込みニューラルネットワーク層であってよい。さらに、全ての畳み込みニューラルネットワーク層が共有されることに関して本明細書において論述されているが、幾つかの実施形態では、非共有畳み込みニューラルネットワーク層が1つ又は複数の層において利用されてよい。幾つかの実施形態では、畳み込みニューラルネットワーク層は、剪定された畳み込みニューラルネットワーク層又は量子化された畳み込みニューラルネットワーク層である。
【0078】
処理は、動作503において継続し、動作503において、第1の正規化が、第1の正規化パラメータを使用して1つ又は複数の第2の特徴マップに対して実行されて、1つ又は複数の第3の特徴マップが生成される。例えば、第1の正規化は、結果として得られる特徴マップが、第1の画像から直接又は第1の画像に対応する特徴マップから生成されるような、動作502からの結果として得られる特徴マップに対して実行される。第1の画像に適用されるような第1の正規化は、第1の正規化パラメータが、第1の画像の解像度を有する入力画像にのみ適用されるように、第1の画像の解像度に基づいて選択的である。第1の正規化及び(動作506に関して論述される)第2の正規化は、バッチ正規化等の本明細書において論述される任意の適した正規化であってよい。
【0079】
処理は、動作504において継続し、動作504において、第1のラベルが、1つ又は複数の第3の特徴マップを使用して第1の画像のために生成される。第1のラベルは、任意の適した単数又は複数の技法を使用して生成されてよい。幾つかの実施形態では、第1のラベルを生成することは、各々に追加の第1の正規化が後続する1つ又は複数の追加の共有畳み込みニューラルネットワーク層を適用することと、全結合層を適用することとを含む。幾つかの実施形態では、最終正規化に後続して、全結合層の適用の前に大域平均プーリングが適用される。幾つかの実施形態では、全結合層は、入力画像解像度にかかわらず共有及び適用され、大域平均プーリングは、入力画像解像度に基づいて選択的に適用される。幾つかの実施形態では、第1の正規化及び追加の第1の正規化は、第1の解像度である第1の画像に応答して選択される。
【0080】
処理は、動作505において継続し、動作505において、畳み込みニューラルネットワーク層は、畳み込み層パラメータを使用して第2の画像、又は第2の画像に対応する第4の特徴マップに適用されて、第2の画像に対応する1つ又は複数の第5の特徴マップを生成する。例えば、動作505の畳み込みニューラルネットワーク層は、入力画像自体に適用されるスイッチ可能ネットワークにおける第1の畳み込みニューラルネットワーク層、又は第1の画像に基づいて生成される特徴マップに適用される後続の畳み込みニューラルネットワーク層であってよい。論述されたように、動作505において適用される畳み込みニューラルネットワーク層は、動作502において適用されたものと同じ畳み込み層パラメータを実装する。
【0081】
処理は、動作506において継続し、動作506において、第2の正規化が、第1の正規化パラメータに排他的な第2の正規化パラメータを使用して1つ又は複数の第5の特徴マップに対して実行されて、1つ又は複数の第6の特徴マップが生成される。例えば、第2の正規化は、結果として得られる特徴マップが、第2の画像から直接又は第2の画像に対応する特徴マップから生成されるような動作505からの結果として得られる特徴マップに対して実行される。第2の画像に適用されるような第2の正規化は、第2の正規化パラメータが、第2の画像の解像度を有する入力画像にのみ適用されるように、第2の画像の解像度に基づいて選択的である。とりわけ、動作506において適用される第2の正規化パラメータは、動作503において適用された第1の正規化パラメータに対して排他的であり、これに対して異なる。
【0082】
処理は、動作507において継続し、動作507において、第2のラベルが、1つ又は複数の第6の特徴マップを使用して第2の画像のために生成される。第2のラベルは、任意の適した単数又は複数の技法を使用して生成されてよい。幾つかの実施形態では、第1のラベルを生成することは、各々に(第2の画像の解像度に基づいて選択された)追加の第2の正規化が後続する1つ又は複数の追加の共有畳み込みニューラルネットワーク層を適用することと、動作504において適用されたものと同じ全結合層を適用することとを含む。幾つかの実施形態では、最終正規化に後続して、全結合層の適用の前に大域平均プーリングが適用される。論述されたように、幾つかの実施形態では、全結合層は、入力画像解像度にかかわらず共有及び適用され、大域平均プーリングは、入力画像解像度に基づいて選択的に適用される。
【0083】
動作501~507に対して適用されるスイッチ可能ネットワークパラメータは、任意の適した単数又は複数の技法を使用して生成されてよい。例えば、畳み込み層パラメータ、第1の正規化パラメータ、第2の正規化パラメータ、他の共有畳み込み層パラメータ、他の非共有正規化パラメータ、共有全結合層パラメータ、及び非共有大域平均プーリングパラメータは、畳み込みニューラルネットワークパラメータ又は事前トレーニングされた畳み込みニューラルネットワークパラメータと総称され得る。幾つかの実施形態では、事前トレーニングされた畳み込みニューラルネットワークパラメータは、それぞれ第1の解像度及び第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、第1のトレーニング画像及び第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、トレーニング反復における、第1のトレーニング画像及び第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整とに基づいてトレーニングされる。幾つかの実施形態では、パラメータ調整は、事前トレーニングされた畳み込みニューラルネットワークパラメータの全結合層パラメータに対する調整を更に含み、畳み込み層パラメータ及び全結合層パラメータは、入力画像サイズにわたって共有されることになり、第1の正規化パラメータ及び第2の正規化パラメータは、入力画像サイズにわたって非共有となる。
【0084】
幾つかの実施形態では、事前トレーニングされた畳み込みニューラルネットワークパラメータは、第1の解像度、第2の解像度、及び第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、トレーニング反復における、それぞれ第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、アンサンブル予測の、グラウンドトゥルースラベルとの比較とに基づいてトレーニングされる。幾つかの実施形態では、アンサンブル予測は、第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像の各々に適用されるような事前トレーニングされた畳み込みニューラルネットワークパラメータに対応するロジットの加重平均を含み、ロジットの加重平均は、ロジット重要度スコアを使用して重み付けされる。幾つかの実施形態では、トレーニング反復において、パラメータ更新は、アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、アンサンブル予測からの各第1の予測、第2の予測、及び第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく。幾つかの実施形態では、蒸留損失項は、第1の予測からの第2の予測の第1の発散、第3の予測からの第2の予測の第2の発散、及び第1の予測からの第3の予測の第3の発散を更に含む。幾つかの実施形態では、損失関数は、第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を更に含む。
【0085】
本明細書において説明されるシステムの様々なコンポーネントは、ソフトウェア、ファームウェア、及び/又はハードウェア、及び/又はこれら任意の組み合わせにおいて実装されてよい。例えば、本明細書において論述されるシステムの様々なコンポーネントは、少なくとも部分的に、例えば、スマートフォン等のコンピューティングシステムにおいて見られ得るようなコンピューティングシステムオンチップ(SoC)のハードウェアによって提供されてよい。当業者であれば、本明細書において説明されるシステムが、対応する図に示されていない追加のコンポーネントを含み得ることを認識し得る。例えば、本明細書において論述されるシステムは、明確性のために示されていない通信モジュール等のような追加のコンポーネントを含んでよい。
【0086】
本明細書において論述される例示のプロセスの実装は、示されている全ての動作を示された順序において実行することを含み得るが、本開示は、これに関して限定されず、様々な例において、本明細書における例示のプロセスの実装は、示されている動作のサブセットのみ、示された順序とは異なる順序において実行される動作、又は、追加の動作を含んでよい。
【0087】
加えて、本明細書において論述される動作のうちの任意の1つ又は複数は、1つ又は複数のコンピュータプログラム製品によって提供される命令に応答して実行されてよい。そのようなプログラム製品は、例えばプロセッサによって実行されると、本明細書において説明される機能を提供し得る命令を提供する信号担持媒体を含んでよい。コンピュータプログラム製品は、任意の形態の1つ又は複数の機械可読媒体において提供されてよい。それゆえ、例えば、1つ又は複数のグラフィックス処理ユニット又はプロセッサコアを含むプロセッサは、1つ又は複数の機械可読媒体によってプログラムコード及び/又は命令又は命令セットがプロセッサに伝達されることに応答して、本明細書における例示のプロセスのブロックのうちの1つ又は複数を実行してよい。一般に、機械可読媒体は、本明細書において説明されるデバイス及び/又はシステムのうちのいずれかに、本明細書において論述されるシステムの少なくとも一部分、又は本明細書において論述されるような他の任意のモジュール若しくはコンポーネントを実装させ得る、プログラムコード及び/又は命令又は命令セットの形態でソフトウェアを伝達してよい。
【0088】
本明細書において説明される任意の実装において使用される場合、「モジュール」又は「コンポーネント」という用語は、本明細書において説明される機能を提供するように構成されたソフトウェアロジック、ファームウェアロジック、ハードウェアロジック、及び/又は回路のうちの任意の組み合わせを指す。ソフトウェアは、ソフトウェアパッケージ、コード及び/又は命令セット又は命令として具現化されてよく、「ハードウェア」は、本明細書において説明される任意の実装において使用される場合、例えば、ハードワイヤード回路、プログラマブル回路、状態機械回路、固定機能回路、実行ユニット回路及び/又は、プログラマブル回路によって実行される命令を記憶するファームウェアを、単独で又は任意の組み合わせで含んでよい。モジュールは、例えば、集積回路(IC)システムオンチップ(SoC)等のより大きいシステムの一部を形成する回路として、集合的に又は個別に具現化されてよい。
【0089】
図7は、本開示の少なくとも幾つかの実装に従って構成される、例示のシステム700の説明図である。様々な実装において、システム700は、モバイルシステムであってよいが、システム700はこの状況に限定されない。システム700は、本明細書において論述される任意のモジュール又は技法を実装及び/又は実行してよい。例えば、システム700は、パーソナルコンピュータ(PC)、サーバ、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイントアンドシュートカメラ、スーパズームカメラ、デジタル一眼レフ(DSLR)カメラ)等に組み込まれてよい。幾つかの例では、システム700は、クラウドコンピューティング環境を介して実装されてよい。
【0090】
様々な実装において、システム700は、ディスプレイ720に結合されたプラットフォーム702を備える。プラットフォーム702は、コンテンツサービスデバイス730又はコンテンツ配信デバイス740又は他の同様のコンテンツソース等のコンテンツデバイスからコンテンツを受信してよい。1つ又は複数のナビゲーション機能を含むナビゲーションコントローラ750が、例えば、プラットフォーム702及び/又はディスプレイ720とインタラクトするのに使用されてよい。これらのコンポーネントの各々は、以下でより詳細に説明される。
【0091】
様々な実装において、プラットフォーム702は、チップセット705、プロセッサ710、メモリ712、アンテナ713、ストレージ714、グラフィックスサブシステム715、アプリケーション716及び/又は無線機718の任意の組み合わせを含んでよい。チップセット705は、プロセッサ710、メモリ712、ストレージ714、グラフィックスサブシステム715、アプリケーション716、及び/又は無線機718の間で相互通信を提供してよい。例えば、チップセット705は、ストレージ714との相互通信を提供することが可能なストレージアダプタ(図示せず)を有してよい。
【0092】
プロセッサ710は、複合命令セットコンピュータ(CISC)プロセッサ又は縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セット互換プロセッサ、マルチコア、又は他の任意のマイクロプロセッサ若しくは中央処理ユニット(CPU)として実装されてよい。様々な実装において、プロセッサ710は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等であってよい。
【0093】
メモリ712は、揮発性メモリデバイス、例えば、限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、又はスタティックRAM(SRAM)として実装されてよい。
【0094】
ストレージ714は、不揮発性ストレージデバイス、例えば、限定されないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、アタッチトストレージデバイス、フラッシュメモリ、バッテリバックアップSDRAM(シンクロナスDRAM)、及び/又はネットワークアクセス可能ストレージデバイスとして実装されてよい。様々な実装において、ストレージ714は、例えば、複数のハードドライブが含まれる場合、高価なデジタルメディアに対するストレージ性能の強化された保護を向上させる技術を含んでよい。
【0095】
画像信号プロセッサ717は、画像又はビデオフレーム処理のために使用される専用のデジタル信号プロセッサ等として実装されてよい。幾つかの例では、画像信号プロセッサ717は、単一命令複数データ又は複数命令複数データアーキテクチャ等に基づいて実装されてよい。幾つかの例では、画像信号プロセッサ717は、メディアプロセッサとして特徴付けされてよい。本明細書において論述されるように、画像信号プロセッサ717は、システムオンチップアーキテクチャに基づいて、及び/又はマルチコアアーキテクチャに基づいて、実装されてよい。
【0096】
グラフィックスサブシステム715は、ディスプレイのために静止画又はビデオ等の画像の処理を実行してよい。グラフィックスサブシステム715は、例えば、グラフィックス処理ユニット(GPU)又はビジュアル処理ユニット(VPU)であってよい。アナログ又はデジタルインターフェースは、グラフィックスサブシステム715とディスプレイ720とを通信可能に結合するのに使用されてよい。例えば、インターフェースは、高精細マルチメディアインターフェース、DisplayPort、ワイヤレスHDMI(登録商標)、及び/又はワイヤレスHD互換技法のうちの任意のものであってよい。グラフィックスサブシステム715は、プロセッサ710又はチップセット705に統合されてよい。幾つかの実装では、グラフィックスサブシステム715は、チップセット705に通信可能に結合されたスタンドアロンデバイスであってよい。
【0097】
本明細書において説明されるグラフィックス及び/又はビデオ処理技法は、様々なハードウェアアーキテクチャにおいて実装されてよい。例えば、グラフィックス及び/又はビデオ機能は、チップセット内に統合されてよい。代替的に、別個のグラフィックス及び/又はビデオプロセッサが使用されてよい。更に別の実装として、グラフィックス及び/又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサによって提供されてよい。更なる実施形態では、機能は、コンシューマエレクトロニクスデバイスにおいて実装されてよい。
【0098】
無線機718は、様々な適したワイヤレス通信技法を使用して信号を送信及び受信することが可能である1つ又は複数の無線機を含んでよい。そのような技法は、1つ又は複数のワイヤレスネットワークにわたる通信を含んでよい。例示のワイヤレスネットワークは、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN),ワイヤレスメトロポリタンエリアネットワーク(WMAN)、セルラネットワーク及び衛星ネットワークを含む(が、これらに限定されない)。そのようなネットワークにわたる通信では、無線機718は、任意のバージョンの1つ又は複数の適用可能な規格に従って動作してよい。
【0099】
様々な実装において、ディスプレイ720は、任意のテレビタイプのモニタ又はディスプレイを含んでよい。ディスプレイ720は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ型デバイス、及び/又はテレビを含んでよい。ディスプレイ720は、デジタル及び/又はアナログであってよい。様々な実装において、ディスプレイ720は、ホログラフィックディスプレイであってよい。また、ディスプレイ720は、視覚投影を受信し得る透明な表面であってよい。そのような投影は、様々な形態の情報、画像及び/又はオブジェクトを伝達してよい。例えば、そのような投影は、モバイル拡張現実(MAR)アプリケーションの視覚的オーバレイであってよい。1つ又は複数のソフトウェアアプリケーション716の制御下で、プラットフォーム702は、ディスプレイ720上にユーザインターフェース722を表示してよい。
【0100】
様々な実装において、コンテンツサービスデバイス730は、任意の国内、国際及び/又は独立サービスによってホストされ、それゆえ、例えば、インターネットを介してプラットフォーム702にアクセス可能であってよい。コンテンツサービスデバイス730は、プラットフォーム702及び/又はディスプレイ720に結合されてよい。プラットフォーム702及び/又はコンテンツサービスデバイス730は、ネットワーク760に対してメディア情報を通信(例えば、送信及び/又は受信)するために、ネットワーク760に結合されてよい。コンテンツ配信デバイス740も、プラットフォーム702及び/又はディスプレイ720に結合されてよい。
【0101】
様々な実装において、コンテンツサービスデバイス730は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット対応デバイス又はデジタル情報及び/又はコンテンツを配信することが可能である装置、及び、コンテンツプロバイダと、プラットフォーム702及び/又はディスプレイ720との間で、ネットワーク760を介して若しくは直接、コンテンツを単方向に若しくは双方向に通信することが可能である他の任意の類似のデバイスを含んでよい。コンテンツは、システム700内のコンポーネントのうちの任意のものに対して、及びネットワーク760を介してコンテンツプロバイダに対して、単方向に及び/又は双方向に通信され得ることが理解されよう。コンテンツの例は、例えば、ビデオ、音楽、医療及びゲーミング情報等を含む任意のメディア情報を含んでよい。
【0102】
コンテンツサービスデバイス730は、メディア情報、デジタル情報及び/又は他のコンテンツを含むケーブルテレビプログラム等のコンテンツを受信してよい。コンテンツプロバイダの例は、任意のケーブル若しくは衛星テレビ、又はラジオ若しくはインターネットコンテンツプロバイダを含んでよい。提供される例は、本開示に係る実装をいかようにも限定することは意図されない。
【0103】
様々な実装において、プラットフォーム702は、1つ又は複数のナビゲーション機能を有するナビゲーションコントローラ750から制御信号を受信してよい。ナビゲーションコントローラ750のナビゲーション機能は、例えば、ユーザインターフェース722とインタラクトするのに使用されてよい。様々な実施形態において、ナビゲーションコントローラ750は、ユーザがコンピュータに空間(例えば、連続及び多次元)データを入力することを可能にするコンピュータハードウェアコンポーネント(特に、ヒューマンインターフェースデバイス)であり得るポインティングデバイスであってよい。グラフィカルユーザインターフェース(GUI)及び、テレビ並びにモニタ等の多くのシステムは、ユーザが身体的なジェスチャを使用してコンピュータ又はテレビを制御し、及びそれにデータを提供することを可能にする。
【0104】
ナビゲーションコントローラ750のナビゲーション機能の動きは、ポインタ、カーソル、フォーカスリング、又はディスプレイ上で表示された他の視覚インジケータの動きによってディスプレイ(例えば、ディスプレイ720)上で複製されてよい。例えば、ソフトウェアアプリケーション716の制御下で、ナビゲーションコントローラ750上に位置するナビゲーション機能は、例えば、ユーザインターフェース722上に表示される仮想ナビゲーション機能にマッピングされてよい。様々な実施形態において、ナビゲーションコントローラ750は、別個のコンポーネントではなく、プラットフォーム702及び/又はディスプレイ720に統合されてよい。しかしながら、本開示は、本明細書において示される又は説明される要素又は状況に限定されない。
【0105】
様々な実装において、ドライバ(図示せず)は、例えば、有効化されると、ユーザがテレビのようなプラットフォーム702を、テレビと同様に、初期ブートアップ後にボタンをタッチすることで、即座にオン及びオフにすることを可能にする技術を含んでよい。プラットフォームが「オフ」であっても、プログラムロジックは、プラットフォーム702が、メディアアダプタ又は他のコンテンツサービスデバイス730又はコンテンツ配信デバイス740にコンテンツをストリーミングすることを可能にし得る。加えて、チップセット705は、例えば、5.1サラウンドサウンドオーディオ及び/又は高精細7.1サラウンドサウンドオーディオに対するハードウェア及び/又はソフトウェアサポートを含んでよい。ドライバは、統合されたグラフィックスプラットフォームのためのグラフィックスドライバを含んでよい。様々な実施形態において、グラフィックスドライバは、ペリフェラルコンポーネントインターコネクト(PCI)エクスプレスグラフィックスカードを含んでよい。
【0106】
様々な実装において、システム700において示されているコンポーネントのうちの任意の1つ又は複数が統合されてよい。例えば、プラットフォーム702及びコンテンツサービスデバイス730が統合されてよく、又は、プラットフォーム702及びコンテンツ配信デバイス740が統合されてよく、又は、例えば、プラットフォーム702、コンテンツサービスデバイス730、及びコンテンツ配信デバイス740が統合されてよい。様々な実施形態において、プラットフォーム702及びディスプレイ720は、統合されたユニットであってよい。例えば、ディスプレイ720及びコンテンツサービスデバイス730が統合されてよく、又はディスプレイ720及びコンテンツ配信デバイス740が統合されてよい。これらの例は、本開示を限定することは意図されない。
【0107】
様々な実施形態において、システム700は、ワイヤレスシステム、有線システム、又はその両方の組み合わせとして実装されてよい。ワイヤレスシステムとして実装される場合、システム700は、1つ又は複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジック等のようなワイヤレス共有媒体上で通信するのに適したコンポーネント及びインターフェースを含んでよい。ワイヤレス共有媒体の例は、RFスペクトル等のようなワイヤレススペクトルの一部分を含んでよい。
有線システムとして実装される場合、システム700は、入力/出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体と接続するための物理コネクタ、ネットワークインターフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等のような有線通信媒体上で通信するのに適したコンポーネント及びインターフェースを含んでよい。有線通信媒体の例は、ワイヤ、ケーブル、金属リード線、プリント回路基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等を含んでよい。
【0108】
プラットフォーム702は、情報を通信するために1つ又は複数の論理チャネル又は物理チャネルを確立してよい。情報は、メディア情報及び制御情報を含んでよい。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを指してよい。コンテンツの例は、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子メール(「email」)メッセージ、音声メールメッセージ、英数字記号、グラフィックス、画像、ビデオ、テキスト等からのデータを含んでよい。音声会話からのデータは、例えば、スピーチ情報、無音期間、背景雑音、快適雑音、トーン等であってよい。制御情報は、自動化システム向けのコマンド、命令又は制御語を表す任意のデータを指し得る。例えば、制御情報は、システムを通してメディア情報をルーティングするか、又は、所定の方法においてメディア情報を処理することをノードに命令するのに使用されてよい。しかしながら、実施形態は、要素又は
図7に示され若しくは説明された状況に限定されない。
【0109】
上記で説明されたように、システム700は、異なる物理スタイル又はフォームファクタにおいて具現化されてよい。
図8は、本開示の少なくとも幾つかの実装に従って構成される、例示のスモールフォームファクタデバイス800を示している。幾つかの例では、システム700は、デバイス800を介して実装されてよい。他の例では、本明細書において論述される他のシステム又はその一部分が、デバイス800を介して実装されてよい。様々な実施形態において、例えば、デバイス800は、ワイヤレス機能を有するモバイルコンピューティングデバイスとして実装されてよい。例えば、モバイルコンピューティングデバイスは、処理システム、及び1つ又は複数のバッテリ等のモバイル電源又は電力供給を有する任意のデバイスを指し得る。
【0110】
モバイルコンピューティングデバイスの例は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、携帯電話/PDAの組み合わせ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートモバイルテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイントアンドシュートカメラ、スーパズームカメラ、デジタル一眼レフ(DSLR)カメラ)等を含んでよい。
【0111】
モバイルコンピューティングデバイスの例は、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ、衣類コンピュータ、及び他のウェアラブルコンピュータ等の、人によって着用されるように構成されるコンピュータも含んでよい。様々な実施形態において、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーション、並びに音声通信及び/又はデータ通信を実行することが可能なスマートフォンとして実装されてよい。幾つかの実施形態は例示としてスマートフォンとして実装されるモバイルコンピューティングデバイスに対して説明されてよいが、他の実施形態が同様に他のワイヤレスモバイルコンピューティングデバイスを使用して実装されてよいことが理解され得る。実施形態は、この状況において限定されない。
【0112】
図8において示されているように、デバイス800は、前面801及び背面802を有するハウジングを備えてよい。デバイス800は、ディスプレイ804、入力/出力(I/O)デバイス806、カメラ815、カメラ805、及び統合アンテナ808を備える。デバイス800は、ナビゲーション機能812も備えてよい。I/Oデバイス806は、モバイルコンピューティングデバイスに情報を入力する任意の適したI/Oデバイスを有してよい。I/Oデバイス806の例は、英数字キーボード、テンキーパッド、タッチパッド、入力キー、ボタン、スイッチ、マイクロフォン、スピーカ、音声認識デバイス、及びソフトウェア等を含んでよい。また、情報は、マイクロフォン(図示せず)を介してデバイス800に入力されてよく、又は、音声認識デバイスによってデジタル化されてよい。示されているように、デバイス800は、デバイス800の背面802(又は他の箇所)に統合されるカメラ805及びフラッシュ810と、デバイス800の前面801に統合されるカメラ815とを含んでよい。幾つかの実施形態では、カメラ815、805のうちのいずれか又は両方は、ディスプレイ804に関して可動であってよい。カメラ815及び/又はカメラ805は、例えば、ディスプレイ804に出力される及び/又はアンテナ808を介してデバイス800からリモートに通信されるストリームビデオに処理される色画像データを発生させるために撮像モジュール又はパイプラインのコンポーネントであってよい。例えば、カメラ815は、入力画像をキャプチャしてよく、アイコンタクト補正画像は、ディスプレイ804に提供され、及び/又はアンテナ808を介してデバイス800からリモートに通信されてよい。
【0113】
様々な実施形態は、ハードウェア要素、ソフトウェア要素、又はその両方の組み合わせを使用して実装されてよい。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗、キャパシタ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含んでよい。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組み合わせを含んでよい。実施形態がハードウェア要素及び/又はソフトウェア要素を使用して実装されるかの判断は、所望の計算レート、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度及び他の設計上又は性能上の制約等の任意の数の因子に従って異なり得る。
【0114】
少なくとも1つの実施形態の1つ又は複数の態様は、プロセッサ内の様々なロジックを表す機械可読媒体上に記憶される代表的命令によって実装されてよく、代表的命令は、機械によって読み取られると、機械に、本明細書において説明される技法を実行するロジックを作成させる。IPコアとして知られるそのような表現は、有形の機械可読媒体上に記憶され、ロジック又はプロセッサを実際に製造する製造機械にロードするために様々な顧客又は製造施設に供給されてよい。
【0115】
本明細書において記載される特定の特徴が様々な実装を参照して説明されたが、この説明は限定の意味で解釈されることは意図されない。したがって、本開示が関連する当業者には明らかである、本明細書において説明された実装及び他の実装の様々な修正は、本開示の趣旨及び範囲内にあるものとみなされる。
【0116】
1つ又は複数の第1の実施形態において、画像分類のための方法は、第1の解像度における第1の画像、及び第1の解像度未満の第2の解像度における第2の画像を受信する段階と、複数の畳み込み層パラメータを使用して第1の画像、又は第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、第1の画像に対応する1つ又は複数の第2の特徴マップを生成する段階と、複数の第1の正規化パラメータを使用して1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成する段階と、1つ又は複数の第3の特徴マップを使用して第1の画像のための第1のラベルを生成する段階と、複数の畳み込み層パラメータを使用して第2の画像、又は第2の画像に対応する第4の特徴マップに畳み込みニューラルネットワーク層を適用して、第2の画像に対応する1つ又は複数の第5の特徴マップを生成する段階と、第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成する段階と、1つ又は複数の第6の特徴マップを使用して第2の画像のための第2のラベルを生成する段階とを備える。
【0117】
第1の実施形態に加えて、1つ又は複数の第2の実施形態において、第1のラベルを生成する段階は、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する段階と、全結合層を適用する段階とを有し、第2のラベルを生成する段階は、追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する段階と、全結合層を適用する段階とを有する。
【0118】
第1の実施形態又は第2の実施形態に加えて、1つ又は複数の第3の実施形態において、第1の画像が第1の解像度であることに応答して第1の正規化及び追加の第1の正規化が選択され、第2の画像が第2の解像度であることに応答して第2の正規化及び追加の第2の正規化が選択される。
【0119】
第1の実施形態~第3の実施形態のいずれかに加えて、1つ又は複数の第4の実施形態において、畳み込み層パラメータ、第1の正規化パラメータ、及び第2の正規化パラメータは、それぞれ第1の解像度及び第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、第1のトレーニング画像及び第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、トレーニング反復における、第1のトレーニング画像及び第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整とに基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む。
【0120】
第1の実施形態~第4の実施形態のいずれかに加えて、1つ又は複数の第5の実施形態において、パラメータ調整は、事前トレーニングされた畳み込みニューラルネットワークパラメータの全結合層パラメータに対する調整を更に含み、畳み込み層パラメータ及び全結合層パラメータは、入力画像サイズにわたって共有されることになり、第1の正規化パラメータ及び第2の正規化パラメータは、入力画像サイズにわたって非共有となる。
【0121】
第1の実施形態~第5の実施形態のいずれかに加えて、1つ又は複数の第6の実施形態において、畳み込み層パラメータ、第1の正規化パラメータ、及び第2の正規化パラメータは、第1の解像度、第2の解像度、及び第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、トレーニング反復における、それぞれ第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、アンサンブル予測の、グラウンドトゥルースラベルとの比較とに基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む。
【0122】
第1の実施形態~第6の実施形態のいずれかに加えて、1つ又は複数の第7の実施形態において、アンサンブル予測は、第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像の各々に適用されるような事前トレーニングされた畳み込みニューラルネットワークパラメータに対応するロジットの加重平均を含み、ロジットの加重平均は、ロジット重要度スコアを使用して重み付けされる。
【0123】
第1の実施形態~第7の実施形態のいずれかに加えて、1つ又は複数の第8の実施形態において、トレーニング反復において、パラメータ更新は、アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、アンサンブル予測からの各第1の予測、第2の予測、及び第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく。
【0124】
第1の実施形態~第8の実施形態のいずれかに加えて、1つ又は複数の第9の実施形態において、蒸留損失項は、第1の予測からの第2の予測の第1の発散、第3の予測からの第2の予測の第2の発散、及び第1の予測からの第3の予測の第3の発散を更に含む。
【0125】
第1の実施形態~第9の実施形態のいずれかに加えて、1つ又は複数の第10の実施形態において、損失関数は、第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を更に含む。
【0126】
第1の実施形態~第10の実施形態のいずれかに加えて、1つ又は複数の第11の実施形態において、畳み込みニューラルネットワーク層は、剪定された畳み込みニューラルネットワーク層又は量子化された畳み込みニューラルネットワーク層のうちの1つを含む。
【0127】
1つ又は複数の第12の実施形態において、デバイス又はシステムは、上記の実施形態のいずれか1つに記載の方法を実行するためのメモリ及びプロセッサを備える。
【0128】
1つ又は複数の第13の実施形態において、少なくとも1つの機械可読媒体は、コンピューティングデバイス上で実行されることに応答して、コンピューティングデバイスに、上記の実施形態のうちのいずれか1つに記載の方法を実行させる複数の命令を含む。
【0129】
1つ又は複数の第14の実施形態において、装置は、上記の実施形態のいずれか1つに記載の方法を実行する手段を含む。
【0130】
実施形態は、このように説明されている実施形態に限定されず、添付の特許請求の範囲の範囲から逸脱することなく、修正及び変更を伴って実施することができることが認識されよう。例えば、上記の実施形態は、特徴の特定の組み合わせを含み得る。しかしながら、上記の実施形態は、これに関して限定されず、様々な実装において、上記の実施形態は、そのような特徴のサブセットのみの実行、そのような特徴の異なる順序の実行、そのような特徴の異なる組み合わせの実行、及び/又は明示的に列挙されたそれらの特徴に対する追加の特徴の実行を含んでよい。したがって、これらの実施形態の範囲は、添付の特許請求の範囲が権利を与えられる均等物の範囲全体とともに、そのような特許請求の範囲を参照して決定されるべきである。
[他の可能な項目]
[項目1]
画像分類のためのシステムであって、
第1の解像度における第1の画像、及び前記第1の解像度未満の第2の解像度における第2の画像を記憶するメモリと、
前記メモリに結合された1つ又は複数のプロセッサであって、前記1つ又は複数のプロセッサは、
複数の畳み込み層パラメータを使用して前記第1の画像、又は前記第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、前記第1の画像に対応する1つ又は複数の第2の特徴マップを生成することと、
複数の第1の正規化パラメータを使用して前記1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成することと、
前記1つ又は複数の第3の特徴マップを使用して前記第1の画像のための第1のラベルを生成することと、
前記複数の畳み込み層パラメータを使用して前記第2の画像、又は前記第2の画像に対応する第4の特徴マップに前記畳み込みニューラルネットワーク層を適用して、前記第2の画像に対応する1つ又は複数の第5の特徴マップを生成することと、
前記第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して前記1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成することと、
前記1つ又は複数の第6の特徴マップを使用して前記第2の画像のための第2のラベルを生成することと
を行う、1つ又は複数のプロセッサと
を備える、システム。
[項目2]
前記第1のラベルを生成する前記1つ又は複数のプロセッサは、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用することと、全結合層を適用することとを行う前記1つ又は複数のプロセッサを含み、前記第2のラベルを生成する前記1つ又は複数のプロセッサは、前記追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する前記1つ又は複数の追加の畳み込みニューラルネットワーク層を適用することと、前記全結合層を適用することとを行う前記1つ又は複数のプロセッサを含む、項目1に記載のシステム。
[項目3]
前記第1の画像が前記第1の解像度であることに応答して前記第1の正規化及び追加の第1の正規化が選択され、前記第2の画像が前記第2の解像度であることに応答して前記第2の正規化及び追加の第2の正規化が選択される、項目2に記載のシステム。
[項目4]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
それぞれ前記第1の解像度及び前記第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像及び前記第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、前記第1のトレーニング画像及び前記第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での前記事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整と
に基づいてトレーニングされる前記事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目1~3のいずれか1項に記載のシステム。
[項目5]
前記パラメータ調整は、前記事前トレーニングされた畳み込みニューラルネットワークパラメータの全結合層パラメータに対する調整を更に含み、前記畳み込み層パラメータ及び全結合層パラメータは、入力画像サイズにわたって共有されることになり、前記第1の正規化パラメータ及び前記第2の正規化パラメータは、前記入力画像サイズにわたって非共有となる、項目4に記載のシステム。
[項目6]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
前記第1の解像度、前記第2の解像度、及び前記第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、それぞれ前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、
前記アンサンブル予測の、前記グラウンドトゥルースラベルとの比較と
に基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目1~3のいずれか1項に記載のシステム。
[項目7]
前記アンサンブル予測は、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像の各々に適用されるような前記事前トレーニングされた畳み込みニューラルネットワークパラメータに対応するロジットの加重平均を含み、前記ロジットの前記加重平均は、ロジット重要度スコアを使用して重み付けされる、項目6に記載のシステム。
[項目8]
前記トレーニング反復において、パラメータ更新は、前記アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、前記アンサンブル予測からの各前記第1の予測、前記第2の予測、及び前記第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく、項目6に記載のシステム。
[項目9]
前記蒸留損失項は、前記第1の予測からの前記第2の予測の第1の発散、前記第3の予測からの前記第2の予測の第2の発散、及び前記第1の予測からの前記第3の予測の第3の発散を更に含む、項目8に記載のシステム。
[項目10]
前記損失関数は、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像への前記事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を更に含む、項目8に記載のシステム。
[項目11]
前記畳み込みニューラルネットワーク層は、剪定された畳み込みニューラルネットワーク層又は量子化された畳み込みニューラルネットワーク層のうちの1つを含む、項目1~3のいずれか1項に記載のシステム。
[項目12]
画像分類のための方法であって、
第1の解像度における第1の画像、及び前記第1の解像度未満の第2の解像度における第2の画像を受信する段階と、
複数の畳み込み層パラメータを使用して前記第1の画像、又は前記第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、前記第1の画像に対応する1つ又は複数の第2の特徴マップを生成する段階と、
複数の第1の正規化パラメータを使用して前記1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成する段階と、
前記1つ又は複数の第3の特徴マップを使用して前記第1の画像のための第1のラベルを生成する段階と、
前記複数の畳み込み層パラメータを使用して前記第2の画像、又は前記第2の画像に対応する第4の特徴マップに前記畳み込みニューラルネットワーク層を適用して、前記第2の画像に対応する1つ又は複数の第5の特徴マップを生成する段階と、
前記第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して前記1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成する段階と、
前記1つ又は複数の第6の特徴マップを使用して前記第2の画像のための第2のラベルを生成する段階と
を備える、方法。
[項目13]
前記第1のラベルを生成する段階は、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する段階と、全結合層を適用する段階とを有し、前記第2のラベルを生成する段階は、前記追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する段階と、前記全結合層を適用する段階とを有する、項目12に記載の方法。
[項目14]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
それぞれ前記第1の解像度及び前記第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像及び前記第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、前記第1のトレーニング画像及び前記第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での前記事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整と
に基づいてトレーニングされる前記事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目12又は13に記載の方法。
[項目15]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
前記第1の解像度、前記第2の解像度、及び前記第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、それぞれ前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、
前記アンサンブル予測の、前記グラウンドトゥルースラベルとの比較と
に基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目12又は13に記載の方法。
[項目16]
前記トレーニング反復において、パラメータ更新は、前記アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、前記アンサンブル予測からの各前記第1の予測、前記第2の予測、及び前記第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく、項目15に記載の方法。
[項目17]
複数の命令を含む少なくとも1つの機械可読媒体であって、前記複数の命令は、デバイス上で実行されることに応答して、前記デバイスに、
人間の顔の表現を含む複数の連続的なビデオ画像を受信する手順と、
第1の解像度における第1の画像、及び前記第1の解像度未満の第2の解像度における第2の画像を受信する手順と、
複数の畳み込み層パラメータを使用して前記第1の画像、又は前記第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、前記第1の画像に対応する1つ又は複数の第2の特徴マップを生成する手順と、
複数の第1の正規化パラメータを使用して前記1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成する手順と、
前記1つ又は複数の第3の特徴マップを使用して前記第1の画像のための第1のラベルを生成する手順と、
前記複数の畳み込み層パラメータを使用して前記第2の画像、又は前記第2の画像に対応する第4の特徴マップに前記畳み込みニューラルネットワーク層を適用して、前記第2の画像に対応する1つ又は複数の第5の特徴マップを生成する手順と、
前記第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して前記1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成する手順と、
前記1つ又は複数の第6の特徴マップを使用して前記第2の画像のための第2のラベルを生成する手順と
を行うことによって画像分類を実行させる、機械可読媒体。
[項目18]
前記第1のラベルを生成する手順は、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する手順と、全結合層を適用する手順とを有し、前記第2のラベルを生成する手順は、前記追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する前記1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する手順と、前記全結合層を適用する手順とを有する、項目17に記載の機械可読媒体。
[項目19]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
それぞれ前記第1の解像度及び前記第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像及び前記第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、前記第1のトレーニング画像及び前記第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での前記事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整と
に基づいてトレーニングされる前記事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目17又は18に記載の機械可読媒体。
[項目20]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
前記第1の解像度、前記第2の解像度、及び前記第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、それぞれ前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、
前記アンサンブル予測の、前記グラウンドトゥルースラベルとの比較と
に基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目17又は18に記載の機械可読媒体。
[項目21]
前記トレーニング反復において、パラメータ更新は、前記アンサンブル予測を使用した分類確率に基づくアンサンブル損失項と、前記アンサンブル予測からの各前記第1の予測、前記第2の予測、及び前記第3の予測の発散に基づく蒸留損失項との総和を含む損失関数の最小化に基づく、項目20に記載の機械可読媒体。
[項目22]
システムであって、
第1の解像度における第1の画像、及び前記第1の解像度未満の第2の解像度における第2の画像を受信する手段と、
複数の畳み込み層パラメータを使用して前記第1の画像、又は前記第1の画像に対応する第1の特徴マップに畳み込みニューラルネットワーク層を適用して、前記第1の画像に対応する1つ又は複数の第2の特徴マップを生成する手段と、
複数の第1の正規化パラメータを使用して前記1つ又は複数の第2の特徴マップに対して第1の正規化を実行して、1つ又は複数の第3の特徴マップを生成する手段と、
前記1つ又は複数の第3の特徴マップを使用して前記第1の画像のための第1のラベルを生成する手段と、
前記複数の畳み込み層パラメータを使用して前記第2の画像、又は前記第2の画像に対応する第4の特徴マップに前記畳み込みニューラルネットワーク層を適用して、前記第2の画像に対応する1つ又は複数の第5の特徴マップを生成する手段と、
前記第1の正規化パラメータに排他的な複数の第2の正規化パラメータを使用して前記1つ又は複数の第5の特徴マップに対して第2の正規化を実行して、1つ又は複数の第6の特徴マップを生成する手段と、
前記1つ又は複数の第6の特徴マップを使用して前記第2の画像のための第2のラベルを生成する手段と
を備える、システム。
[項目23]
前記第1のラベルを生成する手段は、各々に追加の第1の正規化が後続する1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する手段と、全結合層を適用する手段とを有し、前記第2のラベルを生成する手段は、前記追加の第1の正規化において使用されるものに排他的なパラメータを使用して、各々に追加の第2の正規化が後続する前記1つ又は複数の追加の畳み込みニューラルネットワーク層を適用する手段と、前記全結合層を適用する手段とを有する、項目22に記載のシステム。
[項目24]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
それぞれ前記第1の解像度及び前記第2の解像度における第1のトレーニング画像及び第2のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像及び前記第2のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、前記第1のトレーニング画像及び前記第2のトレーニング画像への事前トレーニングされた畳み込みニューラルネットワークパラメータの適用に基づく交差エントロピー損失の総和を含む損失項を使用した並列での前記事前トレーニングされた畳み込みニューラルネットワークパラメータのパラメータ調整と
に基づいてトレーニングされる前記トレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目22又は23に記載のシステム。
[項目25]
前記畳み込み層パラメータ、前記第1の正規化パラメータ、及び前記第2の正規化パラメータは、
前記第1の解像度、前記第2の解像度、及び前記第2の解像度未満の第3の解像度における第1のトレーニング画像、第2のトレーニング画像、及び第3のトレーニング画像、並びに対応するグラウンドトゥルースラベルを含むトレーニングセットの生成であって、前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像は、同じ画像インスタンスに対応する、生成と、
トレーニング反復における、それぞれ前記第1のトレーニング画像、前記第2のトレーニング画像、及び前記第3のトレーニング画像を使用して作成される第1の予測、第2の予測、及び第3の予測に基づくアンサンブル予測の生成と、
前記アンサンブル予測の、前記グラウンドトゥルースラベルとの比較と
に基づいてトレーニングされる事前トレーニングされた畳み込みニューラルネットワークパラメータを含む、項目22又は23に記載のシステム。
【国際調査報告】