Residual block

꼼댕이·2023년 9월 5일
0

CNN

목록 보기
2/2
post-custom-banner

Residual block

: 떨어져 있는 뉴런 layer들을 이어주는 skip connection이 있는 block

한 layer의 결과값을 바로 다음 layer에만 넣어주는 것이 아니라 좀 더 뒤에 있는 layer에도 넣어주는 것.
이 연결을 skip connection이라 하고, 이 skip connection이 있는 레이어들을 residual block이라고 부른다.

Residual block 효과

Conv6()와 Conv6Res() 두 모델의 accuracy는 별 차이 없지만, residual block은 뉴럴 네트워크의 레이어 갯수가 점점 많아지면서 오히려 performance가 저하 되는 'degradation'현상을 막아주는 것이 주 역할이므로 레이어가 더 많은 deeper 뉴럴 네트워크들에서 residual block의 효과를 확인할 수 있다.

Residual block을 사용하지 않은 plain CNN의 경우, 레이어 갯수가 많아질수록 (그래프 상에서 선의 색이 짙어질수록) train accuracy가 오히려 대체로 떨어지는 것을 볼 수 있다. 이건 overfitting에 의한 현상이 아니고 (training data에 대한 accuracy) 뉴럴네트워크의 레이어 수가 많아질수록 accuracy가 떨어지는 degradation 현상 때문으로 추측된다고 한다. 반면 residual block이 있는 CNN들의 경우 이 현상이 덜해보인다.

마지막으로 Test accuracy를 비교해보면 효과를 확실하게 알 수 있다.

코드를 포함한 자세한 내용은 밑의 참고 링크를 통해서 확인하자.

참고

profile
사람을 연구하는 공돌이
post-custom-banner

0개의 댓글