0. 용어 정의
0.1. 싱글 보드 컴퓨터
- 프로세서, 메모리, 입출력 장치 등이 하나의 보드에 집적된 소형 컴퓨터
- 라즈베리 파이가 대표적이다.
- 운영체제를 실행할 수 있고, 명령줄/GUI 환경 제공한다.
- 일반적인 컴퓨터처럼 다목적 활용 가능하다.
0.2. SBC (single board computer)
- 라즈베리 파이를 가장 대표적인 예시로 들 수 있으며, 임베디드 AI 프로젝트에서 많이 사용 된다.
0.3. MCU (microcontroller unit)
- CPU, 메모리, 입출력 포트를 하나의 칩에 집적한 초소형 컴퓨터
- 아두이노, esp32 등이 대표적이다.
- 간단한 장치 제어나 센서 데이터 처리에 적합하다.
- 일반적으로 운영 체제를 탑재하지 않거나 경량 RTOS를 사용한다.
0.4 TensorFlow Lite (TFlite)
- 구글이 개발한 경량화된 머신러닝 프레임워크
- 모바일, lot, 임베디드 장치에서 ML모델을 실행할 수 있도록 설계되었다.
- 특히 TensorFlow Lite for Microcontrollers는 MCU에서도 동작 가능하도록 만든 버전
- 모델 최적화(양자화 등)를 통해 속도와 전력 효율 높힌다.
1. 임베디드 시스템과 싱글 보드 컴퓨터(SBC)
1.1. 임베디드 시스템 정의
- 임베디드 시스템은 다른 대형 기계나 전기 시스템 내에 포함된 컴퓨터 시스템을 말한다.
- 데스크톱, 랩톱, 서버처럼 독립적으로 동작하는 장치와 구별된다.
1.2. 싱글 보드 컴퓨터(SBC)
- Raspberry Pi와 같은 SBC는 로봇 등 다른 장치에 이식할 경우 임베디드 시스템으로 간주된다.
- SBC는 메모리가 분리된 강력한 마이크로프로세서를 장착하며, Linux와 같은 전체 운영체제를 실행할 수 있다.
- 명령줄이나 그래픽 UI를 제공하며, 일반적으로 수백 MHzGHz 단위의 속도와 수백 MBGB의 RAM을 가진다.
1.3. 마이크로컨트롤러(MCU)
- Arduino 보드와 같은 MCU는 임베디드 시스템에 포함되며, 물리적·전기적 장치를 제어하는 데 자주 사용된다.
- MCU는 단순 루프 구조나 경량 운영체제를 사용하며, UI는 버튼·간단한 LCD 수준에 그친다.
- 전력 소모가 낮고, 가격이 저렴하다.
2. 임베디드 시스템과 머신 러닝의 결합
2.1. 기존 한계
- 대부분의 ML 프레임워크는 Python 기반으로 데스크톱·서버 환경을 전제로 개발되었다.
- 따라서 SBC(Raspberry Pi 등)에서는 비교적 쉽게 실행 가능하지만, MCU에서는 실행하기 어려웠다.
2.2. TensorFlow Lite for Microcontrollers
- Google TensorFlow 팀은 MCU에서도 실행할 수 있는 경량화 버전을 출시했다.
- 이를 통해 직접 행렬 연산을 코딩하지 않고도 간단한 신경망을 구동할 수 있게 되었다.
- 제조사 차원에서도 최적화가 진행되어, MCU에서 ML 알고리즘 실행 속도가 크게 개선되었다.
2.3. 응용 가능성
- 음성 인식이 탑재된 스마트홈 기기
- 객체 인식이 가능한 카메라 센서
- 야생 동물 소리 감지·추적 장치
- 산업 및 우주 장비의 이상 탐지 및 사전 유지보수
3. 결정론적 시스템과 확률론적 시스템의 차이
3.1. 결정론적 동작의 특징
- MCU 펌웨어는 일반적으로 이벤트 A → 액션 B 형태로 동작한다.
- 예: 센서가 특정 온도를 감지하면 밸브를 연다.
- 중요한 시스템(예: 엔진 제어, 안전 장치)에서는 무작위성이 없는 결정론적 제어가 필수적이다.
3.2. 머신 러닝의 확률적 특성
- ML 모델은 데이터 패턴을 기반으로 확률적 예측을 수행한다.
- 예: 음성 인식 시스템의 정확도가 99%라 하더라도, 1%의 오차가 치명적 결과(부상·사망)를 초래할 수 있다.
- 따라서 비상 정지 장치, 의료 기기와 같은 영역에서는 단독 적용이 어렵다.
| 구분 | 무작위성이 없는 결정론적 제어 | 머신러닝 기반 확률론적 제어 |
| 원리 | 입력 조건이 동일하면 결과가 항상 동일하게 나온다. | 입력 조건이 같아도, 모델이 학습한 확률 분포에 따라 결과가 달라질 수 있다. |
| 특징 | 100% 예측 가능, 무작위성 없음 | 예측 기반, 정확도는 높지만 100% 보장 불가 |
| 예시 | - 온도 > 70℃ → 밸브 항상 개방 - 자동차 ABS 제동: 동일 조건에서 항상 동일한 제동력 |
- 음성 인식: “멈춰!”를 99% 확률로 인식하지만 1%는 실패 가능 - 이미지 인식: 고양이를 고양이로 볼 확률 95%, 나머지는 오인식 가능 |
| 안전성 | 생명·안전과 직결된 시스템에 적합 (항공, 의료, 원전, 자동차 제어) | 안전 필수 시스템에 단독 적용 불가, 보조적·보완적 시스템으로 적합 |
| 장점 | 안정적, 신뢰성 높음, 예측 가능 | 복잡한 패턴 인식 가능, 기존 제어 방식으로 불가능한 문제 해결 |
| 한계 | 유연성이 부족, 새로운 상황에 대응 어려움 | 불확실성 존재, 예측 실패 시 치명적 결과 가능 |
4. 임베디드 머신 러닝의 한계와 활용
4.1. 한계
- 확률적 특성 때문에 안전·규제 요건을 충족하지 못할 수 있다.
- 모든 문제를 해결하는 만능 솔루션은 아니다.
4.2. 가치
- 기존 결정론적 시스템을 보완한다.
- 특정 문제에 대해 새로운 해결책을 제공할 수 있다.
- 비용 절감, 효율성 향상, 새로운 기능 구현 등 다양한 혁신 가능성을 가진다.
5. 결론
임베디드 머신 러닝은 소프트웨어와 하드웨어의 최적화가 결합되면서 빠르게 성장하고 있다. 단순 제어 장치를 넘어 지능적인 센서, 스마트 기기, 산업 장비에 이르기까지 적용 범위가 넓어진다.
다만 확률적 특성과 안전성의 한계를 인식하고, 결정론적 제어와 병행하는 방식으로 접근할 때 가장 효과적으로 활용할 수 있다.
'Data > 임베디드 AI' 카테고리의 다른 글
| AI는 어디서 실행될까? 온디바이스 vs 에지 vs 클라우드 비교 (1) | 2025.09.19 |
|---|
댓글