레이먼의 다양성에 최적화를 해보자.

5034 단어 최적화Pythonmanopt
개시하다
이 기사는 물공/계수 어드벤트 캘린더의 2022일 기사다.
처음 뵙겠습니다. 처음 뵙겠습니다.나는 계수공과 B4의 마지다.B4니까 물론 졸업논문이 바쁘니까 티포 같은 건 용서해 주세요.
주제가 요즘 유행하는 건가요?다양화의 최적화입니다.목표는 정교 행렬로 구성된 다양한 물체를 최적화하여 혼합 이미지에서 원시 이미지를 회복하는 것이다.
문제 설정
그림이 세 장 있다고 가정해 보세요. (물론 세 장이 아니어도 괜찮습니다.)그림을 저장하는 배열로, 그림마다 $\mathrm{i} 달러 (i=0,1,2) 로 표시됩니다.갑작스러웠지만, 이 그림들은 왜 정교 행렬 $A$A에 의해 혼합되었는지 알 수 없습니다.즉, 각 이미지의 $i$i 픽셀 값을 배열한 벡터
$$
x = (\mathrm{img}[0]_i,\mathrm{img}[1]_i,\mathrm{img}[2]_i)^\top
$$
... 로 삼다
$$
y = Ax
$$
및 변환된 $y$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

이 정교 행렬 $A$A에서 알 수 없을 때 혼합된 그림에서 원래의 그림을 복원하는 문제를 고려합니다.즉, 어떤 정교 행렬은 $W$이다.
$$
x = Wy = WAx
$$
$W=A^\top 달러를 찾는 문제라는 것이다.물론 어떤 가설도 복원할 수 없지만 이번에는 이미지가 각자 독립된 신호라고 생각하고 이른바 독립성분 분석을 한다.상세한 내용을 생략하고 목적 함수로 다음과 같은 4차 행렬을 고려한다.
$$
f(W) =\sum_{i=0}^3\sum_{j}\mathrm{img}[i]_j^4
$$
$A$A는 직교 행렬이기 때문에 $W달러로 고려할 행렬도 직교 행렬에만 한정됩니다.따라서 최적화 문제로
$$
\min_{W:\text{직교 행렬}f(W)
$$
이렇게 써도 돼요.
레이먼 다면체의 최적화
위에서 정의한 문제는 전체 행렬 공간(선형 공간)에서 보기에 제한된 최적화이다.그러나 원래 정교 행렬만 있는 세계를 고려하면 제약 없이 최적화해야 한다.정교 행렬로 구성된 이 공간은 스티플 다면체로 불리는 레이먼 다면체의 일종이다.따라서 이번 문제를 Stiefel 다양성상의 최적화 이슈로 고려하면 쉽게 다룰 수 있는 제한 없이 최적화로 공식화할 수 있다.
manopt를 사용해 볼게요.
실제로 파이톤으로 이 문제를 해결합시다.manoptMatlab,Pythhon,Julia가 사용한 레이먼의 다양한 프로그램을 최적화하기 위한 프로그램 라이브러리입니다.이번엔 얼른 이걸로.자세한 내용은 gist를 보십시오.
우선 원가 함수 observed_data 를 정의하면 이미지를 일차원화한 후에 배열합니다.
def cost(W):
    tmp = np.dot(W, observed_data)
    res = (tmp**4).sum()
    return res
자동 미분이 필요하니까 먼저 import autograd.numpy as np해 보세요(torch도 쓸 수 있을 것 같은데 움직이지 않습니다).
그리고 다양성 (manifold) 과 구해기를 정의합니다.이번에는 최급 하강법을 사용하기로 했다.물론 manifold는 Stiefel의 다양한 종류다.
manifold = Stiefel(n, n)
problem = Problem(manifold = manifold, cost = cost, verbosity = 1)
solver = SteepestDescent()
남은 건 솔바를 뛰는 거야.
W_opt = solver.solve(problem)
결실
상술한 코드가 얻은 복원 결과는 다음과 같다.
국세청에 도로가 살짝 비쳐서 구조와 분리된 거 알잖아.
당신은 내부에서 무엇을 합니까?
선형 공간에서의 통상적인 최급 하강법에 비해 레이먼 다양성의 최급 하강법은 어떻게 하는지 확인해 보자.
통상적인 최급 하강법은 $\alpha달러를 step size로 삼는 것이다
$$
W_{i+1} = W_i -\alpha\nabla f(W_i)
$$
및 $W 잠정 해제달러 업데이트\nablaf(W i)$W ii$i의 가장 급한 하강 방향이라고 할 수 있습니다.실제로 레이먼 다면체의 모든 점은 달러의 접촉 공간과 연결되어 있는데, 거기에 $\langle\cdot,\cdot\rangele가 쌓여 있다W달러를 정했다.따라서 이 접촉 공간에서 $\langle\cdot,\cdot\rangeleW달러에 대한 가장 급한 하락 방향은 $\operatorname {grad} f (W) 달러다.그렇다면 레이먼 다양성의 최급 하강법은 순박함에서 다음과 같이 예상된다.
$$
W_{i+1} = W_i -\alpha\operatorname{grad} f(W_i)
$$
그러나 선종류 공간과 달리 $W입니다.i-\alpha\operatorname {grad} f(W i) 달러가 반드시 다양한 신체에 포함된 것은 아니다.따라서 $Wi-\alpha\operatorname {grad} (W i) $f(retraction)를 다양한 몸으로 되돌려야 합니다.공식적으로 쓰면...
$$
W_{i+1} = R_{W_i}(-\alpha\operatorname{grad} f(W_i))
$$
이렇게R_W달러는retraction입니다.
이번에는 QR 분해로 리트랙션을 정의합니다.달러분해할 때 $Q$W i 고려($Q$: 직교 행렬, $R$: 상삼각 행렬){i+1}달러입니다.
끝맺다
급하신 거 알아요.졸업 논문은 도망갈 수 없다!
참고 문헌
김삼경문, 링목대자, 죽내일랑, 사등일성: 기계 학습의 연속적인 최적화를 위해 강담사(2016)

좋은 웹페이지 즐겨찾기