1. He 초기화를 사용하여 무작위로 선택한 값이라면 모든 가중치를 같은 값으로 초기화해도 괜찮을까요?

아니오 모든 가중치는 독립적으로 샘플링되어야 합니다. 즉, 같은 초깃값을 가지면 안 됩니다. 가중치를 무작위 샘플링 하는 이유는 대칭성을 피하기 위함이다. 같은 층에 있는 모든 뉴런이 항상 같은 가중치를 가지게된다. 이는 층마다 하나의 뉴런이 있는거소가 같으므로 수렴하는 데 오랜 시간이 걸립니다.

2. 편향을 0으로 초기화해도 괜찮을까요?

아무상관없다. 가중치 처럼 초기화해도 괜찮다. 편향은 큰 차이를 만들지 않기 때문이다.

3. ReLU보다 SELU 활성화 함수가 나은 세 가지는 무엇인가요?

음수를 받을 수 있기 때문에 뉴런의 평균 출력이 ReLU 활성화 함수보다 일반적으로 0에 더 가깝다 -> 그레디언트 소실문제 해결 도함수의 값이 항상 0이 아니라서 ReLU 유닛에서 일어나는 죽은 뉴런 현상을 피할 수 있다. 모델이 자기 정규화되어 그레디언트 폭주나 소실문제를 해결하는데 도움이 된다.

4. 어떤 경우에 SELU, LeakyReLU(또는 그 변종), ReLU, tanh, 로지스틱, 소프트맥스와 같은 활성화 함수를 사용해야 하나요?

  • SELU 함수가 기본값으로 좋다.
  • 하지만 빠른 신경망을 원한다면 대신 LeakyReLU의 변종을 사용할 수 있다.
  • 하지만 ReLU함수가 간단하기 때문에 많은 사람들이 선호한다. 그리고 정확히 0을 출력하는 ReLU 활성화 함수의 기능이 유용할 수도 있다. > - tanh는 -1에서 1 사이의 값을 가져야 하는 출력층에 사용한다. 하지만 은닉층에서는 잘 사용 안함
  • 로지스틱 활성화 함수는 거의 확률을 추정할 필요가 있을 때도 사용한다(예를 들면 이진 분류), 하지만 은닉층에는 사용안함.
  • 소프트맥스 활성화 함수는 상호 배타적인 클래스에 대한 학률을 출력하는 출력층에 사용된다. 하지만 그 외 은닉층에느 사용안함.

5. SGD 옵티마이저를 사용할 때 momentum 하이퍼파라미터를 너무 1에 가깝게 하면(예를들면 0.999999999999) 어떤 일이 일어날까요?

알고리즘이 전역 최적점 방향으로 빠르게 진행되겠지만 모멘텀 때문에 최솟값을 지나칠 것이다. 그런 다음 느려져서 되돌아오고, 다시 가속되어 또 지나치게 된다. 그러므로 작은 momentum 값을 사용했을 때보다 수렴하는데 훨씬 오래 걸리 것이다.

6. 희소 모델을 만들 수 있는 세 가지 방법은 무엇인가요?

  • 모델을 훈련시키고 작은 가중치를 0으로 만드는 것.
  • l1 규제를 사용하는 것이다.
  • 텐서플로의 모델 최적화 도구를 사용한다.

7. 드롭아웃이 훈련 속도를 느리게 만드나요? 추론(즉, 새로운 샘플에 대한 예측을 만드는 것)도 느리게 만드나요? MC 드롭아웃은 어떤가요?

훈련속도를 느리게 만든다. 하지만 훈련할 때만 적용되므로 추론 속도에는 영향을 미치지 않는다. MC 드롭아웃은 훈련하는 동안에는 드롭아웃과 똑같다. 하지만 추론할 때에도 작동하기 떄문에 각 추론의 속도가 조금씩 느려진다. MC 드롭아웃을 사용할 때 더 나은 예측을 위해 10배이상 추론을 많이 실행한다. 10배 이상 예측 속도가 느려진다.

8. CIFAR10 이미지 데이터셋에 심층 신경망을 훈련해보세요.

Click 구글 코랩

Comments