K-SMARTFACTORY

AI & Big Data

AI(인공지능)/ML(기계학습)에서의 Annotation

2023-10-18

 

 

AI(인공지능)/ML(기계학습)에서의 Annotation 

 

필요성과 작업 방법

 

다양한 영역에서 AI에 대한 화두가 집중되면서 그 배경에 있는 머신러닝과 딥러닝 기술에도 관심이 모아지고 있다.

AI나 머신러닝 메커니즘을 살펴보면 수 많은 전문 용어들이 눈에 들어오는데 그 중에서 '애노테이션(Annotation)'이라는 용어를 들어본 사람도 많을 것이다.

 

AI에는 기계학습의 기반이 되는 「교사 데이터」가 필요하며 애노테이션은 교사 데이터를 작성하는데 있어서 중요한 역할을 한다.

따라서 AI 활용을 생각하고 있다면 애노테이션에 대해 올바로 이해하고 있어야 한다.

 

아래에 AI 개발에서의 애노테이션 개요와 실사례, 구체적인 애노테이션방법에 대해 설명한다.

 

AI에서의 애노테이션 작업

 

애노테이션은 AI 학습 데이터에 정답을 판별할 수 있도록 라벨을 부여하는 작업 공정이다.

예를 들어 사과 이미지에 대해 '사과/빨간색/과일/원형' 등의 정보를 라벨로 부여하면 주어진 라벨을 AI가 학습하고,

이후 새로 제공되는 '빨갛고 둥근 과일 이미지'를 '사과'로 판별할 수 있게 된다.

AI는 텍스트나 이미지 같은 데이터 속성에 따라 부여된 라벨을 토대로 기계학습을 진행한다.

따라서 AI의 성능은 애노테이션의 질에 크게 좌우된다고 볼 수 있다.

 

AI 학습과 애노테이션의 관계

 

AI 개발의 핵심인 머신러닝에서 애노테이션은 중요하다.

머신러닝과 애노테이션의 관계성에 대해 더 자세히 살펴본다.

머신러닝은 대량의 데이터에서 패턴이나 구조를 찾게 하는 구조이다.

머신러닝 방법은 '교사 학습'과 '비교사학습'의 크게 두 가지 모델로 나눌 수 있다.

어떤 데이터에 대해 사전에 정답을 정의한 후 학습시키는 교사 학습에 비해 비교사 학습은 정답을 정의하지 않고 학습시키는 모델이다.

이 2개의 모델은 각각 자신 있는 영역이 달라 교사학습은 「식별/예측」이 특징인 반면,

비교사 학습은 「추출/그룹 나누기」를 특징으로 하고 있다.교사학습과 비교사학습의 차이

 

애노테이션은 교사학습에 필요

 

교사학습에서는 끌어내고 싶은 정보의 특징을 '정답'으로 AI에게 학습시키는데, 이 정답을 주는 작업이 바로 애노테이션이다.

애노테이션을 통해 대량의 데이터에서 정답이 되는 정보나 패턴을 검출하거나 생성할 수 있게 된다.

예를 들어 사전에 사과 이미지에 대해 '사과/빨간색/꼭지가 있음/원형/과일' 등

사과의 특징에 각각 라벨을 부여하면 AI는 이들 요소로부터 사과 이미지를 판별하는 알고리즘을 구축한다.

 

교사학습을 이용한 기본적인 학습 모델의 구축은 아래 6단계로 한다.

 

1. 목적 정의

2. 목적에 맞는 유형의 데이터 수집

3. 입력 및 출력 변수 설정

4. 이용하는 데이터 유형에 맞는 학습 알고리즘 선정

5. 학습 알고리즘에 정답을 부여하는 훈련 데이터를 부여(애노테이션)

6. 학습된 모델에 새로운 데이터를 주어 테스트

 

교사학습은 애노테이션 공정에서 「무엇을 기준으로 정답으로 할 것인지」를 올바르게 설정하지 않으면 잘 기능하지 않는다.

앞서 언급한 사과의 예에서 '빨간색'이라는 정답 요소가 부족하면 배를 사과로 인식할 수도 있고, '꼭지 있음'이 부족하면 매실을 사과로 인식할 수 있다.

따라서 애노테이션이 교사학습 모델의 질을 나아가 AI의 성능에 직결된다고 볼 수 있다.

 

비교사학습은 애노테이션 불필요

 

비교사학습은 학습 알고리즘에 대해 많은 양의 데이터를 주어 전체 경향이나 상관관계를 분석하는 기법이다.

정답/부정답이 존재하지 않는 데이터 분석에 이용하기 때문에 필연적으로 애노테이션 공정은 불필요하다.

 

데이터별 애노테이션의 예

 

교사학습에 있어서 애노테이션의 중요성을 알았다.

그러나 애노테이션을 한다고 해도 대상 데이터의 종류에 따라 적절한 라벨링 방식을 취해야 한다. 아래에 데이터 종류별 아노테이션에 대해 설명한다.

 

텍스트 데이터 애노테이션

 

텍스트 데이터 애노테이션은 AI가 인간의 언어를 이해하도록 텍스트 정보에 라벨을 부여한다.

예를 들어 챗봇에게 「1+1은?」 질문을 던지고 「2입니다」라는 대답받으려면 챗봇에 탑재된 AI가 텍스트 데이터를 계산식이라고 인식해야 한다.


텍스트 데이터 애노테이션 방식과 라벨링의 예

 

· 세망틱 애노테이션: 단일 언어, 고유명사, 개념을 분류하는 라벨(사람, 국가, 기업, 날짜, 금액 등)

· 센티맨틱 애노테이션: 희노애락 등 감정표현을 분류하는 라벨(포지티브, 네가티브 등)

· 인텐트 애노테이션: 문맥의 의도를 분류하는 라벨(요구, 의문, 제안 등)

· 문장구조의 해석: 주어나 술어 등 문장구조를 해석하여 분류하는 라벨(크다, 높다, ~처럼, ~일지도 모른다 등)

 

텍스트 애노테이션을 0부터 시작하면 막대한 시간과 코스트, 노력이 든다.

리소스가 충분히 준비되지 않을 경우 전용 애노테이션 툴이나 솔루션 서비스를 이용하는 것이 바람직하다.

 

이미지(사진·영상) 데이터 애노테이션

 

이미지 데이터를 애노테이션 하려면 이미지 내에서 일체화되어 있는 물체나 풍경을 어떻게 개별 인식시키느냐가 중요하다.

예를 들어 「집 안에서 접시에 놓여있는 사과를 든 여성의 사진」을 애노테이션으로 라벨링할 경우, 적어도 집의 배경, 접시, 사과, 여성 4개를 각각 라벨링해야 한다.

 

· 물체검출(오브젝틱션): 물체를 선으로 둘러쳐 장방형 형태로 라벨링한다.

· 영역추출(세망틱 세그맨테이션): 이미지내의 영역을 픽셀마다 특정하여 라벨링한다.

· 표시검출(랜드마크 애노테이션): 대상으로 하는 눈, 코, 윤곽 등 얼굴의 부분을 점으로 표시 하여 라벨링한다.

· 이미지 분류(크래식픽케이션): 이미지 그 자체에 복수의 속성을 라벨링한다.

 

음성 애노테이션

 

음성 데이터 애노테이션은 음량이나 소리 종류로 분류하거나 음성을 텍스트 데이터로 변환하는데 다양한 인물의 음성 데이터 라벨링이 필요하다.

 

· 문자화 : 음성을 텍스트화하여 라벨링한다.

· 화자 다이얼라이제이션 : 대화를 구간별로 끊어 누가 어디까지 말했는지를 복수로 라벨링한다.

· 카테고리 분류 : 사람의 음성인지 아닌지, 노이즈인지를 라벨링한다.

 

음성 데이터 애노테이션은 음성 인식 시스템이나 번역기 등 다양한 도구에 활용되는 교사 데이터이다.

최근에는 고객센터 응답 기록을 자동으로 텍스트화하는 툴이 등장하는 등 음성 데이터를 활용한 AI가 주목받고 있다.

 

애노테이션의 주요 방법

 

실제로 애노테이션 작업을 수행하려면 데이터 수집이나 인적 자원 확보, 툴 활용 등 다양한 핵심 사항이 있다.

상응하는 비용도 발생하므로 예산에 맞게 최적의 수단을 선택해야 한다.

 

툴을 이용한 애노테이션

 

애노테이션에는 각종 데이터에 따른 전용 애노테이션 툴이 필요 불가결하다.

애노테이션 툴의 주요 조달 방법을 아래에 3가지 소개한다.

 

· 클라우드 벤더의 애노테이션 서비스 이용

· OSS(오픈 소스 소프트웨어)에서 구축

· 툴을 사내에서 구축

 

가장 저비용인 것은 애노테이션 서비스 이용이다. 서비스 이용은 기존 툴을 이용하기 때문에 개발 비용이 들지 않는다.

그러나, 다른 선택지에 비해 자유도는 떨어진다.

 

OSS와 사내 구축은 자사에서 툴을 구축하기 때문에 고비용이지만, 장기적 운용을 전제로 한다면 비용 대비 효과는 높다고 할 수 있을 것이다.

 

애노테이션 대행사 이용

 

애노테이션 작업 노하우나 전문 인력이 자사에 없을 경우 대행사와 계약해 위탁하는 것도 유효한 수단이다.

AI 분야의 인재가 아직 부족할 경우 아웃 소싱으로 대행해 주는 업체에 부탁한다.

용역업체 선정이나 계약, 조건 조율에 시간이 걸리지만 데이터 활용 목적에 따른 적절한 애노테이션 작업을 기대할 수 있다.

 

크라우드소싱에 위탁

 

대행사 이용이 예산적으로 어려운 경우 크라우드소싱으로 프리랜서 애노테이터를 찾는 방법도 효과적이다.

애노테이션 작업은 부업으로 도급받는 사람이 많아 요건을 좁혀 찾으면 저비용으로 높은 기술을 가진 애노테이터와 만날 수 있을 것이다.

가장 큰 매력은 저비용인 점이지만, 개인의 작업량에는 한계가 있고 품질에 문제가 있는 경우도 종종 있다. 

프리 애노테이터에게 의뢰하는 경우 유저 평가나 실적을 체크해 보고 위탁하길 권한다.

 

데이터 세트 활용

 

애노테이션 작업의 데이터 내용이나 라벨이 단순할 경우 AI나 데이터 솔루션 기업이 제공하는 애노테이션된 데이터 세트로 대체할 수 있다.

애노테이션의 요건이나 개발의 용도가 데이터 세트와 일치되어야 하지만 데이터 세트를 이용하면 라벨링하는 수고도 들지 않고,

단 시간에 저비용으로 기계학습 프로세스를 대체할 수 있을 것이다.