TF Dev Summit × Modulabs : Learn by Run !
TensorFlow.js & Applied AI at the Coca-Cola Company (발표자 : 민규식)
※ 모두의연구소 페이지 : https://www.facebook.com/lab4all/
※ 모두의연구소 커뮤니티 그룹 : https://www.facebook.com/groups/modulabs
7. Tesorflow.js
7
웹페이지의 구성요소
- HTML: 웹페이지의 큰 뼈대를 제공 (Hyper Text Markup Language)
- CSS: 색, 글씨체 등 디자인 요소를 관리 (Cascading Style Sheets)
- Java Script: 객체지향 스크립트 언어로 웹페이지의 동작을 담당
- 웹을 풍부하게 만들어주는 작고 가벼운 언어
8. Tesorflow.js
8
- Google brain 팀에 의해 개발, 2017년 8월 공개
- Java script 라이브러리로 인터넷 브라우저에서 deep learning inference, training이 가능
- WebGL을 통해 GPU 연산 가능
- WebGL: 웹 기반 그래픽 라이브러리 -> 웹 브라우저 내부에서 3D 그래픽을 사용할 수 있도록 제공
- 다양한 딥러닝 관련 기능들을 웹 상에서 제공 가능 (Style transfer, Generative model, Machine translation)
10. Tesorflow.js
10
In-browser ML
- No driver / no installs -> 웹 페이지에 접속만 하면 실행
- 링크를 통해 간편하게 공유 가능
- Highly interactive
- 핸드폰 등을 이용하는 경우 내장 센서를 input 으로 제공 가능
- Sensor data는 client 에 남고 web 에 올리지 않음 -> Privacy
13. Tesorflow.js
13
Tensorflow.js
- Browser 내에서 모델을 생성, 학습, 테스트 할 수 있음
- Python으로 training 을 수행하고 저장된 변수들을 불러와서 browser 내에서 inference 가능
- 불러온 모델을 browser 내에서 retrain 하는 것도 가능
- Conversion: TF나 Keras로 제작 -> model을 저장 -> JS 모델로 변환 -> JS에서 사용!
- Conversion에 제공되는 기능
- Graph optimization: Prediction을 할 때 사용하지 않는 node들 제거
- Weight optimization
- Support 90+ Tensorflow ops -> control flow ops (coming soon)
- Support 32+ Keras layers
- Node.js 를 통해 서버를 이용한 연산이 가능하도록 제공할 예정
15. Tesorflow.js
15
Example (Webcam controller PacMan)
- Controller의 방향에 이용할 이미지를 각각 촬영
- Parameter 들을 결정하고 Train 버튼을 누른다!
- Loss가 줄어든 것을 확인하고 play를 눌러 게임을 실행한다!
- 웹페이지 상에서 training 과 inference 모두 가능
23. Coca-Cola
23
Proof of Purchase
- 소비자는 제품 구매의 증거를 회사측에 전달 (barcode, proof of purchase seal, …) -> 회사는 보상을 지급
- Sales promotion, loyalty marketing, 소비 데이터 수집
24. Coca-Cola
24
Digital Engagement Marketing
- 기술의 발전으로 인해 web 이나 mobile 플랫폼을 이용한 proof of purchase 가능
- 소비자에게 즉각적인 보상 제공이 가능하며 접근성 향상
- 코카콜라의 경우 병뚜껑에 있는 14 character 로 구성된 pin code 를 이용
- 모든 제품에 unique 하게 할당된 코드 -> 하지만 이것도 손으로 치기 귀찮지요…
≈
25. Coca-Cola
25
Training 의 과정
- Processing time: 1초 이내, 정확도 95% 이상- Active learning UI를 제작 -> 소비자가 라벨링
- 작은 크기의 모델, update 수행 가능
27. Coca-Cola
27
Training
- Character probability matrix 계산
- Every character in every position
- Matrix size: 글자 수 x 라벨 수
Top 10 prediction 선택
Valid: Pincode 제출
Invalid: Active learning
28. Coca-Cola
28
Training
Improving the Model in 3 Phases
Made the model too large Prevented the model from converging Gets the model to converge
(5mb model with acc > 95%)