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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7604675畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法
<>
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図1A
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図1B
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図1C
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図2
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図3
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図4
  • 特許-畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241216BHJP
   G06N 3/0464 20230101ALI20241216BHJP
【FI】
G06T7/00 350C
G06N3/0464
【請求項の数】 21
(21)【出願番号】P 2023557195
(86)(22)【出願日】2022-05-27
(65)【公表番号】
(43)【公表日】2024-04-19
(86)【国際出願番号】 US2022031304
(87)【国際公開番号】W WO2022251602
(87)【国際公開日】2022-12-01
【審査請求日】2023-11-08
(31)【優先権主張番号】63/194,077
(32)【優先日】2021-05-27
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジハン・ダイ
(72)【発明者】
【氏名】ハンシャオ・リウ
(72)【発明者】
【氏名】ミンシン・タン
(72)【発明者】
【氏名】クォク・ヴィー・レ
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】国際公開第2020/028313(WO,A1)
【文献】Yinpeng Chen, et al.,Dynamic Convolution: Attention over Convolution Kernels,Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),2020年
【文献】Zihang Dai, et al.,CoAtNet: Marrying Convolution and Attention for All Data Sizes,arXiv,2021年06月09日,arXiv:2106.04803v1
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06N 3/0464
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するためのコンピュータ実装方法であって、前記コンピュータ実装方法は、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップと、
前記コンピューティングシステムによって、前記入力データを機械学習型畳み込み注意ネットワークに与えるステップであって、前記機械学習型畳み込み注意ネットワークは2つ以上のネットワーク段階を含み、前記2つ以上のネットワーク段階は、1つまたは複数の注意段階と、1つまたは複数の畳み込み段階を含み、
前記1つまたは複数の注意段階のうちの少なくとも1つは、
ソフトマックス正規化を実行し、
前記ソフトマックス正規化の実行に先立ってまたは続いて、静的畳み込みカーネルと適応的注意行列の和を計算するように構成される
相対的注意機構を含む、ステップと、
前記機械学習型畳み込み注意ネットワークに前記入力データを与えたことに応答して、前記コンピューティングシステムによって、前記機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップとを含み、
空間解像度は前記2つ以上のネットワーク段階にわたって漸減する
コンピュータ実装方法。
【請求項2】
前記2つ以上のネットワーク段階はS0段階、S1段階、S2段階、S3段階、およびS4段階を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記S0段階は2レイヤ畳み込みステムネットワークを含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記S1段階は、スクイーズ励起ありの1つまたは複数の畳み込みブロックを含む、請求項2に記載のコンピュータ実装方法。
【請求項5】
前記S1段階の前記1つまたは複数の畳み込みブロックは移動式逆ボトルネック畳み込み(MBConv)ブロックを含み、前記MBConvブロックは、前記1つまたは複数の畳み込みブロックへの入力の元のチャネルサイズから、チャネルサイズを拡大し、続いて、前記拡大されたチャネルサイズを前記元のチャネルサイズに逆投影するように構成される、請求項4に記載のコンピュータ実装方法。
【請求項6】
畳み込み段階を含む前記S2段階、S3段階、およびS4段階の各々は移動式逆ボトルネック畳み込み(MBConv)ブロックを含む、請求項2に記載のコンピュータ実装方法。
【請求項7】
チャネルの数は、前記S1段階、前記S2段階、前記S3段階、および前記S4段階のうちの少なくとも1つに対して倍にされる、請求項2に記載のコンピュータ実装方法。
【請求項8】
前記S0段階の幅は前記S1段階の幅以下である、請求項2に記載のコンピュータ実装方法。
【請求項9】
前記S0段階、前記S1段階、および前記S4段階の各々は2つのブロックを含み、前記S2段階および前記S3段階は各々、2つよりも多いブロックを含む、請求項2に記載のコンピュータ実装方法。
【請求項10】
前記静的畳み込みカーネルと前記適応的注意行列の前記和は、前記相対的注意機構による前記ソフトマックス正規化の実行に先立って前記入力データに適用される、請求項1に記載のコンピュータ実装方法。
【請求項11】
前記静的畳み込みカーネルと前記適応的注意行列の前記和は、前記相対的注意機構による前記ソフトマックス正規化の実行に続いて前記入力データに適用される、請求項1に記載のコンピュータ実装方法。
【請求項12】
前記機械学習予測はコンピュータビジョン出力を含む、請求項1に記載のコンピュータ実装方法。
【請求項13】
前記機械学習予測は分類出力を含む、請求項1に記載のコンピュータ実装方法。
【請求項14】
前記1つまたは複数の畳み込み段階は、順序としては、前記2つ以上のネットワーク段階において、前記1つまたは複数の注意段階に先立つ、請求項1に記載のコンピュータ実装方法。
【請求項15】
計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するためのコンピュータ実装方法であって、前記コンピュータ実装方法は、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップと、
前記コンピューティングシステムによって、前記入力データを機械学習型畳み込み注意ネットワークに与えるステップであって、前記機械学習型畳み込み注意ネットワークは、
前記入力テンソルに相対して空間解像度を低減するように構成されたダウンサンプリング段階、および
相対的注意機構を含む1つまたは複数の注意ブロックであって、
前記相対的注意機構は、
ソフトマックス正規化を実行し、
前記ソフトマックス正規化の実行に先立ってまたは続いて、静的畳み込みカーネルと適応的注意行列の和を計算す
ように構成される、1つまたは複数の注意ブロックを含む、ステップと、
前記機械学習型畳み込み注意ネットワークに前記入力データを与えたことに応答して、前記コンピューティングシステムによって、前記機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップとを含む、コンピュータ実装方法。
【請求項16】
前記ダウンサンプリング段階は畳み込みステムを含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
前記静的畳み込みカーネルと前記適応的注意行列の前記和は、前記相対的注意機構による前記ソフトマックス正規化の実行に続いて前記入力データに適用される、請求項15に記載のコンピュータ実装方法。
【請求項18】
前記静的畳み込みカーネルと前記適応的注意行列の前記和は、前記相対的注意機構による前記ソフトマックス正規化の実行に先立って前記入力データに適用される、請求項15に記載のコンピュータ実装方法。
【請求項19】
計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップと、
前記コンピューティングシステムによって、前記入力データを機械学習型畳み込み注意ネットワークに与えるステップであって、前記機械学習型畳み込み注意ネットワークは複数のネットワーク段階を含み、前記複数のネットワーク段階は、
2レイヤ畳み込みステムネットワークを含むS0段階、
スクイーズ励起ありの畳み込みブロックを含むS1段階、
畳み込みブロックを含むS2段階、
注意ブロックを含むS3段階、および
注意ブロックを含むS4段階を含み、
前記S3段階および前記S4段階の各々は、静的畳み込みカーネルと適応的注意行列の和を判断するように構成された相対的注意機構を含み、
空間解像度は、前記複数のネットワーク段階の各々において低下され、
チャネルの数は、前記複数のネットワーク段階の各々において増大される、ステップと、
前記機械学習型畳み込み注意ネットワークに前記入力データを与えたことに応答して、前記コンピューティングシステムによって、前記機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップとを含む、コンピュータ実装方法。
【請求項20】
前記静的畳み込みカーネルと前記適応的注意行列の前記和は、前記相対的注意機構によるソフトマックス正規化の実行に続いて前記入力データに適用される、請求項19に記載のコンピュータ実装方法。
【請求項21】
前記静的畳み込みカーネルと前記適応的注意行列の前記和は、前記相対的注意機構によるソフトマックス正規化の実行に先立って前記入力データに適用される、請求項19に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2021年5月27日出願の米国仮特許出願第63/194,077号に対する優先権およびその利益を主張する。米国仮特許出願第63/194,077号は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は概して、機械学習に関する。より詳細には、本開示は、畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法に関する。
【背景技術】
【0003】
機械学習は、入力データに対する予測を与える学習型アルゴリズムのクラスを参照する。畳み込みニューラルネットワーク、すなわちCNNは、ニューラルネットワークにおいて畳み込みフレームを利用する機械学習型モデルのクラスである。トランスフォーマは、入力データの別個の部分を重み付けるのに注意機構を利用する機械学習型モデルのクラスである。畳み込みと注意を組み合わせるための既存の手法は、計算コストの増大などの欠点に直面している。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施形態の態様および利点は、以下の説明において部分的に記載されるか、または説明から知ることができるか、または実施形態の実施を通して知ることができる。
【0005】
本開示の1つの例示的態様は、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するためのコンピュータ実装方法を対象とする。コンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップを含む。コンピュータ実装方法は、コンピューティングシステムによって、入力データを機械学習型畳み込み注意ネットワークに与えるステップを含み、機械学習型畳み込み注意ネットワークは2つ以上のネットワーク段階を含み、2つ以上のネットワーク段階の各々は、注意段階または畳み込み段階のうちの1つを含む。コンピュータ実装方法は、機械学習型畳み込み注意ネットワークに入力データを与えたことに応答して、コンピューティングシステムによって、機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップを含む。注意段階は相対的注意機構を含み、相対的注意機構は、静的畳み込みカーネルと適応的注意行列の和を含む。
【0006】
本開示の別の例示的態様は、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するためのコンピュータ実装方法を対象とする。コンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップを含む。コンピュータ実装方法は、コンピューティングシステムによって、入力データを機械学習型畳み込み注意ネットワークに与えるステップを含む。機械学習型畳み込み注意ネットワークは、入力テンソルに相対して空間解像度を低減するように構成されたダウンサンプリング段階と、相対的注意機構を含む1つまたは複数の注意ブロックとを含み、相対的注意機構は、静的畳み込みカーネルと適応的注意行列の和を含む。コンピュータ実装方法は、機械学習型畳み込み注意ネットワークに入力データを与えたことに応答して、コンピューティングシステムによって、機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップを含む。
【0007】
本開示の別の例示的態様は、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するためのコンピュータ実装方法を対象とする。コンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップを含む。コンピュータ実装方法は、コンピューティングシステムによって、入力データを機械学習型畳み込み注意ネットワークに与えるステップを含み、機械学習型畳み込み注意ネットワークは複数のネットワーク段階を含む。複数のネットワーク段階は、2レイヤ畳み込みステムネットワークを含むS0段階、スクイーズ励起ありの畳み込みブロックを含むS1段階、畳み込みブロックを含むS2段階、畳み込みブロックを含むS3段階、注意ブロックを含むS4段階、および注意ブロックを含むS5段階を含む。S4段階およびS5段階の各々は、静的畳み込みカーネルと適応的注意行列の和を含む相対的注意機構を含む。空間解像度は、複数のネットワーク段階の各々において低下される。チャネルの数は、複数のネットワーク段階の各々において増大される。コンピュータ実装方法は、機械学習型畳み込み注意ネットワークに入力データを与えたことに応答して、コンピューティングシステムによって、機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップを含む。
【0008】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【0009】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照すると、よりよく理解されよう。本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を示し、この説明とともに、関連する原理について説明するために役立つ。
【0010】
付属書類は、提案される技法の例示的実装形態について、より詳細に記載する。付属書類は、本開示に組み込まれ、その一部を形成する。ただし、本開示は、付属書類において与えられる例示的実装形態に限定されない。
【0011】
当業者を対象とする実施形態の詳細な説明が本明細書に記載され、本明細書は添付の図を参照する。
【図面の簡単な説明】
【0012】
図1A】本開示の例示的実施形態による、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施する例示的コンピューティングシステムのブロック図である。
図1B】本開示の例示的実施形態による、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施する例示的コンピューティングデバイスのブロック図である。
図1C】本開示の例示的実施形態による、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施する例示的コンピューティングデバイスのブロック図である。
図2】本開示の例示的実施形態による例示的畳み込み注意ネットワーク(CoAtNet)モデルのブロック図である。
図3】本開示の例示的実施形態による例示的畳み込み注意ネットワークモデルのブロック図である。
図4】本開示の例示的実施形態による例示的畳み込み注意ネットワークモデルのブロック図である。
図5】本開示の例示的実施形態による、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施するための例示的方法のフローチャート図である。
【発明を実施するための形態】
【0013】
複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別するものである。
【0014】
概して、本開示は、畳み込みおよび注意を有する機械学習型モデルのためのシステムおよび方法を対象とする。特に、本開示の例示的態様によるシステムおよび方法は、畳み込みブロックおよび/または注意ブロックを含み得る。本開示の例示的態様によると、注意ブロックは相対的注意機構を含み得る。特に、本開示の例示的態様は、上で記載した相対的注意は深度単位畳み込みとコンテンツベース注意の自然混合物と見なすことができるものと認識している。さらに、本開示の例示的態様は、深度単位畳み込みと自己注意の両方が、受容フィールドにおける値の加重和として表され得ると認識する。したがって、相対的注意機構は、静的畳み込みカーネルと適応的注意行列の和を含み得る。この和は、相対的注意機構によるソフトマックス正規化に先立って、および/またはそれに続いて適用することができる。一例として、相対的注意機構(たとえば、ソフトマックス正規化に先立って適用される)は、
【0015】
【数1】
【0016】
によって数学的に表され得る。別の例として、相対的注意機構(たとえば、ソフトマックス正規化に続いて適用される)は、
【0017】
【数2】
【0018】
によって数学的に表され得る。
【0019】
上式において、深度単位畳み込みカーネルwi-jは、入力テンソル(i,j)の中の所与のインデックスについての静的値の入力依存パラメータ(たとえば、インデックスi~jの間の相対シフトであって、特定の値ではなく相対シフトへの依存が変換等価と呼ばれ、これは、限られたサイズのデータセットの下で汎化を向上し得る)であり、xiおよびxjは、それぞれ、位置iにおける入力および出力であり、Gは大域受容フィールド(たとえば、位置のセット全体)である。
【0020】
大域受容フィールド(たとえば、畳み込みネットワークにおいて従来利用される限定ローカル受容フィールドとは反対に)の使用により、異なる空間位置の間の複雑なリレーショナル対話をキャプチャする能力を向上することができ、これは、上位レベル概念を処理するときに望ましい場合がある。分母項は、注意重み、すなわちAi,jとも呼ばれ得る。注意重みは、深度単位畳み込みカーネルおよび入力適応型入力-出力ペアの変換等価性によって共同で決定することができ、これにより、様々な程度まで両方のプロパティを提供することができ、モデルの汎化、容量、および/または正確さを向上する。
【0021】
相対的自己注意を有するこれらの注意ブロックは、畳み込みおよび注意(本明細書では「CoAtNet」モデルと呼ばれる)を有するネットワークの中で利用することができ、畳み込みおよび注意からの利益融合を向上させる。たとえば、モデルは、畳み込みネットワークに関連付けられた高い正確さおよび効率に加え、過剰適合に対する堅牢性、比較的低い計算コスト、メモリ使用の削減、および/または比較的小さいパラメータサイズを有することができるとともに、トランスフォーマに関連付けられた、入力データの中の空間位置の間の複雑なリレーショナル対話を学習する能力をさらに提供する。
【0022】
本開示の例示的態様によるシステムおよび方法(たとえば、相対的注意を有する注意ブロックを利用する)は、コンピュータ技術に対する改良を含む、いくつかの技術的効果および利益を提供することができる。一例として、本開示の例示的態様によるシステムおよび方法は、向上した汎化、モデル容量、および/または効率を提供するために、畳み込みおよび注意を統一することができる。たとえば、本開示の例示的態様によるシステムおよび方法は、汎化の向上(たとえば、畳み込みネットワークと同様)とモデル容量の向上(たとえば、トランスフォーマと同様)との間のトレードオフを、より効果的に管理することができる。たとえば、本開示のいくつかの例示的実装形態は、異なるデータサイズおよび計算バジェットの下で、最先端のパフォーマンスを達成することができる。
【0023】
提案されるモデルアーキテクチャ(たとえば、汎化および/またはモデル容量)によってもたらされる向上は、特に未知の入力データに対する、モデルの正確さの向上、入力データタイプおよび/もしくは次元のスコープの向上、計算リソースの消費の削減(たとえば、より速い計算速度、より少ない計算周期、プロセッサもしくはメモリ使用の削減、など)、ならびに/または既存のモデルに勝る他の向上を提供することができる。特に、本明細書において提案されるモデルは、より少ない数のパラメータを有するとともに、現況技術による畳み込みニューラルネットワークに匹敵する性能を達成することができる。一例として、CoAtNetモデルの例示的実装形態は、パラメータの数のわずか40%およびFLOPの70%で、ImageNetデータセットにおいて、匹敵する最高の正確さを達成することができる。
【0024】
別の例示的な技術的効果として、本明細書に記載するハイブリッドな畳み込みおよび注意アーキテクチャは、畳み込み機構および注意機構を実施するために専用であった、プロセッサ(たとえば、グラフィックス処理ユニット)などの専用ハードウェアのより効率的な使用を可能にすることができる。たとえば、提案されるハイブリッドモデルの畳み込み段階は、畳み込み演算に専用のハードウェアによって実施することができ、提案されるハイブリッドモデルの注意段階は、注意演算に専用のハードウェアによって実施することができる。たとえば、提案されるハイブリッドモデルの畳み込み段階の畳み込み演算は、複数のプロセッサによって並列に実施することができる。
【0025】
本開示の例示的態様によるシステムおよび方法は、様々な機械学習タスク、特に、畳み込みニューラルネットワークを従来は利用するタスクに適用することができる。例として、機械学習タスクは、オブジェクト検出、オブジェクト認識、画像分類、意味論的セグメント化、ビデオ認識、ビデオ分類、ビデオセグメント化などのようなコンピュータビジョンタスクであってよい。別の例として、機械学習タスクは、たとえば、画像キャプショニング、ビデオキャプショニングなどのような、追加信号(たとえば、視覚信号)を伴うものなど、マルチモダリティアプリケーションであってよい。
【0026】
ここで図面を参照して、本開示の例示的実施形態についてさらに詳しく論じる。
【0027】
図1Aは、本開示の例示的実施形態による、計算コストを削減し、正確さを向上させたコンピュータビジョンを実施する例示的コンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180を介して通信可能に結合されている、ユーザコンピューティングデバイス102、サーバコンピューティングシステム130、およびトレーニング用コンピューティングシステム150を含む。
【0028】
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーム機もしくはコントローラ、装着可能コンピューティングデバイス、埋込み型コンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、どのタイプのコンピューティングデバイスであってもよい。
【0029】
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112およびメモリ114を含む。1つまたは複数のプロセッサ112は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ114は、データ116と、ユーザコンピューティングデバイス102に動作を実施させるようにプロセッサ112によって実行される命令118とを記憶することができる。
【0030】
いくつかの実装形態では、ユーザコンピューティングデバイス102は、1つまたは複数の機械学習型モデル120を記憶するか、または含むことができる。たとえば、機械学習型モデル120は、ニューラルネットワーク(たとえば、深層ニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習型モデルなど、様々な機械学習型モデルであってよく、またはそうでなければ、それらの機械学習型モデルを含んでよい。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(たとえば、長短期メモリ回帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形のニューラルネットワークを含み得る。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含み得る。例示的機械学習型モデル120(たとえば、CoAtNetモデル)については、図2図3を参照して論じる。
【0031】
いくつかの実装形態では、1つまたは複数の機械学習型モデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114内に記憶され、次いで、1つまたは複数のプロセッサ112によって使われ、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、単一の機械学習型モデル120の複数の並列インスタンスを(たとえば、CoAtNetモデルの複数のインスタンスにわたる並列コンピュータビジョンを実施するために)実装することができる。
【0032】
追加または代替として、1つまたは複数の機械学習型モデル140は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含まれ、またはそうでなければ、サーバコンピューティングシステム130によって記憶され、実装され得る。たとえば、機械学習型モデル140は、ウェブサービス(たとえば、画像分類などのコンピュータビジョンのサービス)の一部分として、サーバコンピューティングシステム130によって実装され得る。したがって、1つまたは複数のモデル120が、ユーザコンピューティングデバイス102において記憶され、実装されてよく、かつ/または1つもしくは複数のモデル140が、サーバコンピューティングシステム130において記憶され、実装されてよい。
【0033】
ユーザコンピューティングデバイス102は、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素122を含むこともできる。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチ感応構成要素(たとえば、タッチ感応表示画面またはタッチパッド)であってよい。タッチ感応構成要素は、仮想キーボードを実装するのに役立つことができる。他の例示的なユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供することができる他の手段を含む。
【0034】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132およびメモリ134を含む。1つまたは複数のプロセッサ132は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実施させるようにプロセッサ132によって実行される命令138とを記憶することができる。
【0035】
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、サーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
【0036】
上述したように、サーバコンピューティングシステム130は、1つまたは複数の機械学習型モデル140を記憶することができ、またはそうでなければ、機械学習型モデル140を含むことができる。たとえば、モデル140は、様々な機械学習型モデルであってよく、または、そうでなければそれらを含んでよい。例示的機械学習型モデルは、ニューラルネットワークまたは他のマルチレイヤ非線形モデルを含む。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、深層ニューラルネットワーク、回帰型ニューラルネットワーク、および畳み込みニューラルネットワークを含む。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含み得る。例示的モデル140については、図2図3を参照して論じる。
【0037】
ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されるトレーニング用コンピューティングシステム150との対話により、モデル120および/または140をトレーニングすることができる。トレーニング用コンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってよく、またはサーバコンピューティングシステム130の一部分であってよい。
【0038】
トレーニング用コンピューティングシステム150は、1つまたは複数のプロセッサ152およびメモリ154を含む。1つまたは複数のプロセッサ152は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ154は、データ156と、トレーニング用コンピューティングシステム150に動作を実施させるようにプロセッサ152によって実行される命令158とを記憶することができる。いくつかの実装形態では、トレーニング用コンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。
【0039】
トレーニング用コンピューティングシステム150は、ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130において記憶された機械学習型モデル120および/または140を、たとえば、誤差逆伝搬など、様々なトレーニングまたは学習技法を使ってトレーニングするモデル訓練器160を含み得る。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを通して逆伝搬され得る。平均2乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、および/または様々な他の損失関数など、様々な損失関数が使用され得る。勾配降下技法は、いくつかのトレーニング反復に対してパラメータを反復的に更新するために使用され得る。
【0040】
いくつかの実装形態では、誤差逆伝搬を実施することは、時間をかけて短縮逆伝搬を実施することを含み得る。モデル訓練器160は、トレーニングされるモデルの汎化能力を向上するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
【0041】
特に、モデル訓練器160は、トレーニングデータ162のセットに基づいて、機械学習型モデル120および/または140をトレーニングすることができる。トレーニングデータ162は、たとえば、画像分類データベース(たとえば、ImageNet、JFT300Mなど)など、タスク固有トレーニングデータのコーパスまたは他のデータセットを含み得る。
【0042】
いくつかの実装形態では、ユーザが同意を与えている場合、トレーニング例はユーザコンピューティングデバイス102によって与えられてよい。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供されるモデル120は、ユーザコンピューティングデバイス102から受信されるユーザ固有データに対してトレーニング用コンピューティングシステム150によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれ得る。
【0043】
モデル訓練器160は、所望の機能性を提供するのに使用されるコンピュータ論理を含む。モデル訓練器160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデル訓練器160は、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデル訓練器160は、RAM、ハードディスクまたは光学もしくは磁気媒体などの有形コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
【0044】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、どのタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含み得る。概して、ネットワーク180を介した通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使って、どのタイプのワイヤードおよび/またはワイヤレス接続を介しても搬送することができる。
【0045】
本明細書に記載する機械学習型モデルは、様々なタスク、アプリケーション、および/または使用ケースにおいて使われてよい。
【0046】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、画像データであってよい。機械学習型モデルは、画像データを処理して、出力を生成し得る。例として、機械学習型モデルは、画像データを処理して、画像認識出力(たとえば、画像データの認識、画像データの潜在性埋込み、画像データの符号化表現、画像データのハッシュなど)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像分類出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像データ変更出力(たとえば、画像データの改変など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、符号化画像データ出力(たとえば、画像データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、アップスケールされた画像データ出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、予測出力を生成し得る。
【0047】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、テキストまたは自然言語データであってよい。機械学習型モデルは、テキストまたは自然言語データを処理して、出力を生成し得る。例として、機械学習型モデルは、自然言語データを処理して、言語符号化出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、潜在性テキスト埋込み出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、変換出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、意味論的意図出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、アップスケールされたテキストまたは自然言語出力(たとえば、入力テキストまたは自然言語よりも高品質であるテキストまたは自然言語データ、など)を生成することができる。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、予測出力を生成し得る。
【0048】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、音声データであってよい。機械学習型モデルは、音声データを処理して、出力を生成し得る。例として、機械学習型モデルは、音声データを処理して、音声認識出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、音声変換出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、潜在性埋込み出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、符号化音声出力(たとえば、音声データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、アップスケーリングされた音声出力(たとえば、入力音声データよりも高品質の音声データなど)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、テキスト表現出力(たとえば、入力音声データのテキスト表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、予測出力を生成し得る。
【0049】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、潜在性符号化データ(たとえば、入力の潜在性空間表現など)であってよい。機械学習型モデルは、潜在性符号化データを処理して、出力を生成し得る。例として、機械学習型モデルは、潜在性符号化データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、再構築出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、探索出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、再クラスタ化出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、予測出力を生成し得る。
【0050】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、統計データであってよい。統計データは、何らかの他のデータソースから計算および/もしくは算出されたデータであるか、これを表すか、またはそうでなければこれを含むことができる。機械学習型モデルは、統計データを処理して、出力を生成し得る。例として、機械学習型モデルは、統計データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、分類出力を生成し得る。別の例として、機械学習済みモデルは、統計データを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、診断出力を生成し得る。
【0051】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、センサーデータであってよい。機械学習型モデルは、センサーデータを処理して、出力を生成し得る。例として、機械学習型モデルは、センサーデータを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、診断出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、検出出力を生成し得る。
【0052】
いくつかの場合には、機械学習型モデルは、信頼できる、および/または効率的な送信もしくは記憶(および/または対応する復号)のために入力データを符号化することを含むタスクを実施するように構成することができる。たとえば、タスクは、オーディオ圧縮タスクであってよい。入力はオーディオデータを含んでよく、出力は圧縮オーディオデータを含んでよい。別の例では、入力は視覚データ(たとえば、1つまたは複数の画像またはビデオ)を含み、出力は圧縮視覚データを含み、タスクは視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力オーディオまたは視覚データ)用の埋込みを生成することを含んでよい。
【0053】
いくつかの場合には、入力は視覚データを含み、タスクはコンピュータビジョンタスクである。いくつかの場合には、入力は、1つまたは複数の画像用のピクセルデータを含み、タスクは画像処理タスクである。たとえば、画像処理タスクは画像分類であってよく、ここで、出力はスコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、オブジェクトクラスに属するオブジェクトを1つまたは複数の画像が示す見込みを表す。画像処理タスクはオブジェクト検出であってよく、ここで、画像処理出力は、1つまたは複数の画像の中の1つまたは複数の領域と、各領域について、対象のオブジェクトを領域が示す見込みとを識別する。別の例として、画像処理タスクは画像セグメンテーションであってよく、ここで、画像処理出力は、1つまたは複数の画像の中の各ピクセルについて、カテゴリの所定のセット中の各カテゴリについてのそれぞれの見込みを定義する。たとえば、カテゴリのセットは前景および背景であってよい。別の例として、カテゴリのセットはオブジェクトクラスであってよい。別の例として、画像処理タスクは深度推定であってよく、ここで、画像処理出力は、1つまたは複数の画像中の各ピクセルについて、それぞれの深度値を定義する。別の例として、画像処理タスクは動き推定であってよく、ここで、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つの、各ピクセルについて、ネットワーク入力における画像の間のピクセルにおいて示されるシーンの動きを定義する。
【0054】
いくつかの場合には、入力は、発話を表現するオーディオデータを含み、タスクは音声認識タスクである。出力は、発話にマップされるテキスト出力を含んでよい。いくつかの場合には、タスクは、入力データを暗号化または解読することを含む。いくつかの場合には、タスクは、分岐予測またはメモリアドレス変換などのマイクロプロセッサ実施タスクを含む。
【0055】
図1Aは、本開示を実装するのに使うことができる1つの例示的コンピューティングシステムを示す。他のコンピューティングシステムが使われてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデル訓練器160およびトレーニングデータセット162を含み得る。そのような実装形態では、モデル120は、ユーザコンピューティングデバイス102においてローカルにトレーニングされることと使われることの両方が可能である。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス102は、ユーザ固有データに基づいてモデル120を個別化するために、モデル訓練器160を実装することができる。
【0056】
図1Bは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0057】
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習型モデルを含む。たとえば、各アプリケーションは、機械学習型モデルを含み得る。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0058】
図1Bに示すように、各アプリケーションは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使って、各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使われるAPIは、そのアプリケーションに固有である。
【0059】
図1Cは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス50のブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0060】
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信する。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使って、中央インテリジェンスレイヤ(およびその中に記憶されるモデル)と通信することができる。
【0061】
中央インテリジェンスレイヤは、いくつかの機械学習型モデルを含む。たとえば、図1Cに示すように、それぞれの機械学習型モデルが、各アプリケーションに与えられ、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習型モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションすべてに単一モデルを提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステムに含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
【0062】
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50向けのデータの集中型リポジトリであってよい。図1Cに示すように、中央デバイスデータレイヤは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使って、各デバイス構成要素と通信することができる。
【0063】
図2は、本開示の例示的実施形態による例示的な畳み込み注意ネットワーク(CoAtNet)モデル200のブロック図を示す。いくつかの実装形態では、モデル200は、たとえば、画像データ、または他のタスク固有入力データを記述する入力データ202のセットを受信し、入力データ202の受信の結果として、コンピュータビジョンタスク(たとえば、画像分類)などの特定の機械学習タスクに応答する出力データ204を与えるようにトレーニングされる。
【0064】
本開示の例示的態様によると、モデル200は、ダウンサンプリング段階210を含み得る。ダウンサンプリング段階210は、入力データ202の空間解像度を低減することができる。たとえば、入力データ202がテンソルを含む場合、ダウンサンプリング段階210は、ダウンサンプリング段階210の出力が、入力データ202のテンソルのものよりも低い、少なくとも1つの次元または解像度を有するように、空間解像度を低減してよい。追加および/または代替として、ダウンサンプリング段階210は、入力データに相対して、チャネルの数を増やしてよい。いくつかの実装形態では、ダウンサンプリング段階210は、畳み込みステムであってもよく、それを含んでもよい。畳み込みステムは、10よりも大きいストライドなどの積極的ストライドを有することができる。
【0065】
追加および/または代替として、モデル200は、1つまたは複数の注意ブロック212を含み得る。注意ブロック212は、ダウンサンプリング段階210から、ダウンサンプリングされた入力データを受信し、出力データ204を生じることができる。注意ブロック212は、相対的注意機構を実装することができる。いくつかの実装形態では、注意ブロック212は、トランスフォーマネットワークと同様に動作するトランスフォーマブロックであってよい。
【0066】
本開示の例示的態様によると、注意ブロック212は相対的注意機構を含み得る。相対的注意機構は、静的畳み込みカーネルと適応的注意行列の和を含み得る。この和は、相対的注意機構によるソフトマックス正規化に先立って、および/またはそれに続いて適用することができる。一例として、相対的注意機構(たとえば、ソフトマックス正規化に先立って適用される)は、
【0067】
【数3】
【0068】
によって数学的に表され得る。別の例として、相対的注意機構(たとえば、ソフトマックス正規化に続いて適用される)は、
【0069】
【数4】
【0070】
によって数学的に表され得る。
【0071】
上式において、深度単位畳み込みカーネルwi-jは、入力テンソル(i,j)の中の所与のインデックスについての静的値の入力依存パラメータ(たとえば、インデックスi~jの間の相対シフトであって、特定の値ではなく相対シフトへの依存が変換等価と呼ばれ、これは、限られたサイズのデータセットの下で汎化を向上し得る)であり、xiおよびxjは、それぞれ、位置iにおける入力および出力であり、Gは大域受容フィールド(たとえば、位置のセット全体)である。
【0072】
大域受容フィールド(たとえば、畳み込みネットワークにおいて従来利用される限定ローカル受容フィールドとは反対に)の使用により、異なる空間位置の間の複雑なリレーショナル対話をキャプチャする能力を向上することができ、これは、上位レベル概念を処理するときに望ましい場合がある。分母項は、注意重み、すなわちAi,jとも呼ばれ得る。注意重みは、深度単位畳み込みカーネルおよび入力適応型入力-出力ペアの変換等価性によって共同で決定することができ、これにより、様々な程度まで両方のプロパティを提供することができ、モデルの汎化、容量、および/または正確さを向上する。
【0073】
図3は、本開示の例示的実施形態による例示的畳み込み注意ネットワーク(CoAtNet)モデル300のブロック図を示す。いくつかの実装形態では、モデル300は、たとえば、画像データ、または他のタスク固有入力データを記述する入力データ202のセットを受信し、入力データ202の受信の結果として、コンピュータビジョンタスク(たとえば、画像分類)などの特定の機械学習タスクに応答する出力データ204を与えるようにトレーニングされる。
【0074】
機械学習型畳み込み注意ネットワーク300は、2つ以上のネットワーク段階(たとえば、302、304、306、308、および310)を含み得る。2つ以上のネットワーク段階の各々は、順序として畳み込み段階が注意段階に先立つような、注意段階または畳み込み段階のうちの1つであってもよく、それを含んでもよい。一例として、いくつかの実装形態では、2つ以上のネットワーク段階は、S0段階302、S1段階304、S2段階306、S3段階308、およびS4段階310を含み得る。これらの段階の各々は、1つもしくは複数の畳み込みブロック(たとえば、MBConvブロック)を含む畳み込み段階または相対的注意機構を有する1つもしくは複数の注意ブロックを含む注意段階であってよい。別の例として、いくつかの実装形態では、畳み込みブロックは、深度単位分離可能畳み込みを(たとえば、複数のチャネルにわたって)実施することができる。追加および/または代替として、いくつかの実装形態では、畳み込みブロックは、反転ボトルネック畳み込みを実施することができる。いくつかの実装形態では、空間解像度は、2つ以上のネットワーク段階にわたって漸減する。いくつかの実装形態では、S1段階304、S2段階306、S3段階308、またはS4段階310のうちの少なくとも1つなど、段階のいずれにおいても、チャネルの数を増大する(たとえば、倍にする)ことができる。
【0075】
いくつかの実装形態では、S0段階302は、2レイヤ畳み込みステムネットワークを含む。追加および/または代替として、S1段階304は、スクイーズ励起のある1つまたは複数の畳み込みブロックを含み得る。S1段階および/または他の畳み込み段階の1つまたは複数の畳み込みブロックは、MBConvブロックを含み得る。MBConvブロックは、1つまたは複数の畳み込みブロックへの入力の元のチャネルサイズから、チャネルサイズを拡大し、続いて、拡大されたチャネルサイズを元のチャネルサイズに逆投影するように構成することができる。別の例として、いくつかの実装形態では、畳み込みブロックは、深度単位分離可能畳み込みを(たとえば、複数のチャネルにわたって)実施することができる。追加および/または代替として、いくつかの実装形態では、畳み込みブロックは、反転ボトルネック畳み込みを実施することができる。いくつかの実装形態では、S0段階302の幅は、S1段階304の幅以下である。いくつかの実装形態では、S0段階302、S1段階304、およびS4段階310の各々は、(たとえば、正確には)2つのブロックを含み、S2段階306およびS3段階308は各々、2つよりも多いブロックを含む。たとえば、1つの特定の実装形態では、2つ以上のネットワーク段階は、2レイヤ畳み込みステムネットワークを含むS0段階302と、スクイーズ励起ありの畳み込みブロックを含むS1段階304と、畳み込みブロックを含むS2段階306と、注意ブロックを含むS3段階308と、注意ブロックを含むS4段階310とを含み、S3段階308およびS4段階310の各々は、静的畳み込みカーネルと適応的注意行列の和を判断するように構成された相対的注意機構を含む。
【0076】
注意ブロックおよび/または段階(たとえば、S3および/またはS4段階308、310)は、本開示の例示的態様による相対的注意機構を含み得る。相対的注意機構は、静的畳み込みカーネルと適応的注意行列の和を含み得る。この和は、相対的注意機構によるソフトマックス正規化に先立って、および/またはそれに続いて適用することができる。一例として、相対的注意機構(たとえば、ソフトマックス正規化に先立って適用される)は、
【0077】
【数5】
【0078】
によって数学的に表され得る。
【0079】
別の例として、相対的注意機構(たとえば、ソフトマックス正規化に続いて適用される)は、
【0080】
【数6】
【0081】
によって数学的に表され得る。
【0082】
上式において、深度単位畳み込みカーネルwi-jは、入力テンソル(i,j)の中の所与のインデックスについての静的値の入力依存パラメータ(たとえば、インデックスi~jの間の相対シフトであって、特定の値ではなく相対シフトへの依存が変換等価と呼ばれ、これは、限られたサイズのデータセットの下で汎化を向上し得る)であり、xiおよびxjは、それぞれ、位置iにおける入力および出力であり、Gは大域受容フィールド(たとえば、位置のセット全体)である。
【0083】
図4は、本開示の例示的実施形態による例示的畳み込み注意ネットワーク(CoAtNet)モデル400のブロック図を示す。図4に示すように、モデル400は、S0、S1、S2、S3、およびS4段階を含み得る。たとえば、S0段階すなわちステム段階は、2つの(たとえば、3×3)畳み込みレイヤ(たとえば、ストライドが2である)を含み得る。さらに、畳み込みS1段階およびS2段階は各々、1×1畳み込みレイヤ、3×3逆畳み込みレイヤ、および1×1畳み込みレイヤを含むことができる。さらに、注意(たとえば、S3およびS4)段階は各々、相対的注意機構およびフィードフォワードネットワークを含むことができる。モデルは、モデル出力を生じるために、大域プーリングレイヤおよび完全接続レイヤをさらに含むことができる。段階の各々は、設計された回数だけ繰り返すことができる。
【0084】
図5は、本開示の例示的な実施形態に従って実施する例示的な方法のフローチャート図を示す。図5は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または並びには限定されない。方法500の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略され、並べ替えられ、組み合わされ、かつ/または適応されてもよい。
【0085】
方法500は、502において、(たとえば、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって)1つまたは複数の次元を有する入力テンソルを含む入力データを取得するステップを含み得る。たとえば、入力テンソルは、長さおよび/または幅を有する2次元テンソルであってよい。追加および/または代替として、入力テンソルは、1つまたは複数のチャネルを有することができる。いくつかの実装形態では、たとえば、入力テンソルは、長さ、幅、および/または複数の色チャネルを有する画像などの画像データであってもよく、それを含んでもよい。
【0086】
方法500は、504において、(たとえば、コンピューティングシステムによって)入力データを機械学習型畳み込み注意ネットワークに与えるステップを含み得る。機械学習型畳み込み注意ネットワークは、図2および/または図3のネットワーク200および/または300など、本開示の例示的態様による、どの適切なネットワークであってもよい。
【0087】
たとえば、いくつかの実装形態では、機械学習型畳み込み注意ネットワークは2つ以上のネットワーク段階を含むことができ、2つ以上のネットワーク段階の各々は、順序としては畳み込み段階が注意段階に先立つような、注意段階または畳み込み段階のうちの1つを含む。一例として、いくつかの実装形態では、2つ以上のネットワーク段階は、S0段階、S1段階、S2段階、S3段階、およびS4段階を含み得る。これらの段階の各々は、1つもしくは複数の畳み込みブロック(たとえば、MBConvブロック)を含む畳み込み段階または相対的注意機構を有する1つもしくは複数の注意ブロックを含む注意段階であってよい。いくつかの実装形態では、空間解像度は、2つ以上のネットワーク段階にわたって漸減する。いくつかの実装形態では、S1段階、S2段階、S3段階、またはS4段階のうちの少なくとも1つなど、段階のいずれにおいても、チャネルの数を増大する(たとえば、倍にする)ことができる。
【0088】
いくつかの実装形態では、S0段階は、2レイヤ畳み込みステムネットワークを含む。追加および/または代替として、S1段階は、スクイーズ励起のある1つまたは複数の畳み込みブロックを含み得る。S1段階および/または他の畳み込み段階の1つまたは複数の畳み込みブロックは、MBConvブロックを含み得る。MBConvブロックは、1つまたは複数の畳み込みブロックへの入力の元のチャネルサイズから、チャネルサイズを拡大し、続いて、拡大されたチャネルサイズを元のチャネルサイズに逆投影するように構成することができる。別の例として、いくつかの実装形態では、畳み込みブロックは、深度単位分離可能畳み込みを(たとえば、複数のチャネルにわたって)実施することができる。追加および/または代替として、いくつかの実装形態では、畳み込みブロックは、反転ボトルネック畳み込みを実施することができる。いくつかの実装形態では、S0段階の幅は、S1段階の幅以下である。いくつかの実装形態では、S0段階、S1段階、およびS5段階の各々は、(たとえば、正確には)2つのブロックを含み、S2段階およびS3段階は各々、2つよりも多いブロックを含む。たとえば、1つの特定の実装形態では、2つ以上のネットワーク段階は、2レイヤ畳み込みステムネットワークを含むS0段階と、スクイーズ励起ありの畳み込みブロックを含むS1段階と、畳み込みブロックを含むS2段階と、注意ブロックを含むS3段階と、注意ブロックを含むS4段階とを含み、S3段階およびS4段階の各々は、静的畳み込みカーネルと適応的注意行列の和を判断するように構成された相対的注意機構を含む。
【0089】
別の例として、いくつかの実装形態では、機械学習型畳み込み注意ネットワークは、入力テンソルに相対して空間解像度を低減するように構成されたダウンサンプリング段階と、相対的注意機構を含む1つまたは複数の注意ブロックとを含み得る。ダウンサンプリング段階は、計算を実施する実現可能性を向上するように、空間解像度を低減することができる。たとえば、入力データがテンソルを含む場合、ダウンサンプリング段階は、ダウンサンプリング段階の出力が、入力データのテンソルのものよりも低い、少なくとも1つの次元または解像度を有するように、空間解像度を低減してよい。追加および/または代替として、ダウンサンプリング段階は、入力データに相対して、チャネルの数を増やしてよい。いくつかの実装形態では、ダウンサンプリング段階は、畳み込みステムであってもよく、それを含んでもよい。畳み込みステムは、10よりも大きいストライドなどの積極的ストライドを有することができる。
【0090】
注意ブロックおよび/または段階(たとえば、S3および/またはS4段階)は、本開示の例示的態様による相対的注意機構を含み得る。相対的注意機構は、静的畳み込みカーネルと適応的注意行列の和を含み得る。この和は、相対的注意機構によるソフトマックス正規化に先立って、および/またはそれに続いて適用することができる。一例として、相対的注意機構(たとえば、ソフトマックス正規化に先立って適用される)は、
【0091】
【数7】
【0092】
によって数学的に表され得る。別の例として、相対的注意機構(たとえば、ソフトマックス正規化に続いて適用される)は、
【0093】
【数8】
【0094】
によって数学的に表され得る。
【0095】
上式において、深度単位畳み込みカーネルwi-jは、入力テンソル(i,j)の中の所与のインデックスについての静的値の入力依存パラメータ(たとえば、インデックスi~jの間の相対シフトであって、特定の値ではなく相対シフトへの依存が変換等価と呼ばれ、これは、限られたサイズのデータセットの下で汎化を向上し得る)であり、xiおよびxjは、それぞれ、位置iにおける入力および出力であり、Gは大域受容フィールド(たとえば、位置のセット全体)である。
【0096】
方法500は、506において、機械学習型畳み込み注意ネットワークに入力データを与えたことに応答して、コンピューティングシステムによって、機械学習型畳み込み注意ネットワークから機械学習予測を受信するステップを含み得る。機械学習予測は、タスク固有機械学習予測であってよい。例として、出力は、分類出力(たとえば、分類ベクトル)、オブジェクト認識出力などのようなコンピュータビジョン出力であってよい。代替として、機械学習予測は、潜在または学習された空間における埋込みなどの中間予測または表現であってよい。
【0097】
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに取られるアクション、およびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性は、構成要素の間でのタスクおよび機能の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明するプロセスは、単一のデバイスもしくは構成要素、または組合せにおいて働く複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムにわたって分散され得る。分散構成要素は、順次または並行して動作することができる。
【0098】
本主題は、その様々な特定の例示的な実施形態に関して詳細に説明されてきたが、各例は、本開示の限定ではなく、説明として与えられる。当業者は、上記を理解すると、そのような実施形態の改変、変形、および均等物を容易に作り出すことができる。したがって、本開示は、当業者に容易に明らかになるように、本主題に対するそのような変更、変形、および/または追加の包含を排除しない。たとえば、ある実施形態の一部として例示または説明する特徴は、またさらなる実施形態を生じるために、別の実施形態とともに使用され得る。したがって、本開示がそのような改変、変形、および均等物をカバーすることが意図されている。
【符号の説明】
【0099】
100 コンピューティングシステム
120 機械学習型モデル
130 サーバコンピューティングシステム
140 機械学習型モデル
160 モデル訓練器
200 モデル、ネットワーク
210 ダウンサンプリング段階
212 注意ブロック
300 畳み込み注意ネットワーク(CoAtNet)モデル、機械学習型畳み込み注意ネットワーク
302 ネットワーク段階、S0段階
304 ネットワーク段階、S1段階
306 ネットワーク段階、S2段階
308 ネットワーク段階、S3段階
310 ネットワーク段階、S4段階
400 畳み込み注意ネットワーク(CoAtNet)モデル
図1A
図1B
図1C
図2
図3
図4
図5