AWS 서버리스 아키텍처에서 시각적 이상 현상에 대한 기계 학습 모델 연결 및 실행
대규모 인프라를 상상해 보세요. 그 인프라는 다양한 장치들로 구성되어 있으며, 정기적인 유지보수 및 안전 점검이 필수적입니다.
이러한 관리를 효율적으로 수행하는 한 가지 방법은 각 장치 위치에 인력을 보내 모든 것이 정상인지 확인하는 것입니다. 물론 가능은 하지만, 상당한 시간과 비용이 소요됩니다. 만약 인프라 규모가 크다면, 1년 안에 전체 점검을 완료하지 못할 수도 있습니다.
또 다른 방법은 이러한 점검 프로세스를 자동화하고 클라우드 시스템을 통해 사용자 대신 작업을 수행하게 하는 것입니다. 이를 위해서는 다음과 같은 단계가 필요합니다.
👉 장치 사진을 신속하게 수집하는 방법이 필요합니다. 사람이 직접 모든 장치를 점검하는 것보다 사진을 찍는 것이 훨씬 빠릅니다. 자동차나 드론을 이용하여 사진을 수집하면 더욱 빠르고 자동화된 프로세스를 구축할 수 있습니다.
👉 수집된 모든 사진은 클라우드 내 특정 저장소로 전송해야 합니다.
👉 클라우드에서는 기계 학습 모델을 이용하여 사진을 분석하고, 장치 손상이나 이상 징후를 탐지하는 자동화된 작업이 필요합니다. 이 모델은 사전에 학습되어야 합니다.
👉 최종적으로, 문제가 발견된 장치에 대한 수리 일정을 잡을 수 있도록 필요한 사용자에게 결과를 보여줘야 합니다.
이제 AWS 클라우드를 사용하여 사진에서 이상 징후를 탐지하는 방법을 자세히 살펴보겠습니다. Amazon은 이 목적으로 사용할 수 있는 여러 가지 기계 학습 모델을 제공합니다.
시각적 이상 감지 모델 생성 방법
시각적 이상 감지 모델을 만들려면 다음 단계를 따라야 합니다.
1단계: 해결하고자 하는 문제와 탐지하려는 이상 유형을 명확히 정의합니다. 이는 모델 학습에 필요한 적절한 테스트 데이터 세트를 결정하는 데 도움이 됩니다.
2단계: 정상 및 비정상 상태를 나타내는 대규모 이미지 데이터 세트를 수집합니다. 각 이미지에 정상 또는 이상 여부를 나타내는 라벨을 붙입니다.
3단계: 작업에 적합한 모델 아키텍처를 선택합니다. 사전 학습된 모델을 활용하여 특정 사용 사례에 맞게 조정하거나, 처음부터 사용자 정의 모델을 생성할 수 있습니다.
4단계: 준비된 데이터 세트와 선택한 알고리즘을 사용하여 모델을 학습시킵니다. 즉, 전이 학습을 이용하여 사전 학습된 모델을 활용하거나, 합성곱 신경망(CNN)과 같은 기술을 사용하여 처음부터 모델을 학습시킵니다.
기계 학습 모델 학습 방법
출처: aws.amazon.com
AWS 기계 학습 모델을 훈련하여 시각적 이상 감지 기능을 구현하는 과정은 일반적으로 몇 가지 중요한 단계를 포함합니다.
#1. 데이터 수집
먼저, 정상 및 비정상 상태를 나타내는 대량의 이미지 데이터 세트를 수집하고 라벨을 붙여야 합니다. 데이터 세트가 클수록 모델을 더 정확하게 학습시킬 수 있지만, 학습 시간도 늘어납니다.
일반적으로, 테스트 세트에 약 1000장 정도의 사진을 준비하는 것이 좋습니다.
#2. 데이터 준비
기계 학습 모델이 이미지 데이터를 효과적으로 처리할 수 있도록 먼저 데이터를 전처리해야 합니다. 전처리 과정은 다양할 수 있으며, 예를 들면 다음과 같습니다.
- 입력 사진을 하위 폴더로 분류하거나 메타데이터를 수정하는 등의 작업.
- 모델의 해상도 요구 사항을 충족하도록 이미지 크기 조정.
- 보다 효율적인 병렬 처리를 위해 작은 이미지 조각으로 분할.
#3. 모델 선택
이제 올바른 작업을 수행할 수 있는 적절한 모델을 선택해야 합니다. 미리 학습된 모델을 선택하거나, 시각적 이상 감지에 적합한 사용자 정의 모델을 만들 수 있습니다.
#4. 결과 평가
모델이 데이터 세트를 처리한 후에는 모델의 성능을 검증해야 합니다. 결과가 요구 사항을 충족하는지 확인해야 합니다. 예를 들어, 입력 데이터의 99% 이상에서 정확한 결과를 제공하는지 확인해야 합니다.
#5. 모델 배포
결과 및 성능에 만족하면 특정 버전의 모델을 AWS 계정 환경에 배포하여 프로세스 및 서비스에서 사용할 수 있도록 합니다.
#6. 모니터링 및 개선
다양한 테스트 및 이미지 데이터 세트를 사용하여 모델을 지속적으로 평가하고, 감지 정확성에 필요한 매개변수가 여전히 올바른지 확인해야 합니다.
만약 그렇지 않다면, 모델이 잘못된 결과를 제공한 새로운 데이터 세트를 포함하여 모델을 재학습시켜야 합니다.
AWS 기계 학습 모델
이제 Amazon 클라우드에서 사용할 수 있는 몇 가지 구체적인 모델을 살펴보겠습니다.
AWS Rekognition
출처: aws.amazon.com
Rekognition은 얼굴 인식, 사물 인식, 텍스트 인식 등 다양한 응용 분야에서 활용 가능한 범용 이미지 및 비디오 분석 서비스입니다. 일반적으로 Rekognition 모델을 사용하여 탐지된 이상 항목의 데이터를 생성하여 데이터 레이크를 형성합니다.
Rekognition은 별도의 학습 과정 없이 사용할 수 있는 다양한 사전 구축 모델을 제공합니다. 또한 실시간으로 이미지와 비디오를 분석하여 높은 정확도와 낮은 지연 시간을 제공합니다.
다음은 Rekognition이 이상 감지에 적합한 몇 가지 일반적인 사용 사례입니다.
- 이미지나 비디오 내의 이상 감지와 같은 일반적인 사용 사례.
- 실시간으로 이상 감지 수행.
- 이상 감지 모델을 Amazon S3, Amazon Kinesis, AWS Lambda와 같은 AWS 서비스와 통합.
다음은 Rekognition을 사용하여 감지할 수 있는 이상 현상의 구체적인 예입니다.
- 정상 범위를 벗어난 얼굴 표정이나 감정을 감지하는 것과 같은 얼굴의 이상.
- 장면에서 사물이 없거나 잘못 배치된 경우.
- 맞춤법 오류 또는 텍스트의 비정상적인 패턴.
- 비정상적인 조명 조건이나 예상치 못한 사물이 등장하는 경우.
- 이미지 또는 비디오의 부적절하거나 불쾌감을 주는 콘텐츠.
- 움직임의 갑작스러운 변화 또는 예상치 못한 행동 패턴.
AWS Lookout for Vision
출처: aws.amazon.com
Lookout for Vision은 제조 및 생산 라인과 같은 산업 공정에서 이상 감지를 위해 특별히 설계된 모델입니다. Lookout for Vision은 일반적으로 Python 프로그래밍 언어를 사용하여 그림의 일부를 사용자 정의 코드로 전처리하거나, 그림의 특정 부분을 잘라내는 작업을 필요로 합니다. 따라서 특정 영역의 문제에 특화되어 있습니다.
이상 감지를 위한 사용자 정의 모델을 생성하려면 정상 이미지와 이상 이미지 데이터 세트에 대한 사용자 정의 교육이 필요합니다. 실시간 감지에 중점을 두기보다는 이미지 일괄 처리에 집중하여 정확성과 정밀성을 높입니다.
다음은 Lookout for Vision이 적합한 몇 가지 일반적인 사용 사례입니다.
- 제조된 제품의 결함 또는 생산 라인의 장비 오류를 식별.
- 이미지 또는 기타 데이터의 대규모 데이터 세트 처리.
- 산업 공정에서의 이상 감지.
- Amazon S3 또는 AWS IoT와 같은 다른 AWS 서비스와 통합된 이상 감지 시스템 구축.
다음은 Lookout for Vision을 사용하여 감지할 수 있는 이상 징후의 몇 가지 구체적인 예입니다.
- 스크래치, 찌그러짐 또는 기타 결함과 같은 제품 품질에 영향을 미치는 제조된 제품의 결함.
- 파손되거나 오작동하는 기계를 감지하여 지연이나 안전 위험을 유발할 수 있는 생산 라인의 장비 오류.
- 필수 사양이나 허용 오차를 충족하지 않는 제품을 감지하는 생산 라인의 품질 관리 문제.
- 작업자나 장비에 위험을 초래할 수 있는 물체를 감지하는 생산 라인의 안전 위험 요소.
- 생산 라인을 통과하는 재료나 제품 흐름의 예기치 않은 변화를 감지하는 생산 공정의 이상 현상.
AWS SageMaker
출처: aws.amazon.com
SageMaker는 사용자 정의 기계 학습 모델을 구축, 학습, 배포하기 위한 완전 관리형 플랫폼입니다.
SageMaker는 매우 강력한 솔루션입니다. AWS Step Functions와 마찬가지로 여러 단계의 프로세스를 단일 작업 체인으로 연결하여 순차적으로 실행할 수 있습니다.
SageMaker는 처리를 위해 임시 EC2 인스턴스를 사용하므로 AWS Step Functions의 AWS Lambda 함수와 달리 단일 작업 처리 시간 제한이 15분으로 제한되지 않습니다.
또한 SageMaker를 사용하여 자동 모델 튜닝을 수행할 수 있습니다. SageMaker를 사용하면 모델을 프로덕션 환경에 쉽게 배포할 수 있다는 장점도 있습니다.
다음은 SageMaker가 이상 감지에 적합한 몇 가지 일반적인 사용 사례입니다.
- 사전 구축된 모델이나 API에서 다루지 않는 특정 사용 사례 및 특정 요구 사항에 맞는 맞춤형 모델을 구축해야 하는 경우.
- 이미지 또는 기타 데이터의 대규모 데이터 세트를 처리해야 하는 경우. 사전 구축 모델은 약간의 전처리 과정이 필요하지만, SageMaker는 전처리 없이도 처리할 수 있습니다.
- 실시간으로 이상 감지를 수행해야 하는 경우.
- 모델을 Amazon S3, Amazon Kinesis 또는 AWS Lambda와 같은 다른 AWS 서비스와 통합해야 하는 경우.
다음은 SageMaker가 수행할 수 있는 몇 가지 일반적인 이상 감지 예입니다.
- 비정상적인 지출 패턴이나 정상 범위를 벗어난 거래와 같은 금융 거래에서의 사기 감지.
- 비정상적인 데이터 전송 패턴 또는 외부 서버에 대한 예기치 않은 연결과 같은 네트워크 트래픽의 사이버 보안 감지.
- 종양 감지 등 의료 영상 분석.
- 진동이나 온도 변화 감지와 같은 장비 성능 이상 감지.
- 제품 결함을 감지하거나 예상되는 품질 표준과의 편차를 식별하는 제조 공정의 품질 관리.
- 비정상적인 에너지 사용 패턴 감지.
모델을 서버리스 아키텍처에 통합하는 방법

학습된 기계 학습 모델은 백그라운드에서 클러스터 서버를 사용하지 않는 클라우드 서비스이므로 기존 서버리스 아키텍처에 쉽게 통합할 수 있습니다.
자동화는 AWS Step Functions 서비스 내에서 연결된 AWS Lambda 함수를 통해 구현됩니다. 각 단계는 다른 단계를 위한 작업을 트리거합니다.
일반적으로 S3 버킷에서 사진 및 전처리 데이터를 수집한 직후 초기 감지가 수행됩니다. 여기서 입력 사진에 대한 기본 이상 감지를 생성하고 그 결과를 Athena 데이터베이스로 표시되는 데이터 레이크에 저장합니다.
경우에 따라 초기 감지가 특정 사용 사례에 충분하지 않을 수 있습니다. 더 자세한 감지가 필요할 수 있습니다. 예를 들어, 초기 모델(Rekognition)이 장치 문제를 감지했지만 어떤 종류의 문제인지 정확하게 식별하는 것이 불가능할 수 있습니다.
이러한 경우, 다른 기능을 가진 다른 모델(Lookout for Vision)이 필요할 수 있습니다. 초기 모델이 문제를 감지한 사진 하위 집합에서 다른 모델을 실행할 수 있습니다.
이 방법은 전체 사진 세트에서 두 번째 모델을 실행할 필요가 없으므로 약간의 비용을 절약할 수 있는 효과적인 방법입니다. 두 번째 모델은 의미 있는 하위 집합에서만 실행됩니다.
AWS Lambda 함수는 내부적으로 Python 또는 JavaScript 코드를 사용하여 이러한 모든 처리를 수행합니다. 처리 특성 및 흐름에 필요한 AWS Lambda 함수의 수에 따라 프로세스에 포함할 단계 수가 결정됩니다. AWS Lambda 호출의 최대 지속 시간에 대한 15분 제한도 고려해야 합니다.
마지막 말
클라우드 기반 기계 학습 모델로 작업하는 것은 매우 흥미로운 작업입니다. 기술적인 관점에서 보면 다양한 기술을 가진 팀이 필요하다는 것을 알 수 있습니다.
팀은 미리 구축된 모델이든 처음부터 생성된 모델이든 모델을 학습시키는 방법을 이해해야 합니다. 이는 결과의 신뢰성과 성능을 최적화하기 위해 많은 수학 및 대수적 지식을 필요로 합니다.
또한 고급 Python 또는 JavaScript 코딩 기술, 데이터베이스 및 SQL 기술이 필요합니다. 모든 콘텐츠 작업이 완료된 후 배포 및 실행 준비가 된 자동화된 작업을 생성하려면 DevOps 기술도 필수적입니다.
이상 현상을 정의하고 모델을 학습시키는 것은 한 가지 일이지만, 모델 결과를 처리하여 최종 사용자에게 제공하고, 효과적이고 자동화된 방식으로 데이터를 저장하는 단일 기능 팀으로 모든 것을 통합하는 것은 또 다른 어려운 과제입니다.
다음으로 비즈니스를 위한 안면 인식에 대해 자세히 알아보세요.