# transformer

Attention Method는 무엇일까?
Attention Method: 어텐션 메소드는 머신러닝 모델의 한 종류로, 주로 시퀀셜 데이터에 사용된다. 중요한 특징은 방금 예측한 time step의 output을 input으로 사용하는데, 이 input과 전체 context의 연관성을 반영해 next time step의 output을 계산하는 알고리즘이다. 예) 딥러닝: 현재 주어진 input값을 가지고 계산함. 어텐션 메소드: 그간 받아온 모든 input을 참고하여 계산함. 과정: 디코더의 hidden state s(t)와 인코더의 hidden state 간의 dot product를 구하여 attention score를 구한다. attention score 모두를 soft max함수를 통해 정규화 시킨다. 정규화 된 값과 encoder hidden state를 곱해서 모두 더하여 attention value를 구한다. *attention value는 현재 output hidden

[NLP] Transformer (5) : Decoder
이번 포스팅에서는 아래 도서 및 포스팅을 많이 참고했습니다. Do it! BERT와 GPT로 배우는 자연어 처리 https://www.yes24.com/Product/Goods/105294979 https://jalammar.github.io/illustrated-transformer/ https://zorba-blog.tistory.com/28 https://wikidocs.net/31379 인코더는 총 레이어 갯수만큼 순차적으로 연산을 한 후에 마지막 인코더 레이어의 출력을 디코더로 전달. 디코더 또한 레이어 갯수만큼 연

[NLP] Transformer (4) : Encoder etc
Self-Attention 을 제외한 Encoder 의 나머지 구성 요소를 살펴봅시다 본 포스팅은 다음 저서와 사이트를 참고하여 작성하였습니다. Do it! BERT와 GPT로 배우는 자연어 처리 https://www.yes24.com/Product/Goods/105294979 https://ratsgo.github.io/nlpbook/docs/language_model/transformers/ https://jalammar.github.io/illustrated-transformer/ Positional Encoding 기존의 RNN, Seq2Seq 은 문장을 순차적으로 처리합니다. Transformer 는 행렬 연산을 통해 입력된 문장을 병렬로 한번에 처리하여 연산 속도가 매우 빠른데요, 단점
[NLP] Transformer (3) : Self-Attention & Multi-Head Attention
본 포스팅은 다음 저서와 사이트를 참고하여 작성하였습니다. Do it! BERT와 GPT로 배우는 자연어 처리 https://www.yes24.com/Product/Goods/105294979 https://ratsgo.github.io/nlpbook/docs/language_model/transformers/ https://jalammar.github.io/illustrated-transformer/ Self-Attention? Attention 먼저 설명하겠습니다. Attention 은 '(문장을 구성하는 요소들 중) 중요한 요소에 더욱 집중하기' 입니다. 기계 번역에 attention 을 도입한다면 타깃 언어를 디코딩할 때 소스 언어의 단어 시퀀스 중 디코딩에 도움이 되는 단어 위주로 취사선택해서 번역 품질을 끌어올립니다. 즉, 어텐션은 디코딩할 때 소스 시퀀스 중 주요한 요소만 추립니다. Self-Attention 은 자신에게 수행하는 어텐션 기법으로, 입력 시퀀스
[NLP] Transformer (2) : Overview & Encoder Input Embedding
이제 Transformer 를 살펴봅시다. 아래는 Transformer 구조를 그림으로 나타낸 것으로, NLP러라면 한번쯤 본 적이 있을 거에요. (저는 이 그림을 참고하여 Transformer 의 동작 원리를 설명하는 기술 면접을 치른 적이 있어요 😂) 이 포스팅은 아래 포스팅과 도서를 참고하여 작성하였습니다. 혹시 저작권에 문제가 있다면 알려주세요! Do it! BERT와 GPT로 배우는 자연어 처리 https://www.yes24.com/Product/Goods/105294979 https://jalammar.github.io/illustrated-transformer/ Encoder - Decoder 트랜스포머는 크게 Encoder - Decoder 2개의 구조로 이루어져 있어요. !
[NLP] Transformer (1) : Background (RNN, Seq2Seq)
올해 내내 백엔드 개발에 치중했더니 NLP 지식을 많이 까먹었어요 😂 새 회사에서는 기계번역 이외의 도메인을 다루는지라 당장 내가 할 수 있는 게 없었고 특히 올 한 해 동안 ChatGPT, LlaMa 와 같은 LLM 이 쏟아져 나오면서 NLP러로서의 미래에 대해 많은 고민을 하게 되었고요. 오랫동안 자아성찰하고 고민한 끝에 찾은 저만의 답은 '변화무쌍하고 예측할 수 없는 때일수록 기초를 다지자' 입니다. 기계번역이든 문서분류든 BERT든 LLM 이든 모두 기반 지식과 기술은 동일하고 또 기초가 탄탄하면 응용 기술을 익히고 활용하기에 수월하더라고요. 그래서인지 NLP 기술 면접에서 Transformer 그림을 주고 구조를 설명하도록 하는 경우도 있었네요 😂 이번 기회에 Transformer 를 다시 한 번 정리해 보겠습니다! ❖ 이 포스팅은 이기창님의 'Do it! BERT와 GPT로 배우는 자연어 처리' 저서를 참고하여 작성하였습니다. https://ratsgo.github

Transformer(트랜스포머) 코드 구현(tensorflow)
Attention * - Scaled Dot-Product Attention* * - Multi-Head Attention* 먼저 Transformer에서 사용되는 Attention인 Scaled Dot-Product Attention 과 Multi-Head Attention의 구현이다. Positional Encoding Transformer는 RNN, CNN을 사용하지 않아서 모델이 sequence의 순서를 참고하기 위해 sequence의 상대적, 절대적인 위치 정보를 담아 주어야함. 이를 위해 Positional Encoding을 사용한다. 
[논문 리뷰] Multimodal Learning with Transformers: A Survey
link: https://arxiv.org/abs/2206.06488 IEEE TPAMI 2023 Abstract 멀티모달 데이터를 지향하는 transformer 기술에 대한 포괄적인 조사를 제시 멀티모달 학습 배경, transformer 생태계 및 멀티모달 빅데이터 시대, 기하학적 위상학적 관점에서 vanilla/vision/multi-modal transformer에 대한 체계적 검토, 멀티모달 pre-training 및 특정 멀티모달 작업을 위한 멀티모달 transformer application에 대한 검토, 멀티모달 transformer model 및 application이 공유하는 공통 과제 및 설계에 대한 요약, 커뮤니티의 개방형 문제 및 잠재적 연구 방향에 대한 논의 1. INTRODUCTION transformer를 사용한 멀티모달 학습에 초점 맞춤 transformer에 대한 입력은 하나 이상의 토큰 시퀀스와 각 시퀀스의 속성을 포함할

딥러닝 6
Sequence to Sequence RNN 사용시 Seq2Seq란 Sequence-to-Sequence ▪ 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq)는 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 다양한 분야에서 사용되는 모델 ▪ 고정된 차원의 입력을 받아, 입력값에 대응하는 “가변적 길이의” 결과값을 출력하는 모델 ▪ 챗봇(Chatbot)과 기계 번역(Machine Translation), STT(Speech to Text) 등 다양한 분야에서 활용 Seq2Seq구조 
Attention Is All You Need | Transformer (2017)
[논문 링크] From NIPS 2017 0. Abstract 지금까지의 대부분 시퀀스 변환(sequence transduction) 모델들은 복잡한 RNN or CNN을 기반으로 한다. Encoder + Decoder 구조 가장 성능이 뛰어난 모델들도 인코더와 디코더를 Attention mechanism으로 연결한 것 우리는 순환 구조와 합성곱 구조를 완전히 없애고 어텐션으로만 구성된 새로운 모델을 제안한다: Transformer 트랜스포머는 더 성능이 우수하면서도 병렬화가 가능하고 학습 시간이 짧다. 트랜스포머는 제한된 학습 데이터로 다른 task에도 일반화해서 적용 가능함을 확인했다. (ex. English constituency parsing) 1. Introduction 그동안 기계 번역 같은 transduction problem에서는 RNN, LSTM,

Hungry Hungry Hippos!
1. 시작하며 워! 드디어 intern students 명단에 이름을 올렸습니다. 이 연구실에서 진행하고 있는 움직임이 정말 신선하고 마음에 들어 정착하고 싶은 마음이 굳혀졌습니다. 오늘은 연구실 세미나에서 진행했던 hungry hungry hippos에 관련된 논문 리뷰를 진행하려고 합니다. 앞의 이니셜을 취해서 H3라고 불리는데요. transformer의 attention 기법과 RNN의 recurrency 속성을 교묘하게 활용해서 language modeling 분야에서 performance(perplexity)와 speed를 모두 개선시킨 논문이라고 할 수 있겠습니다. 2. paper review! 슬라이드 링크: https://docs.google.com/presentation/d/11rgL

Object Detection (3) - Transformer 모델 비교
DETR Transformer를 Object Detection에 최초로 적용 기존의 Object Detection 모델들과 달리 Direct Prediction이 가능하여 Hand-crafted Process가 없어도 됨 하나의 Ground Truth에 오직 하나의 예측된 Bounding Box만 Matching(One-to-One) -> Post-processing 과정 불필요 DETR 장점과 단점 장점 > 1. object detection에서 발생하는 문제들을 해결하기 위해 위의 기법들이 각각 적용되는데 이렇게 복잡해지는 과정을 direct prediction으로 아주 단순하게 만들어 버렸다. > > 2. CNN 이후 Transformer를 사용하면 되는 구조로 매우 단순한 구조를 취하게 된다. 단점 > 1. Transformer의 특성상 학습하는데 굉장히 많은 시간이 필요하다. > > 2. small object 탐지력이 약하다.
[논문 리뷰] Attention Is All You Need (NIPS, 2017)
📌 본 내용은 논문 입문자가 개인적으로 필기한 내용입니다. 내용에 오류나 피드백이 있으면 말씀해주시면 감사히 반영하겠습니다.📌 😊 개인 기록용 포스트입니다 0. Abstract Transformer 제안 RNN, CNN모두 생략 오로지 어텐션 기반 병렬적으로 작동이 가능해서 학습 속도가 빨랐음 1. Introduction RNN기반 모델들은 그동안 대표적인 시퀀스 모델링, 시퀀스 변환모델 언어모델, 인코더-디코더 구조의 경계를 넓히려고 많이 노력했음 문제점) RNN기반 모델의 본질적인 순서 위치는 긴 시퀀스에서 치명적 (병렬적으로 작동X) 계산적 발전 이루었음에도 제약 여전히 발생 어텐션: input과 ouput시퀀스의 길이와 상관없이 다양한 task에서 시퀀스 모델링과 시퀀스 변환에서 짱됨 일부 RNN은 어텐션

[NLP] Attention Is All You Need (Transformer)
본 블로그의 모든 글은 직접 공부하고 남기는 기록입니다. 잘못된 내용/오류 지적이나 추가 의견은 댓글로 남겨주시면 감사하겠습니다. > **Published: NIPS 2017 Paper: https://arxiv.org/abs/1706.03762** 요약 Attention 모듈만으로 만들어진 transformer 모델을 제안 압도적인 성능과 확장성을 보유 구현체가 무겁고 막대한 데이터와 컴퓨팅 자원을 요구하는 단점 존재 계산 복잡도가 $O(n^2)$ What's new & work importance Transformer는 제목처럼 attention 모듈만 사용해서 만들어진 모델입니다. 트랜스포머 기반 모델의 핵심적인 특징 중 하나는 [inductive bias](https://velog.io/@nochesita/%EB%94%A5%EB%9F%AC%EB%8B%9D-inductive-bias%EA%B0%80-%EB%AD%98%EA%
[논문 리뷰] Are Transformers Effective for Time Series Forecasting? (AAAI, 2023) (NLinear, DLinear)
📌 본 내용은 논문 입문자가 개인적으로 필기한 내용입니다. 내용에 오류나 피드백이 있으면 말씀해주시면 감사히 반영하겠습니다.📌 😊 개인 기록용 포스트입니다 0. Abstract LTSF해결위한 Transformer based 해결책의 급증 Transformer는 의미론적인 상관관계를 잘 해결함 순서가 있는 연속적인 point에서 시간적 관계추출해야됨 Transformer에서 encoding, token이용하면서 정보를 순서대로 놓아도, self attention매커니즘의 순서가 변하지 않는 것은 일시적 정보손실을 반드시 낳는다 LTSF-Linear가 기존의 정교한 Transformer-based LTSF 를 넘어서 좋은 성능 보여줌 1. Introduction 시계열 시계열 문제는 data기반 세계에 만연함 시계열 문제 해결 변천사 : 머신러닝 → 딥러닝 Transf

[논문 리뷰] Attention Is All You Need
다행히 오늘도 잊지 않고 1분 논문 리뷰를 해보려고 합니다. 대학원 강의 시간에 꼭 봐야겠다고 생각한 논문은 "Attention Is All You Need"입니다. 1. 논문: Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017). 2. 링크: https://arxiv.org/abs/1706.03762 3. 리뷰 이 논문은 2017년 6월에 발표되었으며, 순차적인 변환 모델에 대한 새로운 접근 방식을 제시합니다. 기존의 주류 순차 변환 모델은 복잡한 순환(neural) 또는 합성곱(convolutional) 신경망을 기반으로 하는 인코더와 디코더 구조를 사용하였습니다1. 본 논문에서 제안하는 모델은 "Transformer"라고 부르는 새로운 구조를 도입했습니다. 이 구조의 핵심은 "Atten

[Vision Paper Review] - ViT : Vision Transformer
지난 Attention is All You Need 포스트에 이은 두 번째 Paper Review는 NLP에서 사용된 Transformer를 CV 영역에도 적용한 Vision Transformer(ViT)입니다. 논문 원본과 공식 코드는 아래 링크를 참고해주세요. ✅An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale(ICLR 2021) ✅공식 Github 주소 Abstract <img src="https://velog.velcdn.co
[논문 리뷰] Centerformer
게재 년도: 2022 게재지: ECCV (EUROPEAN CONFERENCE ON COMPUTER VISION)

[DL] Attention is all you need(2) : paper review
2. "Attention Is All You Need" 논문 요약 용어는 원문 영어 그대로 사용하였고, 필요한 설명들은 보충하는 식으로 의역하였습니다. 0. Abstract 기존에는 sequence transduction model로 복잡한 RNN이나 인코더/디코더를 포함한 CNN이 주로 사용되었음. Recurrence와 convolution없이 Attention 메커니즘만을 사용하여 Transformer라는 이름의 간단한 network를 제안함. 적은 training cost로 최고 성능을 갱신함. 1. Introduction RNN, LSTM, GRN 등 간단히 소개 기존엔 attention mechanism이 접속사처럼 간단한 정도로 사용되었음. 2. Background sequential computation을 줄이려는 기존 시도들(Neural GPU, ByteNet, ConvS2S - 모두 conv

[DL] Attention is all you need(1) : prior knowledge
1. Before reading this paper 논문을 읽기 전에 공부한 내용입니다. 논문의 흐름과 동일하게 구성하였습니다. Attention은 입력 sequence에서 특정 위치에 얼마나 집중해야 하는지를 나타낸다. 이 개념은 해당 논문에서 제시한 모델 'Transformer'에서 처음 사용된 것은 아니지만, 기존엔 Convolution 등 특정 블록에 얹어지는 정도로 사용했다면 이를 Main Block으로 사용하여 혁신적인 모델이였고, 성능과 cost 측면에서 매우 큰 성과를 얻어 빠르게 주목받았다. (GPT 또한 transformer 구조를 사용한다.) > ### 1-1. Transformer의 구조 Transformer는 전체적으로 인코더-디코더 구조를 가지고 있다. encoder, decoder 각각에서 sub-layer들은 residual connection으로 연결되어 있고, 그 후에는 layer-normalization 과정을 거친다. 인코더는