ใช้โมเดลคำบรรยายภาพแบบนิวรัลด้วย PyTorch ตามสถาปัตยกรรมตัวเข้ารหัส-ตัวถอดรหัส
ชุดข้อมูลคือ Flikr8k ซึ่งมีขนาดเล็กเพียงพอสำหรับการคำนวณงบประมาณและรับผลลัพธ์อย่างรวดเร็ว ภายในชุดข้อมูลมีรูปภาพ 8091 ภาพ แต่ละภาพมีคำบรรยาย 5 ภาพ ดังนั้นจึงมีแนวโน้มที่จะพอดีเกินไปหากแบบจำลองซับซ้อนเกินไป แหล่งที่มาอย่างเป็นทางการใช้งานไม่ได้ ลิงก์อื่นสำหรับชุดข้อมูลอาจอยู่ที่นี่และที่นี่
สถาปัตยกรรมแบบจำลองอธิบายไว้ด้านล่าง เครือข่ายตัวเข้ารหัสสำหรับรูปภาพคือ Resnet-101 (สามารถโหลดได้จาก torchvision) ตัวถอดรหัสนั้นเป็นโมเดลภาษาที่ใช้ LSTM โดยมีเวกเตอร์บริบท (คุณลักษณะภาพที่เข้ารหัส) เป็นสถานะซ่อน/เซลล์เริ่มต้นของ LSTM [1] มีการนำแบบจำลองที่ใส่ใจมาใช้ด้วย [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)