04 03 오류 역전파알고리즘 유도

04 03 오류 역전파알고리즘 유도

간략한 요약

이 비디오에서는 오차 역전파 알고리즘을 유도하는 과정을 상세히 설명합니다. 신경망 학습에 대한 깊은 이해를 돕기 위해, 간단한 3층 퍼셉트론을 예시로 사용하여 각 층의 노드와 가중치, 바이어스 간의 관계를 명확히 합니다. 코스트 함수를 정의하고, 경사 하강법을 적용하여 최적의 가중치를 찾는 과정을 미분을 통해 설명하며, 복잡한 네트워크 구조에서도 규칙성을 발견하여 알고리즘을 이해하도록 돕습니다.

  • 오차 역전파 알고리즘의 기본 아이디어와 수학적 유도 과정을 설명합니다.
  • 간단한 3층 퍼셉트론을 예시로 사용하여 신경망의 각 요소와 연산 과정을 시각적으로 설명합니다.
  • 코스트 함수를 미분하여 가중치를 업데이트하는 경사 하강법을 적용하는 방법을 제시합니다.

소개

이번 영상에서는 오차 역전파 알고리즘을 유도하는 과정을 소개하며, 이를 통해 신경망 학습에 대한 깊은 이해를 돕고자 합니다. 직관적인 이해를 넘어, 수식을 통해 명확하게 유도함으로써 신경망 학습의 함의를 이해하는 데 도움이 될 것입니다.

기본 아이디어 및 표기법

오차 역전파의 기본 아이디어는 출력층에서의 오류가 입력층으로 순차적으로 누적된다는 점에 착안하여, 원하는 층의 미분 값을 출력층에서의 오류 변화율로부터 계산하는 것입니다. 이를 위해 3층 퍼셉트론을 예시로 사용하며, 각 층의 노드 개수는 1개로 설정합니다. 입력은 x, 은닉층의 출력은 a1, 출력층의 출력은 a2로 표기하고, 정답은 y로 표기합니다. 입력과 은닉 노드 사이의 가중치는 w1, 은닉 노드와 출력 노드 사이의 가중치는 w2로, 바이어스는 각각 b1, b2로 표기합니다.

신경망 연산 과정

입력 x와 가중치 w1, 바이어스 b1을 사용하여 z1을 계산하고, 시그모이드 함수를 적용하여 a1을 얻습니다. a2는 z2에 시그모이드 함수를 적용한 결과이며, z2는 w2 * a1 + b2로 계산됩니다. 최적의 w1과 w2를 구하기 위해 코스트 함수(또는 손실 함수)를 정의합니다. 코스트 함수는 정답 y와 신경망 출력 a2의 차이의 제곱에 1/2을 곱한 값으로 정의됩니다.

경사 하강법을 이용한 가중치 업데이트 (w2)

최적의 w1과 w2를 구하기 위해 경사 하강법을 적용합니다. 경사 하강법의 핵심은 델타 w를 계산하는 것이며, 이는 미분을 통해 얻을 수 있습니다. 먼저 코스트 함수를 w2에 대해 미분합니다. 코스트 함수를 w2로 직접 미분할 수 없으므로, 중간 매개체를 사용합니다. 코스트 함수를 a2로 미분하고, a2를 z2로 미분하고, z2를 w2로 미분합니다. 각 요소에 대해 미분을 수행하고 정리하면, 최종적으로 w2에 대한 미분 값을 얻을 수 있습니다.

경사 하강법을 이용한 가중치 업데이트 (w1)

코스트 함수를 w1에 대해 미분하는 과정은 w2와 유사합니다. 중간 변수를 사용하여 코스트 함수를 a2, z2, a1, z1, w1 순서로 미분합니다. w2 미분과 중복되는 부분을 활용하고, 각 요소에 대한 미분을 수행하여 w1에 대한 미분 값을 계산합니다.

미분식 간소화 및 델타 표현

미분식을 간결하게 표현하고 코딩에 활용하기 위해, 입력과 나머지 부분을 분리하여 델타로 표현합니다. w2 미분에서는 입력 a1과 델타 a2로, w1 미분에서는 입력 x와 델타 a1으로 표현합니다. 델타 a1과 델타 a2의 관계를 분석하여, 델타 a1이 델타 a2와 w2, 그리고 a1에 대한 시그모이드 함수의 미분 값으로 표현될 수 있음을 확인합니다.

오차 역전파 알고리즘과의 연관성

유도된 식이 앞서 직관적으로 유도했던 오차 역전파 알고리즘과 동일함을 확인합니다. 델타 h는 해당 레이어에서의 미분 값에 연결된 가중치를 곱하고, 이전 레이어에서의 델타 k 값을 곱한 것과 같습니다. 이를 통해 수식 유도가 오차 역전파 알고리즘의 원리를 정확하게 반영하고 있음을 알 수 있습니다.

미분 결과 정리 및 일반화

미분 결과를 정리하고, 더 일반적인 형태로 표현합니다. 코스트 함수를 w2로 미분한 결과는 a1 * 델타 a2로, w1으로 미분한 결과는 x * 델타 a1으로 표현할 수 있습니다. 바이어스에 대한 미분은 입력이 1이 되므로, 델타 a2 또는 델타 a1만 남게 됩니다. 델타 a2는 출력 레이어, 델타 a1은 이전 레이어에 해당하며, 각 델타 값은 시그모이드 미분 값과 실제 값과 예측 값의 차이로 계산됩니다.

출력 노드가 여러 개인 경우

출력 노드의 개수가 2개인 경우로 확장하여 오차 역전파 알고리즘을 적용합니다. 출력 노드가 여러 개인 경우, 코스트 함수를 각 출력 노드에서의 에러 텀을 더한 형태로 정의해야 합니다. 미분 과정은 복잡해 보이지만, 앞서 얻은 규칙을 적용하면 쉽게 유도할 수 있습니다.

미분 규칙 및 델타 규칙

미분 규칙과 델타 규칙을 정리하여 제시합니다. 코스트 함수를 특정 가중치로 미분할 때, 해당 가중치의 입력 값과 출력 노드에서의 델타 값을 곱하면 됩니다. 델타 값은 실제 값과 예측 값의 차이에 해당 노드에서의 미분 값을 곱하여 계산합니다. 은닉 레이어에서의 델타 값은 출력 레이어에서의 델타 값과 연결 가중치를 곱한 값들의 합으로 계산됩니다.

Share

Summarize Anything ! Download Summ App

Download on the Apple Store
Get it on Google Play
© 2024 Summ