对比预测编码用于表征学习

论文题目:Representation Learning with Contrastive Predictive Coding

Summary

  • 论文通过设计一个编码器和一个自回归模型,使的模型能够提取上下文信息,对当前特征进行编码,同时能利用当前表征及以前的表征来预测未来的表征。

Problem Statement

  • 监督模型由于有庞大的训练集进行支撑,因此可以有较好的效果,但无监督学习认存在较大的挑战,如何学习得到通用的表征模型,是当前需要解决的问题。

Method

  • 模型:编码器+自回归模型
    在这里插入图片描述
  • 利用噪声对比估计损失函数进行优化网络
    在这里插入图片描述

Evaluation

  • 为评估模型的好坏以及通用性,评估方法如下:
  • 音频
  • 视觉
  • 自然语言
  • 辅助强化学习

Conclusion

  • 将编码器和自回归模型相结合使的模型可以学习得到当前的表征和上下文信息,因此可用于多种数据类型的处理。

Notes

  • While supervised learning has enabled great progress in many applications, unsupervised learning has not seen such widespread adoption, and remains an important and challenging endeavor for artificial intelligence.
  • Improving representation learning requires features that are less specialized towards solving a
    single supervised task.
  • Despite its importance, unsupervised learning is yet to see a breakthrough similar to supervised
    learning: modeling high-level representations from raw observations remains elusive.

References

  • Unsupervised visual representation learning by context prediction.
  • Noise-contrastive estimation: A new estimation principle for unnormalized statistical models.
  • Adaptive importance sampling to accelerate training of a neural probabilistic language model.
  • Distance metric learning for large margin nearest neighbor classification.
  • Visualizing data using t-sne
  • Multi-task self-supervised visual learning.
  • Layer normalization.
### 自监督对比学习用于分子性质预测 自监督对比学习通过挖掘数据内部结构来构建有用的特征表示,在无需大量标注数据的情况下实现有效的模型训练。对于分子性质预测而言,这种方法能够克服传统方法仅依赖于单一分子表征而忽略分子间关系的局限性[^1]。 #### 数据预处理与增强 为了使模型更好地理解不同分子之间的关联模式,通常会对原始分子图谱实施多种变换操作作为正样本对输入网络进行训练。这些转换可能涉及旋转、翻转或其他保持化学意义不变的操作方式。此外,还可以采用随机掩码部分原子节点及其连接边的方法制造负样本集,从而强化区分能力。 ```python import torch from torchvision import transforms class MolTransform(object): """ 定义适用于分子图形像或指纹的一系列几何/拓扑变化 """ def __init__(self, transform_list=None): self.transform = transforms.Compose(transform_list) def __call__(self, mol_data): return self.transform(mol_data) ``` #### 对比损失函数设计 核心在于定义一对相似度得分机制以及相应的优化目标——最大化同一分子经由不同增广路径得到视图间的互信息;最小化来自其他任意两个不相关个体之间此类统计量。具体来说,InfoNCE Loss 是一种广泛使用的公式表达: \[ \mathcal{L}_{\text {contrastive }}=-\log \frac{\exp (\operatorname{sim}\left(\boldsymbol{z}_{i}, \boldsymbol{z}_{j}^{+}) / \tau)}{\sum_{k=1}^{2 N} \mathbf{1}[k \neq i] \cdot \exp (\operatorname{sim}\left(\boldsymbol{z}_{i}, \boldsymbol{z}_{k})) / \tau]} \] 其中 \( z_i \) 和 \( z_j^+\) 表示同一个分子的不同视角编码向量,\( sim() \) 计算余弦距离,温度参数 τ 控制分布锐利程度[^2]。 #### 下游任务微调 经过充分迭代后的预训练阶段结束后,可固定住骨干架构权重并针对特定应用场景重新调整最后一层分类器或者回归头。此时只需少量标记实例即可获得良好泛化效果,显著降低了获取高质量标签的成本和技术难度。 ```python # 假设已经完成了一个基于GNNs框架下的SSL过程... downstream_model.load_state_dict(pretrained_ssl_encoder.state_dict(), strict=False) for param in downstream_model.encoder.parameters(): param.requires_grad_(False) optimizer = torch.optim.Adam(downstream_model.fc.parameters()) criterion = nn.MSELoss() # 开始利用有限数量的真实实验测量值来进行finetune train_loop(train_loader, optimizer, criterion, device='cuda') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值