Google for Mobile I/O RECAP 2018 (10)

10. AI & Cloud. 모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개

  • 발표자 : 신정규 (Founder & CEO, Lablup Inc.)
  • 세션설명 : 모바일 개발자를 위해 더 쉬워진 머신 러닝! Firebase에서 사용 가능한 머신 러닝 SDK, ML Kit가 발표되었습니다. ML Kit을 사용하면 Android와 iOS 모든 플랫폼에서 강력한 머신 러닝 기능을 앱에 적용할 수 있습니다. 초보자도 쉽게 시작할 수 있는 ML Kit을 국내 머신 러닝 전문가, Google GDE인 Lablup Inc.의 신정규 대표가 소개합니다.

TensorFlow

TensorFlow <--> TensorFlow Lite <--> TensorFlow.js

TensorFlow 모델을 가져다 쓰는 애플리케이션 영역이 필요한 시점임.

ML Kit

참고 : https://developers.google.com/ml-kit/

양질의 데이터 부족, 모바일 기기에 맞는 모델이 필요함.

위 이유로 ML, Deep Learning 도입이 어려움.

그래서 ML Kit이 등장하게 됨.

기본 API

  • 이미지 라벨링 : 개체, 위치, 활동, 동물 종, 제품 등을 식별
  • 텍스트 인식 (OCR) : 이미지에서 텍스트 인식 및 추출
  • 얼굴 인식 : 얼굴 및 얼굴 표식 감지
  • 바코드 스캐닝 : 바코드 스캔 및 처리
  • 랜드마크 인식 : 이미지에서 인기있는 랜드 마크 식별
  • 스마트 답장 (coming soon) : 문맥에 맞는 문구 제안

이미지 라벨링, 텍스트 인식, 얼굴인식, 바코드 스캔은 디바이스에서도 직접 사용 가능함.

Custom Model & Cloud Deploy

맞춤형 모델을 지원하고 Cloud 사용하여 배포 가능

디바이스/Cloud API 사용은 거의 동일함.

이미지 라벨의 경우 디바이스 API는 무료, Cloud API는 사용 제한이 있고 정확도는 더 높음.

Q&A

Q : 기본 API 사용은 그냥 가능한가?

A : 요금제 Blaze 이상이면 일부 무료사용이 가능함. (월 1000건까지 무료)

참고 : https://firebase.google.com/pricing/?hl=ko

https://cloud.google.com/vision/?hl=ko#cloud-vision-api-pricing

Google for Mobile I/O RECAP 2018 (09)

09. AI & Cloud. 모바일 개발자를 위한 TensorFlow Lite 소개

  • 발표자 : Kaz Sato (Staff Developer Advocate, Cloud Platform, Google)
  • 세션설명 : TensorFlow Lite는 모바일과 임베디드 디바이스에 최적화된 머신러닝 프레임워크로, 낮은 지연시간과 작은 바이너리 크기로 디바이스 상에서의 머신러닝 추론이 가능하며 안드로이드 신경망 API를 사용한 하드웨어 가속화도 지원합니다. TensorFlow Lite를 통해 최신 AI 기술을 모바일에 적용하는 법을 알아보세요.

TensorFlow

참고 : https://www.tensorflow.org/get_started/

AI, ML, Neural Networks

최근의 AI 서비스는 모바일에서 1차 가공된 데이터를 추출해 서버에 보내 처리함.

모바일에서 이미지 처리시 클라이언트에서 이미지 라벨을 서버로 보내 처리함. 모션 캡쳐의 경우도.

TensorFlow는 Open Source S/W임.

모바일에서도 모델 학습이 가능하나 느려서 GPU가 필요함.

TensorFlow 모델을 모바일에서 사용 가능함.

모바일에서 Machine Learning 의 문제 : Memory, CPU Power, Battery 등

모바일에서 TensorFlow 사용시 처리

  • Freeze Graph : 변수를 상수화
  • Quantization : 32bit float -> 8bit int
  • Compression the Binary with Selective Registration : 12MB -> 1.5MB (for Inception v3)

TensorFlow Lite

참고 : https://www.tensorflow.org/mobile/tflite/

TensorFlow Lite의 빠르고 작은 설계

TensorFlow Lite의 core interpreter는 75KB 크기임. (TensorFlow의 경우 1.1MB)

TensorFlow Lite & ML Kit

참고 : https://developers.google.com/ml-kit/

ML Kit의 Base API 사용이 편함.

use case에 따라 custom models 사용함. (TensorFlow Lite)

TensorFlow Lite Development Flow

참고 : https://www.tensorflow.org/versions/master/mobile/tflite/devguide

Get a model -> Convert -> write ops -> write app

한계점으로는 추론 연산에만 집중되는 문제와 현재 inference 제한있음. (최대 50개의 operators 제공)

적용 사례

참고 :

https://developers-kr.googleblog.com/2017/12/on-device-conversational-modeling-with-tensorflow-lite.htmlhttps://developers-kr.googleblog.com/2017/10/how-machine-learning-with-tensorflow-enabled-mobile-proof-of-purchase-at-coca-cola.html?refer=gaerae.com

Google Assistant, Android Wear의 Smart Reply 기능에 적용. 코카콜라 앱 병뚜껑 번호 인식에도 적용됨.

TensorFlow Lite는 이미 Production App에 적용되고 있음.

Q&A

Q : TensorFlow Lite가 PC에서도 되나?

A : 리눅스라면 됨. Android IOT나 라즈베리파이도 됨.

Google for Mobile I/O RECAP 2018 (08)

08. AI & Cloud. Dialogflow와 ML API를 활용한 챗봇 개발

  • 발표자 : 정명훈 (Customer Engineer, Google Cloud)
  • 세션설명 : 빠르고 효율적으로 구축이 가능하면서도 똑똑한 챗봇을 개발하고 싶다면 꼭 주목해야 할 기술, Dialogflow를 소개합니다! Dialogflow의 강력하고 손쉬운 기능과 머신러닝 API를 사용하여 매력적인 챗봇을 개발하는 방법을 알아보세요.

메신저 사용률이 SNS를 추월함.

참고 : http://www.kinews.net/news/articleView.html?idxno=71223

스마트 디바이스 증가와 대기업들의 참여도 증가로 챗봇 급성장.

참고 : http://gobooki.net/archives/1324

주요 사용 사례 :

  • Customer support
  • Transactions
  • Getting things done

영단어 암기 프로그램

구성 : Chatbot + ML API + Google Assistant

Dialogflow

참고 : https://dialogflow.com/docs/getting-started

Dialogflow에 Topic에 대한 샘플 문장들 입력

규칙기반은 규칙에 대한 모든 정보 입력 필요. (사실상 불가능)

머신러닝 신경망에서 시맨틱 구문 분석으로 학습할 경우 규칙기반 대비 40% 정도 정확도 높음.

Google ML API

참고 : https://cloud.google.com/products/machine-learning/

ML on Google Cloud

  • Translate API : 데이터가 많아 성능이 높음.
  • Natural Language API : 자연어 처리
  • Speech API : 음성인식, 구문힌트나 인식모드로 정확도 향상
  • Vision API : 사진분석, 텍스트 인식
  • Video Intelligence API : 비디오 분석 기술

Q&A

시간 관계상 생략

+ Recent posts