首页 > 其他分享 >计算NCE损失

计算NCE损失

时间:2024-05-11 21:08:34浏览次数:18  
标签:1.0 计算 0.3 损失 节点 exp NCE sim matrix

让我们通过一个简化的示例来理解NCE损失的计算方法。假设我们有3个节点,每个节点都有与自己和其他节点的相似度计算,分别对应于三个相似度矩阵:sim_matrix_onesim_matrix_two、和sim_matrix_three

假设相似度矩阵和计算结果如下:

初始相似度矩阵(示例值)

假设每个矩阵都是3x3,值如下:

  • sim_matrix_one (原始与修改后相似度)
    [[1.0, 0.3, 0.2],
     [0.3, 1.0, 0.4],
     [0.2, 0.4, 1.0]]
    
  • sim_matrix_two (原始与原始相似度)
    [[1.0, 0.5, 0.3],
     [0.5, 1.0, 0.6],
     [0.3, 0.6, 1.0]]
    
  • sim_matrix_three (修改后与修改后相似度)
    [[1.0, 0.2, 0.1],
     [0.2, 1.0, 0.7],
     [0.1, 0.7, 1.0]]
    

应用温度参数和指数

假设温度参数为1.0,经过指数计算后的矩阵保持不变(简化计算)。

步骤3:计算归一化因子

假设当前批次有3个节点,每个节点与其他节点的相似度总和如下:

  1. 节点1的归一化因子:

    • sim_matrix_one_exp取第一行: [exp(1), exp(0.3), exp(0.2)]
    • sim_matrix_two_exp取第一行: [exp(1), exp(0.5), exp(0.3)]
    • sim_matrix_three_exp取第一行: [exp(1), exp(0.2), exp(0.1)]
    • 总和: exp(1) + exp(0.3) + exp(0.2) + exp(1) + exp(0.5) + exp(0.3) + exp(1) + exp(0.2) + exp(0.1)
  2. 节点2和节点3同理计算.

步骤4:计算NCE损失

  • 节点1的NCE损失:
    • 对角线元素为 exp(1) (从sim_matrix_one的第一行第一列取得)
    • 归一化因子为上述步骤3计算的和
    • NCE损失: -log(exp(1) / 归一化因子)

这个过程通过比较每个节点的嵌入与它在不同视图下的嵌入之间的相似度,与它与其他所有节点的相似度之和(作为背景噪声)进行对比,从而强化了模型在区分正样本(节点自身在不同视图下的一致性)与背景噪声之间的能力。

标签:1.0,计算,0.3,损失,节点,exp,NCE,sim,matrix
From: https://www.cnblogs.com/csjywu01/p/18187148

相关文章

  • PCDN机顶盒源头厂家,边缘计算机顶盒源头
    飞算云PCDN:赋能未来网络的创新力量飞算云是一家用创新的产品和服务,提升全国各地人们的生活品质的互联网科技公司,公司一直秉承科技向善的宗旨。飞算云致力于为客户提供简单而实用的内容分发、边缘计算解决方案,是国内领先的内容分发、PCDN边缘计算的平台商。源头工厂产量高不扣量......
  • MDT 的 Bootstrap.ini 中设置随机计算机名称,你可以使用预定义的 Task Sequence 变量和
    MDT的Bootstrap.ini中设置随机计算机名称,你可以使用预定义的TaskSequence变量和自定义脚本来实现。以下是一个示例:创建PowerShell脚本:powershellCopyCodefunctionGenerate-RandomComputerName{$prefix="PC"#可以是你希望的计算机名称前缀$rand......
  • The Princeess and the Pea
    Iamaprincewhowantstofindarealprincesstomarry.Itraveledallovertheworldandmetsomeobstacles.However,Icouldn'tdecidewhichwomanwastherealprincess.Onenight,therewasaterriblestorm.Awomanwhoclaimedtobearealprin......
  • 带你熟悉CCE集群增强型CPU管理策略enhanced-static
    本文分享自华为云社区《华为云CCE集群增强型CPU管理策略enhanced-static》,作者:可以交个朋友。背景开源Kubernetes默认提供的CPU管理策略有none和static两种:none:不开启CPU管理策略,默认值。static:开启静态绑核的CPU管理策略,允许为节点上具有某些资源特征的Pod(Guaranteedpod......
  • 第六届·2024 MindSpore 量子计算黑客松热身赛赛题解读
    第六届·2024MindSpore量子计算黑客松火热进行中。本次大赛由量子信息网络产业联盟主办,昇思MindSporeQuantum社区承办,多所高校和单位联合举办。开发者将全面体验全新一代通用量子计算框架MindSporeQuantum。热身赛为量子计算基础学习和编程演练。完成热身赛的前100名选手将有......
  • 计算机基础-服务器安装
    一、下载windows-server2016镜像安装windowsserver系统,略二、给服务器添加各种管理角色三、域服务配置提供对局域网内的计算机管理和域账户管理四、DNS服务配置提供局域网内的DNS解析功能......
  • 计算机基础-网络
    一、网络设备a.网卡(无线、有线)物理层:提供物理地址,也叫MAC地址b.网线(双绞线)、光缆c.交换机、集线器arp链路层:提供局域网内计算机与路由器之间建立端口映射,mac与IP的链路绑定d.路由器网络层:为局域网内计算机分配IP地址、防火墙、上网限制、网速控制登录e.服务器传输层:为局......
  • 探讨:ARC(Automatic Reference Counting)与手动内存管理的区别及工作原理
    在iOS和macOS开发中,内存管理是一个至关重要的话题。在过去,手动内存管理是一项繁琐且容易出错的任务,而引入了ARC(AutomaticReferenceCounting,自动引用计数)之后,内存管理变得更加简单和安全。本文将详细讨论ARC和手动内存管理之间的区别,并解释ARC的工作原理。1.ARC与手......
  • 【C语言】---- sizeof关键字计算变量的大小
    简介sizeof是C语言中一个非常重要的关键字,它用于计算变量、类型和数组的大小。sizeof的作用是获取变量或数据类型在内存中所占用的字节数。在C语言中,所有的数据都有一个确定的大小,这个大小取决于数据类型。例如,一个int类型的数据在大多数系统中占用4个字节,而一个char......
  • C++ 类的继承(Inheritance)
    一、继承(Inheritance)C++有一个很好的性质称为inheritance(继承),就是声明一个class(derivedclass),把另一个或多个class(baseclass)的所有内容(包括datamembers和memberfunction)统统继承下来(有无存取权限是另一回事)。如果直接继承自一个baseclass,称为单一继承;如果直接继承自一......