📗
deeplearning
  • 机器学习
    • LR & SVM
    • 树模型
    • 评测指标
    • 数据不平衡
  • CV基础
    • 基础模型
    • 初始化
    • 激活函数
    • 注意力机制
    • 损失函数
    • 优化器
    • 可视化
    • 轻量级网络
    • 多任务学习
  • deepfake
    • 数据集
  • 人脸
    • 数据集
    • 人脸对齐
    • 人脸检测
    • 人脸识别
  • 语义分割
    • 语义分割
  • 无监督
    • 无监督
  • 推荐系统
    • 推荐系统模型
    • 推荐系统中的偏差
    • 王喆:深度学习推荐系统
    • 特征处理
    • 重排序
    • 互联网商业化变现
  • 数学
    • bayes最大似然
    • 蒙特卡洛
  • 网站
    • css
    • html
    • js
    • jquery
    • flask
  • 基础工具
    • anaconda
    • docker
    • git
    • linux install
    • vpn
    • latex
  • python
    • numpy
    • matplotlib
    • pandas
    • multi process
    • pytorch
  • 设计模式
    • 设计模式之美
    • 图说设计模式
  • 其他
    • how to ask
    • python style
Powered by GitBook
On this page
  • 自编码器
  • 对比损失
  • MOCO

Was this helpful?

  1. 无监督

无监督

Previous语义分割Next推荐系统模型

Last updated 3 years ago

Was this helpful?

自编码器

对比损失

$L=\frac{1}{2 N} \sum_{n=1}^{N} y d^{2}+(1-y) \max (margin-d, 0)^{2}$

$d=||a_n-b_n||_2$代表两个样本的欧式距离,代表两个样本的欧式距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。

当y=1时,损失函数为$L=\frac{1}{2 N} \sum_{n=1}^{N} d^{2}$,即相似样本的距离要尽可能的小。

当y=0时,损失函数为$L=\max (margin-d, 0)^{2}$,即非相似样本的距离要尽可能的大,大于某个与之就可以结束了,类似SVM中的soft margin。

MOCO

首先就是要提一下对比学习——基本思想就是让相似的样本距离比非相似的样本更近,这里构造一种损失来度量;那么神经网络经过这样的对比学习,就模型区分能力就更加强大了。如果负样本对越多,对比效果就越好,模型的训练难度就越大,最后训练得到的模型具备的能力肯定就更强。这里怎么样才能够在训练过程中增加对比度,也就是增加负样本对的数目,同时不会依赖硬件GPU显存太多,就是一个比较难的问题。Moco给出了一个很好的答案。

这里提出了一个重要的思想,将对比学习当作词典查询(Contrastive Learning as Dictionary Look-up)。将一个当作query,其他的当作key,共有(k+1)个key,其中一个正样本(通过和query不同的数据增强得到),k个负样本。损失函数用infoNCE,其中$\tau$是温度系数:

MoCo的训练过程如下:

MOCO——

Lq=−log⁡exp⁡(q⋅k+/τ)∑i=0Kexp⁡(q⋅ki/τ)\mathcal{L}_{q}=-\log \frac{\exp \left(q \cdot k_{+} / \tau\right)}{\sum_{i=0}^{K} \exp \left(q \cdot k_{i} / \tau\right)}Lq​=−log∑i=0K​exp(q⋅ki​/τ)exp(q⋅k+​/τ)​

Momentum Contrast for Unsupervised Visual Representation Learning