Self-Supervised Learning -Goyal -Paper Review

Paper Title: Self Supervised Pretraining of Visual Features in the wild

Authors: Priya Goyal, Mathilde Caron, Benjamin Lefaudeux, Min Xu, Pengchao Wang, Vivek Pai, Mannat Singh, Vitaliy Liptchinsky, Ishan Misra, Armand Joulin, Piotr Bojanowski

Venue: pre-print; Arxiv

URL: https://arxiv.org/abs/2103.01988

Problem:

Beberapa model self-supervised learning seperti MoCo, SimCLR, BYOL dan SwAV telah mengalami perkembangan yang baik dan mendekati performa Supervised learning. Namun pengujian model-model tersebut dilakukan pada lingkungan yang terkontrol seperti dataset ImageNet. Apakah model SSL bisa belajar dari random image, uncurated, unlabeled, dan dari dataset manapun

Contribution:

  1. Mengajukan model Self-Supervised (SEER) baru
  2. Membuktikan bahwa SSL dapat bekerja pada kondisi sebenarnya

Method/solution

  1. Melakukan pretraining high capacity model pada miliar gambar internet random, tampa memperhatikan meta-data atau anotasi untuk filtering pada data
  2. Fokus pada REgNet family, terutama aristektur dengan 700 juta parameter
  3. Training model dilakukan secara onlne pada sebuah dataset 2Milliar gambar internet random menggunakan SwAV SSL. Menggunakan beberapa tools yang ada untuk mengurangi pemakain memori, termasuk mixed precision dan gradient checkponting
  4. SwAV membandingkan fitur-fitur dari sudut pandang berbeda dari gambar yang sama menggunakan intermediate cluster assignment. SwAV adalah metode clustering online untuk training convnets tanpa anotasi. Caranya dengan melakukan training sebuah embedding yang menghasilkan cluster assignment konsisten antara multiple view dari gambar yang sama
  5. Dengan mining cluster invariant ke augmentasi data, sistem belajar representasi semantic.
  6. Bila feature menangkap informasi sama, maka mungkin untuk memprediksi assignment dari satu fitur ke view lain.
  7. Kita menetapkan sebuah set K cluster, yang diasosiasikan dengan prototype vector vk dengan d dimensi. Diberikan sebuah batch B image, setiap gambar i ditransformasikan menjadi 2 views: xiq dan xi2. Setiap view kemudian difiturisasi dengan sebuah convnet, menghasilkan 2 set fitur (f11,…,fB1) dan F12,…,fb2)
  8. Setiap set fitur di assigned secara independent ke prototipe cluster menggunakan optimal transport solver
  9. Solver ini memaksa fitur terbagi sepanjang cluster secara seragam, menghindarkan solusi trivial dimana semua representasi dipetakan ke prototipe unik.
  10. Cluster prediction loss l(f,y) adalah cross entropy antara cluster assignment dan sebuah softwax dari dot produk dari f dan semua prototipe vk
  11. Menggunakan Arsitektur RegNetY dan menambahkan sebuah squeeze-and excitation op untuk meningkatkan performa
  12. Model family RegNetY diparameterkan dengan 5 parameter
  13. Model menggunakan arsitektur RegNetY-256GF dengan paramater; w0=640, wa=230,83, wm=2,53, group width=373
  14. Memiliki 4 stages dengan stage depths (2,7,17,1 dan stage width (528, 1056, 2904, 7392) yang menghasilkan 695,5 juta parameter
  15. Menguji 2 learning rate schedule; cosine wave dan fixed learning rate. Pada training model RegNetY-256GF menggunakan cosine learning rate schedule pada 1 milliar gambar
  16. Mengurangi pemakaian memori GPU selama training dengan gradient checkpointing dan mixed precision
  17. Menggunakan level optimasi 01 pada NVIDIA Apex Library untuk operasi GEMMs dan konvolusi pada 16 bit floating point precision
  18. Menggunakan Pytorch gradient checkpointing implementasi
  19. Mengenable mixed-precision untuk optimasi memori dan training speed.
  20. Melakukan pretraining RegNetY-256GF dengan SwAV dengan 6 crop per image pada resolusi 2×224+4×96. Data Augmentation mengikuti Caron et.al [7]
  21. Pada pretraining menggunakan 3-layer multi-layer perceptron (MLP) projection head of dimensions 10444×8192, 8192×8192 dan 8192×256
  22. Tidak menggunakan layer BatchNorm pada head
  23. Menggunakan 16ribu proroipe, temperature t set =0,1 
  24. Parameter Sinkhorn regularisasi e=0,05 dan 10 iterasi algoritma Sinkhorn
  25. Melakukan sinkronisasi Batch-norm stat antara gpus dan membuat process group dengan ukuran 64 untuk sinkronisasi
  26. Menggunakan weight decay 10-5, Lars optimizer dan optimasi 01 mixed-precision dari Apex library
  27. Menggunakan activation checkpointing
  28. Melakukan training model dengan stochastic gradient descent menggunakan ukuran batch besar pada 8192 gambar berbeda yang didistribusikan pada 512 NVIDIA V100 32 GB GPUs, menghasilkan 16 gambar berbeda pada setiap GPU.
  29. Secara keseluruhan menggunakan 1 milliar gambar pada training dengan iterasi 122ribu
  30. Pengujian dilakukan dengan pretraining 6 arsitektur Regnet {8,16,32,64,128,256} pada 1 milliar random, public dan non-EU gambar Instagram dengan SwAV
  31. Melakukan finetune model tesebut dengan task image classification pada ImageNet dengan standar 1,28 juta gambar training dengan label, dan mengevaluasi 50ribu gambar pada standar validation set
  32. Finetune untuk 35 epochs dengan SGD, ukuran batch 256, learning rate 0,0125 dikurangi dengan factor 10 setelah 30 epoch, weight decay 10-4 dan momentum 0,9
  33. Baseline menggunakan iNaturalist, OpenImages, Places205, PascalVOC

Main result

  1. Hasil pengujian pada RegNetY dengan 1,3 Miliar parameter di training pada 1 milliar gambar random dengan GPU 512 menghasilkan akurasi 84,2%
  2. Hasil akurasi lebaih baik 1% daripada model ssl terbaik saat ini
  3. Model pretraining SEER tidak hanya baik untuk insialisasi training pada dataset curated seperti Image NET, namun juga baik pada few shot learning. Mencapai 75,1% hanya dari 10% dataset ImageNet. 
  4. Sebuah Iterasi training pada 8704 gambar membutuhkan waktu 6125 ms,pada Nvidia GPU 512 V100 32GB
  5. Training model pada 1 milliar gambar membutuhkan 114.890 iterasi training pada sebuah ukuran batch 8701 gambar, selama 8 hari training
  6. Learning rate 0,15-9,6 pada 8000 training update. 6Setelah itu mennggunakan cosine learning rate schedule dan mendapatkan learning rate 0,009
  7. Mendapatkan akurasi terbaik pada validasi set dengan 224×224 center crop
  8. Pada pengujian 1-10% gambar didapatkan akurasi 77,9%
  9. Untuk downstream task dan arsitektur, model self-supervised pretraining menghasilkan performa lebih baik dibandingkan supervised sekitar 1,5-2 point
  10. Dibandingkan dengan weakly-supervised pretraining model usulan menghasilkan performa lebih rendah 65% dibandingkan 81%
  11. Peningkatan kapasitas model secara signifikan meningkatkan kualitas feature secara logarithmic
  12. Meningkatkan jumlah parameter pada head dan jumlah cluster meningkatkan performa model (+3%)

Limitation:

  1. Performa model masih lebih rendah dibandingkan weak-supervised
  2. Dataset yang digunakan masih relatif besar

Note:

  1. SSL reduce the gap supervised learning; ex MoCo [22], SimCLR [8], BYOL [20] dan SwAV [7] in controlled environment dataset ImageNet
  2. Pre-training approaches (weakly-supervised, semi-supervised, self-supervised) meningkatkan performansi dari downstream task Deep Learning. Contoh implementasinya pada NLP, Speech Recognition dan computer vision
  3. Faktor yang berpengaruh: a) pretraining pada dataset besar; GPT-3 language model, pretrained pada 300 M words; Speech model Wav2vec2 belajar pada 53ribu jam audio; b) menggunakan model dengan kapasitas besar, triliunan parameter pada model NLP
  4. SSL model baik pada few-shot learner mencapai 77,9% dari hanya 10% gambar dari dataset ImageNet
  5. Pretraining pada unlabeled data untuk mencapai performa state-of-the-art pada transfer learning, dan membuat sistem yang belajar secara kontinu secara self-supervised pada datastream tidak berakhir
  6. SSL model pretrained pada image net lebih baik pada supervised pretrained model pada task multiple downstream
  7. training unlabele data dengan kemajuan SSL [6,8,20,22]
  8. regnet dipilih karena 2 alasan: a)trade-off yang baik antara efisiensi dan performansi; b)flexible untul scaling jumlah parameter
  9. SwAV digunakan karena convergencenya yang cepat dan performansinya yang baik pada setting online dengan jumlah batch size besar.
  10. SSL pada vision dengan basis autoencoder[42.51], clustering [1,5,11] instance level discrimination [3,15,21,51]; 
  11. Basis pada contrastive learning [21,38] menghasilkan bahwa pretraining unsupervised menghasilkan feature yang melebih supervised feature pada task downstream task [7,8,20,22,37]
  12. Metode berikut membedakan each instance feature [8,22,37] atau cluster assignmentsnya [2,7,32]
  13. Sebagian besar unsupervised pretraining focus pada supervised dataset seperti imagenet atau curated dataset yang dikumpulkan dengan melakukan filtering image terkair label pre-degiened.
  14. Kesimpulannya supervised label tidak diperlukan selama kita melakukan training pada data yang difilter.
  15. Unsupervised training pada image [6,13,19] dan video [36]
  16. Penelitian dilakukan pada skala kecil dan ada bukti bahwa self-supervised pretraining lebih baik pada arsitektur besar [7,9,25]
  17. Mendapat keutungan dari distributed training [18] beberapa penelitian menunjukan kelebihan pretraining pada large curated image dataset dengan weak-supervised learning [27,35], semi supervised learning [54] atau supervised training pada ribuan juta gambar yang difilter [29.47]
  18. Mahajan et.al menunjukan pretraining pada miliaran gambar meningkatkan performa dari arsitektur besar dibandingkan melakukan training dari awal
  19. Penelitian tentang training pada data dengan skala besar bergantung pada sebuah langkah data filtering untuk menyimpan image yang terkait dengan konsep yang dituju.
  20. Filtering menggunakan hastag adalah synsets dari kelas ImageNet [35,54] atau prediksi dari sebuah pretrained object classifier.
  21. Banyak penelitian yang menunjukan manfaat training arsitektur besar untuk meningkatkan kualitas fitur visual [40,48,53]. Training arsitektur besar, penting pada pretraining sebuah dataset besar, dimana sebuah model dengan kapasitas terbatas akan underfit
  22. Hal ini menjadi lebih penting ketika pretraining dilakukan dengan contrastive learning, dimana jaringan belajar untuk membedakan antara instance pada dataset [6,8,9,20] untuk mendapatkan representasi visual yang baik
  23. Kolesnikov et.al menunjukan pentingnya training jaringan lebar untuk kualitas dari fitur visual yang dipelajari dengan self-supervision
  24. Chen et.al [9] mendapatkan performa yang baik dengan konfigurasi ResNet yang lebih dalam dan lebih lebar25. SwAV yang digunakan me-refer pada Caron.et.al [7]. 

Silahkan tuliskan tanggapan, kritik maupun saran