PENDAHULUAN • Metode Direproduksi • Hasil yang Direproduksi • Cara Penggunaan • Lisensi • Ucapan Terima Kasih • Kontak

Selamat datang di Pycil, mungkin kotak alat untuk pembelajaran intremental kelas dengan metode yang paling banyak diimplementasikan. Ini adalah repositori kode untuk "Pycil: A Python Toolbox untuk Pembelajaran Kelas-Inkremental" [Kertas] di Pytorch. Jika Anda menggunakan konten repo ini untuk pekerjaan Anda, silakan kutip entri bib berikut:
@article{zhou2023pycil,
author = {Da-Wei Zhou and Fu-Yun Wang and Han-Jia Ye and De-Chuan Zhan},
title = {PyCIL: a Python toolbox for class-incremental learning},
journal = {SCIENCE CHINA Information Sciences},
year = {2023},
volume = {66},
number = {9},
pages = {197101},
doi = {https://doi.org/10.1007/s11432-022-3600-y}
}
@article{zhou2024class,
author = {Zhou, Da-Wei and Wang, Qi-Wei and Qi, Zhi-Hong and Ye, Han-Jia and Zhan, De-Chuan and Liu, Ziwei},
title = {Class-Incremental Learning: A Survey},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
volume={46},
number={12},
pages={9851--9873},
year = {2024}
}
@inproceedings{zhou2024continual,
title={Continual learning with pre-trained models: A survey},
author={Zhou, Da-Wei and Sun, Hai-Long and Ning, Jingyi and Ye, Han-Jia and Zhan, De-Chuan},
booktitle={IJCAI},
pages={8363-8371},
year={2024}
}
Sistem pembelajaran mesin tradisional digunakan di bawah pengaturan dunia tertutup, yang membutuhkan seluruh data pelatihan sebelum proses pelatihan offline. Namun, aplikasi dunia nyata sering menghadapi kelas-kelas baru yang masuk, dan model harus menggabungkannya secara terus-menerus. Paradigma pembelajaran disebut class-intremental learning (CIL). Kami mengusulkan kotak alat Python yang mengimplementasikan beberapa algoritma utama untuk pembelajaran intrementasi kelas untuk meringankan beban peneliti di komunitas pembelajaran mesin. Toolbox berisi implementasi dari sejumlah karya pendiri CIL, seperti EWC dan ICARL, tetapi juga menyediakan algoritma canggih saat ini yang dapat digunakan untuk melakukan penelitian mendasar baru. Toolbox ini, bernama Pycil untuk pembelajaran intremental kelas Python, adalah open source dengan lisensi MIT.
Untuk informasi lebih lanjut tentang pembelajaran tambahan, Anda dapat merujuk pada bahan bacaan ini:
FineTune : Metode dasar yang hanya memperbarui parameter pada tugas baru.EWC : Mengatasi lupa bencana dalam jaringan saraf. PNAS2017 [kertas]LwF : Belajar tanpa lupa. ECCV2016 [kertas]Replay : Metode dasar dengan replay contoh.GEM : Memori Episodik Gradien untuk Pembelajaran Berkelanjutan. Nips2017 [kertas]iCaRL : Klasifikasi tambahan dan pembelajaran representasi. CVPR2017 [kertas]BiC : Pembelajaran bertahap skala besar. CVPR2019 [kertas]WA : Mempertahankan diskriminasi dan keadilan dalam pembelajaran tambahan kelas. CVPR2020 [kertas]PODNet : podnet: output output distilasi untuk tugas-tugas kecil pembelajaran tambahan. ECCV2020 [kertas]DER : Der: Representasi yang dapat diperluas secara dinamis untuk pembelajaran tambahan kelas. CVPR2021 [kertas]PASS : Augmentasi prototipe dan persiapan mandiri untuk pembelajaran tambahan. CVPR2021 [kertas]RMM : RMM: Manajemen memori yang diperkuat untuk pembelajaran intrementasi kelas. Neurips2021 [kertas]IL2A : Pembelajaran Inkremental Kelas melalui augmentasi ganda. Neurips2021 [kertas]ACIL : Pembelajaran Inkremental Kelas Analitik dengan Hafalan Mutlak dan Perlindungan Privasi. Neurips 2022 [kertas]SSRE : Perluasan representasi mandiri untuk pembelajaran kelas-intrementasi non-eksemplar. CVPR2022 [kertas]FeTrIL : Terjemahan fitur untuk pembelajaran intrementasi kelas bebas contoh. Wacv2023 [kertas]Coil : CO-Transport untuk Pembelajaran Inkremental Kelas. ACM MM2021 [kertas]FOSTER : Meningkatkan fitur dan kompresi untuk pembelajaran intrementasi kelas. ECCV 2022 [kertas]MEMO : Model atau 603 contoh: Menuju pembelajaran intrementasi kelas yang hemat memori. ICLR 2023 Spotlight [kertas]BEEF : Daging Sapi: Pembelajaran Inkremental Kelas yang Kompatibel Bi melalui Ekspansi dan Fusi Berbasis Energi. ICLR 2023 [kertas]DS-AL : Pembelajaran analitik dual-stream untuk pembelajaran intrementasi kelas bebas contoh. Aaai 2024 [kertas]SimpleCIL : Meninjau kembali pembelajaran intremental kelas dengan model pra-terlatih: generalisasi dan adaptivitas adalah semua yang Anda butuhkan. IJCV 2024 [kertas]Aper : Meninjau kembali pembelajaran intrementasi kelas dengan model pra-terlatih: generalisasi dan adaptivitas adalah semua yang Anda butuhkan. IJCV 2024 [kertas] 


Rincian dan hasil eksperimental lebih banyak dapat ditemukan dalam survei kami.
Klon Repositori GitHub ini:
git clone https://github.com/G-U-N/PyCIL.git
cd PyCIL
[MODEL NAME].json file untuk pengaturan global.[MODEL NAME].py yang sesuai (misalnya, models/icarl.py ).python main.py --config=./exps/[MODEL NAME].json Di mana [nama model] harus dipilih dari finetune , ewc , lwf , replay , gem , icarl , bic , wa , podnet , der , dll.
hyper-parametersSaat menggunakan Pycil, Anda dapat mengedit parameter global dan hyper-parameter khusus algoritma dalam file JSON yang sesuai.
Parameter ini meliputi:
ResNet32 digunakan untuk CIFAR100 , dan ResNet18 digunakan untuk ImageNet .Parameter lain dalam hal optimasi model, misalnya, ukuran batch, zaman optimasi, tingkat pembelajaran, pembusukan tingkat pembelajaran, peluruhan berat badan, tonggak sejarah, dan suhu, dapat dimodifikasi dalam file python yang sesuai.
Kami telah mengimplementasikan pra-pemrosesan CIFAR100 , imagenet100, dan imagenet1000 . Saat berlatih di CIFAR100 , kerangka kerja ini akan secara otomatis mengunduhnya. Saat berlatih di imagenet100/1000 , Anda harus menentukan folder dataset Anda di utils/data.py .
def download_data ( self ):
assert 0 , "You should specify the folder of your dataset"
train_dir = '[DATA-PATH]/train/'
test_dir = '[DATA-PATH]/val/'Berikut adalah daftar file ImageNet100 (atau katakanlah imagenet-sub).
Konsolidasi ganda untuk pembelajaran domain-intremental berbasis model pra-terlatih ( ARXIV 2024 ) [kertas]
Meninjau kembali pembelajaran intremental kelas dengan model pra-terlatih: generalisasi dan adaptivitas adalah semua yang Anda butuhkan ( IJCV 2024 ) [kertas] [kode]
Pembelajaran Inkremental Kelas: Survei ( TPAMI 2024 ) [Kertas] [Kode]
Ensemble subruang yang dapat diperluas untuk pembelajaran class-intremental berbasis model pra-terlatih ( CVPR 2024 ) [kertas] [kode]
Fitur Latihan Multi-Layer Augmentasi untuk Pembelajaran Inkremental Kelas ( ICML 2024 ) [Kertas] [Kode]
Pembelajaran berkelanjutan dengan model pra-terlatih: survei ( IJCAI 2024 ) [kertas] [kode]
Routing adaptor adaptif untuk pembelajaran intremental kelas-panjang ( pembelajaran mesin 2024 ) [kertas] [kode]
Belajar tanpa melupakan model visi-bahasa ( ARXIV 2023 ) [kertas]
Pilot: Toolbox Pembelajaran Berkelanjutan Berbasis Model Pra-Terlatih ( ARXIV 2023 ) [Kertas] [Kode]
Pembelajaran Inkremental Kelas Beberapa-Tembakan Melalui Kalibrasi Prototipe Bebas Pelatihan ( Neurips 2023 ) [Kertas] [Kode]
Daging Sapi: Pembelajaran Inkremental Kelas yang Kompatibel Bi melalui Ekspansi Berbasis Energi dan Fusion ( ICLR 2023 ) [Kertas] [Kode]
Model atau 603 Exemplars: Menuju Pembelajaran Kelas Incremental yang efisien memori ( ICLR 2023 ) [Kertas] [Kode]
Pembelajaran Inkremental Kelas beberapa-Shot dengan Pengambilan Sampel Tugas Multi-Fase ( TPAMI 2022 ) [Kertas] [Kode]
Foster: Fitur Meningkatkan dan Kompresi untuk Pembelajaran Insremental Kelas ( ECCV 2022 ) [Kertas] [Kode]
Forward Compatible Sew-Shot Class-Incremental Learning ( CVPR 2022 ) [kertas] [Kode]
Co-transport untuk pembelajaran intremental kelas ( ACM MM 2021 ) [kertas] [kode]
Menuju evaluasi realistis skenario pembelajaran berkelanjutan industri dengan penekanan pada konsumsi energi dan jejak komputasi ( ICCV 2023 ) [kertas] [kode]
Klasifikasi residu dinamis untuk pembelajaran tambahan kelas ( ICCV 2023 ) [kertas] [kode]
Pembelajaran S-Prompts dengan Transformers Pra-Terlatih: Pisau Cukur Occam untuk Pembelajaran Insinyur Domain ( Neurips 2022 ) [Kertas] [Kode]
Silakan periksa lisensi MIT yang tercantum dalam repositori ini.
Kami berterima kasih kepada repo berikut yang menyediakan komponen/fungsi yang bermanfaat dalam pekerjaan kami.
Aliran pelatihan dan konfigurasi data didasarkan pada reproduksi pembelajaran terus-menerus. Informasi asli repo tersedia di cabang dasar.
Jika ada pertanyaan, silakan mengusulkan fitur baru dengan membuka masalah atau hubungi penulis: Da-Wei Zhou ([email protected]) dan Fu-yun Wang ([email protected]). Nikmati kodenya.