L2C
1.0.0
심층 신경망을 사용한 클러스터링 전략. 이 블로그 기사는 일반적인 개요를 제공합니다.
이 저장소는 L2C(전이 학습 체계)의 PyTorch 구현과 심층 클러스터링에 유용한 두 가지 학습 기준을 제공합니다.
*CCL에서 명칭이 변경되었습니다.
이 저장소는 다음 참고 자료를 다룹니다.
@inproceedings{Hsu19_MCL,
title = {Multi-class classification without multi-class labels},
author = {Yen-Chang Hsu, Zhaoyang Lv, Joel Schlosser, Phillip Odom, Zsolt Kira},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2019},
url = {https://openreview.net/forum?id=SJzR2iRcK7}
}
@inproceedings{Hsu18_L2C,
title = {Learning to cluster in order to transfer across domains and tasks},
author = {Yen-Chang Hsu and Zhaoyang Lv and Zsolt Kira},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2018},
url = {https://openreview.net/forum?id=ByRWCqvT-}
}
@inproceedings{Hsu16_KCL,
title = {Neural network-based clustering using pairwise constraints},
author = {Yen-Chang Hsu and Zsolt Kira},
booktitle = {ICLR workshop},
year = {2016},
url = {https://arxiv.org/abs/1511.06321}
}
이 저장소는 PyTorch 1.0, Python 2.7, 3.6 및 3.7을 지원합니다.
pip install -r requirements.txt
# A quick trial:
python demo.py # Default Dataset:MNIST, Network:LeNet, Loss:MCL
python demo.py --loss KCL
# Lookup available options:
python demo.py -h
# For more examples:
./scripts/exp_supervised_MCL_vs_KCL.sh
# Learn the Similarity Prediction Network (SPN) with Omniglot_background and then transfer to the 20 alphabets in Omniglot_evaluation.
# Default loss is MCL with an unknown number of clusters (Set a large cluster number, i.e., k=100)
# It takes about half an hour to finish.
python demo_omniglot_transfer.py
# An example of using KCL and set k=gt_#cluster
python demo_omniglot_transfer.py --loss KCL --num_cluster -1
# Lookup available options:
python demo_omniglot_transfer.py -h
# Other examples:
./scripts/exp_unsupervised_transfer_Omniglot.sh
데이터세트 | gt #클래스 | KCL(k=100) | MCL(k=100) | KCL(k=gt) | MCL(k=gt) |
---|---|---|---|---|---|
천사 같은 | 20 | 73.2% | 82.2% | 89.0% | 91.7% |
Atemayar_Qelisayer | 26 | 73.3% | 89.2% | 82.5% | 86.0% |
대서양 | 26 | 65.5% | 83.3% | 89.4% | 93.5% |
Aurek_Besh | 26 | 88.4% | 92.8% | 91.5% | 92.4% |
아베스타 | 26 | 79.0% | 85.8% | 85.4% | 86.1% |
Ge_ez | 26 | 77.1% | 84.0% | 85.4% | 86.6% |
글라골어 | 45 | 83.9% | 85.3% | 84.9% | 87.4% |
구르무키 | 45 | 78.8% | 78.7% | 77.0% | 78.0% |
칸나다어 | 41 | 64.6% | 81.1% | 73.3% | 81.2% |
케블 | 26 | 91.4% | 95.1% | 94.7% | 94.3% |
말라얄람어 | 47 | 73.5% | 75.0% | 72.7% | 73.0% |
마니푸리 | 40 | 82.8% | 81.2% | 85.8% | 81.5% |
몽고 어 | 30 | 84.7% | 89.0% | 88.3% | 90.2% |
Old_Church_Slavonic_Cyrillic | 45 | 89.9% | 90.7% | 88.7% | 89.8% |
오리야어 | 46 | 56.5% | 73.4% | 63.2% | 75.3% |
실헤티 | 28 | 61.8% | 68.2% | 69.8% | 80.6% |
시리아어_세르토 | 23 | 72.1% | 82.0% | 85.8% | 89.8% |
텡와르 | 25 | 67.7% | 76.4% | 82.5% | 85.5% |
티베트어 | 42 | 81.8% | 80.2% | 84.3% | 81.9% |
ULOG | 26 | 53.3% | 77.1% | 73.0% | 89.1% |
--평균-- | 75.0% | 82.5% | 82.4% | 85.7% |
MCL의 손실 표면은 KCL보다 교차 엔트로피(CE)와 더 유사합니다. 경험적으로 MCL은 KCL보다 빠르게 수렴되었습니다. 자세한 내용은 ICLR 논문을 참고하세요.
@article{Hsu18_InsSeg,
title = {Learning to Cluster for Proposal-Free Instance Segmentation},
author = {Yen-Chang Hsu, Zheng Xu, Zsolt Kira, Jiawei Huang},
booktitle = {accepted to the International Joint Conference on Neural Networks (IJCNN)},
year = {2018},
url = {https://arxiv.org/abs/1803.06459}
}
이 작업은 협력 계약 HR0011-18-2-001에 따라 국립 과학 재단 및 국립 로봇 공학 이니셔티브(보조금 # IIS-1426998) 및 DARPA의 평생 학습 기계(L2M) 프로그램의 지원을 받았습니다.