推广 热搜:   公司  企业  中国  快速    行业  上海  设备  未来 

图片标题生成器(literature:Show and Tell: A Neural Image Caption Generator)

   日期:2024-12-20     移动:http://fabua.ksxb.net/mobile/quote/4297.html

@[TOC]

图片标题生成器(literature:Show and Tell: A Neural Image Caption Generator)

NIC

图片标题生成器是基于CNN+LSTM的一种神经网络系统,以文献《Show and Tell: A Neural Image Caption Generator》为参考,作者构造了一种叫做NIC(Neural Image Caption)神经网络系统,以CNN提取图片特征,最后一个隐藏层(hidden layer)作为LSTM的输入。

LSTM

LSTM(Long Short-term Memory)是一种特殊的RNN(Recurrent Neural Network).

最后达到的效果是对于任意一张图片,可以生成对应的一句话标题。



有关这篇文献的实现在GitHub上有很多,有一些基于MSCOCO数据集,有一些基于Fliker8k或者Flikr39k数据集,MSCOCO数据集的train、valid、test图片都要远多于另外两个。本文我们采用数据集Fliker8k实现。

Coding


这份代码把 train and val 放在一起,由于数据集较小,训练比较容易一点。



config文件用来调整各种参数,由于train总共6000张图片,原始配置是epoch= 20,batch_size = 64,batch_size(批大小)与显存有关,batch_size越大训练速度会加快,但是很耗费显存,batch_size越小会很耗时间。实际情况下我们按自己的需要来确定批大小。
本次我们使用batch_size = 10,所以6000张图片,需要处理600次。



训练完成后,在model_data文件夹下会产生一系列HDF5文件,此时我们可以打开文件,测试最终的效果。
生成的图片和原始图片都在文件夹内。


Beam Search

Beam Search(集束搜索)是一种启发式图搜索算法,通常用在图的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。这样减少了空间消耗,并提高了时间效率,但缺点就是有可能存在潜在的最佳方案被丢弃,因此Beam Search算法是不完全的,一般用于解空间较大的系统中。



Beam Search 等于1的时候就退化到了贪心算法,在BLEU指标上贪心的Beam Search要比Beam Search = 20时评分低2个BLEU点。

We used the BeamSearch approach in the following experiments, with a beam of size 20. Using a beam size of 1 (i.e.,greedy search) did degrade our results by 2 BLEU points on average.

https://www.cnblogs.com/sddai/p/10552592.html

本文地址:http://fabua.ksxb.net/quote/4297.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号