深度学习中的负采样

news2025/6/7 5:34:31

深度学习中的负采样

负采样(Negative Sampling) 是一种在训练大型分类或概率模型(尤其是在输出类别很多时)中,用来加速训练、降低计算量的方法。

它常用于:

  • 词向量训练(如 Word2Vec)
  • 推荐系统(从大量候选项中学正例与负例)
  • 语言模型、对比学习、信息检索等场景

🧠 本质概念

在许多任务中,我们的模型要从上万个候选中预测正确类别。例如:

给定单词 “cat”,预测它上下文中出现的词(如 Word2Vec 的 Skip-gram)

这时我们本应计算所有词的概率(比如 Softmax over 100,000 words)——这太慢了

所以:
负采样的核心思想是:

只对少数几个“负例”做对比,而不计算所有类别!


💡 Word2Vec 中的负采样

举个例子:

  • 正例:“cat” → “meows”
  • 随机采样 5 个负例(如 “banana”, “airport”, “data”, …)

我们用一个二分类器判断:

  • “cat” → “meows” 是真实的(打标签 1)
  • “cat” → “banana” 是伪造的(打标签 0)

训练目标是:

  • 让正例得分高
  • 让负例得分低

🔢 数学形式

如果正例是 ( w , c ) (w, c) (w,c),负采样损失函数为:

log ⁡ σ ( v c ⊤ v w ) + ∑ i = 1 k E w i ∼ P n ( w ) [ log ⁡ σ ( − v w i ⊤ v w ) ] \log \sigma(v_c^\top v_w) + \sum_{i=1}^k \mathbb{E}_{w_i \sim P_n(w)} [\log \sigma(-v_{w_i}^\top v_w)] logσ(vcvw)+i=1kEwiPn(w)[logσ(vwivw)]

  • σ \sigma σ:sigmoid 函数
  • v c v_c vc v w v_w vw:分别是上下文词和目标词的向量
  • w i ∼ P n ( w ) w_i \sim P_n(w) wiPn(w):从某个分布中采样负词
  • k k k:负采样数量

🧲 负例怎么采?

常用的负例分布是:

P n ( w ) ∝ U ( w ) 3 / 4 P_n(w) \propto U(w)^{3/4} Pn(w)U(w)3/4

  • U ( w ) U(w) U(w):词频
  • 把高频词稍微压低(防止频率太高的词总被采到)

✅ 优点

优点说明
🚀 计算快不用对所有词做 softmax
🧠 更有效学习负例对比带来更清晰的学习信号
💾 占内存少参数只需更新部分词向量

📦 应用场景举例

  • Word2Vec / FastText:负采样代替softmax
  • 对比学习(如SimCLR、CLIP):构造正负对比对
  • 推荐系统:用户喜欢的商品为正,其余为负采样项
  • 知识图谱链接预测:正三元组 vs 负三元组(伪造的头/尾)

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

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

相关文章

php7+mysql5.6单用户中医处方管理系统V1.0

php7mysql5.6中医处方管理系统说明文档 一、系统简介 ----------- 本系统是一款专为中医诊所设计的处方管理系统,基于PHPMySQL开发,不依赖第三方框架,采用原生HTML5CSS3AJAX技术,适配手机和电脑访问。 系统支持药品管理、处方开…

智慧物流园区整体解决方案

该智慧物流园区整体解决方案借助云计算、物联网、ICT 等技术,从咨询规划阶段介入,整合供应链上下游资源,实现物流自动化、信息化与智能化。方案涵盖智慧仓储管理(如自动化立体仓储系统、温湿度监控)、智慧物流(运输管理系统 TMS、GPS 监控)、智慧车辆管理(定位、调度、…

【会员专享数据】1960—2023年我国省市县三级逐年降水量数据(Shp/Excel格式)

之前我们分享过1960-2023年我国0.1分辨率的逐日、逐月、逐年降水栅格数据(可查看之前的文章获悉详情),是研究者Jinlong Hu与Chiyuan Miao分享在Zenodo平台上的数据,很多小伙伴拿到数据后反馈栅格数据不太方便使用,问我…

OpenCV C++ 心形雨动画

❤️ OpenCV C 心形雨动画 ❤️ 本文将引导你使用 C 和 OpenCV 库创建一个可爱的心形雨动画。在这个动画中,心形会从屏幕顶部的随机位置落下,模拟下雨的效果。使用opencv定制自己的专属背景 目录 简介先决条件核心概念实现步骤 创建项目定义心形结构…

Fullstack 面试复习笔记:Java 基础语法 / 核心特性体系化总结

Fullstack 面试复习笔记:Java 基础语法 / 核心特性体系化总结 上一篇笔记:Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理 目前上来说,这个系列的笔记本质上来说,是对不理解的知识点进行的一个梳理&…

安卓Compose实现鱼骨加载中效果

安卓Compose实现鱼骨加载中效果 文章目录 安卓Compose实现鱼骨加载中效果背景与简介适用场景Compose骨架屏与传统View实现对比Shimmer动画原理简介常见问题与优化建议参考资料 本文首发地址 https://h89.cn/archives/404.html 背景与简介 在移动应用开发中,加载中占…

【使用JAVA调用deepseek】实现自能回复

在Spring Boot系统中接入DeepSeek服务,并将其提供给用户使用,通常需要以下步骤: 一、准备工作 (1)注册DeepSeek开发者账号 访问DeepSeek官网,注册并创建应用,获取API Key。 API文档&#xff1…

【Linux系列】rsync命令详解与实践

博客目录 高效文件同步的艺术:rsync 命令详解与实践rsync 命令解析rsync 的核心优势1. 增量传输:效率的革命2. 归档模式(-a):保留文件所有属性3. 人性化输出(-h)与进度显示(--progress) 实际应用场景1. 文件备份与版本管理2. 跨设备同步3. 大…

Windows系统工具:WinToolsPlus 之 SQL Server Suspect/质疑/置疑/可疑/单用户等 修复

数据库在数据库列表状态是 Suspect/质疑/置疑/可疑/单用户等 非正常状态时, 使用WinToolsPlus 数据库页签 先设置 数据源 , 选择 需要清理日志的数据库, 点击 Suspect/质疑/置疑/可疑/单用户 按钮即可进修复。 修复过程会有数据库服务停止和启…

C++——智能指针 unique_ptr

unique_ptr的实现原理:简单粗暴的防拷贝 目录 一、使用C11中的新用法unique_ptr 二、使用c11模拟实现 三、使用c98特性实现 四、模拟实现unique_ptr 五、发现问题 一、使用C11中的新用法unique_ptr 由于限制了拷贝以及赋值 导致缺陷:unique_ptr管理…

【Python训练营打卡】day43 @浙大疏锦行

DAY 43 复习日 作业: kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化 进阶:并拆分成多个文件 我选择的是music_instruments 链接:Musical Instruments (kaggle.com) #导包 import torch import torch.nn as…

1-【源码剖析】kafka核心概念

从今天开始开始在csdn上记录学习的笔记,主要包括以下几个方面: kafkaflinkdoris 本系列笔记主要记录Kafka学习相关的内容。在进行kafka源码学习之前,先介绍一下Kafka的核心概念。 消息 消息是kafka中最基本的数据单元,由key和…

思科设备网络实验

一、 总体拓扑图 图 1 总体拓扑图 二、 IP地址规划 表格 1 接口地址规划 设备名称 接口/VLAN IP 功能 PC0 VLAN580 10.80.1.1 访问外网 PC1 VLAN581 10.80.2.1 访问外网 PC2 Fa0 20.80.1.100 端口镜像监控流量 PC3 VLAN585 10.80.6.1 远程登陆多层交换机0…

AWS之数据分析

目录 数据分析产品对比 1. Amazon Athena 3. AWS Lake Formation 4. AWS Glue 5. Amazon OpenSearch Service 6. Amazon Kinesis Data Analytics 7. Amazon Redshift 8.Amazon Redshift Spectrum 搜索服务对比 核心功能与定位对比 适用场景 关键差异总结 注意事项 …

C# Onnx 动漫人物头部检测

目录 效果 模型信息 项目 代码 下载 参考 效果 模型信息 Model Properties ------------------------- date:2024-10-19T12:32:20.920471 description:Ultralytics best model trained on /root/datasets/yolo/anime_head_detection/data.yaml au…

【Ragflow】24.Ragflow-plus开发日志:增加分词逻辑,修复关键词检索失效问题

概述 在RagflowPlus v0.3.0 版本推出之后,反馈比较多的问题是:检索时,召回块显著变少了。 如上图所示,进行检索测试时,关键词相似度得分为0,导致混合相似度(加权相加得到)也被大幅拉低,低于设定…

Zookeeper 集群部署与故障转移

Zookeeper 介绍 Zookeeper 是一个开源的分布式协调服务,由Apache基金会维护,专为分布式应用提供高可用、强一致性的核心基础能力。它通过简单的树形命名空间(称为ZNode树)存储数据节点(ZNode),…

Redis最佳实践——电商应用的性能监控与告警体系设计详解

Redis 在电商应用的性能监控与告警体系设计 一、原子级监控指标深度拆解 1. 内存维度监控 核心指标: # 实时内存组成分析(单位字节) used_memory: 物理内存总量 used_memory_dataset: 数据集占用量 used_memory_overhead: 管理开销内存 us…

区域徘徊检测算法AI智能分析网关V4助力公共场所/工厂等多场景安全升级

一、项目背景 随着数字化安全管理需求激增,重点场所急需强化人员异常行为监测。区域徘徊作为潜在安全威胁的早期征兆,例如校园围墙外的陌生逗留者,都可能引发安全隐患。传统人工监控模式效率低、易疏漏,AI智能分析网关V4的区域徘…

修复与升级suse linux

suse linux enterprise desktop 10提示:xxx service failed when loaded shared lib . error ibgobject.so.2.0:no such file or directory. suse linux enterprise server 12.iso 通过第一启动项引导,按照如下方式直接升级解决。