초록

<aside> <img src="/icons/pencil_gray.svg" alt="/icons/pencil_gray.svg" width="40px" /> RBM은 뉴런이 데이터를 처리할 때 binary한 상태만 가지는 단순한 스위치를 사용. → 상대적 강도 처리 불가

상대적 강도를 표현하기 위해서 스위치를 무한히 복제한후 같은 이미지를 처리하게함 + 스위치가 켜지는 허들(음의 편향)을 계단식으로 다르게 설정 → 상대적 강도 처리 가능

But 컴퓨터 연산량이 너무 커짐 이를 해결하기 위해 가우스 노이즈를 섞은 수식으로 근사치를 구해 해결함

</aside>

도입

초기 딥러닝 모델과 RBM - Restricted Boltzmann Machine 은 주로 Binary stochastic hidden units 사용했습니다. 이는 뉴런이 스위치처럼 0(꺼짐) 또는 1(켜짐)의 두 가지 상태만 가질 수 있는 구조였습니다.

0과 1로만 동작하는 이진 유닛은 이미지의 밝기나 특정 패턴의 intensity를 정교하게 담아낼 수 없었습니다. 특히 정보가 여러 Layer을 통과할 때 이러한 상대적인 강도 정보가 보존되지 않고 유실되는 치명적인 단점이 있었습니다.

대안으로 나온 Binomial Unit 조차 확률 p가 작을 때 활성화 확률이 총입력에 대해 기하급수적으로 증가해버려서 학습 과정이 매우 불안정해지는 문제가 발생했습니다.

또한 기존 유닛들은 켜질 확률을 계산하고 정수 값을 얻기 위해 시그모이드 함수를 여러번 사용해야 했습니다.


수식

$$ \sum_{i=1}^{N}\sigma(x-i+0.5) \approx \log(1+e^{x}) $$

기존 Binomial unit의 한계를 극복하기 위해 N개의 복제본이 각각의 편향을 가지도록 변형 → 유닛이 켜지기 위한 임계치가 점점 높아짐 → 상대적 강도 표현 가능

$\sigma$(시그모이드) : $\frac{1}{1+e^{-z}}$ 형태의 Logistic Function. 입력된 값을 0과 1 사이의 확률값으로 변환

$x$ : 이전 층으로부터 전달받은 총 입력. 데이터 $v$와 가중치 $w$를 곱한값에 기본 편향을 더한 값 → $x = vw^T + b$

$-i + 0.5$ (offset) : 시그마에 의해 $i$가 $1,2,3...$으로 증가하면 오프셋 값은 점진적으로 작아짐.

좌변의 시그모이드 곡선들을 모두 더하면 면접이 부드럽게 이어지면서 우변과 수학적으로 거의 일치

→ 좌변처럼 무한대까지 $\sigma$ 연산을 반복하는 것은 불가능. 좌변과 우변이 근사하는 것을 증명함으로써 계산비용을 줄임

$$ f(x) = \max(0, x + \mathcal{N}(0, \sigma(x))) $$

그럼에도 $\log(1+e^{x})$은 로그와 지수 연산이 포함되어 있어서 연산 비용이 높고 RBM 모델에서 요구하는 정수 단위 샘플링을 완벽하게 수행하려면 여전히 시그모이드를 여러번 사용해야함 → 타협을 위해 위 수식을 사용(NReLU)