딥러닝(Deep-Learning)

[딥러닝] Backpropagation & L2 Regularization 정리

반응형

Backpropagation(역전파)

역전파 알고리즘은?

인공지능의 한 분야인 인공 신경망 ANN(Artificial Neural Network)을 학습시키기 위한 가장 기본적이고 일반적인 알고리즘이다.

역전파라는 이름은 오차의 진행방향이 본래와 반대로 전파된다고 해서 붙여진 이름이다.

Backpropagation이 사용되는 상황에 대해 알아보자.


input 3개와 output으로 구성된 퍼셉트론 신경망 구조다.
여기서 output을 계산하면 아래와 같다.


우리가 input 값과 output 값을 모두 알고 있다면, weight를 찾아내는 것이 가능하다. weight이 학습되면 이제 퍼셉트론은 input으로 output을 산출할 수 있게 된다.
하지만 한계가 존재한다.

이는 일차 방정식으로 이루어지기 때문에, 학습할 수 있는 범위가 제한적이다. 논리연산 예를 통해서 알아보자.

차례대로 AND, OR, XOR의 논리연산 결과를 보여주고 있다. 색칠된 점이 1이고 색칠되지 않은 점이 0을 나타내고 있는 모습이다.
그림에서 볼 수 있듯이, AND와 OR은 1과 0을 분리해서 선으로 나타내는 것이 가능하지만, XOR에서는 하나의 직선으로 1과 0을 분리하는 것이 불가능하다.
따라서 단층의 퍼셉트론으로는 XOR과 같은 논리연산을 해결할 수 없다는 것을 알 수 있다.

이를 해결하기 위해 나온 방법이 바로 backpropagation에서 활용되는 MLP다.MLP란, Multi-Layer perceptron으로 다층 신경망을 뜻한다.
즉, 기존의 단층이었던 Layer를 쌓아서 XOR에서 발생했던 문제를 해결하는 방법이다.이는 현존하는 딥러닝의 Neural 신경 기술에서 대부분 사용하고 있는 기술이기도 하다.


역전파 알고리즘의 특징
input과 output을 알고 있는 상태(supervised learning)에서 신경망을 학습시키는 방법이다.


1. 기존에 설정되어있는 가중치를 사용해 net, out을 계산2. 전체 오차를 각 가중치로 편미분한 값을 기존의 가중치에서 뺌. (오차를 줄이고 최대값을 찾는 과정)3. 모든 가중치에 대해 2번을 실행 (output에 가까운 쪽에서부터 먼쪽으로 진행)4. 1~3번을 학습 횟수만큼 반복 (epoch)


역전파 알고리즘의 한계점
1. 경사 감소법 알고리즘은 항상 글로벌 최소값을 찾는다고 보장할 수 없음2. 레이어 개수와 노드의 개수를 정하는 모델이 없음


하지만 Backpropagation 알고리즘의 정확도와 속도가 매우 뛰어나기 때문에 딥러닝에서 활용도가 높은 알고리즘이다.






L2 Regularization

일반화 기법 중에서 가장 보편적으로 사용되고 있으며, 가중치가 클수록 큰 페널티를 부과하여 오버피팅을 억제하는 방법

즉, 가중치 매개변수의 값이 커서 오버피팅이 발생하는 문제를 막기 위한 일반화 방법이다.
Loss 뒤에 weight에 대한 페널티 텀을 부여하는 방식을 이용한다.


Regularization이란?
모델의 일반화 오류를 줄여 과적합을 방지하는 기법
- 머신러닝에서 regression에 많이 사용되고 있다.- 딥러닝에서 또한 과적합 방지를 위해 사용된다.
이러한 Overfitting을 방지하는 것이 일반화의 목표다.






L1과 L2의 차이는?

L1 regularization

정규화의 일종. 모델 가중치의 L1 norm(가중치 각 요소 절대값의 합)에 대해 패널티를 부과한다. 대부분의 요소값이 0인 sparse feature에 의존한 모델에서 L1 정규화는 불필요한 피처에 대응하는 가중치들을 정확히 0으로 만들어 해당 피처를 모델이 무시하도록 만든다. 다시 말해 변수선택(feature selection) 효과가 있다는 말이다. 이는 L2 정규화와 대조된다.

L2 regularization

정규화의 일종. 모델 가중치의 L2 norm의 제곱(가중치 각 요소 제곱의 합)에 대해 패널티를 부과한다. L2 정규화는 아주 큰 값이나 작은 값을 가지는 outlier 모델 가중치에 대해 0에 가깝지만 0은 아닌 값으로 만든다. 이는 L1 정규화와 대조된다. L2 정규화는 선형모델의 일반화 능력을 언제나 항상 개선시킨다.



조금 더 페널티에 대한 효과를 크게 보기 위해서 L1보다 L2를 많이 사용한다.

반응형