Attention은 가중평균을 통해서 문맥정보를 제공하는 방식이다.

이 글의 시작은 DeeprETA라는 논문에서부터였다. DeeprETA는 Uber에서 사용하는 시간예측 알고리즘으로, Post Processing에 최적화된 모델이다. 즉 Uber의 경우 배차를 하고 Routing을 하는 시점에서 기본적인 예상시간을 계산한다. 이후에 실제 상황을 감안해서 보정을 하는 과정을 거치는데 이 아키텍처 상에서 저자는 Feature간의 Interaction을 반영하기 위해 Linear Self Attention을 활용한다. 이 시점에서 나는 Linear Attention을 잘 이해하고 있지 못하였기 때문에 Attention에 대해서 정리하기 시작하였다.

Attention 매커니즘은  딥러닝, 특히 자연어 처리 분야에서 매우 중요한 개념임에도 불구하고 현재 하고 있는 시간 예측 분야에서는 크게 관심을 두고 있지 않았는데, Feature의 상호작용을 처리했다는 측면에서 관심을 갖게 되었다.

Attention은 기본적으로 가중평균을 계산하는 방법이다. 이는 문맥을 반영하는 데 핵심적인 역할을 하기 위해 활용된다. 예를 들어  문장에서 특정 단어가 다른 단어들과 어떻게 관련되는지를 파악하기 위해, 각 단어의 중요도에 따라 가중치를 부여한다. 이 때 Transformer에서는 이전 Decoder 출력값 뿐만 아니라, Encoder의 Hidden State에 대한 정보도 고려하여 계산을 한다.

Attention을 언급할 때 항상 등장하는 정보는 Query, Key, Value인데, Query는 번역할 정보, Key는 직전의 출력값이라고 이해하면 되고, Value는 가중치가 반영된 정보라고 봐주면 된다. 이 때 가중치는 내적을 통해서 Query와 Key간의 유사도를 계산하는데, 이 때 유사도를 계산하는 방식은 생각보다 부하가 상당하기 때문에 DeeprETA 저자는 Linear Self Attention을 결합한다.

여기서 유사도를 구한다는 Query, Key를 결합한다는 자체를 Feature관점에서 본다고 하면 Feature간의 Interaction을 구하는 것으로 Attention을 활용할 수 있다.  DeeprETA의  저자는 Attention을 이렇게 본질에 기반해서 더 다양한 쓰임새로 확장해나간다.

이렇게 Attention의 매커니즘을 이해하고, 이를 고안한 사람이 처음에 왜 생각했는지 이해하는데 주력한다면, 사실 생각보다 많은 곳에서 Attention을 도구로서 문제에 접근할 수 있겠다는 생각이 들었다. 이 녀석만 그럴까?

Read more

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

Pandera: 데이터프레임 검증에 최적화된 도구 주요 장점 * Pandas와 통합: Pandas 데이터프레임에 대해 스키마 기반 검증을 수행합니다. * 유연한 검증 조건: 열 데이터 타입, 값 범위, Null 여부 등 다양한 검증 조건을 정의할 수 있습니다. * 명확한 오류 메시지: 스키마 불일치에 대한 명확한 오류 메시지를 제공합니다. 단점 * 대용량 데이터 검증에서는 속도가 느릴 수

Tobit Regression은 Censored Data에 적합한 Regression이다.

Tobit Regression은 Censored Data에 적합한 Regression이다.

Tobit Regression * Tobit 회귀(Tobit Regression)는 종속 변수가 특정 값에서 절단(Censored)된 상황에서 데이터를 분석하기 위해 사용되는 통계 기법입니다. * James Tobin이 처음 제안한 이 모델은 경제학과 사회과학 분야에서 자주 사용되며, 일반 선형 회귀로는 설명할 수 없는 상황에서 효과적으로 적용할 수 있습니다. Tobit Regression 수식 1. 관측된 종속 변수