บทนำ•วิธีการทำซ้ำ•ผลลัพธ์ที่ทำซ้ำ•วิธีการใช้•ใบอนุญาต•กิตติกรรมประกาศ•ติดต่อ

ยินดีต้อนรับสู่ Pycil บางทีกล่องเครื่องมือสำหรับการเรียนรู้ในชั้นเรียนด้วยวิธีการที่นำไปใช้ มากที่สุด นี่คือที่เก็บรหัสสำหรับ "Pycil: กล่องเครื่องมือ Python สำหรับการเรียนรู้ในชั้นเรียน" [กระดาษ] ใน Pytorch หากคุณใช้เนื้อหาใด ๆ ของ repo นี้สำหรับงานของคุณโปรดอ้างอิงรายการ 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 ในชั้นเรียนเป็นโอเพ่นซอร์สที่มีใบอนุญาต MIT
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเรียนรู้ที่เพิ่มขึ้นคุณสามารถอ้างถึงสื่อการอ่านเหล่านี้:
FineTune : วิธีพื้นฐานที่เพียงแค่อัปเดตพารามิเตอร์ในงานใหม่EWC : การเอาชนะความหายนะที่ลืมในเครือข่ายประสาท PNAS2017 [กระดาษ]LwF : การเรียนรู้โดยไม่ลืม ECCV2016 [กระดาษ]Replay : วิธีพื้นฐานพร้อมการเล่นซ้ำแบบอย่างGEM : หน่วยความจำฉากไล่ระดับสีสำหรับการเรียนรู้อย่างต่อเนื่อง NIPS2017 [กระดาษ]iCaRL : ตัวจําแนกเพิ่มขึ้นและการเรียนรู้การเป็นตัวแทน CVPR2017 [กระดาษ]BiC : การเรียนรู้ที่เพิ่มขึ้นขนาดใหญ่ CVPR2019 [กระดาษ]WA : การรักษาการเลือกปฏิบัติและความเป็นธรรมในการเรียนรู้ที่เพิ่มขึ้นในชั้นเรียน CVPR2020 [กระดาษ]PODNet : PODNET: การกระจายเอาต์พุตสำหรับการเรียนรู้ขนาดเล็กที่เพิ่มขึ้น ECCV2020 [กระดาษ]DER : DER: การเป็นตัวแทนที่ขยายได้แบบไดนามิกสำหรับการเรียนรู้ที่เพิ่มขึ้นในชั้นเรียน CVPR2021 [กระดาษ]PASS : การเพิ่มต้นแบบและการดูแลตนเองสำหรับการเรียนรู้ที่เพิ่มขึ้น CVPR2021 [กระดาษ]RMM : RMM: การจัดการหน่วยความจำเสริมสำหรับการเรียนรู้ในชั้นเรียน Neurips2021 [กระดาษ]IL2A : การเรียนรู้ในชั้นเรียนผ่านการเสริมคู่ Neurips2021 [กระดาษ]ACIL : การเรียนรู้การเรียนรู้ในชั้นเรียนด้วยการท่องจำแบบสัมบูรณ์และการป้องกันความเป็นส่วนตัว Neurips 2022 [กระดาษ]SSRE : การขยายตัวของการเป็นตัวแทนที่ยั่งยืนสำหรับการเรียนรู้แบบชั้นเรียนที่ไม่ได้ใช้งาน CVPR2022 [กระดาษ]FeTrIL : การแปลคุณสมบัติสำหรับการเรียนรู้ชั้นเรียนแบบไม่เป็นแบบอย่าง WACV2023 [กระดาษ]Coil : การแปลร่วมสำหรับการเรียนรู้ในชั้นเรียน ACM MM2021 [กระดาษ]FOSTER : การเพิ่มคุณสมบัติและการบีบอัดสำหรับการเรียนรู้ในชั้นเรียน ECCV 2022 [กระดาษ]MEMO : โมเดลหรือแบบอย่าง 603: ไปสู่การเรียนรู้ระดับความทรงจำในชั้นเรียนที่มีประสิทธิภาพ ICLR 2023 Spotlight [Paper]BEEF : 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 ) [กระดาษ] [รหัส]
การเรียนรู้ชั้นเรียน: การสำรวจ ( TPAMI 2024 ) [กระดาษ] [รหัส]
Subspace Ensemble ที่ขยายได้สำหรับการเรียนรู้แบบคลาสที่ได้รับการฝึกฝนมาก่อน ( CVPR 2024 ) [กระดาษ] [รหัส]
การเสริมคุณสมบัติการฝึกซ้อมแบบหลายชั้นสำหรับการเรียนรู้ชั้นเรียน ( ICML 2024 ) [กระดาษ] [รหัส]
การเรียนรู้อย่างต่อเนื่องกับแบบจำลองที่ผ่านการฝึกอบรมมาก่อน: การสำรวจ ( IJCAI 2024 ) [กระดาษ] [รหัส]
การกำหนดเส้นทางอะแดปเตอร์แบบปรับตัวสำหรับการเรียนรู้ชั้นเรียนแบบหางยาว ( การเรียนรู้ของเครื่อง 2024 ) [กระดาษ] [รหัส]
การเรียนรู้โดยไม่ลืมโมเดลภาษาวิสัยทัศน์ ( Arxiv 2023 ) [กระดาษ]
นักบิน: กล่องเครื่องมือการเรียนรู้อย่างต่อเนื่องแบบจำลองที่ผ่านการฝึกอบรมมาก่อน ( ARXIV 2023 ) [กระดาษ] [รหัส]
การเรียนรู้แบบชั้นเรียนไม่กี่ครั้งผ่านการสอบเทียบต้นแบบที่ปราศจากการฝึกอบรม ( Neurips 2023 ) [Paper] [Code]
BEEF: การเรียนรู้ที่เข้ากันได้กับชั้นเรียน BI ผ่านการขยายตัวของพลังงานและฟิวชั่น ( ICLR 2023 ) [กระดาษ] [รหัส]
แบบจำลองหรือ 603 แบบอย่าง: ไปสู่การเรียนรู้ระดับความทรงจำในชั้นเรียน ( ICLR 2023 ) [กระดาษ] [รหัส]
การเรียนรู้แบบคลาสไม่กี่ชั้นโดยการสุ่มตัวอย่างงานหลายเฟส ( TPAMI 2022 ) [กระดาษ] [รหัส]
Foster: การเพิ่มคุณสมบัติและการบีบอัดสำหรับการเรียนรู้ในชั้นเรียน ( ECCV 2022 ) [กระดาษ] [รหัส]
ส่งต่อการเรียนรู้ในชั้นเรียนไม่กี่ชั้นที่เข้ากันได้ ( CVPR 2022 ) [กระดาษ] [รหัส]
การแปลร่วมสำหรับการเรียนรู้ในชั้นเรียน ( ACM MM 2021 ) [กระดาษ] [รหัส]
สู่การประเมินสถานการณ์การเรียนรู้อย่างต่อเนื่องในอุตสาหกรรมที่เป็นจริงโดยเน้นการใช้พลังงานและรอยเท้าการคำนวณ ( ICCV 2023 ) [กระดาษ] [รหัส]
ตัวจําแนกที่ตกค้างแบบไดนามิกสำหรับการเรียนรู้แบบเพิ่มคลาส ( ICCV 2023 ) [กระดาษ] [รหัส]
การเรียนรู้ S-Prompts กับ Transformers ที่ผ่านการฝึกอบรมมาก่อน: มีดโกนของ Occam สำหรับการเรียนรู้ที่เพิ่มขึ้นของโดเมน ( Neurips 2022 ) [Paper] [Code]
โปรดตรวจสอบใบอนุญาต MIT ที่ระบุไว้ในที่เก็บนี้
เราขอขอบคุณ repos ต่อไปนี้ที่ให้ส่วนประกอบ/ฟังก์ชั่นที่เป็นประโยชน์ในงานของเรา
การฝึกอบรมและการกำหนดค่าข้อมูลจะขึ้นอยู่กับการเรียนรู้อย่างต่อเนื่อง ข้อมูลดั้งเดิมของ repo มีอยู่ในสาขาฐาน
หากมีคำถามใด ๆ โปรดอย่าลังเลที่จะเสนอคุณสมบัติใหม่โดยการเปิดปัญหาหรือติดต่อกับผู้แต่ง: da-wei zhou ([email protected]) และ fu-yun wang ([email protected]) สนุกกับรหัส