22년 9월 부스트캠프 AI Tech 4기부터 함께한 **“우주에 의미 있는 흔적을 남기자”**라는
목표 아래 5명이 모인 팀입니다.
지구코딩실은 더 깊은 성장, 더 넓은 경험을 위해 3가지 Core Values를 추구하고 있어요!
자세한 내용은 아래 링크에서 확인해 주세요 🚀
매년 440조원이 낭비되고 있는 시장이 있습니다. 과연 어떤 시장일까요?
바로 수요 예측에 실패하여 버려지는 음식물의 경제적 가치입니다.
충분히 먹을 수 있음에도 단순히 까먹고 유통기한이 지나서, 취향에 맞지 않는다는 이유로
매년 엄청난 양의 음식물이 버려지고 있어요.
그래서 지구코딩실과 누비랩은 이 문제를 해결하고자 합니다.
음식 수요 예측을 통해 잔반량을 줄이려면 먼저 해결해야할 문제가 있어요.
바로 음식 이미지 분류에요.
음식을 잘 구분할 수 있어야 어떤 음식이 많이 남는지를 알 수 있어요.
그리고 이를 수치화하여 음식이 얼마나 수요가 있을지,
나아가 얼마나 남을지를 예측하고 잔반 처리비용을 줄일 수 있어요.
그런데 음식 이미지 분류, 생각해보면 참 간단한 과제이지 않나요?
우리 주변에서 손쉽게 구할 수 있는 음식 데이터,
또 이미지 분류는 이미 전통적으로 많이 연구되어 왔어요.
하지만 음식 이미지 분류는 생각보다 그리 만만한 과제가 아니랍니다.
190,659개.
만개의 레시피에 등록된 요리의 레시피 개수랍니다.
이처럼 음식이란 사람, 지역, 취향마다 다양한 변형이 가능하고 그 가짓수는 무궁무진해요!
그런데 이들 음식 데이터들을 모두 라벨링할 수 있을까요?
또 처음 보는 음식에는 어떻게 대처해야 할까요?
이것을 해결하기 위해 지구코딩실은 CLIP을 활용하여
zero-shot 음식 이미지 분류 모델을 개발하고자 합니다.
자세한 이야기는 발표 자료를 참고해주세요. 😊
지구코딩실은 혼자 잘하는 것이 아닌, 함께 소통하고 성장 할 수 있는 팀 문화를 중시해요.
지구코딩실의 모두가 더 나은 커뮤니케이션,
더 멋진 개발을 위해 늘 머리를 맞대고 함께 고민하고 있답니다.
이를 통해 팀원 모두가 행복하게 개발하고, 더욱 성장하고 싶어지는 팀을 만들고자 노력하고 있어요.
음식 분류에 특화된 CLIP 모델 설계
다 네 덕분이야 CLIP, 처음 보는 음식이 놀랍지 않은게
학습이 되지 않은 새로운 음식의 종류가 있다면 어떨까요? 기존 이미지 모델들은 모르는 음식에 대해서는 전혀 예측할 수 없어요. 그래서 지구코딩실은 CLIP이라는 모델을 사용했어요.
그래서 CLIP 너가 뭔데?
우선 이미지와 텍스트가 입력으로 주어지면 각각 텍스트 인코더와 이미지 인코더를 지나게 됩니다.
그리고 각 인코더의 출력 값들의 내적 연산을 통해 유사도 행렬을 구한답니다.
마지막으로 유사도 행렬을 기반으로 이미지와 가장 가까운 텍스트를 정답으로 예측을 출력한답니다.
기존 모델은 처음 보는 라벨의 정답을 예측하지 못하지만 CLIP은 텍스트와의 유사도를 구해서 예측을 하는 모델로 새로운 정답도 찾는 이점을 가지고 가는 것이죠!
모든 인스턴스에서 모델들이 같은 환경에서 학습할 수 있도록 파이프라인 제작
각기 서로 다른 인스턴스에서 변수를 통제하는 건 쉽지 않았어요. 🤔
프로젝트 초기에 서로 다른 개발 환경과 인스턴스 사용하다보니 여러가지 문제가 생겼어요.
인스턴스마다 서로 가지고 있는 데이터셋을 확인하기도 힘들었고,
서로 모델 파일을 공유하기 위해서는 1.5GB의 모델 파일을 그때마다 옮겨야 했어요.
우리 팀은 이 불편함을 해결하기 위해 파이프라인을 구성했고 이러한 효과들을 얻었답니다.
Before
After