SlideShare a Scribd company logo
스마트폰 위의 딥러닝
신범준
HYPERCONNECT
이 슬라이드는 네이버에서 제공한 나눔글꼴이 적용되어있습니다
하이퍼커넥트의 머신러닝 성과
하이퍼커넥트의 머신러닝 성과
PaaS
신고 이미지 검수
(클라우드)
하이퍼커넥트의 머신러닝 성과
PaaS
신고 이미지 검수
(클라우드)
이미지 분류기
(모바일)
하이퍼커넥트의 머신러닝 성과
실시간 배경따기
(모바일)
PaaS
신고 이미지 검수
(클라우드)
이미지 분류기
(모바일)
작은 딥러닝 모델을 잘 만들어
모바일에 배포해본 이야기
오늘의 주제
왜 모바일 딥러닝?
왜 모바일 딥러닝?
높은 지연 시간
왜 모바일 딥러닝?
높은 지연 시간 낮은 대역폭
왜 모바일 딥러닝?
높은 지연 시간
오프라인
낮은 대역폭
왜 모바일 딥러닝?
높은 지연 시간
수 많은 기기 오프라인
낮은 대역폭
왜 모바일 딥러닝?
프라이버시
높은 지연 시간
수 많은 기기 오프라인
낮은 대역폭
가능한 응용
가능한 응용
스마트폰
가능한 응용
무인자동차스마트폰
가능한 응용
무인자동차스마트폰 드론
가능한 응용
무인자동차스마트폰 드론 VR/AR
가능한 응용
무인자동차스마트폰 드론 VR/AR IOT
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
간단한 맛보기
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
간단한 맛보기
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
간단한 맛보기
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
학습 메모리는 꽉꽉 채워서 메모리는 남아 돈다
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
학습 메모리는 꽉꽉 채워서 메모리는 남아 돈다
설계
최대한 딥하게
레이어를 쌓는다
최대한 효율적으로
레이어를 쌓는다
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
모바일 세상의 파편화
모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
2 Major OS
(iOS/Android)
모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
2 Major OS
(iOS/Android)
Two Major compute APIs
(OpenCL/RenderScript)
모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
2 Major OS
(iOS/Android)
Two Major compute APIs
(OpenCL/RenderScript)
Three Major Graphics APIs
(OpenGL/Vulkan/Metal)
막상 해보면...
논문에서 잘된다고 주장한 네트워크를
직접 해보면 원하는 성능이 나오지 않습니다
NasNet-A, MobileNet
같은 학습 방법
막상 해보면...
유저들은 우리의 상상을 초월합니다
괴상한 모바일 폰(vivo), 기기별로 천차만별, 같은 기기에서도 유저별로 천차만별
막상 해보면...
완벽한 데이터셋을 가지는건 항상 힘듭니다
Class Imbalance Problem, 좋은 평가지표, End-to-End 테스트 환경
막상 해보면...
용량은 작고 속도는 빠르며 정확도는 높아야 합니다
그리고 배터리도 적게 쓰면 좋아요
iOS cellular download limit 150MB(2017.09.17)
풀어야할 문제는 크게
2가지입니다
용량을 적게 쓰고 속도가 빠르면서
예측 정확도가 높은 모델 만들기1.
딥러닝 모델을 효율적으로 구현하고
안정적으로 운영하기2.
용량을 적게 쓰고 속도가 빠르면서
예측 정확도가 높은 모델 만들기1.
딥러닝 모델을 효율적으로 구현하고
안정적으로 운영하기2.
유명한 모바일 딥러닝 아키텍쳐를
같이 살펴봅시다
SqueezeNet (2016. 02.)
image from https://stanford.edu/~songhan/
Kernel Reduction
Channel Reduction
1. 3x3 필터를 1x1필터로 대체합니다
2. 1x1 필터로 채널 수를 줄입니다
SqueezeNet (2016. 02.)
•첫 레이어에서 7x7이 아닌 3x3을 사용
•Pooling을 1,4,8 에서 {1,3,5}로 early + evenly downsampling
SqueezeNet v1.1 을 사용하세요
ResNet도 v2 가 더 좋습니다. 항상 v1.X, V2를 확인하세요.
image from https://github.com/DeepScale/SqueezeNet/tree/master/SqueezeNet_v1.1
Figures from https://arxiv.org/pdf/1704.04861.pdf, https://github.com/Zehaos/MobileNet
구글이 발표한 모바일 용 CNN 아키텍쳐
하지만, 이미지넷에서 벤치마크된 성능이 그대로 따라오지 않습니다
MobileNet (2017. 04.)
Compact Layer
Figures from https://arxiv.org/pdf/1704.04861.pdf, https://github.com/Zehaos/MobileNet
ShuffleNet (2017. 07.)
Group Convolution + Channel Shuffle
텐서플로우에는 그룹 컨볼루션이 없어요
Figures from https://arxiv.org/abs/1707.07012
구글이 아키텍쳐 탐색을 통해 찾아낸 CNN 아키텍쳐
"이미지넷" 데이터에선 최고의 결과를 주었지만 당신의 데이터에선 최악의 결과를 줄 수도 있습니다
NasNet-A (2017. 07.)
https://arxiv.org/abs/1707.01083
적은 수의 클래스를 가진 데이터에 학습하는 상황에서 유용
SquishedNets (2017. 11.)
Conv10 contains
~40% Parameters
(NumOfClasses) * 1x1 Filters
Table from https://arxiv.org/pdf/1606.02147.pdf
PRelu, Dilated Convolution, Upsampling, Convolution Transpose 등 다양한 구조 사용
ENet (2017. 11.)
당신의 모바일 프레임워크가 위의 연산을 지원하는지 확인해보세요
효율적인 CNN 구조를
만드는데 도움이 될 6가지 지혜
1. Fully-Connected 레이어를 Global Average Pooling으로 대체
•VGG 이후 Network in Network, Inception부터 주로 사용한 방법
•모바일 딥러닝에 국한된 이야기는 아님
•Fully Convolutional 함
Figure from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
2. 모든 블록에서 비슷한 연산량 유지 & 단일(Homogeneous) 구조
•Forward Propagation 중 정보 손실 방지
•MobileNet의 depth_multiplier 같은 파라미터가 있어야 상황에 맞는 구조 변형에 용이
이미지가 2배로 줄어들면
채널을 2배로 늘린다
MobileNet
SqueezeNet
Depth Multiplier
Image from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
Squeeze Ratio
3x3 Ratio
ResNeXt Cardinality
3. Residual Learning은 중요합니다
•BN-CONV-RELU 구조는 보통 좋은 성능을 보장합니다
•Skip-connection은 보통 좋은 성능을 보장합니다
•1x1을 활용한 버틀넥 구조는 보통 좋은 성능을 보장합니다
Image from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
4. Channel Reduction & Kernel Reduction
•한 레이어에서 3x3필터의 절반을 1x1로 바꿔도 성능이 떨어지지 않을 수 있습니다
•1x1을 사용해서 인풋 채널을 줄이면 파라미터 양을 줄일 수 있습니다
Image from https://www.slideshare.net/ForrestIandola/small-deepneuralnetworks-their-advantages-and-theirdesign
5. 주의 깊은 Downsampling
•Convolution Transpose 가 들어가는 ENet에선 초반에 Early Downsampling을 권합니다
•Kernel과 channel을 줄인 SqueezeNet(v1)에선 Late Downsampling을 사용합니다
Image from https://www.slideshare.net/ForrestIandola/small-deepneuralnetworks-their-advantages-and-theirdesign
6. Compact한 구조를 사용합니다
•Factorize된 필터를 사용하면 공간을 절약합니다: (1x3 + 3x1) / (3x3) = 66%:
•ResNext, MobileNet 모두 Compact 한 구조를 사용했습니다: Dw = GConv
Image from https://arxiv.org/pdf/1512.00567.pdf
이제 좋은 구조를 만들었으니
"잘" 학습해야합니다
1. Transfer Learning & Knowledge Distillation
•데이터가 많지 않다면 반드시 효과가 있습니다
Figure from https://www.slideshare.net/insideHPC/a-vision-for-exascale-simulation-and-deep-learning
2. 적절한 로스 함수 선택
•이미지 Segmentation 문제에서 Cross-Entropy가 과연 최선의 선택일까요?
Figure from https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/, http://xiaoyongshen.me/webpage_portrait/index.html
픽셀 단위 Softmax
3. 적절한 입력 이미지 사이즈 설정
•CNN은 생각보다 인풋 사이즈에 민감(Sensitive)하지 않습니다
•작은 이미지를 사용한 경우 학습에 오래 걸릴 수 있지만 최종 성능은 큰 차이가 없을 수 있습니다
Figure2 is from https://arxiv.org/pdf/1512.00567.pdf
26%↑ 1.5%↓
49%↑ 3.4%↓
67%↑ 5.8%↓
→ Rethinking the Inception Architecture for Computer Vision
어떤 선택을 하시겠습니까?
4. 그 외 일반적인 문제 해결: LR 스케쥴링 / Class Imbalance
•Learning rate를 잘 스케쥴링해주면 쉽게 2~3% 성능 개선이 가능합니다
•현실의 흔한 문제인 Class Imbalance 또한 잘 해결하는것 또한 중요합니다
Figure from https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/
이게 learning rate decay 인거 다들 알고 계시죠?
3가지 교훈
용량을 적게 쓰고 속도가 빠르면서
예측 정확도가 높은 모델 만들기
이미지넷 벤치마크 성능은
쉽게 일반화되지 않는다1.
- 실제 실험 결과, SqueezeNet > MobileNet > NasNet
- 고민없이 선택한 MobileNet이 최선이 아닐 수 있다
모바일 CNN 논문 뿐만 아니라
CNN 전체 논문을 팔로업 해야한다2.
- MobileNet, SqueezeNet 보다 ResNet 의 구조가 더 큰 도움이 될 수도 있다
- Inception, ResNet, DenseNet 등 유명 네트워크의 경험과 관찰로부터 배우자
기본에 충실하면 매우 작은 크기의 모델로
놀라운 성능을 만들어낼 수 있다3.
- 데이터의 양과 질(Distillation, class Imbalance)에 부족함은 없는가?
- 문제에 적합한 로스함수를 사용하고 있는가?
- 현재 최적화 방법이 가장 최선인가?
- 이미 여러 Teacher-Student 논문에서 놀라운 결과가 발표됨
용량을 적게 쓰고 속도가 빠르면서
예측 정확도가 높은 모델 만들기1.
딥러닝 모델을 효율적으로 구현하고
안정적으로 운영하기2.
우리가 선택할 수 있는
딥러닝 프레임워크
메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
CNKT, Torch 는 생략
메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
2017.04
CNKT, Torch 는 생략
메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
2017.04 2017.06
CNKT, Torch 는 생략
메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
2017.04 2017.06 2017.11
CNKT, Torch 는 생략
Wait Calculation
기술 발전 속도가 빠르기 때문에 지금 로켓 만들기를 시작하는 것보다
N년 뒤에 만들면 오히려 안드로메다에 더 빨리 도착할 수 있다
N은 얼마인가?
특징
•과거엔 거의 유일하고 손쉬운 선택지였음
•Quantization의 경우 별도의 최적화가 없어 오히려 2~3배 느림
•모델의 성능을 애플에게 맡겨야함 (GPU 강제 선택 안됨)
•Quantization 을 하면 빠르지만 안하면 느림
•아직 모든 op을 지원하지 않음 (e.g. conv_transpose)
•NN API를 제공하는 하드웨어에 대해 GPU 서포트
•모바일 First
•NNPack 등 모바일 구현을 위한 라이브러리 적절히 활용
•문서가 사실상 없음
•제대로 컴파일(NNPack, OpenBlas)을 해야 빠르나 문서가 없음
딥러닝 프레임워크 모바일 속도 벤치마크
https://www.linkedin.com/pulse/how-run-deep-neural-networks-weak-hardware-dmytro-prylipko/
caffe-openblas : Caffe with the master branch of
OpenBLAS as the backend
caffe-openblas-dl: Caffe with
optimized_for_deeplearning branch of OpenBLAS
tf-vanilla: TensorFlow compiled with OPTFLAGS="-Os"
tf-neon-vfpv4:
TensorFlow compiled with OPTFLAGS="-Os -
mfpu=neon-vfpv4 -funsafe-math-optimizations -
ftree-vectorize"
mxnet-openblas: Vanilla MXNet with OpenBLAS for
linear algebra
mxnet-openblas-dl: MXNet with with
optimized_for_deeplearning branch of OpenBLAS
그래서, 프레임워크
어떻게 선택해야할까요?
3가지 기준
학습에 사용한 프레임워크에서 얻어진 파라미터를
쉽게 모바일 용으로 컨버팅 가능해야한다
•Batch Normalization 에서 Epsilon이 분모에 더하는 등의 차이
•Convolution의 다양한 옵션 구현(dilate)
•NCHW - NHWC
•HWOI - IOHW
•실제로 돌려봐야 성능과 속도를 알 수 있습니다
1.
모바일 환경(Arm NEON)에
최적화된 구현이 있어야 한다
•Quantization을 한다면 SIMD instruction을 활용해야 의미가 있다
2.
매우 빠르게 변화하는 딥러닝 세계에
같이 대응할 커뮤니티가 존재해야한다
•Batch Normalization, Batch Renormalization, (...)
•새로운 네트워크 구조를 만들었으면 모바일로 옮겨서 빠르게 실험해봐야합니다 (End-to-End)
3.
프레임워크를 선택했으면
모바일 환경에 유용한
압축/구현 방법을 적용해야합니다
3가지를 소개합니다
1. Parameter Pruning & Sharing
요약
1. 수렴할 때까지 학습한다
2. 노드를 지우고 다시 학습(fine-tune)한 후
Accuracy를 관찰한 후 손해가 막심한지 살펴본
다
3. 2를 목표로하는 speed/accuracy에 도달할 때
까지 반복
별로 추천하지 않습니다
중복된 값이 많으면 "압축된 파라미터"의 사이즈가 작아질 수는 있습니다.
네트워크를 통해 파라미터를 다운받는 경우에는 유용할 수 있습니다.
단점
1. 학습 파이프라인이 너무 길어진다
2. 별도의 하드웨어/구현을 하지 않는 이상 속도 개
선은 없다
3. 이 방법을 많은 사람들이 쓰지 않고 있다
Figure from https://arxiv.org/pdf/1711.02638.pdf
•Tucker Decomposition, CP Decomposition
•Pruning과 마찬가지로 학습 파이프라인이 너무 길어진다
•적용 범위가 제한적이다 (특히 convolution 연산)
•최근엔 Compression-Aware한 학습 방법이 제안되고 있음
2. Low Rank Approximation / Decomposition
Loss function from
Compression-aware Training of Deep Networks (NIPS2017)
파라미터가 Low Rank를 가지도록 만드는 레귤라이져
3. Quantization (8-bit)
•Integer-arithmetic 만 사용하는 연산(Arm NEON 최적화)을 구현해야 빠릅니다
•Weight와 Activation 모두 Quantization 해야합니다
•별도의 학습이 없을 경우 네트워크가 작을수록 예측 정확도가 심각하게 떨어집니다
•Forward Propagation은 8-bit로 Backward Propagation은 32-bit float으로 합니다
Figure from https://arxiv.org/abs/1712.05877
Figure from https://arxiv.org/abs/1712.05877
•GPU에서 Quantization 관련 보조 노드(Fake Quant) 때문에 3~4배 더 느려집니다
•Tensorflow Mobile에서는 같은 이유로 2배 가량 더 느려집니다
•하지만, TensorFlowLite 로는 2배 이상 빠릅니다
3. Quantization (8-bit)
Figure from https://papers.nips.cc/paper/6638-towards-accurate-binary-convolutional-neural-network.pdf
•Ternary Weight Matrix, Binary Neural Networks, XNOR-net
•Towards Accurate Binary Convolutional Neural Network(ABCnet;NIPS 2017)
•큰 데이터 셋(ImageNet)에 적용한 경우 심각한 예측 정확도 저하가 일어남
3. Quantization (1-bit)
그래서, 어떤 기법을
사용해야할까요?
AlexNet, VGG 등 over-parameterized된
모델만 사용한 실험은 신뢰하면 안된다1.
- 실제 모바일에서 벤치마킹한 속도가 있어야한다
모델과 구현이 최대한
독립적이여야 한다2.
- 네트워크 구조를 바꾸는 것보단 8-bit를 사용하는게 훨씬 독립적이다
- 학습 파이프라인이 3단계 이상 늘어나면 현실적으로 힘들다
특별한 하드웨어를 요구하는
구현은 무의미하다3.
- Deep Compression 은 EIE(Efficient Inference Engine)란 하드웨어에서만 빠르다
모바일에 딥러닝 올리기,
참 쉽죠?
구현 디테일
암호화 압축률
VS
암호화 압축률
VS
Dynamic
frequency
scaling
암호화 압축률
VS
Dynamic
frequency
scaling
Big-Little
암호화 압축률
VS
Dynamic
frequency
scaling
빠른 I/O 는 중요합니다(OpenGL)
Big-Little
암호화 압축률
VS
Dynamic
frequency
scaling
빠른 I/O 는 중요합니다(OpenGL) 적절한 후처리
Big-Little
암호화 압축률
VS
Dynamic
frequency
scaling
빠른 I/O 는 중요합니다(OpenGL) ABGR, Orientation 에 유의적절한 후처리
Big-Little
다가올
미래
5G World
5G World Hardware
Support
5G World Hardware
Support
XLA
감사합니다

More Related Content

What's hot

Building a Sustainable Data Platform on AWS
Building a Sustainable Data Platform on AWSBuilding a Sustainable Data Platform on AWS
Building a Sustainable Data Platform on AWS
SmartNews, Inc.
 
OWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoOWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoLuciano Monteiro da Silva
 
Lập trình game 2D - HTML5
Lập trình game 2D - HTML5Lập trình game 2D - HTML5
Lập trình game 2D - HTML5
abesoon
 
SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster
SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster
SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster
Dirk Oppenkowski
 
LogMap: Large-scale, Logic-based and Interactive Ontology Matching
LogMap: Large-scale, Logic-based and Interactive Ontology MatchingLogMap: Large-scale, Logic-based and Interactive Ontology Matching
LogMap: Large-scale, Logic-based and Interactive Ontology Matching
Ernesto Jimenez Ruiz
 
Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Akira Yoshiyama
 
Marlabs Capabilities: Healthcare and Life Sciences
Marlabs Capabilities: Healthcare and Life SciencesMarlabs Capabilities: Healthcare and Life Sciences
Marlabs Capabilities: Healthcare and Life Sciences
Marlabs
 
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web ApplicationsWhat Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
Todd Hoff
 
Fueling the future of fintech with data science and ai
Fueling the future of fintech with data science and aiFueling the future of fintech with data science and ai
Fueling the future of fintech with data science and ai
IndusNetMarketing
 
[Paper] eXplainable ai(xai) in computer vision
[Paper] eXplainable ai(xai) in computer vision[Paper] eXplainable ai(xai) in computer vision
[Paper] eXplainable ai(xai) in computer vision
Susang Kim
 
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Neo4j
 
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
상열 이
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
문기 박
 
Real-Time Analytics at Uber Scale
Real-Time Analytics at Uber ScaleReal-Time Analytics at Uber Scale
Real-Time Analytics at Uber Scale
SingleStore
 
Integrating Relational Databases with the Semantic Web: A Reflection
Integrating Relational Databases with the Semantic Web: A ReflectionIntegrating Relational Databases with the Semantic Web: A Reflection
Integrating Relational Databases with the Semantic Web: A Reflection
Juan Sequeda
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
Open Source Consulting
 
MariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdfMariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdf
ssusercbaa33
 
Inside SecOps at bet365
Inside SecOps at bet365 Inside SecOps at bet365
Inside SecOps at bet365
Splunk
 
Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020
Julien Le Dem
 
엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017
엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017
엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

What's hot (20)

Building a Sustainable Data Platform on AWS
Building a Sustainable Data Platform on AWSBuilding a Sustainable Data Platform on AWS
Building a Sustainable Data Platform on AWS
 
OWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoOWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objeto
 
Lập trình game 2D - HTML5
Lập trình game 2D - HTML5Lập trình game 2D - HTML5
Lập trình game 2D - HTML5
 
SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster
SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster
SUSE Linux Enterprise and SAP NetWeaver 7.30 HA Cluster
 
LogMap: Large-scale, Logic-based and Interactive Ontology Matching
LogMap: Large-scale, Logic-based and Interactive Ontology MatchingLogMap: Large-scale, Logic-based and Interactive Ontology Matching
LogMap: Large-scale, Logic-based and Interactive Ontology Matching
 
Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)
 
Marlabs Capabilities: Healthcare and Life Sciences
Marlabs Capabilities: Healthcare and Life SciencesMarlabs Capabilities: Healthcare and Life Sciences
Marlabs Capabilities: Healthcare and Life Sciences
 
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web ApplicationsWhat Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
 
Fueling the future of fintech with data science and ai
Fueling the future of fintech with data science and aiFueling the future of fintech with data science and ai
Fueling the future of fintech with data science and ai
 
[Paper] eXplainable ai(xai) in computer vision
[Paper] eXplainable ai(xai) in computer vision[Paper] eXplainable ai(xai) in computer vision
[Paper] eXplainable ai(xai) in computer vision
 
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
 
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
Real-Time Analytics at Uber Scale
Real-Time Analytics at Uber ScaleReal-Time Analytics at Uber Scale
Real-Time Analytics at Uber Scale
 
Integrating Relational Databases with the Semantic Web: A Reflection
Integrating Relational Databases with the Semantic Web: A ReflectionIntegrating Relational Databases with the Semantic Web: A Reflection
Integrating Relational Databases with the Semantic Web: A Reflection
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
MariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdfMariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdf
 
Inside SecOps at bet365
Inside SecOps at bet365 Inside SecOps at bet365
Inside SecOps at bet365
 
Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020
 
엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017
엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017
엔터프라이즈 비지니스 애플리케이션 이전 및 도입사례 제주항공사례 - AWS Summit Seoul 2017
 

Similar to 스마트폰 위의 딥러닝

180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub
Jaewook. Kang
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
VMware Tanzu Korea
 
180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended
Jaewook. Kang
 
딥러닝 논문읽기 efficient netv2 논문리뷰
딥러닝 논문읽기 efficient netv2  논문리뷰딥러닝 논문읽기 efficient netv2  논문리뷰
딥러닝 논문읽기 efficient netv2 논문리뷰
taeseon ryu
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
Youngjae Kim
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
Kiho Suh
 
Automl
AutomlAutoml
Automl
승우 이
 
AUTOML
AUTOMLAUTOML
AUTOML
승우 이
 
[Paper] shuffle net an extremely efficient convolutional neural network for ...
[Paper] shuffle net  an extremely efficient convolutional neural network for ...[Paper] shuffle net  an extremely efficient convolutional neural network for ...
[Paper] shuffle net an extremely efficient convolutional neural network for ...
Susang Kim
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
Kim Junghoon
 
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...
OpenStack Korea Community
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
uEngine Solutions
 
Basics of deep learning_imcloud
Basics of deep learning_imcloudBasics of deep learning_imcloud
Basics of deep learning_imcloud
imcloud
 
제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)
Susang Kim
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
Haezoom Inc.
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
uEngine Solutions
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
VMware Tanzu Korea
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
SK(주) C&C - 강병호
 
델켐매거진5호
델켐매거진5호델켐매거진5호
델켐매거진5호
kr_delcam
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
Ubuntu Korea Community
 

Similar to 스마트폰 위의 딥러닝 (20)

180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended
 
딥러닝 논문읽기 efficient netv2 논문리뷰
딥러닝 논문읽기 efficient netv2  논문리뷰딥러닝 논문읽기 efficient netv2  논문리뷰
딥러닝 논문읽기 efficient netv2 논문리뷰
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
Automl
AutomlAutoml
Automl
 
AUTOML
AUTOMLAUTOML
AUTOML
 
[Paper] shuffle net an extremely efficient convolutional neural network for ...
[Paper] shuffle net  an extremely efficient convolutional neural network for ...[Paper] shuffle net  an extremely efficient convolutional neural network for ...
[Paper] shuffle net an extremely efficient convolutional neural network for ...
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps 그리고 5...
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
Basics of deep learning_imcloud
Basics of deep learning_imcloudBasics of deep learning_imcloud
Basics of deep learning_imcloud
 
제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
델켐매거진5호
델켐매거진5호델켐매거진5호
델켐매거진5호
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 

More from NAVER Engineering

React vac pattern
React vac patternReact vac pattern
React vac pattern
NAVER Engineering
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)
NAVER Engineering
 
서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트
NAVER Engineering
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호
NAVER Engineering
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라
NAVER Engineering
 
날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기
NAVER Engineering
 
쏘카프레임 구축 배경과 과정
 쏘카프레임 구축 배경과 과정 쏘카프레임 구축 배경과 과정
쏘카프레임 구축 배경과 과정
NAVER Engineering
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
NAVER Engineering
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
NAVER Engineering
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
NAVER Engineering
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
NAVER Engineering
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
NAVER Engineering
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
NAVER Engineering
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
NAVER Engineering
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
NAVER Engineering
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
NAVER Engineering
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
NAVER Engineering
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
NAVER Engineering
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 

More from NAVER Engineering (20)

React vac pattern
React vac patternReact vac pattern
React vac pattern
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
 
진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)
 
서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라
 
날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기
 
쏘카프레임 구축 배경과 과정
 쏘카프레임 구축 배경과 과정 쏘카프레임 구축 배경과 과정
쏘카프레임 구축 배경과 과정
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 

스마트폰 위의 딥러닝

  • 1. 스마트폰 위의 딥러닝 신범준 HYPERCONNECT 이 슬라이드는 네이버에서 제공한 나눔글꼴이 적용되어있습니다
  • 2.
  • 3.
  • 6. 하이퍼커넥트의 머신러닝 성과 PaaS 신고 이미지 검수 (클라우드) 이미지 분류기 (모바일)
  • 7. 하이퍼커넥트의 머신러닝 성과 실시간 배경따기 (모바일) PaaS 신고 이미지 검수 (클라우드) 이미지 분류기 (모바일)
  • 8.
  • 9.
  • 10. 작은 딥러닝 모델을 잘 만들어 모바일에 배포해본 이야기 오늘의 주제
  • 13. 왜 모바일 딥러닝? 높은 지연 시간 낮은 대역폭
  • 14. 왜 모바일 딥러닝? 높은 지연 시간 오프라인 낮은 대역폭
  • 15. 왜 모바일 딥러닝? 높은 지연 시간 수 많은 기기 오프라인 낮은 대역폭
  • 16. 왜 모바일 딥러닝? 프라이버시 높은 지연 시간 수 많은 기기 오프라인 낮은 대역폭
  • 23. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 간단한 맛보기
  • 24. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 테스트 GPU(Nvidia) 주로 CPU 간단한 맛보기
  • 25. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 테스트 GPU(Nvidia) 주로 CPU 테스트 Multi-crop/Ensemble One-pass Inference 간단한 맛보기
  • 26. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 테스트 GPU(Nvidia) 주로 CPU 테스트 Multi-crop/Ensemble One-pass Inference 간단한 맛보기 테스트 메모리, 속도보단 정확도가 더 중요 메모리, 속도를 못맞추면 아예 배포를 못함
  • 27. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 테스트 GPU(Nvidia) 주로 CPU 테스트 Multi-crop/Ensemble One-pass Inference 간단한 맛보기 테스트 메모리, 속도보단 정확도가 더 중요 메모리, 속도를 못맞추면 아예 배포를 못함 테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
  • 28. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 테스트 GPU(Nvidia) 주로 CPU 테스트 Multi-crop/Ensemble One-pass Inference 학습 메모리는 꽉꽉 채워서 메모리는 남아 돈다 간단한 맛보기 테스트 메모리, 속도보단 정확도가 더 중요 메모리, 속도를 못맞추면 아예 배포를 못함 테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
  • 29. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN) 테스트 GPU(Nvidia) 주로 CPU 테스트 Multi-crop/Ensemble One-pass Inference 학습 메모리는 꽉꽉 채워서 메모리는 남아 돈다 설계 최대한 딥하게 레이어를 쌓는다 최대한 효율적으로 레이어를 쌓는다 간단한 맛보기 테스트 메모리, 속도보단 정확도가 더 중요 메모리, 속도를 못맞추면 아예 배포를 못함 테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
  • 31. 모바일 세상의 파편화 15+ GPU Architectures (PowerVR, Adreno, Mali, ...)
  • 32. 모바일 세상의 파편화 15+ GPU Architectures (PowerVR, Adreno, Mali, ...) 2 Major OS (iOS/Android)
  • 33. 모바일 세상의 파편화 15+ GPU Architectures (PowerVR, Adreno, Mali, ...) 2 Major OS (iOS/Android) Two Major compute APIs (OpenCL/RenderScript)
  • 34. 모바일 세상의 파편화 15+ GPU Architectures (PowerVR, Adreno, Mali, ...) 2 Major OS (iOS/Android) Two Major compute APIs (OpenCL/RenderScript) Three Major Graphics APIs (OpenGL/Vulkan/Metal)
  • 35. 막상 해보면... 논문에서 잘된다고 주장한 네트워크를 직접 해보면 원하는 성능이 나오지 않습니다 NasNet-A, MobileNet 같은 학습 방법
  • 36. 막상 해보면... 유저들은 우리의 상상을 초월합니다 괴상한 모바일 폰(vivo), 기기별로 천차만별, 같은 기기에서도 유저별로 천차만별
  • 37. 막상 해보면... 완벽한 데이터셋을 가지는건 항상 힘듭니다 Class Imbalance Problem, 좋은 평가지표, End-to-End 테스트 환경
  • 38. 막상 해보면... 용량은 작고 속도는 빠르며 정확도는 높아야 합니다 그리고 배터리도 적게 쓰면 좋아요 iOS cellular download limit 150MB(2017.09.17)
  • 40. 용량을 적게 쓰고 속도가 빠르면서 예측 정확도가 높은 모델 만들기1. 딥러닝 모델을 효율적으로 구현하고 안정적으로 운영하기2.
  • 41. 용량을 적게 쓰고 속도가 빠르면서 예측 정확도가 높은 모델 만들기1. 딥러닝 모델을 효율적으로 구현하고 안정적으로 운영하기2.
  • 42. 유명한 모바일 딥러닝 아키텍쳐를 같이 살펴봅시다
  • 43. SqueezeNet (2016. 02.) image from https://stanford.edu/~songhan/ Kernel Reduction Channel Reduction 1. 3x3 필터를 1x1필터로 대체합니다 2. 1x1 필터로 채널 수를 줄입니다
  • 44. SqueezeNet (2016. 02.) •첫 레이어에서 7x7이 아닌 3x3을 사용 •Pooling을 1,4,8 에서 {1,3,5}로 early + evenly downsampling SqueezeNet v1.1 을 사용하세요 ResNet도 v2 가 더 좋습니다. 항상 v1.X, V2를 확인하세요. image from https://github.com/DeepScale/SqueezeNet/tree/master/SqueezeNet_v1.1
  • 45. Figures from https://arxiv.org/pdf/1704.04861.pdf, https://github.com/Zehaos/MobileNet 구글이 발표한 모바일 용 CNN 아키텍쳐 하지만, 이미지넷에서 벤치마크된 성능이 그대로 따라오지 않습니다 MobileNet (2017. 04.) Compact Layer
  • 46. Figures from https://arxiv.org/pdf/1704.04861.pdf, https://github.com/Zehaos/MobileNet ShuffleNet (2017. 07.) Group Convolution + Channel Shuffle 텐서플로우에는 그룹 컨볼루션이 없어요
  • 47. Figures from https://arxiv.org/abs/1707.07012 구글이 아키텍쳐 탐색을 통해 찾아낸 CNN 아키텍쳐 "이미지넷" 데이터에선 최고의 결과를 주었지만 당신의 데이터에선 최악의 결과를 줄 수도 있습니다 NasNet-A (2017. 07.)
  • 48. https://arxiv.org/abs/1707.01083 적은 수의 클래스를 가진 데이터에 학습하는 상황에서 유용 SquishedNets (2017. 11.) Conv10 contains ~40% Parameters (NumOfClasses) * 1x1 Filters
  • 49. Table from https://arxiv.org/pdf/1606.02147.pdf PRelu, Dilated Convolution, Upsampling, Convolution Transpose 등 다양한 구조 사용 ENet (2017. 11.) 당신의 모바일 프레임워크가 위의 연산을 지원하는지 확인해보세요
  • 50. 효율적인 CNN 구조를 만드는데 도움이 될 6가지 지혜
  • 51. 1. Fully-Connected 레이어를 Global Average Pooling으로 대체 •VGG 이후 Network in Network, Inception부터 주로 사용한 방법 •모바일 딥러닝에 국한된 이야기는 아님 •Fully Convolutional 함 Figure from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
  • 52. 2. 모든 블록에서 비슷한 연산량 유지 & 단일(Homogeneous) 구조 •Forward Propagation 중 정보 손실 방지 •MobileNet의 depth_multiplier 같은 파라미터가 있어야 상황에 맞는 구조 변형에 용이 이미지가 2배로 줄어들면 채널을 2배로 늘린다 MobileNet SqueezeNet Depth Multiplier Image from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf Squeeze Ratio 3x3 Ratio ResNeXt Cardinality
  • 53. 3. Residual Learning은 중요합니다 •BN-CONV-RELU 구조는 보통 좋은 성능을 보장합니다 •Skip-connection은 보통 좋은 성능을 보장합니다 •1x1을 활용한 버틀넥 구조는 보통 좋은 성능을 보장합니다 Image from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
  • 54. 4. Channel Reduction & Kernel Reduction •한 레이어에서 3x3필터의 절반을 1x1로 바꿔도 성능이 떨어지지 않을 수 있습니다 •1x1을 사용해서 인풋 채널을 줄이면 파라미터 양을 줄일 수 있습니다 Image from https://www.slideshare.net/ForrestIandola/small-deepneuralnetworks-their-advantages-and-theirdesign
  • 55. 5. 주의 깊은 Downsampling •Convolution Transpose 가 들어가는 ENet에선 초반에 Early Downsampling을 권합니다 •Kernel과 channel을 줄인 SqueezeNet(v1)에선 Late Downsampling을 사용합니다 Image from https://www.slideshare.net/ForrestIandola/small-deepneuralnetworks-their-advantages-and-theirdesign
  • 56. 6. Compact한 구조를 사용합니다 •Factorize된 필터를 사용하면 공간을 절약합니다: (1x3 + 3x1) / (3x3) = 66%: •ResNext, MobileNet 모두 Compact 한 구조를 사용했습니다: Dw = GConv Image from https://arxiv.org/pdf/1512.00567.pdf
  • 57. 이제 좋은 구조를 만들었으니
  • 59. 1. Transfer Learning & Knowledge Distillation •데이터가 많지 않다면 반드시 효과가 있습니다 Figure from https://www.slideshare.net/insideHPC/a-vision-for-exascale-simulation-and-deep-learning
  • 60. 2. 적절한 로스 함수 선택 •이미지 Segmentation 문제에서 Cross-Entropy가 과연 최선의 선택일까요? Figure from https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/, http://xiaoyongshen.me/webpage_portrait/index.html 픽셀 단위 Softmax
  • 61. 3. 적절한 입력 이미지 사이즈 설정 •CNN은 생각보다 인풋 사이즈에 민감(Sensitive)하지 않습니다 •작은 이미지를 사용한 경우 학습에 오래 걸릴 수 있지만 최종 성능은 큰 차이가 없을 수 있습니다 Figure2 is from https://arxiv.org/pdf/1512.00567.pdf 26%↑ 1.5%↓ 49%↑ 3.4%↓ 67%↑ 5.8%↓ → Rethinking the Inception Architecture for Computer Vision 어떤 선택을 하시겠습니까?
  • 62. 4. 그 외 일반적인 문제 해결: LR 스케쥴링 / Class Imbalance •Learning rate를 잘 스케쥴링해주면 쉽게 2~3% 성능 개선이 가능합니다 •현실의 흔한 문제인 Class Imbalance 또한 잘 해결하는것 또한 중요합니다 Figure from https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/ 이게 learning rate decay 인거 다들 알고 계시죠?
  • 63. 3가지 교훈 용량을 적게 쓰고 속도가 빠르면서 예측 정확도가 높은 모델 만들기
  • 64. 이미지넷 벤치마크 성능은 쉽게 일반화되지 않는다1. - 실제 실험 결과, SqueezeNet > MobileNet > NasNet - 고민없이 선택한 MobileNet이 최선이 아닐 수 있다 모바일 CNN 논문 뿐만 아니라 CNN 전체 논문을 팔로업 해야한다2. - MobileNet, SqueezeNet 보다 ResNet 의 구조가 더 큰 도움이 될 수도 있다 - Inception, ResNet, DenseNet 등 유명 네트워크의 경험과 관찰로부터 배우자 기본에 충실하면 매우 작은 크기의 모델로 놀라운 성능을 만들어낼 수 있다3. - 데이터의 양과 질(Distillation, class Imbalance)에 부족함은 없는가? - 문제에 적합한 로스함수를 사용하고 있는가? - 현재 최적화 방법이 가장 최선인가? - 이미 여러 Teacher-Student 논문에서 놀라운 결과가 발표됨
  • 65. 용량을 적게 쓰고 속도가 빠르면서 예측 정확도가 높은 모델 만들기1. 딥러닝 모델을 효율적으로 구현하고 안정적으로 운영하기2.
  • 66. 우리가 선택할 수 있는 딥러닝 프레임워크
  • 67. 메이저 딥러닝 프레임워크 타임라인 하이퍼커넥트 모바일 프로젝트 시작 2017.01 CNKT, Torch 는 생략
  • 68. 메이저 딥러닝 프레임워크 타임라인 하이퍼커넥트 모바일 프로젝트 시작 2017.01 2017.04 CNKT, Torch 는 생략
  • 69. 메이저 딥러닝 프레임워크 타임라인 하이퍼커넥트 모바일 프로젝트 시작 2017.01 2017.04 2017.06 CNKT, Torch 는 생략
  • 70. 메이저 딥러닝 프레임워크 타임라인 하이퍼커넥트 모바일 프로젝트 시작 2017.01 2017.04 2017.06 2017.11 CNKT, Torch 는 생략
  • 71. Wait Calculation 기술 발전 속도가 빠르기 때문에 지금 로켓 만들기를 시작하는 것보다 N년 뒤에 만들면 오히려 안드로메다에 더 빨리 도착할 수 있다 N은 얼마인가?
  • 72. 특징 •과거엔 거의 유일하고 손쉬운 선택지였음 •Quantization의 경우 별도의 최적화가 없어 오히려 2~3배 느림 •모델의 성능을 애플에게 맡겨야함 (GPU 강제 선택 안됨) •Quantization 을 하면 빠르지만 안하면 느림 •아직 모든 op을 지원하지 않음 (e.g. conv_transpose) •NN API를 제공하는 하드웨어에 대해 GPU 서포트 •모바일 First •NNPack 등 모바일 구현을 위한 라이브러리 적절히 활용 •문서가 사실상 없음 •제대로 컴파일(NNPack, OpenBlas)을 해야 빠르나 문서가 없음
  • 73. 딥러닝 프레임워크 모바일 속도 벤치마크 https://www.linkedin.com/pulse/how-run-deep-neural-networks-weak-hardware-dmytro-prylipko/ caffe-openblas : Caffe with the master branch of OpenBLAS as the backend caffe-openblas-dl: Caffe with optimized_for_deeplearning branch of OpenBLAS tf-vanilla: TensorFlow compiled with OPTFLAGS="-Os" tf-neon-vfpv4: TensorFlow compiled with OPTFLAGS="-Os - mfpu=neon-vfpv4 -funsafe-math-optimizations - ftree-vectorize" mxnet-openblas: Vanilla MXNet with OpenBLAS for linear algebra mxnet-openblas-dl: MXNet with with optimized_for_deeplearning branch of OpenBLAS
  • 75. 학습에 사용한 프레임워크에서 얻어진 파라미터를 쉽게 모바일 용으로 컨버팅 가능해야한다 •Batch Normalization 에서 Epsilon이 분모에 더하는 등의 차이 •Convolution의 다양한 옵션 구현(dilate) •NCHW - NHWC •HWOI - IOHW •실제로 돌려봐야 성능과 속도를 알 수 있습니다 1. 모바일 환경(Arm NEON)에 최적화된 구현이 있어야 한다 •Quantization을 한다면 SIMD instruction을 활용해야 의미가 있다 2. 매우 빠르게 변화하는 딥러닝 세계에 같이 대응할 커뮤니티가 존재해야한다 •Batch Normalization, Batch Renormalization, (...) •새로운 네트워크 구조를 만들었으면 모바일로 옮겨서 빠르게 실험해봐야합니다 (End-to-End) 3.
  • 77. 모바일 환경에 유용한 압축/구현 방법을 적용해야합니다 3가지를 소개합니다
  • 78. 1. Parameter Pruning & Sharing 요약 1. 수렴할 때까지 학습한다 2. 노드를 지우고 다시 학습(fine-tune)한 후 Accuracy를 관찰한 후 손해가 막심한지 살펴본 다 3. 2를 목표로하는 speed/accuracy에 도달할 때 까지 반복 별로 추천하지 않습니다 중복된 값이 많으면 "압축된 파라미터"의 사이즈가 작아질 수는 있습니다. 네트워크를 통해 파라미터를 다운받는 경우에는 유용할 수 있습니다. 단점 1. 학습 파이프라인이 너무 길어진다 2. 별도의 하드웨어/구현을 하지 않는 이상 속도 개 선은 없다 3. 이 방법을 많은 사람들이 쓰지 않고 있다
  • 79. Figure from https://arxiv.org/pdf/1711.02638.pdf •Tucker Decomposition, CP Decomposition •Pruning과 마찬가지로 학습 파이프라인이 너무 길어진다 •적용 범위가 제한적이다 (특히 convolution 연산) •최근엔 Compression-Aware한 학습 방법이 제안되고 있음 2. Low Rank Approximation / Decomposition Loss function from Compression-aware Training of Deep Networks (NIPS2017) 파라미터가 Low Rank를 가지도록 만드는 레귤라이져
  • 80. 3. Quantization (8-bit) •Integer-arithmetic 만 사용하는 연산(Arm NEON 최적화)을 구현해야 빠릅니다 •Weight와 Activation 모두 Quantization 해야합니다 •별도의 학습이 없을 경우 네트워크가 작을수록 예측 정확도가 심각하게 떨어집니다 •Forward Propagation은 8-bit로 Backward Propagation은 32-bit float으로 합니다 Figure from https://arxiv.org/abs/1712.05877
  • 81. Figure from https://arxiv.org/abs/1712.05877 •GPU에서 Quantization 관련 보조 노드(Fake Quant) 때문에 3~4배 더 느려집니다 •Tensorflow Mobile에서는 같은 이유로 2배 가량 더 느려집니다 •하지만, TensorFlowLite 로는 2배 이상 빠릅니다 3. Quantization (8-bit)
  • 82. Figure from https://papers.nips.cc/paper/6638-towards-accurate-binary-convolutional-neural-network.pdf •Ternary Weight Matrix, Binary Neural Networks, XNOR-net •Towards Accurate Binary Convolutional Neural Network(ABCnet;NIPS 2017) •큰 데이터 셋(ImageNet)에 적용한 경우 심각한 예측 정확도 저하가 일어남 3. Quantization (1-bit)
  • 84. AlexNet, VGG 등 over-parameterized된 모델만 사용한 실험은 신뢰하면 안된다1. - 실제 모바일에서 벤치마킹한 속도가 있어야한다 모델과 구현이 최대한 독립적이여야 한다2. - 네트워크 구조를 바꾸는 것보단 8-bit를 사용하는게 훨씬 독립적이다 - 학습 파이프라인이 3단계 이상 늘어나면 현실적으로 힘들다 특별한 하드웨어를 요구하는 구현은 무의미하다3. - Deep Compression 은 EIE(Efficient Inference Engine)란 하드웨어에서만 빠르다
  • 87.
  • 91. 암호화 압축률 VS Dynamic frequency scaling 빠른 I/O 는 중요합니다(OpenGL) Big-Little
  • 92. 암호화 압축률 VS Dynamic frequency scaling 빠른 I/O 는 중요합니다(OpenGL) 적절한 후처리 Big-Little
  • 93. 암호화 압축률 VS Dynamic frequency scaling 빠른 I/O 는 중요합니다(OpenGL) ABGR, Orientation 에 유의적절한 후처리 Big-Little
  • 95.