안녕하세요
최근에 resnet 문제가 있어 질문을 올렸었고, batch normalization을 사용하여 문제를 해결했습니다.(질문 링크)
저의 목표는 고양이와 개의 입력이 주어졌을 때 둘을 분류(classification)하는 resnet 모델을 만들고 훈련시키는 것이었습니다.
그러던 중 resnet 50 모델 훈련이 제대로 되지 않는 문제가 있었고, 해결 과정에서 batch normalization이 문제였음을 깨달았습니다.
데이터의 분포를 정규화로 고르게 만드는 batch normalization에 대해 이해하면서 문득 이런 생각이 들었습니다.
'이미지 분류 문제에서 색상이 중요한 문제라면 batch normalization을 사용하지 않는 편이 좋을까?'
batch normalization은 정말 많이 사용되는 기법으로 학습의 효율을 높여준다고 예전부터 머리로는 알고 있었습니다.
처음 배울 당시에는 '아 그렇구나'하고 넘어갔는데, batch normalizaiton이 분포를 고르게 만든다는 사실을 되새기고 나니 색상이 중요한 지표가 되는 분류 문제의 입장에서 정규화로 픽셀 고유의 값을 변환시킨다면 오히려 분류 문제가 방해가 될 것 같다는 생각이 든 것입니다.
batch normalization에서 입력된 값들을 분포로 변환시킨다는 의미는 하나의 batch 안에 있는 값 사이의 상대적인 크기만 남는 것으로 볼 수 있다고 생각합니다. 그렇기 때문에 원 이미지가 가지고 있는 색상 정보는 깡그리 무시되는 셈으로 생각되고요.
그러므로 batch normalization이 색상이 가진 고유한 정보를 제거해 버린다면, 분류에서 색상이 중요한 기준으로 적용되어야 하는 경우 batch normalization을 사용하면 안 되는 것이 아닌가??? 하는 생각까지 미치게 된 것입니다.
다른 분들은 어떻게 생각하시는지 궁금합니다.
잘못 생각하고 있는 부분 짚어주시는 댓글도 정말 감사합니다.