딥러닝 치트시트

Star

저자: 아프신 아미디 그리고 셔빈 아미디

번역자: Rickie Park

신경망

신경망(neural network)은 층(layer)으로 구성되는 모델입니다. 합성곱 신경망(convolutional neural network)과 순환 신경망(recurrent neural network)이 널리 사용되는 신경망입니다.

구조 다음 그림에 신경망 구조에 관한 용어가 표현되어 있습니다:

Illustration

$i$는 네트워크의 $i$ 번째 층을 나타내고 $j$는 각 층의 $j$ 번째 은닉 유닛(hidden unit)을 지칭합니다:

\[\boxed{z_j^{[i]}={w_j^{[i]}}^Tx+b_j^{[i]}}\]

여기에서 $w$, $b$, $z$는 각각 가중치(weight), 절편(bias), 출력입니다.

활성화 함수(activation function) 활성화 함수는 은닉 유닛 다음에 추가하여 모델에 비선형성을 추가합니다. 다음과 같은 함수들을 자주 사용합니다:

시그모이드하이퍼볼릭탄젠트렐루Leaky 렐루
$g(z)=\displaystyle\frac{1}{1+e^{-z}}$$g(z)=\displaystyle\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}$$g(z)=\textrm{max}(0,z)$$g(z)=\textrm{max}(\epsilon z,z)$
with $\epsilon\ll1$
IllustrationIllustrationIllustrationIllustration

크로스 엔트로피(cross-entropy) 손실 신경망에서 널리 사용되는 크로스 엔트로피 손실 함수 $L(z,y)$는 다음과 같이 정의합니다:

\[\boxed{L(z,y)=-\Big[y\log(z)+(1-y)\log(1-z)\Big]}\]

학습률 학습률은 종종 $\alpha$ 또는 $\eta$로 표시하며 가중치 업데이트 양을 조절합니다. 학습률을 일정하게 고정하거나 적응적으로 바꿀 수도 있습니다. 적응적 학습률 방법인 Adam이 현재 가장 인기가 많습니다.

역전파(backpropagation) 역전파는 실제 출력과 기대 출력을 비교하여 신경망의 가중치를 업데이트하는 방법입니다. 연쇄 법칙(chain rule)으로 표현된 가중치 $w$에 대한 도함수는 다음과 같이 쓸 수 있습니다:

\[\boxed{\frac{\partial L(z,y)}{\partial w}=\frac{\partial L(z,y)}{\partial a}\times\frac{\partial a}{\partial z}\times\frac{\partial z}{\partial w}}\]

결국 가중치는 다음과 같이 업데이트됩니다:

\[\boxed{w\longleftarrow w-\alpha\frac{\partial L(z,y)}{\partial w}}\]

가중치 업데이트 신경망에서 가중치는 다음 단계를 따라 업데이트됩니다:

드롭아웃(dropout) 드롭아웃은 신경망의 유닛을 꺼서 훈련 데이터에 과대적합(overfitting)되는 것을 막는 기법입니다. 실전에서는 확률 $p$로 유닛을 끄거나 확률 $1-p$로 유닛을 작동시킵니다.

합성곱 신경망

합성곱 층의 조건 입력 크기를 $W$, 합성곱 층의 커널(kernel) 크기를 $F$, 제로 패딩(padding)을 $P$, 스트라이드(stride)를 $S$라 했을 때 필요한 뉴런의 수 $N$은 다음과 같습니다:

\[\boxed{N=\frac{W-F+2P}{S}+1}\]

배치 정규화(batch normalization) 하이퍼파라미터 $\gamma, \beta$로 배치 $\{x_i\}$를 정규화하는 단계입니다. 조정하려는 배치의 평균과 분산을 각각 $\mu_B, \sigma_B^2$라고 했을 때 배치 정규화는 다음과 같이 계산됩니다:

\[\boxed{x_i\longleftarrow\gamma\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}+\beta}\]

보통 완전 연결(fully connected)/합성곱 층과 활성화 함수 사이에 위치합니다. 배치 정규화를 적용하면 학습률을 높일 수 있고 초기화에 대한 의존도를 줄일 수 있습니다.

순환 신경망

게이트(gate) 종류 전형적인 순환 신경망에서 볼 수 있는 게이트 종류는 다음과 같습니다:

입력 게이트삭제 게이트게이트출력 게이트
셀 정보의 기록 여부셀 정보의 삭제 여부셀의 입력 조절셀의 출력 조절

LSTM 장 단기 메모리(long short-term memory, LSTM) 네트워크는 삭제 게이트를 추가하여 그래디언트 소실 문제를 완화한 RNN 모델입니다.

강화 학습(reinforcement learning)

강화 학습의 목표는 주어진 환경에서 진화할 수 있는 에이전트를 학습시키는 것입니다.

정의

마르코프 결정 과정(Markov decision process) 마르코프 결정 과정(MDP)은 다섯 개의 요소 $(\mathcal{S},\mathcal{A},\{P_{sa}\},\gamma,R)$로 구성됩니다:

정책(policy) 정책 $\pi$는 상태와 행동을 매핑하는 함수 $\pi:\mathcal{S}\longrightarrow\mathcal{A}$ 입니다.

참고: 상태 $s$가 주어졌을 때 정책 $\pi$를 실행하여 행동 $a=\pi(s)$를 선택한다고 말합니다.

가치 함수(value function) 정책 $\pi$와 상태 $s$가 주어졌을 때 가치 함수 $V^{\pi}$를 다음과 같이 정의합니다:

\[\boxed{V^\pi(s)=E\Big[R(s_0)+\gamma R(s_1)+\gamma^2 R(s_2)+...|s_0=s,\pi\Big]}\]

벨만(Bellman) 방정식 벨만 최적 방정식은 가치 함수 $V^{\pi^<em>}$와 최적의 정책 $\pi^</em>$로 표현됩니다:

\[\boxed{V^{\pi^*}(s)=R(s)+\max_{a\in\mathcal{A}}\gamma\sum_{s'\in S}P_{sa}(s')V^{\pi^*}(s')}\]

참고: 주어진 상태 $s$에 대한 최적 정책 $\pi^*$는 다음과 같이 나타냅니다:

\[\boxed{\pi^*(s)=\underset{a\in\mathcal{A}}{\textrm{argmax}}\sum_{s'\in\mathcal{S}}P_{sa}(s')V^*(s')}\]

가치 반복 알고리즘 가치 반복 알고리즘은 두 단계를 가집니다:

1) 가치를 초기화합니다:

\[\boxed{V_0(s)=0}\]

2) 이전 가치를 기반으로 다음 가치를 반복합니다:

\[\boxed{V_{i+1}(s)=R(s)+\max_{a\in\mathcal{A}}\left[\sum_{s'\in\mathcal{S}}\gamma P_{sa}(s')V_i(s')\right]}\]

최대 가능도 추정 상태 전이 함수를 위한 최대 가능도(maximum likelihood) 추정은 다음과 같습니다:

\[\boxed{P_{sa}(s')=\frac{\#\textrm{times took action }a\textrm{ in state }s\textrm{ and got to }s'}{\#\textrm{times took action }a\textrm{ in state }s}}\]

$Q$-러닝(learning) $Q$-러닝은 다음과 같은 $Q$의 모델-프리(model-free) 추정입니다:

\[\boxed{Q(s,a)\leftarrow Q(s,a)+\alpha\Big[R(s,a,s')+\gamma\max_{a'}Q(s',a')-Q(s,a)\Big]}\]