학습 데이터 관리 프로세스

장시예·2022년 2월 16일
1

데이터 관리

목록 보기
1/1
post-thumbnail

※ 본 게시글은 Computer Vision 학습을 위한 이미지 데이터셋 구축을 다루므로, 타 분야의 학습 데이터 관리 프로세스와는 상이할 수 있습니다.

데이터셋 구축이란?

데이터셋 구축은 인공지능을 학습시키기 위해 반드시 필요한 과정입니다.

학습 데이터셋이란 인공지능이 특정 사물을 인지할 수 있도록 도와주는 여러가지 정보가 담긴 데이터셋을 의미합니다. 인공지능의 성능을 향상시키기 위해서는 양질의 데이터셋이 필요하지요. 만약에 사람을 학습시키고 싶다면 다양한 각도, 포즈, 성별, 나이대 등을 가진 사람 이미지로 데이터셋을 구축해야합니다. 사이트의 요구사항에 맞는 화각이나 배경, 정확한 라벨링 또한 중요하겠지요.

데이터셋을 구축하기 위해서는 참 고려할게 많습니다. 데이터셋 구축을 위해서는 위와 같이 여러 단계를 거치게 되는데요, 이번 포스팅에서는 학습 데이터 관리 프로세스를 크게 7단계로 나누어보았습니다. 데이터셋 관리 프로세스는 구축해야할 데이터셋의 특성에 따라 생략되거나 추가해야하는 단계가 있을 수 있으니 참고해주세요.

그러면 이제 각 단계를 자세히 하나씩 살펴볼까요?

STEP 1. 데이터 수집

수집 과정은 AI 학습에 필요한 데이터들을 수집하는 과정입니다.

AIHUB나 Kaggle같은 공개 데이터셋을 서칭하거나 공개 스트리밍 서비스를 활용하는 등 다양한 경로로 데이터를 수집할 수 있습니다.

데이터를 수집할 때는 데이터가 사이트에 적합한 장소와 뷰를 가지고 있는지, 객체의 크기나 각도가 다양한지, 어떤 조도, 날씨, 배경을 가졌는지 등의 복합적인 요소를 고려하여 데이터를 선정해야합니다.

AIHUB 메인 홈페이지

STEP 2. 데이터 정제

데이터 정제란 데이터를 레이블링 할 수 있도록 규격화하는 과정을 의미합니다.

만약 수집된 데이터가 영상 데이터라면 프레임을 추출하여 이미지로 만들어야겠지요. 영상에서 프레임을 추출할 때는, 라벨링 대상 객체가 등장하는 프레임만을 추출하는 것이 중요합니다. 또한, 객체가 멈춰있다면 그 부분을 스킵하는듯 객체가 중복되지 않게 추출해야합니다.

프레임 추출이 완료되었다면 각 이미지에 규칙적인 이름을 할당합니다. 이때 규칙은 데이터를 잘 설명할 수 있는 요소(원본영상명, 생성날짜, 프레임번호 등)를 반영하여 생성해야겠지요.

이제 보관이 용이한 형태로 해상도 변환을 한 뒤, 수도 라벨링을 진행합니다. 수도 라벨링이란 어느정도 학습된 모델을 가지고 임시로 레이블링을 해주는 기라벨링을 의미합니다.

그리고 마지막으로 레이블러들의 작업 효율을 고려한 데이터 1차 구조화를 합니다. 이때 폴더명은 구분하기 쉽도록 명칭을 통일하고, 이미지의 레이블링 난이도에 따라 폴더 당 데이터 수를 조절합니다.

STEP 3. 레이블링 가이드 작성

가이드 작성 과정은 학습자와 상의하여 객체 별 라벨링 요구사항 수립 및 가이드 PPT를 작성하는 과정입니다. 기본적인 클래스 인덱스에 대한 정보, 각 객체에 대한 라벨링 예시, 라벨링 시 주의해야할 점 등을 기입해야합니다.

PPT 형식으로 작성하는 것이 가장 편리하다

데이터셋이 구축될 수록 특이 케이스인 엣지 객체들이 등장하며, 이러한 사례들이 발견될 때마다 지속적으로 가이드를 업데이트해나가는 것이 중요합니다.

STEP 4. 레이블링 작업

레이블링 과정은 레이블러들이 관리자로부터 작업물을 할당받고 매일 한 작업물을 업로드하는 과정입니다.

해당 레이블링 툴은 Yolo_mark 이다 (사진 출처 : AIHUB 「이상행동 CCTV 영상」)

데이터셋을 구축할 때 가장 많은 시간이 소요되는 과정이라고 할 수 있습니다. 정확도를 요구하는 중요한 작업이니만큼 레이블러들은 요구사항을 정확히 숙지하게 있어야합니다.

이때 관리자는 레이블러 별 작업 효율을 기록해야합니다. 보통 이미지 수와 객체 수, 반려된 작업물의 수 등을 일 단위로 기록합니다. 레이블러는 매일 작업이 종료된 시점에 일일 보고 및 업무 일지 작성을 하는 것이 좋습니다. 작업이 어떻게 진행되고 있는지 파악하고 있는 것은 중요한 일이기 때문입니다.

STEP 5. 검수

검수 과정은 작업물이 요구 사항에 맞게 잘 라벨링 되었는지 검수하는 과정입니다.

해당 과정은 잘못 라벨링 된 데이터를 올바르게 수정하는 작업이므로 세심함이 필요합니다. 보통 레이블러간의 교차 검수를 진행한 후, 관리자가 결과물을 취합하여 최종 검수를 진행합니다.

이때 관리자는 잘못된 작업물이 있다면 작업자들에게 재작업을 할당합니다. 재작업을 줄때는 어떠한 부분이 잘못되었는지 피드백을 정확히 주는 것이 중요합니다.

STEP 6. 데이터셋 구조화

구조화 과정은 검수 완료된 데이터를 취합하여 폴더를 최종적으로 구조화 하는 과정입니다.

인공지능 모델은 한 번 학습된 후 끝나는 것이 아니라, 여러 번의 고도화 과정을 거치게 됩니다. 이때 데이터셋의 추가 구축은 필연적인데, 데이터마다 폴더 구조가 다르면 학습자와 관리지가 필요한 데이터를 탐색할 때 어려움이 있습니다. 따라서 데이터셋을 구성하는 초반에 구조를 정립하고 통일할 필요가 있습니다.

보통 데이터셋의 루트는 Train / Valid / Test 세 가지로 설정하며, 하위 구조는 사이트, 지역, 날짜, 데이터 유형, 시퀀스를 고려하여 구조화해야합니다.

STEP 7. 데이터셋 후처리

인공지능 모델을 학습시킬 때, 데이터셋에 조금이라도 문제가 있다면 에러가 발생하게 됩니다. 따라서 학습 시 이러한 버그를 잡는데에 많은 시간이 소요되곤 하지요. 만약 학습이 된다해도 모델의 성능이 저하될 가능성이 높고요.

따라서 학습에 들어가기 전 구축된 데이터셋의 에러사항을 체크하는 알고리즘을 개발하여 데이터셋을 후처리하는 것이 중요합니다.

위의 픽토그램들은 후처리 프로세스의 일부를 나타내고 있습니다.

멀티라벨을 가진 객체의 경우 베이스라벨이 없다면 추가해주고, 이미지와 텍스트쌍이 같은 이름으로 존재하는지 체크하고, 너무 작아 학습에 방해되는 객체들을 자동으로 찾아 마스킹해주고, 마스킹한 영역의 픽셀값을 날리고, 클래스별 객체의 개수와 비율을 통계내어 줍니다.

이외에도 클래스 인덱스를 벗어난 객체가 있는지 체크, 중복되는 객체 정보를 삭제하는 등의 프로세스를 추가할 수 있겠죠. 후처리 과정은 데이터셋 전체를 훑는 작업이니만큼 학습할 객체와 사이트의 특성에 따라 개발자가 후처리 과정을 적절히 조율하는 것이 중요합니다.

Bonus. 데이터셋 시각화

이렇게 후처리를 거친 데이터셋은 어노테이션 통계 정보를 이용하여 시각화를 시킬 수 있습니다.
학습 데이터셋의 시각화가 필요한 이유는 다음과 같습니다.

  1. 학습 데이터셋에 대한 규모, 객체 별 박스 분포 등 현황 파악에 용이합니다
  2. 오탐과 같은 문제해결 또는 학습 방법에 대한 인사이트를 얻을 수 있습니다
  3. 데이터가 편향되었는지에 대한 정도를 알고 어떤 데이터를 더 보충하면 성능을 높일 수 있을지에 대한 이정표가 될 수 있습니다

해당 이미지는 AIHUB의 「화재 발생 예측 영상」 데이터셋의 일부를 시각화한 결과입니다

시각화에는 클래스 별 객체 수와 평균, 이미지 내 객체 별 x, y, width, height 산점도, 객체 별 x, y, width, height 히스토그램, 통계 정보(클래스 별 객체 수, 총 이미지 수, 총 어노테이션 파일 수, 빈 파일 수, 총 객체 수, 클래스 별 비율) 등의 정보가 포함될 수 있습니다.

이 외에도 개발자가 필요로 하는 정보는 무엇이든 넣을 수 있습니다. 어노테이션된 데이터셋에는 활용할 수 있는 정보가 무궁무진하게 있으니까요.


이렇게 인공지능 모델 학습을 위한 데이터셋 구축 프로세스에 대해서 알아보았습니다. 데이터셋을 구성하고 정제하는 일은 생각보다 만만치않은 일이지요? 하지만 이렇게 시간을 투자한 만큼 정교한 데이터셋이 완성되고, 이러한 과정은 인공지능의 성능에 큰 기여를 하게 된답니다.

최근 모델을 고도화하는 방법으로 Data-centric 방식이 화두가 되고 있습니다. 데이터셋의 성능 개선에 초점을 두고 고도화를 진행하는 방식으로, 고품질 데이터를 확보하는 것이 ML 시장에서 중요한 이슈임을 알 수 있습니다.

최적의 데이터셋 구축 프로세스를 설계하면 고품질 데이터를 생산할 수 있을 뿐만 아니라 많은 시간적, 물리적, 인적 자원을 아낄 수 있습니다. 이번 게시글이 도움이 되었으면 하는 바람으로 이만 마치겠습니다!

profile
무엇이든 열심히!

0개의 댓글