딥러인이론및응용 HW#4

2019021166 이민예 Date: 2019-10-15

1. [그림 3-10(b)] 의 다층 퍼셉트론에 [그림 3-8(a)]에 있는 샘플 4개를 입력하여 예측 결과를 계산하시오. 모두 맞히는지 확인하시오.

x1:zsum1=0.5+01.0+01.0=0.5x_1 : zsum_1 = -0.5+0*1.0+0*1.0 = -0.5 z1=τ(0.5)=1z_1= τ(-0.5) = -1

x1:zsum2=1.5+01.0+01.0=1.5x_1 : zsum_2 = 1.5+0*-1.0+0*-1.0 = 1.5 z2=τ(1.5)=1z_2= τ(1.5) = 1

x1:osum=11+1=1x_1 : osum = -1-1+1 = -1 o1=τ(1)=1=y1o_1 = τ(-1) = -1 = y_1

x2:zsum1=0.5+1.01.0+01.0=0.5x_2 : zsum_1 = -0.5+1.0*1.0+0*1.0 = 0.5 z1=τ(0.5)=1z_1= τ(0.5) = 1

x2:zsum2=1.5+11.0+01.0=0.5x_2 : zsum_2 = 1.5+1*-1.0+0*-1.0 = 0.5 z2=τ(0.5)=1z_2= τ(0.5) = 1

x2:osum=1+1+1=+1x_2 : osum = -1+1+1 = +1 o2=τ(+1)=+1=y2o_2 = τ(+1) = +1 = y_2

x3:zsum1=0.5+0.01.0+11.0=0.5x_3 : zsum_1 = -0.5+0.0*1.0+1*1.0 = 0.5 z1=τ(0.5)=1z_1= τ(0.5) = 1

x3:zsum2=1.5+01.0+11.0=0.5x_3 : zsum_2 = 1.5+0*-1.0+1*-1.0 = 0.5 z2=τ(0.5)=1z_2= τ(0.5) = 1

x3:osum=1+1+1=+1x_3 : osum = -1+1+1 = +1 o3=τ(+1)=+1=y3o_3 = τ(+1) = +1 = y_3

x4:zsum1=0.5+11.0+11.0=1.5x_4 : zsum_1 = -0.5+1*1.0+1*1.0 = 1.5 z1=τ(1.5)=1z_1= τ(1.5) = 1

x4:zsum2=1.5+11.0+11.0=0.5x_4 : zsum_2 = 1.5+1*-1.0+1*-1.0 = -0.5 z2=τ(0.5)=1z_2= τ(-0.5) = -1

x4:osum=1+11=1x_4 : osum = -1+1-1 = -1 o4=τ(1)=1=y4o_4 = τ(-1) = -1 = y_4

다층 퍼셉트론에 각 샘플들을 입력한 결과, 출력값 o1,o2,o3,o4o_1, o_2, o_3, o_4 들이 모두 옳게 분류된다.

5. [표 3-1]에 있는 로지스틱 시그모이드의 1차 도함수를 그리시오. 이때 매개변수 s의 범위를 [-10, 10]으로 하고 -10에서 시작하여 1씩 증가시키면서 도함수값을 계산하여 그래프를 그리시오. 값이 가장 큰 점과 가장 작은 점은 어디인지 확인하시오.

딥러닝 활성화 함수 종류

  • 시그모이드 함수

  • 하이퍼볼릭 탄젠트 함수

[1] 시그모이드 함수

시그모이드란 S자 커브를 의미하는 좀 더 넓은 의미의 클래스이다. tanh 도 시그모이드에 속한다. 따라서 로지스틱 시그모이드 함수는 다음과 같다.

sigmoid(x)=11+exsigmoid(x) = \frac {1}{1+e^{-x}}

시그모이드는 다음과 같다.

sigmoid 도함수 그래프

  • 가장 큰 점 : 0

  • 가장 작은 점 : -10, 10

시그모이드 함수의 x 값이 10일 때, 0.99999로 1에 수렴한다. 1을 미분 공식에 넣으면 0이 됨을 알 수 있다.

6. 2장의 [그림 2-3]에 있는 퍼셉트론은 바이어스 노드가 없는 대신 임곗값 T를 가진다. [그림 2-3]의 퍼셉트론은 [그림3-3]의 퍼셉트론과 같은지 답하시오. 답에 대한 이유를 설명하시오.

아래 두 식은 같다.

s=x0+x1w1+....+xdwds = x_0+x_1w_1+....+x_dw_d

s=x1w1+....+xdwdTs' = x_1w_1+....+x_dw_d -T

바이어스 x0x_0T-T 를 넣으면 두 식은 같아지며, 즉 임계값은 바이어스라 볼 수 있다.

7. [그림 3-4(b)]의 퍼셉트론에 대해 답하시오.

(1). w1w_1w2w_2 의 값을 고정했을 때 w0w_0 이 어느범위일때 여전히 100% 옳게 분류하는가? ㅇ

1<=w0<0-1<=w_0<0

(2) w0w_0w2w_2 의 값을 고정했을 때 w1w_1 이 어느 범위일때 여전해 100% 옳게 분류하는가?

0.5<=w10.5<=w_1

9. 식(3.7)에 있는 퍼셉트론의 목적함수를 다음과 같이 다르게 정의할 수 있다. 이 식을 미분하는 과정을 보이고, 미분 결과를 사용하여 가중치 갱신 규칙을 식 (3.9)처럼 제시하시오.

13. [알고리즘3-4]의 부연 설명에서 "X에서 임의로 샘플 하나를 뽑는" 랜덤 샘플링 버전을 소개하였다. 랜덤 샘플링 버전이 MNIST 훈련 집합을 사용한다고 가정하자. MNIST는 숫자 부류 별로 6천 샘플을 가진다. [알고리즘 3-4]의 라인 2의 루프를 60만 번 반복한다고 가정한다. 10세대를 수행하는 셈이며, 각 샘플은 평균 10번 선택된다. 다음 질문에 답하시오.

(1) 어떤 샘플이 한 번도 선택되지 못할 확률은 ?

한 에폭마다 60,000개 중 한개를 선택할 수 있고, 이를 600,000번 반복하므로, 총 경우의 수는 60,000^600,000 이다. 그리고, 어떤 샘플에 대해 한 번도 선택되지 못한다고 하면 이 샘플을 제외한 데이터의 수는 59999이며, 경우의 수는 59999^600000이다.

따라서, 어떤 샘플이 한 번도 선택되지 못할 확률은 59999^600000 / 60,000^600,000 이다. 값은 약 0.000045396146550604916240065639640406560086602500550765708 이다.

(2) 어떤 부류에 속한 모든 샘플이 한 번도 선택되지 못할 확률은?

어떤 부류에 속한 모든 샘플 한 번도 선택되지 못할 확률은 54000^600000 / 60,000^600,000 이다. 값은 약 10^-27454.49433640484 이다. 거의 0에 가깝다.

(3) (1)과 (2)의 분석 결과를 토대로 랜덤 샘플링 방법의 유효성에 대한 의견을 제시하시오.

위 문제는 샘플 하나를 뽑아 가중치를 갱신하는 Single Sample SGD 이다. (1) 과 (2) 의 분석 결과를 토대로 모든 샘플이 골고루 뽑힐 가능성이 있어 유효하다. 이러한 샘플링의 방법에는 다음과 같은 종류가 있다. 전체 N을 층으로 나누어, 각 층에서 랜덤 샘플링하는 층별 샘플링이 정밀하다고 알려져 있다.

  • 단순랜덤샘플링

  • 계통 샘플링

  • 2단계 샘플링

  • 층별 샘플링

  • 집략 샘플링

Batch Gradient Descent

Single Sample SGD

MiniBatch SGD

장점

1.단순하다.

2.거의 사용하지 않는다.

1.샘플사이즈가 1이다.

2.노이즈가 심하지만, 한 에폭에 들어갈 샘플 사이즈(배치크기)를 잘 결정해주면, 이는 지역 최저점을 벗어날 수 있도록 해준다. => 미니배치

1.지역최저점을 벗어난다.

2.계산량이 적다.

단점

1.한 에폭당 모든 샘플의 그라디언트를 구하여 평균으로 가중치를 업데이트함에 따라 계산량이 크다.

1.확률적으로 추출한 데이터를 기반으로 가중치를 업데이트 한다. 따라서, 노이즈가 심하다.

Last updated