논문으로 현업 씹어먹기

Time Forecasting에 있어 느낀, Attention의 한계

Yoo Sung Hyun 2021. 5. 25. 19:08
728x90

2021.04.19 - [논문으로 현업 씹어먹기] - LSTM Attention 이해하기 - 서론

 

LSTM Attention 이해하기 - 서론

BERT 서론 회사에서 TA관련한 프로젝트를 할 일이 생겼다. 내가 나중에 시간이 되면 올리겠지만, 이전 회사에서 TA 관련된 프로젝트를 2개 해본것이 있었는데, 1. 회사 상품 평판 분석 2. Encoder-Decoder

shyu0522.tistory.com

미루고 미루다 드디어 작성하게 되는 것 같다. ㅋㅋ

 

여기서 더 미루면 내 기억속에서 사라질 것 같아서, 슬슬 정리하도록 한다.

 

지금까지 Attention을 TF ndarray로 직접 구현해보고, 실제로 사용하여 학습까지 진행해보면서, 느낀점을 서술해보겠다.

 

1. Attention은 1차원으로만 적용 가능하다.

  • Time-Series별로 혹은 Feature별로만 적용 가능했다. (세로 혹은 가로)
  • 이 때문에, Dual-Stage Attention 아이디어가 나오게 된다.

2021.04.15 - [논문으로 현업 씹어먹기] - Dual-Stage Attention-Based RNN for Time Series Prediction

 

Dual-Stage Attention-Based RNN for Time Series Prediction

서론 최근의 일이다. BERT를 파보고 있었다. (Goolgle git에서 다운받아서.) Attention을 알고는 있었는데, 자연어 처리 업무를 최근까지 할 일이 거의 없었고(맨~~~이미지만 그냥.,...), 대부분의 작업을 K

shyu0522.tistory.com

2. Attention은 길이(Time-Sequnece)가 길어질 수록, 내적 연산에 따른 속도 저하가 어마무시하다.

  • 이 부분은 딥러닝 음성인식(ASR) 진행 시, Attention이나 CTC에서도 동일하게 발생하는 문제이다.
  • 필자의경우 98일 정도의 데이터를 이용하여 Attention을 진행하려고했었는데, RTX3090 기준으로 1업무데이에 종료할 수 없었다.
  • Beam-Search알고리즘 등을 사용하면 속도저하 문제를 조금 타파할 수는 있겠지만, 분류문제에서 선택 가능하고, 회귀 문제에서는 선택 불가하다.

3. Attention 시계열 데이터 예측에 대한 연구가 비교적 최근부터 시작되고 있는 듯 하다.

https://towardsdatascience.com/attention-for-time-series-classification-and-forecasting-261723e0006d

 

Attention for time series classification and forecasting

Harnessing the most recent advances in NLP for time series forecasting and classification

towardsdatascience.com

  • Attention은 정해진 Time-Sequence에서만 집중할 수 있다. 하지만 현실의 문제는 다르다, 실제 데이터가 100일 범위로만 결정되어질 수 있을 것이라 생각했지만, 특정 어떤 데이터는 200일 전 데이터가 Attention이 더 잘 될 수도 있다. 이런 데이터 구성의 경우 Attention이 잘 동작하지 않는다. (필자 역시 실제로 그랬다.)
  • 또한 대부분의 문제 해결 방식이, CNN을 이용하고, Attention을 진행하던데, CNN을 적용하는 부분이 실제 본인의 Dataset과 적합한 모델 아키텍쳐 구조인지도 판단해봐야겠다. BERT처럼 Attention만 조져서 시계열 예측을 했다는 케이스는 존재하지 않았다.
  • 내용에도 그대로 저술되지만, NLP외에는 연구의 부족, 메모리 병목, 특정 지점에서의 제한점 등이 거론되며, 실제로 SOTA를 달성한 것으로 보이는 2개의 제시된 논문들은, 그 데이터의 카테고리가 매우 한정적이며, 실제 사례에 적용된 레퍼런스를 찾아볼 수 없었다.
  • https://arxiv.org/pdf/1907.00235.pdf

4. 실제 현업에 종사하는 외국인들도, 갑론을박이 많은 사항이다.

https://www.reddit.com/r/MachineLearning/comments/ckaji4/d_transformers_for_time_series_data/

 

[D] Transformers for time series data

I was wondering if anyone has experience using transformer architectures for time series forecasting? Did it work well or if it didn't why not? In...

www.reddit.com

  • 댓글을 확인해보면 알겠지만, 무한한 실수/정수 문제에는 적합하지 않다느니, 누구는 쓰고있고, 누구는 못쓴다느니, 갑론을박이 많다.
  • 실질적으로 의견이 제대로 수렴되지 않는 것으로 보아, Attention 기반의 Time-Series Forecasting은 현재로써는 불안정하지 않나. 라고 생각한다.

이런 이유에서, 필자는 솔직히 Attention을 이용한 시계열 회귀문제 예측에 대해서는, '현재로써는' 부정적으로 생각이 될 수 밖에 없었다. 좀 더 연구가 진행되고, 실제 도입 사례가 많아져야 참고 가능하지 않을까 생각된다.

 

Seq2Seq나 Encoder-Decoder 기반의 BI-LSTM형태로 구성하는 것이, 현재로써는 가장 합리적인 Time-Series Forecasting방법이 아닐까 생각된다.

(다만, DL을 이용하면, 설명력이 좀 부족해서, 현업을 이해시키는데 크게 애먹을 수도 있다.)

728x90