[发明专利]基于卷积神经网络的深度图像描述方法有效

专利信息
申请号: 201910583139.6 申请日: 2019-07-01
公开(公告)号: CN110347860B 公开(公告)日: 2021-07-09
发明(设计)人: 张道强;陈若煜 申请(专利权)人: 南京航空航天大学
主分类号: G06F16/583 分类号: G06F16/583;G06N3/04;G06N3/08
代理公司: 江苏圣典律师事务所 32237 代理人: 韩天宇
地址: 210016 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于卷积神经网络的深度图像描述方法,涉及计算机视觉与自然语言处理的交叉领域,涉及图像处理、自然语言理解、深度学习、机器学习等技术领域,解决了以往基于长短时神经网络的图像描述方法无法并行训练的问题。同时,本发明能够更好地捕捉到生成单词之间的长距依赖以及学习到如何自适应地关注图像和语言特征。
搜索关键词: 基于 卷积 神经网络 深度 图像 描述 方法
【主权项】:
1.基于卷积神经网络的深度图像描述方法,其特征在于,包含以下步骤:对MSCOCO训练数据集中的所有真实描述句子进行预处理,在所有真实描述句子的首部添加起始标识单词,在所有真实描述句子的结尾添加结尾标识单词;记录所有出现次数大于等于预设的第一次数阈值的单词,并将所有出现次数小于预设的第一次数阈值的单词替换为未知标识单词;为所有单词标记索引,形成词汇表,将所有真实描述句子用单词的索引表示,即“one‑hot”表示;对于MSCOCO训练数据集中每一幅原始图像:步骤1),将原始图像经过深度学习库的resize函数调整后,输入至预训练好的深度卷积神经网络,得到原始图像的特征图表示;使用深度学习库中的网络构建函数构建两层的全连接神经网络M1,将原始图像的特征图表示输入全连接神经网络M1中,得到原始图像的图像特征表示;将原始图像图像特征表示经过深度学习库中的维度调整函数,将其由三维调整为二维,得到调整过后的图像特征表示、记为m;步骤2),使用深度学习库中的词嵌入网络构建函数构建词嵌入表示层,输入原始图像对应的真实描述句子的“one‑hot”表示,对真实描述句子中的每个词做词嵌入操作,得到由词向量表示的真实描述句子的特征,记为x;步骤3),使用深度学习库中的卷积网络构建函数构建一维卷积神经网络,输入真实描述句子的特征x,并将一维卷积神经网络的前一半通道输入深度学习库的GLU函数中,得到特征图s;将一维卷积神经网络的后一半通道输入深度学习库的GLU函数中,得到特征图c;步骤4),使用深度学习库中的线性网络层构建函数构建四个全连接神经网络M2、M3、M4、M5,将s分别输入全连接神经网络M2、M3、M4中,得到3个输出,记为q,k,v;用深度学习库中的维度调整函数,将q,k,v调整为sent_len*d1*d2的张量,d1为预设的第一二维长度阈值,d2为预设的第一三维长度阈值;利用深度学习库中的矩阵相乘函数,将q和k的转置进行乘积,并除以d1,得到d1个大小为sent_len*sent_len的张量后将其输入深度学习库中的softmax函数,对该张量的最后一个维度做softmax操作,得到大小为d1*sent_len*sent_len的张量,将该结果标记为word_score;将word_score与v通过深度学习库中的矩阵相乘函数进行相乘,得到大小为sent_len*d1*d2的张量,通过深度学习库中的维度调整函数,调整为sent_len*dm大小的张量,dm=d1*d2,输入全连接神经网络M5中,得到大小为sent_len*dm的张量,重新记为s;步骤5),使用深度学习库中的线性网络层构建函数构建四个全连接神经网络M6、M7、M8、M9,将c输入全连接神经网络M6中,得到大小为sent_len*dm的张量,记为q’;将m分别输入全连接神经网络M7、M8中,得到2个输出,记为k’,v’,大小均为feat_len*dm;用维度调整函数,将q’调整为sent_len*d3*d4的张量,将k’,v’调整为feat_len*d3*d4的张量,d3为预设的第二二维长度阈值,d4为预设的第二三维长度阈值;利用矩阵乘法函数,将q和k的转置进行乘积,并除以d3,得到大小为d3*sent_len*feat_len的张量后将其输入深度学习库中的softmax函数,对该张量的最后一个维度做softmax操作,得到大小为d3*sent_len*feat_len的张量,标记为image_score;将image_score与v通过矩阵乘法函数进行相乘,得到大小为sent_len*d3*d4的张量,通过维度调整函数,调整为sent_len*dm大小的张量,输入全连接神经网络M9中,得到大小为sent_len*dm的张量,重新记为c;步骤6),利用深度学习库中的求均值函数对word_score的第二、三维度求平均,得到大小为sent_len*1的张量,利用求均值函数对image_score的第三个维度求平均得到大小为sent_len*feat_len的张量,利用深度学习库中的拼接函数将得到的大小为sent_len*1的张量和大小为sent_len*feat_len的张量在第二个维度上进行拼接,得到大小为sent_len*(feat_len+1)的张量;利用softmax函数对大小为sent_len*(feat_len+1)的张量的第二个维度进行操作,得到sent_len*(feat_len+1)大小的张量,取其第二个维度的最后一个元素、大小为sent_len*1的张量记为β,根据公式β*s+(1‑β)*c进行计算,得到大小为sent_len*dm维,记为x;步骤7),重复步骤3)到步骤6),重复次数为预设的第二次数阈值,得到大小维sent_len*d_m的张量,记为h;步骤8),利用深度学习库中的线性网络层构建函数,构建全连接神经网络M10,输入为大小为dm的维,输出为大小为dv的维;将h输入全连接神经网络M10,得到输出dm*dv大小的张量,将该张量输入pytorch中的softmax函数,得到dm*dv大小的张量,记为y;步骤9),利用深度网络学习库中的优化器模块,构建优化器;利用深度学习库中的损失函数模块,构建交叉熵损失函数,将y及其对应的真实句子的“one‑hot”表示输入该损失函数中,用深度学习库中的反向传播函数进行反向传播,然后利用优化器模块中的更新函数对模型参数进行更新;步骤10),重复步骤9),重复次数为预设的第三次数阈值;步骤11),下载CIDER指标计算模块;将步骤8)中的到的y输入深度学习库中的argmax函数,得到sent_len*1的句子“one‑hot”表示,将该表示输入CIDER计算模块,得到该句子的得分值;利用损失函数公式Lrl(θ)=Ey[r(y)]计算该句子的损失,其中r表示CIDER计算模块,E表示期望值,通过其每个单词的概率的乘积得到,θ为模型中的所有参数;用深度学习库中的反向传播函数进行反向传播,然后利用优化器模块中的更新函数对模型参数进行更新;步骤12),重复步骤11),重复次数为预设的第四次数阈值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910583139.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top