Neural Implicit Fields 분야가 3D Representation에서 각광을 받고 있다. 본 연구에서는 Neural Feilds에서 smooth latent space를 독려할 수 있는 Novel Regularization을 소개하고자 한다. 이전 Lipschitz regularized networks와 비교해 본 연구는 컴퓨팅 속도가 빠르고 단지 4줄의 코드만으로 구현할 수 있다는 장점이 있다.(개인적으로는 이게 가장 큰 장점이 아닐까 싶다.) 본 연구진은 이러한 연구 접근 방식이 shape interpolation과 extrapolation에 대해서도 효과가 있을 뿐만 아니라 3D points clouds의 부분 정보만을 가지고 전체 형상을 Reconstruction 하는데도 효과가 있음을 입증했다.
1. Introduction
Neural Fields는 geometric learning tasks에서 가장 인기 있는 표현방법이 되었다. 이들은 3D coordinates과 Scaler 값을 가지고 shape latent code로 매핑을 할 수 있다. 그리고 이전에도 smooth하게 이어줄 수 있는 방법론에 대한 연구가 있었으나. Neural Fields에 적용하는 것은 적절치 않았다. 예를 들어, Dirichlet Energy와 같은 것은 여전히 Training set을 벗어나는 순간부터 non-smooth behavior을 보여주었다. 본 연구진은 대신에, Lipshitz bound를 smoothness의 metric으로 사용한다. Lipschitz constrained networkds가 이전에 제시되었지만, 이것들은 geometric application에 적용할만한 network가 아니고 그들은 무엇보다도 Lipschitz bound를 사전에 결정해야 한다.
본 연구는 learned Lipschitz bound를 최소화할 수 있는 Novel smoothness Regularizer를 제시한다. 본 연구는 간단하고 효과적이다. 아래 두가지 조건만 추가하면 된다.
1. add a weight normalization layer
2. Loss function with a simple regularization term encouraging small Lipschitz
두 가지 조건을 추가해 얻을 수 있는 효과는 다음과 같다.
1. Shape Interpolation과 Extrapolation이 Smooth하게 일어난다.
2. Adversarial Input에 대해서도 강건하다.
3. 정보 손실이 있는 Point Cloud에 대해서도 의미있는 Latent Embedding이 가능하다.
2. Related Works
- Geometric Regularizations
Neural Fields와 같은 다른 표현 방법에 대해서는 Regularizations of the level set surface를 정의하기 상당히 까다롭다. 이전 연구는 형상에 대한 Regularizations 방법론들을 소개했다. 하지만 Smoothness of a Network Function과 직접적으로 연관이 있지는 않았다.
- Network Regularizations
Elsner et al.은 input similarity에 근간한 output의 차이에 패널티를 가하는 방법을 제시하였다. 이러한 기술들은 획득한 smooth solutions에속 효과적이지만, 이것들이 아닌 NN이 보지 않은 Test Dataset에 대해서는 smooth한 function을 제공하리라는 보장을 할 수는 없다.
Dropout, early-stopping, learning rate decay 등이 제시되어 Overfitting을 극복할 수 있는 방안을 제시하였으나, 아직까지도 smoothness of a network function은 해결되지 않은 문제로 남아있다.
3. Background in Lipschitz Networks
$f_{\theta}$는 아래와 같은 조건을 만족하면 Lipschitz continuous라고 불린다.
Lipschitz bound c of an FCN with ReLU는 아래와 같이 표현할 수 있다.
수년 간 Lipschitz Bound를 컨트롤하는 여러 방법론들이 연구되었다. 그리고 가장 지배적인 전략은 Weight Normalization이다. 예를 들어, 1-Lipschitz c=1이 되는 것을 강화하고자 한다면, weight 값 자체를 Gradient Step 이후에 $||W_i||_p = 1$과 같이 정규화를 해주어야 한다. The Normalization scheme은 different matrix p-norms에 의존한다.
$$\sigma_{max}(M)$$의 M은 maximum eigenvalue of M이다. weight normalization은 그것의 maximum eigenvalue의 weight matrix를 rescaling하는 것으로 구성된다. 가장 인기 있는 techniques는 spectral normalization(참조 링크)을 포함한 Power Iteration과 Bjorck Orthonormalization이 있다.
이러한 matrix norms은 서로와 관련이 있다. M을 size m-by-n 행렬이라고 하면, 그것의 2-norm은 아래와 같은 수식처럼 그것의 1-norm과 $\inf$-norm사이에 있어야 한다.
이것은 Lipschitz bound를 최적화하는 것은 다른 Norm값에 의해 측정된 범위를 효과적으로 최적화할 수 있을 것임을 의미한다.
4. Method
본 연구의 목표는 NN을 smooth하게 학습하는 것이다. 이는 Shape Editing과 well-structured latent space를 요구하는 application에서는 상당히 중요하다.
직관적인 방법으로는 smoothness regularization을 갖는 Dirichlet energy와 같은 loss function을 추가하는 것이다. 구체적으로 아래와 같은 loss function을 제시할 수 있다.
비록 smooth neural field를 촉진시키는데 효과적일 지라도, 이는 non-smooth behavior을 초래한다. 아래 그림처럼 1/3과 2/3에서 Dirichlet Energy를 최소화하는 방식으로 학습했는데, 샘플링한 t(1/3, 2/3)에서는 완벽히 스무스한 인퍼폴레이션이 진행되었으나, 0에서 1/3로 가는 지점에서는 어그러짐이 발생하였다. 만약 latent dimension이 더욱 커진다면 큰 문제로 발생할 여지가 있다.
본 연구의 main idea는 network parameters에 기반한 smoothness energy를 정의한 점이다. 본 연구에서 활용한 Neural Implicit Representation에 대해서는 latent code t를 Input으로 그것의 Lipschitz constant c를 사용해 smoothness를 구현하는 것이다. 모든 $x, t_0, t_1$조합에 대해 아래 조건을 만족하는 network를 구성하는 것이다.
Lipschitz Constant를 줄이고 Smoothness를 촉진하기 위해, 새로운 Regularization Term을 제시한다. 키 아이디어는 Lipschitz constant를 학습 가능한 Parameter로 정의하고 최소화하는 것이다. 이를 위한 수많은 방법이 있지만, 일관적으로 최고의 성능을 보여주는 방법론은 없다. 본 연구진은 그 중 하나의 방법론을 제시한다.
4.1 Lipschitz Multilayer Perceptron
Lipschitz constant Eq (8)을 측정하기 위한 p-norm을 선택하는 것이 첫 번째 관문이다. 본 연구진은 효율성을 위해 the matrix $\inf - norm$을 선택했다. Matrix Norm을 결정한 후, 우리의 방법론은 weight normalization과 학습 가능한 Lipschitz variable을 추가했고 전체적으로 small Lipschitz constant를 유지할 수 있는 Regularization Term을 추가하였다.
4.1.1 Weight Normalization Layer
본 연구의 Normalization은 학습을 가속화하기 위한 Weight Normalization 밥법론과 Generalization 능력을 위한 방법론과 궤를 같이 한다. 큰 차이점이라고 하면 본 연구의 Normalization은 Lipschitz constant에 기반하고 있다는 점이다. 이는 smooth network를 획득하는데 적절하다.
본 연구진은 각 레이어에 Lipschitz weight normalization layer를 추가하였다. $softplus(c_i) = ln(1+e^{c_i})$는 infeasible negative Lipschitz bound를 피하도록 도와주는 reparameterization 방법론이다.
$\inf-norm$을 사용하면서, 효율적이고 simple하게 normalization이 가능하다. 비록 raw weight matrix $W_i$가 Lipschitz constant를 $softplus(c_i)$보다 크더라도, 이는 여전이 $softplus(c_i)$에 의해 Lipschitz constant의 범위를 보장할 수 있다.
Implementation
여기서 sigma는 activation function이다. 그리고 이 weight normalization은 training time을 증가시킨다. 그러나 우리의 regularization을 통합하는 것은 test time중에는 performance 영향을 미치지 않을 것이다.
4.1.2 Lipschitz Regularization
두 번째 방법은 Loss Function을 추가하는 것이다. 본 연구의 Lipschitz Regularization은 Lipschitz bound of the network를 간단히 정의할 수 있지만, 직접적으로 weight matrices를 정의하는 것 대신, Layer 당 Lipschitz bounds $softplus(c_i)$를 정의할 수 있다. 구체적으로 아래와 같은 Loss Term을 추가할 수 있다.
4.2 Comparison with Alternatives
Lipschitz Regularization을 정의하고 실행하는 것은 많은 방법이 있다. 이 섹션에서는 본 방법론과 다른 대안들을 비교하였다.
하나의 solution은 k-Lipschitz networks의 구조에 근거한 Regularization을 설계하는 것이다. 구체적으로 Anil et al.dms 1-Lipschitz가 되도록 모든 Layers를 제약하였으며, final layer에 상수 k를 곱해 k-Lipschitz를 만들었다. 이를 학습 가능하게 만들 수 있는 formulation은 단순하게 Lipschitz regularization term으로 k를 여기는 것이다.
다른 대안은 Yoshida와 Miyato가 제안한 방법으로 Lipschitz-like regularization을 정의한다. 이 공식이 효과적으로 smooth solution을 찾기 위해서는 good $\alpha$가 필요한데, 이를 찾는 것은 상당히 쉽지 않다. 이 공식은 네트워크의 깊이에 따라 다른 $\alpha$를 요구한다.
또다른 대안으로는 Lipschitz Regularization을 normalization layer없이 weight metrices로 직접 정의하는 것이다. 좁은 네트워크에 대해서는 본 연구에서 채택한 방법론처럼 잘 작독하나, 이는 일반적으로 더 늦게 수렴하는 양상을 보였다. 이는 $\inf -norm$은 오직 single row of the weight matrix에 의존하기 때문으로 추정한다.
tempting solution은 아래와 같이 the log of the Lipschitz obund를 고려하는 것이다. 이는 Lipschitz constants가 0으로 수렴하는 중에는 Log값이 음의 무한대를 향하기 때문에 unbounded되는 문제를 만들어낸다.
4.3 Comparison with Weight Decay
Weight Decay 방법론은 주로 overfitting을 막고 일반화를 높이는데 사용된다. 하지만 이것은 smoothness of the network와 관계는 상당히 불명확하다. 결과적으로 weight decay를 사용한 trained networks는 덜 smooth하다.
5. Experiments
여러 실험을 통해 본 방법론이 Network의 강건성을 높이고 Shape Interpolation과 Test-time Optimization에 효과가 있는지 확인할 것이다.
5.2 Few-Shot Shape Interpolation & Extrapolation
Intepolation에 해당하는 방법론은 꾸준히 제시되었다. Latent Space가 잘 구성(constructed)되기 위해서는 충분한 데이터를 필요하다. 우리의 Regularization은 Shape Interpolation과 Extrapolation을 돕는다. 본 연구는 다른 Implicit Representation에도 적용이 가능하다.
5.3 Reconstruction with Test Time Optimization
Auto Encoder는 Full Shape을 부분 PC로부터 Reconstruction할 수 있다. 하지만 불만족스러운 결과가 종종 나오는데, 부분의 Point Cloud를 바탕으로 Latent Code를 최적화하는 것이 가장 일반적인 해결 방법이다. [Gurumurthy and Agrawal 2019] 효과적임에도 불구하고 이는 여러 Parameters에 예민하며, Bad Local Minima에 빠질 염려가 있다. Duggal et al은 test-time Optimization을 가지고 해결하고자 했다. 본 연구의 결과는 smoother latent manifold를 촉진했고 test time optimization을 안정화했다.