책 제목 : O'REILLY 온디바이스 AI
저자 : 로런스 모로니
옮김 : 곽도영, 박찬성
책 표지에 적혀 있는 것 처럼 "모바일 개발자를 위한 머신러닝 기초 부터 모바일용 컴퓨터 비전, 텍스트 처리까지"
머신 러닝에 대한 기본 개념 부터 실제 안드로이드 및 IOS 에 적용하는 방법 그리고 예제 들로 구성된 책 입니다.
책 저자도 얘기 하는것 처럼 실제 머신러닝 알고리즘 자체에 대한 설명 및 구현에 대해서는 다루지 않으며,
이러한 부분들이 적용된 프레임워크를 이용하여 학습하고 실제 구현하는 방법 등을 설명 합니다.
이 책에서 머신러닝 프레임워크 중에서 "텐서플로 (TensorFlow)"를 이용한 머신러닝 어플리케이션 구현 하는 방법 위주로 예제와 함께 학습 할 수 있습니다.
이 책은 총 15개의 Chapter 로 구성되어 있습니다.
만약, 머신러닝(딥러닝)에 대해서 이미 알고 있다면, Chapter 2 부터 학습하면 되며, 실제 프레임워크를 이용하여 안드로이드 및 iOS 에 적용하는 부분에 대해서 학습한다면 Chapter 4 부터 학습하면 됩니다.
주요 예제는 비전과 텍스트 처리 애플리케이션 구현하는 것을 다루고 있습니다.
Chapter 1. 인공지능과 머신러닝 소개
본 Chapter 에서는 인공지능과 머신러닝이 무엇인지를 티셔츠와 신발 이미지로 예를 들어 설명하고 있으며,
전통적인 프로그래밍에서 머신러닝으로 어떻게 넘어가는지에 대해 다루고 있습니다.
한 가지의 주제로 전통적인 프로그래밍으로써의 문제에 대한 접근에 대한 설명 및 실제 코드 예시와
머신러닝으로 해당 문제에 대해 접근 하는 방식 설명과 프레임워크를 이용한 실제 코드 예시를 보여 주면서
비교 하여 학습 할 수 있도록 해줌으로써 이해도를 올리고 있습니다.
Chapter 2. 컴퓨터 비전 소개
이 책에서는 컴퓨터 비전과 텍스트 처리에서의 머신러닝 예제를 다루고 있습니다.
본 Chapter 에서는 관련 예제 중에서 컴퓨터 비전에 대해서 학습 할 수 있습니다.
저자도 책에서 말하고 있는것 처럼, 컴퓨터 비전 분야는 작은 Chapter에 다 담을 수 있는 분야가 아니기에
책에서 예제 시나리오로 목표로 하고 있는 부분 위주로 설명 하고 있습니다.
Chapter 3. ML Kit 소개
본 Chapter 에서는 ML Kit을 사용하여 안드로이와 iOS 기기에서 모델을 실행하는 실행하는 방법에 대해서
학습할 수 있습니다.
- 안드로이드와 iOS 얼굴 탐지 애플리케이션을 실제 따라하기 형태로 구현해 가면서 ML Kit을
적용하는 방법에 대해서 설명하고 있습니다.
Chapter 4. 안드로이드에서 ML Kit로 컴퓨터 비전 애플리케이션 만들기
Chapter 3 에서 ML Kit 을 적용하여 얼굴탐지 애플리케이션을 만들어 보았었는데 그 소스를 기반으로 ML Kit 을
이용한 더 많은 이미지 분석 모델에 대해서 만들어 보면서 학습할 수 있습니다.
Chapter 5. 안드로이드에서 ML Kit로 텍스트 처리 애플리케이션 만들기
본 Chapter 에서는 텍스트 인식/분석 하기 위해 ML Kit을 적용하는 방법에 대해서 학습 합니다.
스마트폰 애플리케이션 중에서 문서 편집, 챗팅, 이미지 처리에 의한 텍스트 인식 등 텍스트 처리 관련해서는
많은 부분에서 이용되고 있습니다.
그 중에서 본 책에서는 화면에 쓴 글씨(디지털 잉크)의 텍스트 구별하기, 자동으로 생성된 텍스트,
텍스트에서 특정 문자 추출 등의 몇 가지 "자연어 처리 시나리오"를 다루고 있습니다.
실제 만들어 가면서 학습할 수 있으며, 책에서는 전체 소스를 보여주는 것이 아니기 때문에 전체 소스는
예제 소스 다운 받아서 확인할 수 있습니다.
Chapter 6. iOS에서 ML Kit로 컴퓨터 비전 애플리케이션 만들기
Chapter 4 에서 안드로이드 기반으로 만들고 학습하였던 부분을 iOS 기반으로 학습할 수 있습니다.
Chapter 7. iOS에서 ML Kit로 텍스트 처리 애플리케이션 만들기
Chapter 5 에서 안드로이드 기반으로 만들고 학습하였던 부분을 iOS 기반으로 학습할 수 있습니다.
Chapter 8. TFLite 더 깊게 이해하기
텐서플로에서 TFLite 가 생기게 된 이유와 Chapter 1에서의 예제를 TFLite 를 이용하여 구현 해보 면서
학습하고, 파이썬으로 학습된 모을 안드로이드나 iOS 로 가져오는 방법을 학습할 수 있습니다.
Chapter 9. 커스텀 모델 만들기
이전 Chapter 까지 이미 제공되는 모델들을 이용하여 컴퓨터 비전, 텍스트 처리 등에 대해 학습하였던 부분에서
확장하여 본 Chapter 에서는 자신만의 모델을 만는 방법에 대해서 학습할 수 있습니다.
여기에서는 3가지 도구를 이용하여 커스텀 모델을 만드는 방법을 설명하고 있습니다.
- 모델메이커, AutoML, 텐서플로와 전이학습
Chapter 10. 안드로이드에서 커스텀 모델 사용하기
본 Chapter 에서는 Chapter 9에서 학습하면서 생성한 커스텀 모델을 실제 안드로이 애플리케이션에 적용하는
방법에 대해서 학습할 수 있습니다.
Chapter 11. iOS에서 커스텀 모델 사용하기
본 Chapter 에서는 Chapter 9에서 학습하면서 생성한 커스텀 모델을 실제 iOS 애플리케이션에 적용하는
방법에 대해서 학습할 수 있습니다.
Chapter 12. 파이어베이스로 애플리케이션 제품화하기
구글의 모바일 및 웹어플리케이션 개발 플랫폼인 파이어베이스의 여러 기능 중에서 커스텀 모델 호스팅 기능을
이용하여 적절한 모델을 테스트 하고 업데이트 하고 성능을 측절할 수 있는 방법에 대해서 학습할 수 있습니다.
Chapter 13. 간단한 iOS 애플리케이션을 위한 Create ML과 Core ML
이전 Chapter 까지는 TFLite 를 이용하였다면, 이번 Chapter 에서는 애플에서 만든 Create ML 과 Core ML
라이브러리에 대한 간략한 설명 과 이미지 분류, 텍스트 감정 분석 예제를 통해 실제 적용 방법에 대해서
학습 합니다.
Chapter 14. 모바일 애플리케이션으로 클라우드 모델에 접근하기
텐서플로 서빙에 대한 소개 및 설치, 설정, 모델을 배포하는 방법에 대해서 학습할 수 있습니다.
예제 애플리케이션을 만들어 원격으로 해당 모델의 추론을 수행하는 방법에 대해서 학습 합니다.
Chapter 15. 모바일 애플리케이션의 윤리, 공정성, 개인정보보호
공정성이 고려되거나 편향을 고려하지 않은 시나리로 설계된 시스템 사례들에 대해 이런 잠재적인 편향 문제,
방법론, 두움을 받을 수 있는 도구들에 대한 전반적인 개요을 살펴 보고 학습 할 수 있습니다.
코드 예제 다운 : https://github.com/tucan9389/ondevice-ml-book
본 책은 머신러닝 자체에 대해서 보다는 머신러닝의 모델들이 이미 구현 되어 있는 프레임워크를 이용하여 실제 스마트폰 어플리케이션으로 적용하는 예제를 보여주며 쉽게 접근 하고 학습할 수 있도록 구성되어 있습니다.
머신러닝의 이론적이 부분을 다루고 있지는 않지만,
많은 예제들을 제시하는 것보다 주요한 그리고 많이 사용되는 모델 위주로 (컴퓨터 비전, 텍스트 처리) 예제를 구성하고 실 동작 까지 가능한 애플리케이션을 따라서 만들어 보면서 학습하는 부분에서 오히려 이해도를 더 올려 주고 있습니다.
오히려 머신러닝을 처음 접한다면 오히려 따라하기 형태로 먼저 어떠한 것이 머신러닝이고 스마트폰에서 어떻게 적용되고 있는지 학습하기에는 좋은 책 입니다.