AI 모델 개발: 신경망 구조 – Transformer
ㅁ 신경망 구조
ㅇ 정의:
인공 신경망에서 입력 데이터의 특징을 학습하고 예측을 수행하기 위해 계층과 노드가 연결된 구조를 의미하며, 특정 목적에 맞게 설계된 네트워크 형태를 말함.
ㅇ 특징:
– 계층(layer)과 노드(node)의 구성, 연결 방식, 데이터 흐름 방향 등이 설계 요소임
– 특정 작업(자연어 처리, 이미지 인식 등)에 최적화된 구조를 선택함
– 학습 효율과 성능에 직접적인 영향을 미침
ㅇ 적합한 경우:
– 문제 특성에 맞는 데이터 처리 흐름과 연산 구조가 필요한 경우
– 기존 모델로 성능이 한계에 도달했을 때 구조 변경을 통한 개선 시도
ㅇ 시험 함정:
– 신경망 구조와 학습 알고리즘의 개념을 혼동하는 경우
– 구조의 특성과 하이퍼파라미터 설정을 동일시하는 경우
ㅇ 시험 대비 “패턴 보기” 예시:
O: “신경망 구조는 데이터 흐름과 계층 설계를 포함한다.”
X: “신경망 구조는 가중치 최적화 방법을 의미한다.”
================================
1. Transformer
ㅇ 정의:
시퀀스 데이터 처리에 특화된 딥러닝 모델 구조로, RNN이나 CNN 없이 어텐션 메커니즘만으로 입력 간의 관계를 학습하는 구조.
ㅇ 특징:
– Self-Attention을 통해 모든 입력 토큰 간의 관계를 병렬로 학습
– 인코더-디코더 구조를 기반으로 함
– 장기 의존성(Long-term dependency) 문제를 효과적으로 처리
– 병렬 처리 가능하여 학습 속도가 빠름
ㅇ 적합한 경우:
– 기계 번역, 문서 요약, 질의응답 등 자연어 처리 작업
– 시계열 데이터의 복잡한 패턴 학습
– 대규모 데이터셋 기반의 사전학습(Pre-training) 모델
ㅇ 시험 함정:
– Transformer가 순차적 처리 구조(RNN)라고 오해하는 경우
– Attention과 Self-Attention의 차이를 혼동
– 인코더와 디코더의 역할을 바꾸어 이해하는 경우
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Transformer는 Self-Attention 기반으로 시퀀스 데이터를 병렬 처리한다.”
X: “Transformer는 순차적으로 토큰을 하나씩 처리해야 한다.”
ㅁ 추가 학습 내용
Transformer의 핵심 구성 요소 정리
Multi-Head Attention
입력 시퀀스를 여러 개의 서로 다른 표현 공간에서 병렬적으로 Attention 연산을 수행하는 구조. 각 Head는 독립적으로 Q(Query), K(Key), V(Value) 벡터를 계산하고 Scaled Dot-Product Attention을 수행한 뒤, 결과를 연결(Concatenate)하여 선형 변환을 거친다. 이를 통해 모델이 서로 다른 위치 간의 다양한 관계를 학습할 수 있다.
Positional Encoding
Transformer는 순서 정보를 직접 처리하지 않으므로, 입력 토큰의 위치 정보를 벡터로 인코딩하여 입력 임베딩에 더한다. 일반적으로 사인(sin), 코사인(cos) 함수를 이용해 각 위치와 차원에 따라 고유한 주기를 갖는 값을 생성한다. 이를 통해 모델이 토큰 순서를 인식할 수 있다.
Feed-Forward Network
각 Transformer 층에서 Attention 후에 적용되는 두 개의 선형 변환과 비선형 활성화 함수(ReLU 등)로 구성된 네트워크. 시퀀스의 각 위치에 독립적으로 적용되어 비선형 변환과 표현 확장을 수행한다.
Layer Normalization
각 층의 입력을 정규화하여 학습 안정성과 수렴 속도를 향상시키는 기법. 입력 벡터의 평균과 분산을 이용해 정규화하며, 학습 가능한 스케일과 시프트 파라미터를 적용한다.
Self-Attention의 행렬 연산 과정
1. 입력 시퀀스 X에 대해 세 개의 가중치 행렬 W_Q, W_K, W_V를 곱해 Q, K, V 벡터를 계산한다.
2. Attention 점수는 Q와 K의 전치행렬을 곱한 뒤, 차원 수의 제곱근(√d_k)으로 나누어 스케일링한다.
3. Softmax 함수를 적용하여 각 위치에 대한 가중치를 계산한다.
4. 가중치를 V 벡터에 곱해 최종 Attention 출력을 얻는다.
Scaled Dot-Product Attention 공식: Attention(Q, K, V) = softmax((QK^T) / √d_k) V
Transformer 변형 모델 비교
BERT(Bidirectional Encoder Representations from Transformers): Transformer의 Encoder 구조를 기반으로 양방향 문맥을 학습. 마스크드 언어 모델(MLM)과 다음 문장 예측(NSP)으로 사전학습. 주로 문장 분류, 질의응답, 문장 유사도 등 이해 중심 태스크에 사용.
GPT(Generative Pre-trained Transformer): Transformer의 Decoder 구조를 변형하여 사용. 좌→우 방향의 단방향 언어 모델링으로 사전학습. 주로 텍스트 생성, 대화, 요약 등 생성 중심 태스크에 사용.
사전학습(Pre-training)과 미세조정(Fine-tuning)
사전학습: 대규모 비지도 또는 자기지도 데이터로 일반적인 언어 패턴과 표현을 학습하는 과정.
미세조정: 사전학습된 모델을 특정 태스크의 소규모 지도 데이터로 추가 학습시켜 해당 태스크에 최적화하는 과정.