Upstage AI Lab 3기 Data-Centric AI

LegendKi·2024년 10월 6일

Upstage AI Lab 3기

목록 보기
11/13

Data-Centric AI

AI의 발전에따라 데이터는 AI 모델의 성능을 결정하는 핵심 자원으로 자리잡고 있다. Data-Centric AI는 모델 아키텍처나 알고리즘에 집중하기보다 데이터를 중심으로 성능을 최적화하는 접근 방식이다.

데이터 수집

Data-Centric AI에서 가장 중요한 단계 중 하나는 데이터 수집이다. 고품질의 데이터를 확보하고 적절하게 전처리하는 것이 성공적인 모델 개발의 필수 요소이다. 데이터 수집 방법에는 다양한 접근 방식이 있으며 각각의 방법에 따라 얻을 수 있는 데이터의 특성과 품질이 달라진다.

직접 수집

직접 데이터를 수집하는 것은 연구자나 개발자가 현장에서 필요한 데이터를 실시간으로 얻는 방법이다. 이 방법의 가장 큰 장점은 데이터의 품질과 적합성을 보장할 수 있다는 점이다. 직접 수집한 데이터는 AI 모델의 요구사항에 맞게 맞춤형으로 수집되며 데이터의 특성에 따라 세밀하게 조절할 수 있다. 그러나 직접 수집은 시간과 빙요이 많이 들고 데이터 수집 환경의 변화에 따라 품질이 변동될 수 있는 단점이 있다.

크롤링

크롤링은 웹사이트나 데이터베이스에서 자동화된 프로그램을 통해 데이터를 수집하는 방법이다. 웹 크롤러는 주어진 URL을 따라가며 웹페이지의 컨텐츠, 이미지, 문서 등을 자동으로 수집하고 이러한 데이터를 구조화하여 모델에 활용할 수 있다. 크롤링의 장점은 방대한 양의 데이터를 빠르고 효율적으로 수집할 수 있다는 것이다. 특히 텍스트 분석이나 자연어 처리 분야에서 웹 크롤링은 유용한 방법이다. 하지만 크롤링을 통해 수집한 데이터는 종종 비정형적이고 노이즈가 많아 추가적인 정제 작업이 필요할 수 있으며 데이터의 최신성 또한 보장하기 어렵다.

오픈 소스

오픈 소스 데이터는 이미 공개되어 있는 데이터셋을 활용하는 방식이다. 대표적인 예로는 Kaggle, UCI Machine Learning Repository같은 플랫폼에서 제공하는 데이터셋들이 있다. 이러한 데이터는 무료로 사용할 수 있으며 다양한 형식의 데이터가 존재해 모델 학습에 유용하게 활용된다. 오픈 소스 데이터의 장점은 데이터 수집에 드는 비용과 시간이 적고 이미 전처리된 상태로 제공되는 경우가 많아 바로 사용 가능하다는 점이다. 그러나 사용 목적과 일치하지 않거나 특정 영역에 대한 데이터가 부족할 수 있으며 공개된 데이터는 이미 여러 여구자들에 의해 사용되었을 가능성이 있어 인사이트 도출이 어려울 수 있다.

크라우드 소싱

크라우드 소싱은 대중을 통해 데이터를 수집하는 방법이다. 일반 대중이 모델 학습을 위한 데이터를 직접 생성하거나 이미 수집된 데이터를 분류, 라벨링 하는데 참여하는 방식이다. 이 방식은 대규모의 데이터를 수집할 수 있으며 다양한 배경을 가진 사람들이 참여하므로 데이터의 다양성을 확보할 수 있다. 하지만 라벨링 품질이 일관되지 않을 수 있으며 참여자의 동기나 주석 처리 방식에 따라 데이터 정확성이 떨어질 수 있는 단점이 있다. 따라서 여러 사람의 결과를 결합해 신뢰성을 높이는 후처리 작업이 필수적이다.

데이터 수집 주의 사항

라이센스

데이터 수집 시에는 해당 데이터의 라이센스를 철저히 확인해야한다. 많은 데이터셋은 오픈 소스로 제공되지만 사용 조건이 명확하게 규정되어 있지 않거나 상업적 사용을 제한하는 경우가 많다. 데이터의 사용 목적이 연구용인지 상업용인지에 따라 적절한 라이센스를 갖춘 데이터를 사용해야 하며 그렇지 않을 경우 법적 문제가 발생할 수 있다. 라이센스 문제는 특히 크롤링한 데이터나 타사에서 제공한 데이터셋에서 자주 발생할 수 있다. 따라서 데이터 수집 전에 라이센스 조건을 충분히 검토하고 해당 데이터가 모델 개발과 배포에 적합한지 확인하는 것이 필수적이다.

개인정보보호

프로젝트에서 다루는 데이터에 개인 정보가 포함되어 있는 경우 엄격한 보호 조치가 필요하다. 특히 자연어처리, 이미지 인식, 건강 데이터와 같은 민감한 정보가 포함된 모델에서 중요하다. 개인정보보호법을 준수하여 데이터를 비식별화하거나 암호화하는 방식으로 개인 정보를 보호해야한다. 또한 사용자가 본인의 데이터를 수집하고 사용하는 방식에 대해 명확하게 동의해야하며 데이터 수집 시 적절한 공지와 동의 절차를 거치는 것이 필수적이다.

데이터 라벨링

데이터 라벨링 작성 방법

데이터 라벨링을 효과적으로 수행하려면 라벨링 작업의 목표를 면확하게 설정해야한다. 목표에 따라 라벨링 세부 사항을 결정하고 라벨링 지침을 명확하게 정의하며 모든 참여자가 일관성 있게 작업할 수 있도록 해야 한다.

  1. 라벨링 목표 설정 : 모델이 에측해야할 결과와 관련된 주요 클래스 또는 카테고리를 정의한다. 예를 들어 이미지 분류 모델에서는 이미지 속 객체를 식별하는 클래스를 라벨로 설정한다.

  2. 데이터 전처리 : 데이터 라벨링 전에 데이터가 일관된 형식으로 정의되어 있는지 확인한다. 텍스트 데이터는 정규화 되고 이미지 데이터는 크기가 조정되는 등의 전처리 작업이 필요할 수 있다.

  3. 라벨링 툴 선정 : 라벨링 작업을 도와줄 소프트웨어나 도구를 선택한다. 예를 들어 이미지 라벨링을 위한 Labelbox나 SuperAnnoate같은 도구를 사용할 수 있고 텍스트 라벨링을 위해서는 Prodigy나 Doccano같은 툴이 사용된다.

  4. 라벨링 지침 제공 : 라벨링을 수행하는 사람들에게 구체적인 지침을 제공한다. 각 데이터 항목에 대해 어떻게 라벨을 부여해야 하는지 명확히 설명하여 라벨러 간의 일관성을 유지하는 것이 중요하다.

  5. 라벨 품질 평가 : 라벨링 작업이 완료되면 일부 데이터를 샘플링하여 품질을 평가하고 필요한 경우 재라벨링 작업을 수행한다. 이때 라벨의 정확성, 일관성, 신뢰도를 측정하는 것이 중요하다.

데이터 클렌징

데이터 클렌징 방법

  1. 결측값 처리 : 데이터 내에 누락된 값이 있을 경우 이를 적절하게 처리해야한다.
    (1) 결측값 삭제
    (2) 평균, 중앙값, 최빈값으로 대체
    (3) 회귀 분석이나 K-NN과 같은 알고리즘을 사용하여 결측값 예측

  2. 중복 데이터 제거 : 동일하거나 거의 유사한 데이터가 여러 번 포함되는 경우 데이터의 중복성을 제거하는 것이 중요하다. 중복 데이터는 모델의 성능을 왜곡시킬 수 있기 때문에 이를 식별하고 제거하는 것이 중요하다. 중복성을 확인하는 방법으로는 고유 식별자를 기준으로 하거나 데이터 항목 간 유사도를 측정해 판단할 수 있다.

  3. 아웃라이어 처리 : 아웃라이어는 데이터셋의 일반적인 분포에서 크게 벗어난 값으로 데이터에 노이즈가 되는 경우가 많다. 통계적 방법을 사용하여 이상값을 탐지하고 이러한 값이 모델에 부정적인 영향을 미칠 경우 제거하거나 다른 값으로 대체할 수 있다.

  4. 정규화 및 표준화 : 수치형 데이터의 경우 값의 범위나 분포가 일정하지 않을 때 모델 학습에 영향을 미칠 수 있다. 이러한 문제를 해결하기 위해 데이터 값을 정규화하거나 표준화 하는 방법이 사용된다.

데이터 평가 방법 - IAA

IAA (Inter-Annotator Agreement, 주석자 간 일치도) 는 데이터 라벨링의 품질을 평가하는 중요한 지표로 이는 여러 라벨러가 동일한 데이터를 라벨링했을 때 그들 간의 일관성을 측정하여 데이터 라벨링의 신뢰성을 평가한다.라벨링 품질을 확인하고 데이터 클렌징 과정을 더 효율적으로 진행하기 위한 필수 도구이다.

  1. Cohen's Kappa: 두 명의 라벨러 간 일치도를 측정하는 방법으로 단순한 일치율보다 무작위로 일치한 경우를 보정한 값을 제공한다. 이 값은 -1에서 1 사이의 범위를 가지며 1에 가까울수록 높은 일관성을 나타낸다.

  2. Fleiss' Kappa: 두 명 이상의 라벨러가 있을 때 일치도를 측정하는 확장된 Kappa 지표로 주석자가 많은 경우 사용되며 Cohen's Kappa와 마찬가지로 무작위 일치를 보전한다.

  3. Krippendorff's Alpha: 연속형, 순서형, 명목형 등 다양한 데이터 유형에서 라벨러 간의 일치도를 측정하는 방법으로 데이터가 불균형하거나 결측값이 있는 경우에도 사용할 수 있어 다양한 라벨링 상황에서 유용하다.

IAA를 활용한 데이터 클렌징 방법

IAA 지표를 활용하여 데이터 클렌징을 수행하면 라벨링 작업의 일관성을 확보하고 모델이 신뢰성 있는 데이터를 학습할 수 있도록 도울 수 있습니다. 이를 위한 구체적인 방법은 다음과 같다.

  1. 일치율이 낮은 데이터 식별: IAA 측정을 통해 라벨러 간 일치율이 낮은 데이터를 식별한다. 일치율이 낮은 데이터는 라벨링 지침이 명확하지 않거나 데이터 자체가 애매한 경우가 많아 이러한 데이터를 클렌징 대상으로 지정하고 라벨링 규칙을 재검토하거나 추가적인 라벨링 작업을 통해 보완할 수 있다.

  2. 추가 라벨링 작업: IAA에서 낮은 점수를 기록한 데이터는 추가적인 라벨러를 통해 재라벨링할 수 있다. 다수의 라벨러가 동일한 데이터에 대해 라벨을 부여하고 그 결과를 비교하여 가장 높은 일관성을 보이는 라벨을 선택하는 방법이다. 이를 통해 데이터 라벨링의 신뢰성을 높일 수 있다.

  3. 라벨링 지침 개선: 일치율이 낮은 경우 라벨러들이 혼란을 겪을 수 있는 부분을 파악해 라벨링 지침을 개선한다. 모호하거나 중복된 지침을 제거하고 구체적인 예시를 추가하여 라벨러들이 더 명확하게 라벨을 부여할 수 있도록 돕는다.

  4. 데이터 재구성: IAA 결과를 바탕으로 데이터 자체의 품질을 평가하고 문제가 있는 데이터는 제거하거나 수정할 수 있습니다. 예를 들어 특정 데이터가 지나치게 애매하거나 여러 해석이 가능한 경우에는 해당 데이터를 train set에서 제거하고 모델의 성능 저하를 방지할 수 있다.

0개의 댓글