AutoML Video 초보자 가이드

소개

축구팀 코치라면 팀의 강점과 약점을 분석하는 데 사용할 게임 동영상 라이브러리가 많이 있을 것입니다. 이 경우 많은 경기 동영상에서 골, 반칙, 패널티킥 등과 같은 동작을 하나의 동영상으로 취합할 수 있다면 매우 유용할 것입니다. 하지만 수백 시간의 동영상을 검토하고 수많은 동작을 추적하기란 쉽지 않습니다. 각 동영상을 시청하면서 직접 세그먼트를 마킹하여 각각의 동작을 강조표시하는 것은 상당히 지루하고 시간이 오래 걸리는 작업입니다. 게다가 이러한 작업을 시즌별로 수행해야 합니다. 컴퓨터에서 이러한 동작이 나타날 때마다 자동으로 식별하여 플래그를 지정하도록 할 수 있다면 얼마나 간편할까요?

분류된 축구 동작 이미지 예

머신러닝(ML)이 왜 이 문제에 적합한 도구일까요?

프로그래밍 표현 이미지 기존의 프로그래밍에서는 프로그래머가 컴퓨터가 따라야 하는 단계별 지침을 지정해야 합니다. 그러나 축구 경기에서 특정 동작을 식별하는 사용 사례를 생각해보세요. 색상, 각도, 해상도, 조명의 변화가 너무 많아서 정확한 결정을 내리는 방법을 컴퓨터에 알려주려면 너무 많은 규칙을 코딩해야 합니다. 어디부터 시작해야 할지 생각하는 것조차 어렵습니다. 그러나 다행히도 머신러닝을 사용하면 이러한 문제를 해결할 수 있습니다.

이 가이드에서는 AutoML Video Intelligence Classification을 통해 이러한 문제를 해결하는 방법과 그 워크플로, 그리고 이를 해결할 수 있는 다른 종류의 문제에 대해 다룹니다.

AutoML Video Intelligence Classification 작동 방식

간단한 신경망의 그래픽 표현 AutoML Video Intelligence Classification은 지도 학습 작업입니다. 즉, 이미 라벨이 지정된 동영상 예를 사용하여 머신러닝 모델을 학습하고 테스트하며 검증할 수 있습니다. 학습 모델을 사용하면 새로운 동영상을 입력할 수 있고 모델은 라벨이 있는 동영상 세그먼트를 출력할 수 있습니다. 라벨은 모델에서 예측된 '답변'입니다. 예를 들어 축구 사용 사례에 대한 학습 모델을 사용하면 새로운 축구 동영상을 입력할 수 있고 '골', '신체 접촉 반칙' 등과 같은 동작 장면을 설명하는 라벨이 지정된 동영상 세그먼트를 출력할 수 있습니다

AutoML Video Intelligence Classification 워크플로

AutoML Video Intelligence Classification은 다음과 같은 표준 머신러닝 워크플로를 사용합니다.

  1. 데이터 수집: 달성하려는 결과를 바탕으로 모델을 학습 및 테스트하는 데 필요한 데이터를 결정합니다.
  2. 데이터 준비: 데이터의 형식 및 라벨이 올바른지 확인합니다.
  3. 학습: 매개변수를 설정하고 모델을 빌드합니다.
  4. 평가: 모델 측정항목을 검토합니다.
  5. 배포 및 예측: 모델을 사용할 수 있게 만듭니다.

데이터 수집을 시작하기 전에, 해결해야 하는 문제에 대해 생각해보면 데이터 요구사항을 알 수 있습니다.

사용 사례 고려

시작 및 종료 지점 그래픽

문제부터 살펴봅니다. 달성하려는 결과는 무엇인가요? 얼마나 많은 클래스를 예측해야 하나요? 클래스는 모델에서 식별 방법을 학습하려는 것으로 모델 출력에 라벨로 표시됩니다. 예를 들어 볼 감지 모델에는 2개의 클래스, 즉 '볼'과 '볼 없음'이 있습니다.

답변에 따라 AutoML Video Intelligence Classification은 사용 사례를 해결하는 데 필요한 모델을 만듭니다.

  • 이진 분류 모델은 이진 결과(2개 클래스 중 하나)를 예측합니다. 예를 들어 축구 경기에서 골만 식별하는 예 또는 아니요 질문('골인가요 골이 아닌가요?')에 이 모델을 사용합니다. 일반적으로 이진 분류 문제에서는 다른 문제에 비해 학습할 동영상 데이터가 덜 필요합니다.

  • 다중 클래스 분류 모델은 2개 이상의 개별 클래스에서 하나의 클래스를 예측합니다. 동영상 세그먼트를 분류하는 데 이 모델을 사용합니다. 예를 들어 올림픽 동영상 라이브러리의 세그먼트를 분류하여 지정된 시간에 나타나는 스포츠를 파악합니다. 출력으로 수영 또는 체조와 같은 단일 라벨이 할당된 동영상 세그먼트를 제공합니다.

  • 다중 라벨 분류 모델은 가능한 여러 클래스에서 하나 이상의 클래스를 예측합니다. 단일 동영상 세그먼트에서 여러 클래스에 라벨을 지정하는 데 이 모델을 사용합니다. 많은 클래스 중에 구별하는 것이 더 복잡하므로 이 문제 유형에는 종종 더 많은 학습 데이터가 필요합니다.

위의 축구 예에서는 클래스(골, 신체 접촉 반칙 등과 같은 동작)가 동시에 발생하여 단일 동영상 세그먼트에 여러 라벨이 필요할 수 있으므로 다중 라벨 분류 모드가 필요합니다.

공정성에 대한 참고사항

공정성은 Google의 책임감 있는 AI 관행 중 하나입니다. 공정성의 목표는 알고리즘 시스템이나 알고리즘을 기초로 한 의사 결정 과정에서 인종, 소득, 성적 지향, 종교, 성별 등 역사적으로 차별과 소외의 기준이 되었던 특성이 나타날 경우, 이를 이해하고 이와 관련하여 사람들을 부당하거나 불리하게 대우하지 않는 것입니다. 이 가이드를 읽으면 보다 공정한 머신러닝 모델을 만드는 방법에 대해 자세히 설명하는 '공정성 인식' 참고사항을 볼 수 있습니다. 자세히 알아보기

데이터 수집

데이터 포인트 그래픽 사용 사례를 설정한 후에는 원하는 모델을 만들 수 있는 동영상 데이터를 수집해야 합니다. 학습을 위해 수집하는 데이터를 통해 해결할 수 있는 문제를 알 수 있습니다. 얼마나 많은 동영상을 사용할 수 있나요? 동영상에 모델에서 예측하려는 클래스의 예가 충분히 포함되어 있나요? 동영상 데이터를 수집하는 동안 다음 사항을 고려해야 합니다.

충분한 동영상 포함

모델 학습 그래픽 일반적으로 데이터 세트에 학습 동영상이 많을수록 더 나은 결과를 얻을 수 있습니다. 또한 권장되는 동영상 수는 해결하려는 문제의 복잡성에 따라 조정됩니다. 예를 들어 이진 분류 문제(두 클래스에서 하나의 클래스 예측)의 경우에는 다중 라벨 문제(여러 클래스에서 하나 이상의 클래스 예측)에 비해 동영상 데이터가 덜 필요합니다.

또한 분류하려는 대상의 복잡성에 따라 필요한 동영상 데이터의 양을 결정할 수 있습니다. 동작 장면을 구별하기 위해 모델을 빌드하는 축구 사용 사례를 생각해보고 이를 벌새 종 간에 구별하는 모델과 비교해보세요. 색상, 크기, 모양의 미묘한 차이와 유사점을 고려할 때 모델에서 각 종을 정확하게 식별하는 방법을 학습하기 위해 더 많은 학습 데이터가 필요할 것입니다.

필요한 최소 동영상 데이터를 파악하려면 다음 규칙을 기준으로 사용하세요.

  • 클래스가 적고 고유한 경우 클래스당 200개의 동영상 예
  • 클래스가 50개 이상이거나 클래스가 서로 유사한 경우 클래스당 1,000개 이상의 동영상 예

필요한 동영상 데이터가 현재 보유하고 있는 동영상 데이터보다 많을 수 있습니다. 타사 제공업체를 통해 더 많은 동영상을 확보하세요. 예를 들어 경기 동작 식별자 모델에 축구 동영상이 충분하지 않은 경우 더 많은 축구 동영상을 구입하거나 확보할 수 있습니다.

클래스별로 동영상을 균등하게 배분

클래스마다 유사한 수의 학습 예를 제공하세요. 그 이유는 다음과 같습니다. 학습 데이터세트의 80%가 골 장면이 나오는 축구 동영상이고, 20%만이 신체 접촉 반칙 또는 페널티킥이 나오는 동영상이라고 가정해 보겠습니다. 이렇게 클래스에 균등하지 않게 배분되는 경우 모델에서 주어진 동작을 골로 예측할 가능성이 높아집니다. 이는 정답의 80%가 'C'인 객관식 시험을 보는 것과 비슷합니다. 예리한 모델은 대부분 'C'가 꽤 괜찮은 추측임을 알아차립니다.

4가지 유형의 축구 동작에 대한 학습 이미지 사진

각 클래스에 동일한 수의 동영상을 제공하는 것이 가능하지 않을 수 있습니다. 일부 클래스의 경우 고품질의 비편향적인 예를 제공하기가 더 어려울 수 있습니다. 1:10 비율을 사용하세요. 즉, 동영상 예가 가장 많은 클래스의 예가 10,000개라면 동영상 예가 가장 적은 클래스의 예는 최소 1,000개여야 합니다.

편차 포착

동영상 데이터는 문제 공간의 다양성을 포착해야 합니다. 학습 중에 모델에서 보는 예가 다양할수록 새롭거나 덜 일반적인 예를 더 쉽게 일반화할 수 있을 것입니다. 축구 동작 분류 모델에 대해 생각해보세요. 동영상에 다양한 카메라 앵글, 주야간, 선수들의 다양한 동작을 포함해야 합니다. 모델을 다양한 데이터에 노출하면 모델에서 동작 간에 구별할 수 있는 기능이 향상됩니다.

데이터를 예상된 출력과 매칭

예상 출력 이미지와 일치하는 학습 이미지

예측할 모델에 입력하려는 동영상과 시각적으로 비슷한 학습 동영상을 찾습니다. 예를 들어 모든 학습 동영상을 겨울 또는 저녁에 촬영한 경우 해당 환경의 조명과 색상 패턴이 모델에 영향을 미치게 됩니다. 해당 모델을 사용하여 여름 또는 낮에 촬영한 동영상을 테스트하는 경우 정확하게 예측하지 못할 수 있습니다.

다음과 같은 추가적인 요소를 고려해보세요. * 동영상 해상도 * 초당 동영상 프레임 수 * 카메라 앵글 * 배경

데이터 준비

데이터세트에 포함할 동영상을 수집한 후에는 찾는 내용을 모델에서 알 수 있도록 동영상에 경계 상자와 라벨이 포함되어 있는지 확인해야 합니다.

동영상에 경계 상자와 라벨이 필요한 이유는 무엇인가요?

AutoML Video Intelligence Classification 모델은 패턴을 식별하는 방법을 어떻게 학습하나요? 이것이 바로 경계 상자와 라벨이 학습 중에 수행하는 일입니다. 축구 예를 살펴보세요. 각 동영상 예에는 동작 장면 주변에 경계 상자가 있어야 합니다. 또한 해당 상자에는 '골', '신체 접촉 반칙', '페널티킥'과 같은 라벨이 할당되어 있어야 합니다. 그렇지 않으면 찾는 내용을 모델에서 알 수 없습니다. 상자를 그리고 라벨을 동영상 예에 할당하는 데 시간이 걸릴 수 있습니다. 필요한 경우 이 작업을 아웃소싱하기 위해 라벨링 서비스를 사용하는 것을 고려해보세요.

모델 학습

학습 동영상 데이터가 준비되면 머신러닝 모델을 만들 준비가 된 것입니다. 다른 문제 유형이 있는 경우에도 동일한 데이터 세트를 사용하여 다른 머신러닝 모델을 만들 수 있습니다.

AutoML Video Intelligence Classification의 이점 중 하나는 기본 매개변수가 신뢰할 수 있는 머신러닝 모델로 안내한다는 것입니다. 그러나 데이터 품질과 원하는 결과에 따라 매개변수를 조정해야 할 수 있습니다. 예를 들면 다음과 같습니다.

  • 예측 유형(동영상이 처리되는 세분화 수준)
  • 프레임 속도
  • 해상도

모델 평가

돋보기 그래픽 모델 학습 후에 성능에 대한 요약을 받게 됩니다. 모델 평가 측정항목은 데이터 세트의 일부(검증 데이터 세트)에 대한 모델의 성능을 기반으로 합니다. 실제 데이터에서 모델을 사용할 준비가 되었는지 여부를 결정할 때 고려할 몇 가지 주요 측정항목과 개념이 있습니다.

점수 기준

머신러닝 모델은 축구 골이 실제 골인지를 어떻게 알 수 있나요? 각 예측에는 신뢰도 점수가 할당됩니다. 신뢰도 점수는 해당 동영상 세그먼트에 클래스가 포함되어 있다는 모델의 확실성에 대한 수치 평가입니다. 점수 임계값은 해당 점수가 예 또는 아니요로 판단하는 기준을 결정하는 숫자입니다. 즉, 모델이 '예, 이 신뢰도 숫자는 이 동영상 세그먼트에 골이 포함되어 있다고 결론을 내릴 정도로 충분히 높습니다.'라고 예측하는 값입니다.

높은 임계값 및 적게 분류된 이미지와 낮은 임계값 및 많이 분류된 이미지를 나타내는 이미지

점수 임계값이 낮으면 모델이 동영상 세그먼트의 라벨을 잘못 지정할 위험이 있습니다. 이러한 이유로 점수 임계값은 해당 사용 사례를 기반으로 해야 합니다. 암 검출과 같은 의료 사용 사례를 상상해보세요. 라벨을 잘못 지정할 경우 스포츠 동영상 라벨을 잘못 지정할 때보다 그 결과가 더 심각해집니다. 암 검출에서는 높은 점수 임계값이 적절합니다.

예측 결과

점수 임계값을 적용한 후에 모델의 예측은 4가지 카테고리 중 하나에 해당합니다. 이러한 카테고리를 이해하기 위해, 특정 세그먼트에 축구 골의 포함 여부를 감지하는 모델을 빌드한 경우를 상상해보세요. 이 예에서는 골이 포지티브 클래스입니다(모델이 예측하려고 시도하는 클래스).

  • 참양성: 모델이 포지티브 클래스를 정확하게 예측합니다. 모델이 동영상 세그먼트에서 골을 정확하게 예측했습니다.
  • 거짓양성: 모델이 포지티브 클래스를 잘못 예측합니다. 모델이 세그먼트에서 골을 예측했지만 실제로 하나도 존재하지 않았습니다.
  • 참음성: 모델이 네거티브 클래스를 정확하게 예측합니다. 모델이 세그먼트에 골이 없음을 정확하게 예측했습니다.
  • 거짓음성: 모델이 네거티브 클래스를 잘못 예측합니다. 모델이 세그먼트에 골이 없음을 예측했지만 실제로 존재했습니다.

4가지의 신뢰도 카테고리 설명이 있는 이미지

정밀도와 재현율

정밀도와 재현율 측정항목은 모델이 정보를 얼마나 잘 포착하고 있는지와 정보를 얼마나 놓치고 있는지를 이해하는 데 도움을 줍니다. 정밀도와 재현율에 대해 자세히 알아보기

  • 정밀도는 정확한 포지티브 예측의 비율입니다. '골'이라고 라벨이 표시된 모든 예측 중에서 실제로 골이 포함된 비율은 얼마나 되나요?
  • 재현율은 실제로 식별된 모든 포지티브 예측의 비율입니다. 식별할 수 있었던 모든 축구 골 중 그 비율은 얼마나 되나요?

사용 사례에 따라 정밀도 또는 재현율을 기준으로 최적화할 수 있습니다. 다음 사용 사례를 참조하세요.

사용 사례: 동영상의 비공개 정보

동영상에서 민감한 정보를 자동으로 감지하여 흐리게 처리하는 소프트웨어를 만든다고 가정하겠습니다. 거짓 결과의 영향에는 다음이 포함될 수 있습니다.

  • 거짓양성은 검열할 필요가 없지만 검열되는 정보를 식별합니다. 이는 성가시기는 하지만 문제가 되지는 않습니다.

흐리게 처리된 날짜 그래픽

  • 거짓음성은 신용카드 번호와 같은 검열해야 하는 정보를 식별하지 못합니다. 이는 비공개 정보가 유출되는 최악의 시나리오입니다.

신용카드 번호 그래픽

이 사용 사례에서는 모델이 모든 관련 사례를 찾을 수 있도록 재현율을 기준으로 최적화하는 것이 중요합니다. 재현율을 기준으로 최적화된 모델은 조금이라도 관련성이 있는 예에 라벨을 지정할 가능성이 높지만 잘못된 예에 라벨을 지정할 가능성이 더 높습니다(필요한 것보다 더 많이 흐리게 처리).

사용자가 키워드를 기반으로 동영상 라이브러리를 검색할 수 있는 소프트웨어를 만든다고 가정해 보겠습니다. 다음과 같은 잘못된 결과를 고려하세요.

  • 거짓양성은 관련이 없는 동영상을 반환합니다. 시스템은 관련된 동영상만 제공하려고 시도하므로 소프트웨어가 실제로 빌드한 목적을 수행하지 않습니다.

기타 검색과 일치하는 기타 이미지

  • 거짓음성은 관련된 동영상을 반환하지 못합니다. 많은 키워드에 수백 개의 동영상이 있으므로 이 문제는 관련 없는 동영상을 반환하는 것만큼 심각하지는 않습니다.

기타 검색과 일치하는 관련 없는 이미지

이 예시에서는 모델이 관련성이 높은 올바른 결과를 제공하도록 정밀도를 기준으로 최적화해야 합니다. 고정밀도 모델은 가장 관련성이 높은 예만 라벨을 지정할 가능성이 높지만 일부 예를 놓칠 수 있습니다. 모델 평가 측정항목 자세히 알아보기

모델 배포

전구 그래픽 모델의 성능이 만족스럽다면 이제 모델을 사용해야 합니다. AutoML Video Intelligence Classification은 일괄 예측을 사용하므로, Cloud Storage에서 호스팅되는 동영상의 파일 경로가 포함된 CSV 파일을 업로드할 수 있습니다. 모델은 각 동영상을 처리하고 다른 CSV 파일에 예측을 출력합니다. 일괄 예측은 비동기식입니다. 즉, 모델은 모든 예측 요청을 먼저 처리한 후에 결과를 출력합니다.