Study With Inha

[Data-centric AI - 1편] DCAI 소개 및 Data-centric AI: Perspectives and Challenges 논문 리뷰 본문

Vision Seminar

[Data-centric AI - 1편] DCAI 소개 및 Data-centric AI: Perspectives and Challenges 논문 리뷰

강이나 2023. 9. 5. 19:19
Data-centric AI: Perspectives and Challenges
https://arxiv.org/pdf/2301.04819v3.pdf

앤듀르 응(Andrew Ng) 교수님께서 최근 강조하고 계시는 Data-centric AI란 무엇인지, 그리고 왜 필요한가에 대해
Data-centric AI: Perspectives and Challenges 논문을 리뷰하면서 간단하게 소개하고자 한다.

 

1. Data-centric AI란?

이전까지 딥러닝을 연구할 때 중요했던 것은 데이터로 '모델'을 학습하는 것이었다.
하지만 우리는 이 과정에서 '어떤 데이터'로 모델을 학습하는지에 따라서 성능이 크게 좌우된다는 것을 느껴왔다.
따라서 사람들은 학습 데이터가 단순히 '모델'을 학습하기 위한 연료 개념이 아니라,
'좋은 데이터'로 모델을 학습하기 위한 연구도 필요하다는 의견이 제기되어 왔다.

따라서 아래 그림에서와 같이 classification, detection 등과 같이
specific한 task로 '모델'을 학습하고 성능을 평가하는 과거의 연구들과 달리,
어떤 '데이터'로 모델을 학습시켰을 때 성능이 향상 될 수 있었으며
무엇이 '좋은 데이터'인지를 평가하는 Data-centric AI 논문들이 최근 많이 출간되고 있다.

⏰ Data-centric AI (DCAI) 필요성
1. 모델의 성능을 종합적으로 평가 및 이해할 수 있는 좋은 데이터셋을 만들 필요가 있기 때문에
2. 실전에서는 데이터가 한 번에 만들어지지 않고 조금씩 여러번 만들어진 후 합쳐지므로, 좋은 데이터를 생성할 수 있는 효과적인 알고리즘 및 방법들이 필요하기 때문에

 

 


2. Data-centric AI의 task들

Data-centric AI로 해결하고자 하는 task 종류는 아래와 같이 크게 세 가지로 나눌 수 있다.

  1. Training Data Development
  2. Inference Data Development
  3. Data Maintenance

 

 

2-1. Training Data Development

DCAI의 측면에서 좋은 학습 데이터를 만들기 위해 연구되고 있는 분야는 아래 다섯가지로 나눌 수 있다.

1) data collection, 2) data labeling, 3) data preparation, 4) data reduction, 5) data augmentation

현재까지는 Data Processing (data reduction, augmentation)에만 집중했었다면, 이제부터는 Data Creation (data collection, labeling)이 주요한 연구 분야가 될 것이라고 얘기함.
즉, 데이터를 다 모은 후에 어떻게 가공할 것인가?의 논점보다는 노이즈 없는 데이터를 적은 cost로 잘 모으는 것이 큰 관심거리가 될 것이라는 말인 것 같다.

 

Data Collection

좋은 데이터만 처음부터 다시 모으는 것이 가장 좋은 데이터를 만드는 길이겠지만, 이 경우 너무 시간 소요가 많이 든다.
따라서 Data Collection에서의 목표는 기존에 있는 데이터를 잘 활용하는 방법에 대한 연구들이 많다.

  • Dataset Discovery: raw format으로 저장되어 있는 data lake에서 가장 연관성이 높은 데이터를 구분하는 task.
  • Data Integration: 여러 데이터들을 하나의 거대한 데이터셋으로 통합하는 task.

 

Data Labeling

수집한 data sample들에 대해서 informative한 label을 부여하는 것을 목표로 함.

  • Crowdsourcing: 정확하지만 labeling cost가 너무 높음
  • Semi-supervised Labeling: 작은 데이터셋으로 학습된 모델의 추론 결과로 거대한 데이터셋의 label을 얻는 것
  • Active Learning: 레이블링을 하기 전에 unlabeled sample들에 대해서 여러번 iteration을 돌면서 어떤 샘플이 가장 informative한 sample인가를 선정한 후, 해당 샘플들에 대해서만 직접 레이블을 부여하는 것 (링크에서 관련 논문 리뷰 확인 가능)
  • Data Programming: weakly-supervised learning의 한 종류로, label을 추론하기 위해서 domain-specific heuristic을 활용하는 것

 

Data Preparation

데이터셋을 정제하고, train이 가능한 형태로 변환하는 과정.
최종적으로는 어떠한 데이터셋이 오더라도 자동으로 최적의 데이터 프로세싱 과정을 거칠 수 있도록 하고자 함.

  • Data Cleaning: 결측값 입력, 중복값 제거, inconsistency 있는 샘플을 수정하는 방법 등 데이터의 노이즈나 에러를 제거하는 방법
  • Feature Extraction: raw data로부터 배울 수 있는 numerical feature들을 얻는 것을 목표로 하는 방법 (e.g., tf–idf for text and patches for images)
  • Data Transformation: standarization이나 normalizaiton과 같이 학습할 수 있는 형태로 변환하는 과정

 

Data Reduction

데이터를 좀 더 간단하고 understandable하게 만들기 위해 데이터셋의 사이즈를 줄이는 동시에, 모델의 성능은 더 향상시키는 것을 목표로 함.
대용량 데이터셋들이 점점 많아지고 있기 때문에 capacity optimization 방면에서 중요함.

  • Feature Selection: feature의 subset을 선택하는 전략
  • Dimension Reduction: 저차원의 dimension으로 feature를 변환하는 전략
  • Instance Selection: 전체 데이터셋의 distribution에서 벗어나지 않는 instance들만 선택하는 전략

 

Data Augmentation

데이터를 더 수집하지 않고 데이터셋의 다양성을 높이기 위해서 modified sample들을 활용하는 것.
그 결과 모델의 robustness, generalization capability, 그리고 accuracy를 향상시킬 수 있음.

  • Basic Manipulation: flip, resize 등과 같이 현재 general하게 사용 되고 있는 minor augmentation들을 적용시키는 것
  • Deep Learning Approaches: Generative model을 활용하여 사용하는 것.

 

 

2-2. Inference Data Development

모델의 성능을 평가할 때 사용되는 validation, test dataset가 model의 전반적인 성능을 잘 측정할 수 있도록 하기 위한 단계다.
이를 위해 In-distribution dataset과 Out-of-distribution dataset을 모두 포함하는 데이터셋으로 테스트를 하여 모델의 추론 결과를 평가한다.
추가적으로 다양한 large language model들을 활용한 'prompt engineering'을 통해, 모델 자체의 업데이트 없이도 모델에서 필요한 정보들을 얻을 수 있도록 연구하는 분야도 있다고 한다.

 

In-Distribution Evaluation

training 데이터와 같은 분포를 가진 데이터셋으로 모델의 성능을 평가하는 방법이다. 

  • Data Slicing: gender, race와 같은 특정한 기준으로 데이터셋을 세분화하여 구분한 뒤, 각각의 분야에서 특출난 성능을 가질 수 있도록 모델을 학습시키는 방법. 이와 같은 모델의 경우 male 데이터에서는 높은 성능을 보이고 female 데이터에서는 다소 낮은 성능을 보이는 등 데이터에 따른 성능 차이가 있을 수 있음. 이를 통해서 모델이 어떤 데이터셋에서 약한 성능을 보이고 있는지 평가할 수 있게 됨.
  • Algorithmic Recourse: 모델의 Decision boundary에 대한 정보를 알기 위한 방법. In-distribution 데이터들 중에서 decision boundary에 가까운 샘플들을 선정한 뒤, 이들 중 모델이 서로 다른 prediction 결과를 산출한 샘플들에 대한 분석을 함. 예를 들어 모델이 대출을 거절 당할 것이라고 예측한 사람에 대한 데이터가 있을 때, 이 데이터와 가장 유사한 대출이 가능할 것이라고 예측한 데이터를 찾음. 이 두 데이터를 서로 비교 분석하는 과정을 통해서 모델이 어떤 기준으로 prediction을 했는지 알 수 있고, 이러한 정보를 통해 ethical issue나 fatal error를 방지할 수 있음.

 

Out-of-distribution Evaluation

training 데이터셋과 다른 분포를 가진 데이터셋으로 성능을 측정하여 모델의 robustness를 평가하게 된다.

  • Adversarial Perturbation: training dataset과 거의 유사하지만, 미묘한 차이가 틀린 prediction을 내놓을 수 있는 데이터셋으로 평가하는 방법. High-risk weakness를 알 수 있고, 추후에 모델을 refine할 때 필요한 정보를 얻을 수 있음.
  • Distribution Shift: 모델의 transferability를 평가하기 위해서, domain shift가 있는 데이터셋으로 평가하는 방법. 보통 weighted sampling을 통해서 distribution shift가 있는 데이터셋을 얻을 수 있다고 함.

 

Prompt Engineering

Model의 capability를 향상시키기 위해 prompt를 활용하는 방법이다.
모델의 성능을 올리기 위해서 새롭게 학습하는 것이 아니라,
모델이 테스트 시 predict하는 데에 도움이 될 수 있도록 사전에 지정된 template 혹은 자동으로 생성된 template
test sample들과 함께 제공하여 성능을 올리는 방법들에 대한 연구 분야라고 이해하면 좋을 것 같다.
자세한 내용은 prompt tuning에 대한 이전 포스팅을 참고하면 좋을 것 같다.

 

 

 

2-3. Data Maintenace

보통의 데이터셋들은 한 번에 만들어지는 것이 아니라, 여러번 나누어 수집되는 경우가 많다.
따라서 다양한 환경에서도 균일한 퀄리티를 가지는 데이터셋을 만들 수 있는 framework의 필요성이 대두되었다.

 

Data Understanding

말 그대로 데이터의 특성을 전반적으로 이해할 수 있는 알고리즘이나 툴을 말한다.

  • Data Visualization: 데이터를 직관적으로 이해할 수 있도록 가시화하는 것을 목표로 하는 것. 대표적으로 high-dimensional data를 2차원 공간으로 projection하여 데이터의 분포를 사람이 잘 이해할 수 있도록 하는 방법이 있음. (e.g. t-SNE)
  • Data Valuation: 어떤 데이터가 중요한지를 측정하는 것. 모델 성능에 큰 기여를 한 데이터들을 표기해 놓으면 데이터 관리 시에 도움이 될 수 있음.

 

Data Quality Assurance

  • Quality Assesment: 데이터의 퀄리티나 잠재적 문제가 될 수 있는 부분들을 평가할 수 있는 metric을 잘 만드는 것을 목표로 함
  • Quality Improvement: 다양한 데이터 파이프라인 스테이지에 영향을 받을 수 있음. 예를 들어 사전에 지정한 어떠한 rule을 기준으로, 피드백을 바탕으로, 혹은 다수결 투표를 통해서 행해질 수 있다.

 

Data Acceleration

데이터를 빠르고 효과적으로 모을 수 있는 인프라를 구축하는 것을 목표로 한다.
이는 DCAI의 측면뿐만 아니라 data ecosystem의 측면에서도 중요한 포인트가 된다.

  • Resource Allocation: 데이터베이스의 throughput을 향상시키고 latency를 최소화하여 리소스의 밸런스를 맞추는 것을 목표로 함.
  • Query Acceleration: 중복된 쿼리들을 적은 로드로 찾아 제거하는 것을 목표로 함.

 

 

2023.10.24 - [Computer Vision 시리즈물 연재] - [Data-centric AI - 2편] Data-centric AI, ObjectLab: Automated Diagnosis of Mislabeled Images in Object Detection Data 논문 리뷰

 

[Data-centric AI - 2편] Data-centric AI, ObjectLab: Automated Diagnosis of Mislabeled Images in Object Detection Data 논문

ObjectLab: Automated Diagnosis of Mislabeled Images in Object Detection Data https://arxiv.org/pdf/2309.00832.pdf 1. Introduction 아래 링크의 글에서 볼 수 있듯이, 잘못된 GT를 가진 Dataset으로 학습된 모델의 경우 그 성능이

2na-97.tistory.com

 

 

 

 

 

반응형
Comments