UFLDL Tutorial 20. Unsupervised Learning – RICA
RICA
ICASummary
독립 성분 분석(Independent Component Analysis, ICA)는 다음의 수식을 통해 whitened data의 스파스한 표현을 생성하도록 해줍니다.
$$ \begin{array}{rcl} {\rm minimize} & \lVert Wx \rVert_1 \\ {\rm s.t.} & WW^T = I \\ \end{array} $$
여기서 $W$는 가중치 파라미터이고 $x$는 입력 데이터입니다. ICA에서는 가중치 행렬의 정규직교성 조건을 유지하는 동시에 은닉 표현 $Wx$의 L1 페널티 (스파시티)를 최소화하고자 합니다. 정규직교성은 uncorrelated 데이터가 새로이 구해진 특징 표현 안에서도 uncorrelated를 유지할 수 있도록 합니다. 다시 말하면 whitened data의 정규직교 변환은 데이터가 여전히 white되어있습니다.
ICA의 정규직교성 조건은 알고리즘에 단점을 만들어냈습니다. 그것은 특징의 수($W$의 행)가 입력 데이터 $x$의 차원을 넘어설 때 나타납니다. 최적화 또한 제한 조건으로 더 어려워지며, 때문에 훈련 시간이 더 많이 필요합니다. 어떻게 속도를 빠르게 할 수 있을까요? 입력 데이터의 차원이 whitened하기에 너무 크면 어떻게 할까요? $x \in R^n$이라면 $n \times n$의 whitening 행렬이 필요하다는 것을 잊으면 안됩니다.
RICA
복원 ICA(Reconstruction ICA)라는 것이 있습니다. 이것은 이러한 ICA의 단점을 극복하기 위해서 만들어진 것으로 ICA의 정규직교성을 약한 복원 페널티로 바꾼 것입니다.
$$ \min_{W} \quad \lambda \left\|Wx\right\|_1 + \frac{1}{2} \left\| W^T Wx - x \right\|_2^2 $$
이 식에 감춰진 동기를 이해하기 위해서는, 특징이 과적합하지 않을 경우 완벽한 복원을 얻을 수 있음을 알아야 합니다. 이를 이루려면 $W^TW = I$로 제한 조건을 걸어야 합니다. 이것은 특징이 과적합하지않고, 데이터가 whitened되어있고, $\lambda$가 무한으로 갔을 경우 RICA에서 ICA를 이끌어낼 수 있도록 합니다. 이 점에서 완벽한 복원은 어려운 조건입니다. 이제 목적 함수에서 복원적 패널티를 넣었고, 어려운 조건도 없앴습니다. 이제 과적합 특징들의 스케일을 변경할 수 있습니다. 하지만 과적합 기저를 사용한다면 여전히 그 결과는 여전히 올바를까요? 여기에 답하려면 또다른 공통 모델로 넘어가야 합니다. 스파스 오토엔코더입니다. 스파스 오토엔코더의 목적 함수는 아래와 같습니다.
$$ \min_{W} \quad \lambda \left\| \sigma\left(Wx\right) \right\|_1 + \frac{1}{2} \left\| \sigma \left(W^T \sigma\left(Wx \right) \right) - x \right\|_2^2 $$
오토엔코더를 변형한 버전은 여러가지가 있지만, 일관성을 유지하기 위해서 여기서는 L1 스파시티 패널티를 사용하고 행렬 $W$이 복원 대상입니다. 스파스 오토엔코더와 RICA사이에 한가지 다른 점이 있다면, 시그모이드(sigmoid) 비선형성입니다. 이제 오토엔코더의 관점에서 복원 페널티를 보면, degeneracy의 제어로써 복원 패널티가 작용하는 것을 볼 수 있습니다. 이것은 복원 패널티가 있음으로 해서 필터 행렬이 동일한 특징을 학습하는 것을 막도록 하여 가능한 가장 스파스한 표현을 찾도록 도와줍니다. 따라서 과적합인 경우의 RICA는 L1 스파시티 조건을 이용하고 비선형성을 사용하지 않은 스파스 오토엔코더과 완전히 동일합니다. 이것은 RICA 스케일링된 과적합 기저과 스파스 오토엔코더와 같은 backprop 최적화를 하도록 해줍니다. RICA는 또한 whitened 되지 않은 data에 더 안정적으로 동작하는 것으로 알려져 있으며, 이는 오토엔코더 동작과 비슷합니다.