개념 정리

XOR 의 심층 신경망을 사용한 해결

명징직조지훈 2022. 11. 14. 15:24

입력층에 있는 뉴런 1과 뉴런 2는 각각 입력 x1과 x2를 받아들인 후, 아무런 처리를 하지 않고 은닉층의 뉴런에 재분배한다.

x13 = x14 = x1, x23 = x24 = x2

은닉층, 출력층에 있는 뉴런에 적용되는 임곗값은 -1 의 고정 입력에 할당된 가중치로 표현한다.

초기 가중치와 임계값의 수준은 다음과 같이 임의로 정한다.

입력이 1이고, 목표 출력이 0인 훈련 집합을 고려, 은닉층의 뉴런3과 4의 실제 출력은 다음과 같이 계산된다.

이후 출력층에 있는 뉴런 5의 실제 출력이 다음과 같이 결정된다.

다음의 오차를 얻는다.

다음 단계는 가중치 학습이다. 이 신경망의 가중치와 임곗값 수준을 갱신하기 위해 오차 e를 출력층에서 입력층까지 거꾸로 전파시킨다.

먼저, 출력층에 있는 뉴런 5의 오차 기울기를 계산한다.

그 후 학습률 매개변수를 가정하고, 가중치 보정값을 결정한다.

다음에는 은닉층에 있는 뉴런 3과 뉴런 4의 오차 기울기를 계산한다.

그 후 가중치 보정값을 결정한다.

마지막으로 이 신경망의 모든 가중치와 임곗값 수준을 갱신한다.

오차 제곱의 합이 일정 값보다 작아질 때까지 이 훈련을 반복한다.

초기 가중치와 임계값은 임의로 설정된다. 이는 같은 신경망이 서로 다른 해를 찾아낼 수도 있다는 뜻이다. 

역전파 학습은 널리 쓰이지만, 문제에 대한 면역성이 없다. 한 예로 역전파 학습 알고리즘은 생물학적인 영역에서는 제대로 학습하지 못한다. 생물학적 뉴런은 서로 연결된 시냅스의 강도를 조절하기 위해 역방향으로 동작하지 않는다. 따라서 인간의 뇌와 같은 학습 방법을 흉내 낸 과정이라 보기는 어렵다.

또 다른 문제는 계산량이 많아 학습이 느리다는 점이다. 역전파 알고리즘의 효율을 높이는 방법이 존재,