image caption pytorch
1.0.0
인코더-디코더 아키텍처를 기반으로 하는 PyTorch를 사용하여 신경 이미지 캡션 모델을 구현합니다.
데이터세트는 Flikr8k로 예산을 계산하고 결과를 빠르게 얻을 수 있을 만큼 작습니다. 데이터 세트에는 8091개의 이미지가 있으며 각 이미지에는 5개의 캡션이 있습니다. 따라서 모델이 너무 복잡하면 과적합되기 쉽습니다. 공식 소스가 손상되었습니다. 데이터 세트에 대한 다른 링크가 여기 및 여기에 있을 수 있습니다.
모델 아키텍처는 아래와 같습니다. 이미지의 인코더 네트워크는 Resnet-101입니다(torchvision에서 로드할 수 있음). 디코더는 기본적으로 LSTM 기반 언어 모델이며 컨텍스트 벡터(인코딩된 이미지 특징)를 LSTM의 초기 숨겨진/셀 상태로 사용합니다[1]. Attentive 모델도 구현되었습니다 [2].
모델은 모멘텀을 사용하여 SGD에 의해 훈련됩니다. 학습률은 0.01부터 시작하여 정체 상태에 머물러 10으로 나누어집니다. 0.9의 운동량과 0.001의 무게 감소가 사용됩니다.
모델 [1]은 BLEU-1 테스트 점수 35.7로 비교적 합리적인 설명을 얻을 수 있습니다.
이미지 | 캡션 |
---|---|
두 마리의 개가 풀밭에서 놀고 있습니다. | |
한 사람이 보트에서 카약을 타고 있습니다. | |
한 소년이 수영장에서 물장구를 치고 있습니다. | |
두 사람이 물가 부두에 앉아 있습니다. | |
빨간색 유니폼을 입은 축구선수가 군중 앞에서 축구공을 들고 달리고 있습니다. | |
스노보더가 언덕에서 뛰어내리고 있습니다. | |
갈색 개가 모래 위에서 공을 가지고 놀고 있습니다. | |
파란색 셔츠를 입은 소년이 잔디밭을 달리고 있습니다. | |
화려한 의상을 입은 사람들의 집단. |
파이토치 0.4.1
[1] 보여주고 말하기: 신경 이미지 캡션 생성기(https://arxiv.org/abs/1411.4555)
[2] 보여주고, 참석하고, 말하세요: 시각적 주의를 통한 신경 이미지 캡션 생성(https://arxiv.org/abs/1502.03044)