그래프 펼치기와 매개변수 고유 개념을 기반으로 다양한 종류의 순환 신경망을 설계할 수 있습니다. 이 중 자주 볼 수 있는 패턴으로는 각 시간 단계에서 하나의 출력을 산출하며 은닉 단위들 사이에 순환 연결이 있는 신경망, 또는 은닉 단위들 사이에 순환 연결이 있고 순차열 전체를 읽어서 하나의 출력을 산출하는 신경망이 있습니다. 이 중 대표적인 예로 양방향 순환 신경망이 있습니다.
순환 신경망의 이론적 기반과 특징
순환 신경망은 튜링 기계로 계산할 수 있는 함수를 모두 유한한 크기의 네트워크로 표현할 수 있는 범용적인 모델입니다. RNN의 출력은 일정 시간 후 함수의 계산 결과이며, 이 시간은 튜링 기계의 계산 시간과 입력의 길이에 선형적으로 관련됩니다. 튜링 기계로 계산할 수 있는 함수는 이산 함수이므로 RNN의 출력 역시 이산화하여 이진수로 얻을 수 있습니다. 이렇게 하면 유한한 크기의 RNN 하나로 모든 함수를 계산할 수 있습니다. 이론적인 RNN은 정밀도가 무한한 유리수를 사용하여 임의의 깊이 점화식을 흉내 낼 수 있습니다.
은닉 대 은닉 순환 연결이 없는 신경망은 표현력이 약하며 보편 튜링 기계를 흉내 내지 못합니다. 이 신경망은 미래 예측에 모든 과거 정보를 반영해야 하지만, 훈련 집합의 목푯값에만 집중하여 입력의 과거 역사를 잘 파악하지 못할 수 있습니다. 그러나 은닉 대 은닉 순환 연결이 없으면 각 시간 단계의 기울기를 개별적으로 계산하여 훈련을 병렬화할 수 있습니다.
교사 강제와 학습 전략
교사 강제는 은닉 대 은닉 연결이 없는 모델에서 시간 역전파를 피하는 방법의 하나입니다. 그러나 은닉 대 은닉 연결이 있는 모델이라도 다음 시간 단계에서 계산되는 값으로 연결된 경우 교사 강제를 사용할 수 있습니다. 그러나 은닉 단계가 이전 시간 단계의 함수가 되면 BPTT 알고리즘이 필요합니다. 따라서 교사 강제와 BPTT를 함께 사용하여 훈련하는 모델도 있습니다.
엄격한 교사 강제의 단점은 나중에 열린 루프 모드로 신경망을 사용할 때 드러납니다. 여기서 열린 루프 모드란 신경망의 출력을 다시 입력으로 사용하는 것을 말합니다. 이 경우 훈련 중에 신경망이 경험한 입력과 시험 중에 경험하는 입력이 다를 수 있습니다. 이 문제를 완화하기 위한 한 가지 방법은 교사 강제를 적용할 때와 자유 실행시의 입력으로 신경망을 모두 훈련하는 것입니다. 예를 들어 몇 시간 단계 이후의 미래 목푯값을 예측하면 신경망은 다양한 입력 조건을 고려하여 적절한 출력을 생성할 수 있도록 학습됩니다. 또 다른 접근 방식은 생성된 값과 실제 값을 무작위로 선택하여 입력으로 사용하는 것입니다. 이 방식은 점차 생성된 값이 더 많이 입력으로 사용되도록 하는 커리큘럼 학습 전략을 활용합니다.
기울기 계산과 매개변수 최적화
순환 신경망에서 기울기를 계산하는 것은 간단합니다. 일반화된 역전파 알고리즘을 펼쳐진 계산 그래프에 적용하면 됩니다. 순환 신경망에 특화된 알고리즘이 필요하지 않습니다. 역전파로 얻은 기울기들은 임의의 범용 기울기 기반 훈련 기법을 통해 RNN의 훈련에 사용할 수 있습니다. 이러한 그래프 모형의 매개변수화가 효율적이긴 하지만 일부 연산의 계산 비용이 여전히 높을 수 있습니다. 예를 들어 순차열 중간의 결측값을 예측하기 어려울 수 있습니다. 매개변수 개수를 줄이는 대신 순환 신경망이 치르는 대가는 매개변수를 최적화하기 어려울 수 있다는 것입니다.
순환 신경망의 매개변수 공유 및 시간 의존성
순환 신경망의 매개변수 공유는 같은 매개변수를 서로 다른 시간 단계에서 사용할 수 있다는 가정에 기반합니다. 이러한 가정은 시간 t+1에서의 변수들이 시간 t에서의 변수들을 줬을 때의 조건부 확률분포가 시불변이라는 가정과 동등합니다. 간단히 말해서 이는 한 시간 단계와 그 이전 시간 단계의 상호작용이 t에 의존하지 않는다는 것을 의미합니다. 원칙적으로는 각 시간 단계에서 t를 하나의 추가 입력으로 두고, 학습자가 서로 다른 시간 단계들 사이에서 매개변수를 최대한 공유하면서 임의의 시간 의존성을 발견하도록 만들 수 있습니다. 이렇게 하면 시간마다 서로 다른 조건부 확률분포를 사용하는 것보다 효과적입니다. 다만, 새로운 t 값이 발생하면 신경망은 외삽을 수행해야 합니다.
결론
순환 신경망은 그래프 펼치기와 매개변수의 고유 개념을 기반으로 다양한 종류의 설계가 가능하며, 이를 통해 양방향 순환 신경망과 같은 다양한 형태의 신경망이 구축될 수 있습니다. 또한, 이러한 신경망은 튜링 기계로 계산 가능한 함수를 모두 표현할 수 있는 범용적인 모델로, 특히 은닉 대 은닉 순환 연결이 있는 경우에 미래 예측에 유용하게 사용될 수 있습니다. 교사 강제와 학습 전략은 훈련 중에 신경망이 경험하는 입력의 일관성을 유지하고 매개변수를 최적화하는 데 도움이 됩니다. 마지막으로, 순환 신경망의 매개변수 공유와 시간 의존성은 효율적인 학습과 매개변수 공간의 절약을 가능하게 합니다.