مقدمة • الأساليب المستنسخة • النتائج المستنسخة • كيفية الاستخدام • الترخيص • الاعتراف • الاتصال

مرحبًا بك في PYCIL ، ربما يكون صندوق الأدوات للتعلم بين الفئة مع الأساليب الأكثر تنفيذًا. هذا هو مستودع التعليمات البرمجية لـ "Pycil: A Python Toolbox للتعلم بين الفئة" [Paper] في Pytorch. إذا كنت تستخدم أي محتوى من هذا الريبو لعملك ، فيرجى الاستشهاد بإدخالات المريلة التالية:
@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 ، مفتوح المصدر مع ترخيص معهد ماساتشوستس للتكنولوجيا.
لمزيد من المعلومات حول التعلم الإضافي ، يمكنك الرجوع إلى مواد القراءة هذه:
FineTune : طريقة خط الأساس التي تقوم ببساطة بتحديث المعلمات في المهام الجديدة.EWC : التغلب على نسيان كارثي في الشبكات العصبية. PNAS2017 [ورقة]LwF : التعلم دون نسيان. ECCV2016 [ورقة]Replay : طريقة خط الأساس مع إعادة الإعادة النموذجية.GEM : تدرج الذاكرة العرضية للتعلم المستمر. NIPS2017 [ورقة]iCaRL : المصنف الإضافي والتعلم التمثيل. CVPR2017 [ورقة]BiC : التعلم الإضافي على نطاق واسع. CVPR2019 [ورقة]WA : الحفاظ على التمييز والإنصاف في التعلم التدريجي للطبقة. CVPR2020 [ورقة]PODNet : podnet: مخرجات تجميع التقطير لمهام المهام التعلم التزايدي. ECCV2020 [ورقة]DER : DER: تمثيل قابل للتوسيع ديناميكيًا للتعلم التدريجي للصف. CVPR2021 [ورقة]PASS : زيادة النموذج والخبرة الذاتية للتعلم الإضافي. CVPR2021 [ورقة]RMM : RMM: إدارة الذاكرة المعززة للتعلم بين الفصل. Neups2021 [ورقة]IL2A : التعلم بين الطبقة عبر زيادة مزدوجة. Neups2021 [ورقة]ACIL : التعلم التحليلي للطبقة مع الحفظ المطلق وحماية الخصوصية. Neups 2022 [ورقة]SSRE : التوسع في التمثيل الذاتي للتعلم غير المنطقي. CVPR2022 [ورقة]FeTrIL : ترجمة ميزة للتعلم الخالي من النموذج. WACV2023 [ورقة]Coil : النقل المشترك للتعلم بين الفئة. ACM MM2021 [ورقة]FOSTER : ميزة تعزيز وضغط للتعلم بين الطبقة. ECCV 2022 [ورقة]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 لإعدادات GLOBAL.[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 ) [ورقة]
إعادة النظر في التعلم بين الطبقة مع النماذج المدربة قبل التدريب: التعميم والتكيف هما كل ما تحتاجه ( IJCV 2024 ) [ورقة] [رمز]
التعلم بين الفئة: استطلاع ( TPAMI 2024 ) [ورقة] [رمز]
فرقة الفضاء الفرعية القابلة للتوسيع للتعلم بين الفئة المعتمدة على النموذج ( CVPR 2024 ) [ورقة] [رمز]
زيادة ميزة البروفة متعددة الطبقات للتعلم بين الفئة ( ICML 2024 ) [ورقة] [رمز]
التعلم المستمر مع النماذج المدربة مسبقًا: مسح ( IJCAI 2024 ) [ورقة] [رمز]
توجيه المحول التكيفي للتعلم الطبقي الطويل ( التعلم الآلي 2024 ) [ورقة] [رمز]
التعلم دون نسيان نماذج لغة الرؤية ( ARXIV 2023 ) [ورقة]
الطيار: صندوق أدوات التعلم المستمر المستمر قبل التدريب على النموذج ( ARXIV 2023 ) [ورقة] [رمز]
التعلم بين الطبقات القليلة من خلال المعايرة النموذجية الخالية من التدريب ( Neups 2023 ) [ورقة] [رمز]
لحوم البقر: التعلم بين الفئة المتوافقة مع التوسع القائم على الطاقة والانصهار ( ICLR 2023 ) [ورقة] [رمز]
نموذج أو 603 نماذج: نحو التعلم بين الفئة المؤسفة للذاكرة ( ICLR 2023 ) [ورقة] [رمز]
التعلم بين الطبقات القليلة من خلال أخذ عينات من المهام متعددة المراحل ( TPAMI 2022 ) [ورقة] [رمز]
فوستر: ميزة تعزيز وضغط للتعلم بين الفئة ( ECCV 2022 ) [ورقة] [رمز]
التعلم المتوافق مع الصفوف القليلة المتوافقة ( CVPR 2022 ) [ورقة] [رمز]
النقل المشارك للتعلم بين الفئة ( ACM MM 2021 ) [ورقة] [رمز]
نحو التقييم الواقعي لسيناريوهات التعلم المستمر الصناعي مع التركيز على استهلاك الطاقة والبصمة الحسابية ( ICCV 2023 ) [ورقة] [رمز]
المصنف المتبقي الديناميكي للتعلم التدريجي للصف ( ICCV 2023 ) [ورقة] [رمز]
S-Prompts التعلم مع المحولات التي تم تدريبها مسبقًا: حلاقة Occam للتعلم الإضافي للمجال ( Neups 2022 ) [ورقة] [رمز]
يرجى التحقق من ترخيص معهد ماساتشوستس للتكنولوجيا المدرج في هذا المستودع.
نشكر Repos التالية التي توفر مكونات/وظائف مفيدة في عملنا.
تعتمد تدفق التدريب وتكوينات البيانات على إعادة التعلم المستمر. المعلومات الأصلية من الريبو متوفرة في الفرع الأساسي.
إذا كانت هناك أي أسئلة ، فلا تتردد في اقتراح ميزات جديدة عن طريق فتح مشكلة أو الاتصال بالمؤلف: da-wei Zhou ([email protected]) وفو يون وانغ ([email protected]). استمتع بالرمز.