벡터의 노름 (Vector Norm)
쉽게 풀면
지도에서 집에서 학교까지 가는 화살표를 그렸다고 해봅시다. 이 화살표는 "어느 방향으로" 얼마나 가는지를 함께 담고 있는 벡터입니다. 그런데 방향은 신경 쓰지 않고 "실제로 얼마나 멀리 가는지" 거리만 알고 싶을 때가 있습니다. 이 거리(크기)를 구하는 방법을 벡터의 노름(Norm)이라고 합니다. 흔히 쓰는 방법은 피타고라스 정리처럼 각 방향 성분을 제곱해서 더한 뒤 제곱근을 씌우는 것(L2 노름)이지만, 각 성분의 절댓값을 그냥 더하는 방법(L1 노름) 등 노름을 재는 방식은 여러 가지가 있습니다.
왜 중요한가
벡터의 노름은 "크다/작다"라는 직관적인 크기 비교를 수학적으로 엄밀하게 정의해주기 때문에, 오차를 측정하거나 모델의 복잡도를 제어하는 등 다양한 목적에 두루 사용됩니다. 특히 머신러닝과 최적화 분야에서는 노름을 손실함수에 더해 모델이 지나치게 복잡해지는 것을 막는 정규화 기법의 핵심 도구로 쓰이며, 신호처리나 수치해석 분야에서도 오차나 수렴 정도를 정량화하는 데 필수적으로 등장합니다.
논문에서는 이렇게 쓰입니다
이 문장은 모델이 특정 가중치 값을 지나치게 크게 키워서 학습 데이터에만 맞추는 것을 막기 위해, 가중치 벡터 전체의 크기(L2 노름)가 커질수록 손실이 커지도록 벌점을 추가했다는 뜻입니다. 이런 기법을 능형회귀(Ridge)나 L2 정규화라고 부르며, 딥러닝 논문에서도 매우 흔하게 등장합니다.
통계·계량경제 분야에서는 L1 노름의 특성을 이용해 불필요한 변수의 계수를 0으로 만들어 변수 선택 효과를 얻는 방식으로 활용됩니다.
수치해석이나 최적화 알고리즘 논문에서는 값이 더 이상 크게 변하지 않는지를 판단하는 수렴 기준으로 노름을 활용하는 경우가 많습니다.
조금 더 깊게 보면
노름은 L1, L2 외에도 성분 중 절댓값이 가장 큰 값을 그대로 크기로 취하는 L∞(최대) 노름 등으로 일반화될 수 있으며, 이를 통틀어 Lp 노름이라고 부릅니다. p값이 작을수록 값이 0인 성분을 많이 만드는 희소성(sparsity) 경향이 강해지고, p값이 클수록 모든 성분의 크기를 고르게 반영하는 경향이 강해집니다. 어떤 노름을 정규화 항으로 선택하느냐에 따라 모델의 해석 가능성, 안정성, 계산 효율성이 달라지기 때문에 논문에서는 이를 실험적으로 비교하는 경우도 흔합니다.
주의할 점
노름은 벡터의 내적과 연결되어 있습니다. 벡터를 자기 자신과 내적한 뒤 제곱근을 씌우면 바로 L2 노름이 됩니다. 또한 L1 노름은 값이 작은 성분을 아예 0으로 만드는 경향이 있어 변수 선택(스파스 모델)에, L2 노름은 값을 고르게 줄이는 경향이 있어 안정적인 학습에 주로 사용됩니다.