nn.Linear: 가장 중요한 계층
nn.Linear(in_features, out_features)는 아핀 변환 y = x W^T + b를 적용해. 가중치 행렬의 모양은 (out_features, in_features)이고 편향은 (out_features,)야. Transformer의 FFN 블록, 분류기 헤드, 임베딩 투영처럼 대부분의 모델에서 매개변수의 약 90%가 이 계층에 들어 있어.
기본 초기화
nn.Linear는 기본적으로 가중치를 Kaiming 균등 분포로 초기화하고, 편향은 입력 팬인에 맞춰 범위를 조정한 균등 분포로 초기화해. 보통은 이 값을 바꿀 필요가 없지만 기본 초기화가 있다는 사실을 알아 두면 '왜 모델이 학습되지 않지?'라는 문제를 진단하기 쉬워져.
MLP의 전형적인 구조
다층 퍼셉트론은 Linear → 활성화 → Linear → 활성화 → ... → Linear 순서로 쌓아. 현대적인 변형은 정규화를 위해 드롭아웃을 넣거나, 안정성을 위해 LayerNorm을 넣거나, 매우 깊은 신경망에 건너뛰기 연결을 더해. 이 구조는 널리 쓰여. 모든 Transformer FFN 블록도 중간에 보통 GELU 같은 비선형성을 둔 2계층 MLP야.