라벨링 자동화, 어떤 상황에서 필요할까요?

라벨링 자동화, 어떤 상황에서 필요할까요?

인공 지능은 지난 10년 동안 많은 변화를 가져왔습니다. 매일의 일상에서 그 변화의 발자취를 발견할 수 있죠. 하지만 이러한 변화가 가능하려면 매우 많은 데이터가 필요하고, 또 그 데이터를 가공 후 실제 적용하는 데는 그만큼 더 큰 노력이 필요합니다.

그래서 ML 전문가가 더 빠른 ML 모델의 실용화를 위해 데이터 라벨링 자동화로 눈을 돌린 것은 자연스러운 현상이었습니다. ML 실무자라면 성공적인 모델을 구축하기 위해서는 수천 개의 라벨이 필요하다는 사실을 알고 있을 것입니다. 이 수천 개의 데이터를 일일이 라벨링 한다면 수천 시간이 필요한 것은 물론, 최적의 전략을 세우고 각 단계를 감독해야 하는 등의 노력이 필요하기 때문에 대부분의 ML 실무자에게 자동화 라벨링은 매우 당연한 선택지입니다.

자동화의 이점

머신 러닝 파이프라인에서 데이터 라벨링은 심한 병목을 발생시키고 작업을 지체하기로 악명이 높은 과정입니다. 많은 비용을 들여 팀을 꾸린 후 중요한 객체를 이미지마다 어노테이션하게 되는데, 이러한 어노테이션 작업은 종종 과도하게 정밀한 작업이 되기도 하고 시간이 많이 소요되기도 합니다. 라벨러 팀을 관리하는 일은 전체적으로 일관된 패턴을 유지하는지 확인하는 과정을 수반하는데, 이는 일관성이 떨어지는 라벨링이 모델에 혼란을 줄 수 있기 때문입니다.

또한 인하우스로 데이터 라벨링 팀을 구성하려면 많은 비용이 들고, 아웃소싱을 통한 라벨링을 진행하는 경우에는 의사소통의 오류를 범하기 쉽습니다. 여전히 이해가 어려울 수도 있겠지만, QA 전문가가 각 단계를 검수하고 오류를 수정해야 하는 만큼 데이터 라벨링은 매우 지루하고 많은 시간이 소요되는 작업입니다.

위에서 언급한 문제는 머신 러닝 프로젝트에 자동화를 적용하면 대부분 해결되는데요. 사람의 개입이 전혀 없는 프로젝트는 없겠지만, 최소한의 개입만으로도 비용 감소, 오류 최소화, 아웃소싱 이용 감소, end-to-end 작업의 속도 개선 등을 기대할 수 있습니다. 워크플로우의 자동화는 인공지능 시대의 도래 이후로 ML 실무자에게 큰 골칫거리였던 라벨링이라는 병목 현상을 해결해 줄 것입니다.

자동화는 언제 필요할까요?

프로젝트에 따라 자동화가 더 적합한 프로젝트가 있을 수 있습니다. 수천 장의 데이터로 모델을 학습시키는 과정은 자동화 없이는 어려울 겁니다. 사람이 전부 다 작업하는 것은 일을 지체시키고 오류 발생률을 높이는 지름길인데다, 정밀한 프로젝트일수록 어노테이션의 영향은 더 커질 것입니다. 또한 특정 유형의 라벨링 프로젝트는 자동화와 밀접하게 연관돼 있어 자동화를 수월하게 도입할 수 있습니다.

잦은 업데이트가 이루어져야 하는 모델

ML 모델을 실생활에 적용할 수 없다면 효용성은 매우 떨어집니다. 이는 계속해서 변하는 주변 상황이나 새로운 혁신에 ML 모델이 대응할 수 있어야 한다는 의미입니다. 즉, ML 실무자는 정확한 결과를 도출해 낼 수 있도록 모델을 계속해서 업데이트해야 합니다. 자율주행 자동차야말로 데이터를 지속해서 개발하고 변경해야 하는 대표적인 예입니다. 차종이나 도로 표지판이 변경되고 주변 환경은 계속 달라지는 데다가 모델을 업데이트하지 않으면 위험한 오류나 사고로 이어질 수 있기 때문이죠. 이처럼 모델을 계속해서 업데이트하지 않을 경우에 모델의 성능이 저하되는 현상을 model decay 현상이라고 합니다.

반대로, 잦은 모델 변경이 모델 성능에 거의 영향을 주지 않거나 전혀 개선되지 않는 경우도 있습니다. 모델에 데이터를 추가한다는 말은 곧 추가적인 QA와 검수 과정에 더해 추가 학습이 필요하다는 뜻입니다. 경우에 따라 그러한 수고를 들일 가치가 없을 수 있습니다. 하지만 모델 성능이 시간이 갈수록 저하된다면, 재학습 스케줄을 조정해 성능을 최적의 수준으로 유지하는 방법도 있습니다. 만약 진행하는 프로젝트가 재학습이 자주 필요한 프로젝트라면 라벨링 자동화는 꼭 필요합니다.

또한 라벨링 자동화를 사용하면, 엣지 케이스를 찾아내고 신뢰도를 계산하도록 프로그래밍할 수 있습니다. 모델을 통해 자동(auto) 라벨링을 진행할 때, 해당 모델이 정확도가 떨어진다고 판단하는 케이스를 따로 식별해낼 수 있다면 검수 과정이 대폭 줄어듭니다.

Superb AI의 불확실성(uncertainty) 측정 툴은 오류에 취약한 엣지 케이스를 확인하여 사람이 검수할 수 있도록 표시하는 기능을 제공하기 때문에 사람의 개입을 최소화할 수 있습니다.

라벨링 자동화 유형

고객이 진행하려는 프로젝트 유형에 자동화 도입이 가능하다면 라벨링 자동화가 가장 이상적인 선택지일 것입니다. 다행히 대부분 자동화 도입 가능성이 높습니다. 이러한 프로그래밍적 접근 방식에서 사용되는 어노테이션 기법에는 여러 가지가 있는데, 그중 몇 가지를 아래에서 살펴보겠습니다.

이미지 분류 예시 - 자동차


이미지 분류

대부분의 경우, 자동화의 개입이 가장 불필요한 라벨링 유형은 이미지 분류입니다.
라벨러는 데이터를 가장 잘 설명하는 태그 중에 하나를 선택하기만 하면 됩니다. 분류 과정에서 라벨러는 보통 드롭다운 목록에서 라벨을 선택합니다. 마우스로 박스를 그리거나 객체의 가장자리 틀을 만드는 과정이 필요 없죠. 이미지 분류는 다른 어노테이션 프로젝트 등과 접목하거나 자체적인 프로젝트로 진행할 수 있습니다. 우선 모델의 정답 데이터셋(ground truth)을 생성하고나면 이후 분류되지 않은 데이터에서 객체를 식별하는 과정을 자동화할 수 있습니다.

바운딩 박스 예시 - 강아지


바운딩 박스

바운딩 박스 역시 단순한 어노테이션 유형에 해당합니다.

단순한 어노테이션임에도 많은 애플리케이션에 사용됩니다. 바운딩 박스 작업 시 라벨러는 마우스로 화면을 클릭하고 드래그해서 라벨링할 객체 주변에 박스 모양을 그립니다. 이때 라벨러는 라벨링하려는 객체의 모든 부분을 박스 안에 담으면서 동시에 쓸모없는 여백은 최대한 피해야 합니다. 이 두 가지 규칙을 잘 따르기만 해도 정답 데이터셋(ground truth) 구축 작업은 간단해집니다.

세그멘테이션 예시 - 바나나


세그멘테이션(Segmentation)

세그멘테이션은 복잡하지만 대부분의 데이터 라벨링 프로젝트에서 필수 작업입니다. 객체 위치 식별과 이미지 분류가 융합된 세그멘테이션의 목표는 특정 객체의 윤곽을 최대한 정밀하게 잡아내는 것이고, 여기에는 여러 가지 방식이 존재합니다.

예를 들어, 객체의 주요 포인트를 찍고 연결해서 객체의 뼈대를 잡는 키포인트(keypoint) 방식이 있습니다. 반대로 폴리곤(polygon) 방식은 이미지 윤곽 전체를 잡고자 할 때 사용됩니다. 폴리라인(polyline)이 횡단 보도와 같은 객체 주변을 직선으로 그어서 윤곽을 그린다면, 시맨틱 세그멘테이션(semantic segmentation)은 객체의 형태를 따서 클래스로 분류하는 형식입니다. 즉, 같은 객체임에도 다른 유형으로 분류하여 하나의 그룹이 아닌 각각의 다른 사람들로 구별하는 것으로 설명할 수 있습니다. 이러한 라벨링 방식에는 각각 상당한 시간이 소요되기 때문에 모델을 더 빠르고 효율적으로 상용화하는 방법을 찾는 것이 가장 중요합니다.

비디오 라벨링 예시 - 축구 경기


비디오 라벨링

대부분의 컴퓨터 비전 케이스에서 영상은 중요한 요소입니다. 예를 들어 현재 보안 감시 영상은 절도와 같은 행동을 식별해낼 수 있습니다. 여기서 어느 행동이 절도 행위에 해당하는지 인식하려면 잘 훈련된 컴퓨터 비전 알고리즘이 필요하죠.


여기서 문제는 무엇일까요? 영상은 이미지보다 더 세세하고 많은 정보를 포함하고 있기 때문에 라벨링에 더 많은 비용이 소요됩니다. 각 파일을 프레임 단위로 쪼개는 일은 매우 지루한 작업일 뿐 아니라, 분리하는 일에도 매우 많은 시간이 소요될 수 있습니다. 그렇기 때문에 정답 데이터셋(ground truth)을 구축해서 특정 사람이나 물체를 신속하게 라벨링하도록 학습시킬 수 있다면 이런 문제를 해결할 수 있습니다.

💡
고품질 비디오 라벨링을 위한 슈퍼브 플랫폼 데모 알아보기


매뉴얼 라벨링은 언제 사용해야 할까

모델 구축 과정을 능률화하고 전체 소요 시간을 줄이는 자동화는 많은 팀에게 이상적인 옵션입니다. 하지만 이러한 프로그래밍적인 접근 방식이 더 효율적이지 않은 경우도 있습니다.


정답 데이터셋(Ground Truth) 구축

데이터 라벨링 초기 단계에서는 보통 모델을 학습시키기 위해 데이터의 일부만 라벨링하는 작업을 하게 됩니다. 이 과정은 초기 데이터를 정확히 라벨하기 위해서 전부 사람의 개입(HITL)을 통해 진행합니다. 그 이유는 이 초기 단계가 사람의 개입을 통해 진행되는 만큼 전체적인 라벨링의 정확도를 더욱 확신할 수 있게 되기 때문입니다. 보통 외부에서 구한 데이터가 모델 성능 개선에 도움이 되기는 하지만 모든 케이스에 완벽히 들어맞지는 않습니다. 모델에 외부 데이터셋을 적용하는 것은 마치 네모 모양의 장난감을 원 모양의 구멍에 집어넣으려는 일이 될 수 있기 때문에 사람이 직접 자체 데이터를 사용해서 기초를 다지는 게 더 적절합니다.

또한 정답 데이터셋(ground truth)을 구축하는 과정에서 발생하는 오류는 수정을 거쳐 이어지는 라벨링 과정에 활용할 수 있습니다. 모델을 구축할 때는 이미지마다 라벨링 바운더리가 충분한지, 라벨링이 정확하게 진행되었는지 보면서 확인할 필요가 있겠죠. 만약 데이터를 구축하는 초기 단계에서 자동화를 도입하면, 중요한 라벨을 일부 누락한다거나 비효율적이고 부정확한 성능을 내는 등 문제가 발생할 수 있는 모델을 구축하게 될 것입니다.

게다가 소유권이 분명한 정보를 다루는 과정에서는 어려움도 따릅니다. 의학, 금융, 보안과 같이 규제가 많은 분야에서는 적어도 라벨링 초기 단계에 사람이 감독하지 않는 경우에 더 큰 위험이 발생할 수 있기 때문입니다. 예로, 특이한 유형의 암을 감지해 내는 모델을 학습시키려 할 때 의학 전문가에게 초기 정답 데이터셋을 구축하는 과정을 맡기는 것이 이상적이겠죠. 금융 분야라면 모델에서 정보 유출이 발생했을 때 특히 자산이 많은 계좌일수록 심각한 사건으로 이어질 수 있습니다. 이는 정부의 모델 구축에서도 마찬가지 이슈입니다. 이러한 모델 유형에 주의를 깊게 기울이지 않으면 문제가 발생할 가능성이 매우 높아지겠죠.


엣지 케이스

모델이나 데이터셋이 복잡하고 까다로울수록 자동화된 모델은 일부 라벨에 표시한 마크를 놓칠 확률이 높아집니다. 모델의 데이터가 대부분 엣지 케이스로 이루어져 있다면 절대적으로 사람의 개입이 필요합니다. 사람만으로 작업할 때보다 모델을 자동화하는 과정에서 감독하는 데 더 많은 자원이 필요하다면, 자동화가 비효율적이면서도 자동화의 다른 장점들을 상쇄시켜버리는 셈이 되죠. 또 다른 경우는 낮은 신뢰도를 가진 이미지만 사람이 검수하여 모델의 초기 예측 과정을 대체할 수도 있습니다. 엣지 케이스는 대부분의 경우 기계로 대신할 수 없는 세심하고도 정밀한 작업이 필요합니다.

내 프로젝트에 라벨링 자동화를 도입해야 할까?

네, 라벨링 자동화는 라벨링 과정, 나아가 머신러닝 실무자들의 프로젝트 진행을 가속하므로 자동화를 도입하면 잦은 업데이트가 필요한 프로젝트의 경우 직접 라벨링하는 작업이 필요 없어집니다. 따라서 훨씬 관리하기가 쉬워지기 때문에 도입하는 것이 좋겠죠. 의학과 같이 까다로운 분야에서는 의사나 실무자만이 특이한 종양이나 질병을 올바르게 구별해내고 라벨링 할 수 있는데, 직접 일일이 데이터를 라벨링하려면 그들의 귀중한 시간을 빼앗는 셈이 됩니다. 이렇게 사람이 직접 라벨링하는 과정은 정답 데이터셋(ground truth) 구축이나 QA 과정에서만 도입하는 것이 좋습니다. 대부분의 경우 엔지니어처럼 주요 자원을 매뉴얼 라벨링 과정 감독에 사용하는 것은 곧 자원의 낭비나 다름없습니다.

마치며

사람이 직접 작업하는 매뉴얼 라벨링과 자동화된 라벨링 중 어떤 라벨링 방식을 선택할지는 프로젝트의 유형과 현재 어느 단계를 진행하고 있는지에 따라 달라집니다. 정답 데이터를 구축하는 단계라면 자동화를 도입하기는 쉽지만, 마지막 단계의 결과물에는 별 도움이 되지 않습니다. 결과적으로 보면 시간도 절약할 수 없고 정확도가 높은 모델도 구축할 수 없죠. 반대로, 복잡한 세그맨테이션 작업을 사람이 직접 하려면 두통만 유발할 것입니다. 바운딩 박스같이 단순한 프로젝트는 매뉴얼 라벨링으로 손쉽게 해결할 수 있습니다. 그렇기 때문에 자동화는 머신러닝 프로젝트의 업데이트와 가속화를 위해 갖추어야 할 가장 중요한 요소라 할 수 있습니다.

슈퍼브에이아이는 머신러닝 및 컴퓨터 비전 프로젝트에 자동화를 도입하는 데 도움의 손길을 제공합니다. 데이터 라벨링 과정이 사람이 쉽게 접근할 수 있으면서 동시에 충분히 자동화될 수 있도록 관련 기능들을 계속 발전해나가고 있습니다. 지금 바로 세일즈 팀과 상담을 시작해보세요.