SW/인공지능

인공지능 : Drop Out : 개념, 원리, 팁

얇은생각 2019. 7. 30. 07:30
반응형

인공지능 : Drop Out : 개념, 원리, 팁



신경망을 위한 드롭 아웃 정규화

드롭 아웃은 Srivastava 등이 제안한 신경망 모델의 정규화 기법입니다.


드롭 아웃은 훈련 중에 무작위로 선택된 뉴런을 무시하는 기술입니다. 뉴런들은 무작위로 "탈락"합니다. 이는 다운 스트림 뉴런의 활성화에 대한 기여가 순방향 패스에서 일시적으로 제거되고 모든 가중치 업데이트가 역방향 패스에서 뉴런에 적용되지 않는다는 것을 의미합니다.


신경 회로망이 학습 할 때, 신경 회로의 가중치는 네트워크 내에서 상황에 따라 결정됩니다. 뉴런의 가중치는 특정 특성을 제공하는 피쳐에 맞춰 조정됩니다. 이웃하는 뉴런은 이 전문 분야에 의존하게되고, 너무 멀리 잡히면 훈련 데이터에 너무 특수한 취약한 모델이 될 수 있습니다. 훈련 중 뉴런에 대한 상황에 의존하는 것은 complex co-adaptation이라고 합니다.


훈련 중에 신경 세포가 무작위로 네트워크 밖으로 빠져 나가면 다른 뉴런이 빠져 나가는 뉴런에 대한 예측을 하기 위해 필요한 처리를 해야 한다는 것을 상상할 수 있습니다. 이것은 네트워크에 의해 여러 개의 독립적인 내부 표현이 학습되는 것으로 여겨집니다.


이 효과는 네트워크가 뉴런의 특정 가중치에 덜 민감해진다는 것입니다. 결과적으로 더 나은 일반화가 가능하고 훈련 데이터를 지나칠 가능성이 적은 네트워크가 됩니다.




드롭 아웃 사용 팁

Dropout에 대한 원문은 일련의 표준 머신 러닝 문제에 대한 실험적 결과를 제공합니다. 따라서 실제로 드롭 아웃을 사용할 때 고려해야 할 유용한 휴리스틱을 알아보겠습니다.


일반적으로 20 % ~ 50 %의 작은 누락 값을 사용하여 20 %의 뉴런을 시작점으로 삼습니다. 너무 낮은 확률은 영향을 미치지 않으며 너무 높은 값은 네트워크에 의한 과소 학습의 결과를 낳습니다.


더 큰 네트워크를 사용하십시오. 더 큰 네트워크에서 드롭 아웃을 사용하면 모델을 독립적인 표현을 배울 수 있는 기회를 더 많이 얻게 될 가능성이 높습니다.


들어오는 유닛과 숨겨진 유닛에 드롭 아웃을 사용하십시오. 네트워크의 각 계층에서 드롭 아웃을 적용하면 좋은 결과가 나타납니다.


decay와 큰 momentum으로 높은 learning rate를 사용하십시오. learning rate를 10에서 100배로 높이고 momentum 값을 0.9 또는 0.99로 사용하십시오.


네트워크 가중치의 크기를 제한하십시오. learning rate가 크면 네트워크 가중치가 매우 커질 수 있습니다. 4 또는 5 크기와 같은 네트워크 가중치의 크기에 대한 제약을 부과하는 것은 결과를 향상시키는 것으로 나타났습니다.

반응형