Makalah · arXiv 2010.11929
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Terbit cs.CVcs.AIcs.LG arXivPDF
Ringkasan tiga baris
- 🎯 Convolutional neural network telah lama mendominasi visi komputer berkat bias induktif yang kuat, sedangkan Transformer standar sebelumnya kekurangan aplikasi langsung yang berskala luas untuk gambar 2D.
- 🔧 Gambar dibagi menjadi patch-patch berukuran tetap yang diratakan (misalnya 16x16), diproyeksikan secara linear menjadi token embedding, ditambahkan position embedding, lalu diproses melalui Transformer encoder standar dengan token [class] di awal.
- 📈 Saat di-pre-train pada JFT-300M, ViT-H/14 meraih akurasi top-1 88,55% di ImageNet, 90,72% di ImageNet ReaL, dan 77,63% di VTAB, menggunakan komputasi pre-training yang jauh lebih rendah dibanding CNN sekelasnya.
Abstrak
Meskipun arsitektur Transformer telah menjadi standar de-facto untuk tugas-tugas pemrosesan bahasa alami (NLP), penerapannya pada visi komputer masih terbatas. Dalam bidang visi, attention umumnya diterapkan bersamaan dengan jaringan konvolusional, atau digunakan untuk menggantikan komponen tertentu dari jaringan konvolusional sambil mempertahankan struktur keseluruhannya. Kami menunjukkan bahwa ketergantungan pada CNN ini tidaklah penting dan transformer murni yang diterapkan langsung pada urutan patch gambar dapat berkinerja sangat baik pada tugas klasifikasi gambar. Ketika di-pre-train pada data dalam jumlah besar dan ditransfer ke berbagai tolok ukur pengenalan gambar berukuran menengah atau kecil (ImageNet, CIFAR-100, VTAB, dll.), Vision Transformer (ViT) mencapai hasil luar biasa dibandingkan dengan convolutional networks mutakhir (SOTA) sekaligus membutuhkan sumber daya komputasi pelatihan yang jauh lebih sedikit.
Abstrak asli (bahasa Inggris)
While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.
Panduan membaca
Masalah dan motivasi
Arsitektur konvolusional (misalnya ResNet) telah lama menjadi fondasi visi komputer modern berkat bias induktif yang tertanam secara bawaan, seperti ekuivarian translasi (translation equivariance) dan lokalitas dua dimensi. Sementara arsitektur Transformer menjadi standar dalam pemrosesan bahasa alami (NLP) karena efisiensi komputasi dan skalabilitasnya yang masif, upaya-upaya sebelumnya untuk membawa self-attention ke visi komputer umumnya menggabungkan attention dengan backbone CNN atau menggunakan pola local/axial attention khusus yang sulit diskalakan secara efisien pada akselerator perangkat keras. Makalah ini menyelidiki apakah arsitektur Transformer murni, yang diterapkan langsung pada urutan patch gambar dengan modifikasi minimal, dapat menandingi atau bahkan melampaui performa CNN mutakhir (state-of-the-art).
Gagasan utama
- Gambar sebagai Urutan Kata: Sebuah gambar dibagi menjadi patch-patch yang tidak saling tumpang tindih berukuran . Patch yang telah diratakan (flattened) diperlakukan identik dengan token pada NLP.
- Bias Induktif Minimal: Berbeda dengan CNN di mana lokalitas spasial dan ekuivarian translasi hadir di setiap lapisan, ViT menggunakan global self-attention di seluruh patch. Struktur 2D hanya dirujuk saat mengekstraksi patch dan saat menginterpolasi position embedding untuk fine-tuning pada resolusi yang lebih tinggi.
- Skala Mengalahkan Bias Induktif: Tanpa bias induktif yang kuat, ViT berkinerja di bawah ResNet pada dataset berukuran kecil hingga menengah (seperti ImageNet standar tanpa regularisasi ketat). Namun, ketika di-pre-train pada dataset besar (ImageNet-21k dengan 14 juta gambar atau JFT-300M dengan 303 juta gambar), ViT menyamai atau melampaui performa CNN dengan konsumsi FLOP pelatihan yang jauh lebih rendah.
Metode
- Patch Embedding dan Konstruksi Input: Diberikan ukuran patch , sebuah gambar menghasilkan patch. Setiap patch yang diratakan diproyeksikan secara linear melalui matriks ke dimensi . Token klasifikasi yang dapat dipelajari ditambahkan di awal, dan position embedding 1D yang dapat dipelajari ditambahkan:
- Lapisan Transformer Encoder: Urutan ini melewati blok identik yang bergantian antara Multihead Self-Attention (MSA) dan blok MLP, menggunakan pre-LayerNorm (LN) serta koneksi residual:
- Representasi dan Head: Representasi diperoleh dari token output pertama: Sebuah MLP kecil (dengan satu lapisan tersembunyi) berfungsi sebagai classification head selama pre-training, yang kemudian digantikan oleh sebuah proyeksi linear tunggal () saat fine-tuning.
- Fine-Tuning Resolusi Lebih Tinggi: Saat melakukan fine-tuning pada resolusi gambar yang lebih tinggi (misalnya atau ), ukuran patch tetap dipertahankan, sehingga panjang urutan bertambah. Position embedding 1D pra-latih disesuaikan melalui interpolasi bikubik 2D sesuai dengan lokasi kisi spasial aslinya.
Hasil
- Perbandingan dengan SOTA:
- ViT-H/14 yang di-pre-train pada JFT-300M mencapai 88,55% pada ImageNet, 90,72% pada ImageNet ReaL, 94,55% pada CIFAR-100, dan 77,63% pada tolok ukur 19 tugas VTAB, dengan waktu latih 2,5k TPUv3-core-days.
- ViT-L/16 yang di-pre-train pada JFT-300M mencapai 87,76% pada ImageNet hanya dengan 0,68k TPUv3-core-days, melampaui BiT-L (ResNet152x4, 87,54%, 9,9k TPUv3-core-days) dan mendekati Noisy Student EfficientNet-L2 (88,4/88,5%, 12,3k TPUv3-core-days).
- Pre-training dengan dataset publik: ViT-L/16 yang di-pre-train pada ImageNet-21k mencapai 85,30% pada ImageNet.
- Trade-off Komputasi vs. Performa: Pada eksperimen penskalaan di JFT-300M, ViT murni mendominasi ResNet pada kurva batas Pareto (Pareto frontier), membutuhkan komputasi hingga lebih sedikit untuk mencapai akurasi yang setara.
- Representasi Internal: Lapisan-lapisan awal memiliki attention head yang memperhatikan keseluruhan gambar secara global berdampingan dengan head yang memiliki jarak atensi lokal berskala kecil. Jarak atensi (attention distance) secara umum meningkat secara monoton seiring bertambahnya kedalaman lapisan.
Keterbatasan dan pertanyaan terbuka
- Kebutuhan Data yang Masif (Data Hunger): ViT melakukan generalisasi dengan buruk pada dataset kecil tanpa adanya data pre-training berskala masif (seperti ImageNet-21k atau JFT-300M) atau regularisasi yang sangat kuat.
- Kesenjangan Self-Supervised: Eksperimen awal dengan prediksi patch bertopeng (masked patch prediction) mencapai 79,9% pada ImageNet (ViT-B/16), masih menyisakan kesenjangan performa sebesar 4% dibandingkan dengan supervised pre-training.
- Penerapan pada Prediksi Padat (Dense Prediction): Makalah awal ini berfokus secara eksklusif pada klasifikasi; mengadaptasi transformer patch murni untuk tugas-tugas spasial padat seperti deteksi objek (object detection) dan segmentasi semantik (semantic segmentation) masih menjadi tantangan penelitian terbuka.
Istilah kunci
- Vision Transformer (ViT)
- Arsitektur Transformer murni yang diterapkan langsung pada urutan patch gambar yang tidak saling tumpang tindih untuk tugas-tugas visi tanpa ekstraksi fitur konvolusional.
- Patch Embeddings
- Representasi berdimensi yang diperoleh dengan memproyeksikan secara linear patch piksel yang telah diratakan ke dalam ruang laten model.
- Classification Token ([class])
- Token yang dapat dipelajari dan ditambahkan di awal urutan patch, di mana status output-nya setelah lapisan Transformer terakhir berfungsi sebagai representasi gambar secara keseluruhan.
- Inductive Bias (Bias Induktif)
- Asumsi bawaan yang tertanam dalam arsitektur model; pada CNN, ini mencakup lokalitas spasial dan ekuivarian translasi, yang sebagian besar tidak ada pada ViT.
- Position Embeddings
- Vektor 1D yang dapat dipelajari dan ditambahkan ke patch embedding untuk mempertahankan informasi urutan spasial dalam deret input.
- Attention Distance
- Jarak spasial rata-rata pada gambar di mana sebuah attention head mengintegrasikan informasi, secara konseptual analog dengan ukuran receptive field pada CNN.
- Hybrid Architecture
- Model di mana proyeksi patch embedding diterapkan pada feature map yang diekstraksi dari backbone konvolusional awal, bukan langsung dari piksel mentah gambar.
- Visual Task Adaptation Benchmark (VTAB)
- Kumpulan tolok ukur yang terdiri dari 19 tugas visi beragam yang dikelompokkan ke dalam kategori Natural, Specialized, dan Structured, dievaluasi menggunakan 1.000 contoh per tugas.
Pertanyaan
Mengapa ViT berkinerja lebih buruk daripada ResNet pada dataset yang lebih kecil seperti ImageNet-1k?
Transformer tidak memiliki bias induktif konvolusional seperti lokalitas spasial dan ekuivarian translasi. Pada dataset yang lebih kecil, ViT cenderung mengalami overfitting karena harus mempelajari hubungan spasial dari awal; sebaliknya, bias induktif bawaan pada ResNet membuatnya lebih efisien dalam memanfaatkan sampel data yang terbatas.
Bagaimana ViT menangani gambar dengan resolusi berbeda atau lebih tinggi saat fine-tuning?
ViT mempertahankan ukuran patch tetap konstan, yang berakibat pada bertambahnya panjang total urutan patch. Position embedding 1D pra-latih dipetakan kembali ke kisi 2D aslinya dan diinterpolasi menggunakan interpolasi bikubik 2D agar sesuai dengan dimensi kisi yang baru.
Apakah position embedding yang memahami struktur 2D meningkatkan performa ViT dibanding embedding 1D standar?
Tidak. Para peneliti menemukan bahwa embedding koordinat 2D atau relative position embedding memberikan performa yang hampir identik dengan position embedding 1D standar yang dapat dipelajari, karena model dapat dengan mudah mempelajari topologi baris/kolom 2D secara mandiri.
Apa perbedaan antara ViT murni dan Hybrid architecture?
ViT murni memotong gambar input mentah secara langsung menjadi patch-patch piksel dan menerapkan proyeksi linear. Model hibrida (hybrid) terlebih dahulu memproses gambar melalui backbone ResNet awal, kemudian mengekstrak token patch dari feature map perantara yang dihasilkan.
Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.