0. Backgrounds

0.1 Model-Agnostic Meta-Learning (MAML)

Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

Meta-learning은 여러 task에서의 학습 과정을 관찰하여, 새로운 task에 대해 적은 데이터로도 빠르게 적응할 수 있는 모델 파라미터를 학습하는 방식이다.

MAML은 모델 구조와 무관하게 적용 가능한 gradient-based meta-learning 방법으로, 각 데이터 샘플 마다 최적의 파라미터 θi가 존재한다는 가정하에, few-shot 학습 이후의 성능이 좋아지도록 공통 초기 파라미터 θ를 학습한다.

이때 θ는 각 혹은 전체 데이터 샘플의 최적 파라미터가 아니라, 소수의 gradient update만으로 각 θi에 빠르게 도달할 수 있는 출발점이다.

MAML 논문에서는 reinforcement learning 에서도 용례도 함께 설명하지만 few-shot supervised learning 을 중심으로 설명한다.

먼저 일반적인 supervised learning 에서의 최적화의 대상은 다음과 같다:

J(θ)=1Ni=1N(fθ(xi),yi)

x 와 그에 대응하는 y 가 있고, fθ(x)y 와 제일 적은 loss 를 가지도록 하는 것이 목표이다. 하지만 Meta Learning 은 다음을 최적화 한다. 전체 Task 를 𝒯 라고 하고, 그 중 샘플링한 i 번째 데이터가 𝒯i 라고 하자.

Jmeta(θ)=𝒯ip(𝒯)𝒯i(fθαθ𝒯i(fθ))

식을 풀어서 설명하자면,

  1. 먼저 전체 Task 에서 일부가 샘플링 된다. (𝒯ip(𝒯))
  2. 그 후 각 샘플 데이터 𝒯i 에 대한 경사 하강을 수행한다. (fθαθ𝒯i(fθ)=fθi)
  3. 샘플 데이터 𝒯i 에 대한 모델 θi 을 해당 샘플 데이터의 다른 데이터로 평가한다 (𝒯i(fθi))
  4. 1~3 의 과정을 모든 샘플들에 대해 수행한 뒤 결과를 합한다.

즉 MAML 은 task 안에서 M 개 데이터를 샘플링 하여, base model θ 에서 각 샘플 데이터로 경사 하강 한 모델 θi 의 성능을 최적화 한다. 이것이 어떤 의미를 가지는지는 논문에 있는 알고리즘을 참고하면 알 수 있다.

각 샘플 데이터로 훈련된 θi 들의 gradient 로 base model θ 를 업데이트 한다. 곧 이는 θ 가 특정 Task 샘플 𝒯𝒾에 대한 최적화를 하는게 아니라, 샘플링 된 𝒯ip(𝒯) 의 데이터들에서 각각의 몇 step 의 경사하강만 수행 한 모델 θi 의 test data loss 에 대한 gradient 들로 업데이트 되는 것을 의미한다.

여기서 각 i 번째 Task 샘플에 대한 업데이트의 결과인 θi 를 만드는 과정을 Inner Loop 라 하고, 각 θi 의 Loss 를 합쳐 base model 을 업데이트 하는 과정을 Outer Loop 라고 한다.

중요한 것은 i번째 Task 샘플에 대한 Loss 에 들어가는 데이터가 Inner Loop 와 Outer Loop 가 다르다는 점이다.

𝒯i𝒟itrain𝒟itest 로 나누어진다. 즉 θi 를 만드는 loss 에 들어가는 데이터는 K 개 샘플한 𝒟itrain 이며, Outer Loop 에서 사용되는 것은 또 다르게 샘플된 𝒟itest 이다. 이는 θi 의 일반화 성능을 향상하기 위함이다.

Gaze Estimation 문제를 예시로 들어보자. 10명에 대한 전체 데이터 𝒯 가 있을 때, 𝒯i 는 각 사람의 데이터셋이다. Inner Loop 에서 사용되는 𝒟itrain𝒯i 의 일부이며, 𝒟itest 는 또 다른 일부이다. 즉 한 사람에 대해 few-shot learning 을 진행한 θi 는, 동일한 사람의 또 다른 데이터 𝒟itest 로 평가되어 overfitting 을 방지한다.

Outer Loop 에서는 θθβθ𝒯p(𝒯)𝒯i(fθi(𝒟itest)) 로 업데이트 하는데, θi 에 대한 loss 의 미분 결과를 base model θ 에 적용하는게 직관적이지 않을 수도 있지만 θi=θαθ𝒯i(fθ(𝒟itrain)) 이므로 , θ 에서부터 미분 가능하다.

미분 과정에서 θi=θαθ𝒯i(fθ(𝒟itrain)) 이므로 outer loss 를 θ 에 대해 미분 할 때 θ(θ𝒯i(𝒟itrain)) 를 구해야 하므로, 2차 미분이 필요하다. 즉 Scalar 인 Loss 의 결과를 미분한 결과는 벡터이고,각 벡터 요소마다 미분을 수행하므로 2차 미분의 결과는 행렬이 된다.

이 행렬의 크기는 파라미터 갯수의 제곱에 비례하므로 계산 비용 측면에서 굉장히 까다로우나, 논문에서는 이 항을 제거하여 근사하는 1차 미분으로도 유사한 성능을 달성하였다.

θiθI
θtest(fθi)θitest(fθi)

즉, 메타 러닝은 pre-train 시점에서의 task 의 최적 θ 가 아닌 few-shot 으로의 fine-tune 이 몇 스텝만으로 이루어질 수 있도록 파라미터를 초기화 하는 것이 목표인 방법론이다.

θ=argminθ𝔼𝒯ip(𝒯)[𝒯i(θαθ𝒯i(θ;𝒟itrain);𝒟itest)]

0.2 Few-shot Adaptive Gaze Estimation

Few-Shot Adaptive Gaze Estimation

Appearance-based Gaze Estimation 문제에서 person-specific accuracy 를 위한 Test-time personalization 방법론 중 하나로, DT-ED 아키텍쳐와 MAML 전략을 사용한 AdaGEN 을 제안한다.

이미지 기반 시선추적 문제에서 개인 간의 해부학적 차이 등의 문제를 해결하기 위해 고전적인 vision software 기반 모델에서 소수의 샘플로 personalization 하는 방법론들이 제안되었지만, 통제되지 않은 환경에서의 이미지 변동에 강건하지 못하는 한계가 있었고, CNN 기반의 모델에서는 few shot 으로 personalization 을 하는 것이 과적합으로 이어졌다.

저자가 제안하는 FAZE 프레임워크에서는 rotation-aware latent representation 을 학습하고, 이 feature 들로 meta learning 을 이용해 few-shot adaptable 한 gaze estimator 를 학습한다.

등변성 (Equivarience) 는 input 이 바뀌면 output 도 동일하게 바뀌는 성질을 말한다. 최근 연구들은 입력, 잠재 특징, 레이블 공간 등의 equivariant mapping 학습을 강제함으로써 개선이 이루어짐을 보여주었다. Interpretable transformations with encoder-decoder networks 논문에서는 encoder-decoder 구조를 통해 합성 광원 방향과 같은 복잡한 현상을 학습하였고, Unsupervised geometry-aware representation for 3d human pose estimation 에서는 multi-view 환경에서 이 방법을 적용해 pose estimation 성능을 향상시켰다.

저자는 이 아이디어를 확장하여 gaze estimation task 에서 사용하는데, CNN 으로 부터 얻은 feature 는 그 자체로는 인간이 해석할 수 없는 벡터일 것이다. 하지만 만약 실제로 의미가 있는 representation 을 학습 시킬 수 있다면 큰 이점을 가질 수 있다.

먼저 어떤 image 가 있는데, 여기엔 사람이 정면을 응시하고 있다고 가정한다. 정면이 0° 라고 설정하고, 이 이미지를 I0° 라고 하자. 또 다른 이미지는 같은 사람이 얼굴을 30° 회전한 이미지이고, I30° 라고 표기한다.

head rotation equivariance 가 보장된 모델 f() 가 있다고 하면:

z1=f(I0°)z2=f(I30°)

에서 head rotation equivariance 가 보장되었으므로

z2=[cos30°0sin30°010sin30°0cos30°]z1

이다. 이것은 모델이 서로 다른 두 이미지에서 얼굴 자세만 분리 (distengling) 했다는 것을 의미한다. 서로 다른 이미지이니 조명, appearance 등 전혀 다른 이미지임에도 불구하고 시선 추정에 중요하게 작용하는 head pose 만을 정확히 모델링 해냈으며, 다르게 이야기하면 시선 추정에 필요 없는 노이즈에 대해 강건하다는 의미로 해석된다.

0.2.2 DT-ED

Disentangling Transforming Encoder-Decoder (DT-ED) 는 사람의 외형에 대한 잠재 표현이 실제로 머리, 눈의 회전을 반영하도록 하는데에 그 목적이 있다.

우선 눈과 머리 회전에 대한 표기를 정리한다. 눈의 회전은 θ, 머리의 회전은 ϕ 로 쓰고, 다음 회전 행렬로 변환된다.

R(θ,ϕ)=[cosϕ0sinϕ010sinϕ0cosϕ][1000cosθsinθ0sinθcosθ]

DT-ED 의 학습 과정에서 같은 사람의 두 이미지 xa, xb 를 입력한다고 하자. 샘플 a 에서 b 로 갈때의 시선 방향의 변화를 표현하기 위해 Rbag=Rbg(Rag)1 를 게산할 수 있다. 이는 a 의 회전을 무마 (역행렬) 하고, 회전이 없는 상태에서 Rbg 만큼 회전한다고 해석한다. 즉 a 에서 b로 가는 회전의 정도이다. 마찬가지로 머리의 회전 Rbah 도 구할 수 있을 것이다.

여기서 실제로 두 샘플이 서로 어떻게 회전했는지에 대한 정답 데이터 (ga,gb), (ha,hb) 를 구할 수 있을것이다. 그렇다면 latent code zag 의 회전은 z^bg=Rabgzag 로 표현될 수 있다. 학습 시에 zbgz^bg 로 학습되도록 손실 함수를 설계하여 이를 달성할 수 있다.

DT-ED 에는 인코더 :xz 와 디코더 𝒟:zx^ 가 있으며, Latent embedding z 는 아래와 같이 정의된다.

  • 외형 임베딩: za
  • 안구 회전 임베딩: zg
  • 머리 회전 임베딩: zh

3가지 특징을 가지며, 단일 열을 만들기 위해 flatten 하여 z={za;zg;zh} 로 정의한다.

Fzg3×Fgzh3×Fh

디코더는 이 시선 잠재 표현 zg 에 어떤 Rotation Matrix 를 적용했을 때 (Rgzg), 이를 바탕으로 디코더의 출력 x^ 이 같은 사람의 이미지이되 ground-truth gaze/head rotation이 반영된 이미지가 만들어지도록 하는게 목표이며 이는 훈련 데이터셋에 있는 실제로 안구만 Rg 만큼 회전한 이미지와 픽셀 단위의 비교 Loss 를 이용하여 달성한다. 이는 zh 에 대해서도 적용된다.

recon(xb,x^b)=1|xb|uxb,u^x^b|u^u|

위 사진은 각 임베딩을 임의로 회전시켜 만든 디코더의 출력 예시이다.

또다른 loss 의 항은 임베딩의 일관성을 위해 존재하는데, 아래와 같다.

EC=1Bi=1Bmaxj=1B,id(i)=id(j)d(f(zig),f(zjg))

B 는 배치 크기 이고 f(zg)=(Rg)1zg 이다. 즉 latent representation 이 frontalized 된 형태이다. d 는 벡터간 거리를 뜻하며, id(i)i 번째 샘플의 person-identity 이다.

즉 이 손실은 동일 인물간 최대 특징 차이를 최소화한다. 어떤 사람에 대해, 시선 방향이 30°z1 과 시선 방향이 48°z2 가 있을 때, 둘을 각각 frontalization 한 벡터의 거리가 샘플 중 최대라면, 그것을 최소화 하도록 하는 것이다. 이상적인 상황은 어떤 사람의 모든 frontalized latent representation 간 거리가 0인 상태일 것이다.

만약 이를 모든 사람에게 똑같이 적용해 버리면 시선 추정에 필수적인 개인 간의 해부학적 차이 마저 무시되어 성능이 심각하게 저하된다.

마지막으로 agular errro 항이다. gaze latent 에서 MLP 𝒢:zgg^ 로 출력된 g^ 에 대한 손실이다.

gaze(g^,g)=arccos(g^gg^g)

3가지의 항이 모여 모델의 full loss 가 정의된다.

full=λreconrecon+λECEC+λgazegaze

0.2.3 AdaGEN, iPS-GEN

CNN 같이 구조가 복잡하고 over-parameterized 된 모델은 Few-shot 으로만 person-specific 모델을 만들어야 할 때 overfitting 의 위험이 있다. few-shot 에 너무 의존적으로 학습하여, 자칫하면 노이즈를 학습할 수 있기 때문이며 모델 복잡도 때문에 최적화의 어려움도 있다.

때문에 저자는 CNN 을 personalization 하지 않고, DT-ED 는 그대로 유지한 채 gaze feature zg 로 부터 시선 방향을 추론하는 MLP 모델만 personalization 의 대상으로 본다. 여기서 DT-ED 가 출력한 zg 로 부터 g^R3 을 추론하는 MLP 네트워크를 AdaGEN 이라고 한다.

또한 few-shot 상황에서 몇번의 경사 하강 만으로 성능을 끌어내기 위해 Meta Learning 방법론을 제안하며, AdaGEN 으로 부터 개인화된 네트워크를 PS-GEN 이라고 한다.

AdaGEN 을 few-shot adaptive 하게 meta-learning 하는 방법에 대해서 설명한다. 전체 사람 집합 𝒮 을 중복되지 않는 피험자들로 구성된 Strain 과 meta test Stest 으로 나눈다. n 번째 메타 학습에서 Strain 내 한명을 무작위로 선택한다 → 𝒫train. 해당 인물에 대해 데이터를 k 개 샘플링한다. 샘플된 k 개 데이터를 제외하고, l 개를 더 샘플링한다.

𝒫train={𝒟ctrain,𝒟vtrain}𝒟ctrain={(zig,gi)|i=1k}𝒟vtrain={(zjg,gj)|j=1l}

여기서 k,l 은 일반적으로 작으며, k 는 few-shot 학습에서 사용되는 샷 갯수를 의미한다.

θn=θnα𝒫trainc(fθn(𝒟ctrain))

먼저 위와같이 모델의 파리미터가 θn 일 때, 𝒟ctrain={(zig,gi)|i=1k} 의 대한 Loss 에 대해 경사하강을 수행하여 θn 을 구한다.

이후 업데이트된 가중치 θn 에서 𝒟vtrain={(zjg,gj)|j=1l} 평가된 Loss 를 계산하고, 해당 Loss 에 대한 경사하강을 θn 에서 수행한다.

θn+1=θnη𝒫trainv(fθn(𝒟vtrain))

수렴할 때 까지 학습을 반복하여 θ 를 얻는다. 이제 DT-ED 와 AdaGEN 이 완성된 FAZE 모델 θ 이 만들어졌다.

Personalization 시점에서는 Stest 로 부터 각 새로운 사람 𝒫test 에 대해 개인별 모델 θ𝒫test 를 학습한다.

𝒫test={𝒟ctest,𝒟vtest}𝒟ctest={(zig,gi)|i=1k}𝒟vtest={(zjg,gj)|j=1l}
θ𝒫test=θα𝓅testc(fθ(𝒟ctest))

이제 θ𝒫test𝒟vtest 로 테스트한다.

0.2.4 Result

DT-ED 를 그대로 사용하고, MLP 에 대해 Meta learning 혹은 fine-tune 사용 간 결과를 볼 수 있다. shot 이 적을 때 심한 overfitting 이 발생하는 것에 비해 MAML trained 모델은 적은 샘플에서도 안정적으로 학습하는 것을 알 수 있다.

Auto Encoder (AE) + MAML 과 DT-ED + MAML 간 차이도 알 수 있는데, 두 모델 간 유일한 차이는 DT-ED 에서는 디코딩 하기 전에 latent 가 회전된다는 것이며, 저자는 더 어려운 작업임에도 불구하고 rotation-aware representation 이 최종 시선 추적 문제에 대해 더 유리한 것을 보여주며, 시선, 머리 자세, 외형을 분리하는 것이 시선 추정에 중요한 요소임을 주장한다.

0.3 TPGaze

Test-Time Personalization with Meta Prompt for Gaze Estimation

TPGaze 는 Gaze Estimation 모델의 Fine-tune 을 하는 방법론으로, NLP 분야의 프롬프트 튜닝에서 영감을 받았다. CNN 에서의 Padding 을 Zero Padding 하지 않고 Tunable Padding 으로 대체하여 일종의 프롬프트로써 사용한다.

패딩 값을 변경하면 Convolution 이후 feature map 이 달라지므로, 이를 통해 네트워크의 동작을 특정 사용자에게 맞게 유도할 수 있다. 이는 모델 아키텍쳐를 그대로 가져갈 수 있다는 장점을 가지며, 전체 파라미터의 1% 미만을 업데이트 하므로 계산 비용이 매우 적다.

즉 몇개의 unlabled data 만으로 Test time personalization 하는것이 목적이며, source domain 에서의 backbone 학습은 다음과 같다:

θ=argminθ(1(fθ(ıS),yS)+un(fθ(ıS),ıs))

1 은 supervised-loss, un 은 unsupervised loss 를 의미한다.

Backbone 에 train 시 𝓊𝓃 를 사용하는 이유는 이후 test-time에 unsupervised loss로만 적응해야 하니, 그 loss를 미리 모델에 학습시켜 두는 것으로 이해할 수 있다. 이는 많은 UDA 연구들에서 사용되는 기법이며, TPGaze 저자는 후술할 per 를 사용한다.

이제 Convolution Padding 을 Prompt 로 취급하고, Prompt 만 Meta-Learning 한다. 학습된 모델 fθ 가 주어졌을 때 프롬프트 p 를 도입하여 모델을 수정하고 새로운 모델 f{θ,p} 를 얻는다.

sym(fθ(xis),fθ(T(xis)))=12fθ(xis)[1001]fθ(T(xis))1
per(fθ(xis),xis)=sym(fθ(xis),fθ(T(xis)))

per 는 사람의 얼굴이 좌우 대칭이라는 점을 이용한 left-right symmetry loss 이다. 어떤 이미지에 대한 모델의 출력과, 그 이미지를 좌우 반전 시킨 이미지의 출력이 yaw 만 뒤집힌 형태로 나오도록 유도한다.

참고:

left-right symmetry loss 가 아닌 rotation consistency loss 도 선택지 중 하나였지만, 원본 이미지의 여러 회전 버전에 대한 네트워크 출력을 요구하여 모델 train 시 큰 비용이 필요해 선택되지 못했다.

아래 알고리즘을 따라 메타 학습이 진행된다.

source domain data 셋인 {S,𝒴S} 에서 mini-batch 를 샘플링 하고, mini-batch 의 각 입력 xi 에 대한 프롬프트 p^ 을 구한다. (Inner loop) 이후 p^ 들에 대한 loss 로 p 가 업데이트된다. (Outer loop)

여기서 중요한 것은 Inner loop 과 Outer loop 의 Loss 가 다른데, 이는 test-time 에 unsupervised learning 을 해야하기 떄문에 각 샘플에서 per 에 대한 경사하강 결과인 p^ 을 구하긴 하지만 결국에 모델 자체의 의 성능을 유지시켜야 하기 때문에 p1 의 최적화 결과이다.

이후 사람 j 에 대한 Test-time personalization 은 아래 식으로 진행된다:

pj=argminpper(f{θ,p}(𝒜𝒿),𝒜j)

시험에 따르면, ResNet-18의 17개 Convolutional layer 전체에 프롬프트를 적용하면 오히려 성능이 크게 하락한다. 이는 모델의 가장 깊은 층이 변경되면, 고정되어 있는 마지막 Linear layer와의 매핑이 어긋나기 때문이며 첫 9개의 Convolutional layer에만 프롬프트를 추가하는 것이 성능과 효율 면에서 가장 이상적이라고 제안한다.

Alfa 는 이 TPGaze 논문에서 설계한 실험을 거의 그대로 수행하여 TPGaze 대비 성능 우위를 주장한다.

0.4 Singular Value Decomposition

먼저 SVD 를 설명하기 전에 eigenvalue 와 egienvector 를 알아야한다.

어떤 정방 행렬 An×n를 선형변환으로 봤을 때, A 에 의한 변환 결과가 자기 자신의 상수배가 되는 벡터를 eigenvector 라고 하고, 그 상수를 eigenvalue 라고 한다.

Av=λvv=eigenvector of Aλ=eigenvalue of Av

eigenvalue 와 eigenvector 는 행렬에 따라 아예 존재하지 않을 수도 있고, 1개에서 n 개 까지 존재할 수 있다.

이는 기하학적으로 보았을 때 선형 변환 A 에 의해 방향은 보존되고 scale 만 변화되는 방향 벡터를 나타내는 것으로, 이때 eigenvector 변환의 축, eigenvalue 는 변환의 scale 정도 라고 표현할 수 있다.

이러한 성질을 이용하여 A 를 eigendecomposition 할 수 있는데, 정방 행렬 An 개의 eigenvalue/vector 를 가진다고 하면 아래와 같이 표현할 수 있다.

Av1=λ1v1Av2=λ2v2Avn=λnvn
A[||||v1v2v3vn||||]=[||||λ1v1λ2v2λ3v3λnvn||||]=[||||v1v2v3vn||||][λ10000λ20000λ30000λn]

에서, 행렬 A 의 eigenvector 를 열벡터로 하는 행렬을 P, eigenvalue 를 대각원소로 하는 대각 행렬을 Λ 라고 하면:

AP=PΛA=PΛP1

이처럼 임의의 정방 행렬 An×nn 개의 일차 독립 eigenvector 를 가지면 대각화 분해 할 수 있다. 즉 벡터 v1,v2,v3 에 대해, a1v1+a2v2 (ai)v3 을 만들 수 없다면 v3v1,v2 에 대해 일차 독립하며, 모든 eigenvector 가 서로에게 일차 독립하면 eigendecomposition 을 할 수 있다.

여기서 eigenvalue 는 행렬에 대해 유일하게 결정되지만 eigenvector 는 그렇지 않기 때문에, v=1 을 만족하는 벡터를 사용하는 것이 일반적이다.

이제 정방 행렬이 아닌 임의의 행렬 Am×n 를 선형 변환으로 보고 행렬을 분해해보자.

먼저 대칭 행렬은 eigendecomposition 이 항상 가능하다. 그렇기 때문에 AAAA 도 이를 수행할 수 있다. 이제 행렬 A를 분해하면 다음과 같다:

A=UΣV

UAA 의 eigenvector 들을 열벡터로 가지는 직교 행렬, VAA 의 eigenvector 를 열벡터로 가지는 직교 행렬이다.

ΣAA, AA 의 eigenvalue 의 제곱근을 대각 원소로 가지는 대각 행렬인데, 두 행렬의 eigenvalue 는 서로 같다.

AAv=λv 에서 양 변에 A 를 곱하면 A(AA)v=λAv, 즉 AA(Av)=λ(Av) 이다. 곧 vAA 의 eigenvector 이고, AvAA 의 eigenvector 임을 알 수 있고, eigenvalue 는 λ 로 같다.

Σ=[λ1=σ10000λ2=σ20000λ3=σ30000λn=σn]

선형 변환에서 변환의 각 축을 의미하는 eigenvector 를 열벡터로 가지는 U,V 는 모두 직교 행렬이고, R=R1 가 성립한다. 모든 열벡터 에 대해 v=1 이므로, det(RR)=det(R2)det(R)=±1 이다.

U,V 는 회전(회전 + 반사) 행렬이고, Σ 는 대각행렬 이므로 AxxV 에 의해 회전시킨 후 Σ 로 Scaling 을 한 뒤 다시 U 로 회전시키는 것으로 해석할 수 있다.

그럼 왜 A=UΣV 가 성립할까?

vi 에 대해 AAvi=λvi 에서, 양 변에 vi 을 곱하면:

viAAvi=λviviAvi2=λvi2

에서 vi 가 단위 벡터 이므로 , Avi=σi 이다. 이제 ui:=Aviσi 로 정의한다. ui 도 마찬가지로 단위 벡터이다.

정의로부터 Avi=σiui 이다. 이때 아까의 AA(Avi)=λi(Avi) 에서 양변을 σi 로 나누면 AAui=λiui 이다. 즉 AviσiAA 의 고유벡터이다.

이제 vi 가 아닌 모든 AA 의 정규 직교 고유벡터들을 모은 V 로 풀어서 써보자:

AV=A[v1v2vn]=[Av1Av2Avn]=[σ1u1σ2u2]=UΣ

에서, VV=I 이므로,

AVV=UΣV=A

AAA 의 정규 고유 벡터 집합, AA 의 정규 고유 벡터 집합, 두 행렬의 특이값의 대각 행렬로 완벽히 복원된다.

truncated SVD는 SVD에서 특이값(Σ)이 큰 것부터 d개만 남기고 나머지를 버리는 것이다. 이렇게 하면 원래 행렬을 가장 비슷하게 유지하면서도 더 단순한(낮은 rank의) 행렬로 압축할 수 있다.

이는 머신러닝의 가중치 관점에서 보면, 가중치가 가장 강하게 작용하는 d개의 방향만 남기고, 영향이 작은 방향은 제거하는 것이라고 볼 수 있다. 즉, 모델이 주로 사용하고 있는 큰 변화 방향을 보존하는 방법이라고 해석할 수 있다.

0.5 Low-Rank Adaptation

자연어 처리 문제에서 중요한 문제중 하나는 일반 도메인 데이터에 대한 pretrained 모델에서 특정 작업 또는 도메인으로 adaptation 하는 것이다. 일반적으로 base model 의 크기가 커질 수록 모든 파라미터를 재학습 하는 full fine-tuning 은 현실적으로 어려워진다.

GPT-3 175B 의 경우 각각 175B 파라미터를 가진 fine-tuned 모델을 배포하는 것은 터무니없는 비용이 들것이다. 논문 저자는 pretrained 모델의 가중치를 고정하고 Transformer 아키텍쳐의 각 계층에 learnable low-rank matrix를 주입하여 학습가능한 파라미터 수를 획기적으로 줄이는 LoRA 를 제안한다.

LLM 연구들은 폭발적으로 증가했으며 이에 따라 모델 크기도 더욱 커졌다. GPT-2 수준의 크기에서는 대두되지 않았으나 175B 정도 사이즈인 GPT-3 에서는 언급했듯 fine-tuned 모델을 배포하는 것이 엄청난 부담이 되었다.

기존 Fine-tune 방법론들은 일부 파라미터들만 adaptation 하거나 새로운 작업을 위해 Adapter 같은 모듈을 학습 시키는 방식으로 이 문제를 해결하려고 했으며 pretrained 모델에 더해 소량의 파리미터만을 저장/로딩하면 되어 배포 시 효율성이 크게 향상되었다.

그러나 기존 방법론들은 모델 깊이를 확장해 Inference Latency 를 증가시키거나 모델의 시퀀스 길이를 줄이는 경우도 있었다. 제일 중요한것은 이런 방법들이 종종 fine-tune 기준 성능에 미치지 못해 효율성과 모델 퀄리티 사이에 trade-off 를 발생시킨다는 점이다.

LoRA 는 over-parameterized 모델이 실제로 낮은 low intrinsic demension 에 존재한다는 것을 보여준 Chunyuan Li et al 의 “MEASURING THE INTRINSIC DIMENSION OF OBJECTIVE LANDSCAPES” 논문에서 아이디어를 얻는다.

해당 논문에서는 최근 모델들이 방대한 수의 파라미터를 사용하며, 훈련 과정에서 데이터셋과 네트워크 아키텍쳐가 결정되는 순간 objective landscape 의 전체 구조가 고정되며, Loss 를 최소화하기 위해 이 다차원 landscape 를 탐색하며 최적의 경로를 찾는 과정이라는 것을 전제로, 문제를 기 위해 필요한 파라미터의 수를 파악하기 위해 진행된 연구이다. 즉 어떤 문제가 있을때, 실제로 문제를 푸는데 필요한 최소한의 파라미터는 몇개인가? 에 대한 답을 하기 위한 논문이다.

Chunyuan Li et al 의 가설은 네트워크를 원래의 방대한 D 차원 공간에서 최적화 하지 않고, 훨씬 더 작은 d 차원을 가진 무작위 방향의 부분 공간으로 훈련을 제한하더라도 문제를 해결할 수 있을 것이라는 것이다. 곧 이 d 를 점진적으로 늘려가며 유효한 solution 이 등장하는 시점을 intrinsic dimension dint 로 정의하고, 목적 함수 landsacpe 의 실질적인 복잡도 및 어려움을 나타는 척도가 된다고 설명한다. 저자는 d 시점의 모델을 무작위 projection matrix P 를 통해 D 차원으로 사상하여 테스트를 진행한다.

θ=θ0+PzPD×dzd

해당 실험으로 많은 문제들이 예상보다 훨씬 적은수의 차원 만으로도 해결 가능했으며, 네트워크의 Depth 나 Width 를 늘리더라도 측정된 dint 는 거의 변하지 않았음을 실험적 결과로 보였다. 즉 모델 규모가 증가하더라도 intrinsic dimension은 크게 변하지 않았으며, 이는 많은 추가 파라미터가 표현 redundancy를 제공하고 있음을 시사한다.

다시 LoRA 로 돌아와서, LoRA는 full fine-tuning에서 발생하는 weight update ΔW 또한 low-rank 구조를 가진다고 가정하며, 이를 rank-r factorization으로 parameterize 한다.

Wd×k 를 fine-tune 할 때, WW+ΔW 에서 ΔWBA 로 정의한다.

ΔW=BA,Bd×rAr×k,rmin(d,k)

차원을 r 로 제한하면 rank(BA)min(rank(B),rank(A)) 이므로, 업데이트 가중치는 반드시 low-rank 업데이트로 강제된다.

A 는 무작위 Gaussian initialziation 을 하고, B는 영행렬로 초기화된다. 즉 초기 상태는 ΔW=BA=O 이므로, 학습의 처음 상태는 base model 과 동일하다. 또한 어떤 입력 x 로 부터 forward pass 는 다음과 같은데:

h=W0x+ΔWx=W0x+BAx

여기서 ΔWx 의 분산은 r 에 비례한다. 이는 ΔWr 개의 independent 한 rank-1 update 의 합으로 표현되기 때문이다. 따라서 r 이 증가할수록 update 의 scale 이 커질 수 있으므로, ΔWxαr 를 곱해 magnitude 를 보정한다. 여기서 α 는 하이퍼파라미터이다.

  • FT 모델 전체를 fine-tune 한다.
  • BitFit 모델의 Bias 항 만 업데이트한다.
  • AdapterH Houlsby et al. (2019) 이 제안한 오리지널 어댑터이다. Self-attention 모듈과 MLP 모듈 뒤에 각각 삽입된다. hl=hl+Wupσ(Wdownhl)
  • AdapterD 모델의 레이어들에서 출력 레이어로 갈 수록 task-specific representation 담당한다는 전제에서 상위 layer 의 adapter 를 제외하고 drop 시키는 방법론이다.
  • AdapterP MLP 모듈과 LayerNorm 이 끝난 직후에 단 하나만 적용되는 Adapter이다.

Table 2는 자연어 이해 성능을 평가하는 대표적인 벤치마크인 GLUE를 사용하여, 세 가지 서로 다른 규모의 언어 모델(RoBERTa base, RoBERTa large, DeBERTa XXL)에 다양한 adaptation 방법을 적용했을 때의 성능을 비교한 결과를 보여준다.

LoRA가 전체 파라미터를 모두 업데이트하는 전통적인 Fine-Tuning 방식과 비교했을 때, 학습해야 하는 파라미터 수를 극단적으로 줄이면서도 성능은 동등하거나 오히려 더 높은 결과를 달성한다. 예를 들어 RoBERTa base 모델에서는 전체 Fine-Tuning이 약 1억 2,500만 개의 파라미터를 학습하여 평균 86.4의 성능을 기록한 반면, LoRA는 단 30만 개의 파라미터만 학습하면서도 평균 87.2의 성능을 달성하였다.

RoBERTa large에서도 동일한 경향이 나타나는데, 전체 Fine-Tuning이 3억 5,500만 개의 파라미터로 평균 88.9를 기록한 반면 LoRA는 약 80만 개의 파라미터만으로 89.0을 기록하였다. 이러한 결과는 훨씬 더 큰 모델에서도 유지된다. 약 15억 개의 파라미터를 가진 DeBERTa XXL 모델에서도 전체 Fine-Tuning이 평균 91.1을 기록할 때 LoRA는 단 470만 개의 파라미터만을 사용하여 91.3의 성능을 달성하였다. 이는 LoRA가 큰 모델에서도 매우 높은 파라미터 효율성을 유지하면서 성능을 유지하거나 향상시킬 수 있음을 보여준다.

또한 자연어 모델에서의 학습 관례 중 하나는 pre-trained 모델이 있을 때 MNLI 데이터셋으로 먼저 intermediate task training 를 진행 한 다음 하위 task 로 fine-tune 하는 것이다. 이는 pre-trained model 에서 바로 하위 task 로 fine-tune 하는것이 불안정하기 때문인데, Table 2의 실험에서 일부 데이터셋(MRPC, RTE, STS-B)에 대해서는 일반적인 fine-tune에서 사용하는 MNLI 을 사용한 초기화를 허용하지 않고 순수한 사전학습 모델에서 바로 학습하도록 제한하였다.

이러한 조건은 LoRA에게 불리한 설정이지만, 그럼에도 불구하고 LoRA는 여전히 다른 Adapter 기반 방법들을 능가하는 성능을 보였다. 예를 들어 약 80만 개의 파라미터를 사용하는 LoRA는 평균 88.6을 기록하여, 300만 개의 파라미터를 사용하는 AdapterP(평균 88.4)와 600만 개의 파라미터를 사용하는 AdapterH(평균 87.8)보다 더 높은 성능을 달성하였다.

또한 저자는 Table 6 에서 전제한 “fine-tune 하여 찾을 수 있는 최적 가중치 업데이트 ΔW 는 low-rank matrix BABn×rAr×m 로 근사할 수 있을 것이다” 라는 전제에 대한 실험적 결과를 보여준다.

낮은 rank r{1,2,4,8} 에서도 충분한 성능을 확인할 수 있었고, low-rank update 의 효용을 증명하였다.

LoRA 는 기존 가중치에 흡수시킬 수 있는 형태의 learnable parameter 를 가지므로 배포에 용이하다는 장점과, Adapter 같은 방법론과 달리 흡수시킨 이후에는 추가적인 추론 비용 증가가 없다는 장점이 있다. 또한 r 을 키울수록 full fine-tune 과 똑같아지기 때문에, 원래 모델을 학습하는 것에 수렴한다는 장점 등으로 인해 많은 개인화 문제에서 채택되고있다.

1. Introduction

Appearance-based Gaze Estimation 은 얼굴 이미지나 눈 영역의 이미지로부터 사람이 바라보는 방향을 추론하는 기술이다. 이 기술은 인간-컴퓨터 간 상호작용 등 다양한 분야에서 이용되고 있으며 시선 기반 응사소통 시스템에서는 이 기술이 필수적이다.

Gaze Estimation 기술은 통제된 환경에서는 우수한 성능을 보이지만 실제 환경에서는 그렇지 않을 수 있다. 사용자 간 차이, 카메라 세팅, 조명, 머리 자세 등의 환경적 요인이 Train 과 Test(배포) 간 불일치를 야기한다. 이런 도메인 변화는 모델이 Train 조건을 벗어난 상황에 대해 모델이 Robust 하지 못하게 한다.

Test-Time Personalization 은 Unsupervised Domain Adaption 의 한 변형이다. 이는 Test 상황에서 새로운 사용자에 대한 unlabeled 데이터로 모델을 적응시키는 방법론이다. 이는 Few-shot 환경에서 on-device adaptation 을 가능하게 하며 labeled 데이터가 필요하지 않는 점이 이점으로 작용한다.

사람의 얼굴은 공간적으로 일관된 패턴(눈, 얼굴의 기하학적 구조)을 보일 수 있고, 충분한 학습을 거치면 모델은 이런 패턴에 대응하는 일반적 특정을 포착하고 가중치 내부의 공간적 구조로 인코딩한다. (feature extraction) 그너라 이런 패턴의 대한 작은 변화만으로도 예측 정확도는 크게 떨어질 수 있다. fine-tune 은 이 문제를 완화하는데에 도움이 될 수 있지만, 사전 학습된 모델로부터 더 많은 정보를 활용한다면 성능을 더욱 향상시킬 수 있다.

저자는 완전히 새로운 feature 를 학습하는 대신 기존 feature 를 활용하는 것이 Gaze Estimation Task 에서 데이터가 제한된 상황 (few-shot) 에서 효과적임을 확인했다.

본 논문에서는 사전 학습된 filter (CNN kernel) 에 인코딩된 공간적 구조를 reweighting 하므로써 Gaze Estimation 모델을 적응시키는 Attentive Low-Rank Filter Adaptation (Alfa) 을 제안한다.

Alfa 는 사전학습된 Weight 에 대해 SVD 를 수행하여 공통적인 패턴에 대응되는 지배적인 공간 구조를 추출한다. 즉 새로운 filter 를 학습하거나 새로운 가중치를 초기화 하는 대신 대상 사용자로부터 얻은 few-shot unlabeled 샘플을 이용하여 지배적 패턴들의 영향력을 조절한다. 이를 통해 원래 학습된 representation 과 alignment 는 유지하면서도 최소한의 few-shot 데이터만으로 personalized prediction 이 가능해진다.

이후 서술할 시각화 결과는 Alfa 가 사용자마다의 특징인 눈꺼풀과 같은 직관적이고 국소적인 공통 영역을 추가 가중하는 것을 확인할 수 있다.

Main Contribution

  1. Attentive Low-Rank Filter Adaptation(Alfa)은 가중치를 비구조적인 텐서로 취급하는 대신, SVD로부터 도출된 구조화된 공간 패턴에 주의를 기울이는 방식으로 시선 추정 모델을 적응시킨다.
  2. Alfa 내의 멀티헤드 Low-Rank 적응 모듈은 미세 조정 시 확장 가능한 개인화 용량을 제공한다. 사전 학습된 가중치를 truncated SVD 형태로 저장함으로써 모델 크기를 줄일 수 있으며, 배포 시 모델 크기를 증가시키지 않고도 Alfa의 업데이트를 완전히 병합 가능하게 한다.
  3. 소수의 비라벨 테스트 시점 샘플만을 사용하여 네 개의 교차 도메인 시선 추정 벤치마크에서 Alfa가 기존 방법들을 능가함을 실증적으로 보인다.
  4. Alfa의 구조화된 적응 기법을 확산 기반 대규모 언어 모델(LLM)로 확장하여, 여러 벤치마크 전반에서 제로샷 추론 성능이 향상됨을 보인다.

2. Related Work

2.1 Test-Time Personalization (TTP)

도메인 변화에 대한 일반화를 하기 위해 Gaze estimation 모델들은 Unsupervised Domain Adaptation 을 채택했다. 표준적인 UDA 설정에서는 labeled source-domain 데이터, unlabeled target-domain 데이터를 함께 사용한다.

PnP-GA 는 소수의 source-domain 데이터와 unlabeled target-domain 데이터를 사용하며 특정 모델이 타겟 도메인의 노이즈에 과적합될 수 있다는 불안정성을 다수 모델의 통계적 합의로 해결하려 한다. 이 아키텍처는 소스 데이터로 사전 학습된 여러 개의 모델을 하나의 앙상블 그룹으로 묶고, 이들이 타겟 데이터를 바라볼 때 내놓는 예측값들의 분포를 분석한다.

outlier-guided loss 는 batch 단위에서, 시선 예측값 gk 가 얼마나 평균으로 부터 떨어져있는지를 임계점 기준으로 판단하여 loss 에 패널티를 주는 방법론이며, annotation 자체가 정확하지 않을 수 있는 gaze estimation task 에서 효과를 어느정도 입증했다.

반면 RUDA는 통계적 합의 대신, 3차원 공간에서 시선 벡터가 가져야 하는 ‘물리적 불변성’에 집중한다. 사람의 얼굴 이미지를 특정 각도 R만큼 회전시킨다면, 그 내부의 시선 방향 역시 동일한 기하학적 회전을 따라야 한다는 법칙을 이용하는 것이다.

RUDA는 타겟 도메인의 unlabeled 이미지를 인위적으로 회전시켜 증강 집합을 만들고, 원본 이미지의 예측값과 회전된 이미지의 예측값 사이의 상대적 차이가 가해진 회전량과 일치하는지를 검증한다. 이를 Rotation Consistency 이라 정의하며, 역회전 모듈을 통해 복원된 시선 벡터들이 하나의 일관된 방향으로 수렴하도록 Distribution Loss를 적용한다. 예측값들의 표준편차를 최소화함으로써, 모델이 이미지의 회전이나 왜곡에 상관없이 안구의 기하학적 특징만을 추론하도록 강제한다.

Few-shot Adaptive Gaze Estimation 은 소수의 개인별 labeled 데이터를 이용해 fine-tune 하지만, labeled data 를 얻는 과정이 강제되며 비현실적인 경우가 많다.

TTP 는 추론 단계에서 소수의 unlabeled 개인 샘플만을 이용하여 각 사용자에 맞게 모델을 적응시킴으로써 이러한 문제를 해결한다. TPP 는 사용자 외형이 다양하고 전체 모델을 업데이트 하기에는 자원 부담이 큰 온디바이스 환경에 특히 적합하다. 이러한 제약들은 labeled 데이터나 source-domain 접근 없이도 personalization 을 지원할 수 있는 효율적이고 경량화된 adaptation 방법론이다.

저자가 이 논문에서 제안하는 Alfa 는 추가적인 추론 비용 없이 TTP 를 지원하며, fine-tune 단계에서 multi-head adaptation 을 통해 확장하고 SVD 를 이용해 사중치의 핵심적인 성분을 선택함으로써 효율적인 모델을 구현한다.

2.2 Low-Rank Adaptation

LoRA: Low-Rank Adaptation of Large Language Models

Low-Rank Adaptation 은 사전 학습된 모델의 원래 가중치를 변경하지 않고, 학습 가능한 작응 행렬을 삽입 (W+ΔW) 하여 fine-tune 하는 기법이다. LoRA 는 기존 층에 rank 가 제한된 업데이트를 추가하며, 다양한 task 에서 우수한 성능을 보인다.

기존 fine-tune 방법론 중 하나인 Adapter 에서는 모델에 adaptation 을 위한 레이어를 추가해 inference latency 가 큰 단점이었고, 얼마나 큰 Adapter Layer 를 두냐에 따라 파라미터 크기가 크게 늘어날 수 있었다.

LoRA 의 목적은 성능은 유지하면서 Task 별로 저장해야하는 파라미터와 학습 시 메모리를 크게 줄이고, inference latency 도 유지하는 방향으로 연구되었다.

LoRA 의 핵심 아이디어는 업데이트 될 가중치 ΔW 가 low-rank 일 수 있다는 가정이다. 그래서 전체 W 를 직접 학습하는게 아닌 업데이트될 low-rank 가중치만 학습한다.

만약 Linear Layer 의 가중치 Wd×k 를 fine-tune 할 때, WW+ΔW 에서 ΔWBA 로 정의한다.

ΔW=BA,Bd×rAr×k,rmin(d,k)
h=Wx+BAx

r 은 하이퍼 파라미터로, 몇 rank 까지 fine-tune 할건지를 의미한다. BAx 에서 Ax 는 입력 xr 차원 latent subspace 로 압축하고, B 에서는 출력 공간에서 r 개의 방향이 선택되는 구조이다. 일종의 bottleneck 구조라고 할 수 있다.

LoRA 는 inference 시에 W+BA 를 합쳐서 저장할 수 있기 때문에 Adapter 와 다르게 fine-tune 했다고 해서 추가적인 연산이 필요해지지 않는다.

Transformer 에서는 self-attention 에서 attention factor 를 만들기 위한 projection weights (WQ,WK,WV) 등에 사용된다.

LoRA 는 r rank 만 fine-tune 해도 full fine tune 을 근사할 것이라는 전제 하에 연구되었는데, 실제로 GPT-3 같은 모델에서도 r=1,2,4 같이 매우 작은 값에서도 유의미한 성능을 관측했으며 오히려 r 이 크면 노이즈로 동작할 수 있음도 관측되었다.

본 논문에서 Related Work 로 제시하는 LoRA 를 차용한 선행 연구들은 다음과 같다:

  • MiLoRA: SVD 로 부터 얻은 상위 주성분은 학습이 모두 진행되었다고 간주하고, Minor 한 성분들에서 finetune 을 시도한다.

  • PiSSA: LoRA 의 기본 아이디어를 사용하되 상위 Σ 성분을을 기존 파라미터에서 추출하여 초기화 해 수렴 속도를 개선한다.

    A=U[:,:r]Σ[:r,:r]1/2B=Σ[:r,:r]1/2V[:,:r]T

  • MoSLoRA: 표현 능력을 향상시키기 위해 LoRA 모듈 사이에 Mixer Matrix 를 배치한다. xAWB

  • Spectral AdapterA Σ 의, 즉 singular value 의 새로운 coefficient 만 학습한다. 이는 기존에 가중치가 가지고있던 기저 방향을 유지 한 채로 특정 기저의 energy 만 업데이트한다고 볼 수 있다. ΔΣ=UTΔWVIm×n

  • DoRA: 고차원의 두꺼운 단일 LoRA 레이어를 구조화된 다수의 단일 랭크(Single-rank) 미니 전문가 구성요소들로 잘게 쪼개 앙상블한다.

  • FLoRA: Shared Low-Rank core 를 통해 파라미터의 변화를 포착하기 위해 Tucker 분해를 적용한다. 터커 분해는 임의의 N차원 고차원 텐서 𝒳 를 데이터의 본질적 기하학 관계를 압축하고 있는 다차원 핵심 Core Tensor 하나와, 각 모드(차원 축)별 표상을 변환하는 직교 투영 행렬(Factor Matrices)들의 다중 모드 곱으로 분해하는 알고리즘이다.

LoRA 기반의 다양한 Adaptation 전략에도 불구하고 이러한 방법론들은 가중치를 비구조적인 텐서로 취급하며 filter 에 인코딩 되어있는 공간적 구조를 간과한다.

Alfa 는 가중치의 공간적 구조에 주의를 기울이고 personlization 과정에서 이를 reweighting 아여 구조 인지적 adaptation 을 가능하게 한다.

3. Alfa

3.1 Problem Definition and Preliminary

저자는 Gaze estimation 을 위한 TTP 를 완전히 새로운 Task 로 정의하지 않고, UDA 계열 Task 로 재해석한다. UDA 의 목적과 마찬가지로 Alfa 의 목적도 source 도메인 𝒟S 에서 학습된 모델을 새로운 사용자에 해당하는소수의 unlabeled 데이터 만으로 target 도메인 𝒟T 로 적응시키는 것이다.

각 RGB 입력 이미지를 I 로, 그리고 매핑되는 시선 방향을 2차원 벡터 g2(yaw와 pitch)로 표기한다. 소스 도메인은 {(IiS,giS)}i=1NS로 구성된 라벨된 데이터를 제공하며, target 도메인은 일반적으로 NT=5인 소수의 비라벨 데이터 {IjT}j=1NT를 사용한다.

Gaze estimation 모델에서 입력 및 출력 feature 는 각각 CNN 레이어 또는 Linear 레이어의 입력과 출력에 해당하며, Xn×h×w,Fm×h×w로 표기한다. 여기서 n,h,wm,h,w는 각각 입력 및 출력 특징의 채널 수와 해상도의 높이 및 너비를 의미한다. 이러한 특징들은 사전 학습된 가중치 행렬 Wm×n을 통해 연결된다.

소수의 비라벨 샘플로부터 효율적인 adaptation 을 가능하게 하기 위해, 저자는 LoRA 를 기반으로 한 학습 가능한 Low-Rank 업데이트를 주입한다.

LoRA 는 학습 가능한 ΔW=AB 를 주입하는데, Am×r,Br×n 이며 rmin(m,n) 이다. LoRA 에서는 일반적으로 A𝒩(0,σ2),B=0으로 초기화된다. 그러나 이러한 초기화는 사전 학습된 가중치에 내재된 공간적, 기하학적 구조, 즉 사용자 전반에 걸친 중요한 공간적 패턴을 포착하는 구조를 간과한다.

Alfa는 사전 학습된 가중치로부터 추출된 의미적 필터를 구조적으로 reweighting 함으로써 이러한 한계를 해결하고 시선 모델의 개인화를 수행한다. 후술할 SVD 기반의 분해를 도입하여 의미적 basis dictionary 를 추출하고, personalization 을 위해 의미적 성분을 선택적으로 적응시키는 구조적 reweighting 매커니즘을 도입한다.

3.2 Structured Decomposition of Gaze Filters

Gaze estimation 은 눈과 그 주변 얼굴 영역의 해부학적 구조에 의해 형성된 구조화된 시각적 패턴에 의존한다. 개인마다 시각적 패턴의 차이가 존재하지만, 시선 위치의 변화나 주변 얼굴 근육의 작은 변화와 같이 소수의 일관된 공간적 변화 양상을 따르는 경향이 있다.

이러한 일관성은 사전 학습된 가중치가 사용자 전반에 걸쳐 널리 공유되는 반복적인 공간 구조를 인코딩하고 있음을 시사한다.

즉 사람마다 모두 패턴의 차이는 존재하나 모델 내부에서는 변형이 어느정도 정형화 되어있으며, 반복적으로 등장하는 공간 구조가 weight 에 인코딩 되어있다. 직관적 비유를 들자면 어떤 filter 는 눈동자 중심 패턴, 어떤 필터는 눈꺼풀 경계 등을 인코딩 할 것이며 사람마다 다른 것은 “활성화 정도” 이지 아예 새로운 패턴이 아니라는 의미이다.

이 강력한 전제를 바탕으로 Alfa 는 pre-trained 모델이 가지고있는 가중치의 구조에 집중한다. 이 구조를 명시적으로 드러내기 위해 가중치 행렬에 대해 Singular Value Decomposition (SVD) 를 적용한다. Wm×n 이 CNN 또는 Linear 층의 가중치 행렬이라고 할 때 SVD 는 다음과 같이 계산된다.

WWd=UdSdVd

여기서 S 는 가중치 내부 기저에서 각 고유 벡터에 대한 scale factor 이고, 아래와 같은 형태이다.

S=[σ10000σ20000σ3000000σn00000]m×n

여기서 어떤 두 scale factor σi,σj 에서 i<j 라면 σi>σj 이다. 즉 내림차순 정렬되어있다. 이는 singular value를 대응되는 고유값의 크기 순으로 정렬하기로 한 관례에 따른 것이다.

VWW의 고유벡터들로 이루어진 행렬이며, 고유벡터의 순서는 본질적으로 임의적이므로 각 고유벡터에 대응되는 고유값 λi=σi2의 크기 순에 맞춰 정렬할 수 있다.

각 행렬의 d rank truncated 표기의 정의는 다음과 같다.

  • U[:,1:d]=Udm×d 출력 projection matrix
  • S[1:d,1:d]=Sdd×d 각 direction (가중치 내부 기저 고유 벡터의 importances/energies)
  • V[1:d,:]=Vdd×n 입력 공간에서의 고유 벡터 집합

즉 하이퍼파라미터 d 는 가중치의 basis 중 제일 [energy | importance | strength] 가 높은 d 개의 rank 를 취한다는 의미이다.

이는 큰 의미에서는 기존 가중치 W 가 소실된다고 볼 수 있으나, 언급했듯 Gaze estitmation task 에서는 사람의 얼굴이 공간적으로 일관된 패턴에 대응하는 일반적 특정을 포착하고 가중치 내부의 공간적 구조로 인코딩되어 있음을 전제로 하므로, 가중치의 내부 basis 중 몇개의 rank 만 취해도 기존 WWd 가 잘 근사한다는 것을 전제한다.

오히려 상위 d개의 rank만 유지함으로써 파라미터 수를 줄이는 동시에, pretraining 동안 중요도가 낮았던 방향에 모델이 의존하지 않도록 암묵적으로 제한하는 효과를 가진다.

또한 가중치의 truncated SVD 는 아래와 같이 표현 할 수 있다.

Wd=UdSdVd=i=1duiσivi

uiσivi 는 가중치 행렬의 한 성분이 아니라, 하나의 rank-1 행렬 성분이며, 이를 i번째 rank-slice라 부른다. 이는 WWi번째 고유벡터에 대응하는 공간 방향을 의미하며, Gaze Estimation을 위해 학습된 얼굴의 주요 기하학적 패턴을 인코딩한다. 논문에서 시각화하는 slice는 바로 이 singular component 하나를 선택한 것이다.

저자는 Vbase:=SdVdd×n 을 정의하는데, 이를 “semantic basis dictionary” 라고 한다. 여기서 Vbase 를 dictionary 라고 하는 이유는 후술할 self-attention 부분에서 Key / Value 로 사용되기 때문이다. 즉 가중치 내부 기저 방향으로 rotation, reflection (Vd) 및 스케일링 (Sd) 한 행렬은 가중치 내부에서 어떤 벡터가 중요하게 작용되는지를 확인할 수 있는 lookup table 과 같은 개념이므로, Query 로 부터 탐색될 대상이 된다.

Vbase 의 성분들은 시선 행동과 관련된 핵심적인 공간 패턴(예: 홍채 및 안와 주변 단서 등)을 포착한다. 사전 학습 동안 시선 손실을 줄이는 데 가장 자주 사용된 성분일수록 가장 높은 에너지를 갖는다. SVD는 가중치 공간의 패턴을 에너지 기준으로 순위화하므로, 이러한 주요 성분들로 절단하면 시선과 관련된 지배적인 구조를 보존할 수 있으며, 개인화를 위한 컴팩트하고 구조 인지적인 basis를 제공한다. Alfa에서는 이러한 의미적 구조가 이후 단계에서 효율적이고 개인화된 업데이트 학습을 가능하게 한다.

3.3 Personalizing the Semantic Basis Dictionary

SVD를 통해 추출된 Vbase은 시선 추정에서 개인 전반에 걸쳐 잘 일반화되는 공간 패턴들의 컴팩트한 집합을 제공한다. 그러나 이러한 패턴들이 각 사용자의 고유한 외형적 특성을 완전히 포착하지는 못할 수 있다. Alfa는 사전 학습 과정에서 학습된 공유 구조를 유지하면서, 의미적 기저 사전의 성분들을 reweighting 하는 LoRA를 도입한다. 이 접근법은 사전 학습된 필터에 인코딩된 시선 관련 정보를 보존하면서도, 개인별 차이에 맞게 모델을 적응시킬 수 있게 한다. 모델을 개인화하기 위해, 저자는 사전 학습된 가중치 Wd 위에 Low-Rank 업데이트 ΔW를 추가한다. 적응된 가중치는 다음과 같이 정의된다:

W^=Wd+ΔW

여기서 ΔWm×n는 Low-Rank 개인화 항으로, ΔW=UdValfa로 계산되며, Valfa는 Alfa 모듈에 의해 학습되는 행렬이다.

3.3.1 Attending to Semantic Basis Dictionary

Alfa 는 Vbased×n 에 멀티헤드 어텐션 메커니즘을 적용하여 personalization 을 수행한다. 이 Vbase 는 사전 학습으로부터 공유된 공간 패턴을 포착하며, Alfa 는 어텐션을 사용해 target 사용자와 가장 관련성이 높은 슬라이스들을 reweighting 한다.

H 를 어텐션 헤드 갯수라고 할 때, 서로 다른 헤드들은 서로 다른 rank 슬라이스에 주의를 기울여 개인 샘플이 적을 때 상호 보완적인 단서를 결합하고 드리프트(개인 샘플이 너무 적을 때, 모델 파라미터가 우연히 관측된 단서 하나에 끌려가 pre-trained 의미 구조에서 벗어나는 현상)를 줄인다.

각 어텐션 헤드 h{1,,H}에 대해, 쿼리 projection을 위한 Low-Rank 행렬 쌍 AhQr×d와 쿼리 back-projection 을 위한 BhQd×r를 정의한다. 쿼리 projection은 다음과 같이 초기화된다:

AhQ𝒩(0,σ2),BhQ=0

각 헤드는 다음과 같이 쿼리 행렬을 계산한다:

𝒬h=BhQAhQVbased×n

키와 값 행렬은 Vbase로부터 직접 도출되며, 모든 어텐션 헤드 간에 공유된다. 키 행렬은 𝒦=Vbased×n로 정의되며, 값 행렬은 그 전치로서 𝒱=Vbasen×d이다. 각 헤드에 대해, 자신의 쿼리 𝒬h를ㅈ 사용하여 Scaled dot product 을 계산한다:

Attnh=softmax(𝒬h𝒦n)d×d
Zh=𝒱Attnhn×d

각 출력 Zh는 전치된 후 모든 헤드에 대해 스택되어 다음을 이룬다:

Z=[Z1,,ZH]Hd×n

3.3.2 Integrating Multi-Head Adaptation

멀티헤드 출력을 집계하여 ZHd×n를 얻은 후, 두 개의 Low-Rank 행렬 A𝒫rH×HdBPd×rH를 사용해 이를 의미 공간으로 다시 투영한다. 이들은 다음과 같이 초기화된다:

AP𝒩(0,σ2),BP=0

개인화된 업데이트는 다음과 같이 계산된다:

VAlfa=B𝒫A𝒫Z+Vbased×n

이로써 적응 과정이 완료되며, 최종적으로 Low-Rank 업데이트 ΔW=UdVAlfa가 생성된다.

3.3.3 Jayden - Why Attention?

언급했듯 Vbase 는 가중치 내부의 SVD basis를 singular value로 스케일한 형태로, 가중치가 학습 과정에서 어떤 방향들을 얼마나 중요하게 사용해 왔는지를 정리해 놓은 dictionary라고 볼 수 있다.

그렇다면 저자는 왜 이 Vbase 위에서 attention 메커니즘을 사용했을까? Alfa에서 attention의 목적은 새로운 의미적 방향을 학습하는 것이 아니라, 새롭게 들어온 target 사용자의 데이터가 기존 basis들 중 어떤 방향을 더 쓰고, 어떤 방향을 덜 써야 하는지를 결정하기 위함이다.

이를 위해 각 head h에 대해 다음과 같은 query를 정의한다:

𝒬h=Bh𝒬Ah𝒬Vbase

이때 𝒬h는 특정 rank slice 하나를 가리키는 것이 아니라, 여러 rank slice들에 대해 “이 방향들을 이런 비율로 써라”라고 요청하는 쿼리로 이해하는 것이 정확하다. Attention score를 전개하면 다음과 같다:

𝒬hK=(Bh𝒬Ah𝒬SdVd)(VdSd)=Bh𝒬Ah𝒬Sd2

여기서 중요한 점은 역할의 분리이다. Bh𝒬Ah𝒬 는 target 사용자의 데이터로부터 만들어진 가중치 조합으로, 어떤 rank slice들을 상대적으로 더 강조할지에 대한 제안(proposal)에 해당한다.

Attention is All You Need 에서 Attention 의 대상은 시퀀스 내 단어 임베딩 간 서로의 관계라면, Alfa 에서는 Test-time 에서 personalization 의 대상이 되는 사람의 데이터가 만들어내는 loss 로 학습되는 Mh 와 base model 의 prior 와의 관계를 인코딩한다.

Sd2 는 기존 가중치 W 가 pre-training 동안 각 rank slice를 얼마나 강하게 사용해 왔는지를 나타내는 값으로, 기존 모델이 어떤 방향을 더 신뢰해 왔는지에 대한 사전 정보라고 볼 수 있다. 따라서 𝒬h𝒦=Bh𝒬Ah𝒬Sd2 는 새 사용자 데이터가 제안한 변화 방향을, 기존 가중치가 중요하게 사용해 온 방향에 따라 가중해서 평가한 결과라고 해석할 수 있다.

이후 softmax를 적용하고 value인 Vbase 와 결합하면 다음과 같은 출력이 얻어진다:

Zh=Vbasesoftmax(Bh𝒬Ah𝒬Sd2n)

이때 Zh 는 새로운 feature를 만들어내는 것이 아니라, 기존 가중치가 가지고 있던 semantic basis들을 target 사용자에 맞게 다시 섞어 놓은 결과이다. 즉, Zh 는 target 사용자의 데이터가 기존 가중치가 중요하게 여겨 온 방향들을 어떤 비율로 재사용해야 하는지를 반영한 표현이라 볼 수 있다.

정리하자면 𝒬𝒦는 타겟 사용자의 데이터로부터 만들어진 변화 방향 B𝒬A𝒬를 기존 가중치의 각 basis별 strength와 곱해봄으로써, 이 변화가 기존 basis들에 대해 어떤 가중 분포를 갖는지를 평가한다. 이를 통해 B𝒬A𝒬의 조합에 따라 기존 basis들을 어떤 비율로 재가중해야 하는지를 Vbase를 통해 결정한다.

추상적인 비유도 들어보자. 만약 fine-tune 단계에서 사용되는 Loss 에 의해 Mh=Bh𝒬Ah𝒬 의 22번 성분이 작아졌다고 가정해보자. 이 22번은 사람 얼굴의 눈썹과 눈꺼풀에 대한 패턴을 인식한다고 가정한다. 즉 22번 성분이 작아졌다는 것은, 현재 target user 에게 22번 rank slice 가 베이스 모델에서 보다 낮아야 fine-tune loss 가 줄어드는 것을 의미한다. fine-tune loss에 의해 Mh의 22번 계수가 감소하면, softmax(MhSd2)에서 22번의 attention weight가 감소한다. 그 결과 최종 Z=Vbaseα에서 slice 22의 기여도가 줄어들고, 정규화 특성 때문에 다른 slice들의 상대적 비율이 증가한다.

즉 기존 가중치가 가지고있던 기하학적 구조를 어느정도 유지하면서, 눈썹과 눈꺼풀이 시선 추적에 덜 중요한 특정 사용자에게 맞춰 reweighting 되는 것이다.

하지만 가중치의 기하학적 구조를 완벽히 유지하고 scaling 만 하는것은 아니다. 만약 strength 만 조정한다면

Vadapt=diag(1.1,0.9,1.01,)Vbase

와 같은 형태여도 충분할 것이다. Attention 의 사용 이유는 slice 간의 상호작용 가능성 때문이다. 단순히 특정 rank slice 이 flip-consistency 에 좋지 않은 영향을 끼쳤을 때 단순히 해당 slice 의 strength 를 낮추는 것은 rank slice 간 관계를 간과하는 것이다. rank-slice 가 얼굴의 특정 부분을 인코딩 한다는 것은 어디까지나 추상적인 비유일 뿐이고, 실제로는 여러 slice 가 복합적으로 기하학적 구조를 인코딩 하므로 엄밀히 말하면 personalization 을 위해 특정 사람에게 특별히 더 반응하는 slice 를 찾아 strength 를 올리는 것이 아닌, 특정 사람에게 유리한 slice 들의 조합을 찾기 위함이다.

이후 H 개의 각 Zh 를 projection 해서 최종적인 Vadapt 를 만들어내는데, 이는 각 헤드별로 다른 slice 조합을 학습할 수 있게 한다.

3.4 Fine-tuning and Inference with Alfa

3.4.1 Fine-Tuning

사람의 얼굴은 일반적으로 좌우 대칭성을 가지며, 시선 행동은 수평 반전에 대해서도 일관성을 유지해야 한다. 이 특성을 활용하기 위해 다섯 개의 비라벨 개인 샘플 {IkT}k=1NT (여기서 NT=5)을 사용하여 대칭 손실을 적용한다. fθ()를 시선 모델이라 하자.

각 이미지에 대해 수평 반전된 버전 IkT,flip을 생성하고 다음과 같은 예측을 얻는다:

g^kT=fθ(IkT),g^kT,flip=fθ(IkT,flip)

여기서 g^=[g^yaw,g^pitch]2이다. 대칭 손실은 다음과 같이 계산된다:

fine-tune=1NTk=1NTg^kTFlipYaw(g^kT,flip)1

3.4.2 Inference

적응 과정은 사전 학습된 가중치 Wd로부터 좌측 기저 Ud를 재사용하여 원래의 모델 구조를 보존한다. 이는 추론 시 효율적인 업데이트 병합을 가능하게 한다. 전체 적응된 가중치는 다음과 같다:

W^=Wd+ΔW=UdVbase+UdVAlfa=Ud(Vbase+VAlfa)

괄호 안의 합을 Vadapt라는 인자로 정의하면 다음을 얻는다:

W^=UdVadapt,where Vadapt=Vbase+VAlfa

적응된 가중치는 Low-Rank 형태를 유지하여, 원래의 압축된 모델과 동일한 구조를 갖는다. 따라서 전체 가중치 행렬을 먼저 재구성하지 않고도, 우측 기저만을 갱신하여 W^=UdVadapt을 얻을 수 있다. 반면 표준 LoRA 변형들은 Low-Rank 항 AB를 전체 행렬에 추가한다:

W^=Wd+AB=UdSdVd+AB.

AB를 병합하려면 Wdm×n의 전체 크기로 확장해야 하며, 이는 파라미터 압축의 이점을 무효화한다(예: 모델 크기가 약 200만 개에서 1,100만 개의 파라미터로 증가). Wd를 truncated SVD 형태 UdSdVd로 저장할 경우, Low-Rank 항 AB를 직접 병합하는 것이 불가능하다. Alfa는 SVD의 우측 인자 SdVd만을 업데이트하고 Ud는 고정된 상태로 유지함으로써, 적응 과정에서 Low-Rank 를 유지하고 직접 병합 가능하도록 보장한다.

4. Experiments

4.1 Datasets

시선 추정을 위해, 저자는 cross-domain 설정을 사용한다. 소스 도메인으로는 ETH-XGaze(DE) 또는 Gaze360(DG)에서 학습된 모델을 사용하고, 타깃 도메인으로는 MPIIGaze(DM)와 EyeDiap(DD)에서 평가한다. 모든 전처리는 TPGaze 를 따른다. LLM 실험의 경우, s1K 추론 데이터셋으로 미세 조정하고, GSM8K, MATH500, Countdown, Sudoku(Arel 2025)에서 제로샷 성능을 평가한다.

4.2 Experiment Setup

시선 추정 실험에는 NVIDIA RTX 4090 한 대를 사용하고, LLM 실험에는 NVIDIA A40 GPU 두 대를 사용한다. TTP 사전 학습과 개인화 과정에서 학습률은 104로 설정한다. LLM 적응의 경우, 기본 모델로 LLaDA-8B-Instruct 를 사용하여 d1 기반 미세 조정을 따른다. 아래에서는 TTP에 대한 세부 설정을 설명한다.

4.2.1 Pre-training

소스 도메인 DEDG에서 배치 크기 120으로 Adam 을 사용해 50 epochs 동안 학습한다. truncated SVD를 적용한 이후, 정보 손실을 완화하기 위해 동일한 데이터에서 모든 파라미터를 추가로 25 epochs 동안 fine-tune 하여, truncated 사전 학습 가중치 Wd를 얻는다.

WWdd 개의 상위 에너지의 basis 만 남겨버리면 하위 nd 개의 rank slice 가 없어지므로, Wd 로 truncated 시킨 이후에 25 epochs 동안 추가로 train 을 하여 truncated 모델이 source domain 에서 계속 잘 동작호도록 유도한다.

4.2.2 Personalization

TPGaze 를 따라 각 사용자당 처음 5장의 이미지를 사용한다. 각 이미지는 한 번씩 반복되며 ColorJitter, GaussianBlur, RandomAffine로 증강된다. ResNet-18의 layer3와 layer4에는 학습률을 10배로 설정한 AdamW을 사용하고, 공정한 비교를 위해 모든 LoRA 변형에 동일한 미세 조정 방식을 적용한다.

여기서 layer3, 4 에 learning-rate 를 강하게 주는 이유는 TTP 의 상황에서 데이터가 극도로 적고, overfitting 위험이 있으므로 공통 구조는 유지하고, 사용자 특이적 high-level mapping만 조정하기 위해 gaze 와 더 직접적으로 연결된 고수준 표현 레이어를 더 적극적으로 훈련한다.

또한 pre-training 시에 Adam 을 사용하는 것과 다르게 Presonalization 시 AdamW 를 사용한다.

먼저 Adam 의 식은 다음과 같다:

mt=β1mt1+(1β1)gtvt=β2vt1+(1β2)gt2
m^t=mt1β1tv^t=vt1β2t
θt+1=θtηm^tv^t+ϵ

파라미터가 업데이트 되는 과정에서 평균과 분산을 지속적으로 추적하여 다음 업데이트에 반영하는 방법인데, 만약 Alfa 의 상황처럼 데이터가 너무 적어 overfitting 을 걱정해야하는 경우 L2 regularization 을 시도할 수 있는데, 이때 Adam 은 문제가 된다.

먼저 Adam 을 행렬로 바꿔서 쓰면:

θt+1=θtηDt1gtDt=diag(v^t+ϵ)

즉, 각 파라미터마다 다른 스케일이 붙는다. 이는 자주 흔들리는 업데이트가 있었던 파라미터에겐 작은 기울기를 주고 비교적 흔들림이 없던 업데이트가 있었던 파라미터에게 상대적으로 큰 기울기를 주기 위함이다. → 수렴하고 있는 방향을 계속 진행하도록 유도한다.

여기서 L2 term 을 넣으면:

gt=gt+λθtθt+1=θtηDt1(gt+λθt)=θtηDt1gtηDt1λθt

여기서 파라미터의 L2 term 과 분산 행렬 Dt 가 곱해지며 파라미터 weight decay 가 모든 파라미터에 대해 동일하게 적용해야 하는데 그것이 깨져버린다.

그래서 AdamW는:

θt+1=θtηDt1gtηλθt

L2 를 별개의 항으로 두어 Dt 행렬과 무관하게 regularization 한다.

4.2.3 Evaluation Metric

저자는 예측된 시선 방향과 실제 시선 방향 사이의 각도를 측정하는 각도 시선 오차를 보고한다. 기존 연구들을 따라, 모델 출력인 2차원 yaw와 pitch를 3차원 벡터로 변환하여 오차를 계산한다.

4.3 Comparison with SOTA Methods

Table 1은 네 개의 교차 도메인 시선 추정 벤치마크에서 Alfa를 최신 TTP 방법들과 비교한 결과를 보여준다. 저자는 ETH-XGaze 또는 Gaze360에서 MPIIGaze와 EyeDiap으로의 Domain Adaptation 을 평가한다. 기준선은 fine-tune 을 수행하지 않은 ResNet-18 모델이다. 공정한 비교를 위해 backbone으로 역시 ResNet-18을 사용한다. Alfa는 모든 벤치마크에서 가장 낮은 평균 각도 시선 오차를 달성하면서도, 다른 방법들에 비해 모델 크기가 약 5배 작게 유지된다.

4.4 Comparison with LoRA-based Methods

Table 2에서는 Alfa를 다른 LoRA 기반 방법들과 비교하고, Figure 3에서는 이들의 구조적 차이를 설명한다. 모든 방법은 동일한 truncated 사전 학습 가중치 Wd=UdSdVd 위에서 동작한다. 그러나 모든 LoRA 기반 변형이 추론 시 이러한 분해된 형태의 Wd에 업데이트를 병합하는 것을 지원하지는 않는다. 반면 Alfa는 사전 학습된 가중치의 공간적 구조를 활용하고, 의미적으로 중요한 패턴을 재가중한다. Alfa의 개인화된 업데이트는 truncated SVD 형태와 완전히 호환되며, 다른 방법들에 비해 추론 시 추가적인 비용을 발생시키지 않는다. 이러한 시선 특화 구조적 사전 지식은 사전 학습된 시맨틱을 훼손하지 않으면서 의미 있는 필터 재가중 방향으로 적응을 유도하며, 그 결과 네 개의 교차 도메인 벤치마크 전반에서 가장 낮은 평균 시선 오차를 달성한다.

4.5 Ablation Studies

저자는 어텐션 헤드 수와 LoRA 랭크가 Alfa의 성능에 미치는 영향을 평가하기 위해 제거 실험을 수행한다. 모든 설정에서 SVD 랭크는 64로 고정한다. Table 4에 나타난 바와 같이, 어텐션 헤드 수를 증가시키면 일반적으로 개인화 성능이 향상되며, 시선 오차가 1개 헤드에서는 6.20에서 16개 헤드에서는 5.72로 감소한다. Alfa는 사전 학습된 Wd로부터 동일한 좌측 기저 Ud를 재사용하므로, 모든 적응은 추론 시 기본 가중치에 병합되며 헤드 수와 무관하게 추가적인 계산 비용이 발생하지 않는다.

4.6 Visualization of Pre-trained Spatial Patterns

Figure 4는 ETH-XGaze로 학습된 ResNet-18 모델의 SVD 분해 가중치에서 개별 랭크 슬라이스를 시각화함으로써 사전학습 동안 인코딩된 일부 공간 패턴을 보여준다. s번째 SVD 슬라이스는 다음과 같이 계산된다:

Ud[:,s]Sd[s]VdT[s]

여기서 s는 분해의 랭크 구성요소를 인덱싱한다. 왼쪽 열은 해당 슬라이스에 의해 인코딩된 공간 구조를 나타내며, 가운데와 오른쪽 열은 서로 다른 두 피험자(피험자 0과 피험자 16)에 대한 활성화를 보여준다. 예를 들어, 22번째 슬라이스는 눈썹, 아래 눈꺼풀, 그리고 아래 입 부분을 강조하는 반면, 24번째 슬라이스는 코 옆 부분, 눈 옆 영역, 그리고 입 주변의 얼굴 근육 부위에서 활성화된다. 개인 간에 일관된 패턴은 사전학습이 시선과 관련된 얼굴 기하 구조에 정렬된 재사용 가능한 공간 구조를 포착함을 보여준다.

4.7 Visualization of Adaptation Behavior

Figure 5에서는 MPIIGaze 데이터셋의 세 명 사용자에 대해 Low-Rank 업데이트 ΔW를 시각화한다. Alfa의 업데이트는 눈과 그 주변 근육과 같은 시선과 관련된 얼굴 영역에 일관되게 집중한다. 이러한 패턴은 사용자마다 약간씩 차이를 보이는데, 이는 모델의 원래 공간적 sementic 과의 정합성을 유지하면서도 개인화된 조정을 반영한 결과이다.

반면 LoRA는 동일한 백본 계층을 사용해 개인화를 수행하더라도, 분산되고 일관되지 않은 업데이트를 생성한다. 이는 LoRA가 핵심 영역을 명시적으로 회피하지 않기 때문이며, 목표 지향적인 semantic 가이드를 결여한 채 다른 영역의 시선 관련 신호(예: pose cues)에 의존할 수 있다.

이러한 시각화 결과는 Vbase=SdVd 으로부터 유용한 성분을 식별하는 Alfa의 능력을 강조한다. 이 성분들은 사전 학습된 소스 모델과 타깃 사용자 간의 도메인 특화 불일치를 반영하므로, 효과적인 사용자별 적응을 위해서는 이들을 재가중하는 것만으로 충분하다.

4.8 Applying Alfa to Diffusion-Based LLMs

LLaDA-8B-Instruct 모델에 Alfa를 적용했을 때의 성능을, 네 가지 제로샷 추론 벤치마크(GSM8K, MATH500, Countdown, Sudoku)에서 LoRA 및 DoRA와 비교한 결과를 보여준다. 적응에는 1,000개의 샘플을 사용한다. LLM 실험을 포함한 이유는 추론 과제가 토큰 상호작용 패턴(예: 포맷, 단계 표시)을 재사용하며, 데이터가 제한된 경우 이러한 패턴을 재가중하는 것이 유리함이 알려져 있기 때문이다. LoRA 결과는 d1에서 가져왔으며, DoRA는 HuggingFace PEFT 라이브러리를 사용해 재구현하였다.

LoRA와 DoRA는 LoRA 랭크 128을 사용하는 반면, Alfa는 더 낮은 랭크인 64를 사용하며 전체 모델 파라미터의 0.85%만을 튜닝한다. 표 3의 모든 실험에서는 SVD 절단 없이 전체 사전 학습 가중치 행렬 W를 유지한다. Alfa는 저랭크 업데이트 ΔW를 계산하기 위해 SVD 랭크 128과 8개의 어텐션 헤드를 사용한다. 이러한 더 작은 파라미터 규모에도 불구하고, Alfa는 전반적인 벤치마크에서 동등하거나 더 우수한 정확도를 달성한다. 이는 언어 모델의 추론 패턴 역시 사전 학습 과정에서 인코딩된 일반화 가능한 성분으로 표현될 수 있음을 시사하며, 향후 연구를 위한 흥미로운 가능성을 제시한다.

5. Conclusion

본 논문에서는 시선 추정 모델의 테스트 시점 개인화를 위한 구조 인지형 방법인 Alfa를 제안하였다. Alfa는 SVD를 통해 추출된 공간 패턴에 어텐션을 적용함으로써, 사전 학습된 필터에 내재된 의미 있는 성분을 재사용하고 멀티헤드 Low-Rank 설계를 통해 효율적인 도메인 적응을 가능하게 한다. 이 접근법은 미세 조정 과정에서 확장 가능한 개인화를 지원하는 동시에, 추론 비용을 증가시키지 않으면서 컴팩트한 모델을 유지한다. 네 개의 교차 도메인 시선 추정 벤치마크 실험을 통해, 소수의 비라벨 샘플만으로도 최신 수준의 성능을 달성함을 입증하였다. 더 나아가, Alfa의 구조화된 적응 기법은 확산 기반 언어 모델의 제로샷 추론 과제와 같은 다른 응용 분야에서도 잠재력을 보인다.

6. Limitation

6.1 Fine-tuning in on-device environment

on-device 환경에서의 fine-tuning은 여전히 도전적인 문제이다. 특히 Alfa는 truncated SVD와 Ud 재사용을 통해 저장해야 하는 파라미터 수를 줄이지만, 이는 compute efficiency를 직접적으로 보장하지는 않는다. 실제로 factorized parameterization은 추가적인 projection 연산 및 decomposition 과정으로 인해 training-time computational overhead를 유발할 가능성이 있다.

Experiments의 Table에서도 확인되듯이, parameter efficiency와 training-time compute efficiency 사이에는 trade-off가 존재하는 것으로 보인다. 특히 truncated SVD의 rank d, LoRA rank r, 그리고 attention head 수 H가 증가할수록 fine-tuning 단계에서 요구되는 연산량 또한 증가할 수 있다.

따라서 inference 단계에서는 backbone과 유사한 compute cost를 유지할 가능성이 있으나, on-device 환경에서 fine-tuning 자체의 실용성은 추가적인 분석이 필요해 보인다.

6.2 Flip-consistency ≠ Gaze estimation Accuracy

Alfa는 개인화 단계에서 다음과 같은 loss를 사용한다:

fine-tune=1NTk=1NTg^kTFlipYaw(g^kT,flip)1

즉, 원본 이미지와 수평 반전 이미지의 예측이 좌우 대칭적으로 일관되도록 만드는 것이 목표이다. 그러나 실제 성능 평가는 ground-truth 3D gaze vector와의 angular error이다. 이 둘은 동일한 목적이 아니다. 모델이 자기 자신과 일관되다고 해서, 정답에 가까워진다는 보장은 없다.

모델이 특정 사용자에 대해 yaw를 항상 +5° 만큼 예측한다고 가정하자.

  • 원본 예측: +15° (실제는 +10°)
  • flip 이미지 예측: -15° (실제는 -10°)

FlipYaw 처리 후 비교하면 perfectly consistent하며 loss 는 거의 0이 된다. 즉 bias는 줄지 않으면서 flip-consistency만 만족하는 해가 존재한다.

또한 Alfa는 인간 얼굴의 좌우 대칭성을 전제하나 이 전제가 틀릴 가능성이 있다. 조명 비대칭, 안경/머리카락 등의 방해 요인, 얼굴 자체의 비대칭, 사시 등의 경우, flip-consistency를 강제하면 오히려 잘 학습된 비대칭 정보를 제거할 위험이 있다.

6.3 The main contributor to accuracy improvement

논문에서 보고된 성능 향상은 multi-head attention, SVD 기반 structured basis reuse, low-rank constraint, 그리고 flip-consistency loss가 결합된 결과이다. 그러나 실험 설계 상 이 네 요소의 기여도가 명확히 분리되어 있지 않으며, 어떤 요인이 실제 성능 향상의 핵심 동인인지 인과적으로 검증되지 않았다.

Alfa는 기존 LoRA 기반 방법들과의 차별점으로 “semantic basis 위에서의 attention 기반 재가중”을 강조한다. 하지만 제시된 비교 실험은 전체 시스템 단위의 비교에 머물러 있으며, attention 모듈의 필수성을 직접적으로 입증하지는 않는다. 예를 들어, attention을 제거하고 단순한 선형 재가중 또는 diagonal gating만 적용했을 때의 성능, 혹은 softmax를 제거한 단순 저랭크 변환과의 비교는 제시되지 않는다. 따라서 현재 결과만으로는 attention이 구조적으로 필요한 요소였는지, 아니면 단지 표현력 증가에 따른 일반적 성능 향상인지 구분하기 어렵다.

성능 개선이 attention 때문이 아니라 SVD truncation 자체의 regularization 효과, low-rank 제약에 따른 안정성 향상, 또는 flip-consistency loss의 self-supervised alignment 효과에서 비롯되었을 가능성도 배제되지 않는다.

또한 multi-head 구조는 rank 증가 효과와 표현력 증가를 동반한다. 그러나 이 증가가 attention 메커니즘의 질적 장점 때문인지, 단순히 파라미터 재배치에 따른 양적 효과인지 분리되지 않았다. attention이라는 연산적으로 복잡한 구조가 정말 필요했는가? 혹은 단순한 저랭크 재가중 방식으로도 동일한 성능을 달성할 수 있었던 것은 아닌가?

결과적으로, Alfa의 성능 향상은 여러 설계 요소가 결합된 종합 효과로 보이지만, 각 구성 요소의 인과적 기여는 충분히 분해되지 않았다. 따라서 “attentive structured reweighting이 핵심이다”라는 해석은 현재 제시된 실험만으로는 강하게 뒷받침되기 어렵다. 설계의 설득력을 강화하기 위해서는 attention 제거 ablation, flip-consistency 제거 실험, SVD 없이 동일 구조 적용 실험 등 구성 요소별 분리 검증이 필요하다. 이러한 분석 없이는 attention 기반 구조가 필연적인 선택이었는지, 아니면 여러 가능한 설계 중 하나였는지 판단하기 어렵다.