티스토리 뷰

ML/Transformer

[딥러닝 / PyTorch] Transformer 구현

코딩하는 앤지 2023. 1. 21.
728x90
반응형

Transformer 모델은 자연어 처리에서 가장 기본이 되고 있기 때문에, 한번 제대로 공부해 보고자 하는 마음에 논문부터 코드 구현까지 해보게 되었다.

코드는 hyunwoongko 님 깃허브 자료의 도움을 받았으며, Transformer 모델 구현부터 한영 번역 학습까지 진행하였다. 

논문의 구성 요소들을 바탕으로 공부한 내용과 코드를 리뷰해 보았다.

Date : 12월 9일 ~ 1월 15일

Paper: Attention Is All You Need

Github Link: https://github.com/angiekim05/study/tree/master/Paper_Code_Practice/Transformer

 

[ML/Transformer] - [딥러닝 / PyTorch] Transformer 구현 (1) Sub Layers

 

[딥러닝 / PyTorch] Transformer 구현 (1) Sub Layers

Sub Layers Encoder와 Decoder를 구성하는 Sub Layer로는 Multi-Head Attention과 Position-Wise Fully Connected Feed-Forward Network가 있다. Multi-Head Attention가 내포하는 Scaled Dot-Product Attention까지 총 3가지의 Sub Layer class를

code-angie.tistory.com

[ML/Transformer] - [딥러닝 / PyTorch] Transformer 구현 (2) Embedding : Positional Encoding

 

[딥러닝 / PyTorch] Transformer 구현 (2) Embedding : Positional Encoding

Embedding Transformer에서 사용되는 Embedding은 Input Embedding과 Output Embedding이 있으며, 이들과 더해지는 Positional Encoding이 있다.

code-angie.tistory.com

[ML/Transformer] - [딥러닝 / PyTorch] Transformer 구현 (3) Layers

 

[딥러닝 / PyTorch] Transformer 구현 (3) Layers

Layers 먼저 구현한 Sub Layers와 PyTorch에서 제공하는 LayerNorm 함수를 활용하여 Encoder Layer와 Decoder Layer의 class를 구현하였다. 논문에서 mask는 Decoder Layer에서 한번 사용되었지만 padding token의 학습이 안

code-angie.tistory.com

[ML/Transformer] - [딥러닝 / PyTorch] Transformer 구현 (4) Model

 

[딥러닝 / PyTorch] Transformer 구현 (4) Model

Model 앞서 구현한 Layers를 활용하여 Encoder와 Decoder의 class를 구현하고, 이를 합하여 Transformer class를 구현하였다.

code-angie.tistory.com

 

728x90
반응형
댓글