Transformer
-
앞서 우리는 입력으로 주어진 sequence에서 어떠한 부분에 주목할지를 예측에 반영하는 attention 기법을 배웠다. 이러한 Self-Attention에서 좀 더 나아가 head를 여러 개 사용하여 주어진 데이터를 이해하려는 Multi-Head Attention 기법과 이외 'Attention is All You Need' 논문에서 소개되었던 다른 기법들도 이해해 보고자 한다. 이전의 transformer에 관해 다룬 포스트의 내용을 기반으로 하므로 아래의 글을 참조하면 이 글을 이해하는 데 도움이 될 수 있다. Self-Attention을 사용하는 Transformer Self-Attention을 사용하는 Transformer(트랜스포머) Sequential Model Sequential Mode..
Transformer의 Multi-Head Attention과 Transformer에서 쓰인 다양한 기법앞서 우리는 입력으로 주어진 sequence에서 어떠한 부분에 주목할지를 예측에 반영하는 attention 기법을 배웠다. 이러한 Self-Attention에서 좀 더 나아가 head를 여러 개 사용하여 주어진 데이터를 이해하려는 Multi-Head Attention 기법과 이외 'Attention is All You Need' 논문에서 소개되었던 다른 기법들도 이해해 보고자 한다. 이전의 transformer에 관해 다룬 포스트의 내용을 기반으로 하므로 아래의 글을 참조하면 이 글을 이해하는 데 도움이 될 수 있다. Self-Attention을 사용하는 Transformer Self-Attention을 사용하는 Transformer(트랜스포머) Sequential Model Sequential Mode..
2023.04.11 -
들어가기 전에 'Attention is All You Need'라는 논문을 필두로 CV, NLP, RecSys 등 많은 분야와 여러 AI 대회에서 Transformer를 사용하는 경우는 이제 너무나 흔한 일이 되었다. 그만큼 Self-Attention을 기반으로 하는 Transformer가 딥 러닝 분야에 막대한 영향을 끼친 breakthrough라고 말해도 과언이 아니다. 그러나 과연 Transformer를 어떠한 경우에서든 상관없이 무작정 사용하는 것이 바람직한가에 관해서 의문이 들 수 있다. Transformer라고 항상 만능이 아니므로 모델을 사용할 목적과 환경을 고려해야 할 필요가 있으며, 특히 데이터의 상태와 양에 따라 Transformer의 효율이 좋을 수도 있고 나쁠 수도 있다. 이번 글에..
Transformer를 사용하는 것이 항상 좋을까?들어가기 전에 'Attention is All You Need'라는 논문을 필두로 CV, NLP, RecSys 등 많은 분야와 여러 AI 대회에서 Transformer를 사용하는 경우는 이제 너무나 흔한 일이 되었다. 그만큼 Self-Attention을 기반으로 하는 Transformer가 딥 러닝 분야에 막대한 영향을 끼친 breakthrough라고 말해도 과언이 아니다. 그러나 과연 Transformer를 어떠한 경우에서든 상관없이 무작정 사용하는 것이 바람직한가에 관해서 의문이 들 수 있다. Transformer라고 항상 만능이 아니므로 모델을 사용할 목적과 환경을 고려해야 할 필요가 있으며, 특히 데이터의 상태와 양에 따라 Transformer의 효율이 좋을 수도 있고 나쁠 수도 있다. 이번 글에..
2022.08.31 -
Transformer를 이해하려면 Seq2Seq with Attention 모델이 나오게 된 배경과 그 방법을 이해하는 것이 필요하다. 특히 transformer의 self-attention에 관해 한줄로 요약하면, Seq2Seq with Attention에서 decoder의 hidden state와 encoder의 hidden state를 구하는 과정에서 LSTM을 빼 버리고 이를 병렬적으로 처리하는 대신에 hidden state의 attention을 구하는 데 필요한 hidden state를 역할에 따라서 서로 다른 벡터로 구성하여 학습을 수행하는 방법이다. 비문이어서 이해하기 어려울 수 있지만 Seq2Seq with Attention에 관한 이해가 선행되면 transformer의 self atten..
Transformer의 Self Attention에 관한 소개와 Seq2Seq with Attention 모델과의 비교Transformer를 이해하려면 Seq2Seq with Attention 모델이 나오게 된 배경과 그 방법을 이해하는 것이 필요하다. 특히 transformer의 self-attention에 관해 한줄로 요약하면, Seq2Seq with Attention에서 decoder의 hidden state와 encoder의 hidden state를 구하는 과정에서 LSTM을 빼 버리고 이를 병렬적으로 처리하는 대신에 hidden state의 attention을 구하는 데 필요한 hidden state를 역할에 따라서 서로 다른 벡터로 구성하여 학습을 수행하는 방법이다. 비문이어서 이해하기 어려울 수 있지만 Seq2Seq with Attention에 관한 이해가 선행되면 transformer의 self atten..
2022.07.23 -
Deep Interest Network(DIN) 유저가 과거에 행동했던 기록인 User Behavior Feature를 처음 사용한 모델이다. DIN의 등장 배경 더 많은 유저의 과거 행동 정보와 같은 다양한 feature를 모델에 사용하고 싶다는 아이디어에서 출발한 것이다. 기존의 딥러닝 기반 모델들은 embedding 하고 MLP를 통과시키는 유사한 패러다임을 따른다. 특히, Sparse feature들을 저차원으로 임베딩한 후 이를 fully connected layer인 MLP의 입력으로 사용한다. 그러나 이러한 방식은 사용자의 다양한 관심사를 반영할 수 없다. 사용자가 기존에 소비한 아이템 리스트를 User Behavior Feature로 만들어서 예측 대상 아이템과 이미 소비한 아이템 사이의 ..
User Behavior Feature를 활용하는 DIN(Deep Interest Network)과 BST(Behavior Sequence Transformer)Deep Interest Network(DIN) 유저가 과거에 행동했던 기록인 User Behavior Feature를 처음 사용한 모델이다. DIN의 등장 배경 더 많은 유저의 과거 행동 정보와 같은 다양한 feature를 모델에 사용하고 싶다는 아이디어에서 출발한 것이다. 기존의 딥러닝 기반 모델들은 embedding 하고 MLP를 통과시키는 유사한 패러다임을 따른다. 특히, Sparse feature들을 저차원으로 임베딩한 후 이를 fully connected layer인 MLP의 입력으로 사용한다. 그러나 이러한 방식은 사용자의 다양한 관심사를 반영할 수 없다. 사용자가 기존에 소비한 아이템 리스트를 User Behavior Feature로 만들어서 예측 대상 아이템과 이미 소비한 아이템 사이의 ..
2022.03.19 -
Sequential Model Sequential Model이 어려운 이유 언어 문장을 예로 들면 완벽한 문장 구조에 대응되도록 문장을 만드는 경우는 흔치 않은데, 이러한 문제는 sequential model에 있어서 난관이다. 또한 기존 Seq2Seq 모델은 고정된 크기의 context vector에 source 문장 정보를 압축하는데, 이는 병목(bottleneck)을 발생시켜 성능 하락의 원인이 된다. 하나의 문맥 vector가 source 문장의 모든 정보를 가지고 있어야 하므로 성능이 저하된다는 문제가 있다. 그래서 매번 source 문장에서의 출력 전부를 입력으로 받는 것이 transformer의 아이디어이다. 최근 트렌드는 입력 시퀀스 전체에서 정보를 추출하는 모델로 발전하는 방향이다. Tr..
Self-Attention을 사용하는 Transformer(트랜스포머)Sequential Model Sequential Model이 어려운 이유 언어 문장을 예로 들면 완벽한 문장 구조에 대응되도록 문장을 만드는 경우는 흔치 않은데, 이러한 문제는 sequential model에 있어서 난관이다. 또한 기존 Seq2Seq 모델은 고정된 크기의 context vector에 source 문장 정보를 압축하는데, 이는 병목(bottleneck)을 발생시켜 성능 하락의 원인이 된다. 하나의 문맥 vector가 source 문장의 모든 정보를 가지고 있어야 하므로 성능이 저하된다는 문제가 있다. 그래서 매번 source 문장에서의 출력 전부를 입력으로 받는 것이 transformer의 아이디어이다. 최근 트렌드는 입력 시퀀스 전체에서 정보를 추출하는 모델로 발전하는 방향이다. Tr..
2022.02.17