한빛출판네트워크

IT/모바일

초소형 머신러닝 TinyML

모델 최적화부터 에지 컴퓨팅까지 작고 빠른 딥러닝을 위한 텐서플로 라이트

한빛미디어

번역서

판매중

초소형 머신러닝 TinyML
좋아요: 5
  • 저자 : 피트 워든 , 대니얼 시투나야케
  • 역자 : 맹윤호 , 임지순
  • 출간일 : 2020-08-20
  • 페이지 : 568쪽
  • ISBN : 9791162243411
  • 물류코드 :10341

합계 : 38,000

  • 텐서플로 라이트를 활용한 마이크로컨트롤러 머신러닝 

     

    AI 음성비서 서비스를 만드는 구글 어시스턴트 팀은 불과 14KB짜리 모델을 사용해 “OK 구글”이란 말을 인식한다. 이는 마이크로컨트롤러에도 탑재 가능한 용량이다. 초소형 머신러닝 ‘TinyML’은 딥러닝과 임베디드 시스템의 결합으로 작은 기기에 음성 인식, 제스처 감지 등 놀라운 능력을 부여한다. 이 책은 어떠한 환경에도 적용할 수 있는 작은 모델을 훈련하는 방법을 담고 있다. 머신러닝이나 마이크로컨트롤러를 다룬 경험이 없어도 다양한 프로젝트를 단계별로 따라 하다 보면 실무 활용 능력을 키울 수 있을 것이다. 

     

     

    ▶ 출판사 리뷰

     

    텐서플로 라이트로 알아보는 임베디드 머신러닝의 가능성 

     

    마이크로컨트롤러에서 머신러닝을 실행할 수 있게 된 것은 비교적 최근 일이며 이 분야는 초기 단계에 있습니다. 머신러닝에는 여러 가지 접근 방식이 있지만 가장 인기 있는 방식은 딥러닝입니다. 이 책의 예제는 딥러닝을 중심으로 합니다. 딥러닝은 마이크로컨트롤러에 적합한 문제를 해결하기 위한 유연하고 강력한 도구입니다. 제한된 메모리와 저성능 장치에서도 딥러닝이 작동할 수 있다는 것을 알면 놀랄 수도 있습니다. 실제로 이 책을 통해 정말 놀라운 일을 해내면서도 작은 장치의 제약 조건에 맞는 딥러닝 모델을 만드는 방법을 배우게 될 것입니다.

     

    이 책에는 딥러닝을 연구에서 끝내지 않고 제품까지 이어가기 위한 텐서플로 팀의 고민이 잘 녹아 있습니다. 정확도를 최대한 유지하면서 모델을 경량화하고, 저전력 환경에서 모델을 실행하고, 성능이 낮아 모델을 실행하기 어려운 컴퓨팅 환경에서 모델을 동작시키는 방법을 텐서플로 라이트로 예제를 실행하며 배워보세요. 

     

    이 책을 다 읽고 덮을 때, 현재 임베디드 시스템에서 머신러닝을 사용하여 가능한 것이 무엇인지, 앞으로 몇 년 동안 무엇이 실현 가능할지에 대한 아이디어를 얻을 수 있기를 바랍니다.

     

     

    이 책에서 다루는 내용

    • 마이크로컨트롤러용 텐서플로 라이트
    • 오디오, 이미지, 가속도계 데이터로 머신러닝(딥러닝) 모델 학습
    • 음성 인식, 제스처 인식 등 임베디드 기기에서 작동하는 머신러닝 애플리케이션 
    • 아두이노를 비롯한 저전력 마이크로컨트롤러에 머신러닝 탑재
    • 지연, 에너지 사용, 모델 크기, 바이너리 크기 최적화 기법
    • 머신러닝 필수 사항과 자신만의 모델 훈련 방법
    • 애플리케이션 디버깅, 개인 정보 보호, 보안을 고려한 설계 노하우

     

     

    ▶ 추천사

     

    “자원이 제한된 장치에서 머신러닝을 구현하려는 이들을 위한 필독서다. AI 발전에 기념비적인 성취라 할 만하다.”

    _마시모 밴지, 아두이노 창시자

     

    “ARM 기반 마이크로컨트롤러에 머신러닝을 배포하는 예제를 명확하고 재미있게 알려준다.”

    _젬 데이비스, ARM 머신러닝 그룹 부사장 

  • [저자] 피트 워든

    구글의 모바일, 임베디드 텐서플로 기술 책임자다. 애플에서 근무한 이후 제트팩(Jetpac)의 CTO이자 창업자로 일하다가 2014년에 제트팩이 구글에 인수되며 구글에 합류했다. 피트 워든은 텐서플로 팀의 창립 멤버이며 트위터에서 @petewarden으로 활동 중이고 실용적인 딥러닝 블로그 https://petewarden.com을 운영하고 있다.

    [저자] 대니얼 시투나야케

    구글에서 텐서플로 라이트의 개발자 홍보를 이끌고 있다. 이전에는 대규모로 곤충 단백질을 자동으로 생산하는 기업 타이니 팜(Tiny Farms)을 공동 설립했다. 최근에는 버밍엄 시티 대학교에서 자동 식별과 데이터 캡처 분야 강의를 시작했다.

    [역자] 임지순

    낮에는 계약서와 코드를 두드리고 밤에는 신시사이저와 기타를 난도질하는 공학과 미디어의 주변인. 임베디드 프로그래머, 미들웨어 개발자, 프로젝트 매니저, 사업개발 등 다양한 직군에 종사해왔으며 최근에는 엔터테인먼트 산업에서 딥러닝을 활용하는 연구를 진행 중이다. 사회적인 덕후로 생존하기 위해 오늘도 코드, 글과 씨름하고 있다. 

     

    [역자] 맹윤호

    IBM Data & AI에서 엔지니어로 근무하고 있다. 연세대학교에서 데이터 분석 전공으로 석사 과정을 졸업하고 박사 과정을 밟고 있는 샐러던트다. SK C&C, KISTI, NRF, DBpia 등에서 프로젝트를 진행하고 Apache Zeppelin, Qiskit, KoGPT-2 등 오픈소스 프로젝트에 기여했다. 삼성, 현대, LG, 딜로이트 등 기업을 대상으로 강연하고 연세대학교, 중앙대학교, 상명대학교, 순천대학교 등에서도 강연한 바 있다. 참여 도서로는 『하이퍼레저 블록체인 개발』(한빛미디어, 2019), 『블록체인의 정석』(지앤선, 2019)이 있으며 IT 잡지 「마이크로 소프트웨어」에도 글을 실었다. 깃허브에서 @yunho0130으로 활동하고 기술 블로그(http://maengdev.tistory.com/)와 유튜브 채널(https://www.youtube.com/myh0130)을 운영하고 있다.

     

  • CHAPTER 1 서론

    1.1 임베디드 장치

    1.2 생태계 변화


    CHAPTER 2 시작하기

    2.1 이 책의 대상 독자

    2.2 개발에 필요한 하드웨어

    2.3 개발에 필요한 소프트웨어

    2.4 이 책에서 배울 내용

     

    CHAPTER 3 머신러닝 빠르게 훑어보기

    3.1 머신러닝이란 무엇인가

    3.2 딥러닝 워크플로

    3.3 마치며

     

    CHAPTER 4 TinyML ‘Hello World’ 시작하기: 모델 구축과 훈련

    4.1 만들고자 하는 시스템

    4.2 머신러닝 도구

    4.3 모델 구축하기

    4.4 모델 학습시키기

    4.5 텐서플로 라이트용 모델 변환

    4.6 마치며

     

    CHAPTER 5 TinyML ‘Hello World’: 애플리케이션 구축

    5.1 테스트 작성

    5.2 프로젝트 파일 구조

    5.3 소스 코드 살펴보기

    5.4 마치며

     

    CHAPTER 6 TinyML ‘Hello World’: 마이크로컨트롤러에 배포하기

    6.1 마이크로컨트롤러란 무엇인가

    6.2 아두이노

    6.3 스파크펀 에지

    6.4 ST마이크로 STM32F746G 디스커버리 키트

    6.5 마치며

     

    CHAPTER 7 호출어 감지: 애플리케이션 만들기

    7.1 만들고자 하는 시스템

    7.2 애플리케이션 아키텍처

    7.3 테스트 코드

    7.4 호출어 듣기

    7.5 마이크로컨트롤러에 배포하기

    7.6 마치며

     

    CHAPTER 8 호출어 감지: 모델 훈련하기

    8.1 새로운 모델 훈련

    8.2 프로젝트에서 모델 사용

    8.3 모델 작동 방식

    8.4 나만의 데이터로 훈련하기

    8.5 마치며

     

    CHAPTER 9 인체 감지: 애플리케이션 만들기

    9.1 만들고자 하는 시스템

    9.2 애플리케이션 아키텍처

    9.3 테스트 코드

    9.4 인체 감지

    9.5 마이크로컨트롤러 배포

    9.6 마치며

     

    CHAPTER 10 인체 감지: 모델 훈련하기

    10.1 연산 환경 선택

    10.2 구글 클라우드 플랫폼 인스턴스 설정

    10.3 훈련 프레임워크 선택

    10.4 데이터셋 구축하기

    10.5. 모델 훈련하기

    10.6 텐서보드

    10.7 모델 평가하기

    10.8 텐서플로 라이트로 모델 내보내기

    10.9 다른 카테고리 훈련

    10.10 아키텍처 이해

    10.11 마치며

     

    CHAPTER 11 마술 지팡이: 애플리케이션 만들기

    11.1 만들고자 하는 시스템

    11.2 애플리케이션 아키텍처

    11.3 단계별 테스트

    11.4 제스처 감지

    11.5 마이크로컨트롤러에 배포

    11.6 마치며

     

    CHAPTER 12 마술 지팡이: 모델 훈련하기

    12.1 모델 훈련하기

    12.2 모델의 작동 방식

    12.3 나만의 데이터로 훈련하기

    12.4 마치며

     

    CHAPTER 13 마이크로컨트롤러용 텐서플로 라이트

    13.1 마이크로컨트롤러용 텐서플로 라이트란 무엇인가

    13.2 빌드 시스템

    13.3 새로운 하드웨어 플랫폼 지원

    13.4 새로운 IDE나 빌드 시스템 지원

    13.5 프로젝트와 저장소 간 코드 변경 사항 통합

    13.6 오픈소스에 기여

    13.7 새로운 하드웨어 가속기 지원

    13.8 파일 포맷 이해

    13.9 텐서플로 라이트 모바일 작업을 Micro에 포팅하기

    13.10 마치며

     

    CHAPTER 14 자신만의 TinyML 애플리케이션 설계하기

    14.1 설계 과정

    14.2 마이크로컨트롤러가 필요할까, 더 큰 장치가 필요할까?

    14.3 무엇이 가능한지 이해하기

    14.4 다른 사람의 발자취 따르기

    14.5 훈련할 모델 찾기

    14.6 데이터 관찰

    14.7 오즈의 마법사 방법론

    14.8 데스크톱에서 먼저 작동시키기


    CHAPTER 15 지연 최적화

    15.1 정말 중요한 문제인지 확인하기

    15.2 하드웨어 변경

    15.3 모델 개선

    15.4 양자화

    15.5 제품 설계

    15.6 코드 최적화

    15.7 연산 최적화

    15.8 오픈소스에 기여

    15.9 마치며

     

    CHAPTER 16 에너지 사용 최적화

    16.1 직관 기르기

    16.2 실제 전력 소모 측정하기

    16.3 모델의 전력 사용량 추정

    16.4 전력 소모 개선

    16.5 마치며

     

    CHAPTER 17 모델과 바이너리 크기 최적화

    17.1 시스템의 한계 이해

    17.2 메모리 사용 측정

    17.3 다양한 문제에 대한 모델 정확도와 크기

    17.4 모델 선택

    17.5 실행 파일 크기 줄이기

    17.6 정말로 작은 모델

    17.7 마치며

     

    CHAPTER 18 디버깅

    18.1 훈련과 배포 사이 정확도 손실

    18.2 수치의 차이

    18.3 알 수 없는 충돌과 중단

    18.4. 마치며


    CHAPTER 19 텐서플로에서 텐서플로 라이트로 모델 포팅하기

    19.1 필요한 Op 이해

    19.2 텐서플로 라이트의 기존 Op 범위 살펴보기

    19.3 전처리 및 후처리를 애플리케이션 코드로 이동

    19.4 Op의 구현

    19.5 Op 최적화

    19.6 마치며

     

    CHAPTER 20 개인 정보, 보안, 배포

    20.1 개인 정보

    20.2 보안

    20.3 배포

    20.4 마치며

     

    CHAPTER 21 파도를 따라잡기 위하여

    21.1 TinyML 재단

    21.2 SIG Micro

    21.3 텐서플로 웹사이트

    21.4 그 밖의 프레임워크

    21.5 트위터

    21.6 TinyML의 친구들

    21.7 마치며

     

    부록 A 아두이노 라이브러리 Zip 사용과 생성

    부록 B 아두이노에서 오디오 받기

  •  

  • 내용이 없습니다.
  • 내용이 없습니다.
닫기

해당 상품을 장바구니에 담았습니다.
장바구니로 이동하시겠습니까?