뒤로
권예영
권예영 ·

Dropout

출처: 라온피플 아카데미 네이버 블로그

Hidden Layer의 개수가 많아질 경우의 장단점?
일반적으로 신경망에서 hidden layer의 개수가 많아지면, 즉 deep neural network이 되면, 더욱 많은 문제를 해결할 수 있도록 학습 능력이 좋아진다.

하지만, 망의 크기가 커지면 커질수록 overfitting에 빠질 가능성이 높아지고, 신경망에 대한 학습 시간도 길어지는 문제가 있으며, 적절한 결과를 도출하려면 훈련 데이터의 양 또한 늘려야 한다.

1. Overfitting의 가능성

예시: 당신이 학생에게 수학 문제를 가르치는 상황을 생각해봅시다. 학생이 문제 유형 몇 개만 집중적으로 공부하고 이를 완벽하게 암기하면 시험에서는 그 문제에 맞는 답을 쉽게 낼 수 있습니다. 그러나 시험에서 새로운 문제 유형이 나오면 그 학생은 준비되지 않은 문제를 제대로 풀지 못합니다. 이는 학생이 문제를 암기한 것이지, 문제의 원리를 이해한 것이 아니기 때문에 일어나는 현상입니다.

신경망도 비슷합니다. hidden layer가 많아지면 네트워크가 매우 복잡해지고, 이는 훈련 데이터에 너무 잘 맞는, 즉 훈련 데이터의 특정 패턴에만 맞춘 과도하게 복잡한 모델을 만들 가능성이 커집니다. 이 경우 새로운 데이터(테스트 데이터)에 대해 성능이 떨어지는데, 이를 overfitting이라고 부릅니다. 모델이 데이터를 '암기'하는 것처럼 작동하기 때문에 새로운 상황에서는 잘 대응하지 못합니다.

2. 학습 시간이 길어짐

예시: 만약 어떤 학생에게 복잡한 수학 문제를 풀게 하고, 각 단계에서 세부적인 설명을 듣는다고 생각해봅시다. 단순한 문제는 빨리 해결되지만, 복잡한 문제는 각 단계에서 더 많은 시간이 필요합니다. 비슷하게 신경망에서 hidden layer가 많아지면 각 layer가 데이터를 처리하는데 시간이 더 많이 걸립니다. 또한 각 layer 간에 전달되는 정보가 많아지므로 계산해야 할 파라미터도 기하급수적으로 늘어납니다. 따라서 학습 시간도 길어지게 됩니다.

3. 훈련 데이터 양의 필요성

예시: 만약 당신이 5개의 수학 문제를 가지고 학생에게 수업을 할 때, 간단한 공식만 가르쳐도 그 문제들을 해결할 수 있다면 적은 학습량으로 충분히 수업이 끝날 수 있습니다. 하지만 100개의 복잡한 문제를 가르쳐야 한다면 더 많은 예시와 설명, 그리고 문제 풀이 시간이 필요하게 됩니다. 신경망에서도 layer가 많아지고 복잡해질수록 더 다양한 패턴을 학습하려면 더 많은 데이터가 필요합니다. 데이터가 적으면 모델이 충분한 일반화 능력을 가지지 못하고 특정한 패턴에 맞춰지기 때문에 성능이 저하될 수 있습니다.

결론적으로:

  • Overfitting: 너무 많은 layer로 인해 훈련 데이터에 과도하게 맞춰진 모델이 생성됩니다.

  • 학습 시간: 더 많은 파라미터를 학습해야 하므로 학습 시간이 길어집니다.

  • 데이터 양: 모델이 일반화하려면 더 많은 패턴을 학습해야 하므로 더 많은 데이터가 필요합니다.

이러한 이유로, hidden layer를 많이 추가하는 것에는 장점이 있지만, 동시에 적절한 규제 방법(Dropout 같은 기법)과 충분한 훈련 데이터가 필요합니다.


Dropout 개요
이렇게 망의 크기가 커질 경우 Overfitting 문제를 피하기 위한 방법이 dropout이며, 논문이 발표된 지 채 10년이 넘지 않았다.

Dropout은 아래의 그림 (a)에 대한 학습을 할 때, 망에 있는 모든 layer에 대해 학습을 수행하는 것이 아니라 그림 (b)와 같이 망에 있는 입력 layer나 hidden layer의 일부 뉴런을 생략(dropout)하고 줄여든 신경망을 통해 학습을 수행한다.

일정한 mini-batch 구간 동안 생략된 망에 대한 학습을 끝내면, 다시 무작위로 다른 뉴런들을 생략(dropout) 하면서 반복적으로 학습을 수행한다.

image.png

Dropout 효과
그럼 이렇게 dropout을 하는 이유는 무엇이고, dropout은 과연 효과가 있을까?

① Voting 효과
Dropout을 하는 첫 번째 이유는 투표(voting) 효과 때문이다.
일정한 mini-batch 구간 동안 줄어든 망을 이용해 학습을 하게 되면, 그 망은 그 망 나름대로 overfitting이 되며,
다른 mini-batch 구간 동안 다른 망에 대해 학습을 하게 되면, 그 망에 대해 다시 일정 정도 overfitting이 된다.

이런 과정을 무작위로 반복을 하게 되면, voting에 의한 평균 효과를 얻을 수 있기 때문에,
결과적으로 regularization과 비슷한 효과를 얻을 수 있게 되는 것이다.

② Co-adaptation을 피하는 효과

또 다른 이유로 co-adaptation을 피하는 효과를 들 수 있다.

Regularization에서 살펴본 것처럼, 특정 뉴런이 바이어서 가중치 값을 갖게 되면

그것의 영향이 커지면서 다른 뉴런들의 학습 속도가 느려지거나

학습이 제대로 진행이 되지 못하는 경우가 있다.

하지만 dropout을 하면서 학습을 하게 되면,

결과적으로 어떤 뉴런의 가중치나 바이어서 특정 뉴런의 영향을 받지 않기 때문에

결과적으로 뉴런들이 서로 동조화(co-adaptation)이 되는 것을 피할 수 있다.


1. 투표(Voting) 효과

Dropout을 통해 신경망에서 일부 뉴런을 무작위로 제외하면서 학습을 반복하게 되면, 각기 다른 작은 신경망들이 독립적으로 학습됩니다. 이렇게 여러 작은 신경망들이 조금씩 다른 방식으로 학습한 결과를 평균적으로 합산하면, 더 일반화된 학습 결과를 얻을 수 있습니다. 이는 과적합을 방지하는 데 도움이 됩니다. 즉, 여러 작은 모델의 투표를 통해 더 나은 성능을 도출하는 효과입니다.

2. 동조화(Co-adaptation) 방지 효과

신경망에서 특정 뉴런이 다른 뉴런에 지나치게 의존하게 되면, 학습이 왜곡되거나 불균형하게 이루어질 수 있습니다. Dropout은 뉴런 간의 의존성을 줄여, 각 뉴런이 독립적으로 학습하도록 만들어줍니다. 결과적으로 네트워크가 더 강건하고 일반화된 학습을 할 수 있게 도와줍니다. 이를 통해 특정 뉴런에 과하게 의존하는 현상인 동조화를 방지합니다.

특정 학습 데이터나 자료에 영향을 받지 않는 보다 강건한(robust)한 망을 구성할 수가 있게 되는 것이다.

이것은 마치 오랜 시간 동안 지구상에 존재하는 생명체들이

유전적 복제와 아닐 양성 식을 통해 유전자를 결합하고

보다 강인한 유전자들이 자연의 선택을 받아 살아남는 것과 마찬가지이다.

1

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.