orthogonal initialization

1. Introduction

Orthogonal

두 벡터 에 대해, 이 성립할때 하다고 정의하고 로 표기한다.

상에서 이 성립하므로,

이 아닌 두 벡터의 내적이 이면 이 되어 , 또는 이 성립한다.

즉 기하학적으로 수직임을 의미한다.

Orthogonal Matrix

행벡터와 열벡터가 서로 하고, 모두 단위벡터()인 실수 정방 행렬을 라 한다.
이라 하고 아래와 같이쓰자.

그러면,

이 되고, 정의에 의해

가 성립한다(사실 정의와 동치이다)

Property of Orthogonal Matrix

와 gradient vanishing, exploding 문제를 고찰하기 위해 한가지 사실을 짚고 가자.

의 eigen value 는 이다.

를 orthogonal matrix 의 eigenvector라 하고 대응되는 eigenvalue 를 하자.
그러면 eigenvector 정의에 의해 이고 을 얻는다.
위 식의 양변에 transepose 를 취하면, 이 되고 앞의 식과 곱하면, 이 된다.
정리하면 가 된다. 이를 한 변으로 이항하면 이 되고, eigenvector 는 nonzero vector 이므로, , 따라서 이 된다

2. Orthogonal Matrix 는 어떻게 gradient vanishing, exploding을 막을 수 있는가?

앞서 RNN 에서의 gradient vanishing problem은 chain rule로 계산된 Loss 에 대한 weight의 편미분,

에서 activation function 의 값들이 작아 발생함을 논증하였다. 그럼 vanising과 exploding 을 막기위해 activation function 으로 을 사용하면 어떻게 될까? 위 식은 아래와 같이 바뀔 것이다.

의 diagonalization 을 라 하면, 을 얻게된다.

만약, eigenvalue가 보다 크거나 작다면, vanishing 혹은 exploding 문제를 겪을 것이다.

이 문제가 초기부터 발생하는 것을 막기 위해, 로 초기화 하는 것이다.