首页 > 其他分享 >对比学习

对比学习

时间:2024-09-23 15:25:00浏览次数:1  
标签:begin end torch mi cat 学习 bmatrix 对比

好的,我们通过一个具体的数字例子来解释 c_mi 是如何改变顺序的。

假设例子

假设初始的 c_mi 是一个形状为 ( 4 \times 3 ) 的张量(即有 4 行,3 列),值如下:

[
c_mi =
\begin{bmatrix}
1 & 2 & 3 \
4 & 5 & 6 \
7 & 8 & 9 \
10 & 11 & 12
\end{bmatrix}
]

这个矩阵表示上下文嵌入 c,每一行代表一个特征向量。

代码操作过程

c_mi = torch.cat((c_mi[-2:-1, :], c_mi[:-1, :]), 0)

这个操作由两部分组成:

  1. c_mi[-2:-1, :]:

    • -2:-1 表示取 c_mi 的倒数第二行,也就是第3行 [7, 8, 9],这个结果的形状是 ( 1 \times 3 )。

    结果为:
    [
    \begin{bmatrix}
    7 & 8 & 9
    \end{bmatrix}
    ]

  2. c_mi[:-1, :]:

    • :-1 表示取 c_mi 中除了最后一行以外的所有行,即第1行到第3行:

    结果为:
    [
    \begin{bmatrix}
    1 & 2 & 3 \
    4 & 5 & 6 \
    7 & 8 & 9
    \end{bmatrix}
    ]

  3. torch.cat((c_mi[-2:-1, :], c_mi[:-1, :]), 0):

    • 使用 torch.cat 将这两个部分在第0维(行)方向上进行拼接,结果如下:

[
c_mi =
\begin{bmatrix}
7 & 8 & 9 \
1 & 2 & 3 \
4 & 5 & 6 \
7 & 8 & 9
\end{bmatrix}
]

总结

  • 原始 c_mi 是:
    [
    \begin{bmatrix}
    1 & 2 & 3 \
    4 & 5 & 6 \
    7 & 8 & 9 \
    10 & 11 & 12
    \end{bmatrix}
    ]

  • 执行完 torch.cat((c_mi[-2:-1, :], c_mi[:-1, :]), 0) 后,c_mi 变为:
    [
    \begin{bmatrix}
    7 & 8 & 9 \
    1 & 2 & 3 \
    4 & 5 & 6 \
    7 & 8 & 9
    \end{bmatrix}
    ]

这种操作将 c_mi 的倒数第二行移到了最前面,其他行则保持相对顺序不变。这种扰动操作是用来生成一个与原始 c 不同的负样本,使得模型能够在训练时区分正样本和负样本。

标签:begin,end,torch,mi,cat,学习,bmatrix,对比
From: https://www.cnblogs.com/csjywu01/p/18427122

相关文章

  • 学习HTMLCSS第六天
    CSS核心属性详解在前端开发中,CSS(层叠样式表)起着至关重要的作用,它可以让网页变得更加美观和易用。本文将详细介绍CSS中的一些核心属性,包括行高、圆角、透明度、颜色值、浮动、定位和子绝父相等。一、行高(line-height)概念:行高是指文本行与行之间的间距,实际上是每行文本......
  • Nat Med.作者提供全文的绘图代码,对于学习作图很有帮助
    本期教程获得本期教程全文代码:在订阅号后台回复关键词:202409232022年教程总汇2023年教程总汇引言今天分享的文章是2024发表在NatMed.期刊中,来自上海交通大学医学院的文章,作者提供了全文的绘图代码,确实勇,对于学习绘图提供充分的素材。也是一个学习作图具重大意义......
  • 如何开启项目管理学习之旅?免费助你建立系统知识体系
    活动介绍新时代新挑战,传统公司的结构、传统的企业管理方式、增长策略与决策面对常态化的不确定性时备受挑战。项目经济时代,面对内外部环境的快速变化,企业、组织、个人要如何从容应对?在当下竞争日益激烈的市场环境中,企业需要不断提升自身管理能力来应对各种挑战,而通过内训系统地学习......
  • 苍穹外卖学习日志 -----20天项目从零到完结-----含软件下载,环境配置,框架学习,代码编写,
    年份2024    基础:Javase  Javaweb已完结   2024  8.25---9.14  20天Day-01   8.25今天开始学习已经晚了,网盘下载了一下文件,做了一些开始项目的准备工作。本来其实打算用notepad++来写学习日志的,但是那个传不了图片,而且编辑视图没有这......
  • 关于深度学习量化的操作
    0.简介深度学习中做量化提升运行速度是最常用的方法,尤其是大模型这类非常吃GPU显存的方法。一般是高精度浮点数表示的网络权值以及激活值用低精度(例如8比特定点)来近似表示达到模型轻量化,加速深度学习模型推理,目前8比特推理已经比较成熟。比如int8量化,就是让原来32bit存储的数字映......
  • 【开题报告+文档+源码】基于SSM框架的诗词吟诵知识学习系统的设计与实现
    项目背景与意义随着信息技术的迅猛发展,互联网已经成为人们获取知识的重要途径。特别是在线教育平台的兴起,使得教育资源得以更广泛的传播和利用。为了满足青岛滨海学院学生对吟诵知识学习的需求,本文设计并实现了一个基于SSM(Spring+SpringMVC+MyBatis)框架的吟诵知识学习系统......
  • 基于springboot+vue的高校学生考勤系统-可用于计算机毕设-课程设计-练手学习
    博主简介:......
  • hive学习笔记之二:复杂数据类型
    selectperson,friends[0],friends[3]fromt2;执行结果如下,第一条记录没有friends[3],显示为NULL:hive>selectperson,friends[0],friends[3]fromt2;OKperson _c1 _c2tom tom_friend_0 NULLjerry jerry_friend_0 jerry_friend_3Timetaken:0.052seconds,Fetched:2......
  • jackson学习之五:JsonInclude注解
    本文是《jackson学习》系列第五篇,来熟悉一个常用的注解JsonInclude,该注解的仅在序列化操作时有用,用于控制方法、属性等是否应该被序列化;之所以用单独的一篇来写JsonInclude注解,是因为该注解的值有多种,每种都有不同效果,最好的学习方法就是编码实战;先对注解的所有取值做个简......
  • D15【python接口自动化学习】-python基础之内置数据类型
    day15字典的常见操作(上)学习日期:20240922学习目标:内置数据类型--24常见常新:字典的常见操作(上)学习笔记:字典的内置函数访问字典的内容#访问字典的所有元素mail_list={'tom':'[email protected]','jerry':'[email protected]','john':'[email protected]'}print(mail_li......