본문 바로가기

DeepLearning3

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_2(기초부터 심화까지) 저번 포스팅에서 Transformer의 핵심 개념인 Self-Attention과 쿼리, 키, 밸류 그리고 임베딩까지 알아보았어요. 코드를 보며 이해하면 더 쉽겠죠? 이번 시간에는 코드를 통해 저번 시간에 배운 내용들을 이해해볼까요? "I love AI"라는 문장으로 예시를 들어볼게요. "I love AI"를 토크나이징을 해 봅시다. 토크나이징을 한다면 'I', 'love', 'AI' 로 분리가 됩니다. 그 후 분리된 각 단어에 ID를 할당해 줍니다. 그 다음 입력 시퀀스를 생성해 줍시다. 4,64 짜리 임베딩 레이어를 정의해줍니다. embed_dim은 임베딩 벡터의 차원 수를 결정하는데, 임베딩 차원이 클수록 각 토큰을 표현하는 벡터가 더 많은 정보를 담을 수 있지만, 그만큼 모델의 파라미터 수가 증가하.. 2023. 6. 28.