노름

선형 사상, 벡터, 행렬의 기하학과 대수

노름은 «이 벡터는 얼마나 큰가?»라는 물음에 답하며, 벡터의 길이를 측정합니다. 다만 한 가지 함정이 있습니다. 길이를 재는 합리적인 방법이 한 가지가 아니며, 어떤 방법을 고르느냐가 머신러닝 모델의 동작에 은근히 영향을 미친다는 것입니다.

가장 기본이 되는 것은 L2(유클리드) 노름으로, 피타고라스 정리에 따라 원점에서 끝점까지의 직선 거리를 잰 것입니다. L1 노름은 대신 좌표의 절댓값을 모두 더합니다. 격자 모양 도로를 따라서만 이동할 수 있을 때의 «택시» 거리에 해당합니다. L∞ 노름은 가장 큰 좌표 하나만을 취합니다.

도시의 한 모퉁이에서 다른 모퉁이로 걸어간다고 상상해 보세요. 직선의, 까마귀가 날아가는 최단 거리는 L2 노름입니다 — 드론이 비행하는 거리와 같습니다. 하지만 거리가 당신을 격자망을 따라서만 이동하도록 강제한다면, 당신이 실제로 걷는 도시 블록 거리는 L1 노름입니다. 같은 여정에 대한 "얼마나 먼가"에 대한 두 가지 정직한 척도이며, 격자 경로는 결코 까마귀의 경로보다 짧지 않습니다.

머신러닝에서의 위치노름은 그 자체로 정규화(regularization)입니다. L2 weight decay는 ‖w‖₂²에 페널티를 주어 모든 가중치를 부드럽게 0 쪽으로 끌어당기고, 그렇게 모델을 매끄럽게 유지합니다. L1 정규화는 ‖w‖₁에 페널티를 주어 많은 가중치를 정확히 0으로 만들고, 그 결과 희소하면서 특성을 선택하는 모델을 얻습니다(앞서 본 마름모 모서리가 그 이유입니다). 그래디언트 노름 ‖∇L‖₂는 학습 중에 늘 관찰하는 값으로, «gradient clipping»은 이 값이 지나치게 커지면 다시 스케일을 줄여 줍니다.
▶ 노름
← 내적선형 결합과 생성 →