🔗 관련 문서: Wikipedia - Convolutional Neural Network
TCN(Temporal Convolutional Network, 시간적 합성곱 신경망)은 시계열(시간 순서가 있는) 데이터를 다루기 위해 만들어진 딥러닝 구조로, 원래 이미지 처리에 쓰이던 1차원 합성곱(1D Convolution)을 시간축에 적용한 것이다.
지금까지 시계열 데이터(주가, 날씨, 문장, 음성 등)는 주로 순환신경망(RNN)이나 그 발전형인 LSTM으로 처리해 왔다. RNN 계열은 데이터를 한 시점씩 순서대로 읽어가며 이전 정보를 "기억"하는 방식으로 동작한다. 하지만 이런 방식은 계산을 한 단계씩 순차적으로만 진행할 수 있어 느리고, 데이터가 길어지면 앞부분의 정보를 잊어버리는 문제(장기 의존성 문제)가 자주 발생한다.
TCN은 이 문제를 CNN(합성곱 신경망)의 방식으로 접근한다. 즉, 데이터를 순서대로 하나씩 읽는 대신, 일정한 크기의 "창(window)"을 시간축을 따라 훑으면서 여러 시점을 한 번에 병렬로 처리한다. 마치 이미지에서 3x3 필터가 사진 전체를 훑으며 특징을 찾아내듯, TCN은 1차원 필터가 시간의 흐름을 훑으며 패턴을 찾아낸다.
TCN은 크게 세 가지 핵심 아이디어로 이루어져 있다: 인과적 합성곱, 팽창 합성곱, 그리고 잔차 블록(Residual Block)이다. 하나씩 차근차근 살펴보자.
"인과적(Causal)"이라는 말은 원인이 결과보다 먼저 와야 한다는 뜻이다. 시계열 예측에서는 "미래를 미리 훔쳐보면 안 된다"는 아주 중요한 규칙이 있다. 예를 들어 내일의 주가를 예측하는 모델이 모레의 데이터를 몰래 참고한다면, 그건 반칙이다.
인과적 합성곱은 이 규칙을 구조적으로 강제한다. 즉, 특정 시점 t의 출력값을 계산할 때, 시점 t 이전(과거)과 t 시점의 데이터만 사용하고, t 이후(미래)의 데이터는 절대 사용하지 않는다. 일반 CNN 필터는 좌우(과거와 미래)를 모두 보지만, TCN의 필터는 왼쪽(과거) 방향으로만 정보를 가져온다.
인과적 합성곱만 사용하면 한 가지 문제가 생긴다. 필터가 한 번에 볼 수 있는 범위(수용 영역, Receptive Field)가 좁아서, 아주 먼 과거의 정보까지 보려면 층을 엄청나게 많이 쌓아야 한다는 점이다. 이를 해결하기 위해 TCN은 팽창 합성곱(Dilated Convolution)을 사용한다.
팽창 합성곱은 필터가 데이터를 연속적으로 보지 않고, 일정한 간격(dilation)을 두고 듬성듬성 건너뛰며 보는 방식이다. 예를 들어 dilation 값이 1이면 바로 옆 데이터를 보고, 2이면 한 칸씩 건너뛰어 보고, 4이면 세 칸씩 건너뛰어 본다. 층이 깊어질수록 이 간격(1, 2, 4, 8, 16...)을 지수적으로 늘려가기 때문에, 층을 조금만 쌓아도 아주 먼 과거의 정보까지 효율적으로 살펴볼 수 있다.
TCN은 층을 매우 깊게 쌓는 구조이기 때문에, 학습 과정에서 정보가 사라지거나(기울기 소실) 학습이 불안정해질 수 있다. 이를 막기 위해 이미지 분야에서 유명한 ResNet의 아이디어인 잔차 연결(Residual Connection)을 도입한다.
잔차 연결이란 입력을 층에 통과시킨 결과에, 원래의 입력값을 그대로 한 번 더 더해주는 것이다(출력 = 층을 통과한 값 + 원래 입력). 이렇게 하면 층을 아무리 깊게 쌓아도 원본 정보가 사라지지 않고 잘 전달되어, 학습이 훨씬 안정적으로 이루어진다.
위에서 살펴본 구조 덕분에, TCN은 기존 RNN/LSTM 대비 다음과 같은 장점을 가진다.
TCN과 RNN 계열 모델의 차이를 표로 정리하면 다음과 같다.
| 특징 | TCN | RNN / LSTM |
|---|---|---|
| 처리 방식 | 병렬 처리 가능 | 순차적 처리 (한 단계씩) |
| 장기 의존성 | 우수 (팽창 합성곱) | 학습 어려움 (특히 RNN) |
| 학습 속도 | 빠름 | 느림 (순차 연산) |
| 기울기 안정성 | 비교적 안정적 | 기울기 소실/폭발 위험 |
| 메모리 사용 | 시퀀스 길이·필터 크기에 비례 | 비교적 적음 |
| 구현 복잡도 | 약간 높음 | 낮음 (표준 구조) |
TCN은 시간 순서가 중요한 다양한 분야에서 활발히 사용되고 있다.
"TCN은 RNN의 시대를 대체할 수 있는 강력한 시계열 학습 도구로 떠오르고 있습니다."