inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

옵티마이저(Optimizer)의 이해 - Momentum, AdaGrad

입력 이미지 크기

242

하하하

작성한 질문수 2

0

안녕하세요.

좋은 강의 잘 듣고 있습니다!

 

중간에 궁금한 점이 생겨서 질문 남깁니다.

 

현재, 사전 학습된 모델의 가중치를 불러와서 파인 튜닝을 진행하고 있습니다. 이 과정에서 입력 이미지 크기에 따라 실험을 진행중인데, VGG16의 입력 이미지 크기는 기본값이 224x224로 알고 있습니다.

 

만약, 제가 가진 데이터가 128x128의 형태를 띄고 있는 이미지라면, input_size를 128x128로 구성해줘도 기존의 사전 학습된 가중치를 불러와 쓸 수 있지 않나요?

 

기존의 DNN과 달리 CNN 모델들은 필터에 가중치를 적용하여 계산하므로 입력 이미지 크기에 상관없이 사전 학습된 가중치를 불러와 사용할 수 있다고 생각합니다.

 

제가 생각한게 맞는지 궁금해 질문 남깁니다. 감사합니다.

 

또한, 만약 제 생각이 틀리다면 위와 같이 128x128 이미지를 입력 사이즈로 주었을 때, 모델은 이를 어떻게 224x224로 만들어 학습하는지 궁금합니다. 감사합니다.

머신러닝 딥러닝 keras tensorflow kaggle cnn

답변 2

0

권 철민

안녕하십니까,

네, 말씀하신 게 맞습니다. pretrained weight는 CNN Filter에 학습되어 저장되어 있으므로 이미지 사이즈가 달라도 상관없습니다.

다만 해당 pretrained weight 값이 특정 이미지 사이즈에 최적화되어서 만들어졌기 때문에 가능하면 pretrained 된 이미지 사이즈로 확장/축소 해서 많이 적용합니다.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 하하하님.

VGG16 같은 사전 학습된 모델의 경우, 입력 이미지 크기는 기본적으로 224x224로 설정되어 있습니다. 그렇기 때문에 입력 이미지 크기가 다를 경우, 모델 구조에서 일부 조정이 필요합니다.

하지만, 당연히 CNN의 특징상 필터 기반으로 특징을 추출하기 때문에 입력 이미지의 크기가 다소 변화하더라도 기존 사전 학습된 가중치를 불러와서 사용 가능합니다. 다만 이 경우 input_shape 부분을 조정해야 하며, 모델의 시작 부분만 조정하여 원하는 크기의 이미지를 입력할 수 있도록 설정할 수 있습니다.

예를 들어, 하위 계층(초기 계층)에서 이미지 크기를 변환하는 조정이 필요할 수 있습니다. 특히, Dense 계층 앞에서는 이미지의 전체 벡터 크기가 일치해야 하기에 Flatten() 계층 전에 추가적인 처리가 필요할 수 있습니다.

만약 128x128 이미지를 모델에 그대로 입력하고 싶다면:

  1. input_shape를 (128, 128, 3)으로 변경하십시오.
  2. 필요한 경우, Fully Connected 계층을 재조정하여 출력차원이 맞도록 코드를 조정합니다.

아래 관련된 질문과 답변을 함께 참고해 보시는 것도 좋습니다:
- keras vgg16 pretrained 모델 사용할 때 입력 shape에 대해서 질문이 있습니다

이 질문에서는 이미지 크기 조절이나 임의 입력 크기 조절시 사전 학습된 모델의 가중치 활용에 대해 구체적으로 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

resize 질문

0

48

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

75

1

Loss와 매트릭 관계

0

61

2

Boston 코랩 실습

0

161

2

배치 정규화의 이해와 적용 2 강의 질문

0

134

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

143

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

201

2

소프트맥스 관련 질문입니다

0

208

1

강의 관련 질문입니다

0

151

2

residual block과 identity block의 차이

0

183

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

236

1

실습 환경

0

165

2

데이터 증강

0

194

2

albumentations ShiftScaleRotate

0

205

1

Model Input Size 관련

0

279

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

203

1

일반적인 질문 (kaggle notebook사용)

0

271

2

실무에서 Augmentation 적용 시

0

336

2

안녕하세요 교수님

0

230

1

가중치 초기화(Weight Initialization) 질문입니다.

0

324

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

405

1

학습이 이상하게 됩니다.

2

1032

2

boston import가 안됩니다

0

224

1

Boston 주택 가격에서, scailing 안하면 값이 발산합니다.

0

217

1