21.02.04 11:36 작성
·
881
0
안녕하세요 선생님. 제가 yolo모델을 0, 1, 2의 세 개의 label로 전이학습을 했었습니다.
이렇게 나온 모델.h5을 이용하여 테스트를 해보았는데 1 label의 성능이 좋지 않았습니다.
그래서 0, 1, 2 label을 훈련시킨 모델.h5를 이용해서 1 label데이터만 추가로 학습을 하였는데 0과 2 label은 탐지를 안하고, 1 label만 탐지하게 되었습니다.
제가 어떤 부분을 간과한것 같은데 찾기가 힘드네요. 데이터를 추가로 학습을 시킬 때 어떠한 유의해야 할 점이 있을까요?
답변 3
2
2021. 02. 04. 21:10
1 이미지만 있고, anno.csv에 1 만 있으므로 결국은 classification layer에서 학습하는 것은 1만 학습합니다.
이런 경우는 0, 1(추가분 포함), 2 인 이미지를 모두 재 학습 시키되
A. weight는 이전 모델.h5 를 로드 하고, feature extractor layer 는 모두 freeze하고 먼저 classification layer를 학습 시키고
B. 두번째는 전체 layer를 다 unfreeze 하고 학습을 진행합니다.
A번에서 epoch 50, B번에서 epoch 50 정도 진행해 보면 좋을 것 같습니다.
A만 수행했을 때의 성능, A와 B를 다 수행했을 때의 성능을 비교하는 것도 좋을 것 같습니다.
감사합니다.
2
2021. 02. 04. 15:19
안녕하십니까,
아래 부분에서 1 label 데이터만 추가로 학습을 하셨다는게 어떻게 학습을 시키신건지요?
"그래서 0, 1, 2 label을 훈련시킨 모델.h5를 이용해서 1 label데이터만 추가로 학습을 하였는데 0과 2 label은 탐지를 안하고, 1 label만 탐지하게 되었습니다."
0, 1, 2 label을 훈련 시킨 모델을 어떤 방식으로 이용하셨는지는 몰라도, label을 1만 설정하면 classification layer단에서 1만 설정되므로 0, 2는 탐지할 수가 없습니다.
전이학습은 기존에 훈련된 모델의 Weight를 이용하기 위해서 사용됩니다. 만약에 classification label이 바뀌거나 한정되게 설정하면 해당 label만 검출합니다.
일단 이부분 부터 확인해 주시고, 추가적인 질문 부탁드립니다.
감사합니다.
0
2021. 02. 04. 18:15
label 1에 대한 탐지성능을 향상시키기 위해서 1에 대한 데이터만 수집하였습니다.
첫번째 모델.h5에 label 1데이터를 학습시켰더니 label 1에 대해서만 탐지하는 모델이 되었습니다 ㅠ