27.12 노름(Norm)의 정의와 벡터의 크기 측정 방법
1. 노름의 공리적 정의
벡터 공간 V 위의 노름(norm)은 함수 \|\cdot\|: V \to \mathbb{R}로서, 임의의 \mathbf{u}, \mathbf{v} \in V와 \alpha \in \mathbb{R}에 대하여 다음 세 가지 공리를 만족한다.
(N1) 양의 정부호성(positive definiteness):
\|\mathbf{v}\| \geq 0 \quad \text{이고} \quad \|\mathbf{v}\| = 0 \iff \mathbf{v} = \mathbf{0}
(N2) 양의 동차성(positive homogeneity):
\|\alpha\mathbf{v}\| = |\alpha| \cdot \|\mathbf{v}\|
(N3) 삼각 부등식(triangle inequality):
\|\mathbf{u} + \mathbf{v}\| \leq \|\mathbf{u}\| + \|\mathbf{v}\|
노름이 정의된 벡터 공간을 노름 공간(normed space)이라 한다. 모든 내적 공간은 \|\mathbf{v}\| = \sqrt{\langle\mathbf{v},\mathbf{v}\rangle}을 통하여 노름 공간이 되지만, 그 역은 성립하지 않는다. 노름이 내적으로부터 유도되려면 평행사변형 법칙을 만족하여야 한다.
2. L^p 노름
\mathbb{R}^n에서 가장 일반적으로 사용되는 노름 계열은 L^p 노름(또는 p-노름)이다. p \geq 1에 대하여
\|\mathbf{v}\|_p = \left(\sum_{i=1}^{n} |v_i|^p\right)^{1/p}
로 정의된다. p의 값에 따라 서로 다른 기하학적 특성을 갖는다.
2.1 L^1 노름 (맨해튼 노름)
\|\mathbf{v}\|_1 = \sum_{i=1}^{n} |v_i|
L^1 노름은 각 성분의 절댓값의 합이다. \mathbb{R}^2에서 L^1 단위 구(unit ball) \{\mathbf{v} : \|\mathbf{v}\|_1 \leq 1\}는 꼭짓점이 좌표축 위에 놓인 마름모 형태이다. 성분이 정확히 0이 되는 해를 유도하는 경향이 있어 희소성(sparsity)을 촉진한다.
2.2 L^2 노름 (유클리드 노름)
\|\mathbf{v}\|_2 = \sqrt{\sum_{i=1}^{n} v_i^2} = \sqrt{\mathbf{v}^\top\mathbf{v}}
L^2 노름은 유클리드 내적으로부터 유도되는 노름이며, 기하학적으로 원점에서 벡터가 가리키는 점까지의 유클리드 거리에 해당한다. L^2 단위 구는 초구(hypersphere)이다. 미분 가능성이 모든 점에서 보장되며(원점 제외), 경사 기반 최적화에 적합하다.
2.3 L^\infty 노름 (체비셰프 노름)
\|\mathbf{v}\|_\infty = \max_{1 \leq i \leq n} |v_i|
L^\infty 노름은 성분의 절댓값 중 최댓값이다. p \to \infty에서 L^p 노름의 극한으로 얻어진다. \mathbb{R}^2에서 L^\infty 단위 구는 좌표축에 평행한 변을 가진 정사각형이다.
3. 노름 사이의 관계
\mathbb{R}^n에서 서로 다른 L^p 노름 사이에는 다음의 부등식이 성립한다.
\|\mathbf{v}\|_\infty \leq \|\mathbf{v}\|_2 \leq \|\mathbf{v}\|_1 \leq n\|\mathbf{v}\|_\infty
\|\mathbf{v}\|_2 \leq \sqrt{n}\|\mathbf{v}\|_\infty, \quad \|\mathbf{v}\|_1 \leq \sqrt{n}\|\mathbf{v}\|_2
이 부등식들은 유한 차원 공간에서 모든 노름이 위상적으로 동치(topologically equivalent)임을 보장한다. 즉 한 노름에 대한 수렴은 다른 노름에 대한 수렴과 동치이다.
4. 프로베니우스 노름
행렬 A \in \mathbb{R}^{m \times n}에 대하여 프로베니우스 노름(Frobenius norm)은 다음과 같이 정의된다.
\|A\|_F = \sqrt{\sum_{i=1}^{m}\sum_{j=1}^{n} a_{ij}^2} = \sqrt{\text{tr}(A^\top A)}
이는 행렬을 mn차원 벡터로 평탄화(flatten)한 후의 L^2 노름과 동일하다. 프로베니우스 노름은 특이값(singular value) \sigma_1, \ldots, \sigma_r로도 표현된다.
\|A\|_F = \sqrt{\sigma_1^2 + \sigma_2^2 + \cdots + \sigma_r^2}
5. 행렬 연산자 노름
벡터 노름으로부터 유도되는 행렬 노름을 연산자 노름(operator norm) 또는 유도 노름(induced norm)이라 한다.
\|A\|_{p} = \sup_{\mathbf{x} \neq \mathbf{0}} \frac{\|A\mathbf{x}\|_p}{\|\mathbf{x}\|_p} = \sup_{\|\mathbf{x}\|_p = 1} \|A\mathbf{x}\|_p
대표적인 경우로, \|A\|_2 = \sigma_{\max}(A) (최대 특이값)이며, \|A\|_1은 열의 절대 합의 최댓값, \|A\|_\infty는 행의 절대 합의 최댓값이다.
6. 딥러닝에서의 노름 활용
L^2 정규화(weight decay): 가중치의 L^2 노름을 손실 함수에 추가하여 과적합을 방지한다.
\mathcal{L}_{\text{reg}} = \mathcal{L}(\boldsymbol{\theta}) + \frac{\lambda}{2}\|\boldsymbol{\theta}\|_2^2
L^2 정규화는 가중치를 원점 방향으로 축소시키는 효과가 있으며, 이를 가중치 감쇠(weight decay)라 한다. 경사도 갱신에서 \boldsymbol{\theta} \leftarrow (1 - \eta\lambda)\boldsymbol{\theta} - \eta\nabla\mathcal{L}이 되어 매 단계마다 가중치가 비례적으로 감소한다.
L^1 정규화(Lasso): 가중치의 L^1 노름을 페널티로 부과하면 희소 해(sparse solution)를 유도한다.
\mathcal{L}_{\text{reg}} = \mathcal{L}(\boldsymbol{\theta}) + \lambda\|\boldsymbol{\theta}\|_1
L^1 단위 구의 꼭짓점이 좌표축 위에 위치하므로, 최적화 과정에서 일부 가중치가 정확히 0이 되는 경향이 있다. 이 성질은 특성 선택(feature selection)과 모델 압축에 유용하다.
경사도 클리핑(gradient clipping): 경사도의 노름이 임계값 c를 초과하면 경사도를 축소하여 학습의 안정성을 확보한다.
\hat{\mathbf{g}} = \begin{cases} \mathbf{g} & \text{if } \|\mathbf{g}\|_2 \leq c \\ \frac{c}{\|\mathbf{g}\|_2}\mathbf{g} & \text{if } \|\mathbf{g}\|_2 > c \end{cases}
이 연산은 경사도 벡터의 방향을 보존하면서 크기만 제한하는 것으로, 벡터의 정규화와 스칼라 곱의 조합이다.
배치 정규화(batch normalization): 미니배치의 통계량을 이용하여 각 층의 활성화 값을 정규화한다. 이 과정에서 평균을 빼고 표준편차로 나누는 연산은 벡터의 평행 이동과 크기 조정에 해당하며, 노름의 개념과 밀접하게 관련된다.
적대적 공격(adversarial attack): 입력에 대한 L^p 노름 제한 하에서 모델의 출력을 최대한 변화시키는 섭동을 찾는다. FGSM(Fast Gradient Sign Method)은 L^\infty 제약 하에서, PGD(Projected Gradient Descent)는 L^2 또는 L^\infty 구(ball) 위에 투영하면서 반복적으로 공격한다. 노름의 선택에 따라 허용되는 섭동의 기하학적 형태가 달라지므로, 각 노름에 대한 이해가 적대적 강건성(adversarial robustness) 연구의 기초가 된다.