본문 바로가기
TIL/Boostcamp AI tech

[데이터제작] 데이터 제작의 중요성 - Computer Vision

by seowit 2021. 11. 8.

한 AI의 모델의 성능은 모델의 구조, 데이터, 최적화의 조합으로 이루어진다.

지금까지는 모델의 구조와 하이퍼파라미터의 튜닝으로 AI 모델의 성능을 올렸다면, 지금부터는 데이터 조작으로 모델의 성능을 올리는 과정을 알아보자.

 

Software 1.0 vs. Software 2.0

 

software1.0은 딥러닝이 아닌 사람이 고민하여 feature를 추출하고 프로그램을 설계하고 구현하는 것을 의미한다.

software2.0은 AI 모델의 구조로 프로그램의 검색 범위를 한정하고, 데이터와 최적화 방법을 통해 최적의 프로그램을 찾는 것을 의미한다.

software2.0의 발전으로 software1.0의 프로그램이 software2.0으로 대체되고 있는 추세다. human detection, audio codec 등의 예시가 있다. 데이터 조작이 software2.0의 발전 속도에 도움이 될 수 있다. 

 

Production Process of AI Model

서비스 개발 시에는 데이터셋은 준비되어 있지 않고, 요구사항만 존재한다. 따라서 서비스에 적용되는 AI 개발 업무의 상당 부분이 데이터셋을 준비하는 작업이다.

 

Project Setup 단계에서 모델 요구사항(처리 시간, 목표 정확도, 목표 qps, Serving 방식, 장비 사양 등)을 정한다. 이 요구사항을 충족시키기 위해 방법에는 Data-Centric 과 Model-Centric 두 가지가 있다.

 

처음 모델 성능 달성을 위해서는 data와 model 구조가 50:50 비율로 중요하지만, 유지보수 시에는 data의 중요 비율이 80으로 커지게 된다.

 

Data-related tasks

 

✔ AI 서비스 개발에서 데이터 관련된 업무가 왜 이렇게 많을까?

  • 이유1. 어떻게 하면 좋을지 알려져 있지 않기 때문이다. 출간되는 논문의 비율만 봐도 모델의 구조로 성능을 높이는 방법이 99%이고, 데이터에 대한 논문은 1%에 불과하다. 좋은 데이터를 모으기 힘들고, 라벨링 비용이 많이 들고, 작업 기간이 오래 걸리는 이유로 학계에서 데이터에 다루기 힘든 상황이다.
  • 이유2. 데이터 라벨링 작업은 생각보다 어렵다. 데이터가 많다고 성능이 좋아지는 것이 아니라, 라벨링 노이즈를 상쇄할 정도로 깨끗한 라벨링 데이터가 많아야 성능이 좋아진다. 
  • 이유3. 데이터의 불균형을 바로잡기 어렵다. 

댓글