학습된 가중치들에 대해 질문 드립니다.
494
작성한 질문수 8
선생님 안녕하세요, 항상 강의 잘 듣고 있습니다.
다름이 아니라, 해당 강의에서 다룬 pretrained된 모델을 기반으로 classification level만 바꾸어 훈련할 때, pretrained 되어 저희가 가져온 부분에 해당하는 가중치들은 변화하지 않고 오직 저희가 마지막에 추가한 레이어들에 속해있는 가중치들만 학습이 되는걸까요?
전이 학습을 사용할 때 이미 학습된 가중치들을 가져와서 가중치 초기화를 할 때만 이용할 수도 있다고 언급 하셨어서 이 코드에서는 어느 범위까지 미리 학습된 가중치들을 활용하셨는지 궁금합니다.
또 만약에 pretrained된 레이어에 해당하는 가중치들은 변화하지 않고 오직 저희가 새로 추가한 레이어에 해당하는 가중치들만 경사 하강법을 통해 계속 업데이트 되고 있다면, 기존 코드들에 비해 실행 시간이 훨씬 오래 걸리는 이유가 그만큼 back propagation 과정이 길기 때문이라고 이해해도 될까요?
감사합니다!
답변 1
0
안녕하십니까,
pretrained 모델을 기반으로 전이학습을 한다는 것은 feature map의 가중치를 pretrained된 값을 그대로 유지 한다는 의미가 아니로, 1000개의 class로된 imagenet 데이터 세트로 학습된 feature map의 가중치를 초기에 적용한다는 의미입니다.
일반적으로 cnn 모델을 만들때 이들 cnn filter의 가중치는 random/Xavier/He 초기화가 되어 있습니다. 이들을 말 그대로 초기화이며, 이미지가 가지는 일반적인 외곽선, 질감, 형체 대비, 직선/곡선들의 filter값을 제대로 표현하고 있지 않습니다. 학습을 진행하면서 이들 filter의 weight를 최적화 해나가게 됩니다.
pretrained는 filter의 초기화를 random/Xavier/He 초기화를 적용하지 않고 imagenet dataset로 이미 학습된 filter의 가중치를 초기에 적용합니다. 일반적인 외곽선, 질감, 형체 대비, 직선/곡선들의 filter 가중치 값을 가진 상태에서 학습을 통해서 이 가중치를 학습 데이터에 보다 정교하게 맞춰 나갑니다.
요약 드리면 pretrained 모델을 기반으로 전이 학습을 한다는 것은 그렇지 않은 경우에 대비해서 가중치 학습에 출발 선상이 다른 것입니다. 때문에 더 최적으로 filter 가중치를 빠르게 정확하게 학습 할 수 있습니다.
resize 질문
0
50
1
20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅
0
75
1
Loss와 매트릭 관계
0
61
2
Boston 코랩 실습
0
162
2
배치 정규화의 이해와 적용 2 강의 질문
0
134
2
Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?
0
144
2
Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.
0
203
2
소프트맥스 관련 질문입니다
0
208
1
강의 관련 질문입니다
0
151
2
residual block과 identity block의 차이
0
186
2
옵티마이저와 경사하강법의 차이가 궁금합니다.
1
238
1
실습 환경
0
165
2
입력 이미지 크기
0
243
2
데이터 증강
0
195
2
albumentations ShiftScaleRotate
0
205
1
Model Input Size 관련
0
279
1
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??
0
204
1
일반적인 질문 (kaggle notebook사용)
0
272
2
실무에서 Augmentation 적용 시
0
338
2
안녕하세요 교수님
0
231
1
가중치 초기화(Weight Initialization) 질문입니다.
0
327
1
테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류
0
407
1
학습이 이상하게 됩니다.
2
1036
2
boston import가 안됩니다
0
228
1





