Review artikel Visual Transformers - pendekatan baru untuk melatih model visi komputer berdasarkan token visual

Ini bekerja adalah menarik karena penulis di dalamnya mengusulkan pendekatan baru untuk model pelatihan dalam gambar - untuk menggunakan tidak hanya piksel dan convolutions, tetapi juga untuk mewakili gambar dalam bentuk token visual dan kereta transformator pada mereka. Dibandingkan dengan menggunakan arsitektur ResNet sederhana, pendekatan yang diusulkan mengurangi MAC (mengalikan dan mengakumulasi operasi) sebesar 6,9 kali lipat dan meningkatkan akurasi 1 teratas sebesar 4,53 poin pada masalah klasifikasi ImageNet.



gambar



Pendekatan motivasi



Pendekatan yang diterima secara umum untuk tugas computer vision adalah dengan menggunakan gambar sebagai larik 3D (tinggi, lebar, jumlah saluran) dan menerapkan konvolusi padanya. Pendekatan ini memiliki beberapa kelemahan:



  • tidak semua piksel dibuat sama. Misalnya, jika kita memiliki tugas klasifikasi, maka objek itu sendiri lebih penting bagi kita daripada latar belakang. Menarik bahwa penulis tidak mengatakan bahwa Perhatian sudah digunakan dalam masalah penglihatan komputer;
  • Konvolusi tidak berfungsi cukup baik dengan piksel yang berjauhan. Ada pendekatan dengan konvolusi yang melebar dan penggabungan rata-rata global, tetapi mereka tidak menyelesaikan masalah itu sendiri;
  • Konvolusi tidak cukup efisien di jaringan neural yang sangat dalam.


Oleh karena itu, penulis mengusulkan hal berikut: ubah gambar menjadi semacam token visual dan kirimkan ke transformator.



gambar



  • Pertama, tulang punggung biasa digunakan untuk mendapatkan peta fitur
  • Selanjutnya, peta fitur diubah menjadi token visual
  • Token diumpankan ke transformer
  • Keluaran transformator dapat digunakan untuk masalah klasifikasi
  • Dan jika Anda menggabungkan output transformator dengan peta fitur, Anda bisa mendapatkan prediksi untuk tugas segmentasi


Di antara karya-karya dalam arah yang sama, penulis masih menyebutkan Attention, tetapi perhatikan bahwa biasanya Attention diterapkan pada piksel, oleh karena itu, sangat meningkatkan kompleksitas komputasi. Mereka juga berbicara tentang pekerjaan untuk meningkatkan efisiensi jaringan saraf, tetapi mereka percaya bahwa dalam beberapa tahun terakhir mereka telah memberikan perbaikan yang semakin sedikit, sehingga pendekatan lain harus dicari.



Transformator visual



Sekarang mari kita lihat lebih dekat bagaimana model itu bekerja.



Seperti disebutkan di atas, tulang punggung mengambil peta fitur, dan mereka diteruskan ke lapisan transformator visual.



Setiap transformator visual terdiri dari tiga bagian: tokenizer, transformator, dan proyektor.



Tokenizer



gambar



Tokenizer mengambil token visual. Faktanya, kami mengambil peta fitur, melakukan bentuk ulang di (H * W, C) dan dari sini kami mendapatkan token.



gambar



Visualisasi koefisien untuk token terlihat seperti ini:



gambar



Pengkodean posisi



Seperti biasa, transformer tidak hanya membutuhkan token, tetapi juga informasi tentang posisinya.



gambar



Pertama, kita melakukan downsample, kemudian kita mengalikan dengan bobot pelatihan dan menggabungkannya dengan token. Untuk mengatur jumlah saluran, Anda dapat menambahkan konvolusi 1D.



Transformator



Terakhir, trafo itu sendiri.



gambar



Menggabungkan token visual dan peta fitur



Ini membuat proyektor.



gambar



gambar



Tokenisasi dinamis



Setelah lapisan pertama transformator, kita tidak hanya dapat mengekstrak token visual baru, tetapi juga menggunakan yang diekstrak dari langkah sebelumnya. Anak timbangan terlatih digunakan untuk menggabungkannya:



gambar



Menggunakan transformer visual untuk membangun model computer vision



Selanjutnya penulis menjelaskan bagaimana model tersebut diterapkan pada masalah computer vision. Blok transformator memiliki tiga hyperparameter: jumlah saluran di peta fitur C, jumlah saluran di token visual Ct, dan jumlah token visual L.



Jika jumlah saluran ternyata tidak sesuai saat beralih antar blok model, maka konvolusi 1D dan 2D digunakan untuk mendapatkan jumlah saluran yang diperlukan.

Untuk mempercepat penghitungan dan mengurangi ukuran model, gunakan konvolusi grup.

Penulis melampirkan blok ** pseudocode ** di artikel. Kode lengkap dijanjikan akan diposting di masa mendatang.



Klasifikasi gambar



Kami mengambil ResNet dan membuat visual-transformer-ResNets (VT-ResNet) berdasarkan itu.

Kami meninggalkan tahap 1-4, tetapi alih-alih yang terakhir kami menempatkan transformator visual.



Keluar tulang punggung - peta fitur 14 x 14, jumlah saluran 512 atau 1024 tergantung pada kedalaman VT-ResNet. 8 token visual untuk 1024 saluran dibuat dari peta fitur. Output dari trafo menuju ke head untuk klasifikasi.



gambar



Segmentasi semantik



Untuk tugas ini, jaringan piramida fitur panoptik (FPN) diambil sebagai model dasar.



gambar



Di FPN, konvolusi berfungsi pada gambar resolusi tinggi, jadi modelnya berat. Penulis mengganti operasi tersebut dengan trafo visual. Sekali lagi, 8 token dan 1024 saluran.



Eksperimen



Klasifikasi ImageNet



Latih 400 epoch dengan RMSProp. Mereka mulai dengan kecepatan pembelajaran 0,01, meningkat menjadi 0,16 selama 5 periode pemanasan, lalu mengalikan setiap periode dengan 0,9875. Normalisasi batch dan ukuran batch 2048 digunakan.Label smoothing, AutoAugment, probabilitas kelangsungan hidup kedalaman stokastik 0,9, putus sekolah 0,2, EMA 0,999985.



Ini adalah berapa banyak percobaan yang harus saya jalankan untuk menemukan semua ini ...



Pada grafik ini Anda dapat melihat bahwa pendekatan memberikan kualitas yang lebih tinggi dengan pengurangan jumlah perhitungan dan ukuran model.



gambar



gambar



Judul artikel untuk model yang dibandingkan:



ResNet + CBAM - Modul perhatian blok konvolusional

ResNet + SE - Jaringan pemerasan dan eksitasi

LR-ResNet - Jaringan relasi lokal untuk pengenalan gambar

StandAlone - Perhatian diri yang berdiri sendiri dalam model penglihatan

AA-ResNet - Jaringan konvolusional yang ditingkatkan perhatian

SAN - Menjelajahi perhatian diri untuk pengenalan gambar



Studi ablasi



Untuk mempercepat eksperimen, kami menggunakan VT-ResNet- {18, 34} dan melatih 90 epoch.



gambar



Menggunakan transformator sebagai pengganti konvolusi memberikan keuntungan terbesar. Tokenisasi dinamis, bukan tokenisasi statis, juga memberikan dorongan besar. Pengkodean posisi hanya memberikan sedikit perbaikan.



Hasil segmentasi



gambar



Seperti yang Anda lihat, metrik hanya tumbuh sedikit, tetapi model tersebut mengkonsumsi MAC 6,5 kali lebih sedikit.



Potensi masa depan dari pendekatan tersebut



Eksperimen telah menunjukkan bahwa pendekatan yang diusulkan memungkinkan Anda membuat model yang lebih efisien (dalam hal biaya komputasi), yang pada saat yang sama mencapai kualitas yang lebih baik. Arsitektur yang diusulkan berhasil berfungsi untuk berbagai tugas computer vision, dan diharapkan aplikasinya dapat membantu meningkatkan sistem yang menggunakan comuter vision - AR / VR, mobil otonom, dan lain-lain.



Tinjauan tersebut disiapkan oleh Andrey Lukyanenko, pengembang terkemuka MTS.



All Articles