SlideShare a Scribd company logo
1 of 85
인공지능, 기계학습
그리고 딥러닝
Dec 26, 2016
이진원 / Seoul National University
2
살펴볼 것들…
• 인공지능이란 무엇인가?
• 기계학습은 어떻게 할까?
• 딥러닝은 무엇이고 왜 필요한가?
• Convolutional Neural Network
• 유명한 CNN들(ILSVRC winners)
• Tensorflow를 이용한 CNN 구현방법
• CNN 응용 사례
3
자세히 다루지 않는 것들
• 어려운 수학
• Unsupervised Learning
• Reinforcement Learning
• RNN 계열의 딥러닝 알고리즘
인공지능과 기계학습
5
Nicolaus Copernicus(1473-1543)
6
• 왜 사람들은 처음에 천동설부터
생각했을까?
• 왜 사람은 만물의 영장인가?
• 지능은 사람만 가질 수 있는가?
우리는 세상의 중심?
7
1, 2, 3, 4차 산업혁명
Steam Engine Electricity, Automobile
PC, Internet Artificial Intelligence
사람의
육체노동을
대체
사람의
지적노동을
대체?
1 2
3 4
8
인공지능, 기계학습, 딥러닝
Credit : Nvidia blog
9
인공지능(Artificial Intelligence)
• 1956년 다트머스 회의에서 처음 사용
• From Wikipedia:
Artificial intelligence (AI) is intelligence exhibited
by machines. In computer science, an ideal "intelligent"
machine is a flexible rational agent that perceives its
environment and takes actions that maximize its chance
of success at some goal
 AI Translation:
인공 지능 (AI)은 기계가 나타내는 지능입니다. 컴퓨터 과학
에서 이상적인 "지능형"기계는 환경을 인식하고 목표 달
성의 기회를 극대화하는 유연하고 합리적인 에이전트입니다.
10
쉬운 것과 어려운 것
• 여우와 두루미
• 사람과 컴퓨터?
11
컴퓨터에게 쉬운 것과 어려운 것
• 컴퓨터가 잘하는 것은 명확하게 정의된 일, 즉 알고리즘에
대한 수행이다.
• 사람이 진화과정에서 자연스럽게 터득한 것들이 컴퓨터에
게는 어렵다.
• 언어의 해상도가 인식의 해상도보다 낮기 때문이다
vs
Easy Hard
12
규칙 기반 학습의 부작용(?)
13
어떻게 학습할 것인가?
Credit : MBC 기계 인간의 탄생
14
기계학습(Machine Learning)
• 기계학습(Machine Learning)
Machine learning is the subfield of computer science that
"gives computers the ability to learn without being explicitly
programmed“
기계 학습은 "컴퓨터에 명시적으로 프로그래밍하지 않고 학습 할
수 있는 능력을 부여하는“ 컴퓨터 과학의 하위 분야입니다.
Computer
inputs
program
outputs
Computer
inputs
outputs
program
일반적인 programming
기계학습
기계가 program을 직접 작성!
15
Quiz
• □와 △에 들어갈 정수는?
 3 x □ + 2 x △ = 1
 1 x □ + 4 x △ = -3
 5 x □ + 5 x △ = 0
 8 x □ + 3 x △ = 5
• □ = 1, △ = -1
• (3, 2), (1, 4), (5, 5), (8, 3) 은 input data, 1, -3, 0, 5 는 label
이다
• □와 △를 weight라고 하며 이 weight 값을 기계가 스스로
학습을 통해 찾아내도록 하는 것이 기계학습이 하는 일
16
기계학습의 종류
• Supervised Learning(지도학습)
 Input 과 labels을 이용한 학습
 분류(classification), 회귀(regression)
• Unsupervised Learning(비지도학습)
 Input만을 이용한 학습
 군집화(clustering), 압축(compression)
• Reinforcement Learning(강화학습)
 Label 대신 reward가 주어짐
 Action selection, policy learning
17
Reinforcement Learning
https://youtu.be/Q70ulPJW3Gk
https://youtu.be/SuoouILpjDo
18
뉴런과 사람의 학습
이전 뉴런과 연결 다음 뉴런으로 전달
수상돌기 축삭돌기
시각
신경
청각
신경
침샘
분비
강
함
약
함
강
함
학습
파블로프의 개 실험
19
Perceptron(Artificial Neural Network)
𝑦 = 𝑓(𝐰𝐱 + b)
𝒘 = [𝑤1 𝑤2 𝑤3 … 𝑤 𝑛]
𝒙 = [𝑥1 𝑥2 𝑥3 … 𝑥 𝑛] 𝑇
𝑦𝑓
𝑏
<Perceptron>
sigmoid activation function
𝑓 𝑥 =
1
1 + 𝑒−𝑥
20
Example of ANN(logical AND)
0
1
1
ℎ 𝑥 = 0
ℎ 𝑥 =1
𝑥1
𝑥2
학습이란 이러한 weight 값(-30, 20, 20)을
기계 스스로 찾을 수 있도록 해주는 과정!
21
아파트 가격 예측(Regression)
• 아파트 가격을 예측하는 프로그램을 작성해보자
 평수(평)
 층수(층)
 가장 가까운 지하철 역까지의 거리(km)
 해당 지역의 1인당 소득 평균(천만원)
평수 층수
지하철
역까지의 거리
(km)
해당지역
1인당 소득
(천만원)
아파트가격
(천만원)
34 15 1 4 72
32 4 5 3.3 60
18 9 2 2.5 34
42 3 2.5 5 100
21 10 1.5 3 42
22
일반적인 방법
• 기존의 data와 경험을 바탕으로 한 정보
 평수는 클수록 비싸다
 층수는 높은 층이 낮은 층보다 비싸다
 지하철 역까지의 거리는 가까울수록 비싸다
 그 지역의 소득수준이 높을수록 비싸다
• 위 정보들 간의 중요도에 따라 가중치를 주어서 최종 가격
을 추론한다
 평수가 가장 중요함
 층 수는 평수에 비해서 덜 중요함
 지하철 역까지의 거리는 중요하지만 거리값이 작을수록 가격이 비
싸짐
 그 지역의 소득수준은 아파트 가격 결정에 가장 덜 중요함 등
• 예) 평수 x 2 + 층수 x 0.3 + 지하철 역까지 거리 x (-1) + 소득
수준 x 0.1 = 아파트 가격(천만원)
23
기계학습을 이용하는 방법
• 기존의 data를 이용하여 각 항목별로 □,△,○,☆에 들어갈 값을
기계 스스로 학습하게 한다.
 평수 x □ + 층수 x △ + 지하철 역까지 거리 x ○ + 소득수준 x ☆
= 아파트 가격(천만원)
• 어떻게?
 맨 처음 □,△,○,☆ 값을 random으로 정한 후 실제 가격과 비교하여
그 (차이값)2의 평균 계산한다
 □,△,○,☆를 모두 1로 했을 경우, (실제가격 – 추론가격)2 의 평균 = 287.524
 이제 □,△,○,☆를 기계 스스로 조금씩 조정하여 (차이값)2의 평균이 0
이 되게 할 수 있다면, 프로그램이 완성된다
평수 층수
지하철
역까지의 거리
(km)
해당지역
1인당 소득
(천만원)
아파트가격
(천만원)
추론한
아파트 가격
(천만원)
34 15 1 4 72 54
32 4 5 3.3 60 44.3
18 9 2 2.5 34 31.5
42 3 2.5 5 100 52.5
21 10 1.5 3 42 35.5
24
Multi Layer Perceptron(MLP)
• 아파트 가격 결정에 소득수준이 높은 지역에서는 낮은 지역보다
지하철 역까지의 거리가 덜 중요하다면?
• 아파트 가격을 우선 여러가지로 예측하고 그 예측한 값들을 다시
잘 조합하여 더 잘 예측해보자(regression)
• 선을 잘 긋고 input 공간을 잘 왜곡하고 합하는 과정을 반복해서
데이터들을 잘 구분해보자(classification)
• 이렇게 perceptron을 여러층으로 쌓으면 더 복잡한 문제를 풀 수
있다
• Linear fitting과 Non-linear transform의 반복
딥러닝(Deep Learning)
26
딥러닝(Deep Learning)
• 딥러닝은 deep neural network를 통하여 학습하는 것을
의미함
• Hidden layer의 수 <= 1  shallow network
• Hidden layer의 수 >= 2  deep network
• 이렇게 많은 weight 값들을 어떻게 학습시킬 것인가??
27
Back Propagation
• 학습과정 : back propagation of error
 Output layer에서 error(cost)를 계산
 Error의 미분값을 back propagation
 미분값에 𝛼를 곱한 만큼 w를 보정(학습!)
 𝛼는 learning rate를 의미함
gradient descent
28
딥러닝을 어렵게 하는 것들
• Vanishing gradient problem
• Overfitting problem
• Get stuck in local minima
29
Vanishing Gradient Problem
• Gradient 값이 뒤로 전달될 수록 점점 작아짐
• Sigmoid 사용으로 인하여(미분값의 최대 : ¼)
아래쪽 layer는 학습이 이루어지지 않음
30
Overfitting Problem
• Data가 많지 않은 경우에 발생할 수 있음
• 학습한 data에만 최적화되어서, 학습하지 않은 data(test
data)에 대한 추론 성능이 악화되는 현상
31
Local Minima
• 어디서 시작하느냐에 따라서 잘못하면 local minima에 빠
질 위험이 존재
32
어떻게 해결할까?
• Vanishing gradient problem
 Sigmoid 말고 ReLU를 쓰자
• Overfitting problem
 Regularization method를 쓰자(예 : dropout)
• Get stuck in local minima
 Local minima에 빠져도 괜찮다
33
ReLU : Rectified Linear Unit
• ReLU를 activation function으로 사용  sparse activation
• ReLU는 미분값이 0 아니면 1  vanishing gradient 해결
34
ReLU의 의미
• Piece-wise linear tiling : locally linear mapping
35
Dropout(Regularization Method)
• 각 학습 단계마다, 특정 확률로(예 : 50%) random하게
hidden layer에 있는 unit들을 없애고 학습하는 방법
• Ensemble 개념을 적용
 여러 개의 model을 사용하여 평균값을 쓰면 하나의 model을 쓰
는 경우보다 좋음
 하나의 model로 비슷한 효과를 낼 수 있는 방법
36
Local Minima에 대하여
• minimum이라고 하는 것은 현재
차원에서 이동할 수 있는 모든
방향으로의 gradient 값이 증가
하는 방향이어야 하는데 이런 경
우는 확률적으로 희박함
• DNN과 같은 고차원 구조에서는
대부분은 local minima가 아니라
saddle point일 가능성이 높음
• 만약 실제 local minima가 존재
한다면 그것은 global minimum
과 거의 차이가 없을 가능성이
높음(neural network의 대칭성)
saddle point
Convolutional
Neural
Network
38
Convolutional Neural Network
• 이미지 인식에 가장 널리 사용됨
• 일반적으로 convolution layer, pooling layer, fully-
connected layer로 구성
• Parameter(weight) sharing
• Convolution과 pooling layer는 feature를 추출하고 fully-
connected layer는 어떤 class에 속하는지 판단하는 역할
을 수행
Picture Credit : The Data Science blog
39
CNN의 동작원리
• 이미지를 작은 tile로 나
누고, 작은 network를 통
해 tile에서 특정 feature
를 추출(예: 귀)
• Newtork가 다음 tile로 이
동하면서 같은 방법으로
feature를 추출(동일한
weight 사용)
• 다른 feature(예: 눈)를 추
출하는 network를 추가
로 만들고 위와 같은 방
법으로 tile을 하나씩
network에 적용
• 추출된 모든 feature들을
잘 조합하여 최종적으로
이미지를 판단
40
Convolution
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
0 0 1 1 0
0 1 1 0 0
1 0 1
0 1 0
1 0 1
4 3 4
2 4 3
2 3 4
=
convolution
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
0 0 1 1 0
0 1 1 0 0
1 0 1
0 1 0
1 0 1
4
=convolution
filter feature map
Input or feature map
filter feature map
Input or feature map
• Convolution 연산 : 같은 위치에 있는 숫자끼리 곱한 후 모
두 더함
 1x1 + 1x0 + 1x1 + 0x0 + 1x1 + 1x0 + 0x1 + 0x0 + 1x1 = 4
• Filter가 옆으로 이동 후 같은 연산 수행
• 옆으로 모두 이동한 이후에는 아래로 이동 후 같은 연산
수행
41
Convolution
Credit : Leonardo’s gitbook
42
Feature Extractor
Credit : Adit Deshpande’s blog
43
Feature Extractor
Credit : Adit Deshpande’s blog
44
Convolution
(Multi Channel, Many Filters)
1 1 1 1 0
1 1 1 1 0
0 0 0 1 1
0 1 1 1 0
0 1 1 0 0
0 1 1 0 1
0 1 1 0 0
0 0 1 1 0
0 0 1 1 1
1 1 1 0 0
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
0 0 1 1 0
0 1 1 0 0
-1 0 0
0 1 0
0 0 -1
0 -1 0
-1 1 -1
0 -1 0
1 0 1
0 1 0
1 0 1
-1 0 -1
0 1 0
0 0 -1
0 -1 0
-1 1 0
0 -1 0
1 0 1
0 -1 0
1 0 1
1 -1 1
0 -1 -1
3 1 0
3 0 1
-2 0 2
0 2 3
=
convolution
Input channel : 3 Output channel : 2# of filters : 2
45
Convolution
(Multi Channel, Many Filters)
1 1 1 1 0
1 1 1 1 0
0 0 0 1 1
0 1 1 1 0
0 1 1 0 0
0 1 1 0 1
0 1 1 0 0
0 0 1 1 0
0 0 1 1 1
1 1 1 0 0
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
0 0 1 1 0
0 1 1 0 0
-1 0 0
0 1 0
0 0 -1
0 -1 0
-1 1 -1
0 -1 0
1 0 1
0 1 0
1 0 1
3 0 1
-2 0 2
0 2 3
1 -1 1
0 -1 -1
3 1 0
-1 0 -1
0 1 0
-1 0 -1
0 1 0
-1 -1 0
0 1 0
1 0 1
0 -1 0
1 0 1
Input channel : 3
Output channel : 2
# of filters : 2
convolution
convolution
convolution
convolution
convolution
convolution
46
Visualization of a Convolution Layer
Picture Credit : fundamentals of deep learning by Nikhil
47
ReLU
3 0 1
-2 0 2
0 2 3
1 -1 1
0 -1 -1
3 1 0
𝑓
3 0 1
0 0 2
0 2 3
𝑓
1 0 1
0 0 0
3 1 0
ReLU
ReLU
48
Pooling Layer
• Max pooling을 많이 사용함
49
2x2 Max Pooling with Stride=1
3 0 1
0 0 2
0 2 3
1 0 1
0 0 0
3 1 0
3 2
2 3
1 1
3 1
max pooling
max pooling
50
Fully-Connected Layer
3 2
2 3
1 1
3 1
3
2
2
3
1
1
3
1
2
1
softmax
0.8
0.2
Cat
Dog
51
Convolutional Neural Network
• 하위 layer에서는 선, 곡선, 색과 같은 feature들을 추출, 상
위 layer로 갈수록 점점 추상화된 feature 생성
52
Large Scale Image Classification
• ImageNet
 Over 15
• ImageNet
 Over 15 million labeled high-
resolution images
 Roughly 22,000 categories
 Collected from the web
 Labeled by human labelers using
Amazon’s Mechanical Turk crowd-
sourcing tool
• ImageNet Large-Scale Visual
Recognition Challenge (ILSVRC)
 Uses a subset of ImageNet
 1,000 categories
 1.2 million training images
 50,000 validation images
 150,000 test images
 Report two error rates:
 Top-1 and top-5
53
ImageNet Classification Results
<2012 Result>
• Krizhevsky et al. – 16.4% error(top-5)
• Next best (non-convnet) – 26.2%
error
<2013 Result>
• All rankers use deep
learning(Convnet)
Revolution of Depth!
AlexNet
54
AlexNet(2012 winner)
• 7 hidden layers, 650,000 neurons, 60M parameters
• 2대의 GPU로 1주일간 학습진행
“ImageNet Classification with Deep Convolutional Neural Networks “
55
AlexNet Result
“ImageNet Classification with Deep Convolutional Neural Networks “
56
GoogLeNet(2014 winner)
• Inception modul을 반복하여 사용
• 1x1 convolution을 사용하여 channel 수를 조절
• Fully connected layer 대신 global average pooling 사용
• 5M parameters, 1.5B operations/evaluation
Inception module
“Going Deeper With Convolutions”
57
VGG(2nd place in 2014)
• 3x3 filter만 반복해서 사용
• Why??
 Convolution filter를 stack하면 더
큰 receptive field를 가질 수 있음
 2개의 3x3 filter = 5x5 filter
 3개의 3x3 filter = 7x7 filter
 Parameter수는 큰 filter 사용하는
경우에 비하여 감소 
regularization 효과
“Very Deep Convolutional Networks for Large-Scale Image Recognition”
58
Inception-v3
• Factorization of filters
“Rethinking the Inception Architecture for Computer Vision”
59
Residual Net(2015 winner)
• Revolution of Depth
“Deep Residual Learning for Image Recognition”
60
ResNet
• Layer수가 많을수록 항상 좋을까?
• 56개의 layer를 사용하는 경우가 20개의 layer를 사용하는
경우에 비해 training error가 더 큰 결과가 나옴
“Deep Residual Learning for Image Recognition”
61
ResNet
• 더 deep한 model은 training error가
더 낮아야 함
 Shallow model의 parameter를 deeper
model에 copy
 Extra layers가 identity function의 역할
만 해도 동일한 결과가 나올 수 있음
• Deep한 model은 optimization이 쉽
지 않다는 것을 발견(identity도 힘들
다)
A shallower model
(18 layers)
A deeper model
(34 layers)
“Deep Residual Learning for Image Recognition”
62
Deep Residual Learning
• Identity는 그대로 상위 layer로 전달하고, 나머지 부분만
학습
“Deep Residual Learning for Image Recognition”
63
ResNet Result
• ImageNet experiments
“Deep Residual Learning for Image Recognition”
64
Inception-ResNet
• Inception + ResNet
“Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning”
65
ILSVRC 2016 Result
66
Tensorflow를 이용한 구현
• Tensorflow
 Google에서 개발, 2015년 11월에 open source로 공개된 딥러닝
framework
 Python기반, computational graph를 이용(theano와 비슷함)
 CPU, GPU, multi-GPU를 모두 지원
 https://tensorflow.org
67
Tensorflow 동작 개념
• 어떤 구슬을 넣을 것인지 : variable,
placeholder 선언
 a = tf.placeholder(“float”)
• 못의 개수, 위치를 선정 : network 설
계
 y = tf.mul(a, b)
• Insert coin : session 생성
 sess = tf.Session()
• 구슬을 넣음 : network 실행
 sess.run(y, feed_dict={a: 3, b: 3}
68
Global Average Pooling
Class Activation Map
• Global average pooling을 사용하면, parameter 수를 획기
적으로 줄일 수 있음(CNN parameter의 대부분은 fc layer
에 있음)
• Class activation map을 이용하여, 컴퓨터가 각 class를 어
떻게 판단했는지 확인, 해당 class의 대략적 위치도 찾을
수 있음
“Learning Deep Features for Discriminative Localization”
69
Fully Connected Layer
3 2
2 3
1 1
3 1
3
2
2
3
1
1
3
1
2
1
softmax
0.8
0.2
Cat
Dog
70
Global Average Pooling
3 2
2 3
1 1
3 1
2.5
1.5
2
1
softmax
0.8
0.2
Cat
Dog
average
average
71
PPMI Dataset
• http://ai.stanford.edu/~bangpeng/ppmi.html
CNN 응용사례
73
Detection
“SSD: Single Shot MultiBox Detector
74
Segmentation
“Learning Deconvolution Network for Semantic Segmentation
75
Super Resolution
“Deeply-Recursive Convolutional Network for Image Super-Resolution”
76
Texture Synthesis
“Texture Synthesis Using Convolutional Neural Networks”
77
Artistic Style Transfer
“Image Style Transfer Using Convolutional Neural Networks”
78
Image Captioning
79
Visual QnA
Q: What is the boy holding?
DPPnet: surfboard DPPnet: bat
Q: What is the animal doing?
DPPnet: resting (relaxing) DPPnet: swimming (fishing)
“Image Question Answering using Convolutional Neural Network with Dynamic Parameter Prediction”
80
Generative Adversarial Network
“StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks ”
81
Autonomous Driving
결론
83
Summary & Conclusion
• 지능의 핵심은 학습이고, 기계학습은 사람의 학습과정을
모방하여 만들어졌다
• 기계학습(딥러닝)은 기계가 스스로 프로그램을 만들어내는
과정이다
• 기계학습(딥러닝)을 이용하면, 비슷한 유형의 문제의 경우
새로 network를 만들지 않고 data만 바꿔주면 그에 맞는
학습이 진행되어 문제를 풀 수 있다는 장점이 있다
• 딥러닝의 발달로 인하여 수많은 분야에서 딥러닝을 활용
하여 놀라운 성과를 얻어내고 있다
• 딥러닝을 이용하면 전문지식을 갖추지 않아도 그와 관련
된 많은 문제들을 해결할 수 있다
84
인공지능, 딥러닝은 만능?
• 동유럽국가 몬테네그로의 수도는 어
디인가?
• 바둑판을 1줄씩 늘려서 20x20으로 만
들고 지금 당장 이세돌과 알파고가 대
결한다면?
• 의료 data를 분석하여, 수명을 예측해
봅시다
 평생 한번도 담배를 안피운 사람
 현재 흡연을 하고 있는 사람
 과거에 흡연을 했다가 끊은 사람
• 인공지능은 인류의 지능 향상에 도움
이 되는가?
• 인공지능의 능력이 커질수록 법적, 도
덕적 문제에 대한 해결이 필요
85
QnA
Thank You
jwlee@capp.snu.ac.kr

More Related Content

What's hot

인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)SK(주) C&C - 강병호
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 
[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝Modulabs
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기NAVER Engineering
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전Modulabs
 
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능도형 임
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개Young-Min kang
 
머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)Byung-han Lee
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016Taehoon Kim
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016Taehoon Kim
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
 
순환신경망(Recurrent neural networks) 개요
순환신경망(Recurrent neural networks) 개요순환신경망(Recurrent neural networks) 개요
순환신경망(Recurrent neural networks) 개요Byoung-Hee Kim
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것NAVER Engineering
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)홍배 김
 
코로나19로 인해 변화된 우리 시대의 데이터 트랜드
코로나19로 인해 변화된 우리 시대의 데이터 트랜드코로나19로 인해 변화된 우리 시대의 데이터 트랜드
코로나19로 인해 변화된 우리 시대의 데이터 트랜드Yongho Ha
 
Attention is All You Need (Transformer)
Attention is All You Need (Transformer)Attention is All You Need (Transformer)
Attention is All You Need (Transformer)Jeong-Gwan Lee
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명홍배 김
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明Seiichi Uchida
 

What's hot (20)

인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 
[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝[모두의연구소] 쫄지말자딥러닝
[모두의연구소] 쫄지말자딥러닝
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
 
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개
 
머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
인공신경망
인공신경망인공신경망
인공신경망
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
 
순환신경망(Recurrent neural networks) 개요
순환신경망(Recurrent neural networks) 개요순환신경망(Recurrent neural networks) 개요
순환신경망(Recurrent neural networks) 개요
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
코로나19로 인해 변화된 우리 시대의 데이터 트랜드
코로나19로 인해 변화된 우리 시대의 데이터 트랜드코로나19로 인해 변화된 우리 시대의 데이터 트랜드
코로나19로 인해 변화된 우리 시대의 데이터 트랜드
 
Attention is All You Need (Transformer)
Attention is All You Need (Transformer)Attention is All You Need (Transformer)
Attention is All You Need (Transformer)
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明
 

Viewers also liked

기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기Terry Taewoong Um
 
머신 러닝(Machine Learning)
머신 러닝(Machine Learning)머신 러닝(Machine Learning)
머신 러닝(Machine Learning)BoYoung Lee
 
Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)Ildoo Kim
 
Reduction of cogging torque in permanent magnet machine
Reduction of cogging torque in permanent magnet machineReduction of cogging torque in permanent magnet machine
Reduction of cogging torque in permanent magnet machineKrithik Kumar Chandrashekar
 
DE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra Bagnato
DE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra BagnatoDE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra Bagnato
DE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra BagnatoAlessandra Bagnato
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명Woonghee Lee
 
Lie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot MechanicsLie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot MechanicsTerry Taewoong Um
 
Lie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot MechanicsLie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot MechanicsTerry Taewoong Um
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법Terry Cho
 
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance SegmentationSingle Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance Segmentation홍배 김
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개Terry Cho
 
Introduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep LearningIntroduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep LearningTerry Taewoong Um
 
Introduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowIntroduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowTerry Taewoong Um
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization홍배 김
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Jen Aman
 

Viewers also liked (20)

기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기
 
머신 러닝(Machine Learning)
머신 러닝(Machine Learning)머신 러닝(Machine Learning)
머신 러닝(Machine Learning)
 
Recurrent Instance Segmentation (UPC Reading Group)
Recurrent Instance Segmentation (UPC Reading Group)Recurrent Instance Segmentation (UPC Reading Group)
Recurrent Instance Segmentation (UPC Reading Group)
 
Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)
 
Reduction of cogging torque in permanent magnet machine
Reduction of cogging torque in permanent magnet machineReduction of cogging torque in permanent magnet machine
Reduction of cogging torque in permanent magnet machine
 
DE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra Bagnato
DE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra BagnatoDE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra Bagnato
DE-CPS 2017 The INTO-CPS Cyber-Physical System Profile Alessandra Bagnato
 
R + Apache Spark
R + Apache SparkR + Apache Spark
R + Apache Spark
 
SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)
 
2017 Business Platform Day
2017 Business Platform Day2017 Business Platform Day
2017 Business Platform Day
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
 
Lie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot MechanicsLie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot Mechanics
 
Lie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot MechanicsLie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot Mechanics
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
 
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance SegmentationSingle Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
Introduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep LearningIntroduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep Learning
 
Introduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowIntroduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlow
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow
 

Similar to 인공지능, 기계학습 그리고 딥러닝

03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagationDea-hwan Ki
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networksHyunjinBae3
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesKang Pilsung
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition준영 박
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Jinwon Lee
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhleeDongheon Lee
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
 
Cnn 발표자료
Cnn 발표자료Cnn 발표자료
Cnn 발표자료종현 최
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2HyeonSeok Choi
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담Sumin Byeon
 
알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review상은 박
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentationtaeseon ryu
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 

Similar to 인공지능, 기계학습 그리고 딥러닝 (20)

03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagation
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniques
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031
 
Deep learning overview
Deep learning overviewDeep learning overview
Deep learning overview
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhlee
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning
 
Cnn 발표자료
Cnn 발표자료Cnn 발표자료
Cnn 발표자료
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
 
알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
[2023] Cut and Learn for Unsupervised Object Detection and Instance Segmentation
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 

More from Jinwon Lee

PR-366: A ConvNet for 2020s
PR-366: A ConvNet for 2020sPR-366: A ConvNet for 2020s
PR-366: A ConvNet for 2020sJinwon Lee
 
PR-355: Masked Autoencoders Are Scalable Vision Learners
PR-355: Masked Autoencoders Are Scalable Vision LearnersPR-355: Masked Autoencoders Are Scalable Vision Learners
PR-355: Masked Autoencoders Are Scalable Vision LearnersJinwon Lee
 
PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...
PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...
PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...Jinwon Lee
 
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...Jinwon Lee
 
PR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for VisionPR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for VisionJinwon Lee
 
PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...Jinwon Lee
 
PR-284: End-to-End Object Detection with Transformers(DETR)
PR-284: End-to-End Object Detection with Transformers(DETR)PR-284: End-to-End Object Detection with Transformers(DETR)
PR-284: End-to-End Object Detection with Transformers(DETR)Jinwon Lee
 
PR-270: PP-YOLO: An Effective and Efficient Implementation of Object Detector
PR-270: PP-YOLO: An Effective and Efficient Implementation of Object DetectorPR-270: PP-YOLO: An Effective and Efficient Implementation of Object Detector
PR-270: PP-YOLO: An Effective and Efficient Implementation of Object DetectorJinwon Lee
 
PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...
PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...
PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...Jinwon Lee
 
PR243: Designing Network Design Spaces
PR243: Designing Network Design SpacesPR243: Designing Network Design Spaces
PR243: Designing Network Design SpacesJinwon Lee
 
PR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual RepresentationsPR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual RepresentationsJinwon Lee
 
PR-217: EfficientDet: Scalable and Efficient Object Detection
PR-217: EfficientDet: Scalable and Efficient Object DetectionPR-217: EfficientDet: Scalable and Efficient Object Detection
PR-217: EfficientDet: Scalable and Efficient Object DetectionJinwon Lee
 
PR-207: YOLOv3: An Incremental Improvement
PR-207: YOLOv3: An Incremental ImprovementPR-207: YOLOv3: An Incremental Improvement
PR-207: YOLOv3: An Incremental ImprovementJinwon Lee
 
PR-197: One ticket to win them all: generalizing lottery ticket initializatio...
PR-197: One ticket to win them all: generalizing lottery ticket initializatio...PR-197: One ticket to win them all: generalizing lottery ticket initializatio...
PR-197: One ticket to win them all: generalizing lottery ticket initializatio...Jinwon Lee
 
PR-183: MixNet: Mixed Depthwise Convolutional Kernels
PR-183: MixNet: Mixed Depthwise Convolutional KernelsPR-183: MixNet: Mixed Depthwise Convolutional Kernels
PR-183: MixNet: Mixed Depthwise Convolutional KernelsJinwon Lee
 
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural NetworksPR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural NetworksJinwon Lee
 
PR-155: Exploring Randomly Wired Neural Networks for Image Recognition
PR-155: Exploring Randomly Wired Neural Networks for Image RecognitionPR-155: Exploring Randomly Wired Neural Networks for Image Recognition
PR-155: Exploring Randomly Wired Neural Networks for Image RecognitionJinwon Lee
 
PR-144: SqueezeNext: Hardware-Aware Neural Network Design
PR-144: SqueezeNext: Hardware-Aware Neural Network DesignPR-144: SqueezeNext: Hardware-Aware Neural Network Design
PR-144: SqueezeNext: Hardware-Aware Neural Network DesignJinwon Lee
 
PR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox DetectorPR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox DetectorJinwon Lee
 
PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...
PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...
PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...Jinwon Lee
 

More from Jinwon Lee (20)

PR-366: A ConvNet for 2020s
PR-366: A ConvNet for 2020sPR-366: A ConvNet for 2020s
PR-366: A ConvNet for 2020s
 
PR-355: Masked Autoencoders Are Scalable Vision Learners
PR-355: Masked Autoencoders Are Scalable Vision LearnersPR-355: Masked Autoencoders Are Scalable Vision Learners
PR-355: Masked Autoencoders Are Scalable Vision Learners
 
PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...
PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...
PR-344: A Battle of Network Structures: An Empirical Study of CNN, Transforme...
 
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
 
PR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for VisionPR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for Vision
 
PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...
 
PR-284: End-to-End Object Detection with Transformers(DETR)
PR-284: End-to-End Object Detection with Transformers(DETR)PR-284: End-to-End Object Detection with Transformers(DETR)
PR-284: End-to-End Object Detection with Transformers(DETR)
 
PR-270: PP-YOLO: An Effective and Efficient Implementation of Object Detector
PR-270: PP-YOLO: An Effective and Efficient Implementation of Object DetectorPR-270: PP-YOLO: An Effective and Efficient Implementation of Object Detector
PR-270: PP-YOLO: An Effective and Efficient Implementation of Object Detector
 
PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...
PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...
PR-258: From ImageNet to Image Classification: Contextualizing Progress on Be...
 
PR243: Designing Network Design Spaces
PR243: Designing Network Design SpacesPR243: Designing Network Design Spaces
PR243: Designing Network Design Spaces
 
PR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual RepresentationsPR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual Representations
 
PR-217: EfficientDet: Scalable and Efficient Object Detection
PR-217: EfficientDet: Scalable and Efficient Object DetectionPR-217: EfficientDet: Scalable and Efficient Object Detection
PR-217: EfficientDet: Scalable and Efficient Object Detection
 
PR-207: YOLOv3: An Incremental Improvement
PR-207: YOLOv3: An Incremental ImprovementPR-207: YOLOv3: An Incremental Improvement
PR-207: YOLOv3: An Incremental Improvement
 
PR-197: One ticket to win them all: generalizing lottery ticket initializatio...
PR-197: One ticket to win them all: generalizing lottery ticket initializatio...PR-197: One ticket to win them all: generalizing lottery ticket initializatio...
PR-197: One ticket to win them all: generalizing lottery ticket initializatio...
 
PR-183: MixNet: Mixed Depthwise Convolutional Kernels
PR-183: MixNet: Mixed Depthwise Convolutional KernelsPR-183: MixNet: Mixed Depthwise Convolutional Kernels
PR-183: MixNet: Mixed Depthwise Convolutional Kernels
 
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural NetworksPR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
 
PR-155: Exploring Randomly Wired Neural Networks for Image Recognition
PR-155: Exploring Randomly Wired Neural Networks for Image RecognitionPR-155: Exploring Randomly Wired Neural Networks for Image Recognition
PR-155: Exploring Randomly Wired Neural Networks for Image Recognition
 
PR-144: SqueezeNext: Hardware-Aware Neural Network Design
PR-144: SqueezeNext: Hardware-Aware Neural Network DesignPR-144: SqueezeNext: Hardware-Aware Neural Network Design
PR-144: SqueezeNext: Hardware-Aware Neural Network Design
 
PR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox DetectorPR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox Detector
 
PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...
PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...
PR-120: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture De...
 

인공지능, 기계학습 그리고 딥러닝

  • 1. 인공지능, 기계학습 그리고 딥러닝 Dec 26, 2016 이진원 / Seoul National University
  • 2. 2 살펴볼 것들… • 인공지능이란 무엇인가? • 기계학습은 어떻게 할까? • 딥러닝은 무엇이고 왜 필요한가? • Convolutional Neural Network • 유명한 CNN들(ILSVRC winners) • Tensorflow를 이용한 CNN 구현방법 • CNN 응용 사례
  • 3. 3 자세히 다루지 않는 것들 • 어려운 수학 • Unsupervised Learning • Reinforcement Learning • RNN 계열의 딥러닝 알고리즘
  • 6. 6 • 왜 사람들은 처음에 천동설부터 생각했을까? • 왜 사람은 만물의 영장인가? • 지능은 사람만 가질 수 있는가? 우리는 세상의 중심?
  • 7. 7 1, 2, 3, 4차 산업혁명 Steam Engine Electricity, Automobile PC, Internet Artificial Intelligence 사람의 육체노동을 대체 사람의 지적노동을 대체? 1 2 3 4
  • 9. 9 인공지능(Artificial Intelligence) • 1956년 다트머스 회의에서 처음 사용 • From Wikipedia: Artificial intelligence (AI) is intelligence exhibited by machines. In computer science, an ideal "intelligent" machine is a flexible rational agent that perceives its environment and takes actions that maximize its chance of success at some goal  AI Translation: 인공 지능 (AI)은 기계가 나타내는 지능입니다. 컴퓨터 과학 에서 이상적인 "지능형"기계는 환경을 인식하고 목표 달 성의 기회를 극대화하는 유연하고 합리적인 에이전트입니다.
  • 10. 10 쉬운 것과 어려운 것 • 여우와 두루미 • 사람과 컴퓨터?
  • 11. 11 컴퓨터에게 쉬운 것과 어려운 것 • 컴퓨터가 잘하는 것은 명확하게 정의된 일, 즉 알고리즘에 대한 수행이다. • 사람이 진화과정에서 자연스럽게 터득한 것들이 컴퓨터에 게는 어렵다. • 언어의 해상도가 인식의 해상도보다 낮기 때문이다 vs Easy Hard
  • 13. 13 어떻게 학습할 것인가? Credit : MBC 기계 인간의 탄생
  • 14. 14 기계학습(Machine Learning) • 기계학습(Machine Learning) Machine learning is the subfield of computer science that "gives computers the ability to learn without being explicitly programmed“ 기계 학습은 "컴퓨터에 명시적으로 프로그래밍하지 않고 학습 할 수 있는 능력을 부여하는“ 컴퓨터 과학의 하위 분야입니다. Computer inputs program outputs Computer inputs outputs program 일반적인 programming 기계학습 기계가 program을 직접 작성!
  • 15. 15 Quiz • □와 △에 들어갈 정수는?  3 x □ + 2 x △ = 1  1 x □ + 4 x △ = -3  5 x □ + 5 x △ = 0  8 x □ + 3 x △ = 5 • □ = 1, △ = -1 • (3, 2), (1, 4), (5, 5), (8, 3) 은 input data, 1, -3, 0, 5 는 label 이다 • □와 △를 weight라고 하며 이 weight 값을 기계가 스스로 학습을 통해 찾아내도록 하는 것이 기계학습이 하는 일
  • 16. 16 기계학습의 종류 • Supervised Learning(지도학습)  Input 과 labels을 이용한 학습  분류(classification), 회귀(regression) • Unsupervised Learning(비지도학습)  Input만을 이용한 학습  군집화(clustering), 압축(compression) • Reinforcement Learning(강화학습)  Label 대신 reward가 주어짐  Action selection, policy learning
  • 18. 18 뉴런과 사람의 학습 이전 뉴런과 연결 다음 뉴런으로 전달 수상돌기 축삭돌기 시각 신경 청각 신경 침샘 분비 강 함 약 함 강 함 학습 파블로프의 개 실험
  • 19. 19 Perceptron(Artificial Neural Network) 𝑦 = 𝑓(𝐰𝐱 + b) 𝒘 = [𝑤1 𝑤2 𝑤3 … 𝑤 𝑛] 𝒙 = [𝑥1 𝑥2 𝑥3 … 𝑥 𝑛] 𝑇 𝑦𝑓 𝑏 <Perceptron> sigmoid activation function 𝑓 𝑥 = 1 1 + 𝑒−𝑥
  • 20. 20 Example of ANN(logical AND) 0 1 1 ℎ 𝑥 = 0 ℎ 𝑥 =1 𝑥1 𝑥2 학습이란 이러한 weight 값(-30, 20, 20)을 기계 스스로 찾을 수 있도록 해주는 과정!
  • 21. 21 아파트 가격 예측(Regression) • 아파트 가격을 예측하는 프로그램을 작성해보자  평수(평)  층수(층)  가장 가까운 지하철 역까지의 거리(km)  해당 지역의 1인당 소득 평균(천만원) 평수 층수 지하철 역까지의 거리 (km) 해당지역 1인당 소득 (천만원) 아파트가격 (천만원) 34 15 1 4 72 32 4 5 3.3 60 18 9 2 2.5 34 42 3 2.5 5 100 21 10 1.5 3 42
  • 22. 22 일반적인 방법 • 기존의 data와 경험을 바탕으로 한 정보  평수는 클수록 비싸다  층수는 높은 층이 낮은 층보다 비싸다  지하철 역까지의 거리는 가까울수록 비싸다  그 지역의 소득수준이 높을수록 비싸다 • 위 정보들 간의 중요도에 따라 가중치를 주어서 최종 가격 을 추론한다  평수가 가장 중요함  층 수는 평수에 비해서 덜 중요함  지하철 역까지의 거리는 중요하지만 거리값이 작을수록 가격이 비 싸짐  그 지역의 소득수준은 아파트 가격 결정에 가장 덜 중요함 등 • 예) 평수 x 2 + 층수 x 0.3 + 지하철 역까지 거리 x (-1) + 소득 수준 x 0.1 = 아파트 가격(천만원)
  • 23. 23 기계학습을 이용하는 방법 • 기존의 data를 이용하여 각 항목별로 □,△,○,☆에 들어갈 값을 기계 스스로 학습하게 한다.  평수 x □ + 층수 x △ + 지하철 역까지 거리 x ○ + 소득수준 x ☆ = 아파트 가격(천만원) • 어떻게?  맨 처음 □,△,○,☆ 값을 random으로 정한 후 실제 가격과 비교하여 그 (차이값)2의 평균 계산한다  □,△,○,☆를 모두 1로 했을 경우, (실제가격 – 추론가격)2 의 평균 = 287.524  이제 □,△,○,☆를 기계 스스로 조금씩 조정하여 (차이값)2의 평균이 0 이 되게 할 수 있다면, 프로그램이 완성된다 평수 층수 지하철 역까지의 거리 (km) 해당지역 1인당 소득 (천만원) 아파트가격 (천만원) 추론한 아파트 가격 (천만원) 34 15 1 4 72 54 32 4 5 3.3 60 44.3 18 9 2 2.5 34 31.5 42 3 2.5 5 100 52.5 21 10 1.5 3 42 35.5
  • 24. 24 Multi Layer Perceptron(MLP) • 아파트 가격 결정에 소득수준이 높은 지역에서는 낮은 지역보다 지하철 역까지의 거리가 덜 중요하다면? • 아파트 가격을 우선 여러가지로 예측하고 그 예측한 값들을 다시 잘 조합하여 더 잘 예측해보자(regression) • 선을 잘 긋고 input 공간을 잘 왜곡하고 합하는 과정을 반복해서 데이터들을 잘 구분해보자(classification) • 이렇게 perceptron을 여러층으로 쌓으면 더 복잡한 문제를 풀 수 있다 • Linear fitting과 Non-linear transform의 반복
  • 26. 26 딥러닝(Deep Learning) • 딥러닝은 deep neural network를 통하여 학습하는 것을 의미함 • Hidden layer의 수 <= 1  shallow network • Hidden layer의 수 >= 2  deep network • 이렇게 많은 weight 값들을 어떻게 학습시킬 것인가??
  • 27. 27 Back Propagation • 학습과정 : back propagation of error  Output layer에서 error(cost)를 계산  Error의 미분값을 back propagation  미분값에 𝛼를 곱한 만큼 w를 보정(학습!)  𝛼는 learning rate를 의미함 gradient descent
  • 28. 28 딥러닝을 어렵게 하는 것들 • Vanishing gradient problem • Overfitting problem • Get stuck in local minima
  • 29. 29 Vanishing Gradient Problem • Gradient 값이 뒤로 전달될 수록 점점 작아짐 • Sigmoid 사용으로 인하여(미분값의 최대 : ¼) 아래쪽 layer는 학습이 이루어지지 않음
  • 30. 30 Overfitting Problem • Data가 많지 않은 경우에 발생할 수 있음 • 학습한 data에만 최적화되어서, 학습하지 않은 data(test data)에 대한 추론 성능이 악화되는 현상
  • 31. 31 Local Minima • 어디서 시작하느냐에 따라서 잘못하면 local minima에 빠 질 위험이 존재
  • 32. 32 어떻게 해결할까? • Vanishing gradient problem  Sigmoid 말고 ReLU를 쓰자 • Overfitting problem  Regularization method를 쓰자(예 : dropout) • Get stuck in local minima  Local minima에 빠져도 괜찮다
  • 33. 33 ReLU : Rectified Linear Unit • ReLU를 activation function으로 사용  sparse activation • ReLU는 미분값이 0 아니면 1  vanishing gradient 해결
  • 34. 34 ReLU의 의미 • Piece-wise linear tiling : locally linear mapping
  • 35. 35 Dropout(Regularization Method) • 각 학습 단계마다, 특정 확률로(예 : 50%) random하게 hidden layer에 있는 unit들을 없애고 학습하는 방법 • Ensemble 개념을 적용  여러 개의 model을 사용하여 평균값을 쓰면 하나의 model을 쓰 는 경우보다 좋음  하나의 model로 비슷한 효과를 낼 수 있는 방법
  • 36. 36 Local Minima에 대하여 • minimum이라고 하는 것은 현재 차원에서 이동할 수 있는 모든 방향으로의 gradient 값이 증가 하는 방향이어야 하는데 이런 경 우는 확률적으로 희박함 • DNN과 같은 고차원 구조에서는 대부분은 local minima가 아니라 saddle point일 가능성이 높음 • 만약 실제 local minima가 존재 한다면 그것은 global minimum 과 거의 차이가 없을 가능성이 높음(neural network의 대칭성) saddle point
  • 38. 38 Convolutional Neural Network • 이미지 인식에 가장 널리 사용됨 • 일반적으로 convolution layer, pooling layer, fully- connected layer로 구성 • Parameter(weight) sharing • Convolution과 pooling layer는 feature를 추출하고 fully- connected layer는 어떤 class에 속하는지 판단하는 역할 을 수행 Picture Credit : The Data Science blog
  • 39. 39 CNN의 동작원리 • 이미지를 작은 tile로 나 누고, 작은 network를 통 해 tile에서 특정 feature 를 추출(예: 귀) • Newtork가 다음 tile로 이 동하면서 같은 방법으로 feature를 추출(동일한 weight 사용) • 다른 feature(예: 눈)를 추 출하는 network를 추가 로 만들고 위와 같은 방 법으로 tile을 하나씩 network에 적용 • 추출된 모든 feature들을 잘 조합하여 최종적으로 이미지를 판단
  • 40. 40 Convolution 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 4 3 4 2 4 3 2 3 4 = convolution 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 4 =convolution filter feature map Input or feature map filter feature map Input or feature map • Convolution 연산 : 같은 위치에 있는 숫자끼리 곱한 후 모 두 더함  1x1 + 1x0 + 1x1 + 0x0 + 1x1 + 1x0 + 0x1 + 0x0 + 1x1 = 4 • Filter가 옆으로 이동 후 같은 연산 수행 • 옆으로 모두 이동한 이후에는 아래로 이동 후 같은 연산 수행
  • 42. 42 Feature Extractor Credit : Adit Deshpande’s blog
  • 43. 43 Feature Extractor Credit : Adit Deshpande’s blog
  • 44. 44 Convolution (Multi Channel, Many Filters) 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 -1 0 0 0 1 0 0 0 -1 0 -1 0 -1 1 -1 0 -1 0 1 0 1 0 1 0 1 0 1 -1 0 -1 0 1 0 0 0 -1 0 -1 0 -1 1 0 0 -1 0 1 0 1 0 -1 0 1 0 1 1 -1 1 0 -1 -1 3 1 0 3 0 1 -2 0 2 0 2 3 = convolution Input channel : 3 Output channel : 2# of filters : 2
  • 45. 45 Convolution (Multi Channel, Many Filters) 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 -1 0 0 0 1 0 0 0 -1 0 -1 0 -1 1 -1 0 -1 0 1 0 1 0 1 0 1 0 1 3 0 1 -2 0 2 0 2 3 1 -1 1 0 -1 -1 3 1 0 -1 0 -1 0 1 0 -1 0 -1 0 1 0 -1 -1 0 0 1 0 1 0 1 0 -1 0 1 0 1 Input channel : 3 Output channel : 2 # of filters : 2 convolution convolution convolution convolution convolution convolution
  • 46. 46 Visualization of a Convolution Layer Picture Credit : fundamentals of deep learning by Nikhil
  • 47. 47 ReLU 3 0 1 -2 0 2 0 2 3 1 -1 1 0 -1 -1 3 1 0 𝑓 3 0 1 0 0 2 0 2 3 𝑓 1 0 1 0 0 0 3 1 0 ReLU ReLU
  • 48. 48 Pooling Layer • Max pooling을 많이 사용함
  • 49. 49 2x2 Max Pooling with Stride=1 3 0 1 0 0 2 0 2 3 1 0 1 0 0 0 3 1 0 3 2 2 3 1 1 3 1 max pooling max pooling
  • 50. 50 Fully-Connected Layer 3 2 2 3 1 1 3 1 3 2 2 3 1 1 3 1 2 1 softmax 0.8 0.2 Cat Dog
  • 51. 51 Convolutional Neural Network • 하위 layer에서는 선, 곡선, 색과 같은 feature들을 추출, 상 위 layer로 갈수록 점점 추상화된 feature 생성
  • 52. 52 Large Scale Image Classification • ImageNet  Over 15 • ImageNet  Over 15 million labeled high- resolution images  Roughly 22,000 categories  Collected from the web  Labeled by human labelers using Amazon’s Mechanical Turk crowd- sourcing tool • ImageNet Large-Scale Visual Recognition Challenge (ILSVRC)  Uses a subset of ImageNet  1,000 categories  1.2 million training images  50,000 validation images  150,000 test images  Report two error rates:  Top-1 and top-5
  • 53. 53 ImageNet Classification Results <2012 Result> • Krizhevsky et al. – 16.4% error(top-5) • Next best (non-convnet) – 26.2% error <2013 Result> • All rankers use deep learning(Convnet) Revolution of Depth! AlexNet
  • 54. 54 AlexNet(2012 winner) • 7 hidden layers, 650,000 neurons, 60M parameters • 2대의 GPU로 1주일간 학습진행 “ImageNet Classification with Deep Convolutional Neural Networks “
  • 55. 55 AlexNet Result “ImageNet Classification with Deep Convolutional Neural Networks “
  • 56. 56 GoogLeNet(2014 winner) • Inception modul을 반복하여 사용 • 1x1 convolution을 사용하여 channel 수를 조절 • Fully connected layer 대신 global average pooling 사용 • 5M parameters, 1.5B operations/evaluation Inception module “Going Deeper With Convolutions”
  • 57. 57 VGG(2nd place in 2014) • 3x3 filter만 반복해서 사용 • Why??  Convolution filter를 stack하면 더 큰 receptive field를 가질 수 있음  2개의 3x3 filter = 5x5 filter  3개의 3x3 filter = 7x7 filter  Parameter수는 큰 filter 사용하는 경우에 비하여 감소  regularization 효과 “Very Deep Convolutional Networks for Large-Scale Image Recognition”
  • 58. 58 Inception-v3 • Factorization of filters “Rethinking the Inception Architecture for Computer Vision”
  • 59. 59 Residual Net(2015 winner) • Revolution of Depth “Deep Residual Learning for Image Recognition”
  • 60. 60 ResNet • Layer수가 많을수록 항상 좋을까? • 56개의 layer를 사용하는 경우가 20개의 layer를 사용하는 경우에 비해 training error가 더 큰 결과가 나옴 “Deep Residual Learning for Image Recognition”
  • 61. 61 ResNet • 더 deep한 model은 training error가 더 낮아야 함  Shallow model의 parameter를 deeper model에 copy  Extra layers가 identity function의 역할 만 해도 동일한 결과가 나올 수 있음 • Deep한 model은 optimization이 쉽 지 않다는 것을 발견(identity도 힘들 다) A shallower model (18 layers) A deeper model (34 layers) “Deep Residual Learning for Image Recognition”
  • 62. 62 Deep Residual Learning • Identity는 그대로 상위 layer로 전달하고, 나머지 부분만 학습 “Deep Residual Learning for Image Recognition”
  • 63. 63 ResNet Result • ImageNet experiments “Deep Residual Learning for Image Recognition”
  • 64. 64 Inception-ResNet • Inception + ResNet “Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning”
  • 66. 66 Tensorflow를 이용한 구현 • Tensorflow  Google에서 개발, 2015년 11월에 open source로 공개된 딥러닝 framework  Python기반, computational graph를 이용(theano와 비슷함)  CPU, GPU, multi-GPU를 모두 지원  https://tensorflow.org
  • 67. 67 Tensorflow 동작 개념 • 어떤 구슬을 넣을 것인지 : variable, placeholder 선언  a = tf.placeholder(“float”) • 못의 개수, 위치를 선정 : network 설 계  y = tf.mul(a, b) • Insert coin : session 생성  sess = tf.Session() • 구슬을 넣음 : network 실행  sess.run(y, feed_dict={a: 3, b: 3}
  • 68. 68 Global Average Pooling Class Activation Map • Global average pooling을 사용하면, parameter 수를 획기 적으로 줄일 수 있음(CNN parameter의 대부분은 fc layer 에 있음) • Class activation map을 이용하여, 컴퓨터가 각 class를 어 떻게 판단했는지 확인, 해당 class의 대략적 위치도 찾을 수 있음 “Learning Deep Features for Discriminative Localization”
  • 69. 69 Fully Connected Layer 3 2 2 3 1 1 3 1 3 2 2 3 1 1 3 1 2 1 softmax 0.8 0.2 Cat Dog
  • 70. 70 Global Average Pooling 3 2 2 3 1 1 3 1 2.5 1.5 2 1 softmax 0.8 0.2 Cat Dog average average
  • 73. 73 Detection “SSD: Single Shot MultiBox Detector
  • 75. 75 Super Resolution “Deeply-Recursive Convolutional Network for Image Super-Resolution”
  • 76. 76 Texture Synthesis “Texture Synthesis Using Convolutional Neural Networks”
  • 77. 77 Artistic Style Transfer “Image Style Transfer Using Convolutional Neural Networks”
  • 79. 79 Visual QnA Q: What is the boy holding? DPPnet: surfboard DPPnet: bat Q: What is the animal doing? DPPnet: resting (relaxing) DPPnet: swimming (fishing) “Image Question Answering using Convolutional Neural Network with Dynamic Parameter Prediction”
  • 80. 80 Generative Adversarial Network “StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks ”
  • 83. 83 Summary & Conclusion • 지능의 핵심은 학습이고, 기계학습은 사람의 학습과정을 모방하여 만들어졌다 • 기계학습(딥러닝)은 기계가 스스로 프로그램을 만들어내는 과정이다 • 기계학습(딥러닝)을 이용하면, 비슷한 유형의 문제의 경우 새로 network를 만들지 않고 data만 바꿔주면 그에 맞는 학습이 진행되어 문제를 풀 수 있다는 장점이 있다 • 딥러닝의 발달로 인하여 수많은 분야에서 딥러닝을 활용 하여 놀라운 성과를 얻어내고 있다 • 딥러닝을 이용하면 전문지식을 갖추지 않아도 그와 관련 된 많은 문제들을 해결할 수 있다
  • 84. 84 인공지능, 딥러닝은 만능? • 동유럽국가 몬테네그로의 수도는 어 디인가? • 바둑판을 1줄씩 늘려서 20x20으로 만 들고 지금 당장 이세돌과 알파고가 대 결한다면? • 의료 data를 분석하여, 수명을 예측해 봅시다  평생 한번도 담배를 안피운 사람  현재 흡연을 하고 있는 사람  과거에 흡연을 했다가 끊은 사람 • 인공지능은 인류의 지능 향상에 도움 이 되는가? • 인공지능의 능력이 커질수록 법적, 도 덕적 문제에 대한 해결이 필요