34. 만약, 모든 1부터 n까지의 모든 i에 대해서
를 모두 만족시키는
w, b, a를 찾을 수 있다면, 이는 샘플 S와 타겟 y에 대한
일대일함수 c를 찾을 수 있다는 것을 말합니다.
35. "모든 1부터 n까지의 모든 i에 대해서
를 모두 만족시키는 w, b, a를 찾을 수 있다"
는 동치입니다.
"(2n + d)의 weight를 가지고, 활성화 함수로 ReLU를
사용하는 2층 뉴럴 네트워크는
d차원의 n개의 샘플에 대한 어떠한 함수든 표현할 수
있다."
따라서
와
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에 대한 증명을
직관적으로 보이도록 발전시켰기 때문인 듯 합니다.
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가 모두 똑같으니 이를 사용하는
것은 불가능합니다.
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 등을 이용합니다.
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.”