https://arxiv.org/abs/2311.01462

We propose a new approach for generative modeling based on training a neural network to be idempotent. An idempotent operator is one that can be applied sequentially without changing the result beyond the initial application, namely $f(f(z))=f(z)$. The proposed model $f$ is trained to map a source distribution (e.g, Gaussian noise) to a target distribution (e.g. realistic images) using the following objectives: (1) Instances from the target distribution should map to themselves, namely $f(x)=x$. We define the target manifold as the set of all instances that $f$ maps to themselves. (2) Instances that form the source distribution should map onto the defined target manifold. This is achieved by optimizing the idempotence term, $f(f(z))=f(z)$ which encourages the range of $f(z)$ to be on the target manifold. Under ideal assumptions such a process provably converges to the target distribution. This strategy results in a model capable of generating an output in one step, maintaining a consistent latent space, while also allowing sequential applications for refinement. Additionally, we find that by processing inputs from both target and source distributions, the model adeptly projects corrupted or modified data back to the target manifold. This work is a first step towards a ``global projector'' that enables projecting any input into a target data distribution.
arxiv.org
어제 ArXiv에 게시된 따끈따끈한 논문이야. UCB와 Google Research의 연구자들이 쓴 논문이고 ICLR 2024에 투고된걸로 보여.
(아래의 소개글에는 최소 한 군데 이상 오류가 있을테니 적당히 걸러서 읽어줘...)
저자들은 idempotence(f(f(z)) = f(z))를 이용하면 모델이 여러 종류나 손상된 입력또한 처리할 수 있을 것이라고 생각했대.
그래서 실제 데이터는 모델에 invariant하게 만들고 source distribution은 target manifold에 projection하는 모델(또는 학습방법)을 제안했어.
그걸 위해서 reconstruction objective와 idempotent objective를 학습 과정에 도입했는데 reconstruction objective는 모델 f에 대해서 실제 데이터 x는 f(x) = x와 같이 모델에 invariant하게 만드는 loss고 idempotent objective는 target manifold에 projection된 noise와 projection된 결과를 다시 모델에 넣었을 때 동일하게 만드는(f(f(z)) = f(z))) loss야.
근데 위의 두 loss만 사용하면 noise를 manifold 상에 projection하지 않고도 f(z) = z라는 항등함수가 되기만 하면 두 loss 항을 완벽하게 만족시킬 수 있어서 f의 멱살을 잡고 noise를 manifold 상으로 가져오게 하는 tightness objective를 추가했어.
학습은 위의 세 가지 objective를 통해서 진행돼.
VAE나 diffusion model의 경우에는 궁극적으로 f(z) = x를 잘 만족시키는 f를 찾는 과정인데 idempotent generative network는 다른 학습방식을 제안한게 흥미롭네.
구현도 간단해서 성능만 좋다면 많이들 관심을 가질테지만 논문 자체에서는 딱히 다른 모델과의 성능 비교도 없고 GAN과 유사하게 mode collapse 문제가 발생하고(이건 noise와 target manifold를 짬뽕해서 생기는 문제 같은데...) 이미지도 blurry하다고 하니 어떨지 모르겠음....
관심있으면 읽어봐~
cs231끝내고 이제 본격적으로 생성모델 입문해보고싶은데 어떻게 시작하면 좋을까요?
대충 봤는데 GAN이나 EBM계열인듯. f(x)=x 를 얼마나 만족시키느냐가 score가 됨. f는 z를 입력으로 받아 score를 높이는 결과물 f(z)을 생성함. 한편, 동시에 f가 생성한 결과물 f(z)의 score는 낮춤. 개인적으로 흥미로운 방식은 아니고 실용성도 없어보이지만 그래도 새로운 방식을 제시한다는 점에서 괜찮은 논문인거같네