VQA用来替代图灵测试测试人工智能的程度:
给定一些图片,及关于图片的一些问题,智能系统给出答案判断系统的智能程度。
VQA模型的思路:
第一步,生成答案(做成文本的分类问题。)
将句子里常见的前20%的答案作为所有答案,通过softmax进行问题判断,差不多可以得到80%左右的问题的正确答案。也就说准确率能达到80%。
第二步,处理数据源(图片)(文字)等
第三步,将图片向量与文字向量拼接起来,然后输入一个分类器模型(svm,CNN等都行)与对应的答案进行训练得到模型
预处理:
训练过程中每10次保存一下训练的权重系数。
json是保存的模型的构架。
数据处理,将问题,图片,答案转换成批量的矩阵形式 。
训练完成后保存模型。
对于问题模型的训练这里用了两种方法:一是MLP,即全连接人工神经网络,第二种是LSTM。
用LSTM模型训练问题的向量拼接好的图片的向量组成一维向量做X,与对应的问题标签Y(ONEHOT)编码。
加上LSTM模型
生成最后的模型,然后进行保存。
模型输入输出数据:
加载训练的模型
python导入caffe文件,读入模型