프로젝트 개요
CLIP을 활용한 음식 분류 모델을 제작하고 Zero-Shot 성능을 검증한 프로젝트입니다.
Abstract
- 음식 데이터에 대응하기 위한 CLIP 제로샷 분류 모델 개발
- 한정된 라벨 내 분류 성능 81%, 제로샷 분류 성능 26% 달성
- CLIP 성능을 높이기 위한 대분류 정보를 활용한 2-stage 분류, hard negative sampling 수행
- 지속 가능한 AI 학습을 위한 학습 파이프라인 구축
EDA
누비랩 데이터셋 EDA
데이터셋 확인
- Train과 Test 데이터를 대분류(구이류, 밥류 등)로 구분하여 각각의 분포를 확인.
- 모든 라벨들을 음식라벨 단위로 토크나이징하여 특이점 분석 진행.
인사이트
- 데이터가 특히 적은 음식 라벨들을 파악함.
- Train: 고등어찌개, 꽁치찌개, 닭개장, 미역오이냉국, 뼈해장국, 육개장, 추어탕, 해물탕 → 8가지 라벨들 각각 200장 이하, 나머지는 모두 1000장 이상.
- Test: 고등어찌개, 꽁치찌개, 닭개장, 미역오이냉국, 뼈해장국, 육개장, 추어탕, 해물탕 → 8가지 라벨들 60~80개의 이미지, 나머지 378개의 음식 종류는 400~700개 사이
- 토크나이징 결과 가장 많은 토큰으로 나뉜 라벨은
돼지고기메추리알장조림
으로 총 6개의 토큰으로 도출됨.