작은 기계 학습은 마이크로프로세서에 딥 러닝을 내장할 것을 약속합니다.
번역가 | Zhu Xianzhong
리뷰어 | Liang Ce Sun Shujuan
딥 러닝 모델의 초기 성공은 대용량 메모리와 GPU 클러스터를 갖춘 대규모 서버에 기인합니다. 딥 러닝의 가능성은 심층 신경망을 위한 클라우드 컴퓨팅 서비스를 제공하는 산업을 탄생시켰습니다. 결과적으로 사실상 무제한의 클라우드 리소스에서 실행되는 대규모 신경망은 특히 예산이 넉넉한 기술 회사에서 매우 인기가 높아졌습니다.
그러나 동시에 최근 몇 년 동안 또 다른 반대 추세, 즉 엣지 장치를 위한 기계 학습 모델의 생성이 나타났습니다. TinyML(Tiny Machine Learning)로 알려진 이러한 모델은 메모리와 처리 능력이 제한되어 있고 인터넷 연결이 없거나 제한되어 있는 장치에 적합합니다.
IBM과 MIT(Massachusetts Institute of Technology)가 공동으로 수행한 최신 연구 노력으로 CNN(컨볼루션 신경망)의 최대 메모리 병목 현상 문제를 해결했습니다. 이는 컴퓨터 비전 애플리케이션에 특히 중요한 딥 러닝 아키텍처입니다. 저메모리 및 저전력 마이크로컨트롤러에서 CNN(컨볼루션 신경망)을 실행할 수 있는 McUnETV2라는 모델은 NeurIPS 2021 컨퍼런스에서 발표된 논문에 자세히 설명되어 있습니다.
1. TinyML(TinyML)이 필요한 이유
클라우드 딥 러닝은 매우 성공적이지만 모든 상황에 적합하지는 않습니다. 실제로 많은 애플리케이션에서는 추론 작업을 하드웨어 장치에서 직접 완료해야 하는 경우가 많습니다. 예를 들어 드론 구조 등 일부 임무 환경에서는 인터넷 연결이 보장되지 않습니다. 의료, 개인 정보 보호 요구 사항 및 규제 제약과 같은 다른 영역에서도 처리를 위해 데이터를 클라우드로 보내는 것이 어렵습니다. 실시간 기계어 추론이 필요한 애플리케이션의 경우 왕복 클라우드 컴퓨팅으로 인해 발생하는 대기 시간은 훨씬 더 엄청납니다.
머신러닝 기기를 과학적, 상업적으로 매력적으로 만들기 위해서는 위의 모든 조건이 충족되어야 합니다. 예를 들어, 이제 iPhone 휴대폰에는 얼굴 인식과 음성 인식을 실행하는 많은 애플리케이션이 있으며, Android 휴대폰에서는 번역 소프트웨어를 직접 실행할 수도 있습니다. 또한 Apple Watch는 이미 기계 학습 알고리즘을 사용하여 움직임과 ECG 패턴을 감지할 수 있습니다(참고: ECG는 EKG라고도 알려진 심전도의 약어입니다. 심전도 영상을 분석함으로써 의사는 심박수가 정상인지, 심장 기능에 문제가 있는지를 더 잘 진단할 수 있습니다.
이러한 장치의 ML 모델은 부분적으로 신경망을 소형화하고 계산 및 저장 효율성을 높이는 기술 발전에 힘입어 가능해졌습니다. 동시에 하드웨어 기술의 발전으로 인해 이러한 ML 모델을 모바일 환경에서 구현하는 것도 가능해졌습니다. 우리의 스마트폰과 웨어러블은 이제 30년 전의 고성능 서버보다 더 많은 컴퓨팅 성능을 갖추고 있으며 일부는 기계어 추론을 위한 특수 보조 프로세서도 갖추고 있습니다.
TinyML은 엣지 AI를 한 단계 더 발전시켜 마이크로컨트롤러(MCU)에서 딥 러닝 모델을 실행할 수 있게 해줍니다. 비록 마이크로컨트롤러는 우리가 주머니나 손목에 들고 다니는 소형 컴퓨터보다 리소스가 더 제한되어 있지만 말입니다.
반면에 마이크로컨트롤러는 평균 0.50달러 미만으로 판매될 정도로 저렴하고 거의 모든 곳에 있으며 소비자 산업부터 산업용 장비에 이르기까지 모든 곳에 내장될 수 있습니다. 동시에 범용 컴퓨팅 장치에서 볼 수 있는 리소스도 없고 대부분 운영 체제도 없습니다. 마이크로컨트롤러의 CPU는 수백 킬로바이트에 불과한 저전력 메모리(SRAM)와 몇 메가바이트의 저장 공간으로 작으며 네트워킹 장비도 없습니다. 대부분은 주 전원 공급 장치가 없으며 수년 동안 버튼 배터리를 사용해야 했습니다. 따라서 MCU에 딥 러닝 모델을 설치하면 많은 애플리케이션에 새로운 길을 열 수 있습니다.
2. Convolutional Neural Networks의 메모리 병목 현상
Architecture of Convolutional Neural Networks (CNN)
심층 신경망을 소형 메모리 컴퓨팅 장치에 적합한 크기로 줄이기 위해 여러 가지 노력이 이루어졌습니다. 그러나 이러한 노력의 대부분은 딥러닝 모델의 매개변수 수를 줄이는 데 중점을 두고 있습니다. 예를 들어, "프루닝(pruning)"은 모델 출력에서 중요하지 않은 매개변수를 제거하여 신경망을 축소하는 널리 사용되는 최적화 알고리즘입니다.
가지치기 방법의 문제점은 신경망의 메모리 병목 현상을 해결할 수 없다는 것입니다. 딥 러닝 라이브러리의 표준 구현을 위해서는 전체 네트워크 계층과 활성화 계층 매핑을 메모리에 로드해야 합니다. 불행하게도 고전적인 최적화 방법은 신경망의 초기 계산 계층, 특히 컨볼루션 신경망에서 큰 변화를 주지 않습니다.
이로 인해 네트워크의 다양한 계층 크기에 불균형이 발생하고 "메모리 스파이크" 문제가 발생합니다. 정리 후 네트워크가 더 가벼워지더라도 이를 실행하는 장치는 가장 큰 계층과 동일한 메모리를 가져야 합니다. 예를 들어 인기 있는 TinyML 모델인 MobileNetV2에서 초기 레이어 계산은 약 1.4MB의 메모리 피크에 도달하는 반면, 이후 레이어의 메모리 공간은 매우 작습니다. 모델을 실행하려면 장치에 모델 최고치와 동일한 양의 메모리가 필요합니다. 대부분의 MCU에는 수백 KB 이하의 메모리가 있으므로 MobileNetV2의 상용 버전을 실행할 수 없습니다.
MobileNetV2는 에지 장치에 최적화된 신경망이지만 최대 메모리가 약 1.4MB이므로 많은 마이크로컨트롤러에서 액세스할 수 없습니다.
신경망을 최적화하는 또 다른 방법은 모델의 입력 크기를 줄이는 것입니다. 입력 이미지가 작을수록 예측 작업을 수행하기 위해 더 작은 CNN이 필요합니다. 그러나 입력 크기를 줄이는 것은 그 자체로 어려운 일이며 모든 컴퓨터 비전 작업에 효과적이지는 않습니다. 예를 들어 객체 감지 딥러닝 모델은 이미지 크기에 매우 민감하며 입력 해상도가 감소하면 성능이 급격히 저하됩니다.
위 그림에서 이미지 분류 ML 모델(주황색 선)이 타겟 감지 모델(파란색 선)보다 해상도를 낮추기가 더 쉽다는 것을 쉽게 알 수 있습니다.
3. MCUNetV2 패치 기반 추론
연구원들은 컨벌루션 신경망의 메모리 병목 현상 문제를 해결하기 위해 메모리 대역폭을 마이크로컨트롤러의 한계까지 조정할 수 있는 MCUNetV2라는 딥 러닝 아키텍처를 만들었습니다. MCUNetV2는 동일한 과학 연구 그룹의 이전 결과를 기반으로 개발되었으며, 이는 NeurIPS 2020 컨퍼런스에 승인되어 성공적으로 제출되었습니다.
MCUNetV2의 주요 아이디어는 정확도를 떨어뜨리지 않고 CNN의 메모리 공간을 줄이는 기술인 "패치 기반 추론"입니다. 전체 신경망 계층을 메모리에 로드하는 대신 MCUNetV2는 주어진 시간에 계층의 더 작은 영역 또는 "패치"를 로드하고 계산합니다. 그런 다음 레이어를 블록별로 반복하고 전체 레이어의 활성화 부분을 계산할 때까지 이러한 값을 결합합니다.
그림의 왼쪽은 전체 레이어를 계산하는 고전적인 딥 러닝 시스템을 보여주고, 오른쪽은 MCUNetV2가 한 번에 하나의 패치를 계산하여 DL 추론을 위한 메모리 요구 사항을 줄이는 것을 보여줍니다.
MCUNetV2는 한 번에 하나의 뉴런만 저장하면 되므로 모델 해상도나 매개변수를 줄이지 않고도 메모리 피크를 크게 줄일 수 있습니다. 연구원들의 실험에 따르면 MCUNetV2는 메모리 피크를 1/8로 줄일 수 있습니다.
MCUNetV2는 딥 러닝 모델의 메모리 피크를 1/8로 줄일 수 있습니다.
패치 기반 추론은 또한 메모리를 절약하는 동시에 계산 오버헤드의 균형을 가져옵니다. MIT(Massachusetts Institute of Technology)와 IBM의 연구원들은 다양한 아키텍처에서 전체 네트워크 계산이 10~17% 증가할 수 있다는 사실을 발견했는데, 이는 분명히 저전력 마이크로컨트롤러에는 적용되지 않습니다.
이 한계를 극복하기 위해 연구원들은 신경망의 여러 블록의 "수용 필드"를 재분배했습니다. (참고: CNN에서 n번째 레이어 특징 맵의 한 픽셀은 입력 이미지의 픽셀 수에 해당합니다. 즉, 이것은 이 레이어의 수용 필드("RF"라고 함)입니다. CNN에서 수용필드(receptive field)는 언제든지 처리할 수 있는 이미지의 영역이다. 수용 필드가 클수록 더 큰 패치가 필요하며 패치 간에 겹칩니다. 물론 이로 인해 계산 오버헤드가 높아집니다. 네트워크의 초기 블록에서 수용 필드를 축소하고 이후 단계에서 수용 필드를 넓힘으로써 연구원들은 계산 오버헤드를 2/3 이상 줄일 수 있었습니다.
수용 필드의 재분배는 MCUNetV2의 계산 오버헤드를 2/3 이상 줄이는 데 도움이 됩니다.
마지막으로 연구원들은 MCUNetV2의 튜닝이 ML 모델 아키텍처, 애플리케이션 및 메모리 및 저장 용량에 크게 좌우된다는 것을 관찰했습니다. 대상 장치의. 각 장치 및 애플리케이션에 대한 딥 러닝 모델을 수동으로 조정하는 것을 피하기 위해 연구원들은 기계 학습을 사용하여 신경망 구조와 추론 일정을 자동으로 최적화하는 프로세스인 "신경 알고리즘 검색"을 사용했습니다.
연구원들은 메모리 용량이 더 작은 여러 마이크로 컨트롤러 모델의 다양한 애플리케이션에서 딥 러닝 아키텍처를 테스트했습니다. 결과는 MCUNetV2가 다른 TinyML 기술보다 성능이 뛰어나며 더 작은 메모리 요구 사항과 더 낮은 대기 시간으로 이미지 분류 및 객체 감지에서 더 높은 정확도를 달성할 수 있음을 보여줍니다.
아래 그림과 같이 연구원들은 실시간 사람 감지, 시각적 깨우기 문자, 얼굴/마스크 감지 기능이 있는 MCUNetV2를 사용하고 있습니다.
번역자 주: 여기에 표시된 내용은 youtube.com 웹사이트에 표시된 MCUNetV2를 사용한 동영상의 스크린샷일 뿐입니다.
4. TinyML 애플리케이션
소프트웨어 엔지니어 Pete Warden은 Why the Future of Machine Learning is Tiny라는 제목의 2018년 기사에서 MCU의 기계 학습이 매우 중요하다고 생각합니다. "저는 기계 학습이 소형 저전력 칩에서 실행될 수 있다고 믿습니다. 이 조합은 현재 우리가 해결할 수 없는 수많은 문제를 해결할 것입니다."라고 Worden은 썼습니다.
센서와 CPU의 발전 덕분에 우리는 데이터를 얻고 있습니다. 전 세계의 역량이 크게 향상되었습니다. 그러나 기계 학습 모델을 통해 이 데이터를 처리하고 사용하는 능력은 네트워크 연결 및 클라우드 서버 액세스에 의해 제한됩니다. Worden이 말했듯이 프로세서와 센서는 Bluetooth 및 WiFi와 같은 무선 송신기보다 에너지 효율적입니다.
Worden은 다음과 같이 썼습니다. "데이터를 이동하는 물리적 프로세스에는 많은 에너지가 필요한 것 같습니다. 작업에 필요한 에너지는 비트를 전송하는 거리에 비례한다는 것이 규칙인 것 같습니다. CPU와 센서 전송에는 에너지만 필요합니다. 몇 밀리미터의 비트 수를 전송하는 데 비용이 적게 들고, 무선 전송에는 몇 비트의 데이터를 전송하는 데 몇 미터 이상이 필요하고 비용도 많이 듭니다... 거대한 잠재 시장이 열려야 한다는 것은 분명합니다. 저렴한 마이크로컨트롤러에서 작동하고, 에너지를 거의 사용하지 않고, 무선이 아닌 계산에 의존하고, 낭비되는 모든 센서 데이터를 유용한 데이터로 전환할 수 있는 장치가 바로 머신러닝, 특히 딥러닝이 채워지는 곳입니다. gap.Blank."
MCUNetV2와 TinyML이 다른 분야에서도 발전을 거듭한 덕분에 Worden의 예측은 곧 현실이 될 것입니다. 앞으로 몇 년 안에 TinyML이 집, 사무실, 병원, 공장, 농장, 도로, 교량 등의 수십억 개의 마이크로 컨트롤러에 적용되어 이전에는 불가능했던 응용 프로그램을 잠재적으로 활성화할 것으로 예상됩니다.
원본 링크: https://thenextweb.com/news/tinyml-deep-learning-microcontrollers-syndication
번역자 소개
Zhu Xianzhong, 51CTO 커뮤니티 편집자, 51CTO 전문 블로거, 강사, 웨이팡 소재 대학의 컴퓨터 교사 , 프리랜서 프로그래밍 세계의 베테랑입니다. 초창기에는 다양한 Microsoft 기술에 집중했습니다(ASP.NET AJX 및 Cocos 2d-X 관련 기술 서적 3권 집필). 지난 10년 동안 그는 오픈 소스 세계에 전념했습니다(인기 있는 풀 서비스 기술에 익숙함). 스택 웹 개발 기술)을 배우고 OneNet/AliOS+Arduino. /ESP32/Raspberry Pi 등 IoT 개발 기술과 Scala+Hadoop+Spark+Flink 등 빅데이터 개발 기술에 대해 배웠습니다.
위 내용은 작은 기계 학습은 마이크로프로세서에 딥 러닝을 내장할 것을 약속합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기계 학습 및 데이터 과학 분야에서 모델 해석 가능성은 항상 연구자와 실무자의 초점이었습니다. 딥러닝, 앙상블 방법 등 복잡한 모델이 널리 적용되면서 모델의 의사결정 과정을 이해하는 것이 특히 중요해졌습니다. explainable AI|XAI는 모델의 투명성을 높여 머신러닝 모델에 대한 신뢰와 확신을 구축하는 데 도움이 됩니다. 모델 투명성을 향상시키는 것은 여러 복잡한 모델의 광범위한 사용은 물론 모델을 설명하는 데 사용되는 의사 결정 프로세스와 같은 방법을 통해 달성할 수 있습니다. 이러한 방법에는 기능 중요도 분석, 모델 예측 간격 추정, 로컬 해석 가능성 알고리즘 등이 포함됩니다. 특성 중요도 분석은 모델이 입력 특성에 미치는 영향 정도를 평가하여 모델의 의사결정 과정을 설명할 수 있습니다. 모델 예측 구간 추정

이 글에서는 학습 곡선을 통해 머신러닝 모델에서 과적합과 과소적합을 효과적으로 식별하는 방법을 소개합니다. 과소적합 및 과적합 1. 과적합 모델이 데이터에 대해 과도하게 훈련되어 데이터에서 노이즈를 학습하는 경우 모델이 과적합이라고 합니다. 과적합된 모델은 모든 예를 너무 완벽하게 학습하므로 보이지 않거나 새로운 예를 잘못 분류합니다. 과대적합 모델의 경우 완벽/거의 완벽에 가까운 훈련 세트 점수와 형편없는 검증 세트/테스트 점수를 얻게 됩니다. 약간 수정됨: "과적합의 원인: 복잡한 모델을 사용하여 간단한 문제를 해결하고 데이터에서 노이즈를 추출합니다. 훈련 세트로 사용되는 작은 데이터 세트는 모든 데이터를 올바르게 표현하지 못할 수 있기 때문입니다."

이전에 작성했던 오늘은 딥 러닝 기술이 복잡한 환경에서 비전 기반 SLAM(동시 위치 파악 및 매핑)의 성능을 향상할 수 있는 방법에 대해 논의합니다. 심층 특징 추출과 깊이 일치 방법을 결합하여 저조도 조건, 동적 조명, 질감이 약한 영역 및 심한 지터와 같은 까다로운 시나리오에서 적응을 향상하도록 설계된 다목적 하이브리드 시각적 SLAM 시스템을 소개합니다. 우리 시스템은 확장 단안, 스테레오, 단안 관성 및 스테레오 관성 구성을 포함한 여러 모드를 지원합니다. 또한 시각적 SLAM을 딥러닝 방법과 결합하여 다른 연구에 영감을 주는 방법도 분석합니다. 공개 데이터 세트 및 자체 샘플링 데이터에 대한 광범위한 실험을 통해 위치 정확도 및 추적 견고성 측면에서 SL-SLAM의 우수성을 입증합니다.

1950년대에는 인공지능(AI)이 탄생했다. 그때 연구자들은 기계가 사고와 같은 인간과 유사한 작업을 수행할 수 있다는 것을 발견했습니다. 이후 1960년대에 미국 국방부는 인공 지능에 자금을 지원하고 추가 개발을 위해 실험실을 설립했습니다. 연구자들은 우주 탐사, 극한 환경에서의 생존 등 다양한 분야에서 인공지능의 응용 분야를 찾고 있습니다. 우주탐험은 지구를 넘어 우주 전체를 포괄하는 우주에 대한 연구이다. 우주는 지구와 조건이 다르기 때문에 극한 환경으로 분류됩니다. 우주에서 생존하려면 많은 요소를 고려해야 하며 예방 조치를 취해야 합니다. 과학자와 연구자들은 우주를 탐험하고 모든 것의 현재 상태를 이해하는 것이 우주가 어떻게 작동하는지 이해하고 잠재적인 환경 위기에 대비하는 데 도움이 될 수 있다고 믿습니다.

C++의 기계 학습 알고리즘이 직면하는 일반적인 과제에는 메모리 관리, 멀티스레딩, 성능 최적화 및 유지 관리 가능성이 포함됩니다. 솔루션에는 스마트 포인터, 최신 스레딩 라이브러리, SIMD 지침 및 타사 라이브러리 사용은 물론 코딩 스타일 지침 준수 및 자동화 도구 사용이 포함됩니다. 실제 사례에서는 Eigen 라이브러리를 사용하여 선형 회귀 알고리즘을 구현하고 메모리를 효과적으로 관리하며 고성능 행렬 연산을 사용하는 방법을 보여줍니다.

머신 러닝은 명시적으로 프로그래밍하지 않고도 컴퓨터가 데이터로부터 학습하고 능력을 향상시킬 수 있는 능력을 제공하는 인공 지능의 중요한 분야입니다. 머신러닝은 이미지 인식, 자연어 처리, 추천 시스템, 사기 탐지 등 다양한 분야에서 폭넓게 활용되며 우리의 삶의 방식을 변화시키고 있습니다. 기계 학습 분야에는 다양한 방법과 이론이 있으며, 그 중 가장 영향력 있는 5가지 방법을 "기계 학습의 5개 학교"라고 합니다. 5개 주요 학파는 상징학파, 연결주의 학파, 진화학파, 베이지안 학파, 유추학파이다. 1. 상징주의라고도 알려진 상징주의는 논리적 추론과 지식 표현을 위해 상징을 사용하는 것을 강조합니다. 이 사고 학교는 학습이 기존을 통한 역연역 과정이라고 믿습니다.

번역기 | 검토자: Li Rui | Chonglou 인공 지능(AI) 및 기계 학습(ML) 모델은 오늘날 점점 더 복잡해지고 있으며 이러한 모델에서 생성되는 출력은 이해관계자에게 설명할 수 없는 블랙박스입니다. XAI(Explainable AI)는 이해관계자가 이러한 모델의 작동 방식을 이해할 수 있도록 하고, 이러한 모델이 실제로 의사 결정을 내리는 방식을 이해하도록 하며, AI 시스템의 투명성, 이 문제를 해결하기 위한 신뢰 및 책임을 보장함으로써 이 문제를 해결하는 것을 목표로 합니다. 이 기사에서는 기본 원리를 설명하기 위해 다양한 설명 가능한 인공 지능(XAI) 기술을 살펴봅니다. 설명 가능한 AI가 중요한 몇 가지 이유 신뢰와 투명성: AI 시스템이 널리 수용되고 신뢰되려면 사용자가 의사 결정 방법을 이해해야 합니다.

MetaFAIR는 대규모 기계 학습을 수행할 때 생성되는 데이터 편향을 최적화하기 위한 새로운 연구 프레임워크를 제공하기 위해 Harvard와 협력했습니다. 대규모 언어 모델을 훈련하는 데는 수개월이 걸리고 수백 또는 수천 개의 GPU를 사용하는 것으로 알려져 있습니다. LLaMA270B 모델을 예로 들면, 훈련에는 총 1,720,320 GPU 시간이 필요합니다. 대규모 모델을 교육하면 이러한 워크로드의 규모와 복잡성으로 인해 고유한 체계적 문제가 발생합니다. 최근 많은 기관에서 SOTA 생성 AI 모델을 훈련할 때 훈련 프로세스의 불안정성을 보고했습니다. 이는 일반적으로 손실 급증의 형태로 나타납니다. 예를 들어 Google의 PaLM 모델은 훈련 과정에서 최대 20번의 손실 급증을 경험했습니다. 수치 편향은 이러한 훈련 부정확성의 근본 원인입니다.
