더북(TheBook)

다음은 VGG 모델의 마지막 두 층 가중치 추출 및 가중치 재구성, 합성곱 층에 적용하는 부분입니다.

weights1 = vgg_model.get_layer("fc1").get_weights()[0]
weights2 = vgg_model.get_layer("fc2").get_weights()[0]

weights1 = weights1.reshape(7, 7, 512, 4096)
weights2 = weights2.reshape(1, 1, 4096, 4096)

dense_convs.layers[0].set_weights([weights1])
dense_convs.layers[2].set_weights([weights2])

해당 코드는 사전 훈련된 네트워크의 지식을 전이하여 FCN 모델의 성능을 향상시키는 데 중요한 역할을 합니다. 완전 연결 층의 가중치를 합성곱 층으로 전환해서 모델이 이미지의 전체적인 컨텍스트를 더 잘 이해하고, 픽셀 수준의 예측에 활용할 수 있게 됩니다. 이러한 전이 학습 방식은 모델의 학습 시간을 단축시키고, 더 정확한 영역 분할 결과를 얻는 데 도움을 줍니다.

이제 앞에서 설정한 하이퍼파라미터와 다양한 버전의 FCN 모델을 학습시켜보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.