임베디드 머신러닝 시스템 설계
1. 모델 구현 전략
모델 훈련이 완료된 후에는 실제 시스템에서의 안정적인 운영을 위해 다음 요소들을 고려해야 합니다:
- 임계값(Threshold) 설정 방법
- 오인식 감소 기법
- MCU에서의 안정적 실행
- CPU 사용량 최적화
- 센서 데이터 처리 방식
2. 임계값 분석 및 분류 효과
임계값의 개념
신경망은 확률 점수를 출력합니다. 예를 들어:
인사말 = 0.85
소음 = 0.10
알수없음 = 0.05
일반적으로 특정 임계값을 설정하여 판단합니다:
if 인사말 > 0.7:
감지 성공으로 판단
모델 효과 분석을 위한 히스토그램 사용
모델의 성능을 평가하기 위해:
- 테스트 데이터로 모델 실행
- 출력 확률 값 기록
- 히스토그램 생성
양성 클래스와 음성 클래스의 분포가 명확히 분리되어 있다면 임계값 선택이 용이합니다.
이상적인 경우와 현실적인 경우
이상적인 경우: 양성 샘플이 0.5~1 범위에, 음성 샘플이 0~0.5 범위에 집중되어 있을 때, 임계값을 0.5로 설정하면 시스템이 매우 안정적으로 작동합니다.
현실적인 경우: 실제로는 두 분포가 겹치는 경우가 많아 임계값 선택이 어렵습니다.
임계값 선택의 trade-off
높은 임계값:
- 장점: 오경보(가양성) 감소
- 단점: 미탐지(가음성) 증가
낮은 임계값:
- 장점: 목표 탐지율 향상
- 단점: 오경보 증가
다양한 애플리케이션에서의 적용
의료/보안 시스템: 미탐지보다 오경보를 허용하는 것이 더 안전합니다.
키워드 인식 시스템(예: 음성 비서): 오동작 방지가 더 중요하므로 임계값을 높게 설정하여 오경보를 줄입니다.
3. ROC 곡선 및 AUC 분석
ROC 곡선의 원리
ROC(Receiver Operating Characteristic) 곡선은:
- X축: 가양성률(FPR)
- Y축: 진양성률(TPR)
임계값을 0부터 1까지 변화시키면서 각각의 FPR과 TPR을 계산하여 그래프를 그립니다.
분류기 성능 평가
이상적인 분류기: ROC 곡선이 좌측 상단에 가깝고 AUC 값이 1에 가까움
무의미한 분류기: ROC 곡선이 대각선에 가까움 (AUC ≈ 0.5)
4>결정론적 시스템과 확률론적 시스템
결정론적 시스템
동일한 입력에 대해 항상 동일한 출력을 생성하는 시스템입니다. 예:
- FIR 필터
- FFT
- 일반 수학 연산
확률론적/무작위 시스템
동일한 입력에 대해 결과가 달라질 수 있는 시스템으로 내부에 무작위성이 존재합니다.
신경망은 무작위성을 가질까?
훈련이 완료된 신경망은 결정론적입니다. 추론 단계는 본질적으로 곱셈, 덧셈, 활성화 함수로 구성되어 내부에 무작위 요소가 없습니다.
결정론성의 장점
모델이 올바르게 배포되었는지 검증할 수 있습니다. PC에서 실행한 결과와 MCU에서 동일한 입력을 실행했을 때 출력이 일치한다면 배포가 성공한 것입니다.
5>이동 평균 필터링 기법
출력 점수를 이용한 스무딩
목적: 출력값의 떨림(抖动)을 줄이기
단순 이동 평균
현재 값과 이전 값들의 평균을 계산합니다:
현재_평균 = (현재_값 + 이전_값1 + 이전_값2) / 3
키워드 인식 예시
"stop"과 같은 키워드를 인식할 때 시스템은 초당 여러 확률 값을 출력합니다. 이동 평균을 사용하면 순간적인 값이 아닌 평균값을 보므로 오동작을 줄이고 안정성을 높일 수 있습니다.
지연 문제
여러 샘플 포인트를 기다려야 하므로 응답 속도가 느려지는 단점이 있습니다.
6>홀드오프(Hold-off) 기술
홀드오프의 개념
이벤트가 감지된 후 추가 추론을 일시 중단하는 기술입니다.
CPU 사용률 문제 해결
예를 들어 333ms 주기 중 135ms만 추론에 사용하고 나머지 시간은 다른 작업에 할당됩니다. 이벤트 감지 후 추론을 중단하면 CPU 자원을 효율적으로 사용할 수 있습니다.
홀드오프의 단점
중단 기간 동안 다른 이벤트를 놓칠 수 있습니다.
7>AI 코프로세서 아키텍처
독립형 MCU를 이용한 AI 처리
- 소형 MCU: 센서 데이터 읽기, AI 추담 담당
- 주 MCU: 주요 비즈니스 로직, UI, 통신 담당
통신 방식
AI MCU는 GPIO, UART, I2C를 통해 주 MCU에 이벤트 발생을 알릴 수 있습니다.
미래 동향
AI 가속기와 주 CPU가 단일 칩에 통합되는 방향으로 발전하고 있습니다. 예를 들어 Apple M1 칩 내부에는 신경망 엔진과 전용 AI 가속 유닛이 포함되어 있습니다.
8>센서 융합 기법
센서 융합의 필요성
단일 센서보다 여러 센서 데이터를 결합함으로써 더 정확하고 안정적인 결과를 얻을 수 있습니다.
주요 센서 유형
- 가속도계 (Accelerometer)
- 자이로스코프 (Gyroscope)
- 자력계 (Magnetometer)
- 마이크로폰 (Microphone)
칼만 필터 (Kalman Filter)
센서 융합에 널리 사용되는 고전적인 알고리즘으로, 노이즈가 포함된 측정값으로부터 시스템의 실제 상태를 추정합니다.
9>추가 학습 경로
머신러닝 기초
Andrew Ng의 머신러닝 과정(Coursera)은 머신러닝의 기본 개념을 이해하는 데 좋습니다.
Keras 프레임워크
고급 딥러닝 프레임워크로 사용이 간편하며, Edge Impulse의 백엔드로도 사용됩니다.
커뮤니티 활동
- Edge Impulse 포럼: 실제 적용 사례와 기술 정보 공유
- TinyML 재단: 온라인 강의, 연구 발표, 임베디드 AI 커뮤니티
10>자동 머신러닝 (AutoML)
AutoML은 데이터 수집, 특징 추출, 모델 훈련, 모델 배포 등 머신러닝 파이프라인의 전 과정을 자동화하는 기술입니다. Edge Impulse API는 이러한 자동화 워크플로우를 지원하며, 수많은 장치에서 모델을 자동으로 업데이트하는 데 적합합니다.
11>핵심 요약
임베디드 AI는 단순히 모델을 훈련하는 것을 넘어, 다음과 같은 공학적 요소들이 중요합니다:
- 임계값 설계
- ROC/AUC 분석
- 오인식 제어
- 출력값 스무딩
- CPU 자원 관리
- 홀드오프 메커니즘
- AI 코프로세서 아키텍처
- 센서 융합 기법
- MCU 배포 검증
주요 개념 표
| 개념 | 용도 |
|---|---|
| 임계값(Threshold) | 트리거 여부 판단 |
| 가양성(False Positive) | 오동작 |
| 가음성(False Negative) | 미탐지 |
| ROC 곡선 | 분류기 성능 평가 |
| AUC | ROC 곡선 아래 면적 |
| 이동 평균 | 출력값 스무딩 |
| 홀드오프 | 추론 일시 중단 |
| IMU | 관성 측정 장치 |
| 센서 융합 | 다중 센서 데이터 결합 |
| 칼만 필터 | 융합 알고리즘 |
| AI 코프로세서 | 전용 AI 처리 장치 |
| AutoML | 자동화 머신러닝 |