SlideShare une entreprise Scribd logo
1  sur  90
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clusteringJeonghun Yoon
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE홍배 김
 
Learning Theory 101 ...and Towards Learning the Flat Minima
Learning Theory 101 ...and Towards Learning the Flat MinimaLearning Theory 101 ...and Towards Learning the Flat Minima
Learning Theory 101 ...and Towards Learning the Flat MinimaSangwoo Mo
 
深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定Masaaki Imaizumi
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초Hyungsoo Ryoo
 
Deep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural NetworksDeep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural NetworksSangwoo Mo
 
"How does batch normalization help optimization" Paper Review
"How does batch normalization help optimization" Paper Review"How does batch normalization help optimization" Paper Review
"How does batch normalization help optimization" Paper ReviewLEE HOSEONG
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Networkagdatalab
 
Deep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureDeep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureRouyun Pan
 
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningSemi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningYusuke Uchida
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)Lee Seungeun
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料nishioka1
 
Gan seminar
Gan seminarGan seminar
Gan seminarSan Kim
 

Tendances (20)

SVM
SVMSVM
SVM
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clustering
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE
 
Learning Theory 101 ...and Towards Learning the Flat Minima
Learning Theory 101 ...and Towards Learning the Flat MinimaLearning Theory 101 ...and Towards Learning the Flat Minima
Learning Theory 101 ...and Towards Learning the Flat Minima
 
深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 
PRML5.5
PRML5.5PRML5.5
PRML5.5
 
Deep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural NetworksDeep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural Networks
 
"How does batch normalization help optimization" Paper Review
"How does batch normalization help optimization" Paper Review"How does batch normalization help optimization" Paper Review
"How does batch normalization help optimization" Paper Review
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 
Deep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureDeep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & Future
 
Semi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learningSemi supervised, weakly-supervised, unsupervised, and active learning
Semi supervised, weakly-supervised, unsupervised, and active learning
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
 
Chainerで流体計算
Chainerで流体計算Chainerで流体計算
Chainerで流体計算
 
Gan seminar
Gan seminarGan seminar
Gan seminar
 
Prml nn
Prml nnPrml nn
Prml nn
 
Linear algebra
Linear algebraLinear algebra
Linear algebra
 

Similaire à 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
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트혜승 이
 

Similaire à 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