장기 의존성을 처리하는 한 가지 방법은 모델을 몇 시간 축척에서 작동하도록 설계하는 것입니다. 이는 모델의 일부가 조밀한 시간 축척에서 작동하여 작은 세부 사항을 처리하고, 다른 일부가 긴 시간 축척에서 작동하여 미래 정보를 효율적으로 전달하는 것을 의미합니다. 이를 위해 건너뛰기 연결을 추가하거나, 서로 다른 시간 상수를 가진 누출 단위를 통합하거나, 연결을 제거하는 등의 전략을 사용할 수 있습니다.
건너뛰기 연결을 활용한 세밀한 시간 축척
모델이 작동하는 시간 축척을 세밀하게 만드는 한 가지 방법은 먼 과거의 변수들이 현재의 변수들에 직접 연결되는 지름길을 만드는 것입니다. 이러한 건너뛰기 연결을 사용하는 개념은 1996년에 제안되었으며, 이는 순방향 신경망에 지연을 도입하는 개념에서 영감을 받았습니다. 일반적인 순환 신경망에는 시간상으로 연속된 단위 간의 순환 연결이 존재합니다. 그러나 이보다 큰 간격의 단위 간에도 연결을 형성하는 순환 신경망을 만들 수 있습니다.
시간 지연을 활용한 순환 연결
시간 단계의 수에 따라 기울기가 지수적으로 소멸하거나 폭발할 수 있습니다. 이러한 문제를 완화하기 위해 일정한 값을 갖는 시간 지연을 사용하여 순환 연결을 이용하는 방법이 제안되었습니다. 이 방법을 적용하면 기울기는 함수로 지수적으로 소멸합니다. 하나의 순환 신경망에는 시간 지연 연결과 단일 시간 단계 연결이 함께 존재하기 때문에 기울기가 지수적으로 폭발할 가능성이 남아 있습니다. 이러한 방법으로 학습 알고리즘이 더 긴 의존성을 캡처할 수 있게 되지만, 여전히 잘 표현할 수 없는 장기 의존성이 존재할 수 있습니다.
선형 자기 연결을 통한 정보 보존
미분들의 곱이 1에 가까워지는 경로를 얻는 또 다른 방법은 선형 자기 연결을 가진 단위들을 사용하고, 이러한 연결에서는 가중치가 1에 가까운 단위를 활용하는 것입니다.
어떤 값의 이동 평균을 갱신하여 누적한다면, 이는 매개변수가 바로 이전 평균에서 갱신된 평균으로 선형 자기 연결의 예시입니다. 매개변수가 1에 가까울수록 이동 평균은 먼 과거의 정보를 보존하고, 0에 가까울수록 과거의 정보는 빠르게 잊힙니다. 선형 자기 연결이 있는 은닉 단위들은 이러한 이동 평균과 유사하게 작동합니다. 이러한 은닉 단위를 누출 단위라고 합니다.
누출 단위에 사용되는 시간 상수를 설정하는 전략은 크게 두 가지가 있습니다. 하나는 고정된 값을 직접 설정하는 것입니다. 이 경우, 초기화 시점에서 특정 분포에서 시간 상수를 추출하여 사용할 수 있습니다. 다른 전략은 시간 상수를 자유 매개변수로 설정하여 신경망이 학습하도록 하는 것입니다. 서로 다른 시간 축척에서 이러한 누출 단위를 사용하면 장기 의존성 처리에 도움이 될 수 있습니다.
RNN의 다양한 시간 축척 처리
장기 의존성을 처리하는 또 다른 전략은 RNN의 상태를 서로 다른 몇 시간 축척에서 처리하는 것입니다. 이를 통해 성긴 시간 축척에서는 멀리 떨어져 있는 시간 단계 간의 정보가 좀 더 자연스럽게 흐를 수 있습니다.
시간 건너뛰기 연결 추가 방법은 기본적으로 시간에 따라 정보를 능동적으로 건너뛰는 방식이었지만, 현재 말하는 방식은 길이가 1인 연결을 능동적으로 제거하고 더 긴 연결을 삽입하는 점에서 건너뛰기 연결 추가와 다릅니다. 이렇게 수정된 단위들은 보다 긴 시간 축척에서 작동하게 됩니다. 반면 시간 건너뛰기 연결은 새로운 간선을 추가합니다. 이러한 새로운 연결이 추가된 단위는 긴 시간 축척에서 작동하는 방법을 배울 수도 있지만, 그냥 자신의 다른 단기 연결에 집중할 수도 있습니다.
여러 순환 단위 그룹들이 서로 다른 시간 축척에서 작동하도록 강제하는 방법은 여러 가지가 있습니다. 하나는 누출 단위로 구성된 순환 단위 그룹을 각자 서로 다른 고정된 시간 축척과 연관시키는 것입니다. 이 방법은 1992년에 제안되었고 2013년에 성공적으로 사용되었습니다. 또 다른 방법은 서로 다른 시간 축척에서 갱신을 명시적이고 이산적으로 수행하는 것입니다. 간단히 말해, 단위 그룹들을 각자 다른 빈도로 갱신하는 것입니다.
누출 단위를 사용하는 순환 신경망과 같이 게이트 제어 RNN은 미분이 소멸하거나 폭발하지 않는 시간 경로를 만들어 냅니다. 누출 단위 접근 방식에서는 연결 가중치를 직접 설정하거나 매개변수로 두어 학습함으로써 이러한 경로를 형성합니다. 게이트 제어 RNN은 이를 시간 단계마다 가중치가 변할 수 있는 모델로 일반화합니다.
누출 단위 접근 방식을 활용한 정보 관리
누출 단위 접근 방식에서는 신경망이 정보를 오랜 기간 동안 누적할 수 있습니다. 그러나 이러한 정보는 한 번 사용된 후에는 기존 상태를 잊어버리는 것이 유용할 수 있습니다. 예를 들어, 순차열이 여러 부분 순차열로 구성되고, 각 부분 순차열 안에서 하나의 누출 단위가 증거를 누적한다면, 기존 상태를 0으로 설정하여 신경망이 과거의 정보를 잊게 만드는 메커니즘이 필요합니다. 이를 위해서는 기존 상태를 제거할지 여부를 명시적으로 지정하는 대신 신경망이 이를 결정하는 방법을 배우도록 하는 것이 바람직합니다.
결론
장기 의존성을 처리하는 다양한 방법은 모델을 세밀한 시간 축척과 긴 시간 축척에서 동시에 작동하도록 설계함으로써 가능합니다. 이를 위해 건너뛰기 연결, 시간 지연을 활용한 순환 연결, 선형 자기 연결 등의 전략을 사용할 수 있습니다. 또한, RNN의 상태를 서로 다른 몇 시간 축척에서 처리함으로써 장기 의존성을 처리하는 방법도 있습니다. 이러한 다양한 전략을 통해 모델은 장기 의존성을 효과적으로 처리할 수 있지만, 여전히 발전할 여지가 있습니다.