| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 딥러닝
- SQL
- 알고리즘
- ASR
- 캐글
- 에이전트
- 생성형 인공지능
- 머신러닝
- python기초
- Transformer
- 데이터엔지니어
- 기초
- RNN
- 소프트웨어 개발
- CLIP
- UMAP
- python 기초
- LangGraph
- 자연어처리
- dementional reduction
- 힙정렬
- 트랜스포머
- CNN
- Python
- 정보처리기사
- 랭그래프
- RDBMS
- 객체지향
- TTS
- 데이터 시각화
Archives
- Today
- Total
수달이네 기술 블로그
13. 트랜스포머(포지셔널 인코딩, 피드포워드 신경망, 잔차연결...) 본문
트랜스포머 논문: https://arxiv.org/abs/1706.03762
Transformer(트랜스포머)

2017년 발표된 자연어 처리(NLP)및 시퀀스 학습 문제에서 뛰어난 성능을 보이는 신경망 아키텍처
- 어텐션 메커니즘 사용
- 병렬연산 가능
- 장기 의존성 문제 해결
- 셀프 어텐션 사용(self-Attention)
- 문장 내 단어 간 관계를 동적으로 학습
- 중요한 단어는 크게 영향
- 멀티헤드 어텐션(Multi-Head Attention)
- 여러 개의 헤드로 서로 다른 관점에서 동시에 주의 분배
- 풍부한 문맥 표현
- 순차적인 계산 없이 전체 입력 문장을 병렬로 한번에 처리함.
- 전체 시퀀스를 한 번에 행렬 연산으로 처리
- 병렬화, 장기 의존성, 학습 속도가 빠름
- 포지셔널 인코딩(Positional Encoding)
- 순서없이 병렬처리 하므로 위치 정보를 넣어주는 것.
- 이로 인해 문장의 순서가 달라지면 구분 가능해진다.
- 디코더 마스킹(Masking)
- 미래를 보고 미래를 예측할 수 있기 때문에 미래를 보지 못하게 결과를 가리는 캐주얼 마스크를 적용
- 동시에 패딩 토큰도 무시하는 패딩 마스크도 사용(불필요한 학습, 교란 방지)
- 대규모 사전학습, 강한 성능
- 대용량 말뭉치로 사전학습(pretraining)한 후 작업별로 미세조정(Fine-tuning)한다.
- Fine-tuning으로 일반화 성능 향상
- 성능이 안정적임.
- BERT, GPT, T5등
포지셔널 인코딩(Positional Encoding)
트랜스포머가 문장을 병렬로 처리할 때 순서, 거리를 인식하도록 각 토큰 임베딩에 위치 신호 벡터를 추가한다.
- 사인-코사인 기반 정적 인코딩
- 다양한 주파수의 파형을 조합해 위치마다 고유한 패턴 부여
- 패턴 간 유사도로 토큰사이의 상대적 거리, 순서를 추론 가능
- 위치 신호를 토큰 임베딩의 요소별로 더해줌.
- 별도의 학습 파라미터가 없어 재현성이 높고, 과적합 위험이 낮음.
- 긴 시퀀스에도 자연스럽게 일반화된다.
예시(사인-코사인 기반 정적 인코딩)
- Dog bites man. / Man bites dog.
- 위 두 문장을 어텐션 모델에 넣을 경우 단어의 순서 정보가 사라진다.
- 따라서 단어의 위치를 나타내는 새로운 행렬을 임베딩 행렬과 같은 크기로 만든다.

- 즉 위처럼 512차원의 임베딩 벡터라면 512개의 사인 코사인 곡선이 하나씩 대응된다.
$$ PE_{(pos,2i)}=\sin \left( \frac{pos}{10000^{2i/d_{model}}}\right) ,\quad PE_{(pos,2i+1)}=\cos \left( \frac{pos}{10000^{2i/d_{model}}}\right) $$
- 위의 공식은 차원에 따른 사인 코사인 그래프와 단어의 위치 공식이다.
- 고유하게 위치가 표현된다.
정규화(Normalization)
트랜스포머에서 정규화는 안정적인 학습과 빠른 수렴에 중요한 역할을 한다.
- 값들이 한쪽으로 치우쳐 있으면 학습이 잘 안 됨.

레이어 정규화(Layer Normalization)
한 개의 입력 샘플 내부의 모든 뉴런 값에 대해 평균, 분산을 계산해 정규화
- 각 배치의 크기와 무관하게 특징 차원별로 정규화하므로 시퀀스의 길이에 영향을 받지 않음.
- 각 층의 출력 분포를 일정하게 유지해 기울기 소실, 폭발을 방지하고 학습 속도를 높임.
- 따라서 트랜스포머에 사용
배치 정규화(Batch Normalization)
미니 배치 단위로 평균과 분산을 계산해 정규화
- CNN 같은 이미지 처리에서 효과적, 그러나 시퀀스의 길이가 가변적이고 순서에 민감하다면 덜 적합함.

감마, 베타
모든 데이터가 정규화되면 입력 값이 비슷해져 성능이 제한되는 문제
이를 해결하기 위해 학습 가능한 파라미터인 감마(γ), 베타(β)를 적용
- 감마: 정규화된 값의 스케일 조정
- 베타: 정규화된 값을 좌, 우로 이동

피드 포워드 신경망과 잔차연결
피드 포워드 신경망(Feed-Forward Neural Network, FFN)

어텐션 레이어 뒤에 위치해 각 단어 벡터를 개별적으로 비선형 변환.(활성화 함수와 비슷)
- 두개의 선형 계층과 ReLU, GELU등의 활성화 함수를 사용한다.
- 차원을 확장한 후 다시 원래 차원으로 축소한다.(512 → 2048 → 512)
- 어텐션이 문맥적 관계를 학습하는데 집중한다면,
- 피드포워드 신경망은 단어별 표현을 더 복잡하게 가공해 모델의 비선형성과 표현력을 높인다.
- 문맥 정보 강화, 단어 임베딩을 더 풍부하게 만든다.
잔차 연결(Residual Connection)

입력을 그대로 출력에 더해주는 것
- 즉, 멀티헤드 어텐션을 하고 나온 임베딩 벡터에 원래 입력값을 더해준다.
- 이로 인해 기울기 소실 문제가 완화되고 안정된다.
마스크드 어텐션(Masked Attention)

self-attention 계산 과정에서 특정 토큰이 아예 선택되지 않도록 attention score단계에서 차단하는 것.
- 문장의 길이를 맞추기 위한 padding이나 생성되지 않은 미래 토큰에 -np.inf(-∞)을 더해준다.
- 이로 인해 softmax연산 시 가중치가 0으로 변한다.
- 인코더에서 padding mask로 불필요한 패딩 토큰을 배제하고,
- 디코더에서 casual mask로 문맥 정보가 섞이는 단계를 원천적으로 차단하여 올바른 문맥 순서정보를 학습한다.
'AI공부 > 자연어처리' 카테고리의 다른 글
| 15. PLM(Pre-trained Language Model) / BERT, GPT, T5 요약 (0) | 2026.03.08 |
|---|---|
| 14. 트랜스포머 구현(한국어 감성 분류 모델) (0) | 2026.03.07 |
| 12. Attention 연산 구현 (0) | 2026.03.05 |
| 11. Attention (0) | 2026.03.04 |
| 10. Seq2Seq구현 (0) | 2026.03.03 |