[ICCV 2023] (ปากเปล่า) นี่คือที่เก็บอย่างเป็นทางการสำหรับบทความของเรา: การปรับพารามิเตอร์การมองเห็นที่มีประสิทธิภาพด้วยความไวโดย Haoyu HE, Jianfei Cai, Jing Zhang, Dacheng Tao และ Bohan Zhuang
[2023-09-12]: รหัสปล่อยข่าว
[2023-08-12]: ได้รับการยอมรับจาก ICCV 2023 สำหรับการนำเสนอด้วยวาจา!
แทนที่จะนำเสนอสถาปัตยกรรมอื่นที่มีพารามิเตอร์ที่เรียนรู้ได้ในการปรับแต่งพารามิเตอร์การปรับจูน (PEFT) งานของเราเน้นความสำคัญในการทำให้สถาปัตยกรรม PEFT ไปยังตำแหน่งที่เหมาะสมที่สุดสำหรับงานที่หลากหลาย!

SPT ของเราประกอบด้วยสองขั้นตอน
ขั้นตอนที่ 1 เป็นการ ประมาณค่าความไวของพารามิเตอร์เดียวที่รวดเร็ว มาก (หลายวินาที) เพื่อค้นหาตำแหน่งที่จะแนะนำพารามิเตอร์ที่สามารถฝึกอบรมได้ ต่อไปนี้เป็นรูปแบบความไวที่น่าสนใจในการฝึกอบรมก่อนที่จะได้รับการฝึกอบรมล่วงหน้าด้วยพารามิเตอร์ที่มีความอ่อนไหวสูงสุด 0.4% เราพบว่าสัดส่วนแสดง รูปแบบที่แตกต่างกันเฉพาะงานในแง่ของความลึกของเครือข่าย และ รูปแบบที่คล้ายคลึงกันของงานในแง่ของการดำเนินงาน


Stage 2 เป็น PEFT มาตรฐานที่ทำให้พารามิเตอร์ส่วนใหญ่แช่แข็งและปรับแต่งการฝึกอบรมได้อย่างละเอียดเท่านั้น SPT ของเราแนะนำพารามิเตอร์ที่ฝึกอบรมได้ไปยังตำแหน่งที่ละเอียดอ่อนในสองเม็ด: เซลล์ประสาทที่ไม่มีโครงสร้างและโมดูล PEFT ที่มีโครงสร้าง (เช่น LORA หรืออะแดปเตอร์) เพื่อให้ได้ประสิทธิภาพที่ดี!

หากคุณพบที่เก็บนี้หรือบทความของเรามีประโยชน์โปรดพิจารณาอ้างอิงและแสดงให้เราเห็น!
@inproceedings{he2023sensitivity,
title={Sensitivity-Aware Visual Parameter-Efficient Fine-Tuning},
author={He, Haoyu and Cai, Jianfei and Zhang, Jing and Tao, Dacheng and Zhuang, Bohan},
booktitle={ICCV},
year={2023}
}
เราได้ทดสอบรหัสของเราทั้งคบเพลิง 1.8.0 และ 1.10.0 โปรดติดตั้งการพึ่งพาอื่น ๆ ด้วยรหัสต่อไปนี้ในโฮมไดเร็กตอรี่:
pip install -r requirements.txt
เราให้บริการการฝึกอบรมและรหัสการอนุมานสำหรับเกณฑ์มาตรฐานหลัก VTAB-1K ของเรา
cd data/vtab-source
python get_vtab1k.py
PS: คุณอาจต้องติดตั้ง SUN397 ด้วยตนเอง โปรดดู VTAB-1K
โปรดดาวน์โหลด backbones ด้วยรหัสต่อไปนี้:
cd checkpoints
# Supervised pre-trained ViT-B/16
wget https://console.cloud.google.com/storage/browser/_details/vit_models/imagenet21k/ViT-B_16.npz
# MAE pre-trained ViT-B/16
wget https://dl.fbaipublicfiles.com/mae/pretrain/mae_pretrain_vit_base.pth
# MoCo V3 pre-trained ViT-B/16
wget https://dl.fbaipublicfiles.com/moco-v3/vit-b-300ep/linear-vit-b-300ep.pth.tar
เราได้ให้รหัสต่อไปนี้ (เราได้ให้ความไวสำหรับ VIT-B/16 ที่ผ่านการฝึกอบรมมาแล้วในการดูแลอยู่แล้วใน sensitivity_spt_supervised_lora_a10 และ sensitivity_spt_supervised_adapter_a10 )
# SPT-ADAPTER and SPT-LORA with supervised pre-trained ViT-B/16
bash configs/vtab_mae_spt_lora_sensitivity.sh
bash configs/vtab_mae_spt_adapter_sensitivity.sh
# SPT-ADAPTER and SPT-LORA with MAE pre-trained ViT-B/16
bash configs/vtab_mae_spt_lora_sensitivity.sh
bash configs/vtab_mae_spt_adapter_sensitivity.sh
# SPT-ADAPTER and SPT-LORA with MoCo V3 pre-trained ViT-B/16
bash configs/vtab_mae_spt_lora_sensitivity.sh
bash configs/vtab_mae_spt_adapter_sensitivity.sh
เราได้ให้รหัสการฝึกอบรมต่อไปนี้:
# SPT-ADAPTER and SPT-LORA with supervised pre-trained ViT-B/16
bash configs/vtab_supervised_spt_lora.sh
bash configs/vtab_supervised_spt_adapter.sh
# SPT-ADAPTER and SPT-LORA with MAE pre-trained ViT-B/16
bash configs/vtab_mae_spt_lora.sh
bash configs/vtab_mae_spt_adapter.sh
# SPT-ADAPTER and SPT-LORA with MoCo V3 pre-trained ViT-B/16
bash configs/vtab_moco_spt_lora.sh
bash configs/vtab_moco_spt_adapter.sh
PS: เรากวาดงบประมาณพารามิเตอร์ที่สามารถฝึกอบรมได้ที่แตกต่างกันเพื่อค้นหาผลลัพธ์ที่ดีกว่า (จาก 0.2m ถึง 1.0m)
- [x] Release code for SPT on ViTs.
- [ ] Release code for FGVC benchmark training (ETA October).
- [ ] Release code for SPT on Swin (ETA October).
- [ ] Release code for SPT on ConvNext (ETA October).
- [ ] Integrate to [PEFT](https://github.com/huggingface/peft) package.
รหัสของเราได้รับการแก้ไขจาก Noah, Coop, Autoformer, Timm และ MMCV เราขอขอบคุณผู้เขียนสำหรับรหัสที่เปิดกว้างของพวกเขา