1. Linear layer란?
Linear layer(선형 레이어)는 인공지능 모델에서 입력을 받아 "한 번 곱하고 더하는" 역할을 합니다.
수학적으로는 다음처럼 표현할 수 있어요:
output=W×input+b
- W는 weight matrix (가중치 행렬)입니다.
- b는 bias (편향)입니다.
쉽게 말하면, 입력값을 각각 가중치를 곱해서 더하고, 마지막에 편향을 추가하는 거예요.
—
예를 들면:
- 입력이 3차원 → 출력이 2차원이면,
weight는 2×3 행렬이 되고, bias는 2차원 벡터가 됩니다.
- 이 과정을 통해 입력 데이터를 새로운 크기로 "선형 변환"해줍니다.
즉, Linear layer는
「입력 차원 → 출력 차원」으로 바꿔주는 "가장 기본적인 변환기"라고 보면 됩니다!
2. 예시
상황
- 입력 벡터:
x=⎣⎢⎢⎢⎡x1x2x3x4⎦⎥⎥⎥⎤(4차원)
- Linear layer: 입력 크기 4 → 출력 크기 2
즉, weight W는 (2×4) 크기이고, bias b는 (2×1) 크기입니다.
- Weight matrix:
W=[w11w21w12w22w13w23w14w24]
- Bias vector:
b=[b1b2]
연산
Linear layer의 출력은 다음과 같이 계산됩니다:
전개하면:
y=[w11x1+w12x2+w13x3+w14x4+b1w21x1+w22x2+w23x3+w24x4+b2]
즉,
- 첫 번째 출력은 입력들의 가중합 + b1
- 두 번째 출력도 입력들의 가중합 + b2
이렇게 output feature 수 만큼 식이 생깁니다.
요약
- 입력 벡터 차원이 4 → 출력 벡터 차원이 2로 변환됨.
- output feature 수 = 생성되는 식의 개수 = 최종 출력 차원.