새소식

Study/Today_I_Learned

[Youtube] Andrew Ng 앤드류 응 교수 - Data-centric AI: Real World Approaches 리뷰

  • -
728x90

 인공지능 분야에서 '좋은 데이터'를 얻기란 쉽지 않습니다. 수집과 labeling, 검수 과정에는 생각보다 많은 비용이 들어가기 때문입니다. 좋은 데이터를 만드는 데 걸리는 시간을 줄이기 위해, Data-centric AI: Real World Approaches 영상을 통해 data-centric AI는 무엇인지 알고 좋은 데이터를 얻기 위한 팁을 알아보려고 합니다. 요새 일하고 있는 프로젝트에 적용할만한 요소가 많을 것 같아 앤드류 응 교수님의 피치에 대해서만 정리해 보았습니다. 

 

The Data-centric AI movement 

 기존의 model-centric approach는 데이터셋을 다운로드해 데이터셋을 고정시키고 code를 수정하는 방식이었습니다. 공개되어 있는 오픈소스는 깃헙에서 pull받아 사용할 수 있습니다. 하지만 이 영상에서는, 데이터를 생산하는 방법에 대해 집중해 보겠습니다. 

 이미 많은 회사들이 computer vision과 관련된 data-centric MLOps platform을 제공하고 있습니다. Landing AI 이 외에도 kili technology, scaleAI, snorkel 등 데이터 중심의 인공지능을 언급합니다. 

 data-centric AI 개발 팁

  1. 일관성 있는 y value (label)가 부여되어야 함
    명확한 기준(e.g 스크래치의 길이)을 바탕으로 부여해야 이상적인 레이블링
    noisy dataset은 딥러닝 모델이 혼동을 일으켜 성능이 저하될 수 있음
  2. inconsistency를 관찰하기 위해 다수의 labeler들을 활용하기
    여러 작업자의 labeling 예시들을 통해 일관적이지 않은 lable을 관찰할 수 있음
    (e.g lable name, bounding box size, box 개수 등)
  3. 애매한 예시들을 추적함으로써 라벨링 가이드를 명확히 하기
    1) 명확하지 않거나 일관적이지 않은 label의 예시를 찾아서
    2) 해당 예시들에 대한 기준을 명확히 하기 위해 결정을 내리고
    3) labeling instructions를 문서화
  4. noisy data (기준이 명확하지 않아 판정이 어려운 데이터)를 데이터셋에서 제외하기
    많은 데이터가 항상 좋은 것은 아님을 알기
  5. error analysis를 통해 일부 데이터의 (subset) 품질 높이기
    e.g 알약의 스크래치 판정 기준이 만족스럽지 않다면, 스크래치로 분류된 이미지만 선별하여 1번부터 iteration

Iterative workflow of ML on data centric AI

데이터를 중심으로 한 머신러닝 워크플로우는 다음과 같습니다.

Train model → error analysis to decide on next step → improve data → train model
모델 학습 → 에러 분석 → 에러 분석을 기반으로 한 데이터 개선 → 모델 재학습

중요한 점은, 모델 학습 결과를 확인 후 모델을 수정하는 것이 아니라, 관찰한 결과를 통해 데이터를 개선시킬 점을 찾아내고, 적용함으로써 데이터 품질을 향상시키는 것입니다. 위에서 예를 들었던 것처럼 알약의 스크래치 여부를 판정할 때 같은 스크래치라도 어떤 작업자가 bounding box를 얼마나 타이트하게 쳤는지, 스크래치가 아닌 다른 class로 label을 부여했는지 여부에 따라 모델이 학습한 결과에 큰 영향을 미칠 수 있기 때문입니다. 

 데이터 품질을 높이는 방법을 크게 두 가지 - '정답지'인 ground truth에 대한 방법과 '문제지'인 이미지 데이터에 대한 방법으로 분류할 수 있습니다. 

improve y

  • Multiple labelers to measure consistency
  • Improve label deficitions&relabel more consistently

improve x

  • Toss out noisy examples
  • Improve the quality of input x
  • Get more data - data synthesis, augmentation, collect more

Conclusion

 이와 같은 방법은 데이터의 전처리가 아닙니다. 데이터 품질의 향상은 모델의 성능을 높이기 위한 deployment, monitoring, maintenance 다음의 또 다른 단계이며, 반복적으로 수행될 수 있습니다. 


 앤드류 응 교수님의 피치 외에도 머신러닝과 관련된 좋은 인사이트를 얻을 수 있는 영상이었습니다! 시간이 되신다면 전체 영상을 한 번쯤 보시는 것을 추천드립니다. 

 

 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.