딥 러닝 실무자들은 일반적으로 순환 아키텍처를 시퀀스 모델링 작업의 기본 시작점으로 간주한다.
딥 러닝에 대한 표준 교과서의 시퀀스 모델링 장은 "Sequence Modeling: Recurrent and Recursive Nets"(Goodfellow et al., 2016)라는 제목으로 시퀀스 모델링과 반복 아키텍처의 일반적인 연관성을 포착한다.
"Sequence Models"에 대한 잘 알려진 최근 온라인 강좌는 오로지 반복 아키텍처에 초점을 맞추고 있다(Ng, 2018).
한편, 최근의 연구는 특정 컨볼루션 아키텍처가 오디오 합성, 단어 수준 언어 모델링 및 기계 번역에서 최첨단 정확도에 도달할 수 있음을 나타냅니다(van den Ord et al., 2016; Kalchbrenner et al., 2016; Dauphin et al., 2017a;b).
이것은 컨볼루션 시퀀스 모델링의 이러한 성공이 특정 애플리케이션 도메인에 국한되는지 아니면 시퀀스 처리와 반복 네트워크 사이의 연관성에 대한 더 광범위한 재조사가 적절한지에 대한 의문을 제기한다.
광범위한 시퀀스 모델링 작업에서 컨볼루션 및 반복 아키텍처에 대한 체계적인 경험적 평가를 수행하여 이 질문을 해결한다.
우리는 특히 다양한 반복 네트워크 아키텍처의 효과를 비교하기 위해 반복적으로 사용되어 온 포괄적인 작업 세트를 목표로 한다.
이러한 작업에는 다성 음악 모델링, 단어 및 문자 수준 언어 모델링뿐만 아니라 RNN을 벤치마킹하기 위해 의도적으로 설계되고 자주 사용된 합성 스트레스 테스트가 포함된다.
따라서 우리의 평가는 반복 네트워크의 "home turf"에서 시퀀스 모델링에 대한 컨볼루션 및 반복 접근 방식을 비교하기 위해 설정된다.
컨볼루션 네트워크를 표현하기 위해 모든 작업에 적용되는 일반 시간 컨볼루션 네트워크(TCN) 아키텍처를 설명한다.
이 아키텍처는 최근 연구에 의해 알려졌지만, 현대 컨볼루션 아키텍처의 몇 가지 모범 사례를 결합하여 의도적으로 단순하게 유지되었다.
LSTM 및 GRU와 같은 표준 recurrent architecture와 비교된다.
결과는 TCN이 광범위한 시퀀스 모델링 작업에서 기준 반복 아키텍처를 설득력 있게 능가한다는 것을 시사한다.
이는 작업이 recurrent architecture 설계를 평가하는 데 일반적으로 사용되어 온 다양한 벤치마크를 포함하기 때문에 특히 두드러진다(Chung et al., 2014; Pascanu et al., 2014; Jozefowicz et al., 2015; Zhang et al., 2016).
이러한 결과를 더욱 이해하기 위해 recurrent architecture의 메모리 보존 특성을 보다 심층적으로 분석한다.
무한히 긴 역사를 캡처할 수 있는 recurrent architecture 의 이론적 능력에도 불구하고 TCN은 상당히 긴 메모리를 나타내므로 긴 역사가 필요한 도메인에 더 적합하다는 것을 보여준다.
우리가 아는 한, 제시된 연구는 시퀀스 모델링 작업에 대한 컨볼루션 및 recurrent architecture의 가장 광범위한 체계적인 비교이다.
결과는 시퀀스 모델링과 recurrent networks 사이의 공통적인 연관성을 다시 고려해야 한다는 것을 시사한다.
TCN 아키텍처는 LSTM 및 GRU와 같은 표준 recurrent networks크보다 더 정확할 뿐만 아니라 더 단순하고 명확해 보인다.
우리는 컨볼루션 시퀀스 예측을 위한 일반적인 아키텍처를 설명하는 것으로 시작합니다. 우리의 목표는 컨볼루션 네트워크 설계에서 모범 사례를 편리하지만 강력한 출발점이 될 수 있는 간단한 아키텍처로 증류하는 것이다.
우리는 제시된 아키텍처를 시간적 컨볼루션 네트워크(TCN)라고 부르며, 이 용어를 진정한 새로운 아키텍처에 대한 레이블이 아니라 아키텍처 제품군에 대한 간단한 설명 용어로 채택한다는 것을 강조한다. (이 용어는 이전에 사용된 적이 있다(Lea et al., 2017)).
TCN의 구별되는 특징은 다음과 같다. 1) 아키텍처의 컨볼루션(convolution)은 인과관계이며, 이는 미래에서 과거로의 정보 "유출"이 없음을 의미한다. 2) 아키텍처는 임의의 길이의 시퀀스를 취하여 RNN과 마찬가지로 동일한 길이의 출력 시퀀스에 매핑할 수 있다.
이 외에도, 우리는 매우 깊은 네트워크(잔여 계층으로 증강됨)와 확장된 컨볼루션의 조합을 사용하여 매우 긴 유효 이력 크기(즉, 네트워크가 예측을 위해 매우 먼 과거를 들여다보는 기능)를 구축하는 방법을 강조한다.
우리의 아키텍처는 순차적 데이터에 대한 최근의 컨볼루션 아키텍처(van den Oord et al., 2016; Kalchbrenner et al., 2016; Dauphin et al., 2017; Gehring et al., 2017a;b)로부터 정보를 제공받지만, 단순성, 자기 회귀 예측 및 매우 긴 메모리를 결합하기 위해 모든 원칙과 구별된다.
예를 들어, TCN은 WaveNet(van den Ord 등, 2016)보다 훨씬 간단하다(계층 간 연결, 조건화, 컨텍스트 스태킹 또는 게이트 활성화에 걸쳐 건너뛰지 않음).
Dauphin 등(2017)의 언어 모델링 아키텍처와 비교하여 TCN은 게이트 메커니즘을 사용하지 않으며 메모리가 훨씬 더 길다.
3.1. Sequence Modeling
네트워크 구조를 정의하기 전에 시퀀스 모델링 작업의 특성을 강조한다.
입력 시퀀스 x0, . ., xT가 주어지고, 각 시간에 해당하는 출력 y0, ., ., yT를 예측하고 싶다고 가정해 보자.
핵심 제약 조건은 일정 시간 동안 출력 yt를 예측하기 위해 이전에 관찰된 입력(x0, . ., xt)만 사용하도록 제한된다는 것이다.
형식적으로, yt가 x0, . ., xt에만 의존하며 어떤 "미래" 입력 xt+1, . . ., xT에 의존하지 않는다는 인과적 제약을 만족시킨다면 시퀀스 모델링 네트워크는 아래의 매핑을 생성하는 함수 f:X^(T +1) → Y^(T +1)이다.
(1)
시퀀스 모델링 설정에서 학습하는 목표는 실제 출력과 예측, L(y0, ., yT, f(x0, ., xT)) 사이의 일부 예상 손실을 최소화하는 네트워크 f를 찾는 것이다. 여기서 시퀀스 및 출력은 일부 분포에 따라 그려진다.
이 형식주의는 목표 출력을 단순히 시간 단계만큼 이동된 입력으로 설정하여 자기 회귀 예측(과거에 주어진 신호를 예측하려고 하는)과 같은 많은 설정을 포함한다.
그러나 기계 번역이나 시퀀스 예측과 같은 도메인을 직접 캡처하지는 않는다. 이러한 경우 전체 입력 시퀀스("미래" 상태 포함)를 사용하여 각 출력을 예측할 수 있기 때문이다(이러한 환경에서 작동하도록 기술이 자연스럽게 확장될 수 있지만).
3.2. Causal Convolutions
위에서 언급한 바와 같이, TCN은 네트워크가 입력과 동일한 길이의 출력을 생성한다는 사실과 미래에서 과거로의 누출이 있을 수 없다는 두 가지 원칙을 기반으로 한다.
첫 번째 포인트를 달성하기 위해 TCN은 1D 완전 컨볼루션 네트워크(FCN) 아키텍처(Long et al., 2015)를 사용한다. 여기서 각 숨겨진 계층은 입력 계층과 길이가 같고, 길이의 제로 패딩(zero padding) (커널 크기 - 1)이 추가되어 후속 계층이 이전 계층과 동일한 길이를 유지한다.
두 번째 포인트를 달성하기 위해 TCN은 시간 t의 출력이 이전 레이어의 시간 t 및 이전 요소만으로 컨볼루션되는 인과적 컨볼루션(convolution)을 사용한다.
간단히 말해서, TCN = 1D FCN + causal convolutions
이것은 기본적으로 Waibel et al. (1989)이 거의 30년 전에 제안한 시간 지연 신경망과 동일한 아키텍처이며, 모든 레이어의 동일한 크기를 보장하기 위해 제로 패딩만을 조정합니다.
이 기본 설계의 주요 단점은 긴 유효 기록 크기를 달성하기 위해 극도로 깊은 네트워크나 매우 큰 필터가 필요하다는 것인데, 이 두 가지 방법 모두 처음 도입되었을 때 특별히 실현 가능하지 않았습니다.
따라서, 다음 섹션에서는 최신 컨볼루션 아키텍처의 기술을 TCN에 통합하여 매우 깊은 네트워크와 매우 긴 유효 역사를 모두 가능하게 하는 방법을 설명합니다.
3.3. Dilated Convolutions
단순한 인과적 컨볼루션에서는 네트워크 깊이에 크기가 선형인 히스토리만 돌아볼 수 있습니다.
이것은 앞서 언급한 인과적 컨볼루션을 시퀀스 작업, 특히 더 긴 이력이 필요한 작업에 적용하는 것을 어렵게 만듭니다.
여기서 우리의 해결책은 van denOord et al. (2016) 의 작업을 따르는 것으로 기하급수적으로 큰 수용 필드를 가능하게 하는 확장 컨볼루션을 채택합니다(Yu & Koltun, 2016).
보다 분명하게, 1-D 시퀀스 입력인 $x \in \mathbb{R}^2$과 필터 $f:{0,....,k-1}\rightarrow \mathbb{R}$일때, 시퀀스의 요소에 대한 확장 컨볼루션 연산 F는 다음과 같이 정의됩니다.
https://arxiv.org/pdf/1803.01271.pdf
Subject
Abstract