Vision Transformer(ViT)で、縦横224×224画素の画像を16×16画素のパッチに重なりなく分割し、各パッチを1つのトークンとする。さらに分類用のトークンを1個先頭に加えて、Transformerエンコーダに入力する。このときの系列の長さと、パッチの大きさを変えずに画像を448×448画素にしたとき、Self-Attentionで関連度を計算するトークンの組の数がおよそ何倍になるかの組合せとして、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:ViTの系列長と計算量
ポイント
ViTの系列の長さはパッチ数に分類用のトークン1個を加えた数です。Self-Attentionの計算量はその2乗に比例し、解像度を上げると急増します。
選択肢ごとの解説
- A
適切 正解
224÷16=14より、パッチは縦横14×14=196個で、分類用のトークンを加えて197です。448×448ではパッチが28×28=784個と4倍になり、組の数は系列の長さの2乗に比例するので約16倍です。
- B
不適切
系列の長さ197は正しいです。ただしSelf-Attentionはすべてのトークンの組について関連度を計算するため、組の数は系列の長さの2乗に比例します。パッチ数が4倍なら、組の数は約4²=16倍です。
- C
不適切
196は、14×14=196個のパッチの数です。ViTではこれに画像全体を代表する分類用のトークンを1個加えて入力するため、系列の長さは197になります。組の数の約16倍は正しいです。
- D
不適切
どちらも誤りです。系列の長さはパッチ196個に分類用のトークンを加えた197です。組の数も、パッチ数の比の4倍ではなく、系列の長さの2乗に比例するため約16倍になります。
補足
分類用のトークンも含めると、448×448画素では系列の長さが28×28+1=785になり、組の数の比は(785÷197)²≒15.9です。ViTの論文では、事前学習より高い解像度でファインチューニングするとき、パッチの大きさを変えずに系列を長くし、学習済みの位置埋め込みを2次元で補間しています。
試験での狙われ方
画像とパッチの大きさを与えてパッチ数や系列の長さを求めさせる形や、解像度を上げたときの計算量の増え方を問う形が考えられます。