인프런 커뮤니티 질문&답변

돌머리 님의 프로필 이미지
돌머리

작성한 질문수

딥러닝 CNN 완벽 가이드 - Fundamental 편

배치 정규화(Batch Normalization) 이해와 적용 - 01

픽셀값에 min-max scaling 을 적용하는 이유

작성

·

892

0

안녕하세요 .

스케일링을 피처들의 단위를 동일하게 만들어 주기 위해 사용한다고 알고있습니다. 

그러나 픽셀값들은 0~255 사이의 값으로 동일한 단위를 가지며 

메모리 또한 int ,float 4바이트로  같다고 알고 있습니다.

그런데 왜 전처리  과정에서 픽셀값에  min max 스케일링을 적용하는지 이해가 잘 되지 않습니다.

(0~255의 값에서도 GD 수행시 값이 큰 가중치만 학습하려는 경향이 있어서라고  생각을 해보았지만, 단순 선형회귀에서는 피처가 하나 일 경우 스케일링을 진행하지 않은 점을 보았을때,  잘 이해가 가지 않습니다.)

즐거운 강의 감사합니다 :)

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

MinMaxScaling을 안해주셔서 큰 차이는 없습니다. 말씀하신대로 이미지 픽셀값은 모두 동일단위 이므로 픽셀별로 스케일링을 맞출 필요도 없습니다. 다만 Deep Learning은 일반적으로 입력되는 값을 작게 해주는 경향이 있습니다.  물론 반드시 작은 값을 입력할 필요는 없습니다만, 딥러닝이 워낙 weight 값에 민감하다보니, 너무 큰 입력값을 넣으면 출력값 범위의 변동폭이 커질 수 있습니다.

이게 초창기 딥러닝시에 유의가 필요한 부분이기도 했습니다.  하지만 이미지 픽셀값에 대해서 반드시 작은 값을 넣을 필요는 없습니다.  굳이 MinMaxScaling을 넣은 이유는 아마도 인터넷등에서 이렇게 스케일링을 적용한 예제 코드를 많이 접해 보실일이 많을텐데, 오히려 이 scaling을 안넣은 코드를 보시다 보면, 왜 스케일링 코드가 안들어 갔는지 의아하게 생각하실 것 같아서 MinMaxScaling을 넣은 것 뿐입니다. 

좀 더 강의를 보시면 픽셀 입력값을 어떻게 사전 가공 처리하는지에 대한 다양한 예제를 학습하실 수 있을 것입니다. 

감사합니다. 

돌머리 님의 프로필 이미지
돌머리
질문자

답변 감사합니다 :) 

돌머리 님의 프로필 이미지
돌머리

작성한 질문수

질문하기