SlideShare una empresa de Scribd logo
1 de 90
Descargar para leer sin conexión
Understanding deep
learning requires rethinking
generalization (2017)
- 2/2
Chiyuan Zhang, Samy Bengio, Moritz
Hardt, Benjamin Recht, Oriol Vinyals
170326 @mikibear_ 논문 정리
https://arxiv.org/abs/1611.03530
이 자료는 첫 자료에서 이어지는 자료입니다.
질문 3,
"딥러닝 모델이 암기를 한다고 했는데, 그럼 그
Capacity가 어떻게 되나?"
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
증명
(약간의 선형대수 지식이 필요합니다)
본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다.
본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다.
Sequence가 이렇게 있을 때,
본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다.
Sequence가 이렇게 있을 때,
이런 매트릭스 A가
본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다.
Sequence가 이렇게 있을 때,
매트릭스 A가
Rank가 n입니다.
본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다.
Sequence가 이렇게 있을 때,
매트릭스 A가
Rank가 n입니다.
???????????
좀 친숙한 형태로 바꿔봅시다
A를 Square Matrix Form으로 적으면 요렇게 됩니다
A는 Lower-triangular matrix인 것을 알 수 있습니다.
A는 Lower-triangular matrix인 것을 알 수 있습니다.
따라서 A의 rank는 n입니다.
(Gaussian elimination 등을 떠올려보면 더 쉽게 와닿으실 겁니다.)
Low-triangular matrix의 모든 eigenvalue는 diagonal elements이므로,
가장 작은 eigenvalue가 diagonal element 중 가장 작은 것이 되는 것도
자연스럽습니다.
근데 이게
근데 이게
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
이거랑 뭔 상관일까요… 일단 Theorem 1에 대한 증명을
봅시다.
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
요걸 함수 형태로 나타내야 합니다.
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
요걸 함수 형태로 나타내야 합니다.
어떻게?
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
요걸 함수 형태로 나타내야 합니다.
어떻게?
이렇게!
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
좋습니다. 이제
가
좋습니다. 이제
가
D차원의 n개의 샘플에 대한 어떠한 함수도 될 수 있음을
보이면 될 것 같습니다.
좋습니다. 이제
가
D차원의 n개의 샘플에 대한 어떠한 함수도 될 수 있음을
보이면 될 것 같습니다.
그런데 이를 어떻게 보일까요.
약간 생각을 틀어서 생각해봐야할 것 같습니다.
약간 생각을 틀어서 생각해봐야할 것 같습니다.
샘플과 타겟의 벡터를 각각
, 라 해봅시다.
만약, 모든 1부터 n까지의 모든 i에 대해서
를 모두 만족시키는
만약, 모든 1부터 n까지의 모든 i에 대해서
를 모두 만족시키는
w, b, a를 찾을 수 있다면, 이는 샘플 S와 타겟 y에 대한
일대일함수 c를 찾을 수 있다는 것을 말합니다.
"모든 1부터 n까지의 모든 i에 대해서
를 모두 만족시키는 w, b, a를 찾을 수 있다"
는 동치입니다.
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
따라서
와
그러면 좀 수식을 전개하면서 볼까요.
이거 되게 익숙한 식이죠?
이거 되게 익숙한 식이죠?
이거 되게 익숙한 식이죠?
A는 rank가 n!
이거 되게 익숙한 식이죠?
A는 rank가 n! n*n matrix의 rank가 n이므로,
A는 invertible.
A는 invertible,
고로 임의의 a, b에
해당하는 w를 항상
찾을 수 있다.
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
증명 완료.
논문에서는 좀 더 일반화된 형태의 명제도 다룹니다...
만…
(수식 레이텍으로 쓰기 힘들어요)
(개인적인 생각)
사실 FFNN의 Approximation Capabilities에 대한 이 문제는
Universal approximation theorem에 대한 연구와 함께 몇몇
연구에서 이미 조명되었던 사항입니다.
(개인적인 생각)
사실 FFNN의 Approximation Capabilities에 대한 이 문제는
Universal approximation theorem에 대한 연구와 함께 몇몇
연구에서 이미 조명되었던 사항입니다.
그럼에도 불구하고, 본 논문에서 이를 재조명한 이유는,
1) '일반적인 통념과는 달리, Universal approximation
theorem이 Generalization을 보장해주는 것은 아니다'를
강조하고
2) 특정 2 layer NN에 대한 Capability에 대한 증명을
직관적으로 보이도록 발전시켰기 때문인 듯 합니다.
질문 4,
"SGD도 딥러닝 트레이닝 중 일반화를 시키는데
도움을 준다고 알려져 있는데, 이건 어떤가?"
본격적인 논의에 앞서, 본 섹션 도입에서는
'과연 우리는 딥러닝 모델 이전에 간단한 선형 모델에 대한
일반화라는 것에 대해서도 제대로 이해하고 있는가'에 대한
질문을 던집니다.
선형 모델에서의 일반화도 제대로 설명하지 못하는데,
딥러닝 모델에서의 일반화를 논하는 건 시기상조라는 거죠.
그래서 본 섹션에서는
SGD를 선형 모델에 적용시켜 수식을 전개합니다.
Nonnegative loss function을 가정하면, 일반적인 선형
모델의 ERM problem은 다음과 같을 것입니다.
x는 d차원의 feature vector이며, y는 label입니다.
Nonnegative loss function을 가정하면, 일반적인 선형
모델의 ERM problem은 다음과 같을 것입니다.
x는 d차원의 feature vector이며, y는 label입니다.
이를 를 푸는 것으로 바꿔 생각해봅시다.
(따라서, X는 n*d 행렬입니다)
Nonnegative loss function을 가정하면, 일반적인 선형
모델의 ERM problem은 다음과 같을 것입니다.
x는 d차원의 feature vector이며, y는 label입니다.
이를 를 푸는 것으로 바꿔 생각해봅시다.
(따라서, X는 n*d 행렬입니다)
d가 n보다 같거나 크게 되면 이 시스템은 Underdetermined입니다.
따라서, ERM problem에 대해서 다수의 global minima를 갖게 됩니다.
문제는, 이 다수의 global minima 중에 어떤 것이 가장 좋은
global minima인지 결정하기가 힘들다는 것입니다.
(여기서의 '좋다'는 말은 '일반화를 잘한다'는 말과
동치입니다)
만약 minima의 quality를 결정할 수 있는 인덱스가 있다면,
이것은 비교적 쉬운 문제일 것입니다.
기존의 방법에는 각 solution에서의 loss function의
curvature를 보고 판단하는 방법 등이 있으나, 선형 모델은
모든 solution에서 curvature가 모두 똑같으니 이를 사용하는
것은 불가능합니다.
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
SGD는 보통 이런 방식으로 움직이죠.
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
SGD는 보통 이런 방식으로 움직이죠.
다음 step에서의 weight 현재 weight step 사이즈 예측
에러
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
SGD는 보통 이런 방식으로 움직이죠.
그럼 이 식으로 w를 풀어봅시다.
다음 step에서의 weight 현재 weight step 사이즈 예측
에러
만약 이면,
만약 이면,
만약 이면,
만약 이면,
다시 말하면,
SGD에 의해서 찾아진 weight는 data point의 vector space에 span합니다.
다시 말하면,
SGD에 의해서 찾아진 weight는 data point의 vector space에 span합니다.
이렇게 찾아진 w를 라 두고, 우리가 원래 풀려고 했던 식인
다시 말하면,
SGD에 의해서 찾아진 weight는 data point의 vector space에 span합니다.
이렇게 찾아진 w를 라 두고, 우리가 원래 풀려고 했던 식인
를 SGD로 찾아낸 w로 풀어봅시다.
n*n matrix n vector
n*n matrix n vector
따라서, SGD에 의하면 는 Unique하게 결정됩니다.
n*n matrix n vector
따라서, SGD에 의하면 는 Unique하게 결정됩니다.
ERM problem의 무수히 많은 solution 중에서 단 하나만을
찾습니다.
n*n matrix n vector
게다가 를 일종의 kernel matrix처럼 사용해도
무방합니다. 만약 여기에 다른 커널들을 걸게 되면 SVM에서
많이 보게되는 kernel trick의 꼴을 띄게 됩니다.
n*n matrix n vector
게다가 를 일종의 kernel matrix처럼 사용해도
무방합니다. 만약 여기에 다른 커널들을 걸게 되면 SVM에서
많이 보게되는 kernel trick의 꼴을 띄게 됩니다.
Kernel trick에 대해서 처음 들어보신다면, (적어도 여기에선)
에 pre-processing을 한 사진을 갖다가 걸어줘도 괜찮다는 의미로
받아들이셔도 무방합니다.
n*n matrix n vector
물론 그런 식으로 kernel trick을 걸어주게 되면, 같은
데이터에 대한 것일지라도 각각의 kernel에 해당하는
optimal 는 달라질 것입니다.
추가적으로 보충하고 넘어가야하는 SGD의 훌륭한 점은,
이와 같은 solution이 L2-norm을 최소화하는 것과 동치라는 것입니다.
추가적으로 보충하고 넘어가야하는 SGD의 훌륭한 점은,
이와 같은 solution이 L2-norm을 최소화하는 것과 동치라는 것입니다.
간단한 시스템의 least-norm solution이
이고,
SGD에 의한 kernel solution으로 푸는 것이
, 등의 수식에서 기인한 것임을 생각해보면,
직관적입니다.
본 논문에서는
위 식을 MNIST와 CIFAR10에 대해서 풀어봅니다.
물론 n이 60,000개까지 올라가므로, LAPACK 병렬화,
24코어 시스템, 256GB RAM 등을 이용합니다.
실험 결과를 정리하면 다음과 같습니다.
실험 결과를 정리하면 다음과 같습니다.
단순한 선형 모델치고는 꽤 훌륭해 보입니다.
실험 결과를 정리하면 다음과 같습니다.
단순한 선형 모델치고는 꽤 훌륭해 보입니다.
특히, 커널에 따라서 꽤 많이 test error가 달라지는 것을 볼 수
있습니다.
SGD는 그 자체로 어느 정도 일반화 능력을 내포하고 있는 것처럼 보입니다.
SGD는 그 자체로 어느 정도 일반화 능력을 내포하고 있는 것처럼 보입니다.
이유를 꼽아보라면, 그 자체로 L2 regularization을 암시하기 때문입니다.
For linear models, SGD always converges to a solution with small norm.
Hence, the algorithm itself is implicitly regularizing the solution.
하지만, 논문은 이러한 논리에는 조금 문제가 있다고 주장합니다.
왜냐하면 MNIST 실험에서의 경우 none pre-processing의 경우가 220의 L2
norm을 가진 데에 반해, gabor filter pre-processing은 390의 L2 norm을
가졌기 때문입니다.
220 L2-norm
390 L2-norm
하지만, 논문은 이러한 논리에는 조금 문제가 있다고 주장합니다.
왜냐하면 MNIST 실험에서의 경우 none pre-processing의 경우가 220의 L2
norm을 가진 데에 반해, gabor filter pre-processing은 390의 L2 norm을
가졌기 때문입니다.
이는 모델의 L2-norm과 일반화 능력에 대한 기존의 관점과 대치되는
부분입니다.
220 L2-norm
390 L2-norm
질문 4,
"SGD도 딥러닝 트레이닝 중 일반화를 시키는데
도움을 준다고 알려져 있는데, 이건 어떤가?"
'어느 정도는 맞는데, 그것도 완전히 맞지는 않는다'
질문 4,
"SGD도 딥러닝 트레이닝 중 일반화를 시키는데
도움을 준다고 알려져 있는데, 이건 어떤가?"
'어느 정도는 맞는데, 그것도 완전히 맞지는 않는다'
또 미적지근...
논문의 결론
우리는 뉴럴 네트워크 모델의 '일반화'라는 것에 대해서
거의 이해하지 못하고 있다!
그리고…
논문의 결론
우리는 뉴럴 네트워크 모델의 '일반화'라는 것에 대해서
거의 이해하지 못하고 있다!
그리고…
“We believe that understanding neural networks
requires rethinking generalization.”
틀린 내용이 있거나 중요한데 빠져있는 경우 알려주세요!
@mikibear

Más contenido relacionado

La actualidad más candente

Neural networks and deep learning
Neural networks and deep learningNeural networks and deep learning
Neural networks and deep learningJörgen Sandig
 
Digit recognition using mnist database
Digit recognition using mnist databaseDigit recognition using mnist database
Digit recognition using mnist databasebtandale
 
Deep learning - A Visual Introduction
Deep learning - A Visual IntroductionDeep learning - A Visual Introduction
Deep learning - A Visual IntroductionLukas Masuch
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep LearningOleg Mygryn
 
데이터분석의 길 4: “고수는 통계학습의 달인이다”
데이터분석의 길 4:  “고수는 통계학습의 달인이다”데이터분석의 길 4:  “고수는 통계학습의 달인이다”
데이터분석의 길 4: “고수는 통계학습의 달인이다”Jaimie Kwon (권재명)
 
Image classification using CNN
Image classification using CNNImage classification using CNN
Image classification using CNNNoura Hussein
 
Introduction to Few shot learning
Introduction to Few shot learningIntroduction to Few shot learning
Introduction to Few shot learningRidge-i, Inc.
 
Deep Learning - RNN and CNN
Deep Learning - RNN and CNNDeep Learning - RNN and CNN
Deep Learning - RNN and CNNPradnya Saval
 
introduction to deep Learning with full detail
introduction to deep Learning with full detailintroduction to deep Learning with full detail
introduction to deep Learning with full detailsonykhan3
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine LearningKmPooja4
 
Introduction_to_DEEP_LEARNING.ppt
Introduction_to_DEEP_LEARNING.pptIntroduction_to_DEEP_LEARNING.ppt
Introduction_to_DEEP_LEARNING.pptSwatiMahale4
 
Vanishing & Exploding Gradients
Vanishing & Exploding GradientsVanishing & Exploding Gradients
Vanishing & Exploding GradientsSiddharth Vij
 

La actualidad más candente (20)

Neural networks and deep learning
Neural networks and deep learningNeural networks and deep learning
Neural networks and deep learning
 
Digit recognition using mnist database
Digit recognition using mnist databaseDigit recognition using mnist database
Digit recognition using mnist database
 
Deep learning - A Visual Introduction
Deep learning - A Visual IntroductionDeep learning - A Visual Introduction
Deep learning - A Visual Introduction
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep Learning
 
GoogLeNet Insights
GoogLeNet InsightsGoogLeNet Insights
GoogLeNet Insights
 
데이터분석의 길 4: “고수는 통계학습의 달인이다”
데이터분석의 길 4:  “고수는 통계학습의 달인이다”데이터분석의 길 4:  “고수는 통계학습의 달인이다”
데이터분석의 길 4: “고수는 통계학습의 달인이다”
 
Andrew Ng, Chief Scientist at Baidu
Andrew Ng, Chief Scientist at BaiduAndrew Ng, Chief Scientist at Baidu
Andrew Ng, Chief Scientist at Baidu
 
MobileNet V3
MobileNet V3MobileNet V3
MobileNet V3
 
Image classification using CNN
Image classification using CNNImage classification using CNN
Image classification using CNN
 
Introduction to Few shot learning
Introduction to Few shot learningIntroduction to Few shot learning
Introduction to Few shot learning
 
Deep Learning - RNN and CNN
Deep Learning - RNN and CNNDeep Learning - RNN and CNN
Deep Learning - RNN and CNN
 
Artificial Neural Network.pptx
Artificial Neural Network.pptxArtificial Neural Network.pptx
Artificial Neural Network.pptx
 
Neuralink veille
Neuralink veilleNeuralink veille
Neuralink veille
 
Activation function
Activation functionActivation function
Activation function
 
introduction to deep Learning with full detail
introduction to deep Learning with full detailintroduction to deep Learning with full detail
introduction to deep Learning with full detail
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Introduction_to_DEEP_LEARNING.ppt
Introduction_to_DEEP_LEARNING.pptIntroduction_to_DEEP_LEARNING.ppt
Introduction_to_DEEP_LEARNING.ppt
 
Vanishing & Exploding Gradients
Vanishing & Exploding GradientsVanishing & Exploding Gradients
Vanishing & Exploding Gradients
 
CNN Tutorial
CNN TutorialCNN Tutorial
CNN Tutorial
 
Duplicate_Quora_Question_Detection
Duplicate_Quora_Question_DetectionDuplicate_Quora_Question_Detection
Duplicate_Quora_Question_Detection
 

Similar a Understanding deep learning requires rethinking generalization (2017) 2 2(2)

The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsLee Gyeong Hoon
 
PR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksPR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksKyunghoon Jung
 
221123 지승현 Uniform convergence may be unable to explain generalization in dee...
221123 지승현 Uniform convergence may be unable to explain generalization in dee...221123 지승현 Uniform convergence may be unable to explain generalization in dee...
221123 지승현 Uniform convergence may be unable to explain generalization in dee...ssuserf03c031
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
Guided policy search
Guided policy searchGuided policy search
Guided policy searchJaehyeon Park
 
SAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxSAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxssuser4b2fe7
 
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현 [kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현 Adonis Han
 
Active learning literature survey
Active learning  literature surveyActive learning  literature survey
Active learning literature surveyhyunsikkim30
 
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2jdo
 
Dense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDong Heon Cho
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Haezoom Inc.
 
Explaining and harnessing adversarial examples (2015)
Explaining and harnessing adversarial examples (2015)Explaining and harnessing adversarial examples (2015)
Explaining and harnessing adversarial examples (2015)정훈 서
 
[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수
[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수
[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수jdo
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
Chapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive netsChapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive netsKyeongUkJang
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트혜승 이
 

Similar a Understanding deep learning requires rethinking generalization (2017) 2 2(2) (20)

The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnets
 
PR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksPR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural Networks
 
PaLM Paper Review
PaLM Paper ReviewPaLM Paper Review
PaLM Paper Review
 
221123 지승현 Uniform convergence may be unable to explain generalization in dee...
221123 지승현 Uniform convergence may be unable to explain generalization in dee...221123 지승현 Uniform convergence may be unable to explain generalization in dee...
221123 지승현 Uniform convergence may be unable to explain generalization in dee...
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
SAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxSAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptx
 
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현 [kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
 
Active learning literature survey
Active learning  literature surveyActive learning  literature survey
Active learning literature survey
 
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
 
REALM
REALMREALM
REALM
 
Dense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other Models
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
 
Review MLP Mixer
Review MLP MixerReview MLP Mixer
Review MLP Mixer
 
Explaining and harnessing adversarial examples (2015)
Explaining and harnessing adversarial examples (2015)Explaining and harnessing adversarial examples (2015)
Explaining and harnessing adversarial examples (2015)
 
[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수
[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수
[컴퓨터비전과 인공지능] 10. 신경망 학습하기 파트 1 - 1. 활성화 함수
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
Chapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive netsChapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive nets
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
 

Understanding deep learning requires rethinking generalization (2017) 2 2(2)

  • 1. Understanding deep learning requires rethinking generalization (2017) - 2/2 Chiyuan Zhang, Samy Bengio, Moritz Hardt, Benjamin Recht, Oriol Vinyals 170326 @mikibear_ 논문 정리
  • 2. https://arxiv.org/abs/1611.03530 이 자료는 첫 자료에서 이어지는 자료입니다.
  • 3. 질문 3, "딥러닝 모델이 암기를 한다고 했는데, 그럼 그 Capacity가 어떻게 되나?"
  • 4.
  • 5. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다."
  • 7. 본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다.
  • 8. 본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다. Sequence가 이렇게 있을 때,
  • 9. 본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다. Sequence가 이렇게 있을 때, 이런 매트릭스 A가
  • 10. 본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다. Sequence가 이렇게 있을 때, 매트릭스 A가 Rank가 n입니다.
  • 11. 본 Theorem의 증명은 다음과 같은 Lemma로 시작합니다. Sequence가 이렇게 있을 때, 매트릭스 A가 Rank가 n입니다. ???????????
  • 12. 좀 친숙한 형태로 바꿔봅시다
  • 13.
  • 14. A를 Square Matrix Form으로 적으면 요렇게 됩니다
  • 15. A는 Lower-triangular matrix인 것을 알 수 있습니다.
  • 16. A는 Lower-triangular matrix인 것을 알 수 있습니다. 따라서 A의 rank는 n입니다. (Gaussian elimination 등을 떠올려보면 더 쉽게 와닿으실 겁니다.)
  • 17. Low-triangular matrix의 모든 eigenvalue는 diagonal elements이므로, 가장 작은 eigenvalue가 diagonal element 중 가장 작은 것이 되는 것도 자연스럽습니다.
  • 19. 근데 이게 "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다." 이거랑 뭔 상관일까요… 일단 Theorem 1에 대한 증명을 봅시다.
  • 20. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다."
  • 21. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다." 요걸 함수 형태로 나타내야 합니다.
  • 22. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다." 요걸 함수 형태로 나타내야 합니다. 어떻게?
  • 23. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다." 요걸 함수 형태로 나타내야 합니다. 어떻게? 이렇게!
  • 24. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다."
  • 25. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다."
  • 26. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다."
  • 27. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다."
  • 29. 좋습니다. 이제 가 D차원의 n개의 샘플에 대한 어떠한 함수도 될 수 있음을 보이면 될 것 같습니다.
  • 30. 좋습니다. 이제 가 D차원의 n개의 샘플에 대한 어떠한 함수도 될 수 있음을 보이면 될 것 같습니다. 그런데 이를 어떻게 보일까요.
  • 31. 약간 생각을 틀어서 생각해봐야할 것 같습니다.
  • 32. 약간 생각을 틀어서 생각해봐야할 것 같습니다. 샘플과 타겟의 벡터를 각각 , 라 해봅시다.
  • 33. 만약, 모든 1부터 n까지의 모든 i에 대해서 를 모두 만족시키는
  • 34. 만약, 모든 1부터 n까지의 모든 i에 대해서 를 모두 만족시키는 w, b, a를 찾을 수 있다면, 이는 샘플 S와 타겟 y에 대한 일대일함수 c를 찾을 수 있다는 것을 말합니다.
  • 35. "모든 1부터 n까지의 모든 i에 대해서 를 모두 만족시키는 w, b, a를 찾을 수 있다" 는 동치입니다. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다." 따라서 와
  • 36. 그러면 좀 수식을 전개하면서 볼까요.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 45. 이거 되게 익숙한 식이죠? A는 rank가 n!
  • 46. 이거 되게 익숙한 식이죠? A는 rank가 n! n*n matrix의 rank가 n이므로, A는 invertible.
  • 47. A는 invertible, 고로 임의의 a, b에 해당하는 w를 항상 찾을 수 있다.
  • 48. "(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를 사용하는 2층 뉴럴 네트워크는 d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수 있다." 증명 완료. 논문에서는 좀 더 일반화된 형태의 명제도 다룹니다... 만… (수식 레이텍으로 쓰기 힘들어요)
  • 49. (개인적인 생각) 사실 FFNN의 Approximation Capabilities에 대한 이 문제는 Universal approximation theorem에 대한 연구와 함께 몇몇 연구에서 이미 조명되었던 사항입니다.
  • 50. (개인적인 생각) 사실 FFNN의 Approximation Capabilities에 대한 이 문제는 Universal approximation theorem에 대한 연구와 함께 몇몇 연구에서 이미 조명되었던 사항입니다. 그럼에도 불구하고, 본 논문에서 이를 재조명한 이유는, 1) '일반적인 통념과는 달리, Universal approximation theorem이 Generalization을 보장해주는 것은 아니다'를 강조하고 2) 특정 2 layer NN에 대한 Capability에 대한 증명을 직관적으로 보이도록 발전시켰기 때문인 듯 합니다.
  • 51. 질문 4, "SGD도 딥러닝 트레이닝 중 일반화를 시키는데 도움을 준다고 알려져 있는데, 이건 어떤가?"
  • 52. 본격적인 논의에 앞서, 본 섹션 도입에서는 '과연 우리는 딥러닝 모델 이전에 간단한 선형 모델에 대한 일반화라는 것에 대해서도 제대로 이해하고 있는가'에 대한 질문을 던집니다. 선형 모델에서의 일반화도 제대로 설명하지 못하는데, 딥러닝 모델에서의 일반화를 논하는 건 시기상조라는 거죠. 그래서 본 섹션에서는 SGD를 선형 모델에 적용시켜 수식을 전개합니다.
  • 53. Nonnegative loss function을 가정하면, 일반적인 선형 모델의 ERM problem은 다음과 같을 것입니다. x는 d차원의 feature vector이며, y는 label입니다.
  • 54. Nonnegative loss function을 가정하면, 일반적인 선형 모델의 ERM problem은 다음과 같을 것입니다. x는 d차원의 feature vector이며, y는 label입니다. 이를 를 푸는 것으로 바꿔 생각해봅시다. (따라서, X는 n*d 행렬입니다)
  • 55. Nonnegative loss function을 가정하면, 일반적인 선형 모델의 ERM problem은 다음과 같을 것입니다. x는 d차원의 feature vector이며, y는 label입니다. 이를 를 푸는 것으로 바꿔 생각해봅시다. (따라서, X는 n*d 행렬입니다) d가 n보다 같거나 크게 되면 이 시스템은 Underdetermined입니다. 따라서, ERM problem에 대해서 다수의 global minima를 갖게 됩니다.
  • 56. 문제는, 이 다수의 global minima 중에 어떤 것이 가장 좋은 global minima인지 결정하기가 힘들다는 것입니다. (여기서의 '좋다'는 말은 '일반화를 잘한다'는 말과 동치입니다) 만약 minima의 quality를 결정할 수 있는 인덱스가 있다면, 이것은 비교적 쉬운 문제일 것입니다. 기존의 방법에는 각 solution에서의 loss function의 curvature를 보고 판단하는 방법 등이 있으나, 선형 모델은 모든 solution에서 curvature가 모두 똑같으니 이를 사용하는 것은 불가능합니다.
  • 57. 그래서, 저자들은 ‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서 검증을 시작합니다.
  • 58. 그래서, 저자들은 ‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서 검증을 시작합니다. SGD는 보통 이런 방식으로 움직이죠.
  • 59. 그래서, 저자들은 ‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서 검증을 시작합니다. SGD는 보통 이런 방식으로 움직이죠. 다음 step에서의 weight 현재 weight step 사이즈 예측 에러
  • 60. 그래서, 저자들은 ‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서 검증을 시작합니다. SGD는 보통 이런 방식으로 움직이죠. 그럼 이 식으로 w를 풀어봅시다. 다음 step에서의 weight 현재 weight step 사이즈 예측 에러
  • 65. 다시 말하면, SGD에 의해서 찾아진 weight는 data point의 vector space에 span합니다.
  • 66. 다시 말하면, SGD에 의해서 찾아진 weight는 data point의 vector space에 span합니다. 이렇게 찾아진 w를 라 두고, 우리가 원래 풀려고 했던 식인
  • 67. 다시 말하면, SGD에 의해서 찾아진 weight는 data point의 vector space에 span합니다. 이렇게 찾아진 w를 라 두고, 우리가 원래 풀려고 했던 식인 를 SGD로 찾아낸 w로 풀어봅시다.
  • 68.
  • 69.
  • 70. n*n matrix n vector
  • 71. n*n matrix n vector 따라서, SGD에 의하면 는 Unique하게 결정됩니다.
  • 72. n*n matrix n vector 따라서, SGD에 의하면 는 Unique하게 결정됩니다. ERM problem의 무수히 많은 solution 중에서 단 하나만을 찾습니다.
  • 73. n*n matrix n vector 게다가 를 일종의 kernel matrix처럼 사용해도 무방합니다. 만약 여기에 다른 커널들을 걸게 되면 SVM에서 많이 보게되는 kernel trick의 꼴을 띄게 됩니다.
  • 74. n*n matrix n vector 게다가 를 일종의 kernel matrix처럼 사용해도 무방합니다. 만약 여기에 다른 커널들을 걸게 되면 SVM에서 많이 보게되는 kernel trick의 꼴을 띄게 됩니다. Kernel trick에 대해서 처음 들어보신다면, (적어도 여기에선) 에 pre-processing을 한 사진을 갖다가 걸어줘도 괜찮다는 의미로 받아들이셔도 무방합니다.
  • 75. n*n matrix n vector 물론 그런 식으로 kernel trick을 걸어주게 되면, 같은 데이터에 대한 것일지라도 각각의 kernel에 해당하는 optimal 는 달라질 것입니다.
  • 76. 추가적으로 보충하고 넘어가야하는 SGD의 훌륭한 점은, 이와 같은 solution이 L2-norm을 최소화하는 것과 동치라는 것입니다.
  • 77. 추가적으로 보충하고 넘어가야하는 SGD의 훌륭한 점은, 이와 같은 solution이 L2-norm을 최소화하는 것과 동치라는 것입니다. 간단한 시스템의 least-norm solution이 이고, SGD에 의한 kernel solution으로 푸는 것이 , 등의 수식에서 기인한 것임을 생각해보면, 직관적입니다.
  • 78. 본 논문에서는 위 식을 MNIST와 CIFAR10에 대해서 풀어봅니다. 물론 n이 60,000개까지 올라가므로, LAPACK 병렬화, 24코어 시스템, 256GB RAM 등을 이용합니다.
  • 79. 실험 결과를 정리하면 다음과 같습니다.
  • 80. 실험 결과를 정리하면 다음과 같습니다. 단순한 선형 모델치고는 꽤 훌륭해 보입니다.
  • 81. 실험 결과를 정리하면 다음과 같습니다. 단순한 선형 모델치고는 꽤 훌륭해 보입니다. 특히, 커널에 따라서 꽤 많이 test error가 달라지는 것을 볼 수 있습니다.
  • 82. SGD는 그 자체로 어느 정도 일반화 능력을 내포하고 있는 것처럼 보입니다.
  • 83. SGD는 그 자체로 어느 정도 일반화 능력을 내포하고 있는 것처럼 보입니다. 이유를 꼽아보라면, 그 자체로 L2 regularization을 암시하기 때문입니다. For linear models, SGD always converges to a solution with small norm. Hence, the algorithm itself is implicitly regularizing the solution.
  • 84. 하지만, 논문은 이러한 논리에는 조금 문제가 있다고 주장합니다. 왜냐하면 MNIST 실험에서의 경우 none pre-processing의 경우가 220의 L2 norm을 가진 데에 반해, gabor filter pre-processing은 390의 L2 norm을 가졌기 때문입니다. 220 L2-norm 390 L2-norm
  • 85. 하지만, 논문은 이러한 논리에는 조금 문제가 있다고 주장합니다. 왜냐하면 MNIST 실험에서의 경우 none pre-processing의 경우가 220의 L2 norm을 가진 데에 반해, gabor filter pre-processing은 390의 L2 norm을 가졌기 때문입니다. 이는 모델의 L2-norm과 일반화 능력에 대한 기존의 관점과 대치되는 부분입니다. 220 L2-norm 390 L2-norm
  • 86. 질문 4, "SGD도 딥러닝 트레이닝 중 일반화를 시키는데 도움을 준다고 알려져 있는데, 이건 어떤가?" '어느 정도는 맞는데, 그것도 완전히 맞지는 않는다'
  • 87. 질문 4, "SGD도 딥러닝 트레이닝 중 일반화를 시키는데 도움을 준다고 알려져 있는데, 이건 어떤가?" '어느 정도는 맞는데, 그것도 완전히 맞지는 않는다' 또 미적지근...
  • 88. 논문의 결론 우리는 뉴럴 네트워크 모델의 '일반화'라는 것에 대해서 거의 이해하지 못하고 있다! 그리고…
  • 89. 논문의 결론 우리는 뉴럴 네트워크 모델의 '일반화'라는 것에 대해서 거의 이해하지 못하고 있다! 그리고… “We believe that understanding neural networks requires rethinking generalization.”
  • 90. 틀린 내용이 있거나 중요한데 빠져있는 경우 알려주세요! @mikibear