Apache MXNet은 매우 빠르게 성장하고 있는 딥러닝 오픈소스 프레임워크로 클라우드, 엣지 디바이스 및 모바일 분야에서 각광을 받고 있습니다. 아마존, NVIDIA, 인텔, 삼성전자 등 500여 명의 공헌자들이 MXNet 커뮤니티에서 활동하고 있습니다. 본 세션에서는 MXNet에 대한 소개와 특징, 그리고 인공 지능 및 기계 학습에 관심이 많은 대학생 및 데이터 과학자, 개발자를 위한 코드 공헌 경험 및 방법을 소개합니다.
9. 딥 러닝 학습 방법 - 역전파
Y
0.4 0.3
0.2 0.9
...
...
backpropagation (gradient descent)
Y1 != Y
0.4 ± ! 0.3 ± !
0
1
0
1
1
.
.
--
Y
input
label
...
Y1
... new
weights
new
weights
Batch size
Learning rate
Number of epochs
Hyper
parameters
10. 딥 러닝 학습 방법 - 조기 종료
Training accuracy
Loss function
Accuracy
100%
Epochs
Validation accuracy
Loss
Best epoch
OVERFITTING
Training
Validation
Test
DataSet
18. 1. 유연한 프로그래밍 모델
명령형
NDArray API
선언형
Symbolic Executor
>>> import mxnet as mx
>>> a = mx.nd.zeros((100, 50))
>>> b = mx.nd.ones((100, 50))
>>> c = a + b
>>> c += 1
>>> print(c)
>>> import mxnet as mx
>>> net = mx.symbol.Variable('data')
>>> net = mx.symbol.FullyConnected(data=net, num_hidden=128)
>>> net = mx.symbol.SoftmaxOutput(data=net)
>>> texec = mx.module.Module(net)
>>> texec.forward(data=c)
>>> texec.backward() 명령형 NDArray 객체가
그래프의 입력으로 사용됨
19. 2. 다양한 언어 및 플랫폼 지원
• 지원 언어 -C
-
• 운영체제 + ,
A
(
• 컴퓨팅 - )-
• 패키지 - - (
21. ## train data
num_gpus = 4
gpus = [mx.gpu(i) for i in range(num_gpus)]
model = mx.model.FeedForward(
ctx = gpus,
symbol = softmax,
num_round = 20,
learning_rate = 0.01,
momentum = 0.9,
wd = 0.00001)
model.fit(X = train, eval_data = val,
batch_end_callback = mx.callback.Speedometer(batch_size=
batch_size))
3. 멀티 GPU환경 최적화
• 학습에 사용할 PU 목록을 명시하는 것으1 멀티 PU 학습 가능
• MXNet은 자동으1 학습 /이터를 1/n1 나눠서 PU 학습을 G
22. 4. 모바일 환경으로 모델 배포
Amalgamation
M N A
C a
c F F M
Apple Core ML 지원
, ., L
X ,
, , C
a
35. 코드 공헌 사례 - Deep Speech 2
a1ch_dee020eech.0y : 1 2
htt02://a15.v./1g/ab2/1512. 2595
36. 코드 공헌 사례 - Capsule Network
7ttps://g8t7u2.com/1p1c7e/8ncu21tor-mxnet/tree/m1ster/ex1mp:e/c1psnet
7ttps://1rx8v.org/12s/1(1%.%9)29
7ttps://www.9dnuggets.com/2%1(/11/c1psu:e-networ9s-s7198ng-up-18.7tm:
12/1((구현 당S – 타 플M폼 대비 가장 빠른 tr18n 속도, 가장 I은 TN율(-.,/0, %.29%