데이터 라벨링은 데이터를 가공하는 1차 작업입니다. 아기에게 말을 가르칠 때 사물의 사진을 보며 이름을 하나씩 알려주는 것처럼 AI 모델이 학습할 데이터에 '이것은 사람' '이것은 자동차' '이것은 강아지' 이런식으로 입력해주는것입니다. 여기서 사물의 사진은 입력되는 데이터(Input Data) 이며 이름은 출력으로 목표하는 목표값(Target)이 됩니다.
여기서 목표값을 부여하는 행위를 라벨링 작업이라고 부르며 전체 AI 시스템 구축에 80~90% 이상이 소요된다고 합니다. (원문기사) 실제 양질의 데이터 확보와 높은 신뢰도를 갖는 AI 시스템 구축에 라벨링은 무척 중요합니다. 오늘은 객체 탐지 알고리즘으로 활용하기 위한 라벨링에서 적용되는 몆가지 원칙을 알아보겠습니다.
1. 편향을 막기 위한 빅데이터 확보
영어공부를 한다고 가정해보겠습니다. 첫주에는 오로지 단어만, 둘째 주에는 문법만, 셋째 주에는 듣기만 공부하게 되면 전체적은 흐름을 읽지 못하게 되겠죠. 이러한 현상은 학습 알고리즘에도 적용됩니다. 이를 특정 데이터에 편향되었다고 하며, 이를 막기 위해 빅데이터의 확보가 무엇보다 중요합니다. 차량의 경우, 전면사진으로만 학습하기보단 다양한 각도에서, 다양한 도로에서, 다양한 색의 차량을 학습하는것이 좋습니다.
* 특정환경 (전면 번호판 인식, 범퍼 파손 확인)과 같은 솔루션에서는 한가지에 집중하는것이 도움이 될 수 있습니다.
2. 라벨링 기준 확립
구축하고자하는 시스템에 맞는 데이터만 선별하는것 역시 중요합니다. 고속도로에서 차량을 검출하는 시스템 구축을 가정하게되면, 고속도로에서 수집된 데이터로 학습을 진행해야겠죠. 하지만 일정한 기준없이 무차별적으로 라벨링을 하게되면 오히려 학습 성능에 영향을 미치게됩니다.
일반적으로 다음과 같은 3가지 원칙을 정해주는것이 좋습니다. 1.관심 영역 지정, 2. 최소 크기 지정 3. 객체간의 겹침 허용값 선정
관심 영역 내 최소 크기 이상을 가지고 객체 간 겹침정도가 허용값 이하인 객체 라벨링
이러한 기준으로 전체 데이터 라벨링에 기준이 생기면 학습 성능도 보다 좋아지게 되며 라벨링 작업을 하며 라벨러의 주간적인 기준을 조금이나마 덜 수 있습니다. 본 포스팅은 추후 지속적으로 업데이트 하도록 하겠습니다.
# 머신러닝 프로젝트 제작, 상담 및 컨설팅 / 머신러닝 접목 졸업작품 컨설팅
# 데이터 가공, 수집, 라벨링 작업 / C, 파이썬 프로그램 제작
# email : deepi.contact.us@gmail.com
# site : www.deep-i.net
'Matlab' 카테고리의 다른 글
[MATLAB] 클러스터링 (군집화) 기법 구현을 위한 기본 2D 데이터셋 모음 (0) | 2020.11.26 |
---|---|
[Matlab] K-Means Clustering (K-평균 군집화) 알고리즘 구현하기 (0) | 2020.11.24 |
[Matlab] 매트랩을 이용한 다층신경망 (Multi-Layer Perceptron: MLP) 구현하기 (XOR 문제) (0) | 2020.11.01 |
[Matlab] 객체 탐지 알고리즘 학습을 위한 이미지 데이터 라벨링 #1 (0) | 2020.07.14 |
[Matlab] 매트랩을 이용한 실시간 그래프 그리기 (1) | 2020.07.05 |