
AI 모델의 성능은 학습 데이터의 질과 양으로 결정됩니다. 아무리 정교한 알고리즘도 부실한 데이터로 학습되면 현장에서 실패합니다. 물류 자동화 분야에서 로봇이 포장상자를 인식하고, AGV가 경로를 계획하고, 로봇팔이 물품을 집을 때 모두 배경에는 대량의 학습 데이터가 있습니다.
기존 프로그래밍 방식은 개발자가 모든 규칙을 명시적으로 작성합니다. 예를 들어 "상자가 빨간색이면 A 구역으로, 파란색이면 B 구역으로"라는 규칙을 직접 코딩합니다. 그러나 현실의 물류 환경은 훨씬 복잡합니다. 상자의 색깔도 다양하고, 조명도 변하고, 각도도 다르며, 손상된 상자도 있습니다. 이러한 모든 경우를 규칙으로 처리하는 것은 불가능합니다.
따라서 AI를 사용하여 데이터로부터 패턴을 자동으로 학습하는 방식이 필수적입니다. 하지만 AI가 학습할 데이터는 어디서 나올까요? 데이터는 현장의 센서와 카메라에서 수집되고, 사람이 검토하여 정확한 라벨을 붙이고, 각종 이상치가 제거되는 정제 과정을 거쳐야 비로소 AI 모델의 학습에 사용될 수 있습니다.
효과적인 데이터 수집은 체계적인 계획에서부터 시작됩니다. 무작정 많은 데이터를 모으는 것보다 필요한 데이터를 정확히 파악하고 수집하는 것이 중요합니다.
먼저 수집할 데이터의 종류를 정의해야 합니다. 물류 센터에서 필요한 데이터는 센서의 종류에 따라 다릅니다. 로봇의 카메라로는 포장상자의 위치, 형태, 바코드 같은 시각 정보를 수집하고, LiDAR로는 3차원 환경 정보와 장애물 위치를 수집하며, IMU는 로봇의 움직임과 기울기 정보를 제공합니다. 각 센서로부터 어떤 정보를 수집할 것인가가 AI 모델의 성능을 결정합니다.
다음으로 수집 환경의 다양성을 고려해야 합니다. 만약 항상 같은 조명 조건에서만 학습 데이터를 수집하면 다른 조명 환경에서는 모델이 실패합니다. 따라서 다양한 시간대(아침, 오후, 저녁), 다양한 제품 종류, 다양한 배치 상황에서 데이터를 수집해야 합니다.
수집 장비의 설치도 중요합니다. 카메라의 위치와 각도, 센서의 높이, 조명 조건 같은 물리적 설정이 일관되게 유지되어야 나중에 수집한 데이터들을 신뢰할 수 있게 비교할 수 있습니다.

사실 수집된 원시 데이터는 그 자체로는 가치가 거의 없습니다. 그렇기 때문에 데이터에 정확한 라벨(정답)을 붙이는 과정이 반드시 필요합니다. 이를 라벨링(또는 주석)이라 부릅니다.
예를 들어 로봇이 상자를 인식하도록 학습시키려면, 카메라 영상 각각에 "이것이 상자다"라는 정보를 붙여야 합니다. 더 정교하려면 상자의 정확한 경계를 그려야 합니다. 이는 자동으로 이루어질 수 없고 사람의 검토가 필수적입니다.
라벨링의 정확도가 모델의 성능을 직결시킵니다. 만약 상자가 아닌 것을 상자로 라벨링하면 AI는 잘못된 정보로 학습하여 실제 환경에서 실패합니다. 따라서 라벨링 작업자를 충분히 교육하고, 여러 사람이 동일한 데이터를 검토하도록 하여 의견 불일치가 있으면 논의하는 식으로 정확도를 높여야 합니다.
라벨링 도구도 중요합니다. LabelImg, CVAT, Supervisely 같은 전문 도구는 효율적인 라벨링과 일관성 유지를 도와줍니다. 수동 라벨링이 너무 오래 걸리면 반자동 도구(머신 어시스턴스)를 사용하여 초안을 생성하고 사람이 검토하는 방식으로 속도를 높일 수 있습니다.

현실에서는 충분한 데이터를 수집하기 어려운 경우가 많습니다. 특히 특정 상황(극도로 손상된 상자, 드문 물품 종류)은 자연적으로 발생 빈도가 낮아서 데이터 수집이 어렵습니다.
수집한 이미지를 회전, 반전, 밝기 조절, 자르기 같은 변환으로 새로운 이미지를 만듭니다. 예를 들어 한 개의 상자 이미지에 8가지 회전 변환을 적용하면 8배의 데이터가 됩니다. 이는 "다양한 각도에서 촬영한 것과 유사한 학습 데이터"를 만드는 방식입니다. 그러나 모든 변환이 현실적이어야 합니다. 상자를 180도 반전시키는 것은 비현실적이므로 선택적으로 적용해야 합니다.
3D 모델링이나 게임 엔진(Unity, Unreal Engine)을 사용하여 현실처럼 보이는 가상 이미지를 생성합니다. 컴퓨터로 상자의 3D 모델을 만들고 다양한 각도에서 렌더링하면 실제로 촬영한 것처럼 보이는 데이터를 만들 수 있습니다. 이 방식은 데이터 수집의 제약을 크게 줄이지만, 현실과의 미묘한 차이(도메인 갭)를 극복하기 위해 실제 데이터와의 혼합이 필요합니다.
혼합 사용으로 비용과 효과의 균형을 맞춥니다.

수집된 데이터가 현실을 제대로 반영하지 못하면 AI는 편향된 결정을 내릴 위험이 있습니다.
클래스 불균형 문제는 어떤 종류의 데이터는 많고 어떤 종류는 적은 상황입니다. 예를 들어 정상 상자는 10,000개인데 손상된 상자는 100개라면 AI는 "모든 것이 정상 상자"라고 학습할 가능성이 높습니다. 이를 해결하기 위해 적은 카테고리의 데이터를 추가로 수집하거나, 데이터 증강으로 인위적으로 늘리거나, 학습 과정에서 가중치를 조정하여 모든 카테고리가 동등하게 대우받도록 합니다.
환경적 편향도 제거해야 합니다. 만약 모든 학습 데이터가 한국의 물류 센터에서만 수집되었다면 미국이나 일본의 센터에서는 작동이 다를 수 있습니다. 따라서 여러 국가, 여러 회사의 다양한 물류 센터에서 데이터를 수집하거나 도메인 적응 기법을 사용하여 새로운 환경에 맞춰야 합니다.
수집된 데이터는 불완전하고 오류를 포함할 가능성이 높습니다. 이를 정제(cleaning)하는 과정이 매우 중요합니다.
결측치(데이터가 없는 부분) 처리가 필요합니다. 센서 오작동으로 특정 프레임의 데이터가 없거나 부분적으로만 있을 수 있습니다. 이런 경우 해당 데이터를 제거하거나, 인접한 데이터로 보간(채우기)하거나, 또는 예측 모델로 복원할 수 있습니다. 물류 같은 중요한 분야에서는 보통 불완전한 데이터는 제거하는 보수적 접근을 취합니다.
이상치(outlier) 제거도 필수적입니다. 센서 오류로 인한 극단적 값들(예: 거리 센서가 갑자기 -1미터를 읽음) 은 학습을 방해합니다. 통계적 방법으로 "이 값은 정상 범위를 벗어난다"고 판단되면 제거합니다.
중복 데이터 제거도 고려합니다. 같은 상황을 여러 번 촬영하면 데이터 다양성이 실제보다 과장되어 보입니다. 따라서 유사한 데이터를 그룹화하고 대표 하나만 유지하는 방식으로 정제할 수 있습니다.

수집된 데이터를 효과적으로 활용하려면 세 가지 용도로 나누어야 합니다. 학습 세트는 AI 모델이 실제로 학습하는 데 사용되는 데이터입니다. 보통 **전체 데이터의 70~80%**를 할당합니다. 이 데이터로 모델이 패턴을 학습하고 가중치를 조정합니다.
검증 세트는 학습 과정 중에 모델의 성능을 평가하는 데 사용됩니다. 보통 전체의 10~15%를 할당합니다. 학습이 진행되면서 "지금의 모델이 충분히 잘 작동하는가?"를 주기적으로 확인하고, 더 이상 개선이 없으면 학습을 멈추는 식으로 과적합(과도하게 학습 데이터에만 맞춘 상태)을 방지합니다.
테스트 세트는 모델이 처음 보는 데이터입니다. 학습이 완전히 끝난 후 최종적으로 모델의 성능이 실제 환경에서 어떨 것인가를 평가합니다. 이 평가는 매우 중요하므로 절대 학습이나 검증에 사용되지 않은 데이터만 사용해야 합니다.
현대의 물류 시스템은 정적이지 않고 지속적으로 변화합니다. 새로운 제품이 추가되고, 물류 센터의 레이아웃이 바뀌고, 시즌에 따라 물품의 특성이 변합니다.
따라서 초기 학습 이후에도 계속해서 새로운 데이터를 수집해야 합니다. 배포된 로봇이 매일 수천 개의 이미지를 캡처하고, 이 중에서 모델이 불확실해하거나 틀린 경우들을 추출하여 라벨링한 후 모델을 재학습시키는 식입니다.
온라인 학습(또는 연속 학습)은 시스템이 실제 운영 중에도 지속적으로 개선되는 방식입니다. 예를 들어 새로운 형태의 포장상자가 나타나면 AI는 몇 개의 예시만으로 빠르게 적응할 수 있어야 합니다. 이를 위해 메타러닝(학습을 빠르게 하는 방법을 배우는 기법)이나 파퓨샷 러닝(적은 샘플로 학습)을 사용합니다.

대규모 데이터를 효과적으로 관리하려면 체계적인 거버넌스가 필요합니다. 데이터 인벤토리 관리는 어떤 데이터가 있는가를 명확히 파악하는 것입니다. 언제 수집했고, 어떤 센서로 수집했고, 몇 개의 샘플이 있고, 라벨링 상태는 어떤가를 추적합니다.
메타데이터 기록은 각 데이터의 배경 정보를 저장합니다. 이미지 데이터라면 촬영 날짜, 시간, 센서 모델, 조명 조건, 로봇의 배터리 상태 같은 컨텍스트 정보를 함께 기록합니다. 나중에 "이 조건에서 자주 실패한다"는 패턴을 발견할 때 매우 유용합니다. 버전 관리도 중요합니다. 데이터가 여러 번 수정되거나 재라벨링될 수 있으므로 어느 버전의 데이터로 어떤 모델을 학습했는가를 기록해야 합니다. 이는 문제 발생 시 원인 추적에 필수적입니다.
물류 데이터에는 회사의 기밀 정보와 개인정보가 포함될 수 있습니다. 카메라 데이터에는 사람의 얼굴이나 신원정보가 포함될 수 있습니다. 따라서 라벨링 과정에서 개인정보를 제거하거나 비식별화해야 합니다. 얼굴은 블러 처리하거나 마스킹하고, 이름 같은 텍스트도 제거합니다.
기업 기밀 보호도 중요합니다. 물류 센터의 레이아웃, 상품 종류, 거래처 정보 같은 것은 회사의 전략적 정보입니다. 따라서 데이터 저장 위치와 접근 권한을 엄격하게 제한해야 합니다. 또한 규제 준수도 필수적입니다. GDPR(유럽), 개인정보보호법(한국) 같은 규제에서 개인정보 처리 방식을 명확히 정의하도록 요구합니다. 따라서 데이터 처리 동의, 보관 기간, 삭제 정책을 문서화하고 준수해야 합니다.

모든 데이터를 직접 수집할 필요는 없습니다. 이미 공개된 데이터셋을 활용할 수 있습니다. 공개 데이터셋(ImageNet, COCO, Open Images)은 수백만 개의 라벨링된 이미지를 제공합니다. 이들을 초기 모델 학습에 사용한 후, 자신의 물류 데이터로 미세 조정하는 방식이 효율적입니다. 이를 전이 학습이라 부르며, 처음부터 모델을 학습시키는 것보다 훨씬 빠르고 적은 데이터로도 좋은 결과를 얻을 수 있습니다.
산업 특화 데이터셋도 존재합니다. ICDAR(문서 인식), Cityscapes(도시 장면) 같은 데이터셋들이 특정 분야를 위해 큐레이션되었습니다. 물류 분야에서도 포장상자 탐지, 바코드 인식 같은 특화된 데이터셋들을 찾을 수 있습니다.
하지만 외부 데이터셋도 도메인 갭이 있을 수 있습니다. 따라서 자신의 환경과 맞지 않는 부분은 반드시 자체 데이터로 보충해야 합니다.
