항등 경로를 남기기
잔차 구조 x+F(x)에서 F를 생존 확률 p로 활성화하고 나머지 경우에는 건너뛰는 구성을 생각할 수 있다. 블록을 건너뛴다고 입력까지 버리지는 않는다. 입력을 직접 전달하는 연결을 남기며 해상도나 채널 수가 바뀌는 블록은 별도의 처리 조건을 확인해야 한다.
평균 깊이의 계산
네 잔차 가지의 생존 확률이 1,0.9,0.8,0.7이라면 활성화되는 가지 수의 기댓값은 3.4다. 네 개가 항상 모두 실행되는 대신 평균적으로 3.4개가 선택된다는 뜻이다. 앞뒤의 고정층은 이 수에 포함하지 않았다. 이 평균이 실제 학습 시간이 정확히 15% 줄어든다고 보장하지는 않는다.
스케일 규칙을 섞지 않기
원래 방식은 학습 때 살아남은 가지를 그대로 쓰고 추론 때 모든 가지의 출력을 생존 확률 p로 조절한다. 다른 구현은 학습 때 살아남은 가지에 1/p를 곱하고 추론 때 그대로 둘 수도 있다. 학습과 추론의 약속을 섞으면 평균 반응 크기가 달라질 수 있다. 비선형 신경망 전체의 출력이 모든 부분망 출력의 정확한 평균이라는 뜻도 아니다.
실제로 계산을 건너뛰는가
가지 출력을 계산한 뒤 0을 곱하는 구현과 가지 계산 자체를 하지 않는 구현은 계산 비용이 다르다. 표본마다 마스크를 다르게 쓰는지 미니배치가 공유하는지도 구별한다. 정규화 효과와 속도 효과를 각각 확인하고 생존 확률이 너무 작아 필요한 변환이 충분히 학습되지 않는지도 살펴야 한다.
관련 문서
잔차 연결 / 사전 활성화 잔차 블록 / 드롭아웃 / 기댓값 / 베르누이 분포 / DenseNet