The bleeding edge of
machine learning stream in 2017
Jeongkyu Shin
Lablup Inc.
20170520 APAC ML/DS Community Summit
현실은
언제나
상상을
능가한다
이거 말고요 ;ㅅ;
1: 현실의 속도
컴퓨터를 끄지 못하게 된 인류
‒Satya Nadella, Microsoft CEO
“Over the next 10 years, we’ll reach a point where nearly
everything has become digitized.”
‒Satya Nadella, Microsoft CEO
“앞으로 10년동안,
우리는 거의 모든 것이 디지털화되는 시점에 도달할 것이다.”
2. 기계학습
키워서 잡아먹자
기계학습 Machine Learning
▪기계학습
▪”Field of study that gives computers the ability to learn without being
explicitly programmed” Arthur Samuel (1959)
▪"A computer program is said to learn from experience E with respect to
some class of tasks T and performance measure P, if its performance at
tasks in T, as measured by P, improves with experience E.” Tom Michel
(1999)
▪기계학습의 종류
▪지도학습 Supervised learning
▪비지도학습 Unsupervised learning
▪강화학습 Reinforcement learning
▪추천시스템 Recommender system
3. 빅데이터
기계학습 모형 훈련과 아기 키우기의 다른점
1994년 2004년
1994년 2004년
‒2012년
“…2012년의 경우 하루에 생성되는 데이터의 양은
약 7.5 엑사바이트…”
‒2001년
“…위와 같은 이유로 웹의 총 용량은
2 페타바이트에 달한다.”
‒2012년
7500000000000000000바이트
‒2001년
2000000000000000바이트
‒2012년
“하드웨어 및 소프트웨어의 단위당 비용은
2005년 대비 1/6로 감소…”
‒2011년
“2015년에는 20%의 데이터가
클라우드에 존재할 것으로 예상된다”
2012 0.06$
1992 222$Cost per
1 million
transistors
=27/1000000
1995 686$
1985 80,000$
Cost per
1 GB
storage
=25/100000000
2005 0.75$
2015 0.02$
4. 딥 러닝
될 때 까지 나무를 찍어라. 단, 지능적으로.
저에게 시간과 예산이 조금만 더 있었더라면…
Cloud Machine Learning Big Data
계산 능력 + 지능 + 통찰
딥 러닝: 황금시대의 꽃
▪만약 시간과 계산이 충분히 있으면
어떻게 되는가? 예를 들면
▪연산 자원 걱정 없이 히든 레이어의 수를
막 늘려도 된다거나
▪무한정에 가까운 데이터를 부어
넣는다거나
▪딥러닝의 돌파구
▪Geoffrey Hinton (2005)
▪Andrew Ng (2012)
▪Convolution Neural Network
▪Pooling layer + weight
▪Recurrent Neural Network
▪Feedforward routine with (long/short) term
memory
▪Deep disbelief Network
▪Multipartite neural network with generative
model
▪Deep Q-Network
▪Using deep learning for reinforcement
learning
5. 잘 하는 것, 못 하는 것
기계를 가르친다고 다 잘하는건 아니랍니다.
6. 2017년의 기계학습
폭죽 터질 땝니다
2018년:
기계학습의 실질적인 대중화 원년 (예정)
왜?
대중화를 위해
필요한 블럭들이
올해 모두 만들어 질 것이기 때문에.
2017년:
기계학습의 다음 방향?
알고리즘의 발전
적용 분야의 확장
기기의 다변화2017년:
알고리즘의 발전
적용 분야의 확장
기기의 다변화2017년:
오픈소스 기계학습 프레임워크 전쟁
GAN의 다양한 응용
CNN+RNN 또는 CNN으로 RNN
오픈소스 기계학습 프레임워크
▪기계학습 프레임워크: (거의) 모두 오픈소스
▪Google: TensorFlow (2015~)
▪Microsoft: CNTK (2016~)
▪Amazon: MxNet (2015~)
▪Facebook: Caffe 2 (2017~) / PyTorch (2016~)
▪Baidu: PaddlePaddle (2016~)
▪왜 오픈소스?
▪2017년
▪새 버전: 마일스톤들의 공통점
GAN 3D-GAN acGAN AC-GAN AdaGAN AEGAN AffGAN AL-CGAN ALI
AMGAN AnoGAN ArtGAN b-GAN Bayesian GAN BEGAN BiGAN BS-
GAN CGAN CaloGAN CCGAN CatGAN CoGAN Context-RNN-GAN C-
RNN-GAN CS-GAN CVAE-GAN CycleGAN DTN DCGAN DiscoGAN
DR-GAN DualGAN EBGAN f-GAN GAWWN GeneGAN GoGAN GP-
GAN IAN iGAN IcGAN ID-CGAN Improved GAN InfoGAN LAGAN
LAPGAN LR-GAN LSGAN LS-GAN MGAN MAGAN MAD-GAN MAlGAN
MaliGAN MARTA-GAN McGAN MDGAN MedGAN MIX+GAN MPM-
GAN MV-BiGAN pix2pix Pose-GAN PPGN PrGAN RenderGAN RTT-
GAN SGAN SAD-GAN SalGAN SEGAN SeGAN SeqGAN SimGAN
SketchGAN SL-GAN Softmax-GAN SRGAN S2GAN SSL-GAN
StackGAN TGAN TAC-GAN TP-GAN Triple-GAN Unrolled GAN
VGAN VAE-GAN VariGAN ViGAN WGAN WGAN-GP WaterGAN
GANGenerative Adversarial Network
2016년하면 역시
GAN의 예: pix2pix
CNN+RNN / CNN으로 RNN
▪2016년 말~
▪DeepText (Facebook)
▪2017년 5월 7일
▪CNN으로 번역 문제 풀기
▪응용: 영상의 컨텍스트 분석
▪Frame analysis: CNN
▪Temporal context: RNN over
CNN result
알고리즘의 발전
적용 분야의 확장
기기의 다변화2017년:
로봇 / 액티브 모듈 제어 분야의 발전
API 기반의 딥러닝 서비스
일반 사용자 대상의 딥러닝 기반 서비스
로봇 / 액티브 모듈 제어 분야
▪로봇 / 액티브 모듈 제어: 강화학습에 적합
▪시뮬레이터를 통한 강화학습 가속 트레이닝 가능
▪피드백 스코어 정의가 용이함
▪행동에 물리적인 제약 있음: 탐색 공간이 좁아짐
▪응용
▪전동휠체어 보조 운행
▪주행 보조 모듈
Deep-Q Learning
모델 훈련
시스템
추론
서비스프레임워크
2017년: 환경의 변화
이미지
시퀀스
추론
이미지 → 동영상
시퀀스 → 문장
추론 → 자율행동
이미지 → 동영상 → 실시간 환경 대응
시퀀스 → 문장 → 맥락 이해
추론 → 자율행동 → 자동작업처리
API 기반의 딥러닝 서비스
▪자체적으로 만든 모델을 API 형태로 서비스함
▪실시간성이 필요하지 않은 분야 중심
▪예) Cognitive service on Microsoft Azure
API 기반의 개인화된 딥러닝 서비스
▪미리학습된 인공신경망 + 개인화 데이터 = 개인화된 인공신경망
▪쉬운 개인화: 서버리스 딥러닝 구현
+ =
일반 사용자 대상의 딥러닝 서비스
▪훈련이 끝난 기계학습 모델의 추론 기능 기반
▪많은 자원이 필요하지 않음
▪예) ~512MB / 1GB의 ARMv7에서 실행 가능
▪오작동에 부담이 없는 분야
▪키덜트를 위한 스마트 토이: 자율주행 R/C 및 드론
▪가전제품 중심 또는 가전제품 제어기
▪IoT + ML
▪지역성이 강한 분야: 가정내 (방 단위), 자가용, 사무공간 등
▪예) 스마트 가정 자원 관리 시스템
일반 사용자 대상의 딥러닝 서비스
▪디지털 어시스턴트 대전
▪디지털 어시스턴트: 딥러닝 기반 서비스들의 게이트웨이
▪컨텍스트 추출 + 추론 + 기능 연동
▪Echo (Amazon) / Google Home (Google)
▪Microsoft / Apple 의 접근
알고리즘의 발전
적용 분야의 확장
기기의 다변화2017년:
서버사이드 기계학습
서버리스 환경에서의 기계학습
모바일 기반의 앱
서버사이드 기계학습
▪기계학습 워크로드의 특징
▪훈련시
▪무지무지 거대한 계산 자원을 필요로 함
▪크고 인덱스가 붙은 데이터를 공급해야 함
▪또는, (강화학습의 경우) 피드백을 주기 위한 모델이나 훈련 환경을 필요로 함
▪제공시
▪(상대적으로) 적은 자원을 필요로 함:
▪ 적은 CPU 코스트
▪ (신경망을 불러오기 위한) 적당한 크기의 메모리 공간
서버리스 환경에서의 기계학습: 왜?
▪Apple의 접근 (iOS 10)
▪Differential Privacy: 사용자
프라이버시 보호를 위한 방법
▪익명화된 사용자 데이터 수집
▪개인화된 기계학습 모델 훈련: 스마트폰
안에만 저장
▪예)
▪ 사진에서 얼굴 탐색
▪ 음성 인식
▪ 스마트 키보드
▪GPU + Metal + 전용 딥러닝 프레임워크
서버리스 환경에서의 기계학습: 왜?
▪실시간 모델 / 앱에서 해결할 문제들
▪자율주행
▪ 안전과 직결되는 문제
▪ 100Km/h 로 주행중인 쇳덩이 / 350ms.
▪사진 / 비디오의 실시간 효과
▪ 끊기지 않는 효과 처리
▪ 밀림 없는 미리 보기
▪음성 인식
▪ 실시간 딕테이션
▪ 멀티 유저 보이스 구분 인식
▪자동화 도구
▪ 루틴한 작업의 자동화
▪ 개인적인 작업들
서버리스 환경에서의 기계학습: 어떻게?
▪서버에서 훈련하고, 스마트폰에서 제공
▪훈련: 계산 코스트가 많이 듦
▪추론: 스마트폰에도 미리 학습된 모델을 제공할 충분한 성능이 있음
▪스마트폰에서 훈련 및 제공을 모두 처리
▪프라이버시 보호 / 트래픽 감소 / 개인화
▪최신 스마트폰들에서의 GPU 사용
▪지연된 훈련 처리
▪개인화
▪계산 비용이 많이 드는 작업을 유휴시간에 처리
서버리스 환경에서의 기계학습: 어떻게?
▪TensorFlow
▪안드로이드와 iOS 를 모두 지원
▪TensorFlow Lite / XLA Compiler framework
▪Caffe 2 (Facebook)
▪모바일에서 1080p@60fps로 deepdream 처리 가능
(진짜?)
돌아보기
▪현실의 속도
▪기계학습
▪빅데이터
▪딥 러닝
▪잘하는 것, 못 하는 것
▪2017년의 기계학습
▪알고리즘
▪적용분야
▪기기
끝!
재미있는 시간 되세요!
jshin@lablup.com

The bleeding edge of machine learning stream in 2017 - APAC ML/DS Community Summit