CIDEr(Consensus-based Image Description Evaluation)的计算

CIDEr(Consensus-based Image Description Evaluation)

论文原文 CIDEr: Consensus-based Image Description Evaluation

CIDEr(Consensus-based Image Description Evaluation)是一种用于自动评估图像描述(image captioning)任务性能的指标。它主要通过计算生成的描述与一组参考描述之间的相似性来评估图像描述的质量。CIDEr的独特之处在于它考虑了人类对图像描述的共识,尝试捕捉描述的自然性和信息量。

计算过程

定义

计算关于图片 I i I_i Ii 生成的描述 c i c_i ci 与一组给定图片描述 S i = { s i 1 , … , s i m } S_i = \{s_{i1}, \dots, s_{im} \} Si={si1,,sim} 的一致性。

计算一个词组(wk)的权重

一个n-gram词组 w k w_k wk 出现在参考句子(生成描述)中的次数记为 h k ( s i j ) h_k(s_{ij}) hk(sij) h k ( c i ) h_k(c_i) hk(ci) )。

首先,为每个n-gram词组 w k w_k wk 计算TF-IDF权重( g k ( s i j ) g_k(s_{ij}) gk(sij) ):

其中 Ω Ω 表示包含所有n-gram词组的词典, I I I 是数据集中所有图片的集合。

前面的算式计算的是每个 w k w_k wk 的TF,第二个算式计算的是 w k w_k wk 的稀有程度(IDF)。

简单来说,

前面的算式 = w k 在当前句子 ( s i j ) 的出现次数 每个 w 在当前句子的出现次数之和 前面的算式 = \frac{w_k在当前句子(s_{ij})的出现次数}{每个w在当前句子的出现次数之和} 前面的算式=每个w在当前句子的出现次数之和wk在当前句子(sij)的出现次数

后面的算式 = log ⁡ 数据集图片数量 给定描述中出现过 w k 的图片数量 后面的算式 = \log \frac{数据集图片数量}{给定描述中出现过w_k的图片数量} 后面的算式=log给定描述中出现过wk的图片数量数据集图片数量

前面是词组在当前句子中的重要程度,后面是词组在整个数据集中的出现概率的倒数。整体作用跟tf-idf类似。

TF-IDF(term frequency–inverse document frequency)

TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

百度百科:TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。

顾名思义,Tf-idf由tf和idf两部分组成,tf是指一个词在当前document里面出现的频率,idf是指这个词在全体语料库中出现频率的倒数。根据这个定义,说明一个词对于一个document的重要程度与这个词出现在当前document的频率成正比,与出现在全体语料库中的频率成反比。通俗理解,一个词在一篇文章中出现次数越多,这个词对这篇文章越重要;在全体语料中出现频率越多,说明,这个词只是一个常用词而已,两者乘积就是Tf-idf。注意:这里document不一定是文章,可能是句子之类的,或者是其他的。

公式为:

其中 t f ( d , w ) tf(d,w) tf(d,w) 是文档d中w的词频, i d f ( w ) = log ⁡ N N ( w ) + 1 idf(w) = \log\frac{N}{N(w) + 1} idf(w)=logN(w)+1N ,+1是为了避免单词未出现导致分母为0。

  • N表示预料中的文本总数
  • N(w)表示w出现在多少个文档中。

当某个词在当前文档中出现频率比较高,而且在整体语料库中的出现的概率较小,这样的词会获得较大权重,因此TF-IDF倾向于过滤掉常见的词语,而保留对某一篇文档来说出现频率高的词。

这里需要补充一点,tf是一个词在当前文档中的词频,也就是这个词出现的次数,这里就引出了另外的一个问题,就是如果某篇文档的总词数远大于其他文档,那么不管重要与否它的词通常拥有更高的词频,因此通常对tf进行归一化,也就是用当前文档某个词的词频除以当前文档总词数。

计算n-gram的CIDEr

对于n-gram的某个特定情况,如n=1,2,…,会有一个特定的值 C I D E r n CIDEr_n CIDErn ,计算公式如下:

其中 g n ( c i ) \textbf{g}^\textbf{n}(c_i) gn(ci) 是一个向量,由所有当前设置n下的词组计算的 g k ( c i ) g_k(c_i) gk(ci) 构成, ∣ ∣ g ∣ ∣ ||\textbf{g}|| ∣∣g∣∣ 是向量的长度,用来归一化。 s i j s_{ij} sij 计算方式一样; j j j 为当前图片所拥有的给定描述长度。

简单来说, C I D E R n ( c i , S i ) = 1 / m ∑ j 所有 n − g r a m 词组对于 c i 的 g 构成的向量 ⋅ 所有 n − g r a m 对于 s i j 的 g 构成的向量 归一化 CIDER_n(c_i, S_i) = 1 / m \sum_j\frac{所有n-gram词组对于c_i的g构成的向量 \cdot 所有n-gram对于s_{ij}的g构成的向量}{归一化} CIDERn(ci,Si)=1/mj归一化所有ngram词组对于cig构成的向量所有ngram对于sijg构成的向量

这里的”所有n-gram词组”应该是 { w i ∣ w i ∈ c i or  w i ∈ S i } \{w_i | w_i \in c_i \text{ or } w_i \in S_i \} {wiwici or wiSi} ,即候选句子和给定句子集合中的所有n-gram词组。

整体CIDEr

就是循环计算n=1,2,3,…的 C I D E r n CIDEr_n CIDErn ,然后求均值:

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

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

相关文章

基于java语言+ Vue+ElementUI+ MySQL8.0.36数字化产科管理平台源码,妇幼信息化整体解决方案

基于java语言 VueElementUI MySQL8.0.36数字化产科管理平台源码,妇幼信息化整体解决方案 数字化产科管理平台是为医院产科量身定制的信息管理系统。它管理了孕妇从怀孕开始到生产结束42天一系列医院保健服务信息。该系统由门诊系统、住院系统、数据统计模块三部分组…

web零碎知识

&nbsp 在html文件中 连续的空格会被认为是一个空格 所以我们需要使用&nbsp来代表空格 &#x3000 把这个当成tab键来使用 我们可以引入js文件,就可以减少html文件的长度。 首先创建一个js文件夹,然后在js文件夹中创建一个,后缀…

数据库表导出到excel:前置知识4 业务和效果

清单配置页面(就是配置那些用户可以下载那些表内容,清单下载实际就是指数据库表下载,清单就是对应的表) 比如:导出一个atom_base_info表数据(数据多) atom_base_info的数据结构 下面这个配置审核状态一类不问,直接到清单下载页面 发起自己想下载的清单(先异步把数…

FreeRTOS之队列上锁和解锁(详解)

这篇文章将记录我学习实时操作系统FreeRTOS的队列上锁和解锁的知识,在此分享给大家,希望我的分享能给你带来不一样的收获! 目录 一、简介 二、队列上锁函数prvLockQueue() 1、函数初探 2、应用示例 三、队列解锁函…

js之模糊搜索

多的不说 少的不唠 直接上代码

警翼警用记录仪视频格式化后恢复方法

警翼是国内较大的一家警用记录仪厂商,此品牌我们恢复过很多,此次遇到的是一个典型的误格式化的情况,我们来看看误格式化后如何恢复。 故障存储: 32G卡/fat32 故障现象: 客户提供的信息是在交接设备后没有及时备份而做出了初始化设备的操…

养老院管理系统-计算机毕业设计源码00010

养老院管理系统的设计与实现 摘要 本文介绍了一种基于Spring Boot框架的养老院管理系统的设计与实现。该系统旨在帮助养老院管理者更有效地管理机构内的各项事务,并提供更好的服务于老年人。系统的设计考虑了养老院管理的特殊需求,包括系统用户、老人信息…

高二的他已通过NOI保送北大了,让我们一起了解他的信息学奥赛学习经历吧!!!

相信关注本号的各位,对于信息学奥赛已经不陌生了,部分同学也已经开始踏入信息学的旅程,但前路茫茫,让我们一起看看已经取得成就的同学的经历吧。 今天要介绍的这位同学,是来自深圳中学的高二某班的欧阳达晟同学&#x…

简洁纯文字类的Typecho主题wenso

主题介绍 文章说说类博客网站源码,页面清新简洁。适合文章说说美文博客网站建站使用,响应式手机版本。 本来是dedecms的模板,也比较简单,适合用来搭建一个文学类的,纯文字的网站,简单的改成了typecho&…

JVM 堆内存结构 年轻代 老年代

堆内存 内存划分 对于大多数应用,Java 堆是 Java 虚拟机管理的内存中最大的一块,被所有线程共享。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及数据都在这里分配内存。 为了进行高效的垃圾回收,虚拟机把堆内存…

小白 | 华为云docker设置镜像加速器

一、操作场景 通过docker pull命令下载镜像中心的公有镜像时,往往会因为网络原因而需要很长时间,甚至可能因超时而下载失败。为此,容器镜像服务提供了镜像下载加速功能,帮助您获得更快的下载体验。 二、约束与限制 构建镜像的客…

6年铲屎官测评宠物空气净化器哪款好,热门养宠空气净化器排名

作为一名资深猫奴,发现很多铲屎官每到春秋换季就开始疯狂打喷嚏、突然开始全身过敏。其原因是猫毛一到换季就开始疯狂掉毛,相对于可见猫毛,漂浮在空气中的浮毛就是罪灰祸首。微小的浮毛在空气总容易被人体吸入体内,而浮毛上面附带…

【Python机器学习】模型评估与改进——在模型选择中使用评估指标

我们通常希望,在使用GridSearchCV或cross_val_score进行模型选择时能够使用AUC等指标。scikit-learn提供了一种非常简单的实现方法,那就是scoring参数,它可以同时用于GridSearchCV和cross_val_score。你只需要提供一个字符串,用于…

Appium自动化测试框架3

滑动与拖拽 swipe 滑动时间的长短会影响最后的结果的 是有一定误差的 from appium import webdriver import time # 启动一个字典 包装相应的启动参数 desired_caps dict() # 平台的名字,安卓还是IOS 大小写无所谓 desired_caps[platformName] Android # 平台的…

2.5 C#视觉程序开发实例1----设计一个IO_Manager

2.5 C#视觉程序开发实例1----设计一个IO_Manager 第一步目标: 1 实现获取IO触发信号Trig0 2 能够实现程序切换 3 图像处理后能够输出一个脉冲 1 IO 引脚定义 1.1 输入信号定义 1.2 输出信号定义 2 IO时序图 2.1 触发时序 2.2 切换程序时序图 3 IO_Manager.cs …

半实物仿真测试系统

设备组成 test系统主要由硬件部分与软件部分组成。硬件部分由PCI机箱、PCI控制器以及各种PCI接口板卡组成。软件部分由测试设计软件模块、测试执行服务软件模块、测试执行客户端软件模块、设备资源管理软件模块等主要软件模块以及曲线数据生成、CRC插件生成与诊断、测试数据记录…

MPI hello world SSH 免密互联

目标: 我们想实现2台主机免密互联,将MPI Hello World跑起来 假设hostname是node01,node02,(Linux shell窗口一般是UserNameHostName,node1和node2一定要和HostName一样) hostname是/etc/hosts中的配置,如下…

阶段三:项目开发---大数据系统基础环境准备:任务1:准备系统运行的先决条件

任务描述 知识点: 大数据基础环境准备 重 点: SSH免密码连接 安装配置JDK 安装配置Scala 难 点: 无 内 容: 项目开发测试环境为分布式集群环境,在当前项目中使用多台基于CentOS 64bit 的虚拟机来模拟生产…

Kotlin和Java的一些不同点

1.Kotlin 的变量是没有默认值的(因此要求初始化),Java的成员变量是有默认值的 Java的成员变量: String name; // 默认值是 null int count; // 默认值是 0不过其实 Java 也只是成员变量有默认值,局部变量也是没有默…