프로그래밍/Deep-learning

Dropout layer(드롭아웃 레이어)

유니디니 2021. 2. 18. 00:12
728x90
반응형
import numpy as np

def dropout_layer(X, prob):
    assert 0 <= prob <= 1
    
    if prob == 1:
        return np.zeros_like(X)
    
    if prob == 0:
        return X
    mask = np.random.uniform(0, 1, X.shape) > prob
    return mask.astype(np.float32) * X / (1.0 - prob)

 

드롭아웃 레이어는 데이터를 이용한 학습과정에서 오버피팅을 억제하는 방법 중 하나이며, 뉴런의 연결을 임의로 제거하는 방법이다. 학습상황에서만 사용가능하며, 테스트 과정에서는 사용이 불가능하다.

반응형