Chen, Zhiyuan, and Bing Liu의 “Lifelong machine learning.” chapeter 5, Open-world Learning을 읽고 간단하게 정리합니다.
Problem Definition
- Closed-world assumption: 모든 테스트 클래스가 이미 학습 과정에서 본 것들로 이루어짐
- Open-world learning: 모델 테스트 단계에서 이전에 본 적 없는 클래스가 입력되는 경우에, scratch부터 재학습 시키지 않더라도 모델이 대응할 수 있어야 함. 관련된 용어로는 cumulative learning 혹은 open-world recognition 등이 존재
- $N$개의 class에 대해 학습한 모델이 테스트에서 해당 $N$개에 속하지 않는 unseen class를 발견한 경우, 이를 rejected $R$ set에 보관
- $R$ set에서 $k$개의 unseen class를 인식하고, 각 class에 알맞게 학습 데이터 (자동으로) 수집
- 충분한 데이터가 쌓였다면 $k$개 class에 대한 incremental learning을 통해 $N+k$ class의 지식을 지닌 모델로 업데이트
How to Solve?: CBS Learning
- CBS Learning: center-based similarity space learning
- Classification 하려는 target class의 center feature $c$와 sample feature의, feature space 상에서의 similarity가 높도록 학습
Deep Open Classification (DOC)
- 1-vs.-rest layer: Softmax를 사용하는 대신 $N$개의 sigmoid layer를 last layer로 사용함. 모든 sigmoid output에 대해서 threshold $t$ (default=0.5)를 넘지 못하면 reject(unseen class로 취급)함. 그리고 reject되지 않은 경우에는 제일 높은 sigmoid output을 가진 class를 선택함.
- Basic DOC는 1-vs.-rest layer를 사용하며, 당시(2017) SOTA 성능을 보였음
- 근데 생각보다 0.5 threshold를 넘어가는 unseen class가 많았음. 따라서 threshold를 통계 기반으로 정밀하게 조절할 수 있는 방법을 고안했더니 더 성능이 올랐음 (자세한 내용 책 직접 참고)
References
- Chen, Zhiyuan, and Bing Liu. “Lifelong machine learning.” Synthesis Lectures on Artificial Intelligence and Machine Learning 12.3 (2018): 1-207