CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)Lee Seungeun사내 스터디용으로 공부하며 만든 발표 자료입니다. 부족한 부분이 있을 수도 있으니 알려주시면 정정하도록 하겠습니다.
*슬라이드 6에 나오는 classical CNN architecture(뒤에도 계속 나옴)에서 ReLU - Pool - ReLu에서 뒤에 나오는 ReLU는 잘못된 표현입니다. ReLU - Pool에서 ReLU 계산을 또 하는 건 redundant 하기 때문입니다(Kyung Mo Kweon 피드백 감사합니다)
인공지능 방법론 - 딥러닝 이해하기Byoung-Hee KimNote (2017-07-12): a more recent version of this slide has been released. /ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
[기초개념] Recurrent Neural Network (RNN) 소개Donghyeon Kim* 시계열 데이터의 시간적 속성을 이용하는 RNN과 그 한계점을 극복하기 위한 LSTM, GRU 기법에 대해 기본적인 개념을 소개합니다.
* 광주과학기술원 인공지능 스터디 A-GIST 모임에서 발표했습니다.
* 발표 영상 (유튜브, 한국어): https://youtu.be/Dt2SCbKbKvs
강화학습의 개요Dongmin Lee안녕하세요.
강화학습을 공부하면서 처음 접하시는 분들을 위해 ppt로 '강화학습의 개요'에 대해서 정리했습니다.
동물이 학습하는 것과 똑같이 시행착오를 겪으면서 학습하는 강화학습은 기계학습 분야에서 상당히 매력적이라고 생각합니다.
https://www.youtube.com/watch?v=PQtDTdDr8vs&feature=youtu.be
위의 링크는 스키너의 쥐 실험 영상입니다.
감사니다.
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO딥 러닝 자연어 처리를 공부하면서 여러가지 기법들을 파워 포인트 그림으로 그려보았습니다. 참고하시라고 업로드합니다.
감사니다.
Intro to Neural NetworksDean WyatteThis document provides an introduction to neural networks. It discusses how neural networks have recently achieved state-of-the-art results in areas like image and speech recognition and how they were able to beat a human player at the game of Go. It then provides a brief history of neural networks, from the early perceptron model to today's deep learning approaches. It notes how neural networks can automatically learn features from data rather than requiring handcrafted features. The document concludes with an overview of commonly used neural network components and libraries for building neural networks today.
Tutorial on Deep Learninginside-BigData.comZaikun Xu from the Università della Svizzera Italiana presented this deck at the 2016 Switzerland HPC Conference.
“In the past decade, deep learning as a life-changing technology, has gained a huge success on various tasks, including image recognition, speech recognition, machine translation, etc. Pio- neered by several research groups, Geoffrey Hinton (U Toronto), Yoshua Benjio (U Montreal), Yann LeCun(NYU), Juergen Schmiduhuber (IDSIA, Switzerland), Deep learning is a renaissance of neural network in the Big data era.
Neural network is a learning algorithm that consists of input layer, hidden layers and output layers, where each circle represents a neural and the each arrow connection associates with a weight. The way neural network learns is based on how different between the output of output layer and the ground truth, following by calculating the gradients of this discrepancy w.r.b to the weights and adjust the weight accordingly. Ideally, it will find weights that maps input X to target y with error as lower as possible.”
Watch the video presentation: http://insidehpc.com/2016/03/deep-learning/
See more talks in the Swiss Conference Video Gallery: http://insidehpc.com/2016-swiss-hpc-conference/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Deep Learning TutorialAmr RashedSee hints, Ref under each slide
Deep Learning tutorial
https://www.youtube.com/watch?v=q4rZ9ujp3bw&list=PLAI6JViu7XmflH_eGgsWkwvv6lbXhYjjY
인공지능 방법론 - 딥러닝 이해하기Byoung-Hee KimNote (2017-07-12): a more recent version of this slide has been released. /ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
[기초개념] Recurrent Neural Network (RNN) 소개Donghyeon Kim* 시계열 데이터의 시간적 속성을 이용하는 RNN과 그 한계점을 극복하기 위한 LSTM, GRU 기법에 대해 기본적인 개념을 소개합니다.
* 광주과학기술원 인공지능 스터디 A-GIST 모임에서 발표했습니다.
* 발표 영상 (유튜브, 한국어): https://youtu.be/Dt2SCbKbKvs
강화학습의 개요Dongmin Lee안녕하세요.
강화학습을 공부하면서 처음 접하시는 분들을 위해 ppt로 '강화학습의 개요'에 대해서 정리했습니다.
동물이 학습하는 것과 똑같이 시행착오를 겪으면서 학습하는 강화학습은 기계학습 분야에서 상당히 매력적이라고 생각합니다.
https://www.youtube.com/watch?v=PQtDTdDr8vs&feature=youtu.be
위의 링크는 스키너의 쥐 실험 영상입니다.
감사니다.
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO딥 러닝 자연어 처리를 공부하면서 여러가지 기법들을 파워 포인트 그림으로 그려보았습니다. 참고하시라고 업로드합니다.
감사니다.
Intro to Neural NetworksDean WyatteThis document provides an introduction to neural networks. It discusses how neural networks have recently achieved state-of-the-art results in areas like image and speech recognition and how they were able to beat a human player at the game of Go. It then provides a brief history of neural networks, from the early perceptron model to today's deep learning approaches. It notes how neural networks can automatically learn features from data rather than requiring handcrafted features. The document concludes with an overview of commonly used neural network components and libraries for building neural networks today.
Tutorial on Deep Learninginside-BigData.comZaikun Xu from the Università della Svizzera Italiana presented this deck at the 2016 Switzerland HPC Conference.
“In the past decade, deep learning as a life-changing technology, has gained a huge success on various tasks, including image recognition, speech recognition, machine translation, etc. Pio- neered by several research groups, Geoffrey Hinton (U Toronto), Yoshua Benjio (U Montreal), Yann LeCun(NYU), Juergen Schmiduhuber (IDSIA, Switzerland), Deep learning is a renaissance of neural network in the Big data era.
Neural network is a learning algorithm that consists of input layer, hidden layers and output layers, where each circle represents a neural and the each arrow connection associates with a weight. The way neural network learns is based on how different between the output of output layer and the ground truth, following by calculating the gradients of this discrepancy w.r.b to the weights and adjust the weight accordingly. Ideally, it will find weights that maps input X to target y with error as lower as possible.”
Watch the video presentation: http://insidehpc.com/2016/03/deep-learning/
See more talks in the Swiss Conference Video Gallery: http://insidehpc.com/2016-swiss-hpc-conference/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Deep Learning TutorialAmr RashedSee hints, Ref under each slide
Deep Learning tutorial
https://www.youtube.com/watch?v=q4rZ9ujp3bw&list=PLAI6JViu7XmflH_eGgsWkwvv6lbXhYjjY
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK단순히 공식으로 설명하지 않고, 실제 코드 및 샘플데이터를 이용하여 수식의 결과가 어떻게 적용되는지 자세하게 설명하고 있다.
처음 week1 ~ week4 까지는 김성훈 교수님의 "모두를 위한 딥러닝"에서 한번 이해했던 내용이라 좀 쉽게 진행했고, 나머지는 기초가 부족한 상황이라 다른 자료를 꽤 많이 참고하면서 학습해야 했다.
여러 도서나 강의를 이용하여 머신러닝을 학습하려고 했었는데, 이 강의만큼 나에게 맞는것은 없었던거 같다. 특히 Octave code를 이용한 실습자료는 나중에도 언제든 활용가능할 것 같다.
Week1
Linear Regression with One Variable
Linear Algebra - review
Week2
Linear Regression with Multiple Variables
Octave[incomplete]
Week3
Logistic Regression
Regularization
Week4
Neural Networks - Representation
Week5
Neural Networks - Learning
Week6
Advice for applying machine learning techniques
Machine Learning System Design
Week7
Support Vector Machines
Week8
Unsupervised Learning(Clustering)
Dimensionality Reduction
Week9
Anomaly Detection
Recommender Systems
Week10
Large Scale Machine Learning
Week11
Application Example - Photo OCR
2.supervised learning(epoch#2)-3Haesun Parkݺߣs based on "Introduction to Machine Learning with Python" by Andreas Muller and Sarah Guido for Hongdae Machine Learning Study(https://www.meetup.com/Hongdae-Machine-Learning-Study/) (epoch #2)
홍대 머신 러닝 스터디(https://www.meetup.com/Hongdae-Machine-Learning-Study/) (epoch #2)의 "파이썬 라이브러리를 활용한 머신러닝"(옮긴이 박해선) 슬라이드 자료.
DL from scratch(4~5)Park Seong Hyeon밑바닥부터 시작하는 딥러닝 책 리뷰입니다.
자세한 내용은 책을 참고하세요
--------------------------------------------------------------
오타!!!
26p 의 ReLU함수에서 역전파 되는 값 분모의 x 를 y로 바꾸어야 합니다.
3.unsupervised learing(epoch#2)Haesun Parkݺߣs based on "Introduction to Machine Learning with Python" by Andreas Muller and Sarah Guido for Hongdae Machine Learning Study(https://www.meetup.com/Hongdae-Machine-Learning-Study/) (epoch #2)
홍대 머신 러닝 스터디(https://www.meetup.com/Hongdae-Machine-Learning-Study/) (epoch #2)의 "파이썬 라이브러리를 활용한 머신러닝"(옮긴이 박해선) 슬라이드 자료.
Guided policy searchJaehyeon ParkThe guided policy search(GPS) is the branch of reinforcement learning developed for real-world robotics, and its utility is substantiated along many research. This slide show contains the comprehensive concept of GPS, and the detail way to implement, so it would be helpful for anyone who want to study this field.
8. 딥러닝의 발젂 과정
1957 1986
최초 신경망 모델
(Perceptron) 등장
첫 빙하기(30년)
1969
다중 계층 퍼셉트롞 등장
Perceptron을 다중으로 겹치면 이 문제를 해결핛 수 있음을 증명
하지만 레이어가 복잡해질수록, 연산이 복잡해져서 현실적으로 parameter
값을 구하는 것이 불가능
10년 20년
9. 딥러닝의 발젂 과정
1986
새로운 학습 방법 등장
Data가 Model을 스스로 찾아내는 Backpropagation 등장
즉 앞의 짂행방향에서 고쳐가는 것이 아니라 결과를 보고 뒤로
가면서 weight와 bias를 조정하는 방법 고안
11. 딥러닝의 발젂 과정
1990s
문제 직면
두번째 빙하기(10년)
신경망이 깊어질수록 원하는 결과를 얻을 수 없다.
오히려 성능이 저하되는 경우 발생
다음의 문제를 해결 방안을 찾는데 10년이 걸림
1. Overfitting
2. Vanishing gradient
3. Too slow
SVM, Random Forest 등장
12. 딥러닝의 발젂 과정
1990s
성능 저하 사유 확인 불가능
2000s
3가지 핚계점 해결방안 등장
1.Overfitting
2.Vanishing Gradient
3.Too slow
GPU를 활용핚 연산 시도
알고리즘의 발젂
BOOM
13. 딥러닝 프로세스 개요
1957
최초 신경망 모델
(Perceptron) 등장
2000s1969
다중 계층 퍼셉트롞 등장
1986
새로운 학습방법
(Backpropagation)
3가지 핚계점 해결방안
입력층 은닉층 1 출력층은닉층 N…
14. 딥러닝 프로세스 개요
입력층 은닉층 1 출력층은닉층 N
W
a y
a y
W W
Backpropagation
활성함수
(Activation Function)
f(a)
계단함수, tanh,
Sigmoid, ReLU, ELU 등
Softmax(a)
Drop out
Weight Update
최적화
(Optimization)
SGD, AdaGrad,
Momentum, Adam 등
정규화 (Normalization)
손실함수 (Loss Function)
Batch Size
Learning rate
epoch층 개수 (Layer size)
노드 개수 (Unit size)
17. Weight와 bias를 알아내는 것이 신경망의 학습 목표!
x1
Output
bias
x2
w1
w2
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
키워드 #input #weight #bias #output
#activation_function
18. Weight와 bias를 알아내는 것이 신경망의 학습 목표!
x1
Output
bias
x2
w1
w2
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
키워드 #input #weight #bias #output
#activation_function
19. 키워드 #hidden_layer
h(f(x))
bias
yx1
x2
입력층 은닉층 출력층
h(x1*w1 + x2*w2 + bias*1)
#activation_function
단층/다층 신경망의 구조
은닉층의 추가, Deep Learning
활성화함수
(Activation Function)
계단함수, tanh,
Sigmoid, ReLU, ELU 등
활성화함수
(Activation Function)
softmax
은닉층이 2개 이상 = Deep Learning
20. 키워드 #input #weight #bias #output
#activation_function
Output = h(x1*w1 + x2*w2 + x3*w3 + bias)
x1
bias
a
x2
w1
w2
Activation Function
(활성화 함수)
y
h( )
왜 활성화 함수를 쓸까요?
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
21. 키워드 #input #weight #bias #output
#activation_function
Output = h(x1*w1 + x2*w2 + x3*w3 + bias)
x1
bias
a
x2
w1
w2
Activation Function
(활성화 함수)
y
h( )
활성화 함수를 쓰지 않으면,
Linear regression과 똑같다.
(결국엔 y = A•X + b의 형태)
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
23. 키워드 #input #weight #bias #output
#activation_function
Output = h(x1*w1 + x2*w2 + x3*w3 + bias)
x1
bias
a
x2
w1
w2
Activation Function
(활성화 함수)
y
h( )
활성화 함수를 선형 함수로 적용해도,
Linear regression과 똑같다.
(결국엔 y = A•X + b의 형태)
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
24. 키워드 #input #weight #bias #output
#activation_function
Output = h(x1*w1 + x2*w2 + x3*w3 + bias)
x1
bias
a
x2
w1
w2
Activation Function
(활성화 함수)
y
h( )비선형 함수(non-linear function)
딥러닝의 핵심 내용은
선형 함수로 표현하지 못하던 비선형 영역을 표현
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
25. 키워드 #input #weight #bias #output
#activation_function
ylinear
linear
linear
sigmoidx2
x1
x3
Q. 은닉층에 선형함수 적용, 출력층에 비선형함수 적용
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
26. 키워드 #input #weight #bias #output
#activation_function
ylinear
linear
linear
sigmoidx2
x1
x3
Q. 은닉층에 선형함수 적용, 출력층에 비선형함수 적용
단층/다층 신경망의 구조
신경망의 기본 구조부터 알아보자
로지스틱 회귀 모형
44. 기울기 계산
-기울기가 음수라면
공은 왼쪽에서 오른쪽으로
기울기 = 0의 구간에서 멈춤
기울기 계산
-기울기가 양수라면
공은 오른쪽에서 왼쪽으로
키워드 #backpropagation
Backpropagation
‘틀린 정도의 기울기’?
45. ‘틀린 정도의 기울기’ = 미분값 새로운가중치 = f(기존가중치, 미분값)
1
0
0.5
Vanishing gradient로 인해 학습되는 양이 0에 가까워져,
학습이 더디게 짂행되다 오차를 더 줄이지 못하고 그 상태로 수렴하게 됨
3가지 핚계점
Vanishing Gradient란?
0.25
0
sigmoid
Sigmoid의
미분 함수
48. 키워드 #cost_function #gradient_descent
#learning_rate
우리의 목적은 최적화된 bias, weight를 찾는 것
어떻게?
inp
ut
②
Outpu
t
inp
ut
④ Backpropagation
(‘틀린 정도’의 기울기를 젂달)
③ 오차 발생
⑤ weight, bias 갱신
현 가중치로 산출된 cost
function의 기울기(gradient)를
구해서 cost를 낮추는
방향(descent)으로 업데이트하고
이는 일정 속도(learning rate)를
기준으로 핚다.
W = W - α∇J(W,b)
3가지 핚계점
너무 느리다
50. 시간
…
시작!
Step 1. 초기 parameters에 train set 젂체
데이터 넣고 에러 산출
Step 2. 현재 위치를 미분하여 에러를 줄일
수 있는 방향 찾고
Step 3. 일정 학습 속도만큼 움직이자
Step 4. 초기값 에러를 반영핚 두 번째
parameter값 산출
Step 5. 새로운 parameter를 가지고 다시
train set 젂체 데이터를 넣고 에러
산출
Step 6. 반복
…
짂짜 최적화된
bias와 weight는
언제 찾지?
키워드 #cost_function #gradient_descent
#learning_rate
3가지 핚계점
너무 느리다
51. SGD(Stochastic Gradient Descent)
-확률적 경사 하강법
‘확률적으로 무작위로 골라낸 데이터’에 대해
수행하는 경사 하강법
https://www.coursera.org/learn/machine-learning/lecture/DoRHJ/stochastic-gradient-descent
54. 학습속도를 조젃해보고
너무 빨리 지나가서 최저점을
지나치게 된다
운동량을 고려해보자
Local minimum에 갇히게 된다
Local minima
Global minimum
키워드 #learning_rate
3가지 핚계점
SGD의 대안
#momentum
학습속도와 운동량을 고려핚 Optimizer 등장
그렇다면,
55. SGD
속도
운동량
Momentum
NAG
Adagrad Adadelta
RMSProp
Adam
가본곳은 더 정밀하게,
안 가본 곳은 일단 대충 훑자
계속 정밀하게 탐색하지 않고,
어느 선에서 끊어준다
가본곳은 더 정밀하게,
하지만 그 순간에 기울기를
다시 산정해서 속도 조젃
영 아닊 길이 아닊 짂짜 길
같은 곳으로
Momentum대로 가되 그
순간 gradient 다시 계산
현재로써 가장 보편적이고
성능도 우수
3가지 핚계점
Optimizer 종류별 요약