IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ クゥアルコム・インコーポレイテッドの特許一覧

<>
  • 特表-ブロードキャスト残差学習 図1
  • 特表-ブロードキャスト残差学習 図2
  • 特表-ブロードキャスト残差学習 図3
  • 特表-ブロードキャスト残差学習 図4
  • 特表-ブロードキャスト残差学習 図5
  • 特表-ブロードキャスト残差学習 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-12
(54)【発明の名称】ブロードキャスト残差学習
(51)【国際特許分類】
   G06N 3/08 20230101AFI20240305BHJP
   G06N 3/0464 20230101ALI20240305BHJP
   G06F 17/10 20060101ALI20240305BHJP
【FI】
G06N3/08
G06N3/0464
G06F17/10 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023557146
(86)(22)【出願日】2022-03-25
(85)【翻訳文提出日】2023-09-15
(86)【国際出願番号】 US2022071364
(87)【国際公開番号】W WO2022204729
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】63/166,161
(32)【優先日】2021-03-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/656,621
(32)【優先日】2022-03-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】キム、ビョングン
(72)【発明者】
【氏名】チャン、シミュン
(72)【発明者】
【氏名】イ、ジンギュ
(72)【発明者】
【氏名】スン、ドゥヨン
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB26
5B056BB31
(57)【要約】
本開示のいくつかの態様は、効率的なブロードキャスト残差機械学習のための技法を提供する。周波数次元と時間次元とを備える入力テンソルが受信され、入力テンソルは、周波数次元と時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて処理される。多次元中間特徴マップは、周波数次元削減演算を使用して時間次元における1次元中間特徴マップに変換され、1次元中間特徴マップは、時間特徴マップを生成するために、第2の畳み込み演算を使用して処理される。時間特徴マップは、多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して周波数次元に拡大され、多次元出力特徴マップは、第1の残差接続を介して、多次元中間特徴マップを用いて拡張される。
【特許請求の範囲】
【請求項1】
周波数次元と時間次元とを備える入力テンソルを受信することと、
前記周波数次元と前記時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて前記入力テンソルを処理することと、
周波数次元削減演算を使用して前記多次元中間特徴マップを前記時間次元における1次元中間特徴マップに変換することと、
時間特徴マップを生成するために、第2の畳み込み演算を使用して前記1次元中間特徴マップを処理することと、
多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して前記時間特徴マップを前記周波数次元に拡大することと、
第1の残差接続を介して、前記多次元中間特徴マップを用いて前記多次元出力特徴マップを拡張することと、
前記拡張された多次元出力特徴マップを出力することと
を備える、コンピュータ実装方法。
【請求項2】
前記多次元中間特徴マップが2次元中間特徴マップであり、ここにおいて、前記多次元中間特徴マップを前記1次元中間特徴マップに変換することが、前記時間特徴マップを生成するときにプロセッサによって実施される算出の数を低減する、請求項1に記載のコンピュータ実装方法。
【請求項3】
第2の残差接続を介して、前記入力テンソルを用いて前記多次元出力特徴マップを拡張することをさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記第1の畳み込み演算が、前記周波数次元において1よりも大きいおよび前記時間次元において1に等しいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用する、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記入力テンソルが、前記入力テンソルにおけるチャネルの数を変更するように構成された点単位畳み込み演算から出力される、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記多次元中間特徴マップを1次元中間特徴マップに変換することより前に、前記多次元中間特徴マップに対してサブスペクトル正規化(SSN)演算を実施することをさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記SSN演算が、
前記多次元中間特徴マップを前記周波数次元における複数のサブバンドに分割することと、
前記複数のサブバンドの各サブバンドに対してバッチ正規化を実施することと
を備える、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記周波数次元削減演算が、最大プーリング演算、平均プーリング演算、または畳み込み演算のうちの少なくとも1つを備える、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記第2の畳み込み演算が深さ単位分離可能畳み込み演算を備え、ここにおいて、前記深さ単位分離可能畳み込み演算の深さ単位畳み込みが、前記周波数次元において1に等しいおよび前記時間次元において1よりも大きいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用するように構成された、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記深さ単位分離可能畳み込み演算の点単位畳み込みが、前記深さ単位畳み込みの後に1つまたは複数の点単位畳み込みカーネルを使用するように構成された、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記入力テンソルが入力オーディオ特徴を備え、
前記第1の畳み込み演算および前記第2の畳み込み演算が、前記入力オーディオ特徴を分類するように構成されたブロードキャスト残差ニューラルネットワークの一部である、
請求項1に記載のコンピュータ実装方法。
【請求項12】
コンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、前記コンピュータ実行可能命令が、処理システムの1つまたは複数のプロセッサによって実行されたとき、前記処理システムに、
周波数次元と時間次元とを備える入力テンソルを受信することと、
前記周波数次元と前記時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて前記入力テンソルを処理することと、
周波数次元削減演算を使用して前記多次元中間特徴マップを前記時間次元における1次元中間特徴マップに変換することと、
時間特徴マップを生成するために、第2の畳み込み演算を使用して前記1次元中間特徴マップを処理することと、
多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して前記時間特徴マップを前記周波数次元に拡大することと、
第1の残差接続を介して、前記多次元中間特徴マップを用いて前記多次元出力特徴マップを拡張することと、
前記拡張された多次元出力特徴マップを出力することと
を備える動作を実施させる、非一時的コンピュータ可読媒体。
【請求項13】
前記動作が、第2の残差接続を介して、前記入力テンソルを用いて前記多次元出力特徴マップを拡張することをさらに備える、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記第1の畳み込み演算が、前記周波数次元において1よりも大きいおよび前記時間次元において1に等しいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用する、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記入力テンソルが、前記入力テンソルにおけるチャネルの数を変更するように構成された点単位畳み込み演算から出力される、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記多次元中間特徴マップを1次元中間特徴マップに変換することより前に、前記多次元中間特徴マップに対してサブスペクトル正規化(SSN)演算を実施することをさらに備える、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記SSN演算が、
前記多次元中間特徴マップを前記周波数次元における複数のサブバンドに分割することと、
前記複数のサブバンドの各サブバンドに対してバッチ正規化を実施することと
を備える、請求項16に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記周波数次元削減演算が、(i)最大プーリング演算、(ii)平均プーリング演算、または(iii)畳み込み演算のうちの少なくとも1つを備える、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記第2の畳み込み演算が深さ単位分離可能畳み込み演算を備え、ここにおいて、前記深さ単位分離可能畳み込み演算の深さ単位畳み込みが、前記周波数次元において1に等しいおよび前記時間次元において1よりも大きいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用するように構成された、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記深さ単位分離可能畳み込み演算の点単位畳み込みが、前記深さ単位畳み込みの後に1つまたは複数の点単位畳み込みカーネルを使用するように構成された、請求項19に記載の非一時的コンピュータ可読媒体。
【請求項21】
前記入力テンソルが入力オーディオ特徴を備え、
前記第1の畳み込み演算および前記第2の畳み込み演算が、前記入力オーディオ特徴を分類するように構成されたブロードキャスト残差ニューラルネットワークの一部である、
請求項12に記載の非一時的コンピュータ可読媒体。
【請求項22】
コンピュータ実行可能命令を備えるメモリと、
1つまたは複数のプロセッサと
を備える、処理システムであって、前記1つまたは複数のプロセッサが、前記コンピュータ実行可能命令を実行し、前記処理システムに、
周波数次元と時間次元とを備える入力テンソルを受信することと、
前記周波数次元と前記時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて前記入力テンソルを処理することと、
周波数次元削減演算を使用して前記多次元中間特徴マップを前記時間次元における1次元中間特徴マップに変換することと、
時間特徴マップを生成するために、第2の畳み込み演算を使用して前記1次元中間特徴マップを処理することと、
多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して前記時間特徴マップを前記周波数次元に拡大することと、
第1の残差接続を介して、前記多次元中間特徴マップを用いて前記多次元出力特徴マップを拡張することと、
前記拡張された多次元出力特徴マップを出力することと
を備える動作を実施させるように構成された、処理システム。
【請求項23】
前記動作が、第2の残差接続を介して、前記入力テンソルを用いて前記多次元出力特徴マップを拡張することをさらに備える、請求項22に記載の処理システム。
【請求項24】
前記第1の畳み込み演算が、前記周波数次元において1よりも大きいおよび前記時間次元において1に等しいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用する、請求項22に記載の処理システム。
【請求項25】
前記入力テンソルが、前記入力テンソルにおけるチャネルの数を変更するように構成された点単位畳み込み演算から出力される、請求項24に記載の処理システム。
【請求項26】
前記多次元中間特徴マップを1次元中間特徴マップに変換することより前に、前記多次元中間特徴マップに対してサブスペクトル正規化(SSN)演算を実施することをさらに備える、請求項22に記載の処理システム。
【請求項27】
前記SSN演算が、
前記多次元中間特徴マップを前記周波数次元における複数のサブバンドに分割することと、
前記複数のサブバンドの各サブバンドに対してバッチ正規化を実施することと
を備える、請求項26に記載の処理システム。
【請求項28】
前記周波数次元削減演算が、(i)最大プーリング演算、(ii)平均プーリング演算、または(iii)畳み込み演算のうちの少なくとも1つを備える、請求項22に記載の処理システム。
【請求項29】
前記第2の畳み込み演算が深さ単位分離可能畳み込み演算を備え、ここにおいて、前記深さ単位分離可能畳み込み演算の深さ単位畳み込みが、前記周波数次元において1に等しいおよび前記時間次元において1よりも大きいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用するように構成された、請求項22に記載の処理システム。
【請求項30】
周波数次元と時間次元とを備える入力テンソルを受信するための手段と、
前記周波数次元と前記時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて前記入力テンソルを処理するための手段と、
周波数次元削減演算を使用して前記多次元中間特徴マップを前記時間次元における1次元中間特徴マップに変換するための手段と、
時間特徴マップを生成するために、第2の畳み込み演算を使用して前記1次元中間特徴マップを処理するための手段と、
多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して前記時間特徴マップを前記周波数次元に拡大するための手段と、
第1の残差接続を介して、前記多次元中間特徴マップを用いて前記多次元出力特徴マップを拡張するための手段と
を備える、処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本出願は、その各々の内容全体が参照により本明細書に組み込まれる、2021年3月25日に出願された米国仮特許出願第63/166,161号の利益および優先権を主張する、2022年3月25日に出願された米国特許出願第17/656,621号の優先権を主張する。
【0002】
[0002] 本開示の態様は、機械学習(machine learning)に関し、より詳細には、効率的なデータ処理に関する。
【背景技術】
【0003】
[0003] 効率的な機械学習アーキテクチャを設計することは、ニューラル音声処理における重要なトピックである。特に、あらかじめ定義されたキーワードを検出することを目的とする、キーワードスポッティング(KWS:keyword spotting)は、ますます重要になっている。KWSは、スマートデバイス上でのデバイス起動およびユーザ対話において、重要な役割を果たす。しかしながら、エラーを最小限に抑えるが効率的にも動作するモデルを提供することは、難しい。モデル効率は、KWSにおいて、そのプロセスが、一般に、エッジデバイスにおいて(たとえば、モバイルフォン、スマートスピーカー、およびモノのインターネット(IoT)デバイスなど、限られたリソースをもつデバイスにおいて)実施されるが、同時に、低レイテンシを必要とするので、特に重要である。
【0004】
[0004] したがって、効率的なモデル設計を用いて高精度分類を提供するためのシステムおよび方法が必要とされる。
【発明の概要】
【0005】
[0005] いくつかの態様は、周波数次元(frequency dimension)と時間次元(temporal dimension)とを備える入力テンソル(input tensor)を受信することと、周波数次元と時間次元とを備える多次元中間特徴マップ(multidimensional intermediate feature map)を生成するために、第1の畳み込み演算(first convolution operation)を用いて入力テンソルを処理することと、周波数次元削減演算(frequency dimension reduction operation)を使用して多次元中間特徴マップを時間次元における1次元中間特徴マップ(one-dimensional intermediate feature map)に変換することと、時間特徴マップ(temporal feature map)を生成するために、第2の畳み込み演算(second convolution operation)を使用して1次元中間特徴マップを処理することと、多次元出力特徴マップ(multidimensional output feature map)を生成するために、ブロードキャスティング演算(broadcasting operation)を使用して時間特徴マップを周波数次元に拡大する(expand)ことと、第1の残差接続(first residual connection)を介して、多次元中間特徴マップを用いて多次元出力特徴マップを拡張する(augment)こととを備える、方法を提供する。
【0006】
[0006] 他の態様は、上述の方法ならびに本明細書で説明される方法を実施するように構成された処理システム(processing system)と、処理システムの1つまたは複数のプロセッサ(processor)によって実行されたとき、処理システムに上述の方法ならびに本明細書で説明される方法を実施させる命令を備える、非一時的コンピュータ可読媒体(non-transitory computer-readable medium)と、上述の方法ならびに本明細書でさらに説明される方法を実施するためのコードを備えるコンピュータ可読記憶媒体上で実施されたコンピュータプログラム製品と、上述の方法ならびに本明細書でさらに説明される方法を実施するための手段を備える処理システムとを提供する。
【0007】
[0007] 以下の説明および関連する図面は、1つまたは複数の態様のいくつかの例示的な特徴を詳細に記載する。
【0008】
[0008] 添付の図は、1つまたは複数の態様のうちのいくつかの態様を示し、したがって、本開示の範囲を限定するものと見なされるべきでない。
【図面の簡単な説明】
【0009】
図1】[0009] ブロードキャスト残差学習(broadcasted residual learning)のための例示的なワークフローを示す図。
図2】[0010] 残差学習技法のための例示的なブロック図。
図3】[0011] 入力データの効率的な処理において使用するための例示的なブロードキャスト残差学習ブロックの図。
図4】[0012] 遷移層(transitional layer)における入力データの効率的な処理において使用するための例示的なブロードキャスト残差学習ブロックの図。
図5】[0013] ブロードキャスト残差学習を使用してデータを処理するための方法を示す例示的な流れ図。
図6】[0014] 本開示の様々な態様を実施するように構成された例示的な処理システムを示す図。
【発明を実施するための形態】
【0010】
[0015] 理解を容易にするために、可能な場合、図面に共通である同一の要素を指定するために同一の参照番号が使用されている。一態様の要素および特徴が、さらなる具陳なしに他の態様に有益に組み込まれ得ることが企図される。
【0011】
[0016] 本開示の態様は、ブロードキャスト残差学習(broadcasted residual learning)のための技法を提供する。本明細書で説明される技法は、既存の手法と比較して、高いモデル精度、および著しく改善された算出効率(computational efficiency)(たとえば、小さいモデルサイズ、および軽い算出負荷(computational load))を提供する。
【0012】
[0017] 多種多様な効率的な畳み込みニューラルネットワーク(CNN:convolutional neural network)が最近開発されている。概して、CNNは、同じ構造の繰返しブロックからなり、しばしば、残差学習と深さ単位分離可能畳み込み(depthwise separable convolution)とに基づく。これは、いくつかのCNNベースKWS手法を生じた。既存の手法は、1次元時間畳み込みまたは2次元(たとえば、周波数および時間)畳み込みのいずれかを使用する。各手法は、それぞれの利益および欠点を有する。
【0013】
[0018] たとえば、1次元時間畳み込みを使用するモデルの場合、2次元手法に依拠するモデルと比較して、一般に、より少ないコンピューティングリソースが必要とされる。しかしながら、1次元畳み込みでは、周波数次元について、(平行移動同変性(translation equivariance)などの)畳み込みの内部バイアスが取得され得ない。
【0014】
[0019] 一方、2次元畳み込みに基づく手法は、深さ単位分離可能畳み込みなどの効率的な設計およびアーキテクチャを使用するときでも、1次元方法よりも著しく多くの算出リソースを必要とする。これは、そのような2次元手法が多種多様なデバイスおよび実装形態のために有用であるのを妨げ得る。
【0015】
[0020] 本明細書で説明されるブロードキャスト残差学習技法は、(トレーニングデータがモデルを通過させられる間の)トレーニング中にと、(推論を生成するために新しいデータが通過させられるときの)ランタイム中にの両方で、データを効率的に処理するために使用され得る。
【0016】
[0021] いくつかの態様では、ブロードキャスト残差学習は、(たとえば、KWSを実施するために)オーディオデータおよび特徴を処理および分類するために使用される。概して、オーディオデータおよび特徴は、(たとえば、周波数次元と時間次元とをもつ)2次元テンソルを使用して表され得る。本明細書の例ではオーディオが使用されるが、本開示の態様は多種多様なデータに容易に適用され得る。
【0017】
[0022] いくつかの態様では、ブロードキャスト残差学習は、概して、2次元特徴を抽出するために入力テンソルに対して畳み込みを実施することと、(たとえば、低減された算出(computation)、処理ステップ、およびエネルギーを必要とする)特徴に対する効率的な畳み込みを可能にするために2次元特徴の次元性(dimensionality)を削減することと、得られたテンソルを2次元特徴の元の次元性に拡大することと、元の2次元特徴を用いて、拡大されたテンソルを拡張することとを伴う。いくつかの態様では、拡大されたテンソルは、元の入力テンソルを用いてさらに拡張される。
【0018】
[0023] いくつかの態様では、本明細書で説明されるブロードキャスト残差学習は、入力オーディオを分類することなど、様々なタスクを実施するために、ニューラルネットワークアーキテクチャにおいて実施され得る。たとえば、本明細書で説明される技法は、ブロードキャスト残差学習ブロックとして実装され得、いくつかのこれらのブロックがニューラルネットワークアーキテクチャ内で順次使用され得る。
【0019】
[0024] 有利には、ブロードキャスト残差学習は、依然として、2次元畳み込みが、時間出力を周波数次元に拡大するブロードキャスト残差接続を介して一緒に使用されることを可能にしながら、1次元時間畳み込みの多くの残差機能を保持する。この残差マッピング(residual mapping)は、ネットワークが、従来の畳み込みニューラルネットワークよりもはるかに少ない算出を用いて有用なオーディオ特徴を効果的に表すことを可能にし、これは、算出複雑さ(computational complexity)、レイテンシ(latency)、算出要件(compute requirement)、メモリ要件(memory requirement)などを低減する。態様では、本明細書で説明されるブロードキャスト残差学習技法は、従来のシステムと比較して、より少数の算出およびパラメータを使用して、音声コマンドデータセットに関する最先端の精度を達成することができる。
【0020】
ブロードキャスト残差学習のための例示的なワークフロー(Example Workflow for Broadcasted Residual Learning)
[0025] 図1は、ブロードキャスト残差学習のための例示的なワークフロー100を示す。ワークフロー100は入力テンソル105から開始する。いくつかの例では、テンソル105は、(たとえば、経時的な周波数のスペクトルを示すログメルスペクトログラム(log Mel spectrogram)によって表される)オーディオデータ、またはオーディオ特徴(たとえば、オーディオデータを処理することによって生成された特徴)であり得る。いくつかの態様では、入力テンソル105は、周波数次元と時間次元とをもつ2次元テンソルである。時間次元は、時間間隔またはステップに画成され得、周波数次元は、周波数値または帯域に基づいて画成される。各間隔において存在する周波数(たとえば、各周波数における音の大きさ)は、テンソルにおける値を介して反映され得る。
【0021】
[0026] 入力テンソル105は、第1の畳み込み演算110を使用して処理され、これは、2次元特徴マップ115のセットを生じる。図示のように、特徴マップ115は次元性H×W×cを有し、ここで、HおよびWは、空間次元(たとえば、それぞれ、時間次元および周波数次元)であり、cは、チャネル(channel)の数である。
【0022】
[0027] 一態様では、畳み込み演算110は、周波数次元の特徴を抽出するように構成された1つまたは複数のカーネルを使用して実施される深さ単位畳み込み(depthwise convolution)である。たとえば、畳み込み演算110はn×1カーネルを使用し得、ここで、nは周波数次元に対応する。すなわち、畳み込み演算110のための深さ単位カーネルは、周波数次元において1よりも大きい長さを有し得、時間次元において1の長さをもつ。これは、畳み込み演算110が、テンソル105についての周波数特徴(たとえば、特徴マップ115)を抽出する周波数深さ単位畳み込み(frequency depthwise convolution)として働くことを可能にする。
【0023】
[0028] 図示のように、これらの特徴マップ115は2次元である(周波数次元と時間次元の両方において1よりも大きい長さをもつ)。図示されたワークフロー100では、特徴マップ115の次元性を削減するために、次元削減演算(dimension reduction operation)120が実施される。詳細には、次元削減演算120は、周波数次元をなくし、時間次元を保存するように、特徴マップ115を削減し得る。これは、1次元特徴マップ125を生じる。特徴マップ125は、特徴マップ115と同じ時間次元性および同じ数のチャネルを有し得るが、周波数次元において1の長さをもつ。
【0024】
[0029] 次元削減演算120は、概して、周波数ごと(または周波数帯域ごと)に実施され、(最大値、または最も活性化された存在をもつ特徴が保持されるような)最大プーリング、(平均値が保持されるような)平均プーリング、(最小値が保持されるような)最小プーリングなどを含む、様々な技法を含むことができる。いくつかの態様では、次元削減演算120はまた、次元を削減するためにパディングすることなしに、H×1カーネルを使用して特徴マップ115を畳み込むことによって実施され得、ここで、Hは、周波数次元のサイズ(size)に対応する。
【0025】
[0030] 有利には、(時間次元に対応する)1次元特徴マップ125は、旧来の2次元畳み込みと比較して、著しく少数の算出リソースを用いて畳み込まれ得る。これは、ブロードキャスト残差学習の効率を著しく改善する。
【0026】
[0031] 図示のように、特徴マップ125は、第2の畳み込み演算130を使用して処理される。いくつかの態様では、畳み込み演算130は、深さ単位分離可能畳み込み(たとえば、深さ単位畳み込み、およびその後に続く点単位畳み込み(pointwise convolution))である。(周波数次元に対応する)畳み込み演算110とは対照的に、畳み込み演算130は、時間次元についての特徴を抽出するように構成された1つまたは複数のカーネルを使用して実施され得る。たとえば、畳み込み演算130は1×mカーネルを使用し得、ここで、mは時間次元に対応する。
【0027】
[0032] すなわち、畳み込み演算130のための深さ単位カーネルは、時間次元において1よりも大きい長さを有し得、周波数次元において1の長さをもつ。これは、畳み込み演算130が、特徴マップ125についての時間特徴を抽出する時間深さ単位畳み込み(temporal depthwise convolution)として働くことを可能にする。いくつかの態様では、畳み込み演算130は深さ単位分離可能畳み込みであり得る。そのような態様では、時間深さ単位畳み込みに続いて、畳み込み演算130は、1つまたは複数の点単位カーネルを適用することができる。これは特徴マップ135を生じる。
【0028】
[0033] ワークフロー100では、特徴マップ135は、次いで、矢印137によって示されるように、周波数次元にブロードキャストされる。(拡大演算とも呼ばれる)このブロードキャスティング演算は、概して、1次元特徴マップ135を、特徴マップ115と同じ次元性をもつ多次元特徴マップ140に変換する。いくつかの態様では、ブロードキャスティングは、(この例では)特徴マップ135を、それらがHの高さに達するまで、コピーおよび積層することを伴う。
【0029】
[0034] 残差接続150は、ブロードキャスト残差学習の残差性質を反映する。ワークフロー100では、入力テンソル105は、出力155を生成するために、演算145を使用して、特徴マップ140を用いて拡張される。いくつかの態様では、特徴マップ140は、同じくまたは代替的に、特徴マップ115を用いて拡張され得る。この演算145は、概して、要素単位加算(element-wise summation)、平均化、乗算などを含む、任意の数の組合せ技法を含み得る。有利には、残差接続150は、システムが、次元削減演算120にもかかわらず、入力の2次元特徴を保持することを可能にする。
【0030】
例示的な残差学習技法(Example Residual Learning Techniques)
[0035] 図2は、残差学習技法のための例示的なブロック図200Aおよび200Bを示す。
【0031】
[0036] ブロック200Aは、いくつかの残差モデルにおいて使用される従来の残差ブロックを反映する。このブロック200Aは、y=x+f(x)として表され得、ここで、xおよびyは、それぞれ、入力特徴および出力特徴であり、関数f(・)は畳み込み出力を算出する。xの識別情報ショートカット(identity shortcut)と、f(x)の結果とが、同じ次元性のものであり、単純な要素単位加法(element-wise addition)によって加算され得る。
【0032】
[0037] 詳細には、残差ブロック200Aによって示されているように、入力205は、ある畳み込み演算210を使用して処理される。次いで、得られたテンソルが、演算220によって示されるように、(識別情報ショートカット215を介して)元の入力205と加算され得る。これは、通常の残差ブロック200Aの出力225をもたらす。
【0033】
[0038] 本開示の態様では、1次元特徴と2次元特徴の両方を一緒に利用するために、(畳み込み演算210によって反映される)関数f(x)は、f1およびf2に分解され得、それらは、それぞれ、時間演算および2次元演算に対応する。これは、ブロードキャスト残差ブロック200Bにおいて反映される。
【0034】
[0039] ブロードキャスト残差ブロック200Bは、
【0035】
【数1】
【0036】
として表され得、
[0040] ここで、xおよびyは、それぞれ、入力特徴および出力特徴であり、f1およびf2は畳み込み演算であり、BC(・)は、ブロードキャスティングまたは拡大演算であり、reduction(・)は、次元削減演算(たとえば、周波数次元による平均プーリング(average pooling))である。この式では、バッチおよびチャネル次元が概念的明快のために無視され、入力特徴xは、
【0037】
【数2】
【0038】
におけるものであり、ここで、HおよびWは、それぞれ、周波数ステップおよび時間ステップである。
【0039】
[0041] 残差ブロック200Bによって示されているように、入力250は、2次元特徴を抽出するために、畳み込み演算255を使用して処理される。次いで、得られたテンソルが、次元削減260を使用して削減され得、(1つまたは複数の)削減されたテンソルは、時間特徴を抽出するために、畳み込み演算265を使用して処理される。これらの特徴は、次いで、周波数次元に拡大され、識別情報ショートカット270を介して元の入力250を用いて拡張され、これは出力280を生じる。
【0040】
例示的なブロードキャスト残差学習ブロック(Example Broadcasted Residual Learning Block)
[0042] 図3は、オーディオ入力データなど、入力データの効率的な処理において使用するための例示的なブロードキャスト残差学習ブロック300である。
【0041】
[0043] 図示のように、入力テンソル305が、受信され、(図3中でf2と標示された)第1の演算310を使用して処理される。演算310は、上記で説明された2次元特徴抽出(たとえば、畳み込み演算110)に対応し、
【0042】
【数3】
【0043】
における2次元特徴マップ(たとえば、図1中の特徴マップ115)をもたらす。図示のように、畳み込み演算310は、1つまたは複数のn×1周波数深さ単位畳み込みカーネルを備える周波数深さ単位畳み込み320を使用して実施される。
【0044】
[0044] 図示のように、演算310はまた、サブスペクトル正規化(SSN:SubSpectral Normalization)演算(operation)325を含む。SSN演算325は、概して、(周波数深さ単位畳み込み320によって生成された)入力特徴を周波数次元におけるサブバンド(sub-band)にスプリットすることと、(たとえば、バッチ正規化(batch normalization)を用いて)各サブバンドを別個に正規化することとによって演算する。これは、システムが、特徴セット全体に対する通常のバッチ正規化と比較して、周波数アウェア時間特徴を達成することを可能にする。
【0045】
[0045] システムは、次いで、演算330を使用して次元削減を実施することができる。図示の例では、ブロードキャスト残差学習ブロック300は、周波数によって入力特徴を平均化するために周波数平均プーリングを使用し、これは、上記で説明されたように、
【0046】
【数4】
【0047】
における特徴(たとえば、図1中の特徴マップ125)を生じる。
【0048】
[0046] これらの特徴は、次いで、(図3中でf1と標示された)第2の演算340を使用して処理される。演算320は、上記で説明された時間畳み込み演算(たとえば、畳み込み演算130)に対応し得る。一態様では、演算340は、深さ単位分離可能畳み込み(たとえば、時間深さ単位畳み込み345と点単位畳み込み355との複合物)である。
【0049】
[0047] 時間深さ単位畳み込み345は、時間特徴(たとえば、図1中の特徴マップ135)を生成するための1つまたは複数の1×m時間深さ単位畳み込みカーネルを備え得る。
【0050】
[0048] 図示のように、演算340は、次いで、バッチ正規化演算350と、その後に続く(同じく350によって示された)スウィッシュ活性化(swish activation)とを含む。スウィッシュ活性化が図3に示されているが、態様では、任意の好適な活性化関数が使用され得る。
【0051】
[0049] 点単位畳み込み355に続いて、演算340は、ドロップアウトレートpにおける(360によって示された)チャネル単位ドロップアウト(channel-wise dropout)をも含むことができる。このドロップアウトは、過剰適合を防ぎ、一般化を改善するために、モデルのための正則化として使用され得る。(図1の演算145を参照しながら上記で説明されたテンソル拡張をも含む)演算365によって表される、(図1のブロードキャスティング演算137に対応し得る)ブロードキャスティング演算が、次いで、(
【0052】
【数5】
【0053】
における)演算340からの特徴を
【0054】
【数6】
【0055】
に拡大するために使用され得る。
【0056】
[0050] いくつかの態様では、連続ブロック(たとえば、ブロードキャスト残差学習ブロック300の連続適用)にわたって周波数畳み込みアウェアであるために、システムは、(演算365において)元の入力305を用いて特徴を拡張するために(「識別情報ショートカット」と呼ばれることがある)残差接続315を使用するだけでなく、(演算365において)周波数深さ単位畳み込み320によって出力された2次元特徴からの補助残差接続335をも使用する。この補助残差接続335は、システムが、次元削減演算にもかかわらず、入力の周波数アウェア特徴を保持することを可能にする。(いくつかの態様ではブロードキャスト和演算(broadcast sum operation)とも呼ばれる)このブロードキャスティングおよび拡張演算365の出力が、次いで、1つまたは複数の活性化関数(たとえば、ReLU関数370)を使用して処理され、次いで、残差学習ブロック300からの出力375として提供され得る。
【0057】
[0051] このようにして、ブロードキャスト残差学習ブロック300は、y=x+f2(x)+BC(f1(reduction(f2(x))))として表され得、ここで、xおよびyは、それぞれ、入力特徴および出力特徴であり、f1およびf2は畳み込み演算であり、BC(・)は、ブロードキャスティングまたは拡大演算であり、reduction(・)は、次元削減演算(たとえば、周波数次元による平均プーリング)である。
【0058】
[0052] ブロードキャスト残差学習ブロック300を使用して、機械学習モデルは、2次元特徴を保持しながら、たとえば、従来の技法と比較してより効率的なKWSを提供することができる。1次元時間特徴に対して時間深さ単位畳み込みおよび点単位畳み込みを実施することによって、算出負荷は、旧来の2次元深さ単位分離可能畳み込みと比較して、周波数ステップH(しばしば40以上)分の1に低減される。
【0059】
例示的な遷移ブロードキャスト残差学習ブロック(Example Transitional Broadcasted Residual Learning Block)
[0053] 図4は、オーディオ入力データなど、入力データの効率的な処理において使用するための例示的な遷移ブロードキャスト残差学習ブロック400である。
【0060】
[0054] 遷移ブロードキャスト残差学習ブロック400は、通常ブロードキャスト残差学習ブロック300と同様であり、遷移ブロードキャスト残差学習ブロック400が、入力305におけるチャネルの数が出力475におけるチャネルの数とは異なる遷移層において使用されることを可能にする、2つの違いがある。
【0061】
[0055] 詳細には、演算410は、図3中の演算310に取って代わる。演算410は、追加の点単位畳み込み412を含み、これは、入力405におけるチャネルの数(number of channels)を出力475についてのチャネルの所望の数に変更するために使用される。図示のように、この点単位畳み込み412は、その後に、413によって示された、バッチ正規化および(ReLUなどの)活性化関数が続き得る。
【0062】
[0056] 遷移ブロードキャスト残差学習ブロック400と通常ブロードキャスト残差学習ブロック300との間の第2の違いは、遷移ブロードキャスト残差学習ブロック400が識別情報ショートカット(図3中の残差接続315)を含まないことである。すなわち、遷移ブロードキャスト残差学習ブロック400は、(次元性が異なるので)入力405を使用して出力を拡張しない。
【0063】
[0057] 他の点では、遷移ブロードキャスト残差学習ブロック400は、大部分は、図3を参照しながら上記で説明された通常ブロードキャスト残差学習ブロック300をミラーリングする。
【0064】
ブロードキャスト残差学習のための例示的な方法(Example Method for Broadcasted Residual Learning)
[0058] 図5は、ブロードキャスト残差学習を使用してデータを処理するための方法500を示す例示的な流れ図である。
【0065】
[0059] 方法500はブロック505において開始し、ここで、処理システムが、周波数次元と時間次元とを備える入力テンソルを受信する。
【0066】
[0060] ブロック510において、処理システムは、周波数次元と時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて入力テンソルを処理する。いくつかの場合には、多次元中間特徴マップは2次元中間特徴マップ(two-dimensional intermediate feature map)である。
【0067】
[0061] いくつかの態様では、第1の畳み込み演算は、周波数次元において1よりも大きいおよび時間次元において1に等しいサイズ(size)をもつ、1つまたは複数の深さ単位畳み込みカーネル(depthwise convolution kernel)を使用する。
【0068】
[0062] いくつかの態様では、入力テンソルは、入力テンソルにおけるチャネルの数を変更するように構成された点単位畳み込み演算(pointwise convolution operation)から出力される。
【0069】
[0063] ブロック515において、処理システムは、周波数次元削減演算を使用して多次元中間特徴マップを時間次元における1次元中間特徴マップに変換する。
【0070】
[0064] いくつかの態様では、周波数次元削減演算は、最大プーリング演算(maximum pooling operation)、平均プーリング演算(average pooling operation)、または畳み込み演算(convolution operation)のうちの少なくとも1つを備える。
【0071】
[0065] いくつかの態様では、方法500は、多次元中間特徴マップを1次元中間特徴マップに変換することより前に、多次元中間特徴マップに対してサブスペクトル正規化(SSN:subspectral normalization)演算を実施することをさらに備える。
【0072】
[0066] いくつかの態様では、SSN演算は、多次元中間特徴マップを周波数次元における複数のサブバンドに分割することと、複数のサブバンドの各サブバンドに対してバッチ正規化を実施することとを備える。
【0073】
[0067] ブロック520において、処理システムは、時間特徴マップを生成するために、第2の畳み込み演算を使用して1次元中間特徴マップを処理する。
【0074】
[0068] いくつかの態様では、第2の畳み込み演算は深さ単位分離可能畳み込み演算(depthwise separable convolution operation)を備え、ここにおいて、深さ単位分離可能畳み込み演算の深さ単位畳み込みが、周波数次元において1に等しいおよび時間次元において1よりも大きいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用するように構成される。
【0075】
[0069] いくつかの態様では、深さ単位分離可能畳み込み演算の点単位畳み込みが、深さ単位畳み込みの後に1つまたは複数の点単位畳み込みカーネル(pointwise convolution kernel)を使用するように構成される。
【0076】
[0070] ブロック525において、処理システムは、多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して時間特徴マップを周波数次元に拡大する。
【0077】
[0071] ブロック530において、処理システムは、第1の残差接続を介して、多次元中間特徴マップを用いて多次元出力特徴マップを拡張する。
【0078】
[0072] いくつかの態様では、方法500は、拡張された多次元出力を(たとえば、残差ブロックから、モデルの別の残差ブロックあるいは他のブロックまたは層への出力として、モードからの出力として、など)出力することをさらに含む。
【0079】
[0073] いくつかの態様では、方法500は、第2の残差接続(second residual connection)を介して、入力テンソルを用いて多次元出力特徴マップを拡張することをさらに備える。
【0080】
[0074] いくつかの態様では、入力テンソルは入力オーディオ特徴(input audio feature)を備え、第1の畳み込み演算および第2の畳み込み演算は、入力オーディオ特徴を分類するように構成されたブロードキャスト残差ニューラルネットワーク(broadcast residual neural network)の一部である。
【0081】
ブロードキャスト残差学習のための例示的な処理システム(Example Processing System for Broadcasted Residual Learning)
[0075] いくつかの態様では、図1図5に関して説明された技法、方法、およびワークフローは、1つまたは複数のデバイス上で実施され得る。
【0082】
[0076] 図6は、たとえば、図1図5に関して説明された方法を含む、本明細書で説明される様々な方法の態様を実施するように構成され得る例示的な処理システム600を示す。
【0083】
[0077] 処理システム600は、いくつかの例ではマルチコアCPUであり得る中央処理ユニット(CPU)602を含む。CPU602において実行される命令が、たとえば、CPU602に関連するプログラムメモリからロードされ得るか、またはメモリパーティション624からロードされ得る。
【0084】
[0078] 処理システム600は、グラフィックス処理ユニット(GPU)604、デジタル信号プロセッサ(DSP)606、ニューラル処理ユニット(NPU)608、マルチメディア処理ユニット610、およびワイヤレス接続性構成要素612など、特定の機能に適合された追加の処理構成要素をも含む。
【0085】
[0079] 608など、NPUは、概して、人工ニューラルネットワーク(ANN)、深層ニューラルネットワーク(DNN)、ランダムフォレスト(RF)などを処理するためのアルゴリズムなど、機械学習アルゴリズムを実行するためのすべての必要な制御と算術論理とを実装するために構成された特殊な回路である。NPUは、時々、ニューラル信号プロセッサ(NSP)、テンソル処理ユニット(TPU)、ニューラルネットワークプロセッサ(NNP)、インテリジェンス処理ユニット(IPU)、視覚処理ユニット(VPU)、またはグラフ処理ユニットと代替的に呼ばれることがある。
【0086】
[0080] 608など、NPUは、画像分類、機械翻訳、物体検出、および様々な他の予測モデルなど、一般的な機械学習タスクの性能をアクセラレートするように構成される。いくつかの例では、複数のNPUは、システムオンチップ(SoC)など、単一のチップ上にインスタンス化され得るが、他の例では、複数のNPUは、専用ニューラルネットワークアクセラレータの一部であり得る。
【0087】
[0081] NPUは、トレーニングまたは推論のために最適化されるか、あるいは、いくつかの場合には、その両方の間の性能のバランスをとるように構成され得る。トレーニングと推論の両方を実施することが可能であるNPUの場合、その2つのタスクは依然として、概して、独立して実施され得る。
【0088】
[0082] トレーニングをアクセラレートするように設計されたNPUは、概して、モデル性能を改善するために、(しばしば標示またはタグ付けされた)既存のデータセットを入力することと、そのデータセットにわたって反復することと、次いで、重みおよびバイアスなどのモデルパラメータを調節することとを伴う極めて算出集約的な動作である、新しいモデルの最適化をアクセラレートするように構成される。概して、誤った予測に基づいて最適化することは、モデルの層を通して逆伝搬することと、予測誤差を低減するための勾配を決定することとを伴う。
【0089】
[0083] 推論をアクセラレートするように設計されたNPUは、概して、完全なモデル上で動作するように構成される。したがって、そのようなNPUは、モデル出力(たとえば、推論)を生成するために、新しいデータを入力し、すでにトレーニングされたモデルを通してそれを迅速に処理するように構成され得る。
【0090】
[0084] 一実装形態では、NPU608は、CPU602、GPU604、および/またはDSP606のうちの1つまたは複数の一部である。
【0091】
[0085] いくつかの例では、ワイヤレス接続性構成要素612は、たとえば、第3世代(3G)接続性、第4世代(4G)接続性(たとえば、4G LTE(登録商標))、第5世代接続性(たとえば、5GまたはNR)、Wi-Fi(登録商標)接続性、Bluetooth(登録商標)接続性、および他のワイヤレスデータ送信規格のための、副構成要素を含み得る。ワイヤレス接続性処理構成要素612は、1つまたは複数のアンテナ614にさらに接続される。
【0092】
[0086] 処理システム600は、センサーの任意の様式に関連する1つまたは複数のセンサー処理ユニット616、画像センサーの任意の様式に関連する1つまたは複数の画像信号プロセッサ(ISP)618、および/またはナビゲーションプロセッサ620をも含み得、ナビゲーションプロセッサ620は、衛星ベース測位システム構成要素(たとえば、GPSまたはGLONASS)ならびに慣性測位システム構成要素を含み得る。
【0093】
[0087] 処理システム600は、スクリーン、(タッチセンシティブディスプレイを含む)タッチセンシティブ表面、物理ボタン、スピーカー、マイクロフォンなど、1つまたは複数の入力および/または出力デバイス622をも含み得る。
【0094】
[0088] いくつかの例では、処理システム600のプロセッサのうちの1つまたは複数は、ARMまたはRISC-V命令セットに基づき得る。
【0095】
[0089] 処理システム600は、ダイナミックランダムアクセスメモリ、フラッシュベーススタティックメモリなど、1つまたは複数のスタティックメモリおよび/またはダイナミックメモリを表す、メモリ624をも含む。この例では、メモリ624は、処理システム600の上述のプロセッサのうちの1つまたは複数によって実行され得るコンピュータ実行可能構成要素を含む。
【0096】
[0090] 特に、この例では、メモリ624は、本明細書で説明される1つまたは複数の態様に従って構成され得る、機械学習構成要素624Aを含む。たとえば、機械学習構成要素624Aは、1つまたは複数のブロードキャスト残差学習ブロックで構成された1つまたは複数の機械学習モデル(たとえば、ニューラルネットワーク)を使用して、データまたはオーディオ分析を提供し得る。
【0097】
[0091] メモリ624は、(1つまたは複数の)周波数深さ単位カーネル624Bのセットと、(1つまたは複数の)時間深さ単位カーネル624Cのセットとをさらに含む。上記で説明されたように、周波数深さ単位カーネル624Bは、概して、周波数次元において1よりも大きい長さをもつ1次元カーネルを含み、時間深さ単位カーネル624Cは、時間次元において1よりも大きい長さをもつ1次元カーネルを含む。
【0098】
[0092] 周波数深さ単位カーネル624Bは、概して、周波数深さ単位畳み込み(たとえば、図1中の畳み込み演算110)を実施するために使用され得、時間深さ単位カーネル624Cは、概して、時間深さ単位畳み込み(たとえば、図1中の畳み込み演算130)を実施するために使用される。
【0099】
[0093] 処理システム600は、たとえば、図1図5に関して上記で説明されたものなど、機械学習回路626をさらに備える。
【0100】
[0094] 図6では明快のために別個の回路として示されているが、機械学習回路626は、CPU602、GPU604、DSP606、NPU608など、処理システム600の他の処理デバイスにおいて実装され得る。
【0101】
[0095] 概して、処理システム600および/またはそれの構成要素は、本明細書で説明される方法を実施するように構成され得る。
【0102】
[0096] 特に、他の態様では、処理システム600の態様は、処理システム600がサーバコンピュータなどである場合などに省略され得る。たとえば、マルチメディア構成要素610、ワイヤレス接続性612、センサー616、ISP618、および/またはナビゲーション構成要素620は、他の態様では省略され得る。さらに、処理システム600の態様は、複数のデバイス間で分散され得る。
【0103】
[0097] 示された構成要素、および他の示されていない構成要素は、本明細書で説明される方法の様々な態様を実施するように構成され得る。
【0104】
例示的な条項(Example Clauses)
[0098] 条項1: 周波数次元と時間次元とを備える入力テンソルを受信することと、周波数次元と時間次元とを備える多次元中間特徴マップを生成するために、第1の畳み込み演算を用いて入力テンソルを処理することと、周波数次元削減演算を使用して多次元中間特徴マップを時間次元における1次元中間特徴マップに変換することと、時間特徴マップを生成するために、第2の畳み込み演算を使用して1次元中間特徴マップを処理することと、多次元出力特徴マップを生成するために、ブロードキャスティング演算を使用して時間特徴マップを周波数次元に拡大することと、第1の残差接続を介して、多次元中間特徴マップを用いて多次元出力特徴マップを拡張することとを備える、方法。
【0105】
[0099] 条項2: 多次元中間特徴マップが2次元中間特徴マップである、条項1に記載の方法。
【0106】
[0100] 条項3: 第2の残差接続を介して、入力テンソルを用いて多次元出力特徴マップを拡張することをさらに備える、条項1から2のいずれかに記載の方法。
【0107】
[0101] 条項4: 第1の畳み込み演算が、周波数次元において1よりも大きいおよび時間次元において1に等しいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用する、条項1から3のいずれか一項に記載の方法。
【0108】
[0102] 条項5: 入力テンソルが、入力テンソルにおけるチャネルの数を変更するように構成された点単位畳み込み演算から出力される、条項1から4のいずれか一項に記載の方法。
【0109】
[0103] 条項6: 多次元中間特徴マップを1次元中間特徴マップに変換することより前に、多次元中間特徴マップに対してサブスペクトル正規化(SSN)演算を実施することをさらに備える、条項1から5のいずれか一項に記載の方法。
【0110】
[0104] 条項7: SSN演算が、多次元中間特徴マップを周波数次元における複数のサブバンドに分割することと、複数のサブバンドの各サブバンドに対してバッチ正規化を実施することとを備える、条項1から6のいずれか一項に記載の方法。
【0111】
[0105] 条項8: 周波数次元削減演算が、最大プーリング演算、平均プーリング演算、または畳み込み演算のうちの少なくとも1つを備える、条項1から7のいずれか一項に記載の方法。
【0112】
[0106] 条項9: 第2の畳み込み演算が深さ単位分離可能畳み込み演算を備え、ここにおいて、深さ単位分離可能畳み込み演算の深さ単位畳み込みが、周波数次元において1に等しいおよび時間次元において1よりも大きいサイズをもつ、1つまたは複数の深さ単位畳み込みカーネルを使用するように構成された、条項1から8のいずれか一項に記載の方法。
【0113】
[0107] 条項10: 深さ単位分離可能畳み込み演算の点単位畳み込みが、深さ単位畳み込みの後に1つまたは複数の点単位畳み込みカーネルを使用するように構成された、条項1から9のいずれか一項に記載の方法。
【0114】
[0108] 条項11: 入力テンソルが入力オーディオ特徴を備え、第1の畳み込み演算および第2の畳み込み演算が、入力オーディオ特徴を分類するように構成されたブロードキャスト残差ニューラルネットワークの一部である、条項1から10のいずれか一項に記載の方法。
【0115】
[0109] 条項12: 条項1から11のいずれか一項に記載の方法を実施するための手段を備える、システム。
【0116】
[0110] 条項13: コンピュータ実行可能命令(computer-executable instruction)を備えるメモリと、1つまたは複数のプロセッサとを備える、システムであって、1つまたは複数のプロセッサが、コンピュータ実行可能命令を実行し、処理システムに、条項1から11のいずれか一項に記載の方法を実施させるように構成された、システム。
【0117】
[0111] 条項14: コンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、コンピュータ実行可能命令が、処理システムの1つまたは複数のプロセッサによって実行されたとき、処理システムに、条項1から11のいずれか一項に記載の方法を実施させる、非一時的コンピュータ可読媒体。
【0118】
[0112] 条項15: 条項1から11のいずれか一項に記載の方法を実施するためのコードを備えるコンピュータ可読記憶媒体上で実施されたコンピュータプログラム製品。
【0119】
追加の考慮事項(Additional Considerations)
[0113] 上記の説明は、当業者が本明細書で説明された様々な態様を実施することを可能にするために提供された。本明細書で説明される例は、特許請求の範囲に記載される範囲、適用可能性、または態様を限定するものではない。これらの態様への様々な修正は当業者には容易に明らかであり、本明細書で定義された一般原理は他の態様に適用され得る。たとえば、本開示の範囲から逸脱することなく、説明される要素の機能および構成において変更が行われ得る。様々な例は、適宜に、様々な手順または構成要素を、省略、置換、または追加し得る。たとえば、説明される方法は、説明される順序とは異なる順序で実施され得、様々なステップが追加、省略、または組み合わせられ得る。また、いくつかの例に関して説明される特徴は、いくつかの他の例において組み合わせられ得る。たとえば、本明細書に記載される任意の数の態様を使用して、装置が実装され得るか、または方法が実施され得る。さらに、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示される開示のいかなる態様も、請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
【0120】
[0114] 本明細書で使用される「例示的」という語は、「例、事例、または例示の働きをすること」を意味する。「例示的」として本明細書で説明されるいかなる態様も、必ずしも他の態様よりも好適または有利であると解釈されるべきであるとは限らない。
【0121】
[0115] 本明細書で使用される、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-c、ならびに複数の同じ要素をもつ任意の組合せ(たとえば、a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c、およびc-c-c、またはa、b、およびcの任意の他の順序)を包含するものとする。
【0122】
[0116] 本明細書で使用される「決定すること」という用語は、多種多様なアクションを包含する。たとえば、「決定すること」は、計算すること(calculating)、算出すること(computing)、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含み得る。また、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ中のデータにアクセスすること)などを含み得る。また、「決定すること」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
【0123】
[0117] 本明細書で使用される、本明細書で説明される要素間で電子信号およびデータを共有することのコンテキストにおける、「に接続された」という用語は、概して、互いに接続されたそれぞれの要素間でのデータ通信におけるものを意味し得る。いくつかの場合には、要素は、互いに直接接続されたそれぞれの要素間で信号および/またはデータを搬送することが可能な、1つまたは複数の導電性トレース、ライン、または他の導電性キャリアを介してなど、互いに直接接続され得る。他の場合には、要素は、互いに間接的に接続されたそれぞれの要素間で信号およびデータを通信するための、1つまたは複数のデータバスあるいは同様の共有回路および/または集積回路要素を介してなど、互いに間接的に接続され得る。
【0124】
[0118] 本明細書で開示される方法は、方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。さらに、上記で説明された方法の様々な動作は、対応する機能を実施することが可能な任意の好適な手段によって実施され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々な(1つまたは複数の)ハードウェアおよび/またはソフトウェア構成要素および/または(1つまたは複数の)モジュールを含み得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。
【0125】
[0119] 以下の特許請求の範囲は、本明細書で示された態様に限定されるものではなく、特許請求の範囲の文言に矛盾しない全範囲を与えられるべきである。請求項内で、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつか」という用語は、1つまたは複数を指す。いかなるクレーム要素も、その要素が「ための手段」という句を使用して明確に具陳されていない限り、または方法クレームの場合には、その要素が「ためのステップ」という句を使用して具陳されていない限り、米国特許法第112条(f)の規定の下で解釈されるべきではない。当業者に知られている、または後に知られることになる、本開示全体にわたって説明された様々な態様の要素のすべての構造的および機能的等価物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものである。その上、本明細書で開示されるいかなることも、そのような開示が特許請求の範囲に明示的に具陳されているかどうかにかかわらず、公に供するものではない。
図1
図2
図3
図4
図5
図6
【国際調査報告】