본문 바로가기

전체 글68

Transformer_8(기초부터 심화까지) 안녕하세요 이번 시간엔 Transformer의 Residual Connection 에 대해서 알아 봅시다! 먼저 Residual Connection이란? Transformer에서 Residual Connection은 정보의 흐름을 개선하고, 신경망의 깊이에 대한 효과적인 훈련을 가능하게 하는 중요한 구성 요소입니다. Residual Connection은 아래와 같은 특징을 가집니다: 1. 정보의 흐름 개선: Residual Connection은 각 Transformer 레이어의 입력과 출력 사이에 직접적인 연결을 만듭니다. 이렇게 하면 정보가 더 쉽게 흐르고, 네트워크의 깊이가 더 깊어질 때도 성능 저하를 최소화할 수 있습니다. 그 결과, 깊은 네트워크에서도 효과적으로 학습이 가능합니다. 2. 그래디언트.. 2023. 6. 28.
Transformer_7(기초부터 심화까지) 안녕하세요! 저번 포스팅에서 저희는 Layer Normalization에 대해서 알아보았어요. 이번 시간엔 코드를 통해 Layer Normalization을 이해해보아요. 저번 Transformer 코드에 Class를 단순히 추가를 해보며 Layer Normalization을 적용시켜 볼거에요. Multi Head Attention 코드 기억하시나요? 다시 간단히 설명을 해드리겠습니다. init: 이 메서드에서는 멀티-헤드 어텐션에 필요한 변수와 레이어들을 정의합니다. embed_dim: 입력 임베딩 차원 num_heads: 사용할 어텐션 헤드의 개수 head_dim: 각 어텐션 헤드의 차원 (전체 임베딩 차원을 헤드 수로 나눈 값) 선형 레이어 : self.query: 입력에 대한 쿼리 행렬을 생성하기.. 2023. 6. 28.
Transformer_6(기초부터 심화까지) 지금까지 Self-Attention, 쿼리-키-밸류, embedding, positional encoding 그리고 Multi-Head Attention 까지 알아보았습니다. 이번 시간은 Layer Normalization 에 대해서 알아볼까요? 먼저 Normalization부터 알아 볼까요? Normalization(정규화) 데이터를 특정 범위 또는 규모로 변환하는 과정입니다. 머신러닝 및 딥러닝에서 정규화는 데이터의 스케일을 조정하여 모델의 학습을 돕기 위해 사용됩니다. 정규화는 다음과 같은 목적으로 사용됩니다: 스케일 조정: 데이터의 스케일이 다를 때, 정규화를 통해 데이터를 동일한 범위로 조정할 수 있습니다. 이렇게 하면 모델이 더 빠르게 수렴하고, 최적화 알고리즘이 더 잘 작동할 수 있습니다. .. 2023. 6. 28.
Transformer_5(기초부터 심화까지) 저번 시간 우리는 Multi-Head Attention 에 대해 배웠어요. 이번 시간에는 코드를 통해 Multi-Head Attention을 더 쉽게 이해해 봅시다! transformer_2 포스팅에서 우리는 Self-Attention이 이루어지는 과정을 코드를 통해 이해했어요. 그래서 Self-Attention과 Multi-Head Attention의 코드 구성이 어떻게 다르고 왜 다른지 이해해 봅시다. 먼저 저번 시간 이해했었던 Self-Attention 코드를 다시 한 번 보고 갈까요? 코드에 대해 다시 간단한 설명을 하자면 쿼리, 키, 밸류 선형 레이어를 정의하고, forward 함수에서 입력 시퀀스 내 단어 간의 관계를 반영한 어텐션 출력을 계산합니다. 스케일드 닷 프로덕트 어텐션 계산 - at.. 2023. 6. 28.
Transformer_4(기초부터 심화까지) 지금까지 Self-Attention, 쿼리-키-밸류, embedding, positional encoding 에 대해서 알아보았습니다. 이번 시간은 Multi-Head Attention 에 대해서 알아볼까요? Multi-Head Attention은 Transformer 모델에서 사용되는 주요 구성 요소 중 하나입니다. 기본적으로 Self-Attention 메커니즘을 여러 개의 "헤드(head)"로 분할하여 동시에 수행하는 것입니다. 이를 통해 모델은 다양한 표현 공간(representation space)에서 어텐션을 학습할 수 있습니다. Multi-Head Attention은 다음과 같은 과정으로 수행됩니다. 1. 입력 시퀀스의 임베딩 벡터를 받아옵니다. 2. 각 헤드에 대해 쿼리(Query), 키(K.. 2023. 6. 28.
Transformer_3(기초부터 심화까지) 저번 시간에는 간단하게 Transformer가 무엇인지 설명만 하려다 Self-Attention, 키-쿼리-밸류, 임베딩까지 알아보았는데요 이번 시간부터 Transformer를 체계적으로 공부해봅시다! 1. 키-쿼리-밸류(Key-Query-Value) 개념 및 셀프 어텐션(Self-Attention) 메커니즘 2. 임베딩(Embedding) 및 Positional Encoding 3. Multi-Head Attention 4. Layer Normalization 5. Residual Connection 6. 인코더와 디코더 구조 7. Transformer 모델의 학습과 최적화 방법 (학습률 스케줄링, 목표 함수 등) 이제부터 이 순서대로 계속 진행을 해보겠습니다! 먼저 저번 시간 배웠던 임베딩에 대해 기.. 2023. 6. 28.
Transformer_2(기초부터 심화까지) 저번 포스팅에서 Transformer의 핵심 개념인 Self-Attention과 쿼리, 키, 밸류 그리고 임베딩까지 알아보았어요. 코드를 보며 이해하면 더 쉽겠죠? 이번 시간에는 코드를 통해 저번 시간에 배운 내용들을 이해해볼까요? "I love AI"라는 문장으로 예시를 들어볼게요. "I love AI"를 토크나이징을 해 봅시다. 토크나이징을 한다면 'I', 'love', 'AI' 로 분리가 됩니다. 그 후 분리된 각 단어에 ID를 할당해 줍니다. 그 다음 입력 시퀀스를 생성해 줍시다. 4,64 짜리 임베딩 레이어를 정의해줍니다. embed_dim은 임베딩 벡터의 차원 수를 결정하는데, 임베딩 차원이 클수록 각 토큰을 표현하는 벡터가 더 많은 정보를 담을 수 있지만, 그만큼 모델의 파라미터 수가 증가하.. 2023. 6. 28.
Transformer_1(기초부터 심화까지) 요즘 정말 인기많은 Transformer에 대해 여러분들은 잘 아시나요? 혹시라도 모르신다면 괜찮습니다. 이번에 스스로 Transformer에 대해 공부하고 있어 글을 작성하게 되었습니다. 이 글을 처음부터 끝까지 다 읽으신다면 여러분들도 Transformer 고수?! 먼저 요즘 핫한 Transformer에 대해 알아보아요! Transformer란? 트랜스포머(Transformer)는 자연어 처리(NLP)와 기계 번역 등 다양한 분야에서 높은 성능을 보이는 딥러닝 모델입니다. 트랜스포머는 2017년에 Vaswani et al.의 논문 "Attention is All You Need"에서 처음 소개되었습니다. 트랜스포머의 핵심 개념은 셀프 어텐션(self-attention) 메커니즘입니다. 셀프 어텐션은 .. 2023. 6. 28.