【王树森】Few-Shot Learning (2/3): Siamese Network 孪生网络(个人向笔记)

news2024/11/13 10:39:12

Learning Pairwise Similarity Scores

Training Data

  • 训练集有很多个类别的图片,每个类别的图片都有标注
    在这里插入图片描述

  • Positive Sample:我们需要正样本来告诉神经网路什么东西是同一类

  • Negative Sample:负样本可以告诉神经网路事物之间的区别
    在这里插入图片描述

  • 我们用CNN来提取图片的特征:
    在这里插入图片描述

  • 把两张图片用同一个CNN提取特征向量,然后把得到的两个特征向量取差的绝对值: z = ∣ h 1 − h 2 ∣ z=|h_1-h_2| z=h1h2,然后通过一个全连接层变为一个数后放到 Sigmoid 激活函数里面。我们的标签是 1,可以利用交叉熵损失函数来反向传播计算梯度,然后梯度下降来更新参数。
    在这里插入图片描述

  • 其中的参数有CNN的参数和全连接层的参数
    在这里插入图片描述

  • 训练的时候我们要准备同样数量的正样本和负样本


TripLet Loss

  • 随机选择一张图片作为锚点anchor,抽取它同种类的一张图为正样本,不同种类的一张图为负样本

在这里插入图片描述

  • 把三张图片都放入一个CNN里面提取特征向量,然后分别计算锚点与正样本和负样本的二范数平方,我们期望 d + d^+ d+ 很小,因为锚点和正样本属于同类别。期望 d − d^- d 很大,因为锚点与负样本不是同类别

在这里插入图片描述

  • CNN 可以把图片提取特征向量投射到特征空间中,两张相似图片在特征空间的距离应该尽可能接近,而不同种图片的距离应该尽可能远离,这样才能够比较好区分
    在这里插入图片描述
  • 由上我们可以得出损失函数:如果 d + d^+ d+ d − d^- d 差别足够大,那么 Loss 为 0。但是如果差别没有那么大就会有 Loss,那么我们就可以通过这个损失来更新 CNN 的参数了

在这里插入图片描述

  • 在做预测的时候,我们计算 Query 和 Support Set 的距离即可
    在这里插入图片描述

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

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

相关文章

【笔记】数据结构04

文章目录 稀疏矩阵压缩存储三元组表示稀疏矩阵转三元组 栈的应用前缀表达式前缀表达式求值 中缀表达式后缀表达式 稀疏矩阵内容参考 强连通文章 稀疏矩阵压缩存储三元组表示 将非零元素所在的行、列以及它的值构成一个三元组(i,j,v),然后再…

推荐 3 个好用的桌面管理工具,实用强大,不要错过

BitDock BitDock是一款运行在Windows系统中的桌面停靠栏工具,也被称为比特工具栏。这款软件模仿了Mac系统的Dock栏设计,旨在为用户提供一个简洁、高效且极具美感的桌面环境。BitDock不仅具有个性化的外观,还内置了多种实用功能,如…

Java后端 - 常见BUG及其处理策略(持续更新中~)

Bug 收集与总结 本文记录的是 本人SpringBoot 后端项目使用和运行代码时所遇到的各种问题,全部都已解决,欢迎在评论区补充你遇到的 Bug 哦!仅以本文记录学习社区项目时,所遇到的奇奇怪怪的 bug,以及一些很愚蠢的错误&…

从马斯洛需求层次理论谈职场激励

马斯洛需求层次理论是一个广为人知的心理学概念,它是由美国心理学家亚伯拉罕马斯洛(Abraham Maslow)于1943年提出,常被描述为一个5层的金字塔模型,反映了人类不同需求层级和依赖关系。马斯洛认为人类只有在低层级需求得…

在 VS Code 中使用 Git 源代码管理【Mac 版】

文章目录 一、Git 使用文档二、使用示例1、复制远程仓库地址2、查看当前所在的分支2.1、界面查看2.2、终端查看 3、修改/新增文件4、显示增改的详细内容5、添加暂存区6、查看/取消暂存的更改7、提交本地代码库8、待提交文件9、推送到远程仓库10、验证11、查看推送记录11.1、关于…

六. 部署分类器-trt-engine-explorer

目录 前言0. 简述1. 案例运行2. 补充说明3. engine分析结语下载链接参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第六章—部署分类器,一起来学习 trt-engine…

Linux日志-secure日志

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux进阶部分又分了很多小的部分,我们刚讲完了Linux基础软件,下面是Linux日志。Linux 系统中的日志是记录系统活…

18041 分期还款(加强版)

### 自查思路 1. 检查输入数据的处理是否正确。 2. 检查判断条件 p < d * r 是否正确。 3. 确认公式计算和输出格式是否正确。 ### 伪代码 1. 读取输入的贷款金额、每月还款额和月利率。 2. 判断是否可以还清贷款&#xff1a; - 如果每月还款额小于贷款金额乘以月利率&a…

深度学习与大模型第2课:机器学习实战

文章目录 深度学习与大模型第2课&#xff1a;机器学习实战1. Iris鸢尾花数据集分类1.1 数据预处理1.2 模型训练与评估 2. 美国加州房价预测2.1 数据预处理2.2 模型训练与调优 3. 房价数据的回归分析3.1 数据预处理与建模 4. 时尚衣物识别:MNIST 数据集分类4.1 数据读取与可视化…

跑Boundary-Aware Feature Propagation遇到的问题

跑Boundary-Aware Feature Propagation遇到的坑 1、运行不报错&#xff0c;也不显示结果 从train.py代码第一行import开始添加&#xff0c;print&#xff08;“check1”&#xff09;&#xff0c;发现问题torch.encoding无法导入&#xff0c;反复地参考github源代码https://gith…

Axure RP9安装教程(Pro版)

[Axure RP 9.0下载链接]: https://ga90eobypbb.feishu.cn/docx/WKvldvZkMoKPnIx3Yl2cJhOBnqe 1.找到下载好的安装包&#xff0c;右键解压到“Axure RP 9.0”文件夹 2.双击打开解压出来的文件夹&#xff0c;选中”AxureRP-安装程序.exe“右键以管理员身份运行 3.点击"Nex…

测试小白入门-03测试理论知识看这一篇就够了

文章目录 前言一、软件开发过程模型瀑布开发模型&#xff08;熟悉&#xff09;快速原型模型&#xff08;理解&#xff09;螺旋模型(了解) 二、测试模型测试V模型&#xff08;代表性&#xff09;测试W模型&#xff08;中大型企业&#xff09;测试H模型&#xff08;了解&#xff…

38集 ESP32 离线刷机教程

38集 ESP32 离线刷机教程 打开离线刷机工具 e:\technology\ESP32\esp32s3Qorvo\esp32-s3_rtc\ESP离线刷机\flash_download_tool_3.9.7_1\flash_download_tool_3.9.7\flash_download_tool_3.9.7.exe 设置如下&#xff1a; 要知道如何设置&#xff0c;需要知道esp32s3 工程的me…

【C++ Primer Plus习题】8.5

问题: 解答: #include <iostream> using namespace std;template <typename T> T max5(T arr[5]) {T max 0;for (int i 0; i < 5; i){if (arr[i] > max){max arr[i];}}return max; }int main() {int max 0;double max1 0.0;int a1[5] { 21,34,12,42,9…

【综合小项目】—— 爬取数据、数据处理、建立模型训练、自定义数据进行测试

文章目录 一、项目内容二、各步骤的代码实现1、爬取数据2、数据处理3、建立模型训练4、自定义数据进行预测 一、项目内容 1、爬取数据 本次项目的数据是某购物平台中某个产品的优质评价内容和差评内容采用爬虫的 selenium 方法进行爬取数据内容&#xff0c;并将爬取的内容分别…

C_11_位段,共同体,枚举

位段 位段也称 位域 ​ 1 字节 8 位域 概述&#xff1a; 特殊的结构体 大小按位分配 示例1&#xff1a; struct packed_data {unsigned int a : 2; // 占2 位unsigned int a : 4; // 占4 位unsigned int a : 6; // 占6 位unsigned int i; // 占4字节 32位 1b8位 } data…

打字练习神器与基础打字指法

先奉上链接&#xff1a;Learn Touch Typing Free - TypingClub 最近观察到一位计算机的学长打字哒哒哒哒停不下来&#xff0c;研究了一下发现是自己的指法有问题&#xff0c;只能从头开始学起啦。如果刚学打字的朋友们一定要学习指法&#xff0c;打好基础&#xff01; 基础指法…

基于微信小程序的挂号管理系统-小程序端

微信小程序端系统功能实现 登录功能 系统登录功能中&#xff0c;用户只需在登录界面输入正确的用户名和密码&#xff0c;即可快速进入系统。登录功能还采用了先进的加密技术&#xff0c;保障用户信息的安全性&#xff0c;让用户能够放心使用。 注册功能 系统注册功中&#xf…

js数据类型转换-----统一转成字符串String()

String&#xff08;&#xff09; 所有类型都可以转成字符串 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"…

告别无序 10款科研项目管理工具为您的科研之路加速

国内外主流的10 款科研单位科研项目管理系统对比&#xff1a;PingCode、Worktile、Wizard、ShowDoc、Asana、ClickUp、Notion、Wrike、Basecamp、智方科研管理系统。 在选择科研项目管理系统时&#xff0c;许多科研单位都面临着如何找到能够真正满足特定需求的系统这一挑战。市…