Backpropagation, 활성화 함수

TaeHyun Lee·2023년 3월 27일
0

AI 공부

목록 보기
9/17

backpropagation은 인공신경망에서 가중치(weight)를 업데이트하는 방법 중 하나입니다. 신경망은 입력(input)과 출력(output) 사이의 관계를 학습하여 새로운 입력에 대한 적절한 출력을 예측하도록 합니다. 이를 위해서는 가중치를 조정하여 원하는 출력을 만들어내는데, 이 과정에서 backpropagation 알고리즘이 사용됩니다.

동작 원리

동작 원리는 다음과 같습니다. 먼저, 입력값을 신경망에 입력하고 출력값을 계산합니다. 이 출력값과 실제 출력값의 차이를 측정하기 위해 손실 함수를 계산합니다. 이 손실 함수를 최소화하기 위해 각 연결 가중치의 기울기를 계산하고, 이를 이용하여 각 연결 가중치를 업데이트합니다. 이 과정을 반복하여 손실 함수를 최소화하며, 신경망이 원하는 출력에 가까워지도록 합니다.

쓰는 이유

Backpropagation의 이유는 인공신경망이 복잡한 비선형 함수를 근사하기 위해서입니다. 인공신경망은 수많은 연결 가중치를 가지고 있으며, 이 가중치들을 조정하여 입력과 출력 사이의 관계를 모델링합니다. 그러나 이 가중치들을 수동으로 조정하는 것은 거의 불가능하기 때문에, 학습 데이터를 사용하여 자동으로 조정하는 알고리즘이 필요합니다. 이 때, Backpropagation 알고리즘이 사용되며, 이를 통해 신경망이 복잡한 함수를 근사하면서도 학습 데이터에 대해 정확한 예측을 할 수 있습니다.

시그모이스 함수를 사용하지 않는 이유

  • Vanishing Gradient 문제
    시그모이드 함수는 입력값이 큰 경우 기울기가 거의 0에 가까워지는 문제가 있습니다. 이러한 문제는 역전파 알고리즘에서 역전파되는 기울기가 매우 작아져서 학습이 느려지는 문제를 발생시킵니다.

  • 출력값의 범위 제한
    시그모이드 함수는 출력값이 0과 1 사이에 제한되어 있습니다. 이러한 제한된 범위는 다양한 문제에서 유연한 모델링을 제한하는 문제를 발생시킵니다.

  • Zero-Centered 출력값
    시그모이드 함수는 출력값이 0을 중심으로 하지 않습니다. 이는 일부 최적화 알고리즘에서 문제를 일으키고, 학습을 더 어렵게 만드는 원인이 될 수 있습니다.

ReLU 함수 쓰는 이유

ReLU(Rectified Linear Unit) 함수는 입력값이 양수인 경우에는 입력값을 그대로 출력하고, 입력값이 음수인 경우에는 0을 출력하는 함수입니다. 이 함수는 인공신경망에서 가장 널리 사용되는 활성화 함수 중 하나입니다. ReLU 함수를 사용하는 이유는 다음과 같습니다.

  • 계산 속도가 빠르다
    ReLU 함수는 단순한 비선형 함수로, 계산이 매우 간단합니다. 이로 인해, 신경망의 학습 속도를 높일 수 있습니다.

  • Vanishing Gradient 문제 해결
    ReLU 함수는 입력값이 양수인 경우에는 미분값이 1이고, 음수인 경우에는 0이 됩니다. 이러한 성질로 인해, 역전파 과정에서 기울기가 0이 되는 문제를 해결할 수 있습니다.

  • 더 높은 정확도
    ReLU 함수는 입력값이 음수인 경우에는 출력값이 0이 되기 때문에, 모델이 더욱 희소한 형태의 데이터를 학습할 수 있습니다. 이러한 특성으로 인해, ReLU 함수를 사용하는 신경망은 더 높은 정확도를 보일 수 있습니다.

  • 더 좋은 일반화 성능
    ReLU 함수는 가중치를 보존하면서 입력값이 양수인 경우에는 그대로 출력합니다. 이러한 특성으로 인해, ReLU 함수를 사용하는 모델은 더 좋은 일반화 성능을 보일 수 있습니다.

profile
서커스형 개발자

0개의 댓글