DeViSE:A Deep Visual-Semantic Embedding Model

news2025/1/20 19:15:20

这篇是2013年文章提出的 D e V i S E DeViSE DeViSE,主要是综合了传统视觉识别的神经网络和词向量处理 w o r d 2 v e c word2vec word2vec中的 S k i p − g r a m Skip-gram Skipgram模型,实现了一个视觉和语义兼顾的 Z S L ZSL ZSL模型,取得了 较好的效果,时至今日,准确率仍然可以排在前面。

背景

Skip-gram

S k i p − g r a m Skip-gram Skipgram是word2vec模型中的一种,给定一个input word来预测上下文,训练之后的模型的目的并不是用这个模型来预测,而是为了得到这些模型隐层中学得得权重参数

  • 首先,我们构建一个完整得神经网络:包括:输入层、输出层、隐层
  • 例如,对于一个句子I want to eat an apple,选取一个词作为输入,这里选择eat,在定义一个参数 S k i p − w i n d o w Skip-window Skipwindow,其代表 着我们从当前的input word的一侧(左边或右边)选取词的数量,如果我们设置 S k i p − w i n d o w = 2 Skip-window = 2 Skipwindow=2,就代表选取输入词左边两个和右边两个单词进入窗口 [ “ w a n t ” , “ t o ” , “ a n ” , “ a p p l e ” ] [“want”,“to”,“an”,“apple”] [want,to,an,apple],
  • 另外一个参数 n u m − s k i p s num-skips numskips代表我们从窗口中选取多少个不同的词,作为我们的ouput,
  • 当skip-window = 1时,Skip-num = 2时,我们将会得到两组(input word,output word)的形式训练数据,即 (“eat”, “to”),(“eat”, “I”).
  • 神经网络基于这些训练数据将会输出一个概率分布,这个概率代表我们词典中的每个词是output word可能性 例如,上面我们得到两组数据,我们先用一组数据来训练神经网络,那么模型通过前面学习这个训练样本,会告诉我们词汇表中的其他词的概率大小和eat的概率大小
  • 具体而言,因为神经网络的输入必须为数值,所以我们会首先将词汇表中的单词进行one-hot编码,隐层不在使用任何激活函数 ,但是输出层是 s o f r m a x sofrmax sofrmax
  • 算法

  • 算法思路

  • 分别预训练一个视觉网络和一个词向量 S k i p − g r a m Skip-gram Skipgram网络,在结合两个网络进行训练。
  • 原理

  • 预训练一个视觉模型如下图:
  • 在这里插入图片描述
  • 和一个skip-gram模型如下:
  • 在这里插入图片描述
  • 将两个模型整合为:
  • 在这里插入图片描述

具体而言

  • 语义模型
    • 通过Skip-gram对模型进行训练,Skip-gram通过单词来预测单词的上下文,训练模型最后得到一个权重矩阵,该矩阵即为需要的 E m b e d d i n g Embedding Embedding矩阵。
    • 视觉模型
      • 采用了1,000-class ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2012 这篇文章提出的模型,并将结果作为benchmark
    • Deep Visual Semantic Embedding Model
      • 即本文提出的模型,输出层去掉了之前的softmax, 换成了一个将3096维向量(图像)映射到500维或1000维(词向量)的线性映射,transformation.
      • 损失函数:使用点积相似性( d o t − p r o d u c t s i m i l a r i t y dot-product similarity dotproductsimilarity)和铰链损失函数( h i n g e r a n k l o s s hinge rank loss hingerankloss)结合来作为该模型的损失函数.这可以使得在图像模型的输出和该图像对应的正确标签的向量表示之间的点积相似性。要比不正确的其他标签的向量与该图像的相似性高
      • 在这里插入图片描述
        在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【阶段三】Python机器学习21篇:机器学习项目实战:GBDT算法的核心思想、原理概述、原理举例与GBDT回归模型

本篇的思维导图: GBDT算法的核心思想 GBDT是Gradient Boosting Decision Tree(梯度提升树)的缩写。GBDT算法也是一种非常实用的Boosting算法,它与AdaBoost算法的区别在于:AdaBoost算法根据分类效果调整权重并不断迭代,最终生成强学习器;GBDT算法则将损失函数的…

浅聊版本发布

在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题, (1)在新版本升级过程中,服务是会暂…

Qt 之 findChild

文章目录一、简述二、原型三、使用示例注意:Widget根据容器的不同寻找的方式不一样比如QWidget_3里面有LineEdit只需要直接找ui.QWidget_3但是如果是QStackWidget里面的化就是直接放ui->stackedDecive2->widget(0)里面就可以了一、简述 在Qt编程过程中&#…

Arm Linux Can

Arm Linux Can一:can-utils 安装二:can-utils 使用can网络关闭can波特率设置查询can0设备的参数设置can网络开启查询工作状态can发送数据can接受数据三:can回环测试四:C语言CAN编程初始化数据结构数据发送错误处理过滤规则回环设置五:Linux 系统中CAN 接口应用程序示例报文发送…

Spring 整合 Redis 的三个简单步骤

一、导入 Redis 依赖 1、导入 Redis 客户端 jar 包依赖 导入 jar 包是需要注意,Redis 是属于 CS 架构模式,服务端需先启动,然后客户端主动去连它。但是客户端怎么去连接服务端呢?这里有两种方式:一种是 Jedis 客户端…

糖果(差分约束+找最小值)

糖果 题目描述 幼儿园里有 n 个小朋友, lxhgww 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果…

区块链技术相关概述

第一节区块链技术相关概述一、区块链定义区块链其实就相当于一个去中介化的数据库,是由一串数据块组成的。狭义:区块链是就是一种按照时间顺序来将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造…

WebDAV之葫芦儿·派盘+MiXplorer

MiXplorer 支持WebDAV方式连接葫芦儿派盘。 手机内存不够用了?东西太多清理不过来?快来试试这款MiXplorer。 MiXplorer是一款非常强大实用的手机文档管理器,能给用户提供了一系列的文档处理功能,包括本地文件浏览、文件排序、文件筛选、切换视图、新建文件、添

SSH免密登录配置

情况 服务器A: 192.168.0.101 服务器B: 192.168.0.102 在服务器A上 可以使用 ssh root192.168.0.102 无需密码登录到192.168.0.102 配置 服务器A: 192.168.0.101 上查看是否有ssh公钥 1.进入.ssh目录: cd ~/.ssh 2.找到id_rsa.pub文件: ls 3.查看公钥…

ucos3+emwin+appwizard控制硬件LED

1.新建appwizard项目2.AppWizard 设计器导出代码,点击 File→Export&Save 3.移植代码到keil其中,Soure 和Resource 中的C文件,添加到项目代码Simulation和Soure 和Resource 中的h文件,添加到编译器的include path。修改Source\Generated下…

Docker容器管理常用

Docker容器管理常用docker容器管理命令创建容器进入容器Attach和exec暂停容器删除容器创建容器并在停止时销毁容器查看容器查看容器的详细信息查看容器执行的完整命令查看容器日志查看已退出容器的日志查看容器指定日期的日志修改容器名指定容器实例的主机名容器特权privileged…

从零开始学习Redis

非关系型数据库简述 关系型数据库(SQL):Mysql,oracle 特点:数据和数据之间、表和字段之间,表和表之间是存在关系的。 优点:数据之间有关系、进行数据的增删改查时非常方便、关系型数据库有事务操作,保证数据的完整性…

离散数学与组合数学-02二元关系

文章目录离散数学与组合数学-02二元关系上2.1 序偶和笛卡尔积2.1.1 有序组的定义2.1.2 笛卡儿积笛卡儿积的性质2.2 关系的定义2.2.1 二元关系定义与案例2.2.2 二元关系的数学符号定义案例枚举二元关系2.2.3 定义域和值域2.2.4 二元关系概念的推广2.3 关系的表示2.3.1 集合表示法…

Swift(1)

前段时间在忙着考试,今天终于线上考试结束了,最后一场考试被安排到开学。 今天来看一下Swift: 首先,Swift是苹果于2014年WWDC苹果开发者大会发布的新开发语言,可与Objective-C共同运行于macOS和iOS平台,用…

CadSoftTools Web CAD SDK 14.1.0.51184 Crack

Web CAD SDK是一个 ASP.NET 控件,用于在Internet、Intranet、SharePoint、Office 365 和其他支持 HTML5 的在线技术上 查看DWG和其他CAD 文件。该产品不需要安装AutoCAD或其他第三方应用程序或组件,并随 C# 示例一起提供。 格式 CAD 格式: A…

克里金法学习笔记

目录1.Arcmap克里金法的工作原理:2.Kriging From Wikipedia:[https://en.wikipedia.org/wiki/Kriging](https://en.wikipedia.org/wiki/Kriging)3.实例分析4.代码部分5.较好的案例1.Arcmap克里金法的工作原理: https://desktop.arcgis.com/zh-cn/arcmap…

Android so库开发——使用addr2line查看so异常信息(四)

在NDK开发中经常会出现应用Crash的情况,而JNI层的报错信息,不像Java层报错信息那样可以直接在日志中看到错误的行数,JNI层中出现的错误直接看根本定位不到错误的位置。通常来说,JNI报的基本都是堆栈信息,需要NDK的一些…

时序数据库TDengine建模思路

一、时序数据库基本概念 基本属性 1.采集量 采集量是指传感器、设备或其他类型采集点采集的物理量,比如电流、电压、温度、压力、GPS 位置等,是随时间变化的参数 2.标签 标签是指传感器、设备或其他类型采集点的静态属性,不是随时间变化的…

纯 CSS3 卡通小火车行驶动画

自从CSS3流行以来,基于纯CSS3的动画就层出不穷,有纯CSS3的人物动画、纯CSS3按钮动画等。这次,我们给大家分享一个很不错的CSS3卡通火车沿轨道行驶动画,一辆卡通样式的火车缓缓驰过,特别是火车头的动画设计,…

二叉树21:合并二叉树

主要是我自己刷题的一些记录过程。如果有错可以指出哦,大家一起进步。 转载代码随想录 原文链接: 代码随想录 leetcode链接:617. 合并二叉树 题目: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其…