Learning

AI 자동검수로 label validation 개선 하기

AI의 자동 검수가 품질과 효율을 높이는 방법

2022
.
11
.
04
AI 자동검수로 label validation 개선 하기

오늘은 데이터헌트에서 어떤 작업에 AI 작업 검수 기능을 활용했는지, 그리고 검수 기능이 어떤 정보를 제공하고 그것이 검수 효율을 얼마나 개선했는지 살펴보고자 합니다. 너무 이론적인 이야기는 생략하고 알기 쉽게 실 사용기로 바로 확인하시죠.

AI 작업 검수 기능이란?

데이터헌트는 데이터 가공 과정에서 꼼꼼한 작업과 검수 과정을 거칩니다. 이 과정은 사람과 인공지능이 함께 서로 보완하여 나아가는 Human-in-the-loop 방식으로 진행됩니다.

데이터헌트의 데이터 가공 파이프라인
데이터헌트의 데이터 가공 파이프라인

이 과정에서 AI 작업 검수는 1차적으로 작업된 데이터를 대상으로 이루어지며 그 역할은 인공지능 모델이 작업 결과물 중 틀렸을 가능성이 높은 작업물을 찾아내어 수정을 제안하는 것입니다. 한마디로 작업의 신뢰도를 평가하는 것이죠. 여기에는 몇 가지 질문이 나올 수 있습니다.

Q 모델은 작업의 신뢰도를 어떻게 평가하나요?

구체적인 방법은 공개가 가능할 때 알려드리겠습니다.

Q 완벽한 인공지능은 없다는데, 어차피 검수자가 모든 작업물을 검수하는 것 아닌가요?

맞습니다. 하지만 틀렸을 가능성이 높은 작업물임을 알려줌으로써 보다 주의 깊게 검수할 수 있습니다.

Q 인공지능 검수에는 별다른 시간 소요가 없나요? 한참 기다려야 한다면 오히려 불편할 것 같은데…

높은 정확도를 가지면서도 빠르게 동작하게 만드는 여러 기술을 적용하고 있습니다.

결론적으로, 검수의 정확도를 높임으로써 보다 정확한 결과물을 만들 수 있고 시간 또한 절약할 수 있습니다.

AI 작업 검수 기능 직접 체험

데이터헌트에서는 현재 이미지 내 객체 분류(classification), 검출(detection), 분할(segmentation) 작업을 위한 검수 기능이 존재합니다. 그중 검출(detection) 작업을 통해 AI가 어떤 방식으로 우리를 도와주는지 살펴보겠습니다.

검출 작업은 Bounding box(객체 영역을 나타내는 사각형)와 해당 객체의 속성을 부여하는 작업입니다. 설명의 편의를 위해 ‘Bounding box = 영역 + 속성’이라고 정의하겠습니다. 하나의 이미지 내에는 객체가 하나도 없을 수도, 반대로 굉장히 많을 수도 있습니다. 그 어떤 경우라도 작업자의 결과물을 검수해야만 하는데 검수자는 모든 객체의 bounding box 대해 아래의 여러 케이스 중 한 가지에 해당하는 상황을 직면하게 됩니다.

  1. 영역도 알맞게 지정되었고 속성도 맞음
  2. 영역이 알맞게 지정되었고 속성이 틀림
  3. 영역이 다소 잘못 지정되었고, 속성이 맞음
  4. 영역이 다소 잘못 지정되었고, 속성도 틀림
  5. 객체는 있는데 bounding box가 없음
  6. 객체가 없는데 bounding box가 있음

여기서 1번을 제외한 모든 경우에 검수 과정에서 수정이 이루어져야 합니다.

데이터헌트 작업 플랫폼 화면 1
작업자의 작업 결과를 검수하기 전 화면. 강아지가 러그로 잘못 레이블링 되어 있으며, 소파는 레이블이 되어있지 않고 액자의영역은 정확하지 않게지정되어 있다.

데이터헌트 작업 플랫폼 화면 - AI 자동 검수
AI 자동검수 기능을 통해 제안받은 내용. 앞선 화면에서 잘못된 작업물들을 찾아내고 수정 제안.

데이터헌트 작업 플랫폼 화면 - 검수완료
AI가 제안한 내용을 수락한 후 검수 작업을 거친 결과물

위의 그림은 몇 가지 검수 예시입니다. AI가 작업물의 영역이나 속성에 신뢰도가 떨어지는 대상에 대해 선제적으로 알려주면 검수자는 AI의 제안을 수락 또는 거절하고 검수를 계속 진행할 수 있습니다. 이것을 위해 데이터헌트 플랫폼은 고객의 요청에 따라 여태 작업한 데이터를 통해 모델을 학습합니다. 많이 알려진 이야기지만 학습은 아래와 같은 특징을 가집니다.

  • 정확한 작업물일수록 모델의 성능이 우수함
  • 학습 데이터의 양이 많을수록 모델의 성능이 우수함

고객은 위와 같은 내용을 잘 이해하고 적절한 시기에 학습을 진행하는 게 좋습니다. 모든 것은 trade-off가 존재하듯, 처음부터 너무 정확한 작업물을 만들고자 노력을 쏟으면 작업 자체가 느려질 것이고 상당히 많은 데이터가 쌓였을 때 학습을 진행하고자 한다면 모델이 실제로 검수를 도와주는 양이 줄어들 것입니다.

물론 이외에도 모델의 성능에 영향을 줄 수 있는 요인은 몇 가지가 더 있습니다. 학습 데이터 내 속성 간 분포가 너무 불균일하거나, 모델의 종류, 여러 가지 학습 기법 등이 존재합니다. 현재는 이러한 세부적인 내용을 고객이 조정할 수 없게 설정했습니다. 이런 기능을 열어 고객이 직 접 조정하여 더 좋은 모델을 만드는 일도 물론 가능하지만, 많은 경우에 학습에 드는 금전적, 시간적 비용 증대를 막을 수 없기 때문입니다.

이렇게 모델을 학습하고 나면 이제 검수 기능을 활용할 수 있습니다. 구체적인 사용법은 현재 준비 중인 플랫폼 사용 가이드를 통해 알려드리겠습니다. 이번에는 이렇게 활용한 AI 작업 검수가 작업 품질을 얼마나 올렸는지 간단한 테스트 결과를 통해 분석해 보겠습니다.

AI 작업 검수 테스트 결과

이 기능의 성능 평가를 위해 이미 작업과 검수가 완료된 어느 고객사의 데이터로 직접 실험을 진행했습니다. 검수 성능을 평가하기 위해, 작업 결과 중 일부를 수정하여 오류를 생성했습니다. 오류의 종류에는 아래의 네 가지가 있습니다.

  • 속성 오류: 객체의 속성을 잘못 부여한 경우
  • 영역 오류: 객체의 영역 설정이 아주 정확하지 못한 경우
  • 객체 미탐지: 존재하는 객체를 찾지 못한 경우
  • 객체 오탐지: 객체가 없는데 있다고 한 경우

AI labelling human error distribution
일반적인 작업자의 오류 분표

오류의 분포는 실제로 작업을 할 때 발생하는 오류 빈도를 참고해서 만들었습니다. 우리는 각각의 오류에 대해 AI가 얼마나 찾아냈는지 파악하고, 합산하여 종합적인 검수 성능을 계산했습니다.

AI human labeling error detection
AI 자동검수를 통한 오류 검출도 향상

종합하면 전체 70개의 오류 중 57개를 찾아냈고, 약 81%의 검출률을 기록했습니다. 각 오류에 대한 검출률은 아래와 같았습니다.

  • 속성 오류: 87%
  • 영역 오류: 50%
  • 객체 미탐지: 90%
  • 객체 오탐지: 80%

이 중 영역 오류에 대한 검출률이 비교적 낮았는데요. 그 이유는 영역 오류에 대한 기준이 모호하기 때문이라고 판단했습니다. 객체 영역에 딱 맞게 지정한 것을 정답이라고 생각할 때, 정답과 얼마나 달라야 오류라고 여길 수 있는지 그 절대적 기준이 없기 때문입니다.

이번 실험에서는 정답과의 IoU가 0.8을 넘게끔 오류를 만들었고 이는 정답과 상당히 유사한 수준으로 말할 수 있기 때문에 검수가 어려웠던 것 같습니다. (요약하자면 오류라고 만들었는데 그게 여전히 정답과 너무 유사해서 오류인지 아닌지 분간이 어려웠다)

AI 작업 검수, 결론은?

이처럼 데이터헌트에서는 몇 가지 작업에 대해 AI 자동 검수를 도입하고 있으며, 실제 데이터를 사용한 실험을 통해 검수에 큰 도움을 줄 수 있는 수준임을 확인했습니다. 작업 – 검수로 이어지는 과정에서 작업 단계부터 매우 공들여 정확하게 할 수 있다면 검수의 중요성이 조금 떨어진다고 생각할 수 있으나 그것은 아무도 장담할 수 없습니다.

이처럼 언제나 발생할 수 있는 사람의 실수를 찾아내는 과정에서 AI가 큰 역할을 하고 있습니다. 그 결과로 검수 시간도 줄어들고 그에 따라 비용도 줄일 수 있죠. 무엇보다 최종적으로 얻는 데이터 레이블의 품질을 크게 향상시켜 Quality Data를 제공할 수 있다는 점이 데이터헌트의 강점이라고 생각합니다.

Table of Contents
Talk to Expert