Rumah > Artikel > Peranti teknologi > Latihan ViT dan MAE mengurangkan jumlah pengiraan sebanyak separuh! Sea dan Universiti Peking bersama-sama mencadangkan Adan pengoptimum yang cekap, yang boleh digunakan untuk model dalam
Sejak Google mencadangkan Pengubah Penglihatan (ViT), ViT secara beransur-ansur menjadi tulang belakang lalai untuk banyak tugas visual. Dengan struktur ViT, SoTA untuk banyak tugas visual telah dipertingkatkan lagi, termasuk klasifikasi imej, segmentasi, pengesanan, pengecaman, dsb.
Walau bagaimanapun, latihan ViT bukanlah mudah. Selain memerlukan teknik latihan yang lebih kompleks, jumlah pengiraan yang diperlukan untuk latihan model selalunya lebih besar daripada CNN sebelumnya. Baru-baru ini, pasukan penyelidik Singapore Sea AI LAB (SAIL) dan Peking University ZERO Lab bersama-sama mencadangkan pengoptimum model mendalam Adan baharu, yang boleh melengkapkan ViT dengan hanya separuh daripada jumlah pengiraan.
Pautan kertas: https://arxiv.org/pdf/2208.06677.pdf
Pautan kod: https://github.com/sail-sg/Adan
Selain itu, di bawah jumlah pengiraan yang sama , Adan telah bekerja dalam berbilang senario (melibatkan CV, NLP, RL ), berbilang kaedah latihan (diawasi dan diselia sendiri) dan berbilang struktur/algoritma rangkaian (Swin, ViT, ResNet, ConvNext, MAE, LSTM, BERT, Transformer-XL, algoritma PPO), kesemuanya mencapai peningkatan prestasi.
Kod, fail konfigurasi dan log latihan semuanya adalah sumber terbuka.
Paradigma latihan dan pengoptimuman model dalamDengan pengenalan ViT, kaedah latihan model dalam menjadi semakin kompleks. Teknik latihan biasa termasuk peningkatan data yang kompleks (seperti MixUp, CutMix, AutoRand), pemprosesan label (seperti pelicinan label dan label hingar), purata bergerak parameter model, kedalaman rangkaian rawak, keciciran, dsb. Dengan aplikasi campuran teknik ini, generalisasi dan keteguhan model telah dipertingkatkan, tetapi seiring dengan itu, kerumitan pengiraan latihan model telah menjadi lebih besar dan lebih besar.
Pada ImageNet 1k, bilangan tempoh latihan telah meningkat daripada 90 yang baru dicadangkan oleh ResNet kepada 300 yang biasa digunakan untuk latihan ViT. Malah untuk beberapa model pembelajaran yang diselia sendiri, seperti MAE dan ViT, bilangan zaman pra-latihan telah mencapai 1.6k. Peningkatan dalam tempoh latihan bermakna bahawa masa latihan sangat dilanjutkan, yang secara mendadak meningkatkan kos penyelidikan akademik atau pelaksanaan industri. Penyelesaian biasa pada masa ini adalah untuk meningkatkan saiz kumpulan latihan dan membantu dalam latihan selari untuk mengurangkan masa latihan Walau bagaimanapun, masalah yang disertakan ialah saiz kumpulan yang besar selalunya bermakna penurunan prestasi, dan semakin besar saiz kumpulan, semakin jelas. keadaan.
Ini terutamanya kerana bilangan kemas kini parameter model berkurangan dengan mendadak apabila saiz kelompok bertambah. Pengoptimum semasa tidak boleh mencapai latihan pantas model dengan sebilangan kecil kemas kini di bawah paradigma latihan yang kompleks, yang memburukkan lagi peningkatan bilangan zaman latihan model.
Jadi, adakah pengoptimum baharu yang boleh melatih model dalam dengan lebih pantas dan lebih baik dengan kemas kini parameter yang lebih sedikit? Semasa mengurangkan bilangan zaman latihan, bolehkah ia juga mengurangkan kesan negatif peningkatan saiz kelompok?
Impuls diabaikanUntuk mempercepatkan kelajuan penumpuan pengoptimum, cara yang paling langsung adalah dengan memperkenalkan impuls. Pengoptimum model mendalam yang dicadangkan dalam beberapa tahun kebelakangan ini semuanya mengikut paradigma impuls yang digunakan dalam Adam - Kaedah heavy ball:
di mana g_k berada hingar rawak, m_k ialah momen, dan eta ialah kadar pembelajaran. Adam menukar kemas kini m_k daripada bentuk terkumpul kepada bentuk purata bergerak, dan memperkenalkan momen tertib kedua (n_k) untuk menskalakan kadar pembelajaran, iaitu:
Namun, memandangkan Adam gagal melatih ViT asal, versi AdamW yang dipertingkatkan secara beransur-ansur menjadi pilihan pertama untuk melatih ViT dan juga ConvNext. Walau bagaimanapun, AdamW tidak mengubah paradigma impuls dalam Adam, jadi apabila saiz batch melebihi 4,096, prestasi ViT yang dilatih oleh AdamW akan menurun secara mendadak.
Dalam bidang pengoptimuman cembung tradisional, terdapat teknik impuls yang terkenal seperti kaedah heavy ball - Algoritma impuls Nesterov :
Algoritma impuls Nesterov mempunyai kelajuan penumpuan teori yang lebih pantas daripada kaedah bola graviti pada masalah licin dan umumnya cembung, dan secara teorinya boleh menahan saiz kelompok yang lebih besar . Berbeza dengan kaedah bola berwajaran, algoritma Nesterov tidak mengira kecerunan pada titik semasa, tetapi menggunakan impuls untuk mencari titik ekstrapolasi, dan kemudian mengumpul impuls selepas mengira kecerunan pada titik ini.
Mata ekstrapolasi boleh membantu algoritma Nesterov untuk melihat maklumat geometri di sekitar titik semasa terlebih dahulu. Ciri ini menjadikan impuls Nesterov lebih sesuai untuk paradigma latihan dan struktur model yang kompleks (seperti ViT), kerana ia tidak hanya bergantung pada impuls masa lalu untuk memintas titik minimum tempatan yang tajam, tetapi melaraskannya dengan memerhatikan kecerunan sekeliling terlebih dahulu.
Walaupun algoritma impuls Nesterov mempunyai kelebihan tertentu, ia jarang digunakan dan diterokai dalam pengoptimuman mendalam. Salah satu sebab utama ialah algoritma Nesterov perlu mengira kecerunan pada titik ekstrapolasi dan mengemas kininya pada titik semasa Dalam tempoh ini, ia memerlukan pelbagai muat semula parameter model dan perambatan balik buatan (BP) pada titik ekstrapolasi. Kesulitan ini sangat mengehadkan penggunaan algoritma impuls Nesterov dalam pengoptimum model dalam.
Dengan menggabungkan impuls Nesterov yang ditulis semula dengan algoritma pengoptimuman penyesuaian, dan memperkenalkan pereputan berat yang dipisahkan, pengoptimum Adan yang terakhir boleh diperolehi. Dengan menggunakan titik ekstrapolasi, Adan boleh melihat maklumat kecerunan sekeliling lebih awal, dengan itu melarikan diri dengan cekap dari kawasan minimum tempatan yang tajam untuk meningkatkan generalisasi model.
1) Impuls Nesterov Adaptif
Untuk menyelesaikan masalah pemuatan semula parameter berbilang model dalam impuls Nesterov Masalah algoritma, penyelidik mula-mula menulis semula Nesterov:
Ia boleh dibuktikan bahawa algoritma impuls Nesterov yang ditulis semula adalah bersamaan dengan algoritma asal, dan lelaran titik kedua-duanya boleh ditukar kepada satu sama lain, dan titik penumpuan akhir adalah sama. Ia boleh dilihat bahawa dengan memperkenalkan istilah pembezaan kecerunan, beban lampau parameter manual dan BP buatan pada titik ekstrapolasi boleh dielakkan.
Gabungkan algoritma impuls Nesterov yang ditulis semula dengan pengoptimum kelas penyesuaian - gantikan kemas kini m_k daripada bentuk terkumpul kepada bentuk purata bergerak, dan gunakan detik tertib kedua untuk melaraskan pembelajaran Penskalaan kadar:
Pada ketika ini, versi asas algoritma Adan telah diperolehi.
2) Impuls perbezaan kecerunan
Dapat didapati bahawa kemas kini m_k menggandingkan kecerunan dan perbezaan kecerunan dalam Bersama-sama, tetapi dalam senario sebenar, dua item dengan makna fizikal yang berbeza selalunya perlu diproses secara berasingan, jadi penyelidik memperkenalkan impuls v_k perbezaan kecerunan:
Di sini, pekali impuls/purata yang berbeza ditetapkan untuk impuls kecerunan dan impuls perbezaannya. Istilah perbezaan kecerunan boleh memperlahankan kemas kini pengoptimum apabila kecerunan bersebelahan tidak konsisten, dan sebaliknya, mempercepatkan kemas kini apabila arah kecerunan adalah konsisten.
3) Pereputan berat berpisah
Untuk fungsi objektif dengan penyelarasan berat L2, pengoptimum AdamW yang popular pada masa ini telah mencapai prestasi yang lebih baik pada ViT dan ConvNext dengan menyahganding regularisasi L2 dan kehilangan latihan. Walau bagaimanapun, kaedah penyahgandingan yang digunakan oleh AdamW adalah berat sebelah ke arah heuristik, dan pada masa ini tiada jaminan teori bagi penumpuannya.
Berdasarkan idea menyahgandingan keteraturan L2, strategi pengurangan berat yang dipisahkan turut diperkenalkan kepada Adan. Pada masa ini, setiap lelaran Adan boleh dilihat sebagai meminimumkan beberapa anggaran tertib pertama objektif pengoptimuman F:
Disebabkan oleh berat L2 dalam F Penyelarasan adalah sangat mudah dan lancar sehingga anggaran tertib pertama tidak diperlukan. Oleh itu, anda hanya boleh membuat anggaran tertib pertama kepada kehilangan latihan dan mengabaikan penyelarasan berat L2, maka lelaran terakhir Adan akan menjadi:
Menarik Lebih-lebih lagi, boleh didapati bahawa kriteria kemas kini AdamW ialah anggaran tertib pertama bagi kriteria kemas kini Adan apabila kadar pembelajaran eta menghampiri 0. Oleh itu, penjelasan yang munasabah boleh diberikan kepada Adan atau AdamW dari perspektif operator proksimal dan bukannya penambahbaikan heuristik asal.
4) Pengoptimum Adan
Menggabungkan dua penambahbaikan 2) dan 3) ke dalam versi asas Adan , pengoptimum Adan berikut boleh diperolehi.
Adan menggabungkan kelebihan pengoptimum penyesuaian, dorongan Nesterov dan strategi pereputan berat yang dipisahkan, serta boleh menahan kadar pembelajaran dan saiz kelompok yang lebih besar, dan boleh melaksanakan penyelarasan L2 dinamik parameter model.
5) Analisis penumpuan
Di sini kita melangkau proses analisis matematik yang rumit dan hanya memberikan kesimpulan:
Teorem: Dalam kedua-dua kes, kelajuan penumpuan pengoptimum Adan boleh mencapai 100% pada masalah pengoptimuman stokastik bukan cembung dalam kedua-dua kes, diberi atau tidak diberi keadaan lancar Hessian Batas bawah teori diketahui, dan kesimpulan ini masih berlaku dengan strategi pereputan berat yang dipisahkan.
1) Pembelajaran diselia — —Model ViT
Untuk model ViT, para penyelidik menguji prestasi Adan pada struktur ViT dan Swin masing-masing.
Dapat dilihat, contohnya, pada ViT-small, ViT-base, Swin-tiny dan Swin-base, Adan hanya menggunakan separuh daripada Sumber pengkomputeran adalah hampir dengan keputusan yang diperolehi oleh pengoptimum SoTA, dan di bawah jumlah pengiraan yang sama, Adan menunjukkan kelebihan besar dalam kedua-dua model ViT.
Selain itu, prestasi Adan juga telah diuji di bawah saiz kumpulan besar:
Anda boleh lihat, Adan berprestasi baik dalam pelbagai saiz kelompok, dan juga mempunyai kelebihan tertentu berbanding pengoptimum (LAMB) yang direka untuk saiz kelompok besar.
2) Pembelajaran diselia - Model CNN
Selain model ViT yang lebih sukar untuk dilatih, penyelidik juga menguji prestasi Adan pada model CNN dengan mata minimum tempatan yang agak tajam - termasuk ResNet klasik dan ConvNext yang lebih maju. Keputusan adalah seperti berikut:
Dapat diperhatikan sama ada ResNet atau ConvNext, Adan boleh mencapai prestasi melebihi SoTA dalam masa kira-kira 2/3 daripada zaman latihan.
3) Pembelajaran tanpa pengawasan
Di bawah rangka kerja latihan tanpa pengawasan, penyelidik Prestasi Adan telah diuji pada MAE yang dicadangkan terkini. Keputusannya adalah seperti berikut:
Selaras dengan kesimpulan pembelajaran terselia, Adan hanya menggunakan separuh daripada jumlah pengiraan untuk sama atau melebihi SoTA asal . pengoptimuman, dan apabila zaman latihan lebih kecil, kelebihan Adan menjadi lebih jelas.
1) Pembelajaran Terselia
Mengenai tugas pembelajaran NLP yang diselia, perhatikan prestasi Adan pada LSTM klasik dan Transformer-XL termaju.
Adan menunjukkan keunggulan yang konsisten pada dua rangkaian di atas. Dan untuk Transformer-XL, Adan mengikat pengoptimum Adam lalai dalam separuh bilangan langkah latihan.
2) Pembelajaran tanpa pengawasan
Untuk menguji pembelajaran tanpa pengawasan Adan dalam senario NLP Status latihan model pada tugas. Para penyelidik melatih BERT dari awal: selepas 1000k lelaran pra-latihan, prestasi model terlatih Adan telah diuji pada 7 subtugas set data GLUE, dan hasilnya adalah seperti berikut:
Adan menunjukkan kelebihan yang hebat dalam kesemua 7 tugasan pengelasan perkataan dan ayat yang diuji. Perlu dinyatakan bahawa keputusan model asas BERT yang dilatih oleh Adan malah melebihi BERT-besar yang dilatih oleh Adam pada beberapa subtugas (seperti RTE, CoLA dan SST-2).
Para penyelidik menggantikan pengoptimum dalam algoritma PPO yang biasa digunakan dalam RL dengan Adan dan menguji pengoptimuman Adan pada 4 permainan dalam prestasi enjin MuJoCo. Dalam 4 permainan, algoritma PPO menggunakan Adan sebagai pengoptimum rangkaian sentiasa boleh memperoleh ganjaran yang lebih tinggi.
Adan juga menunjukkan potensi besar dalam latihan rangkaian RL.
Pengoptimum Adan memperkenalkan paradigma dorongan baharu kepada pengoptimum model mendalam semasa. Mencapai latihan pantas model di bawah paradigma latihan yang kompleks dengan kemas kini yang lebih sedikit.
Percubaan menunjukkan bahawa Adan boleh menyamai pengoptimum SoTA sedia ada dengan hanya 1/2-2/3 daripada jumlah pengiraan.
Adan telah digunakan secara meluas dalam pelbagai senario (melibatkan CV, NLP, RL), pelbagai kaedah latihan (diselia dan diselia sendiri) dan pelbagai struktur rangkaian (ViT, CNN, LSTM, Transformer dsb.), semuanya menunjukkan kelebihan prestasi yang hebat. Di samping itu, kelajuan penumpuan pengoptimum Adan telah mencapai batas bawah teori dalam pengoptimuman stokastik bukan cembung.
Atas ialah kandungan terperinci Latihan ViT dan MAE mengurangkan jumlah pengiraan sebanyak separuh! Sea dan Universiti Peking bersama-sama mencadangkan Adan pengoptimum yang cekap, yang boleh digunakan untuk model dalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!