학습 데이터의 순서 의존성과 리 브래킷(Lie Bracket)
이 글은 신경망 학습 과정에서 학습 데이터(Training Example)를 벡터 장(Vector Field)으로 간주하고, 두 데이터의 학습 순서를 바꿨을 때 파라미터에 미치는 영향을 수학적으로 계산하는 방법을 설명합니다. 미분 기하학의 '리 브래킷(Lie Bracket)' 개념을 적용해 데이터의 순서 의존성을 정량화하며, 이를 실제 합성곱 신경망(ConvNet) 학습에 적용한 실험 결과를 보여줍니다.
훈련 예제는 벡터 장(Vector Field)이며 그 리 브래킷(Lie Bracket)은 계산될 수 있습니다. (결과 바로가기)
이상적인 머신러닝 모델이라면 학습 과정에서 훈련 예제가 제공되는 순서에 영향을 받지 않을 것입니다. 베이지안 관점에서 훈련 데이터셋은 순서가 없는 데이터이며, 하나의 추가적인 예제를 보는 것에 기반한 모든 업데이트는 서로 교환 법칙이 성립(commute)해야 합니다. 그러나 경사 하강법(gradient descent)으로 훈련된 신경망의 경우에는 그렇지 않습니다. 이 글은 두 훈련 예제의 순서를 바꾸는 것이 파라미터별로 미치는 영향을 계산하는 방법을 설명하고, 간단한 ConvNet 모델에 대해 이 계산 결과를 보여줄 것입니다.
시작하기 위해, 우리는 하나의 간단한 수학적 사실을 인식하기만 하면 됩니다.
훈련 예제는 벡터 장입니다 만약 우리가 파라미터 $\theta \in \Theta = \mathbb{R}^\text{num params}$를 가진 신경망을 훈련시키고 있다면, 각 훈련 예제를 벡터 장으로 취급할 수 있습니다. 구체적으로, $x$가 훈련 예제이고 $\mathcal{L}^{(x)}$가 해당 훈련 예제 $x$에 대한 개별 손실(per-example loss)이라면, 이 벡터 장은 다음과 같습니다: $$ v^{(x)}(\theta) = -\nabla_{\theta} \mathcal{L}^{(x)} $$ 즉, 특정 훈련 예제에 대해 결과 벡터 장의 화살표는 파라미터가 업데이트되어야 할 방향을 가리킵니다. 이러한 관점에서, 경사 하강 업데이트는 기본적으로 학습률 $\epsilon$만큼 벡터 장의 방향으로 이동하는 것처럼 보입니다. $$ \theta' = \theta + \epsilon v^{(x)}(\theta). $$
훈련 예제 리 브래킷 (The Training Example Lie Bracket) 벡터 장으로 할 수 있는 일 중 하나는 리 브래킷을 계산하는 것입니다. 따라서 $x, y$가 훈련 예제라면, 다음을 계산할 수 있습니다: $$ [v^{(x)}, v^{(y)}] = (v^{(x)}\cdot \nabla_\theta) v^{(y)} - (v^{(y)}\cdot \nabla_\theta) v^{(x)} $$ $\Theta$ 상의 임의의 두 벡터 장에 대해 리 브래킷을 계산할 수 있으므로, 당연히 두 훈련 예제에서 발생하는 벡터 장의 리 브래킷도 계산할 수 있습니다. 두 훈련 예제의 리 브래킷은 해당 예제들에 대한 학습의 순서 의존성(order dependence)을 알려줍니다. 벡터 장의 리 브래킷은 그 자체로 벡터 장이므로, 경사도(gradient)와 마찬가지로 파라미터 텐서와 동일한 형태(shape)를 가진 리 브래킷 텐서를 얻게 됩니다.
리 브래킷은 순서 의존성을 알려줍니다 이 값을 $y$ 이전에 $x$로 업데이트하는 것과 이후에 업데이트하는 것의 차이로 해석할 수 있습니다. 이를 확인하기 위해 테일러 전개(Taylor expand)를 해보겠습니다. $\epsilon$이 학습률이라면, $O(\epsilon^2)$까지 전개할 것입니다: $$\theta' = \theta + \epsilon v^{(x)}(\theta)$$ $$ \theta'' = \theta' + \epsilon v^{(y)}(\theta') $$ $$= \theta + \epsilon v^{(x)}(\theta) + \epsilon v^{(y)}(\theta) + \epsilon^2 (v^{(x)}(\theta) \cdot \nabla_\theta) v^{(y)}(\theta)$$ 이제 $x,y$를 반대 순서로 업데이트하면, 결과 파라미터 $\theta''$에 $O(\epsilon^2)$의 차이가 발생합니다. 구체적으로 다음과 같습니다: $$ \Delta \theta'' = \epsilon^2 \left( (v^{(x)}(\theta) \cdot \nabla_\theta) v^{(y)}(\theta) - (v^{(y)}(\theta) \cdot \nabla_\theta) v^{(x)}(\theta) \right) $$ $$ \Delta \theta'' = \epsilon^2 [v^{(x)}, v^{(y)}] (\theta) $$ 따라서 여기서 우리는 리 브래킷의 중요성을 알 수 있습니다. 이는 훈련 예제를 어떤 순서로 보여주느냐에 따라 파라미터가 최종적으로 도달하는 지점의 차이를 알려줍니다. 리 브래킷의 선형성에 의해, 두 미니배치의 순서를 바꾸는 것은 모든 예제 쌍에 대해 평균을 내어 구한 효과를 가진다는 점에 유의하십시오.
기존 연구 (Prior Work) 문헌에서 훈련 예제의 리 브래킷에 대한 연구를 찾아보았을 때, 우리가 발견한 가장 초기의 설명은 Dherin(2023)으로, 그는 업데이트의 교환성(commutativity)을 측정하는 브래킷의 능력을 신경망 학습의 암묵적 편향(implicit biases)과 연결했습니다. 우리는 실제 ConvNet의 학습 과정 중 다양한 체크포인트에서 브래킷 값을 명시적으로 계산함으로써 이 연구를 더 발전시킵니다.
실험 세부 정보 (Experiment Details) 우리는 MXResNet 아키텍처(어텐션 레이어 제외)를 복제하고, CelebA 데이터셋에서 배치 크기 32로 5000스텝 동안 훈련하며, 때때로 가중치 체크포인트를 저장했습니다. 옵티마이저는 Adam이며, 파라미터는 다음과 같습니다: lr = 5e-3, betas = (0.8, 0.999)