O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Understanding deep
learning requires rethinking
generalization (2017)
- 2/2
Chiyuan Zhang, Samy Bengio, Moritz
Hardt, Benj...
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에 대한 연구와 함께 몇몇
연구에서 이미 조명되었던 사항입니다....
질문 4,
"SGD도 딥러닝 트레이닝 중 일반화를 시키는데
도움을 준다고 알려져 있는데, 이건 어떤가?"
본격적인 논의에 앞서, 본 섹션 도입에서는
'과연 우리는 딥러닝 모델 이전에 간단한 선형 모델에 대한
일반화라는 것에 대해서도 제대로 이해하고 있는가'에 대한
질문을 던집니다.
선형 모델에서의 일반화도 제대로 설명하지 ...
Nonnegative loss function을 가정하면, 일반적인 선형
모델의 ERM problem은 다음과 같을 것입니다.
x는 d차원의 feature vector이며, y는 label입니다.
Nonnegative loss function을 가정하면, 일반적인 선형
모델의 ERM problem은 다음과 같을 것입니다.
x는 d차원의 feature vector이며, y는 label입니다.
이를 를 푸는 것으로 ...
Nonnegative loss function을 가정하면, 일반적인 선형
모델의 ERM problem은 다음과 같을 것입니다.
x는 d차원의 feature vector이며, y는 label입니다.
이를 를 푸는 것으로 ...
문제는, 이 다수의 global minima 중에 어떤 것이 가장 좋은
global minima인지 결정하기가 힘들다는 것입니다.
(여기서의 '좋다'는 말은 '일반화를 잘한다'는 말과
동치입니다)
만약 minima의 q...
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
SGD는 보통 이런 방식으로 움직이죠.
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
SGD는 보통 이런 방식으로 움직이죠.
다음 step에서의 weight 현재 weight step 사이즈 예측
에러
그래서, 저자들은
‘SGD가 좋은 minima를 찾아주지 않을까'하는 믿음에 대해서
검증을 시작합니다.
SGD는 보통 이런 방식으로 움직이죠.
그럼 이 식으로 w를 풀어봅시다.
다음 step에서의 weight 현재 we...
만약 이면,
만약 이면,
만약 이면,
만약 이면,
다시 말하면,
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의 꼴을 띄게 됩니다.
Kern...
n*n matrix n vector
물론 그런 식으로 kernel trick을 걸어주게 되면, 같은
데이터에 대한 것일지라도 각각의 kernel에 해당하는
optimal 는 달라질 것입니다.
추가적으로 보충하고 넘어가야하는 SGD의 훌륭한 점은,
이와 같은 solution이 L2-norm을 최소화하는 것과 동치라는 것입니다.
추가적으로 보충하고 넘어가야하는 SGD의 훌륭한 점은,
이와 같은 solution이 L2-norm을 최소화하는 것과 동치라는 것입니다.
간단한 시스템의 least-norm solution이
이고,
SGD에 의한 kern...
본 논문에서는
위 식을 MNIST와 CIFAR10에 대해서 풀어봅니다.
물론 n이 60,000개까지 올라가므로, LAPACK 병렬화,
24코어 시스템, 256GB RAM 등을 이용합니다.
실험 결과를 정리하면 다음과 같습니다.
실험 결과를 정리하면 다음과 같습니다.
단순한 선형 모델치고는 꽤 훌륭해 보입니다.
실험 결과를 정리하면 다음과 같습니다.
단순한 선형 모델치고는 꽤 훌륭해 보입니다.
특히, 커널에 따라서 꽤 많이 test error가 달라지는 것을 볼 수
있습니다.
SGD는 그 자체로 어느 정도 일반화 능력을 내포하고 있는 것처럼 보입니다.
SGD는 그 자체로 어느 정도 일반화 능력을 내포하고 있는 것처럼 보입니다.
이유를 꼽아보라면, 그 자체로 L2 regularization을 암시하기 때문입니다.
For linear models, SGD always c...
하지만, 논문은 이러한 논리에는 조금 문제가 있다고 주장합니다.
왜냐하면 MNIST 실험에서의 경우 none pre-processing의 경우가 220의 L2
norm을 가진 데에 반해, gabor filter pre-...
하지만, 논문은 이러한 논리에는 조금 문제가 있다고 주장합니다.
왜냐하면 MNIST 실험에서의 경우 none pre-processing의 경우가 220의 L2
norm을 가진 데에 반해, gabor filter pre-...
질문 4,
"SGD도 딥러닝 트레이닝 중 일반화를 시키는데
도움을 준다고 알려져 있는데, 이건 어떤가?"
'어느 정도는 맞는데, 그것도 완전히 맞지는 않는다'
질문 4,
"SGD도 딥러닝 트레이닝 중 일반화를 시키는데
도움을 준다고 알려져 있는데, 이건 어떤가?"
'어느 정도는 맞는데, 그것도 완전히 맞지는 않는다'
또 미적지근...
논문의 결론
우리는 뉴럴 네트워크 모델의 '일반화'라는 것에 대해서
거의 이해하지 못하고 있다!
그리고…
논문의 결론
우리는 뉴럴 네트워크 모델의 '일반화'라는 것에 대해서
거의 이해하지 못하고 있다!
그리고…
“We believe that understanding neural networks
requires rethink...
틀린 내용이 있거나 중요한데 빠져있는 경우 알려주세요!
@mikibear
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Understanding deep learning requires rethinking generalization (2017)    2 2(2)
Próximos SlideShares
Carregando em…5
×

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

3.600 visualizações

Publicada em

Understanding deep learning requires rethinking generalization (2017)

@mikibear_

Publicada em: Dados e análise
  • Hi there! Essay Help For Students | Discount 10% for your first order! - Check our website! https://vk.cc/80SakO
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

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

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

×