이 단원 목차
두 기울기가 서로를 쫓는 이유
하나의 목적함수를 최소화할 때는 기울기의 반대 방향으로 이동합니다. 게임에서는 한 참가자의 이동이 다른 참가자가 보는 기울기를 바꿉니다. 아주 단순한 목적함수에서도 평형으로 곧장 접근하지 않고 회전할 수 있습니다.
다음 제약 없는 두 변수 게임을 사용합니다.
x는 최소화하고 y는 최대화합니다. a는 상호작용의 방향과 크기, μ는 x의 볼록성과 y의 오목성을 조절합니다. μ>0이거나 a가 0이 아니면 유일한 전역 안장점은 (0,0)입니다. 둘 다 0이면 목적함수가 상수여서 모든 점이 안장점입니다. 이때 임의로 고른 원점까지의 거리를 오차라고 부르면 틀립니다.
실습은 정확한 결정적 도함수와 부동소수점 궤적을 사용합니다. 제약·투영·자르기·확률적 기울기·모멘텀은 없습니다. 이 업데이트의 성질을 신경망 학습 전체에 대한 보장으로 확장하지 않습니다.
두 목적의 방향을 하나의 장으로 쓴다
경사 하강·상승을 함께 쓰려면 y 방향의 부호를 바꾼 장을 정의합니다.
연속 비교에서는 두 좌표를 모두 z'=−F(z)로 갱신합니다. A의 대칭 부분은 μI이고 비대칭 부분은 회전을 만듭니다. 상태와 장의 내적을 계산하면 다음을 얻습니다.
μ=0이고 a가 0이 아니면 반지름이 일정한 원운동입니다. μ>0이면 안쪽 나선이며 a=0이면 곧장 줄어듭니다. 이 ODE는 수학적 비교 기준입니다. 최적화 시간이 물리 시간이라는 가정은 아닙니다. 그림의 주황 경로는 s=t h에서 표본화한 점을 잇습니다. 점 사이를 직선으로 그렸다고 ODE가 실제로 그 현을 따라 움직인다는 뜻은 아닙니다.
같은 장을 이산화하는 네 방법
보폭을 h, d=1−hμ, q=ha라고 합시다. 각 방법은 z_{t+1}=Mz_t 꼴이지만 행렬 M이 다릅니다.
동시 업데이트는 두 도함수에 모두 이전 좌표를 넣습니다.
x 먼저 교대 업데이트는 x를 계산한 뒤, y의 도함수에 새 x를 넣습니다. y의 감쇠 항에는 이전 y를 씁니다.
업데이트 순서를 바꾸면 알고리즘도 바뀝니다. 동시 업데이트를 다른 순서로 화면에 보여 주기만 하는 것이 아닙니다.
Extragradient는 먼저 z_{half}=z−hF(z)를 예측하고 그 점의 장을 구한 뒤, 원래 z에서 보정합니다.
예측점에서 다시 보통 경사 한 번을 실행하면 (I−hA)^2가 되어 다른 방법입니다. 위상 그림의 초록 사각형은 예측점입니다. 검은 최종 업데이트 선은 그 사각형이 아니라 원래 상태에서 시작합니다.
Implicit 방법은 z^+=z−hF(z^+)를 두 좌표에 대해 함께 풉니다. 이 선형 예제에서는 다음처럼 정확하게 계산됩니다.
교대 한 번을 수행하고 연립식을 풀었다고 부르는 것이 아닙니다. 비선형 implicit 방법이라면 별도 solver와 풀이 오차 분석이 필요합니다.
손계산: 반 보폭이 만드는 차이
a=1, μ=0, h=1/2, z0=(1,0)으로 둡니다. 동시와 x 먼저 교대는 첫 단계에서 모두 (1,1/2)에 도착합니다. 이후 궤적은 다르지만 첫 제곱 노름은 5/4로 초기값 1보다 커집니다. 연속 기준의 노름은 계속 1입니다.
Extragradient의 예측점도 (1,1/2)입니다. 그 점의 장은 (1/2,−1)입니다. 원래 상태에서 보정하면 (3/4,1/2), 제곱 노름은 13/16이 됩니다. 예측점에서 다음 단계를 시작하면 이 결과가 나오지 않습니다.
Implicit은 x^+=1−y^+/2, y^+=x^+/2를 풉니다. 따라서 x^+=4/5, y^+=2/5, 제곱 노름은 4/5입니다. 네 유리수 결과는 그림과 별개로 구현을 검산하는 기준이 됩니다.
순수 상호작용 게임에서 동시·extragradient·implicit의 제곱 노름 비율은 각각 일정합니다.
Extragradient는 0<|q|<1에서만 수축합니다. |q|=1에서는 수축 없이 회전하고 그보다 크면 발산합니다. 이 모형의 implicit은 q가 0이 아니면 수축합니다. 안정 영역이 다르다는 뜻이며 모든 최적화 문제에 통하는 방법 순위는 아닙니다.
교대 운동은 기울어진 계량을 보존한다
μ=0에서 교대 행렬의 행렬식은 1입니다. 0<|q|<2이면 고윳값 크기가 1이고 거듭제곱은 유계이지만, 0이 아닌 궤적이 원점으로 수렴하지 않습니다. 유클리드 노름만 보는 것보다 다음 이차형식이 도움이 됩니다.
|q|<2에서 이 계량은 양의 정부호이고, H는 제곱 유클리드 노름의 1−|q|/2배와 1+|q|/2배 사이에 있습니다. 한 단계에서 보통 노름이 늘어나도 타원 위에 유계로 남는 이유입니다. 실습은 순수 게임의 유효 범위에서만 이 양의 정부호 불변량을 제공합니다. 범위 밖의 부정부호 이차형식이 대수적으로 보존되어도 안정성을 증명하지 못하며, 큰 궤적에서는 수치 상쇄도 심해질 수 있습니다.
μ>0일 때 동시 업데이트가 수축하는 조건은 다음과 같습니다.
이 모형의 교대 업데이트가 엄격히 안정하려면 μ>0, h>0, h(μ+|a|)<2가 필요충분합니다. 감쇠가 있어도 지나치게 큰 이산 보폭이 안전해지는 것은 아닙니다.
마지막 상태와 평균은 다른 질문에 답한다
두 번째 예제는 교대 업데이트 a=1, μ=0, h=1입니다. (1,0)에서 시작하면 다음 여섯 상태를 순환합니다.
여섯 번 업데이트한 마지막 상태는 다시 (1,0)이고 잔차는 1입니다. 하지만 0부터 5까지 상태의 평균은 정확히 (0,0)입니다. 회전이 평균에서 상쇄되었다고 마지막 상태가 수렴한 것은 아닙니다.
평균의 정의를 분명히 합니다.
마지막 z_T는 제외합니다. T=0에서는 평균과 업데이트 조회가 없다고 표시합니다. 평균 0을 임의로 만들어 넣지 않습니다. q가 0이 아니고 교대 행렬의 거듭제곱이 유계이면 망원합으로 평균 노름의 O(1/T) 상계를 얻습니다. 모든 T에 양의 하계까지 같은 차수라고 주장하면 이 예제의 완전한 주기 평균 0을 놓칩니다.
이 평균은 반복 게임 단원의 정책 재실행 비교자나 정책 가치 평가와 다릅니다. 선형 모형에서는 F(평균)가 장의 평균과 같지만 일반 비선형 장에 자동으로 성립하지는 않습니다.
반지름 1만으로 유계를 결론 내리지 않는다
유한 행렬의 스펙트럼 반지름이 1보다 작으면 거듭제곱은 0으로 갑니다. 반지름 1에서는 고유구조를 확인해야 합니다. 교대 업데이트 a=1, μ=0, h=2에서
는 고윳값 −1이 중복되고 비자명한 Jordan 블록을 갖습니다. (1,0)에서 (1,2),(−3,−4),(5,6),(−7,−8)로 커집니다. 하지만 예외적 초기값 (1,1)은 (1,1)과 (−1,−1) 사이에서 주기 운동합니다. 특정 궤적이 유계여도 모든 초기값에 대한 행렬 거듭제곱 유계 성질은 거짓일 수 있습니다.
안정성 그림은 엄격 안정·거듭제곱 유계·단위원 Jordan 블록·모든 초기값의 안장 집합 수렴을 각각 표시합니다. 고윳값 반지름 표시는 근삿값입니다. 판정은 정확한 정수·유리수 계수와 trace τ, determinant δ의 실수 2×2 Schur 부등식을 사용합니다.
몇 단계의 숫자가 작아 보인다는 관찰만으로 점근적 성질을 증명하지 않습니다.
업데이트 0은 평형 인증이 아니다
h=0이면 장이 0이 아닌 곳에서도 움직이지 않습니다. 더 미묘한 예제는 a=0, μ=1, h=1의 extragradient입니다. (1,0)의 예측점은 원점이므로 그 장은 0입니다. 그러나 보정이 원래 (1,0)에서 시작하므로 결과는 그대로입니다. 행렬은 항등, 이동량은 0, 잔차는 1입니다.
실제 정지 잔차를 계산해야 합니다.
안장 집합까지의 거리도 함께 봅니다. a=μ=0이면 안장 집합이 평면 전체이므로 원점과 떨어져 있어도 집합까지 거리는 0입니다. 반대로 행렬이 전역적으로 불안정하더라도 원점에서 출발한 특정 궤적은 자신의 안장점에 계속 머물 수 있습니다.
목적값도 대체 지표가 아닙니다. 순수 게임의 f(1,0)=0은 안장값과 같지만 그 점은 안장점이 아니며 장은 0이 아닙니다. 순수 게임의 0이 아닌 점에서는 제한 없는 전역 안장 간극이 무한대입니다. 따라서 유한한 목적값 차이를 그 간극으로 이름만 바꾸지 않습니다.
그림을 읽으면서 문제를 바꾸지 않는다
위상 그림은 표시 상태 전체·평균·extragradient 예측점을 같은 좌표 축척에 포함합니다. 발산 궤적을 잘라 내거나 정규화하지 않습니다. 뒤의 상태가 아주 크면 앞선 점들이 원점에 압축되어 보일 수 있습니다. 초기 형태를 보려면 업데이트 수를 줄여 보세요.
아래 곡선의 세로축은 log10(1+정지 잔차)입니다. 파랑은 선택한 이산 상태, 주황은 t h의 연속 기준, 초록은 그때까지 0..t−1 상태의 평균입니다. 성장과 수축을 보기 위한 표시 변환이며 실제 상태는 바꾸지 않습니다. 원래 잔차는 수치 표에 남습니다. 작은 변환값에는 log1p를 사용하고, 원래 잔차를 반올림한 로그에서 역산하지 않습니다.
업데이트 조회는 T−1로 제한되며 관찰 위치만 바꿉니다. T=0에는 조회할 전이가 없습니다. 필요한 경우 축과 상태 표시에 지수 표기를 사용하지만 저장된 상태는 축척을 바꾸지 않습니다.
연습 문제와 해설
- 동시 업데이트 a=1, μ=0, h=1/2, 초기 (1,0)에서 여덟 단계 뒤 제곱 노름은 얼마인가요? (5/4)^8=390625/65536≈5.96046입니다. 노름 자체는 그 제곱근입니다. 같은 입력의 extragradient는 (13/16)^8입니다.
- a=1, μ=0, h=1인 extragradient는 수렴하나요? 행렬은 사분의 일 회전입니다. (1,0)에서 (0,1),(−1,0),(0,−1)을 지나 돌아옵니다. 제곱 노름 비율은 1입니다. 유계인 그림이나 평균 상쇄만으로 마지막 상태의 수렴을 주장할 수 없습니다.
- a=0, μ=1, h=1에서 동시와 extragradient를 (1,0)으로 시작하면 어떻게 다른가요? 동시는 한 번에 원점에 갑니다. Extragradient는 원점을 예측하지만 원래 점에서 보정하여 (1,0)에 머뭅니다. 잔차가 진짜 풀이와 잘못된 정지를 구분합니다.
- 유계인 궤적 하나가 단위원 Jordan 블록의 유계 아닌 거듭제곱을 반박하나요? 아닙니다. 교대 h=2의 특별한 고유직선은 2주기를 만들지만 다른 초기값은 커집니다. 행렬 성질은 모든 초기값을 정량화합니다.
AI 연구에 연결하기
생성자·판별자나 actor·critic처럼 결합된 매개변수에서는 손실 하나만 보는 대신 게임 장의 대칭·회전 성분과 이산화를 살펴볼 필요가 있습니다. 연구에서는 업데이트 순서·기울기 평가점·잡음·제약·평균 정의·계산 비용·수렴 지표를 정확히 명시해야 합니다.
표준적인 단순 게임과 방법 비교의 배경은 Gidel 등의 A Variational Inequality Perspective on GANs, 3절·부록 B를 참고하세요. 여기의 감쇠 확장·정확한 안정성 판정·경계 예제·수치적 보호는 위의 명시적 이차 모형에서 유도하고 검산했습니다. 비선형 GAN의 일반 수렴 정리나 특정 optimizer의 보편적 우월성을 증명한 것은 아닙니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.