Введение • Воспроизводные методы • воспроизведенные результаты • Как использовать • Лицензия • подтверждение • Контакт

Добро пожаловать в Pycil, возможно, набор инструментов для обучения в классе с наиболее реализованными методами. Это репозиторий кода для «Pycil: The Python Toolbox для обучения в классе» [Paper] в Pytorch. Если вы используете какой -либо контент этого репо для вашей работы, пожалуйста, укажите следующие записи на BIB:
@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}
}
Традиционные системы машинного обучения развернуты в условиях замкнутого мира, что требует всего обучающегося данных до офлайн-процесса обучения. Тем не менее, реальные приложения часто сталкиваются с входящими новыми классами, и модель должна постоянно включать их. Парадигма обучения называется классовым интрипционным обучением (CIL). Мы предлагаем набор инструментов Python, который реализует несколько ключевых алгоритмов для обучения в классе, чтобы облегчить бремя исследователей в сообществе машинного обучения. Панель инструментов содержит реализации ряда основателей CIL, таких как EWC и ICARL, но также предоставляет текущие современные алгоритмы, которые можно использовать для проведения новых фундаментальных исследований. Этот набор инструментов, названный Pycil для обучения Python Class-Incremental, является открытым исходным кодом с лицензией MIT.
Для получения дополнительной информации о постепенном обучении вы можете обратиться к этим материалам для чтения:
FineTune : базовый метод, который просто обновляет параметры по новым задачам.EWC : Преодоление катастрофического забывания в нейронных сетях. PNAS2017 [Paper]LwF : Обучение, не забывая. ECCV2016 [Paper]Replay : базовый метод с образцом воспроизведения.GEM : Градиент Эпизодическая память для постоянного обучения. NIPS2017 [бумага]iCaRL : инкрементный классификатор и обучение представления. CVPR2017 [Paper]BiC : крупномасштабное постепенное обучение. CVPR2019 [Paper]WA : поддержание дискриминации и справедливости в постепенном обучении класса. CVPR2020 [Paper]PODNet : Podnet: объединенные выходы дистилляция для малых заданий. ECCV2020 [Paper]DER : DER: Динамически расширяемое представление для инкрементного обучения класса. CVPR2021 [Paper]PASS : Увеличение прототипа и самоотверждение для постепенного обучения. CVPR2021 [Paper]RMM : RMM: Усиленное управление памятью для обучения в классе. Neurips2021 [Paper]IL2A : класс-инкрементное обучение с помощью двойного увеличения. Neurips2021 [Paper]ACIL : аналитическое обучение в классе с абсолютным запоминанием и защитой конфиденциальности. Neurips 2022 [Paper]SSRE : Самоподобное расширение представления для неэлементарного обучения классовой. CVPR2022 [Paper]FeTrIL : Перевод функции для примерного обучения без примеров. WACV2023 [Paper]Coil : совместный транспорт для обучения в классе. ACM MM2021 [Paper]FOSTER : Увеличение функции и сжатие для обучения в классе. ECCV 2022 [Paper]MEMO : модель или 603 образца: на пути к эффективному обучению в классе. ICLR 2023 Spotlight [Paper]BEEF : говядина: био-совместимое классовое обучение с помощью энергосберегаемого расширения и слияния. ICLR 2023 [Бумага]DS-AL : аналитическое обучение с двумя потоками для обучения без примеров. Aaai 2024 [бумага]SimpleCIL : повторное обучение в классе с помощью предварительно обученных моделей: обобщение и адаптивность-все, что вам нужно. IJCV 2024 [Бумага]Aper : повторное обучение в классе с помощью предварительно обученных моделей: обобщение и адаптивность-все, что вам нужно. IJCV 2024 [Бумага] 


Более экспериментальные детали и результаты можно найти в нашем опросе.
Клонировать этот репозиторий GitHub:
git clone https://github.com/G-U-N/PyCIL.git
cd PyCIL
[MODEL NAME].json для глобальных настроек.[MODEL NAME].py (например, models/icarl.py ).python main.py --config=./exps/[MODEL NAME].json где [имя модели] должно быть выбрано из finetune , ewc , lwf , replay , gem , icarl , bic , wa , podnet , der и т. Д.
hyper-parametersПри использовании Pycil вы можете редактировать глобальные параметры и гиперпараметр-специфичный для алгоритма в соответствующем файле JSON.
Эти параметры включают:
ResNet32 используется для CIFAR100 , а ResNet18 используется для ImageNet .Другие параметры с точки зрения оптимизации модели, например, размера партии, эпохи оптимизации, скорости обучения, распада скорости обучения, распада веса, вехи и температуры могут быть изменены в соответствующем файле Python.
Мы внедрили предварительную обработку CIFAR100 , imagenet100, и imagenet1000 . При обучении на CIFAR100 эта структура будет автоматически загружать его. При обучении на imagenet100/1000 вам следует указать папку вашего набора данных в 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/'Вот список файлов ImageNet100 (или, скажем, ImageNet-Sub).
Двойная консолидация для предварительно обученного модели на основе домена-инкрементного обучения ( ARXIV 2024 ) [Paper]
Повторное обучение в классе с помощью предварительно обученных моделей: обобщение и адаптивность-все, что вам нужно ( IJCV 2024 ) [Paper] [CODE]
Классовое обучение: опрос ( TPAMI 2024 ) [Paper] [Код]
Расширяемый подпространственный ансамбль для предварительно обученного модели на основе классов-инкрементного обучения ( CVPR 2024 ) [Paper] [CODE]
Многослойное репетиционное увеличение функции для обучения в классе ( ICML 2024 ) [Paper] [CODE]
Непрерывное обучение с предварительно обученными моделями: опрос ( IJCAI 2024 ) [Paper] [Код]
Адаптивная маршрутизация адаптера для длиннохвостого обучения классовой интрипции ( машинное обучение 2024 ) [Paper] [Code]
Обучение, не забывая о моделях языка зрения ( ARXIV 2023 ) [Paper]
Пилот: предварительно обученный модель на основе постоянного учебного набора инструментов ( ARXIV 2023 ) [Paper] [CODE]
Необычное обучение классовой инкрементной с помощью калибровки прототипов без обучения ( Neurips 2023 ) [Paper] [Code]
Говядина: био-совместимое обучение классовой интрипционной деятельности посредством энергетического расширения и слияния ( ICLR 2023 ) [Paper] [CODE]
Модель или 603 примеры: к эффективному памяти, обучающемуся в классе ( ICLR 2023 ) [Paper] [Код]
Несколько выстрелов в классе-инкрементном обучении путем выборки многофазных задач ( TPAMI 2022 ) [Paper] [CODE]
FOSTER: повышение функции и сжатие для обучения в классе ( ECCV 2022 ) [Paper] [CODE]
Совместимый с собой совместимый с несколькими снимками обучения ( CVPR 2022 ) [Paper] [CODE]
Ко-трансброс для обучения в классе ( ACM MM 2021 ) [Paper] [CODE]
На пути к реалистичной оценке промышленных сценариев непрерывного обучения с акцентом на энергопотребление и вычислительный след ( ICCV 2023 ) [Paper] [Код]
Динамический остаточный классификатор для инкрементного обучения класса ( ICCV 2023 ) [Paper] [Код]
S-Prompts Learning с предварительно обученными трансформаторами: бритва Occam для инкрементного обучения домена ( Neurips 2022 ) [Paper] [Code]
Пожалуйста, проверьте лицензию MIT, которая указана в этом хранилище.
Мы благодарим следующие репо, предоставляющие полезные компоненты/функции в нашей работе.
Поток обучения и конфигурации данных основаны на непрерывном обучении. Первоначальная информация репо доступна в базовой ветви.
Если есть какие-либо вопросы, пожалуйста, не стесняйтесь предлагать новые функции, открыв проблему или контакт с автором: da-wei Zhou ([email protected]) и Фу-Юн Ван ([email protected]). Наслаждайтесь кодом.