Gradient Descent 방법을 사용할 때 필수적인 알고리즘으로서, Weight Matrix 를 Cost Function 가 가장 작게 하는 업데이트 를 실시할 때, 를 빠르게 계산하는 방법입니다. Weight를 하나씩 변화해가며 gradient를 계산하는 방법에 비해 한꺼번에 모든 Weight의 gradient를 계산하여 연산 속도를 비약적으로 상승시켜 딥러닝의 핵심적인 기법이 되었습니다.
다층 퍼셉트론(Multi-Layer Perceptron)에 대한 Backpropagation을 유도와 함께 설명하겠습니다.
이 글은 CHAPTER 2 How the backpropagation algorithm works을 따라 정리한 글입니다.
유도에 쓰이는 연산을 정리합니다
일 때, 가 성립합니다. 이를 chain rule이라고 합니다.
일 때, 라고 씁니다. 가 벡터, 이 행렬일 때, 는 벡터가 됩니다. 즉, 차원을 비교하면 입니다.
차원이 같은 벡터 둘 사이에서 정의된 연산으로 연산 결과 역시 차원이 같은 벡터이며, 각 성분은 원래의 두 벡터에서 위치가 같은 두 성분의 곱입니다. 따라서, 어떤 벡터의 각 성분이 다른 두 벡터의 성분별 곱과 같다면(), Hadamard product를 사용하여 로 표기할 수 있습니다.
가 벡터일 때, 라는 표기는 을 의미합니다. 즉 함수를 벡터에 작용하면, 각 성분에 함수를 적용한 결과를 각 성분으로 갖는 벡터가 됩니다.
MLP에서 각 layer에서 가중합에 activation을 적용하여 다음 layer로 전달합니다. 이에 대한 backpropagation을 유도하기 전에 표기법을 정하고 시작해야 합니다.
이제 준비가 끝났습니다. MLP에서의 backpropagation은 4개의 방정식으로 정리되는데, 하나씩 유도해 보겠습니다. 각 방정식의 의미에 대해서는 CHAPTER 2 How the backpropagation algorithm works를 참고해 주세요.
식을 정리하다보면 자주 나오게 되는 를 간단하게 로 표기합니다.
위 식에 따르면, 은 에 곱해져서 에 기여합니다. 따라서, 같은 의 크기라도 가 크면 에 기여하는 것이 큽니다. 이는 를 가 의 변화에 대해 민감한 정도로 이해할 수 있다는 의미입니다.
유도하기
유도하기
chain rule과 의 정의를 활용하면 식 2까지 진행할 수 있습니다.
이 때, 밑줄 친 부분을 어떻게 정리할 지 살펴봅시다.
을 번째 layer로부터의 가중합으로 분해합니다.
은 인 경우, 과 무관(편미분하면 0)입니다.
따라서 첫째 줄에서 인 항만 0이 아닌 값을 갖습니다.
행렬의 성분은 라고 씁니다. 또는 행과 열을 바꾼 의 transpose: 의 성분으로 쓸 수 있습니다.
에 대해서 같은 처리를 하고 나면, summation을 Matrix-Vector multiplication 형태로 바꿀 수 있습니다.
결과는 두 벡터의 같은 성분의 곱을 성분으로 갖는 벡터로, Hadamard product로 표기합니다.
유도하기
BP4에서, 의 성분 중, 에 영향을 받는 성분은 뿐입니다.
에서 는 도착 Node를 의미합니다. 다르게 말하면, 직전 layer의 번째 Node에서 번째 layer의 번째 Node로의 연결에만 관여하므로 번째 layer의 다른 Node에는 무관합니다.
따라서, 에 관한 항만 살아남게 되고, 두번째 줄로 넘어갑니다.
을 가중합으로 분해하고,의 경우 편미분하면 0이므로, 인 경우에 대해서만 편미분하면 결론을 얻습니다.
미분 결과의 형태에 대해서는 Backpropagation, 벡터로 미분하기를 참고해주세요
안녕하세요 글 잘 보고 있어요..!
제가 요즘 많이 고심하는데도 모르겠어서
여쭤보고 싶은 공업수학 문제가 있는데
혹시 답변 해주실 수 있으실까요..?
곤란 하시다면 답변 안 해주셔도 괜찮아요
문제는 이거예요…!
“분리가능 상미분 방정식은 양형태 상미분 방정식의 일부이고, 완전 상미분 방정식은 음형태 상미분 방정식 일부라고 볼 수 있다.
양형태의 상미분 방정식 중 분리가능한 상미분 방정식을 제외하고 남은 상미분 방정식들은 어떤 것들이 있는지 (즉, 분리가능하지 않은 상미분 방정식들), 음형태의 상미분 방정식 중 완전 상미분 방정식을 제외하고 남은 상미분 방정식들은 어떤 것들이 있는지 (즉, 완전하지 않은 상미분 방정식들) 쓰시오.
즉.
양형태의 상미분 방정식의 전체 집합을 W.
음형태의 상미분 방정식의 전체 집합을 U,
분리가능한 상미분 방정식의 전체 집합을 A,
완전 상미분 방정식의 전체 집합을 B
라고 할 때
집합 A^c ᑎ W 과 집합 B^c ᑎ U 에 대해 기술하는 문제이다. 그 집합에 해당하는 미분 방 정식의 예를 몇 개 구하고 그들의 공통된 특징을 기술하는 방법을 써도 좋고, 아니면 이 집 합에 속하는 방정식들의 특징을 바로 기술하여도 좋다.“
깔끔하게 정리를 잘 하셨네요 잘 보고 갑니당👍👍