ReLU 함수는 아래 그림과 같이 입력값이 양수일 때 1, 음수일 때 0인 기울기를 가지는데, 이 특성은 학습에 용이하지만 Sigmoid 함수보다 학습 속도가 느리다는 단점이 있다. (X)
퍼셉트론이 XOR 문제를 풀 수 없는 이유를 설명하시오. → 그래프 상으로 직선 하나로 나누기 어려워서
dropout = torch.nn.Dropout(p=drop_porb)
라는 구문에서 drop_porb
이 무엇을 의미하는지 서술하시오. → dropout 비율
ReLU 함수에 대해 설명하고 ReLU 함수가 Sigmoid 함수와 무엇이 다른지, 어떤 장점이 있는지 설명하시오. → ReLu함수는 sigmoid함수와 다르게 음수면 0 양수면 기울기가 1이며 sigmoid 함수의 단점인 vanishing gradient 가 발생하지 않는다.
Weght initialization을 진행할 때 초기 weight값으로 설정하지 말아야 할 상수가 있다. 무엇인지 말하고 그 이유를 설명하라. → 0일 시 이후 값들이 모두 0이 되어서 0으로 설정하면 안된다.
Overfitting 문제를 해결할 수 있는 Change activation function, Careful initialization, Small learning rate, Batch Nomalization에 대해 각각 설명하시오.
다층 퍼셉트론이 작동하는 순서를 차례대로 나열하면 (b, c, d, a)
이다 (X)
a. 모든 트레이닝 데이터에 대해서 출력층의 활성 함수에 의한 결과값과 실제 값이 허용 오차 이내가 되면 학습을 종료합니다.
b. 각 층에서의 가중치를 임의의 값으로 설정하고 각 층에서 바이어스 값은 1로 설정합니다.
c. 출력층의 활성 함수에 의한 결과값과 실제값이 허용 오차 이내가 되도록 각 층에서의 가중치를 업데이트 합니다.
d. 하나의 트레이닝 데이터에 대해서 각 층에서의 순입력 함수값을 계산하고 최종적으로 활성 함수에 의한 출력 값을 계산합니다.
→ b, d, a, c
다층 퍼셉트론을 학습시킬 때 순전파 알고리즘과 역전파 알고리즘이 모두 사용된다. (O)
AND, OR 과 같은 이진분류를 구현한 코드를 만들었을 때 손실함수로는 Multi-Class Cross Entropy를 사용하는 것이 가장 적합하다. (X)
퍼셉트론은 뉴런의 원리를 본 따 만든 인공 신경망으로 초창기 AND, OR, XOR 문제를 풀 수 있어 주목 받았지만 W값을 업데이트 할 수 없다는 문제로 암흑기에 접어든다. (X)