CN111897940B - 视觉对话方法、视觉对话模型的训练方法、装置及设备 - Google Patents
视觉对话方法、视觉对话模型的训练方法、装置及设备 Download PDFInfo
- Publication number
- CN111897940B CN111897940B CN202010805359.1A CN202010805359A CN111897940B CN 111897940 B CN111897940 B CN 111897940B CN 202010805359 A CN202010805359 A CN 202010805359A CN 111897940 B CN111897940 B CN 111897940B
- Authority
- CN
- China
- Prior art keywords
- answer
- question
- sub
- round
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 231
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000012549 training Methods 0.000 title claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 475
- 238000012545 processing Methods 0.000 claims abstract description 127
- 238000006243 chemical reaction Methods 0.000 claims description 152
- 230000015654 memory Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000013604 expression vector Substances 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000007477 logistic regression Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Image Analysis (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请公开了一种视觉对话方法、视觉对话模型的训练方法、装置及设备,涉及视觉对话领域。该方法包括:获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;获取当前轮提问的问题特征;对图像特征、前n轮历史问答对话对应的状态向量和问题特征进行多模态编码处理,得到当前轮提问对应的状态向量;对当前轮提问对应的状态向量和图像特征进行多模态解码处理,得到当前轮提问对应的实际输出答案。通过获取关于输入图像的前n轮历史问答对话对应的状态向量,使得视觉对话模型能够联系上下文更好地理解图像中隐含的信息,输出的答***率提高。
Description
技术领域
本申请涉及视觉对话领域,特别涉及一种视觉对话方法、视觉对话模型的训练方法、装置及设备。
背景技术
视觉对话是指通过视觉对话模型与人类以自然语言的会话语言对视觉内容(如图片)进行有意义的对话。
以视觉对话模型是分层递归编码器模型(Hierarchical Recurrent Encoder,HRE)为例,HRE模型利用长短期记忆(Long Short-Term Memory,LSTM)神经网络层对输入图片、当前输入问题、上一轮历史问答对话和前一刻工作状态向量作为输入,从而得到当前输入问题的输出答案。
上述技术方案中,HRE模型通过LSTM神经网络层输出答案,当输入的问题中携带有较多信息时,LSTM神经网络层输出的答案准确率较低。
发明内容
本申请实施例提供了一种视觉对话方法、视觉对话模型的训练方法、装置及设备,通过结合n轮历史问答对话理解输入图像中包含的信息,从而提高视觉对话模型根据输入问题输出的答案的正确率。所述技术方案如下:
根据本申请的一方面,提供了一种视觉对话方法,所述方法包括:
获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
获取当前轮提问的问题特征;
对所述图像特征、所述前n轮历史问答对话对应的状态向量和所述问题特征进行多模态编码处理,得到所述当前轮提问对应的状态向量;
对所述当前轮提问对应的状态向量和所述图像特征进行多模态解码处理,得到所述当前轮提问对应的实际输出答案。
根据本申请的另一方面,提供了一种视觉对话模型的训练方法,所述方法包括:
获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
获取当前轮提问的问题特征和所述当前轮提问对应真实答案的第一答案特征;
对所述图像特征、所述前n轮历史问答对话对应的状态向量和所述问题特征进行多模态编码处理,得到所述当前轮提问对应的状态向量;
对所述当前轮提问对应的状态向量、所述图像特征和所述第一答案特征进行多模态解码处理,得到所述当前轮提问对应的实际输出答案的第二答案特征;
根据所述第一答案特征和所述第二答案特征对所述视觉对话模型进行训练,得到训练后的视觉对话模型。
根据本申请的另一方面,提供了一种视觉对话装置,所述装置包括:
第一获取模块,用于获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
所述第一获取模块,用于获取当前轮提问的问题特征;
第一特征编码模块,用于对所述图像特征、所述前n轮历史问答对话对应的状态向量和所述问题特征进行多模态编码处理,得到所述当前轮提问对应的状态向量;
第一特征解码模块,用于对所述当前轮提问对应的状态向量和所述图像特征进行多模态解码处理,得到所述当前轮提问对应的实际输出答案。
根据本申请的另一方面,提供了一种视觉对话模型的训练装置,所述装置包括:
第二获取模块,用于获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
所述第二获取模块,用于获取当前轮提问的问题特征和所述当前轮提问对应真实答案的第一答案特征;
第二特征编码模块,用于对所述图像特征、所述前n轮历史问答对话对应的状态向量和所述问题特征进行多模态编码处理,得到所述当前轮提问对应的状态向量;
第二特征解码模块,用于对所述当前轮提问对应的状态向量、所述图像特征和所述第一答案特征进行多模态解码处理,得到所述当前轮提问对应的实际输出答案的第二答案特征;
训练模块,用于根据所述第一答案特征和所述第二答案特征对所述视觉对话模型进行训练,得到训练后的视觉对话模型。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的视觉对话方法和视觉对话模型的训练方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的视觉对话方法和视觉对话模型的训练方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上方面所述的视觉对话方法和视觉对话模型的训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过对输入图像以及关于输入图像的前n轮历史问答对话进行处理,使得视觉对话模型能够联系上下文更好地理解图像中隐含的信息,利用多模态编码处理方式和多模态解码处理方式,使得视觉对话模型能够更好地根据多种类型的信息,输出当前轮提问对应的实际输出答案,提高视觉对话模型输出的答***率,且保证输出的答案与问题和输入图像的一致性,提升视觉对话的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机***的框架图;
图2是本申请一个示例性实施例提供的视觉对话方法的流程图;
图3是本申请一个示例性实施例提供的视觉对话模型的结构框架图;
图4是本申请另一个示例性实施例提供的视觉对话方法的流程图;
图5是本申请另一个示例性实施例提供的视觉对话模型的结构框架图;
图6是本申请一个示例性实施例提供的多模态增量式转换编码器的结构框架图;
图7是本申请另一个示例性实施例提供的多模态增量式转编码器的结构框架图;
图8是本申请一个示例性实施例提供的多模态增量式转换解码器的结构框架图;
图9是本申请另一个示例性实施例提供的多模态增量式转换解码器的结构框架图;
图10是本申请一个示例性实施例提供的视觉对话模型的训练方法的流程图;
图11是本申请一个示例性实施例提供的视觉对话装置的结构框图;
图12是本申请一个示例性实施例提供的视觉对话模型的训练装置的结构框图;
图13示出了本申请一个示例性实施例提供的服务器的装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例涉及的名词进行介绍。
计算机视觉技术(Computer Vision,CV):是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、三维技术(3-Dimension,3D)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。本申请实施例中,通过视觉对话模型对输入图像进行处理,使得视觉对话模型可根据输入的问题输出答案,输入的问题是与输入图像有关的问题。
视觉问答(Visual Question Answering,VQA)是一种涉及计算机视觉和自然语言处理(Natural Language Processing,NLP)两大领域的学习任务。向计算机设备中输入一张图片和一个关于这张图片的形式自由(free-form)、开放式(opened)的自然语言的问题,输出为:产生的自然语言的回答。通过计算机设备对图片的内容、问题的含义和意图以及相关的常识有一定的理解,使得计算机设备根据输入的图片和问题输出一个符合自然语言规则且合理的答案。
视觉对话(Visual Dialog)是VQA的拓展领域,其主要任务为:与人类以自然语言的会话语言对视觉内容进行有意义的对话。具体而言,给定图像、对话历史和关于图像的问题,计算机设备将问题置于图像中,从对话历史中推断上下文,并准确地回答问题。与VQA不同的是,视觉对话具有需要访问和理解的多轮对话历史的功能,所以需要一个可以组合多个信息源的编码器。
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的视觉对话方法可以应用于如下场景:
一、智能客服
在该应用场景下,采用本申请实施例提供的方法所训练的视觉对话模型可应用于购物应用程序、团购应用程序、出行管理应用程序(如票务订购应用程序、酒店订购应用程序)等应用程序中。上述应用程序设置有智能客服,用户可通过向智能客服进行对话从而得到自己需要解决的问题的答案。智能客服是通过应用程序的后台服务器中构建的视觉对话模型实现的,视觉对话模型是预先经过训练的。当视觉对话模型接收到用户输入的问题时,视觉对话模型输出关于该问题的答案。比如,智能客服是购物应用程序的客服,用户提出的问题是关于输入图像中物品A的问题,该问题是:销售物品A的店铺有哪?智能客服根据用户的提问输出答案:销售物品A的店铺为店铺1、店铺3以及店铺10。用户可根据输出的答案去浏览相应的店铺界面。
二、虚拟助理
在该应用场景下,采用本申请实施例提供的方法所训练的视觉对话模型可应用于智能终端或智能家居等智能设备中。以智能终端中设置的虚拟助理为例,该虚拟助理是通过训练后的视觉对话模型实现的,将该视觉对话模型是预先经过训练的。当视觉对话模型接收到用户输入的问题时,视觉对话模型输出关于该问题的答案。比如,用户A在社交平台上发布动态(该动态包括图像),该图像是用户A在海边度假的照片,虚拟助理提醒用户B(用户B与用户A具有好友关系)用户A发布了新照片,用户B向虚拟助理提出问题:照片里面都有什么?虚拟助理输出答案:用户A在海边玩耍。则用户B可以自行选择是否进入用户A的社交平台界面浏览照片。
上述仅以两种应用场景为例进行说明,本申请实施例提供的方法还可以应用于其他需要视觉对话的场景(比如,为视力有损伤的人事讲解图片的场景等等),本申请实施例并不对具体应用场景进行限定。
本申请实施例提供的视觉对话方法和视觉对话模型的训练方法可以应用于具有较强的数据处理能力的计算机设备中。在一种可能的实施方式中,本申请实施例提供的视觉对话方法和视觉对话模型的训练方法可以应用于个人计算机、工作站或服务器中,即可以通过个人计算机、工作站或服务器实现视觉对话以及训练视觉对话模型。
而对于训练后的视觉对话模型,其可以实现成为应用程序的一部分,并被安装在终端中,使终端在接收到与输入图像有关的问题时,输出该问题对应的答案;或者,该训练后的视觉对话模型设置在应用程序的后台服务器中,以便安装有应用程序的终端借助后台服务器实现与用户进行视觉对话的功能。
请参考图1,其示出了本申请一个示例性实施例提供的计算机***的示意图。该计算机***100包括计算机设备110和服务器120,其中,计算机设备110与服务器120之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
计算机设备110中安装有支持视觉对话功能的应用程序,该应用程序可以是虚拟现实应用程序(Virtual Reality,VR)、增强现实应用程序(Augmented Reality,AR)、游戏应用程序、图片相册应用程序、社交应用程序等,本申请实施例对此不作限定。
可选的,计算机设备110可以是智能手机、智能手表、平板电脑、膝上便携式笔记本电脑、智能机器人等移动终端,也可以是台式电脑、投影式电脑等终端,本申请实施例对计算机设备的类型不做限定。
服务器120可以实现为一台服务器,也可以实现为一组服务器构成的服务器集群,其可以是物理服务器,也可以实现为云服务器。在一种可能的实施方式中,服务器120是计算机设备110中应用程序的后台服务器。
如图1所示,在本实施例中,计算机设备110中运行有聊天应用程序,用户可通过与聊天助手聊天获取输入图像中的信息。示意性的,输入图像11是通过计算机设备110预先输入至服务器120中的图像,或者,输入图像11是服务器120中预先存储的图像。用户在聊天助手的聊天界面中输入与该输入图像有关的问题,计算机设备110将问题发送至服务器120中,服务器120设置有训练后的视觉对话模型10,训练后的视觉对话模型10根据输入的问题给出答案,并将答案发送至计算机设备110中,在计算机设备110上显示有聊天助手关于该问题的答案。比如,用户提出问题:坐在车里的是女生吗?训练后的视觉对话模型根据前几轮的历史问答对话确定用户提出的问题是输入图像中位于车内的人的性别,根据车内的人的性别为男性,则输出答案:不是。
示意性的,服务器120中预先存储有前n轮历史问答对话对应的状态向量12(n为正整数),训练后的视觉对话模型10在获取到输入图像的图像特征11和当前轮提问的问题特征13时,结合前n轮历史问答对话对应的状态向量12,输出当前轮提问对应的状态向量14。训练后的视觉对话模型10根据输入图像的图像特征11、当前轮提问对应的状态向量14和已输出的前q个词语的特征15,得到输出答案16中的第q+1个词语,q为正整数。
在一些实施例中,服务器120中可预先存储有前n轮历史问答对话,视觉对话模型从前n轮历史问答对话中提取对应的状态向量。
视觉对话模型在训练时需要结合输入图像的图像特征11、当前轮提问对应的状态向量14和当前轮提问对应的真实答案的答案特征进行训练。比如,当前轮提问的真实***括5个词语,视觉对话模型输出答案时是按照每次输出一个单词的规则输出每轮提问的实际输出答案。当视觉对话模型输出第3个词语时,视觉对话模型结合真实答案中的第1个词语、第2个词语以及当前轮提问对应的状态向量输出第3个词语。
为了方便表述,下述各个实施例以视觉对话模型的训练方法和视觉对话方法由服务器执行为例进行说明。
图2示出了本申请一个示例性实施例提供的视觉对话方法的流程图。本实施例以该方法用于如图1所示的计算机***100中的服务器120为例进行说明,该方法包括如下步骤:
步骤201,获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数。
示意性的,服务器中构建有视觉对话模型,该视觉对话模型是经过训练的视觉对话模型,通过视觉对话模型获取输入图像。该输入图像可以是服务器预先存储的图像,或者是用户通终端上传至服务器的图像(包括终端存储的图像和终端拍摄的图像中的至少一种),或者是现有的图像集中的图像。本申请实施例对图像的类型不加以限定。
视觉对话模型从输入图像中提取图像特征,在一些实施例中,视觉对话模型包括特征提取模型,通过特征提取模型从输入图像中提取图像特征。
一轮历史问答对话是指以用户提出一个问题开始,视觉对话模型输出关于该问题的答案结束,一问一答形成一轮问答对话。
示意性的,n轮历史问答对话是关于同一输入图像的历史问答对话。服务器将关于同一输入图像的n轮历史问答对话与该输入图像建立对应关系,当用户提出的问题是关于该输入图像的,视觉对话模型将获取与该输入图像有关的是n轮历史问答对话。在一个示例中,用户提出的问题是关于图像1的,视觉对话模型获取与图像1对应的n轮历史问答对话,然后用户又提出关于图像2的问题,视觉对话模型获取与图像2对应的m轮历史问答对话,n和m均为正整数。
示意性的,如图3所示,视觉对话模型包括编码器21,编码器21包括多模态增量式转换编码器211(MultimodalIncreasementalTransformerEncoder,MITE),针对每轮历史问答对话设置有对应的MITE模型211,在每轮历史问答对话对应的MITE模型211输出本轮历史问答对话对应的状态向量时,还需要结合输入图像11的图像特征、本轮历史问答对话的历史问答特征以及上一轮历史问答对话对应的MITE模型211输出的状态向量作为输入,得到每轮历史问答对话对应的状态向量。在一些实施例中,一轮历史问答对话对应的状态向量包括该轮历史问答对应的历史问答特征。
示意性的,通过词嵌入操作(WordEmbedding)将历史问答对话的文本映射为词向量,从而得到历史问答特征。
在一些实施例中,通过如下公式得一轮历史问答对话对应的状态向量:
ci=MITE(vgi,ui,ci-1)
其中,ci表示MITE模型输出的第i轮历史问对话对应的状态向量,vgi表示输入图像的图像特征,ui表示第i轮历史问答对话的历史问答特征(从历史问答对话的文本中提取),ci-1表示第i-1轮历史问答对话对应的状态向量。
步骤202,获取当前轮提问的问题特征。
示意性的,视觉对话模型从当前轮提问的文本中提取问题特征,本申请实施例以当前轮提问的问题特征包括问题中涉及的词向量和词向量的位置为例进行说明。
示意性的,通过词嵌入操作对问题文本中的每个词语进行映射,得到每个词语的词向量,从而得到问题文本对应的词向量。
示意性的,通过位置编码(PositionalEncoding)使得问题文本中的每个词语按照一定的顺序进行编码。位置编码包括绝对位置编码和相对位置编码。视觉对话模型获取到的问题特征包括词向量和每个词向量在句子中的位置。
可以理解的是,步骤201和步骤202可以同步实施,或者,步骤201先实施,步骤202后实施,或者,步骤202先实施,步骤201后实施。
步骤203,对图像特征、前n轮历史问答对话对应的状态向量和问题特征进行多模态编码处理,得到当前轮提问对应的状态向量。
示意性的,视觉对话模型包括针对每轮历史问答对话设置的各自对应的MITE模型211,针对当前轮提问设置的对应的MITE模型211。
示意性的,将图像特征、第一轮历史问答对话的历史问答特征作为第一轮历史问答对话对应的MITE模型211的输入,输出第一轮历史问答对话对应的状态向量,将第一轮历史问答对话对应的状态向量、第二轮历史问答对话的历史问答特征和图像特征输入第二轮历史问答对话对应的MITE模型211,输出第二轮历史问答对话对应的状态向量,以此类推。示意性的,当前轮提问为第t轮,则将第t-1轮历史问答对话对应的状态向量(第t-1轮历史问答对话对应的MITE模型211输出的)、图像特征和第t轮提问的问题特征输入至第t轮提问对应的MITE模型211中,输出第t轮提问对应的状态向量。
步骤204,对当前轮提问对应的状态向量和图像特征进行多模态解码处理,得到当前轮提问对应的实际输出答案。
示意性的,如图3所示,视觉对话模型还包括解码器22,解码器22包括多模态增量式转换解码器221(MultimodalIncreasementalTransformerDecoder,MITD),通过将MITD模型221输出的当前轮提问对应的状态向量、图像特征和已输出的词语输入(目标输入)至MITD模型221中,得到当前轮提问对应的实际输出答案中的某个词语(目标输出)。
比如,当前轮提问的问题为:How are you?MITD模型准备输出“fine”这个单词时,结合已输出的单词“I”、“am”以及当前轮提问对应的状态向量输出“fine”这个单词。
综上所述,本实施例提供的方法,通过获取关于输入图像的前n轮历史问答对话对应的状态向量,使得视觉对话模型能够联系上下文更好地理解图像中隐含的信息,利用多模态编码处理方式和多模态解码处理方式,使得视觉对话模型能够更好地根据多种类型的信息,输出当前轮提问对应的实际输出答案,提高视觉对话模型输出的答***率,且保证输出的答案与问题和输入图像的一致性,提升视觉对话的效果。
图4示出了本申请另一个示例性实施例提供的视觉对话方法的流程图。本实施例以该方法用于如1所示的计算机***100中的服务器120为例进行说明,该方法包括如下步骤:
步骤401,获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数。
示意性的,输入图像是现有的图像集中的图像。视觉对话模型包括特征提取模型,特征提取模型是基于卷积神经网络构建的模型。比如,通过快速区域检测卷积神经网络(FastRegion-CNN,FastR-CNN)提取输入图像中的图像特征,如下公式所示:
v=FastR-CNN(I)
其中,v表示输入图像编码后的图像向量,I表示输入图像。
一轮历史问答对话是指以用户提出一个问题开始,视觉对话模型输出关于该问题的答案结束,一问一答形成一轮问答对话。
示意性的,n轮历史问答对话是关于同一输入图像的历史问答对话。服务器将关于同一输入图像的n轮历史问答对话与该输入图像建立对应关系,当用户提出的问题是关于该输入图像的,视觉对话模型将获取与该输入图像有关的是n轮历史问答对话。在一个示例中,用户提出的问题是关于图像1的,视觉对话模型获取与图像1对应的n轮历史问答对话,然后用户又提出关于图像2的问题,视觉对话模型获取与图像2对应的m轮历史问答对话,n和m均为正整数。
如图5所示,视觉对话模型包括多模态增量式编码器(MITE模型)211,每轮历史问答对话对应有一个MITE模型211,上一轮历史问答对话对应的状态向量将作为输入,输入至下一轮历史问答对话对应的MITE模型211中。以此类推,直至获取到当前轮提问的上一轮历史问答对话对应的状态向量。
在一些实施例中,输入图像还对应有图像描述(caption),图像描述用于描述输入图像中的实体以实体之间的关系,有利于视觉对话模型更好地理解输入图像隐含的信息。比如,输入图像11对应有图像描述:四个人的自驾游旅行。
步骤402,获取当前轮提问的问题特征。
示意性的,特征提取模型还用于从当前轮提问中提取问题特征。问题特征qt通过如下公式提取:
st,j=wj+PE(j)
其中,PE(j)为绝对位置编码函数,wj为当前轮提问中第j个词语进行词嵌入操作后的词向量。st,j表示当前轮提问中第j个词语的词语特征,L表示当前轮提问中的词语的最大数量,M表示的是每个词语代表的维度,代表域。
可以理解的是,上述绝对位置编码函数也可替换为相对位置编码函数。
在一些实施例中,n轮历史问答对话对应的历史问答特征也可通过上述公式得到。
步骤403,调用视觉对话模型中的多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,多模态增量式转换编码器与前n轮历史问答对话一一对应。
以当前轮提问所属的轮次为第i+1轮,如图5所示,第i轮历史问答对话对应的状态向量是由第i轮历史问答对话对应的MITE模型211输出的。每一轮历史问答对话对应有一个MITE模型211,当前轮提问也对应有一个MITE模型211。本申请实施例也至少存在一轮历史问答对话为例进行说明。
步骤404,调用多模态增量式转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,得到第i+1轮历史问答对话对应的第二状态向量。
示意性的,响应于第i+1轮为当前轮提问,通过第i+1轮历史问答对话对应的MITE模型211输出当前轮提问对应的状态向量;响应于第i+1轮为非当前轮提问,通过第i+1轮历史问答对话对应的MITE模型211输出第i+1轮历史问答对话对应的第二状态向量。该第二状态向量作为第i+2轮问答的输入。
多模态增量式转换编码器包括k个子转换编码器,k为正整数,步骤404可替换为如下步骤:
步骤4041,调用第j个子转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第一中间表示向量,第一中间表示向量是第i+1轮历史问答对话对应的向量。
如图6所示,每个MITE模型211包括k个子转换编码器212,k为正整数,每个子转换编码器212完成一次多模态编码处理,即在一轮历史问答对话经历k次多模态编码处理。
每个MITE模型211包括的子转换编码器的数量相同或不同,即各轮历史问答对话经历的多模态编码处理的次数相同或不同。
响应于第i+1轮为非当前轮提问,如图6所示,将图像特征vi、第一状态向量ci和历史问答特征ui输入至第i+1个MITE模型211中的第1个子转编码器中,输出中间表示向量,将该中间表示向量、图像特征和历史问答特征输入至第2个子转换编码器中。以此类推,第j个子转换编码器212输出第一中间表示向量,该第一中间表示向量是第i+1轮历史问答对话对应的向量。
响应于第i+1轮为当前轮提问,将图像特征vi、第一状态向量ci和当前轮提问的问题特征qt输入至第i+1个MITE模型211中的第1个子转换编码器212中,输出中间表示向量,将该中间表示向量、图像特征和历史问答特征输入至第2个子转换编码器中,以此类推,第j个子转换编码器212输出第一中间表示向量,该第一中间表示向量是当前轮提问对应的向量(非当前轮提问对应的状态向量)。
步骤4042,调用第j+1个子转换编码器对第一状态向量、图像特征和问题特征进行多模态编码处理,输出第二中间表示向量,第二中间表示向量是第i+1轮历史问答对话对应的向量,j+1≤k,j为正整数且j的起始值为1。
将图像特征、第i+1轮历史问答对话的历史问答特征和第j个子转换编码器212输出的第一中间表示向量输入至第j+1个子转换编码器212中,第j+1个子转换编码器输出第二中间表示向量,该第二中间表示向量也是第i+1轮历史问答对话对应的向量。
若第j+1<k,则第j+1个子转换编码器输出的第二中间表示向量作为第j+2个子转换编码器的输入;若j+1=k,则第j+1个子转换编码器输出的第二中间表示向量为第i+1轮历史问答对话对应的第二状态向量。
步骤4043,重复上述输出第二中间表示向量的步骤,将第k个子转换编码器输出的第二中间表示向量确定为第i+1轮历史问答对话对应的第二状态向量。
以此类推,将前一个子转换编码器输出的中间表示向量输入至下一个子转换编码器中。直至一轮问答对话(包括一轮历史问答对话和当前轮提问)对应的MITE模型中的k个子转换编码器均进行了多模态编码处理,输出一轮问答对话对应的状态向量。
步骤405,重复上述输出第二状态向量的步骤,将第n+1轮历史问答对话对应的第二状态向量确定为当前轮提问对应的状态向量。
每轮历史问答对话对应有一个MITE模型211,每个MITE模型211输出的是每轮历史问答对话对应的状态向量,前一个MITE模型211输出的状态向量作为下一个MITE模型211的输入,直到输入至第n+1轮提问对应的MITE模型211中,通过第n+1轮提问对应的MITE模型211输出当前轮提问对应的状态向量。
步骤406调用视觉对话模型中的多模态增量式转换解码器,获取当前轮提问对应的实际输出答案中已输出的词语的词语特征。
如图5所示,视觉对话模型包括多模态增量式转换解码器221(MITD模型)。示意性的,当前轮提问为:Howareyou?实际输出答案为:Iam OK。多模态增量式解码器221正在输出的词语是“OK”,则向多模态增量式转换解码器中输入单词“I”和“am”。
词语特征可通过特征提取模型从已输出的答案对应的答案文本中提取。
步骤407,调用多模态增量式转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,得到当前轮提问对应的实际输出答案。
通过向MITD模型221输入已输出的词语,并结合当前轮提问对应的状态向量和图像特征输出当前轮提问对应的实际输出答案中的一个词语。
多模态增量式转换解码器包括t个子转换编码器,t为正整数,上述步骤407可替换为如下步骤:
步骤4071,调用第m个子转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第三中间表示向量。
如图5所示,MITD模型221包括m个子转换解码器222,每个子转换解码器222完成一次多模态解码处理,即一个MITD模型221对输入的向量进行m次多模态解码处理。在一些实施例中,视觉对话模型包括一个或多个MITD模型221,本申请实施例以视觉对话模型包括一个MITD模型221为例进行说明。
将图像特征vi、词语特征和当前轮提问对应的MITE模型211输出的当前轮提问对应的状态向量ct输入至MITD模型中的第1个子转换解码器222中,输出中间表示向量,将该中间表示向量、图像特征和词语特征输入至第2个子转换解码器中。以此类推,第m个子转换解码器222输出第三中间表示向量,该第三中间表示向量是当前轮提问对应的向量。
步骤4072,调用第m+1个子转换解码器对第三中间表示向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第四中间表示向量,m+1≤t,m为正整数且m的起始值为1。
将第m个子转换解码器输出的第三中间表示向量输入至第m+1个子转换解码器中222中,第m+1个子转换解码器输出第四中间表示向量,该第四中间表示向量也是当前轮提问对应的向量。
若m+1<t,则第m+1个子转换解码器输出的第四中间表示向量作为第m+2个子转解码器的输入;若m+1=t,则第m+2个子转换解码器输出的第二中间表示向量为当前轮提问对应的解码特征向量,根据解码特征向量可确定输出的词语。
步骤4073,重复上述输出第四中间表示向量的步骤,将第t个子转换解码器输出的答案确定为当前轮提问对应的实际输出答案。
以此类推,将前一个子转换解码器输出的中间表示向量输入至下一个子转换解码器中,直到MITD模型中的t子转换解码器均进行了多模态解码处理,输出当前轮提问对应的实际输出答案。
综上所述,本实施例提供的方法,通过获取关于输入图像的前n轮历史问答对话对应的状态向量,使得视觉对话模型能够联系上下文更好地理解图像中隐含的信息,利用多模态编码处理方式和多模态解码处理方式,使得视觉对话模型能够更好地根据多种类型的信息,输出当前轮提问对应的实际输出答案,提高视觉对话模型输出的答***率,且保证输出的答案与问题和输入图像的一致性,提升视觉对话的效果。
通过视觉对话模型中的多模态增量式转换编码器对每一轮历史问答对话对应的状态向量进行多模态编码处理,以此类推,从而得到当前轮提问对应的状态向量,使得后续经过多模态解码处理后得到的输出答案更加准确。
通过在每个多模态增量式转换编码器中设置k个子转换编码器,该k个子转换编码器之间依次将前一个子转换编码器输出的中间表示向量传递至下一个子转换编码器中,从而得到当前轮提问对应的状态向量,使得后续进行解码处理得到的输出答案更加准确。通过层状结构保证为后续输出***准确的中间表示向量。
通过视觉对话模型中的多模态增量式转换解码器对多模态增量式转换编码器输出的状态向量进行解码处理,从而使得视觉对话模型能够准确输出当前轮提问对应的实际输出答案。
通过多模态增量式转换解码器中设置的t个子转换解码器,该t个子转换解码器之间依次将前一个子转换解码器输出的中间表示向量传递至下一个子转换解码器中,从而得到当前轮提问对应的实际输出答案。通过层状结构保证视觉对话模型输出的答***率。
下面分别对子转换编码器和子转换解码器的内部结构进行说明。
图7示出了本申请一个示例性实施例提供的子转换编码器的结构示意图。一个子转换编码器212包括自注意力层213、跨模态注意力层214、历史注意力层215和前馈神经网络层216。Nh表示一个MITE模型211包括Nh个子转换编码器212,即包括Nh个自注意力层213、Nh个跨模态注意力层214、Nh个历史注意力层215和Nh个前馈神经网络层216。
示意性的,以第j+1个子转换编码器的输入输出过程为例进行说明,该子转换编码器的输入输出过程如下:
S1、对第j个子转换编码器输出的第一中间表示向量进行中间编码处理,得到第一子向量。
第j个子转换编码器输出的第一中间表示向量输入至第j+1个子转换编码器的自注意力层213(Self-attention)中,输出第一子向量,公式如下:
A(n)=MultiHead(C(n-1),C(n-1),C(n-1))
其中,A(n)表示第一子向量,C(n-1)表示前一个子转换编码器(第j个子转换编码器)输出的第二中间表示向量,MultiHead()表示多头注意力机制。
可以理解的是,第j个子转换编码器输出的第一中间表示向量是第j个子转换编码器的前馈神经网络层输出的。
S2、对第一子向量和图像特征进行中间编码处理,得到第二子向量。
将第一子向量输入至跨模态注意力层(Cross-modalAttention)214中,同时输入图像特征vgi,输出第二子向量,公式如下:
B(n)=MultiHead(A(n),vgi,vgi)
其中,B(n)表示第二子向量,A(n)表示第一子向量,vgi表示输入图像的图像特征。
S3、对第二子向量和第i轮历史问答对话对应的第一状态向量进行中间编码处理,得到第三子向量。
将第二子向量输入至历史注意力层(HistoryAttention)215中,同时输入第i轮历史问答对话对应的第一状态向量(即第i轮历史问答对话对应的MITE模型输出的状态向量),输出第二子向量,公式如下:
F(n)=MultiHead(B(n),ci,ci)
其中,F(n)表示第三子向量,B(n)表示第二子向量,ci表示第i轮历史问答对话对应的状态向量。
S4、对第三子向量进行中间编码处理,得到第j+1个子转换编码器输出的第二中间表示向量。
将第三子向量输入至前馈神经网络层216(Feedforward Neural Network,FNN)中,输出第j+1个子转换编码器对应的第二中间表示向量,公式如下:
C(n)=FFN(F(n))
其中,C(n)表示第j+1个子转换编码器输出的第二中间表示量,F(n)表示第三子向量。
若第j+1个子转换编码器是MITE模型中的最后一个子转换编码器,则输出当前轮提问对应的状态向量,公式如下:
其中,Nh表示MITE模型包括的子转换编码器的数量,ci表示当前轮提问对应的状态向量。示意性的,当前轮提问为第t轮,则输出状态向量ct。
若第j+1个子转换编码器不是MITD模型中的最后一个子转换编码器,则输出中间表示向量,该中间表示向量将作为第j+2个子转换编码器的输入,以此类推,直到最后一个子转换编码器输出当前轮提问对应的状态向量。
需要说明的是,每一个MITE模型对应一轮历史问答对话,当前轮提问对应的MITE模型将上一轮历史问答对话对应的状态向量、问题特征和图像特征作为输入,输入至当前轮提问对应的MITE模型211中的第一个自转换编码器212中的自注意力层213中,重复上述步骤,直到输出当前轮提问对应的状态向量。
综上所述,本实施例的方法,通过子转换编码器中设置的多层结构,分别计算各个中间表示向量,使得每一个子转换编码器均能根据前一个子转换编码器准确输出中间表示向量,从而保证后续得到当前轮提问对应的状态向量是准确的。
图8示出了本申请一个示例性实施例提供的子转换解码器的结构示意图。一个子转换解码器222包括自注意力层223、门控跨模态注意力层224和前馈神经网络层225。Ny表示一个MITD模型221包括Ny个子转换解码器222,即包括Ny个自注意力层223、Ny个门控跨模态注意力层224和Ny个前馈神经网络层225。
示意性的,以第m个子转换解码器的输入输出过程为例进行说明,该子转换解码器的输入输出过程如下:
S11、对第m个子转换解码器输出的第三中间表示向量进行中间解码处理,得到第一子向量。
第m个子转换解码器输出的第三中间表示向量输入至第m+1个子转换解码器的自注意力层223(Self-attention)中,输出第一子向量,公式如下:
J(n)=MultiHead(R(n-1),R(n-1),R(n-1))
其中,J(n)表示第一子向量,R(n-1)表示前一个子转换解码(第m个子转换解码器)器输出的第三中间表示向量,MultiHead()表示多头注意力机制。
需要说明的是,第1个子转换解码器之前无子转换解码器的输出作为输入,将目标输入R(0)输入至第1个子转换解码器中(即真实答案的第一答案特征Di),在视觉对话模型的实际使用过程中,目标输入是已输出的前N个词语的词语特征;在视觉对话模型的训练过程中,目标输入是与已输出的前N个词语对应的真实答案中的词语的词语特征。
可以理解的是,第m个子转换解码器输出的第四中间表示向量是第m个子转换解码器的前馈神经网络层输出的。
S12、对第一子向量、图像特征和当前轮提问对应的状态向量进行中间解码处理,得到第二子向量。
将第一子向量、图像特征和当前轮提问对应的状态向量输入至门控跨模态注意力层224(GatedCrossAttention,GCA)中,同时输入当前轮提问对应的状态向量和图像特征,输出第二子向量。
如图9所示,左侧的跨模态注意力层226(Cross-modalAttention)接收当前轮提问对应的状态向量ct,并根据第一子向量J(n)和当前轮提问对应的状态向量ct输出向量E(n),右侧的跨模态注意力层226接收图像特征vgt,公式如下:
E(n)=MultiHead(J(n),ct,ct)
G(n)=MultiHead(J(n),vgt,vgt)
其中,J(n)表示第一子向量,ct表示当前轮提问对应的状态向量,vgt表示输入图像的图像特征,MultiHead()表示多头注意力机制。
需要说明的是,由于左侧的跨模态注意力层和右侧的跨模态注意力层是相同的,所以两侧的计算过程可以调换,即左侧的跨模态注意力层输出向量G(n),右侧的跨模态注意力层输出向量E(n)。以图中无标注的矩形表示特征向量,矩形仅为示意不代表实际输出的特征向量的大小和个数。
示意性的,左侧的跨模态注意力层226输出向量E(n),通过全连接层227(FullyConnected Layers,FC)输出向量α(n),公式如下:
α(n)=σ(WE[J(n),E(n)]+bE)
其中,J(n)表示第一子向量,E(n)表示跨模态注意力层输出的向量,σ表示逻辑回归函数(Sigmoid),WE、bE表示跨模态注意力层的待学习参数。
示意性的,右侧的跨模态注意力层226输出向量G(n),通过全连接层227(FullyConnected Layers,FC)输出向量β(n),公式如下:
β(n)=σ(WG[J(n),G(n)]+bG)
其中,J(n)表示第一子向量,G(n)表示跨模态注意力层输出的向量,σ表示逻辑回归函数(Sigmoid),WG、bG表示跨模态注意力层的待学习参数。
最后,结合上述计算结果,利用哈达玛积(Hadamard product)计算第二子向量P(n)并输出,公式如下:
其中,α(n)、β(n)表示全连接层输出的向量,E(n)、G(n)表示跨模态注意力层输出的向量,表示哈达玛积。
需要说明的是,由于左侧的全连接层和右侧的全连接层是相同的,所以两侧的计算过程可以调换,即左侧的全连接层输出向量α(n),右侧的全连接层输出向量β(n)。
S13、对第二子向量进行中间解码处理,得到第m+1个子转换解码器输出的当前轮提问对应的第四中间表示向量。
将第二子向量输入至前馈神经网络层225(Feedforward Neural Network,FNN)中,输出第m+1次多模态解码处理对应的第四中间表示向量,公式如下:
R(n)=FFN(P(n))
其中,R(n)表示第m+1个子转换解码器输出的第四中间表示量,P(n)表示第二子向量。
若第m+1个子转换解码器是MITD模型中的最后一个子转换编码器,对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,得到解码特征向量rz:
其中,Ny表示MITD模型包括的子转换解码器的数量,rz表示当前轮提问对应的最终输出的解码特征向量。
若第m+1个子转换解码器不是MITD模型中的最后一个子转换解码器,则输出中间表示向量,该中间表示向量将作为第m+2个子转换解码器的输入,以此类推,直到最后一个子转换解码器输出上述解码特征向量rz。
根据解码特征向量得到实际输出答案中输出的词语概率。
如图5所示,将MITD模型输出的特征向量输入至逻辑回归层,得到当前正在输出的词语的概率,公式如下:
其中,表示当前正在输出的词语的概率,rz表示当前轮提问对应的最终输出的特征向量。
根据词语概率输出实际输出答案中的词语。
视觉对话模型利用输出词语的概率可确定当前正在输出的词语(目标输出)。
综上所述,本实施例的方法,通过子转换解码器中设置的多层结构,分别计算各个中间表示向量,使得每一个子转换解码器均能根据前一个子转换解码器准确输出中间表示向量,从而保证后续得到当前轮提问对应的解码特征向量是准确的。从而保证根据解码特征向量输出实际输出答案。
可以理解的是,上述实施例中多模态增量式转换编码器和多模态增量式转换解码器中的注意力模型可替换为其他的注意力模型,比如传统的注意力模型、局部和全局注意力模型、多头注意力模型等。
下面对视觉对话模型的训练方法进行说明。
图10示出了本申请一个示例性实施例提供的视觉对话模型的训练方法的流程图。本实施例以该方法用于如1所示的计算机***100中的服务器120为例进行说明,该方法包括如下步骤:
步骤1001,获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数。
示意性的,输入图像是现有的图像集中的图像。视觉对话模型包括特征提取模型,特征提取模型是基于卷积神经网络构建的模型。比如,通过快速区域检测卷积神经网络(FastRegion-CNN,FastR-CNN)提取输入图像中的图像特征,或者,通过卷积神经网络提取输入图像中的图像特征,或者,通过视觉几何组网络(Visual Geometry Group Network,VGG),或者,通过残差神经网络(ResNET)提取图像特征。
步骤1001可参见步骤401的实施方式,此处不再赘述。
步骤1002,获取当前轮提问的问题特征和当前轮提问对应的真实答案的第一答案特征。
真实答案的第一答案特征可通过如下公式提取:
rt,j=wj+PE(j)
其中,PE(j)为绝对位置编码函数,wj为当前轮提问对应的真实答案中的第j个词语进行词嵌入操作后的词向量。rt,j表示当前轮提问对应的真实答案中第j个词语的词语特征,L表示当前轮提问对应的真实答案中的词语的最大数量,M表示的是每个词语代表的维度,代表域。
可以理解的是,上述绝对位置编码函数也可替换为相对位置编码函数。
在一些实施例中,n轮历史问答对话对应的历史问答特征也可通过上述公式得到。
步骤1003,对图像特征、前n轮历史问答对话对应的状态向量和问题特征进行多模态编码处理,得到当前轮提问对应的状态向量。
视觉对话模型针对前n轮历史问答对话设置有n个多模态增量式转换编码器(MITE模型),针对当前轮提问设置有对应的MITE模型,前一个MITE模型输出的一轮历史问答对话对应的状态向量作为下一个MITE模型的输入。重复上述输出状态向量的过程,直到当前轮提问对应的状态向量输出。
步骤1004,对当前轮提问对应的状态向量、图像特征和第一答案特征进行多模态解码处理,得到当前轮提问对应的实际输出答案的第二答案特征。
视觉对话模型还包括多模态增量式转换解码器(MITD模型),将当前轮提问对应的状态向量、图像特征和第一答案特征输入至MITD模型中。MITD模型包括m个子转换解码器,前一个子转换解码器输出的中间表示向量作为下一个子转换解码器的输入。重复上述输出中间表示向量的过程,直到输出当前轮提问对应的最终解码特征向量。该解码特征向量为当前轮提问对应的实际输出答案的第二答案特征。
在视觉对话模型的训练过程中,获取真实答案中前q个词语的词语特征(第一答案特征),真实答案中前q个词语与实际输出答案中已输出的q个词语一一对应,q为正整数;根据当前轮提问对应的状态向量、图像特征和前q个词语的词语特征得到实际输出答案中第q+1个词语对应的第二答案特征。
比如,当前轮提问为:How are you?该提问的真实答案为:I am fine。视觉对话模型实际输出答案为:IamOK。在视觉对话模型的训练过程中,当视觉对话模型准备输出实际输出答案中的第三个单词时,通过向MITD模型中输入真实答案中的单词“I”、“am”以当前轮提问对应的状态向量,从而训练视觉对话模型输出的答案中的第三个单词:OK(或者是good)。
步骤1005,根据第一答案特征和第二答案特征对视觉对话模型进行训练,得到训练后的视觉对话模型。
视觉对话模型集合第一答案特征和第二答案特征进行训练。示意性的,结合实际输出单词“OK”和真实答案中的单词“fine”对视觉对话模型进行训练。
综上所述,本实施例的方法,通过获取关于输入图像的前n轮历史问答对话对应的状态向量,使得训练后的视觉对话模型能够联系上下文更好地理解图像中隐含的信息,利用多模态编码处理方式和多模态解码处理方式,使得训练后的视觉对话模型能够更好地根据多种类型的信息,输出当前轮提问对应的实际输出答案,提高训练后的视觉对话模型输出的答***率,且保证输出的答案与问题和输入图像的一致性,提升视觉对话的效果。
通过当前轮提问对应的状态向量、图像特征和真实答案对应的第一答案特征来训练视觉对话模型,使得训练后的视觉对话模型输出的答***率提高。
当训练后的视觉对话模型准备输出第q个词语时,视觉对话模型是根据真实答案中第q个词语之前的所有的词语和当前轮提问对应的状态向量来确定输出的第q个词语是什么词语,从而使得训练后的视觉对话模型输出的词语准确率更高,从而保证输出的答案的正确率更高。
可以理解的是,视觉对话模型的训练方法和使用方法相似,在训练视觉对话模型时,通过对当前轮提问对应的状态向量和图像特征进行多模态解码处理,得到当前轮提问对应的实际输出答案的第二答案特征,结合真实答案的第一答案特征和第二答案特征对视觉对话模型进行训练。在实际使用视觉对话模型时,向视觉对话模型输入问题后,训练后的视觉对话模型根据已输出的词语和当前轮提问对应的状态向量输出准备输出的词语。
基于图10的可选实施例中,调用视觉对话模型中的多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数;调用多模态增量式转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量;重复上述输出第二状态向量的步骤,将第n+1轮历史问答对话对应的第二状态向量确定为当前轮提问对应的状态向量。
基于图10的可选实施例中,多模态增量式转换编码器包括k个子转换编码器,k为正整数;调用第j个子转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第一中间表示向量,第一中间表示向量是第i+1轮历史问答对话对应的向量;调用第j+1个子转换编码器对第一中间表示向量、图像特征和问题特征进行多模态编码处理,输出第二中间表示向量,第二中间表示向量是第i+1轮历史问答对话对应的向量,j+1≤k,j为正整数且j的起始值为1;重复上述输出第二中间表示向量的步骤,将第k个子转换编码器输出的第二中间表示向量确定为第i+1轮历史问答对话对应的第二状态向量。
基于图10的可选实施例中,对第j个子转换编码器输出的第一中间表示向量进行中间编码处理,得到第一子向量;对第一子向量和图像特征进行中间编码处理,得到第二子向量;对第二子向量和第i轮历史问答对话对应的第一状态向量进行中间编码处理,得到第三子向量;对第三子向量进行中间编码处理,得到第j+1个子转换编码器输出的第二中间表示向量。
基于图10的可选实施例中,调用视觉对话模型中的多模态增量式转换解码器获取当前轮提问对应的实际输出答案中已输出的词语的词语特征;调用多模态增量式转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的实际输出答案。
基于图10的可选实施例中,多模态增量式转换解码器包括t个子转换解码器,t为正整数;调用第m个子转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第三中间表示向量;调用第m+1个子转换解码器对第三中间表示向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第四中间表示向量,m+1≤t,m为正整数且m的起始值为1;重复上述输出第四中间表示向量的步骤,将第t个子转换解码器输出的答案确定为当前轮提问对应的实际输出答案。
基于图10的可选实施例中,对第m个子转换解码器输出的第三中间表示向量进行中间解码处理,得到第一子向量;对第一子向量、图像特征和当前轮提问对应的状态向量进行中间解码处理,得到第二子向量;对第二子向量进行中间解码处理,得到第m+1个子转换解码器输出的当前轮提问对应的第四中间表示向量。
基于图10的可选实施例中,调用多模态增量式转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,得到解码特征向量;根据解码特征向量得到实际输出答案中输出的词语概率;根据词语概率输出实际输出答案中的词语。
表一示出了视觉对话模型与基准模型对比下的训练效果,以不同类型的评价指标综合评价上述方法实施例中提供的视觉对话模型。
表一
对于每个问题,视觉对话模型均会获取候选答案的列表,表一中的三种评估指标用于评价视觉对话模型检索答案的性能。
其中,MRR表示平均排序倒数(Mean Reciprocal Rank),将候选答案的列表进行排序,若正确答案排在第a位,则MRR的值为1/a。MRR的值越高代表视觉对话模型输出的答案准确率越高,即视觉对话模型的效果越好。
R@K表示排名前K的答案中存在的人类反应等级(Existence of the HumanResponse in Top-KRanked Responses),R@K的值越高代表视觉对话模型输出的答案准确率越高,即视觉对话模型的效果越好。
Mean表示人类反应的平均等级,Mean的值越低代表视觉对话模型输出的答***率越高,即是觉对话模型的效果越好。
由表一可知,本申请实施例提供的视觉对话模型的训练方法在各项评价指标上均优于基准视觉对话模型(通常提高或降低1个点即是显著提高)。
图11是本申请一个示例性实施例提供的视觉对话装置的结构框图,该装置包括:
第一获取模块1110,用于获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
所述第一获取模块1110,用于获取当前轮提问的问题特征;
第一特征编码模块1120,用于对图像特征、前n轮历史问答对话对应的状态向量和问题特征进行多模态编码处理,得到当前轮提问对应的状态向量;
第一特征解码模块1130,用于对当前轮提问对应的状态向量和图像特征进行多模态解码处理,得到当前轮提问对应的实际输出答案。
在一个可选的实施例中,所述第一获取模块1110,用于调用视觉对话模型中的多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,多模态增量式转换编码器与前n轮历史问答对话一一对应;所述第一特征编码模块1120,用于调用多模态增量式转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量;重复执行输出第二状态向量的操作,将第n+1轮历史问答对话对应的第二状态向量确定为当前轮提问对应的状态向量。
在一个可选的实施例中,多模态增量式转换编码器包括k个子转换编码器,k为正整数;
所述第一特征编码模块1120,用于调用第j个子转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第一中间表示向量,所述第一中间表示向量是所述第i+1轮历史问答对话对应的向量;调用第j+1个子转换编码器对第一中间表示向量、图像特征和问题特征进行多模态编码处理,输出第二中间表示向量,第二中间表示向量是所述第i+1轮历史问答对话对应的向量,j+1≤k,j为正整数且j的起始值为1;重复执行输出第二中间表示向量的操作,将第k个子转换编码器输出的第二中间表示向量确定为第i+1轮历史问答对话对应的第二状态向量。
在一个可选的实施例中,所述第一特征编码模块1120,用于对第j个子转换编码器输出的第一中间表示向量进行中间编码处理,得到第一子向量;对第一子向量和图像特征进行中间编码处理,得到第二子向量;对第二子向量和第i轮历史问答对话对应的第一状态向量进行中间编码处理,得到第三子向量;对第三子向量进行中间编码处理,得到第j+1个子转换编码器输出的第二中间表示向量。
在一个可选的实施例中,所述第一获取模块1110,用于调用视觉对话模型中的多模态增量式转换解码器获取当前轮提问对应的实际输出答案中已输出的词语的词语特征;所述第一特征解码模块1130,用于调用所述多模态增量式转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,得到当前轮提问对应的实际输出答案。
在一个可选的实施例中,多模态增量式转换解码器包括t个子转换解码器,t为正整数;
所述第一获取模块1110,用于调用第m个子转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第三中间表示向量;所述第一特征解码模块1130,用于调用第m+1个子转换解码器对第三中间表示向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第四中间表示向量,m+1≤t,m为正整数且m的起始值为1;重复上述输出第四中间表示向量的操作,将所述第t个子转换解码器输出的答案确定为所述当前轮提问对应的实际输出答案。
在一个可选的实施例中,所述第一特征解码模块1130,用于对第m个子转换解码器输出的第三中间表示向量进行中间解码处理,得到第一子向量;对第一子向量、图像特征和当前轮提问对应的状态向量进行中间解码处理,得到第二子向量;对第二子向量进行中间解码处理,得到第m+1个子转换解码器输出的当前轮提问对应的第四中间表示向量。
在一个可选的实施例中,所述第一特征解码模块1130,用于调用多模态增量式转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,得到解码特征向量;根据解码特征向量得到实际输出答案中输出的词语概率;根据词语概率输出实际输出答案中的词语。
综上所述,本实施例提供的装置,通过获取关于输入图像的前n轮历史问答对话对应的状态向量,使得视觉对话模型能够联系上下文更好地理解图像中隐含的信息,利用多模态编码处理方式和多模态解码处理方式,使得视觉对话模型能够更好地根据多种类型的信息,输出当前轮提问对应的实际输出答案,提高视觉对话模型输出的答***率,且保证输出的答案与问题和输入图像的一致性,提升视觉对话的效果。
通过视觉对话模型中的多模态增量式转换编码器对每一轮历史问答对话对应的状态向量进行多模态编码处理,以此类推,从而得到当前轮提问对应的状态向量,使得后续经过多模态解码处理后得到的输出答案更加准确。
通过在每个多模态增量式转换编码器中设置k个子转换编码器,该k个子转换编码器之间依次将前一个子转换编码器输出的中间表示向量传递至下一个子转换编码器中,从而得到当前轮提问对应的状态向量,使得后续进行解码处理得到的输出答案更加准确。通过层状结构保证为后续输出***准确的中间表示向量。
通过视觉对话模型中的多模态增量式转换解码器对多模态增量式转换编码器输出的状态向量进行解码处理,从而使得视觉对话模型能够准确输出当前轮提问对应的实际输出答案。
通过多模态增量式转换解码器中设置的t个子转换解码器,该t个子转换解码器之间依次将前一个子转换解码器输出的中间表示向量传递至下一个子转换解码器中,从而得到当前轮提问对应的实际输出答案。通过层状结构保证视觉对话模型输出的答***率。
通过子转换编码器中设置的多层结构,分别计算各个中间表示向量,使得每一个子转换编码器均能根据前一个子转换编码器准确输出中间表示向量,从而保证后续得到当前轮提问对应的状态向量是准确的。
本实施例的方法,通过子转换解码器中设置的多层结构,分别计算各个中间表示向量,使得每一个子转换解码器均能根据前一个子转换解码器准确输出中间表示向量,从而保证后续得到当前轮提问对应的解码特征向量是准确的。从而保证根据解码特征向量输出实际输出答案。
需要说明的是:上述实施例提供的视觉对话装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视觉对话装置与视觉对话方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本申请一个示例性实施例提供的视觉对话模型的训练装置的结构框图,该装置包括:
第二获取模块1210,用于获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
所述第二获取模块1210,用于获取当前轮提问的问题特征和当前轮提问对应真实答案的第一答案特征;
第二特征编码模块1220,用于对图像特征、前n轮历史问答对话对应的状态向量和问题特征进行多模态编码处理,得到当前轮提问对应的状态向量;
第二特征解码模块1230,用于对当前轮提问对应的状态向量、图像特征和第一答案特征进行多模态解码处理,得到当前轮提问对应的实际输出答案的第二答案特征;
训练模块1240,用于根据第一答案特征和第二答案特征对视觉对话模型进行训练,得到训练后的视觉对话模型。
在一个可选的实施例中,所述第二获取模块1210,用于获取真实答案中前q个词语的词语特征,真实答案中前q个词语与实际输出答案中已输出的q个词语一一对应,q为正整数;所述第二特征解码模块1230,用于根据当前轮提问对应的状态向量、图像特和前q个词语的词语特征得到实际输出答案中第q+1个词语对应的第二答案特征。
在一个可选的实施例中,所述第二获取模块1210,用于调用视觉对话模型中的多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,多模态增量式转换编码器与前n轮历史问答对话一一对应;所述第二特征编码模块1220,用于调用多模态增量式转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量;重复执行输出第二状态向量的操作,将第n+1轮历史问答对话对应的第二状态向量确定为当前轮提问对应的状态向量。
在一个可选的实施例中,多模态增量式转换编码器包括k个子转换编码器,k为正整数;
所述第二特征编码模块1220,用于调用第j个子转换编码器对图像特征、第一状态向量和问题特征进行多模态编码处理,输出第一中间表示向量,所述第一中间表示向量是所述第i+1轮历史问答对话对应的向量;调用第j+1个子转换编码器对第一中间表示向量、图像特征和问题特征进行多模态编码处理,输出第二中间表示向量,第二中间表示向量是所述第i+1轮历史问答对话对应的向量,j+1≤k,j为正整数且j的起始值为1;重复执行输出第二中间表示向量的操作,将第k个子转换编码器输出的第二中间表示向量确定为第i+1轮历史问答对话对应的第二状态向量。
在一个可选的实施例中,所述第二获取模块1210,用于对第j个子转换编码器输出的第一中间表示向量进行中间编码处理,得到第一子向量;对第一子向量和图像特征进行中间编码处理,得到第二子向量;对第二子向量和第i轮历史问答对话对应的第一状态向量进行中间编码处理,得到第三子向量;对第三子向量进行中间编码处理,得到第j+1个子转换编码器输出的第二中间表示向量。
在一个可选的实施例中,所述第二获取模块1210,用于调用视觉对话模型中的多模态增量式转换解码器获取当前轮提问对应的实际输出答案中已输出的词语的词语特征;所述第二特征解码模块1230,用于调用所述多模态增量式转换解码器对当前轮提问对应的状态向量、图像特征和词语特征进行多模态解码处理,得到当前轮提问对应的实际输出答案。
在一个可选的实施例中,多模态增量式转换解码器包括t个子转换解码器,t为正整数;
所述第二特征解码模块1230,用于调用第m+1个子转换解码器对第三中间表示向量、图像特征和词语特征进行多模态解码处理,输出当前轮提问对应的第四中间表示向量,m+1≤t,m为正整数且m的起始值为1;重复上述输出第四中间表示向量的操作,将所述第t个子转换解码器输出的答案确定为所述当前轮提问对应的实际输出答案。
在一个可选的实施例中,所述第二特征解码模块1230,用于对第m个子转换解码器输出的第三中间表示向量进行中间解码处理,得到第一子向量;对第一子向量、图像特征和当前轮提问对应的状态向量进行中间解码处理,得到第二子向量;对第二子向量进行中间解码处理,得到第m+1个子转换解码器输出的当前轮提问对应的第四中间表示向量。
综上所述,本实施例提供的装置,通过获取关于输入图像的前n轮历史问答对话对应的状态向量,使得训练后的视觉对话模型能够联系上下文更好地理解图像中隐含的信息,利用多模态编码处理方式和多模态解码处理方式,使得训练后的视觉对话模型能够更好地根据多种类型的信息,输出当前轮提问对应的实际输出答案,提高训练后的视觉对话模型输出的答***率,且保证输出的答案与问题和输入图像的一致性,提升视觉对话的效果。
当训练后的视觉对话模型准备输出第q个词语时,视觉对话模型是根据真实答案中第q个词语之前的所有的词语和当前轮提问对应的状态向量来确定输出的第q个词语是什么词语,从而使得训练后的视觉对话模型输出的词语准确率更高,从而保证输出的答案的正确率更高。
图13示出了本申请一个示例性实施例提供的服务器的结构示意图。该服务器可以如图1所示的计算机***100中的服务器120。
服务器1300包括中央处理单元(CPU,Central Processing Unit)1301、包括随机存取存储器(RAM,Random Access Memory)1302和只读存储器(ROM,Read Only Memory)1303的***存储器1304,以及连接***存储器1304和中央处理单元1301的***总线1305。服务器1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***,Input Output System)1306,和用于存储操作***1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
基本输入/输出***1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中显示器1308和输入设备1309都通过连接到***总线1305的输入输出控制器1310连接到中央处理单元1301。基本输入/输出***1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1307通过连接到***总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。大容量存储设备1307及其相关联的计算机可读介质为服务器1300提供非易失性存储。也就是说,大容量存储设备1307可以包括诸如硬盘或者紧凑型光盘只读存储器(CD-ROM,Compact Disc Read Only Memory)驱动器之类的计算机可读介质(未示出)。
计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(DVD,Digital Versatile Disc)或固态硬盘(SSD,Solid State Drives)、其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器1304和大容量存储设备1307可以统称为存储器。
根据本申请的各种实施例,服务器1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1300可以通过连接在***总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
在一个可选的实施例中,提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上所述的视觉对话方法和视觉对话模型的训练方法。
在一个可选的实施例中,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上所述的视觉对话方法和视觉对话模型的训练方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上方面所述的视觉对话方法和视觉对话模型的训练方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种视觉对话方法,其特征在于,所述方法包括:
获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
获取当前轮提问的问题特征;
调用视觉对话模型中的第i个多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,所述视觉对话模型包括n+1个多模态增量式转化编码器,前n个多模态增量式转换编码器与所述前n轮历史问答对话一一对应,所述第i轮历史问答对话对应的第一状态向量是由所述第i个多模态增量式转化编码器处理得到的;
调用第i+1个多模态增量式转换编码器对所述图像特征、所述第一状态向量和所述问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量,每个所述多模态增量式转换编码器包括k个子转换编码器,每个所述多模态增量式转换编码器包括的子转换编码器的数量相同或不同,所述第i+1个多模态增量式转换编码器用于基于所述图像特征、所述第i轮历史问答对话对应的状态向量和所述问题特征通过所述k个子转换编码器进行k次多模态编码处理得到所述第i+1轮历史问答对话的状态向量,每个所述子转换编码器用于完成一次多模态编码处理;
重复上述输出所述第二状态向量的步骤,将第n+1轮历史问答对话对应的第二状态向量确定为所述当前轮提问对应的状态向量;
调用所述视觉对话模型中的多模态增量式转换解码器获取所述当前轮提问对应的实际输出答案中已输出的词语的词语特征;
调用所述多模态增量式转换解码器对所述当前轮提问对应的状态向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的实际输出答案。
2.根据权利要求1所述的方法,其特征在于,每个所述多模态增量式转换编码器包括所述k个子转换编码器,k为正整数;
所述调用第i+1个多模态增量式转换编码器对所述图像特征、所述第一状态向量和所述问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量,包括:
调用第j个子转换编码器对所述图像特征、所述第一状态向量和所述问题特征进行多模态编码处理,输出第一中间表示向量,所述第一中间表示向量是所述第i+1轮历史问答对话对应的向量;
调用第j+1个子转换编码器对所述第一中间表示向量、所述图像特征和所述问题特征进行多模态编码处理,输出第二中间表示向量,所述第二中间表示向量是所述第i+1轮历史问答对话对应的向量,j+1≤k,j为正整数且j的起始值为1;
重复上述输出所述第二中间表示向量的步骤,将所述第k个子转换编码器输出的第二中间表示向量确定为所述第i+1轮历史问答对话对应的第二状态向量。
3.根据权利要求2所述的方法,其特征在于,所述调用第j+1个子转换编码器对所述第一中间表示向量、所述图像特征和所述问题特征进行多模态编码处理,输出第二中间表示向量,包括:
对所述第j个子转换编码器输出的所述第一中间表示向量进行中间编码处理,得到第一子向量;
对所述第一子向量和所述图像特征进行中间编码处理,得到第二子向量;
对所述第二子向量和所述第i轮历史问答对话对应的第一状态向量进行中间编码处理,得到第三子向量;
对所述第三子向量进行中间编码处理,得到所述第j+1个子转换编码器输出的所述第二中间表示向量。
4.根据权利要求1所述的方法,其特征在于,所述多模态增量式转换解码器包括t个子转换解码器,t为正整数;
所述调用所述多模态增量式转换解码器对所述当前轮提问对应的状态向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的实际输出答案,包括:
调用第m个子转换解码器对所述当前轮提问对应的状态向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的第三中间表示向量;
调用第m+1个子转换解码器对所述第三中间表示向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的第四中间表示向量,m+1≤t,m为正整数且m的起始值为1;
重复上述输出所述第四中间表示向量的步骤,将所述第t个子转换解码器输出的答案确定为所述当前轮提问对应的实际输出答案。
5.根据权利要求4所述的方法,其特征在于,所述调用第m+1个子转换解码器对所述第三中间表示向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的第四中间表示向量,包括:
对所述第m个子转换解码器输出的所述第三中间表示向量进行中间解码处理,得到第一子向量;
对所述第一子向量、所述图像特征和所述当前轮提问对应的状态向量进行中间解码处理,得到第二子向量;
对所述第二子向量进行中间解码处理,得到所述第m+1个子转换解码器输出的所述当前轮提问对应的第四中间表示向量。
6.根据权利要求1所述的方法,其特征在于,所述调用所述多模态增量式转换解码器对所述当前轮提问对应的状态向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的实际输出答案,包括:
调用所述多模态增量式转换解码器对所述当前轮提问对应的状态向量、所述图像特征和所述词语特征进行多模态解码处理,得到解码特征向量;
根据所述解码特征向量得到所述实际输出答案中输出的词语概率;
根据所述词语概率输出所述实际输出答案中的词语。
7.一种视觉对话模型的训练方法,其特征在于,所述方法包括:
获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
获取当前轮提问的问题特征和所述当前轮提问对应的真实答案的第一答案特征;
调用所述视觉对话模型中的第i个多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,所述视觉对话模型包括n+1个多模态增量式转化编码器,前n个多模态增量式转换编码器与所述前n轮历史问答对话一一对应,所述第i轮历史问答对话对应的第一状态向量是由所述第i个多模态增量式转化编码器处理得到的;
调用第i+1个多模态增量式转换编码器对所述图像特征、所述第一状态向量和所述问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量,每个所述多模态增量式转换编码器包括k个子转换编码器,每个所述多模态增量式转换编码器包括的子转换编码器的数量相同或不同,所述第i+1个多模态增量式转换编码器用于基于所述图像特征、所述第i轮历史问答对话对应的状态向量和所述问题特征通过所述k个子转换编码器进行k次多模态编码处理得到所述第i+1轮历史问答对话的状态向量,每个所述子转换编码器用于完成一次多模态编码处理;
重复上述输出所述第二状态向量的步骤,将第n+1轮历史问答对话对应的第二状态向量确定为所述当前轮提问对应的状态向量;
获取所述真实答案中前q个词语的词语特征,所述真实答案中前q个词语与实际输出答案中已输出的q个词语一一对应,q为正整数;
根据所述当前轮提问对应的状态向量、所述图像特征和所述前q个词语的词语特征得到所述实际输出答案中第q+1个词语对应的第二答案特征;
根据所述第一答案特征和所述第二答案特征对所述视觉对话模型进行训练,得到训练后的视觉对话模型。
8.一种视觉对话装置,其特征在于,所述装置包括:
第一获取模块,用于获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
所述第一获取模块,用于获取当前轮提问的问题特征;
所述第一获取模块,用于调用视觉对话模型中的第i个多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,所述视觉对话模型包括n+1个多模态增量式转化编码器,前n个多模态增量式转换编码器与所述前n轮历史问答对话一一对应,所述第i轮历史问答对话对应的第一状态向量是由所述第i个多模态增量式转化编码器处理得到的;
第一特征编码模块,用于调用第i+1个多模态增量式转换编码器对所述图像特征、所述第一状态向量和所述问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量,每个所述多模态增量式转换编码器包括k个子转换编码器,每个所述多模态增量式转换编码器包括的子转换编码器的数量相同或不同,所述第i+1个多模态增量式转换编码器用于基于所述图像特征、所述第i轮历史问答对话对应的状态向量和所述问题特征通过所述k个子转换编码器进行k次多模态编码处理得到所述第i+1轮历史问答对话的状态向量,每个所述子转换编码器用于完成一次多模态编码处理;
所述第一特征编码模块,用于重复上述输出所述第二状态向量的步骤,将第n+1轮历史问答对话对应的第二状态向量确定为所述当前轮提问对应的状态向量;
所述第一获取模块,用于调用所述视觉对话模型中的多模态增量式转换解码器获取所述当前轮提问对应的实际输出答案中已输出的词语的词语特征;
第一特征解码模块,用于调用所述多模态增量式转换解码器对所述当前轮提问对应的状态向量、所述图像特征和所述词语特征进行多模态解码处理,输出所述当前轮提问对应的实际输出答案。
9.一种视觉对话模型的训练装置,其特征在于,所述装置包括:
第二获取模块,用于获取输入图像的图像特征和前n轮历史问答对话对应的状态向量,n为正整数;
所述第二获取模块,用于获取当前轮提问的问题特征和所述当前轮提问对应真实答案的第一答案特征;
所述第二获取模块,用于调用所述视觉对话模型中的第i个多模态增量式转换编码器获取第i轮历史问答对话对应的第一状态向量,i为正整数且i的起始值为1,所述视觉对话模型包括n+1个多模态增量式转化编码器,前n个多模态增量式转换编码器与所述前n轮历史问答对话一一对应,所述第i轮历史问答对话对应的第一状态向量是由所述第i个多模态增量式转化编码器处理得到的;
第二特征编码模块,用于调用第i+1个多模态增量式转换编码器对所述图像特征、所述第一状态向量和所述问题特征进行多模态编码处理,输出第i+1轮历史问答对话对应的第二状态向量,每个所述多模态增量式转换编码器包括k个子转换编码器,每个所述多模态增量式转换编码器包括的子转换编码器的数量相同或不同,所述第i+1个多模态增量式转换编码器用于基于所述图像特征、所述第i轮历史问答对话对应的状态向量和所述问题特征通过所述k个子转换编码器进行k次多模态编码处理得到所述第i+1轮历史问答对话的状态向量,每个所述子转换编码器用于完成一次多模态编码处理;
所述第二特征编码模块,用于重复上述输出所述第二状态向量的步骤,将第n+1轮历史问答对话对应的第二状态向量确定为所述当前轮提问对应的状态向量;
所述第二获取模块,用于获取所述真实答案中前q个词语的词语特征,所述真实答案中前q个词语与实际输出答案中已输出的q个词语一一对应,q为正整数;
第二特征解码模块,用于根据所述当前轮提问对应的状态向量、所述图像特征和所述前q个词语的词语特征得到所述实际输出答案中第q+1个词语对应的第二答案特征;
训练模块,用于根据所述第一答案特征和所述第二答案特征对所述视觉对话模型进行训练,得到训练后的视觉对话模型。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至6任一所述的视觉对话方法以及权利要求7所述的视觉对话模型的训练方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至6任一所述的视觉对话方法以及权利要求7所述的视觉对话模型的训练方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805359.1A CN111897940B (zh) | 2020-08-12 | 2020-08-12 | 视觉对话方法、视觉对话模型的训练方法、装置及设备 |
PCT/CN2021/102815 WO2022033208A1 (zh) | 2020-08-12 | 2021-06-28 | 视觉对话方法、模型训练方法、装置、电子设备及计算机可读存储介质 |
US17/989,613 US20230082605A1 (en) | 2020-08-12 | 2022-11-17 | Visual dialog method and apparatus, method and apparatus for training visual dialog model, electronic device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805359.1A CN111897940B (zh) | 2020-08-12 | 2020-08-12 | 视觉对话方法、视觉对话模型的训练方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897940A CN111897940A (zh) | 2020-11-06 |
CN111897940B true CN111897940B (zh) | 2024-05-17 |
Family
ID=73229694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010805359.1A Active CN111897940B (zh) | 2020-08-12 | 2020-08-12 | 视觉对话方法、视觉对话模型的训练方法、装置及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230082605A1 (zh) |
CN (1) | CN111897940B (zh) |
WO (1) | WO2022033208A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897940B (zh) * | 2020-08-12 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 视觉对话方法、视觉对话模型的训练方法、装置及设备 |
CN112579759B (zh) * | 2020-12-28 | 2022-10-25 | 北京邮电大学 | 模型训练方法及任务型视觉对话问题的生成方法和装置 |
CN113177112B (zh) * | 2021-04-25 | 2022-07-01 | 天津大学 | 基于kr积融合多模态信息的神经网络视觉对话装置及方法 |
CN113435399B (zh) * | 2021-07-14 | 2022-04-15 | 电子科技大学 | 一种基于多层次排序学习的多轮视觉对话方法 |
CN115617036B (zh) * | 2022-09-13 | 2024-05-28 | 中国电子科技集团公司电子科学研究院 | 一种多模态信息融合的机器人运动规划方法及设备 |
CN116071835B (zh) * | 2023-04-07 | 2023-06-20 | 平安银行股份有限公司 | 人脸识别攻击事后筛查的方法、装置和电子设备 |
CN117235670A (zh) * | 2023-11-10 | 2023-12-15 | 南京信息工程大学 | 基于细粒度交叉注意力的医学影像问题视觉解答方法 |
CN117271818B (zh) * | 2023-11-22 | 2024-03-01 | 鹏城实验室 | 视觉问答方法、***、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574133A (zh) * | 2015-12-15 | 2016-05-11 | 苏州贝多环保技术有限公司 | 一种多模态的智能问答***及方法 |
CN110609891A (zh) * | 2019-09-18 | 2019-12-24 | 合肥工业大学 | 一种基于上下文感知图神经网络的视觉对话生成方法 |
CN111309883A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
CN111460121A (zh) * | 2020-03-31 | 2020-07-28 | 苏州思必驰信息科技有限公司 | 视觉语义对话方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060123358A1 (en) * | 2004-12-03 | 2006-06-08 | Lee Hang S | Method and system for generating input grammars for multi-modal dialog systems |
CN109359196B (zh) * | 2018-10-22 | 2020-11-17 | 北京百度网讯科技有限公司 | 文本多模态表示方法及装置 |
CN111897940B (zh) * | 2020-08-12 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 视觉对话方法、视觉对话模型的训练方法、装置及设备 |
-
2020
- 2020-08-12 CN CN202010805359.1A patent/CN111897940B/zh active Active
-
2021
- 2021-06-28 WO PCT/CN2021/102815 patent/WO2022033208A1/zh active Application Filing
-
2022
- 2022-11-17 US US17/989,613 patent/US20230082605A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574133A (zh) * | 2015-12-15 | 2016-05-11 | 苏州贝多环保技术有限公司 | 一种多模态的智能问答***及方法 |
CN110609891A (zh) * | 2019-09-18 | 2019-12-24 | 合肥工业大学 | 一种基于上下文感知图神经网络的视觉对话生成方法 |
CN111309883A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
CN111460121A (zh) * | 2020-03-31 | 2020-07-28 | 苏州思必驰信息科技有限公司 | 视觉语义对话方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US20230082605A1 (en) | 2023-03-16 |
CN111897940A (zh) | 2020-11-06 |
WO2022033208A1 (zh) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897940B (zh) | 视觉对话方法、视觉对话模型的训练方法、装置及设备 | |
CN111897939B (zh) | 视觉对话方法、视觉对话模型的训练方法、装置及设备 | |
CN109874029B (zh) | 视频描述生成方法、装置、设备及存储介质 | |
CN110796111B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112328849B (zh) | 用户画像的构建方法、基于用户画像的对话方法及装置 | |
US20240029436A1 (en) | Action classification in video clips using attention-based neural networks | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN110852256B (zh) | 时序动作提名的生成方法、装置、设备及存储介质 | |
CN112069302A (zh) | 会话意图识别模型的训练方法、会话意图识别方法及装置 | |
CN113723166A (zh) | 内容识别方法、装置、计算机设备和存储介质 | |
CN110795549B (zh) | 短文本对话方法、装置、设备及存储介质 | |
CN111444399B (zh) | 回复内容的生成方法、装置、设备及可读存储介质 | |
CN112364148A (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
CN113868451A (zh) | 基于上下文级联感知的社交网络跨模态对话方法及装置 | |
CN115129829A (zh) | 问答计算方法、服务器及存储介质 | |
CN116958738A (zh) | 图片识别模型的训练方法和装置、存储介质及电子设备 | |
CN110851580A (zh) | 一种基于结构化用户属性描述的个性化任务型对话*** | |
CN112417117B (zh) | 会话消息生成方法、装置及设备 | |
CN112149426B (zh) | 阅读任务处理方法及相关设备 | |
CN114419409A (zh) | 基于人脸识别和分层融合策略的多模态恶意迷因图检测方法 | |
Wang et al. | TASTA: Text‐Assisted Spatial and Temporal Attention Network for Video Question Answering | |
CN116311535B (zh) | 基于人物交互检测的危险行为分析方法及*** | |
CN117540007B (zh) | 基于相似模态补全的多模态情感分析方法、***和设备 | |
CN118096924B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN116226479A (zh) | 资源检索的方法、问答方法及对应装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |