책소개
ML Kit, Core ML, TFLite 등을 이용해 단계별로 직접 해 보며 익히는 모바일 머신러닝 가이드!
모바일 기기가 주요 컴퓨팅 기기가 된 오늘날, 모바일 개발자들에게 머신러닝은 선택이 아닌 필수입니다. 이 책은 여러 프레임워크로 모바일 머신러닝 개발을 빠르게 시작할 수 있는 방법을 설명하는 데 초점이 맞춰져 있습니다. 구글 핵심 개발자인 저자의 친절한 설명으로 개념을 빠르게 익힌 다음, 직접 ML Kit, Core ML, TFLite와 같은 도구를 활용해 모바일용 컴퓨터 비전 및 텍스트 처리 모델을 iOS와 안드로이드 버전 모두 제작해 보며 실무 지식까지 쌓을 수 있습니다. 이 책을 통해 새로운 모바일 개발 패러다임을 이끄는 변화에 동참하세요!
목차
CHAPTER 1 인공지능과 머신러닝 소개
_1.1 인공지능이란?
_1.2 머신러닝이란?
__1.2.1 전통적인 프로그래밍에서 머신러닝으로 넘어가기
__1.2.2 컴퓨터가 어떻게 학습할 수 있을까요?
__1.2.3 전통적인 프로그래밍과 머신러닝의 차이점
_1.3 모바일 모델 제작하기
_1.4 마치며
CHAPTER 2 컴퓨터 비전 소개
_2.1 비전을 위한 뉴런 사용하기
__2.1.1 첫 분류기: 의류 구별하기
__2.1.2 데이터: 패션 MNIST
__2.1.3 패션 MNIST 모델 아키텍처
__2.1.4 패션 MNIST 모델 코딩
_2.2 컴퓨터 비전을 위한 전이 학습
_2.3 마치며
CHAPTER 3 ML Kit 소개
_3.1 안드로이드 얼굴 탐지 애플리케이션
__1단계 안드로이드 스튜디오로 프로젝트 생성하기
__2단계 ML Kit 라이브러리 추가 및 설정하기
__3단계 사용자 인터페이스 만들기
__4단계 assets 폴더 생성 후 이미지 추가하기
__5단계 기본 이미지를 UI에 불러오기
__6단계 얼굴 탐지기 호출하기
__7단계 바운딩 박스 그리기
_3.2 iOS 얼굴 탐지 애플리케이션
__1단계 Xcode 프로젝트 생성하기
__2단계 CocoaPods과 Podfiles 사용하기
__3단계 사용자 인터페이스 만들기
__4단계 애플리케이션 로직
_3.3 마치며
CHAPTER 4 안드로이드에서 ML Kit로 컴퓨터 비전 애플리케이션 만들기
_4.1 이미지 분류 및 레이블 찾기
__1단계 애플리케이션 생성 및 ML Kit 설정하기
__2단계 사용자 인터페이스 만들기
__3단계 assets 폴더 생성 후 이미지 추가하기
__4단계 이미지뷰에 이미지를 불러오기
__5단계 버튼 핸들러 코드 작성하기
__추가 단계
_4.2 객체 탐지
__1단계 애플리케이션 생성 및 ML Kit 불러오기
__2단계 액티비티 레이아웃 XML 생성하기
__3단계 이미지뷰에 이미지를 불러오기
__4단계 객체 탐지기의 옵션 설정하기
__5단계 버튼과의 상호작용
__6단계 바운딩 박스 그리기
__7단계 객체 레이블링
_4.3 영상에서 객체 탐지와 객체 추적하기
__4.3.1 레이아웃 확인하기
__4.3.2 GraphicOverlay 클래스
__4.3.3 카메라로 얻은 영상 화면 출력하기
__4.3.4 ObjectAnalyzer 클래스
__4.3.5 ObjectGraphic 클래스
__4.3.6 마무리
_4.4 마치며
CHAPTER 5 안드로이드에서 ML Kit로 텍스트 처리 애플리케이션 만들기
_5.1 개체명 추출
__1단계 애플리케이션 생성하기
__2단계 액티비티용 레이아웃 생성하기
__3단계 개체명 추출용 코드 작성하기
__4단계 마무리
_5.2 손글씨 인식 모델
__1단계 애플리케이션 생성하기
__2단계 손글씨를 쓸 서피스 생성하기
__3단계 ML Kit로 Ink 파싱하기
_5.3 스마트 인공지능 답변 모델
__1단계 애플리케이션 생성하기
__2단계 가상 대화 구성하기
__3단계 스마트 답변 생성하기
_5.4 마치며
CHAPTER 6 iOS에서 ML Kit로 컴퓨터 비전 애플리케이션 만들기
_6.1 이미지 분류 및 레이블 찾기
__1단계 Xcode에서 애플리케이션 프로젝트 생성하기
__2단계 Podfile 생성하기
__3단계 스토리보드 설정하기
__4단계 ML Kit를 사용하여 View Controller 코드 수정하기
_6.2 iOS에서 ML Kit로 객체 탐지
__1단계 시작하기
__2단계 스토리보드에서 UI 만들기
__3단계 바운딩 박스를 그리기 위한 서브뷰 만들기
__4단계 객체 탐지 실행하기
__5단계 콜백 처리하기
__추가 단계 객체 탐지와 이미지 분류 합치기
__추가 단계 영상에서 객체 탐지와 객체 추적하기
_6.3 마치며
CHAPTER 7 iOS에서 ML Kit로 텍스트 처리 애플리케이션 만들기
_7.1 개체명 추출
__1단계 새 프로젝트 생성 및 ML Kit pods 추가하기
__2단계 스토리보드를 만들고 액션과 아웃렛 추가하기
__3단계 뷰컨트롤러에서 텍스트뷰 입력받기
__4단계 모델 초기화하기
__5단계 텍스트에서 개체명 추출하기
_7.2 손글씨 인식
__1단계 애플리케이션을 생성하고 ML Kit pods 추가하기
__2단계 스토리보드와 액션, 아웃렛 생성하기
__3단계 Stroke, Point, Ink
__4단계 사용자 터치 입력받기
__5단계 모델 초기화하기
__6단계 Ink 인식하기
_7.3 스마트 답변하기
__1단계 애플리케이션 프로젝트를 생성하고 ML Kit 불러오기
__2단계 스토리보드, 아웃렛, 액션 생성하기
__3단계 대화 만들기
__4단계 스마트 답변 받기
_7.4 마치며
CHAPTER 8 TFLite 더 깊게 이해하기
_8.1 TFLite가 무엇인가요?
_8.2 TFLite 시작하기
__8.2.1 모델 저장하기
__8.2.2 모델 변환하기
__8.2.3 독립 실행형 인터프리터로 모델 테스트하기
_8.3 TFLite를 사용하는 안드로이드 애플리케이션 만들기
_8.4 TFLite 파일 불러오기
_8.5 모델 추론을 위해 코틀린 코드 작성하기
_8.6 심화 내용
_8.7 TFLite를 사용하는 iOS 애플리케이션 만들기
__1단계 기본 iOS 애플리케이션 생성하기
__2단계 프로젝트에 TFLite 라이브러리 추가하기
__3단계 사용자 인터페이스 만들기
__4단계 모델 추론 클래스 만들고 초기화하기
__5단계 추론하기
__6단계 애플리케이션에 모델 추가하기
__7단계 UI 로직 추가하기
_8.8 ‘Hello World’를 넘어: 이미지 처리하기
_8.9 모델 최적화 살펴보기
__8.9.1 양자화
__8.9.2 대표 데이터 사용하기
_8.10 마치며
CHAPTER 9 커스텀 모델 만들기
_9.1 TFLite 모델메이커로 모델 만들기
_9.2 클라우드 AutoML로 모델 만들기
__9.2.1 AutoML 비전 엣지 사용하기
_9.3 텐서플로와 전이 학습으로 모델 만들기
_9.4 언어 모델 만들기
__9.4.1 모델메이커로 언어 모델 만들기
_9.5 마치며
CHAPTER 10 안드로이드에서 커스텀 모델 사용하기
_10.1 모델을 안드로이드로 탑재하기
_10.2 모델메이커로 얻은 모델로 이미지 분류 애플리케이션 만들기
_10.3 모델메이커로 얻은 모델과 ML Kit를 함께 사용하기
_10.4 언어 모델 사용하기
_10.5 언어 분류용 안드로이드 애플리케이션 만들기
__10.5.1 레이아웃 파일 생성하기
__10.5.2 액티비티 코드 작성하기
_10.6 마치며
CHAPTER 11 iOS에서 커스텀 모델 사용하기
_11.1 iOS에 모델 연결하기
_11.2 커스텀 이미지 분류기 모델
__1단계 애플리케이션 생성 및 TFLite Pod 추가하기
__2단계 UI와 이미지 에셋 만들기
__3단계 이미지 에셋을 불러오고 탐색하기
__4단계 모델 불러오기
__5단계 이미지를 입력 텐서로 변환하기
__6단계 텐서로 추론하기
_11.3 ML Kit로 커스텀 모델 사용하기
_11.4 스위프트로 자연어 처리 애플리케이션 만들기
__1단계 보캡 불러오기
__2단계 문장을 시퀀스로 만들기
__3단계 언세이프 데이터 처리를 위한 배열 익스텐션 구현하기
__4단계 배열을 데이터 버퍼로 복사하기
__5단계 데이터를 추론하고 결과 처리하기
_11.5 마치며
CHAPTER 12 파이어베이스로 애플리케이션 제품화하기
_12.1 왜 파이어베이스의 커스텀 모델 호스팅을 사용해야 할까요?
_12.2 여러 버전의 모델 만들기
_12.3 파이어베이스 모델 호스팅 사용하기
__1단계 파이어베이스 프로젝트 생성하기
__2단계 커스텀 모델 호스팅 사용하기
__3단계 안드로이드 기본 애플리케이션 생성하기
__4단계 애플리케이션에 파이어베이스 추가하기
__5단계 파이어베이스 모델 호스팅에서 모델 가져오기
__6단계 원격 설정 사용하기
__7단계 애플리케이션에서 원격 설정 읽어오기
__추가 단계
_12.4 마치며
CHAPTER 13 간단한 iOS 애플리케이션을 위한 create ML과 core ML
_13.1 Create ML로 Core ML 이미지 분류기 만들기
__13.1.1 Create ML 모델로 만든 Core ML 애플리케이션 만들기
__13.1.2 MLModel 파일 추가하기
__13.1.3 추론 실행하기
_13.2 Create ML로 텍스트 분류기 만들기
_13.3 애플리케이션에서 언어 모델 사용하기
_13.4 마치며
CHAPTER 14 모바일 애플리케이션으로 클라우드 모델에 접근하기
_14.1 텐서플로 서빙 설치하기
__14.1.1 도커로 설치하기
__14.1.2 리눅스에 직접 설치하기
_14.2 모델을 구축하고 서빙하기
_14.3 안드로이드로 서버 모델에 접근하기
_14.4 iOS로 서버 모델에 접근하기
_14.5 마치며
CHAPTER 15 모바일 애플리케이션의 윤리, 공정성, 개인정보보호
_15.1 책임감 있는 인공지능을 통한 윤리, 공정성, 개인정보보호
__15.1.1 책임감 있게 문제 정의하기
__15.1.2 데이터의 편향을 방지하기
__15.1.3 모델을 만들고 학습시키기
__15.1.4 모델 평가하기
_15.2 구글 인공지능 원칙
_15.3 마치며