Day 15: Chapter 6-3, 7-1, 7-2 MLP 정리 & Vanishing gradient problem

2023. 3. 6. 23:11딥러닝 이론

오늘 공부한 내용은 Ch.6-3, 7-1, 7-2입니다:

- Ch. 6-3 Beautiful insights for ANN

- Ch. 7-1 Vanishing gradients

- Ch. 7-2 Vanishing gradients 해결 방안 - ReLU

 

Chapter 6을 통해 우리는 인공신경망의 한계를 알아보았습니다. Universal approximation theorem을 통해 사실상 한계가 없다는 것을 알게 되었고 그 증명도 적당히 이해를 했습니다. 물론 이 증명과 성능과 효율을 높이는 데에는 완전 별개였죠? Unit step function은 애초에 미분도 불가능해서 실습 때에는 sigmoid로 대체했습니다. 그리고 실습수업에서 layer수와 node수의 trade-off를 봤습니다. 하지만 7-1, 7-2에서 layer가 too deep 하면 어떤 문제가 일어나는지 알아볼 것입니다 - vanishing gradients.

 

1. Summary of MLP and DNN

- MLP는 weights and biases -> activation -> minimize loss + gradient descent (+ optimization) -> update parameters -> repeat for epochs의 과정을 따릅니다

- 인공신경망은 함수입니다. 다름이 아니라 큰 수학적인 네트워크입니다

- 어떤 연속 함수든 표현하니 (by universal approximation theorem) 우리는 성능과 효율을 높이는게 관건이다

 

2. Vanishing gradients

그래서 intro에서 멘션한 vanishing gradients는 layer가 너무 많으면 생기는 issue입니다. Activation으로 sigmoid를 썼더니 최대 derivative = 1/4이라 layer가 100층이면 (0.25) ^ 100는 0 비슷하게 가겠죠? 이때 forward prop때는 output에 대한 기여도는 왼쪽에 있는 weights and biases의 비중이 클 것이고 backpropagation때에는 또 반대로 변화(updates)가 오른쪽에 많이 일어나고 왼쪽까지 가면 거의 변동이 없을 것입니다. 쉽게 말하자면 initialized weights and biases에서 크게 변형이 되지 않는 거죠.

 

3. Vanishing gradients - the solution

문제를 해결하기 위해는 sigmoid를 Rectified Linear Unit (ReLU)를 사용합니다. 양수일 땐 slope가 1이니 update는 문제없이 잘 될 것이다. 하지만 음수는 또 기울기를 0으로 정의했으니 조금 극단적이다. 음수일 때의 vanishing gradients를 일으킨다. 그래서 사람들은 leaky ReLU를 사용해 봅니다. Leaky ReLU의 음수 부분은 기울기가 y=1/100 * x고 parametric ReLU는 y=ax구조를 갖고 있어 더 세밀한 조정이 가능합니다.

 

그럼 아예 linear는 왜 안될까요? Linear activation을 쓰면 전에 배웠다시피 non-linearity를 잃게 됩니다. Linear activation가 여러 layer로 싸이면 실질적인 성능은 single layer perceptron 하고 비슷하거나 더 안 좋으니 linear activation만 사용하는 것은 주의하셔야 합니다!

 

~ 네, 이번 장은 내용 이 정도로 마무리하겠습니다. 수고하셨습니다 ~