예를 들어 다음과 같은 상황들이 있을 수 있습니다.
- 훈련(train) 성능이 검증(test)보다 눈에 띄게 좋다면 과적합을 의심해 볼 수 있으며, 이것을 해결하기 위해 규제화를 진행한다면 성능 향상에 도움이 됩니다(규제화는 8.3.1절에서 자세히 다룹니다).
- 훈련과 검증 결과가 모두 성능이 좋지 않다면 과소적합(under-fitting)을 의심할 수 있습니다. 과소적합 상황에서는 네트워크 구조를 변경하거나 훈련을 늘리기 위해 에포크 수를 조정해 볼 수 있습니다.
- 훈련 성능이 검증을 넘어서는 변곡점이 있다면 조기 종료를 고려할 수 있습니다.
• 가중치: 가중치에 대한 초깃값은 작은 난수를 사용합니다. 작은 난수라는 숫자가 애매하다면 오토인코더 같은 비지도 학습을 이용하여 사전 훈련(가중치 정보를 얻기 위한 사전 훈련)을 진행한 후 지도 학습을 진행하는 것도 방법입니다.
• 학습률: 학습률은 모델의 네트워크 구성에 따라 다르기 때문에 초기에 매우 크거나 작은 임의의 난수를 선택하여 학습 결과를 보고 조금씩 변경해야 합니다. 이때 네트워크의 계층이 많다면 학습률은 높아야 하며, 네트워크의 계층이 몇 개 되지 않는다면 학습률은 작게 설정해야 합니다.
• 활성화 함수: 활성화 함수의 변경은 신중해야 합니다. 활성화 함수를 변경할 때 손실 함수도 함께 변경해야 하는 경우가 많기 때문입니다. 따라서 다루고자 하는 데이터 유형 및 데이터로 어떤 결과를 얻고 싶은지를 정확하게 이해하지 못했다면 활성화 함수의 변경은 신중해야 합니다. 일반적으로는 활성화 함수로 시그모이드나 하이퍼볼릭 탄젠트를 사용했다면 출력층에서는 소프트맥스나 시그모이드 함수를 많이 선택합니다.