概要
以下の「Vision Transformer (ViT)」が注目を浴びているよう。
AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
あせって、間違えて、
以下の「VisualTransformers」の論文を読みかけてしまったので、
Visual Transformers: Token-basedImage Representation and Processing for Computer Vision
比較してみる。
比較
【比較1】代表的な図
Vision Transformer (ViT)
代表的な図を引用すると以下。
引用: https://openreview.net/forum?id=YicbFdNTTy
VisualTransformers
代表的な図を引用すると以下。
引用 https://arxiv.org/pdf/2006.03677.pdf
【比較2】CNNとの関係(というか全結合層との関係?)
CNNの問題点
CNNの問題点として、**全結合層で、空間的な位置関係への考慮がされない?**という指摘は、最初から、常にあったと思う。
それに対して。
Vision Transformer (ViT)
以下の引用のように、Position embeddingsにて、
空間的な位置情報を保持することを意識している。
引用: https://openreview.net/forum?id=YicbFdNTTy
Position embeddings are added to the patch embeddings to retain positional information. We explore
different 2D-aware variants of position embeddings (Appendix C.3) without any significant gains
over standard 1D position embeddings. The joint embedding serves as input to the encoder.
VisualTransformers
以下の引用のように、大局的な空間的位置関係の把握を問題視しており、
全結合層とかを置換えている(「replace the last stage of convolutions」(論文抜粋))のは、それへの対処と考えられる。
引用 https://arxiv.org/pdf/2006.03677.pdf
- Convolutions are not efficient for sparse, high-level semantic concepts: Low-level visual features such as corners and edges are densely distributed across images; as a result, convolutions are apt for image processing early in a neural network. However, as the receptive field increases deeper in the network, the number of potential patterns grows exponentially large. As a result, semantic concepts become increasingly sparse: each concept appears in small regions of a few images. Later convolutions become correspondingly inefficient.
Google翻訳
3)畳み込みは、まばらで高レベルのセマンティックコンセプトには効率的ではありません。コーナーやエッジなどの低レベルの視覚的特徴は、画像全体に密に分散しています。 その結果、畳み込みはニューラルネットワークの初期の画像処理に適しています。 ただし、受容野がネットワークの奥深くで増加するにつれて、潜在的なパターンの数は指数関数的に大きくなります。 その結果、セマンティックの概念はますますまばらになります。各概念は、いくつかの画像の小さな領域に表示されます。 その後の畳み込みは、それに応じて非効率的になります。
【比較3】CNNとの関係
Vision Transformer (ViT)
CNNは使っていないことになっている。
ただし、
以下の図(左)のようにCNNと同じような作用が出ているので、あまり、使っているとかいないとかは、それほど、意味がないのかもしれません、よくわかっていません。
(CNNでも、このあたりは、わざわざ学習せずに仕込んでおいてもいいのでは、と思われているのでは。)
VisualTransformers
以下の引用のとおり、明らかにCNNを使っている。
最後の部分のみ置換えている。
we use ResNet as a convenient baseline
and use visual transformers to replace the last stage of convolutions.
【比較4】少し本質とは違うが、いきなりCifar10を学習させてどれぐらいの率になるか。
以下の記事の結果を引用
両方の値があったため。
Visual Transformersを動かして、Cifar10で87%は超えた、しかし、その程度。
Vision Transformer (ViT)
80%程度。
VisualTransformers
87%程度
この部分に関しての課題
両方、悪い。この悪さの本質はなんだろう?!、知りたい。VisualTransformersが少しまし。
論文に明示されている各々の論文の関係性
引用関係
「Vision Transformer (ViT)」は、まだ、引用の対象になりえないが、
「Vision Transformer (ViT)」は、「VisualTransformers」を大量な参考文献のひとつとしてあげている。
引用 https://openreview.net/forum?id=YicbFdNTTy
論文(被)引用数
以下の別の記事参照。
Transformer系、CNN系の主要?論文の引用数遷移(ViT,SAN,Transformer,DETR,BiT,,,YOLO,,,VTAB)
比較結果
似てる感じはする(まだ、読み込めていません。)
まとめ
なんか、いずれも、成果がでそうな雰囲気はありますね。
もう少し、真剣に読みたいと思います。
コメントなどあれば、お願いします。
雑談
この分野は、論理的な部分もあるのだろうが、実装して検証する必要があり、かなりの実装力が問われると思う。組織力??
例えば、全結合層を問題視する観点は、最初からあったのだろうし、それに対する対処もいろいろ提案されていたのだろうが、成果にたどり着いていないのも、実装力の問題もあるのでは???
雑談2
おそらく、この2つを並べて比較しているのは、あまり、センスが良くないのだろうなと思いますが、
いま、適切な比較対象が良く見えてません!