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