当前位置: 首页 > news >正文

3、孪生网络/连体网络(Siamese Network)

目的:

用Siamese Network (孪生网络) 解决Few-shot learning (小样本学习)。

Siamese Network并不是Meta Learning最好的方法,

但是通过学习Siamese Network,非常有助于理解其他Meta Learning算法。

这里介绍了两种方法:Siamese Network (孪生网络)、Trplet Loss

Siamese Network孪生网络

1、拿到一个样本量较大的训练集,对数据集进行正负样本分类。

正样本图片之间两两标一,负样本图片之间两两标0。

2、搭建一个卷积神经网络(CNN),用于提取特征。

CNN中有卷积层,池化层,和展平层。

输入是一张图片x,输出是提取的特征向量f(x)。

3、训练神经网络。

  1. 将两张图片输入同一CNN网络
  2. 第一张图片提取的向量为h_{1}=f\left ( x_{1} \right )
  3. 第二张图片提取的向量为h_{2}=f\left ( x_{2} \right )
  4. 两个特征向量之间的区别向量:z=\left | h1-h2 \right |
  5. 全连接层处理向量z,得到标量。
  6. 用Sigmoid激活函数,输出一个0-1之间的实数sim(x_{1},x_{2})

正样本:

两张图都是老虎,因此标签为1。

  1. 损失函数Loss是标签与预测sim(x_{1},x_{2})之间的差值。
  2. 用反向传播,梯度从损失函数传回至向量z以及全连接层的参数;
  3. 梯度下降更新模型参数;
  4. 模型主要有两个部分:一个是卷积神经网络f,从图片提取特征;另一部分是全连接层,用来预测相似度。
  5. 预测的过程就是对其中的参数进行更新。

梯度进一步传到卷积神经网络f,用计算出的梯度更新卷积层的参数。

负样本:

两张图不同,因此标签为0。

Triplet Loss:

Reference: Facenet:A unified embedding for face recognition and clustering. In CVPR,2015

总结:


http://www.mrgr.cn/news/95870.html

相关文章:

  • 【WebGIS教程1】WebGIS学习初步知识了解 · 概述
  • 2025最新版Ubuntu Server版本Ubuntu 24.04.2 LTS下载与安装-详细教程,细致到每一步都有说明
  • Linux--环境变量
  • 向量数据库学习笔记(1) —— 基础概念
  • djinn: 1靶场渗透测试
  • 微服务面试题:分布式事务和服务监控
  • 中学数学几百年重大错误:将无穷多各异假R误为R——两数集相等的必要条件
  • 万字C++STL——vector模拟实现
  • STM32内部时钟输出比较OC(学习笔记)
  • 常用的离散时间傅里叶变换(DTFT)对
  • Langchain中的表格解析:RAG 和表格的爱恨情仇
  • 深入 SVG:矢量图形、滤镜与动态交互开发指南
  • Python进阶编程总结
  • 定长内存池原理及实现
  • 【Linux知识】RPM软件包安装命令行详细说明
  • MoManipVLA:将视觉-语言-动作模型迁移到通用移动操作
  • Rust从入门到精通之精通篇:21.高级内存管理
  • Tasklet_等待队列_工作队列
  • ngx_http_core_location
  • SVN常用命令