딥 러닝 수식 요소 사영 (04/24 업데이트됨 => 업데이트 계속 중)

최근 DIGITS에서 AlexNet과 GoogLeNet에서
이미지 인식 작업을 하고 있습니다.



Qiita에서 수식 작성 방법 연습을 겸
신경망(NN)의 구성요소를 수식 표현으로 복습해 갑니다.
딥 러닝이라고 불리는 NN을 간결하게 기술할 수 있으면
비망록이 되기 때문에 편리합니다.

컨벌루션 레이어



활성화 함수



1. 시그모이드 함수



다층 퍼셉트론의 설명은 이것이 많다.
f(u)=\frac{1}{1+e^{-u}}



다층 퍼셉트론의 가중 결합

u=\sum^n_{i=1}w_ix_i

2.tanh 함수



Relu 함수가 정확도가 높다는 것을 알 때까지 여기가 주류였다고합니다.
tanh(u)=\frac{exp(u)-exp(-u)}{exp(u)+exp(-u)}

3.ReLU 함수(Rectified Linear Unit)



샘플에서 딥 러닝을 수행하면 컨벌루션 계산은 대개
f(x)=max(0,x)

그래프 그리면


출력층



오차 함수



교차 엔트로피(cross entropy) 함수



이 페이지 상단의 DIGITS에서 실행 한 것 같습니다.
다중 클래스 분류의 경우 손실 계산에 사용
y는 교사 신호 r은 출력 신호
C는 분류 클래스의 수
N은 출력층의 뉴런 수
E=-\sum_{c=1}^C\sum_{n=1}^Nr_{cn}ln(y_{cn})

2등급 문제의 경우
E=-\sum_{n=1}^Nr_nlny_n+(1-r_n)ln(1-y_n)

제곱 오차 함수



최소 제곱법으로 친숙한 오차 함수
회귀 문제를 해결할 때 사용

E=\sum_{n=1}^N {||r_n-y_n||}^2

우도 함수



소프트 맥스 함수



출력층에서 컨벌루션층 또는 풀링층으로부터
출력된 정보로부터 확률 Φ를 출력한다.
\phi(v_i)=\frac{e^{v_i}}{\sum_i e^{v_i}}


네트워크 학습 방법



확률적 구배 강하법



학습 법칙에는 몇 가지 종류가 있습니다.

배치 학습



모든 학습 샘플에 대해 오차를 구한 후
네트워크 결합 가중치를 업데이트하는 방법
시간이 걸리지만 노이즈를 억제

여기서 E는 오차 함수이며 위에서 설명한
교차 엔트로피 함수 또는 제곱 오차 함수 사용
반복 횟수 t번째의 각 학습 샘플에 대한 오차를 E^t_n으로 한다
모든 샘플에 대한 오차 E^t를 아래와 같이 구한다

w는 결합 가중치(weight)
η는 학습 계수라고 한다,
가중치 업데이트시 오차를 크게 수정하면 값이 커집니다.
작은 조각으로 수정하려면 작은 값을 넣으면 좋습니다.
(DIGITS의 경우는 StepDown에서 자동 수정되거나 한다)
E^t=\sum^n_{n=1} E^t_n
w^{t+1}=w^t-\frac{\partial E^t_n}{\partial w^t}

순차 학습



학습 샘플 하나씩 업데이트하는 방법
빠르지만 노이즈 학습
변동이 크기 때문에 학습이 수렴하지 않을 가능성이 있습니다.

미니 배치 학습



순차 학습 배치 학습 중간
보통으로 생각하면 성능 시험에 편리하기 때문에 이 방법을 취할 수 있다고 생각한다
D는 학습 샘플을 잘라낸 서브세트
서브세트마다 오차를 내고 나서 갱신한다.
E^t=\sum_{n∈D}E^t_n

공부하면서 수식을 확인하기 위해
내용은 순차적으로 추가하고 있습니다.

참고
일러스트에서 배우는 딥 러닝

좋은 웹페이지 즐겨찾기