目录
对比学习 理解,我推荐这篇博客:
对比学习(Contrastive Learning) - 知乎
python代码实现:
import torch
import torch.nn.functional as F
# 定义对比损失函数
def contrastive_loss(y, x1, x2, margin=1.0):
# 计算x1和x2之间的欧氏距离
dist = F.pairwise_distance(x1, x2)
# 计算对比损失。当y=1时,损失是dist的平方;当y=0时,损失是margin和dist的差的平方(但至少为0)
loss = y * torch.pow(dist, 2) + (1 - y) * torch.pow(torch.clamp(margin - dist, min=0.0), 2)
# 返回损失的平均值
return torch.mean(loss)
# 生成模拟数据
x1 = torch.randn(100, 128) # 生成100个随机向量,每个向量的维度是128
x2 = torch.randn(100, 128) # 同上
y = torch.randint(0, 2, (100,)) # 生成100个随机标签,值为0或1
# 使用模拟数据计算损失
loss = contrastive_loss(y, x1, x2)
自监督学习cvpr2022推荐
SimCLR 2021
在SimCLR的自监督表征上训练的线性分类器达到了76.5%的最高精度,比之前的SOTA相对提高了7%,已经赶上有监督学习的ResNet-50了。当仅对1%的标签进行微调时,实现了85.8%的前5名精度,以少100倍的标签胜过AlexNet。
https://github.com/sthalles/SimCLR
DALL-E 2
DALL-E 2是一款人工智能图像生成器,它可以根据自然语言的文本描述创建图像和艺术形式。换句话说,它是一个根据文本生成图像的人工智能系统。