hwijin97 2021. 11. 16. 13:44

1. 텐서플로 플레이그라운드로 모델 훈련해보기.

https://playground.tensorflow.org/#activation=relu&batchSize=10&dataset=spiral&regDataset=reg-gauss&learningRate=0.03&regularizationRate=0&noise=0&networkShape=8,8,8,8,8,8&seed=0.83331&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY=false&xSquared=false&ySquared=false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false

 

Tensorflow — Neural Network Playground

Tinker with a real neural network right here in your browser.

playground.tensorflow.org

 

2. XOR 을 계산하는 인공신경망을 그려보시요.

A or B -> C

not (A or B) -> D

C and D -> A xor B

 

3. 고전 퍼셉트론보다 로지스틱 회귀 분류기를 일반적으로 선호하는 이유?, 동등하게 만들어보기

 

고전적인 퍼셉트론은 선형적으로 연결되서 아무리 깊게해도 복잡한 표현을 못한다. 중간에 로지스틱 회귀 분류기는 비선형적인 데이터를 구분 할 수 있다. 고전적인 퍼셉트론에서 활성화함수를 로지스틱함수로, 경사하강법을 이용해서 훈련시키면 동일하다.

 

4. 다층 퍼셉트론을 훈련할 때, 로지스틱 활성화 함수가 핵심 요소인 이유?

 

다층퍼셉트론의 활성화함수는 기울기가 없어서 경사하강법이 작동을 안했다면 로지스틱활성화 함수는 어디서든 0 이아닌 기울기 값을 가지기 때문에 경사하강법을 수행할 수 있다.

 

5. 인기 많은 활성화 함수 3가지

Relu, sigmoid, tanh ...

 

6. 뉴런 10개 입력층, 50개 은닉층, 3개 출력층, 활성화함수는 전부 ReLU

- 입력 행렬 크기

m x 10

- 은닉층의 가중치 행렬, 편향 벡터 크기

10 x 50, 50

- 출력층의 가중치 행렬, 편향 벡터 크기

50 x 3, 3

- 네트워크의 출력행렬 크기

m x 3

 

7. 스팸 메일 분류기의 출력층의 뉴런 개수, 활성화 함수?, MNIST 분류기의 출력층 뉴런개수, 활성화 함수

스팸메일은 1개로 스팸일 확률을 출력하면 충분하다. 확률을 추정할 때 로지스틱함수를 사용한다.

MNIST 은 10개의 출력뉴런, softmax 함수로 각각레이블의 확률을 나타낸다.

 

8. 역전파의 작동법, 역전파와 후진모드 자동 미분의 차이점

모델파라미터에 대한 비용함수의 그래디언트를 계산하고, 이를 모든 모델파라미터에 적용한다. 이를 반복해서 비용함수가 최소화하는 값으로 수렴시킨다.

그래디언트를 구하기 위해서 후진모드 자동 미분을 사용한다. 정방향에서 각 노드의 값을 구하고 역방향에서 노드의 값으로 그 노드의 그레디언트를 구한다.

 

9. 다층 퍼셉트론의 조정가능한 하이퍼파라미터 종류 모두, 과대적합일 때 이를 조정하는 방법

은닉층 수, 각 은닉층의 뉴런수, 활성화 함수. 과대적합일 때 뉴런 수를 줄여본다.

 

10. 심층 다층 퍼셉트론 MNIST 훈련하기. 98% 이상 정확도 얻기.

https://github.com/kimhwijin/HandsOnMachineLearing/blob/main/HOML_Exercise_10.ipynb

 

GitHub - kimhwijin/HandsOnMachineLearing

Contribute to kimhwijin/HandsOnMachineLearing development by creating an account on GitHub.

github.com