CLIP和GPT

CLIP

  • CLIP下游应用:VQGAN、DALL-E
  • CLIP-Event:Connecting Text and Images with Event Structures
  • Hierarchical Text-Conditional Image Generation with CLIP Latents
  • GPT系列算法
    • GPT-1:
    • GPT-2:
    • GPT-3:
    • GPT-3应用:Evaluating Large Language Models Trained on Code:CODEX
    • streamlit前端框架

GPT:有足够大的语料,可以完成相关的下游任务
总结:
Contrastive Language-Image Pre-Training(利用文本的监督信号训练一个迁移能力强的视觉模型),预训练模型直接zero-shot,迁移能力强。
泛化能力强,不需要训练也能认识。
可以在CLIP基础上做拓展。
打通图像和文本的连通,对抗生成网络

CLIP下游应用:VQGAN、DALL-E

总体思路:将关键词/离散特征组装特征为连续特征。
本质:图像离散化特征。
流程:编码器(模型学出来的)得到特征——根据相似度得到离散特征——查codebook表,得到最后实际编码后的特征。

基于VQGAN:建立Codebook,计算相似度
CLIP和GPT_第1张图片

CLIP-Event:Connecting Text and Images with Event Structures

能将事件中的人与动作链接起来。
相当于先通过文本时间抽取得到一些关系组合,再与图像进行配对
新闻事件抽取——知识图谱的抽取——先把新闻抽取成一个三元组,然后还要再讲他们组合成一句话
正负样本的制作——正样本就是抽取的事件——负样本可以替换事件——也可以替换主体——类似hard negative
正负样本组合

Hierarchical Text-Conditional Image Generation with CLIP Latents

github代码: DALLE2-pytorch

  • 对比学习:无监督近似有监督的效果。4亿对配对文本,可以训练出一个模型。prior生成clip的image embedding——decoder生成一个图像。(扩散模型:diffusion model,U-Net,扩散过程:对图片逐渐加噪、马尔科夫过程;逆扩散过程:从噪声中逐渐复原出图片。

  • 已知:加载预训练模型,获得文本embedding、图像embedding。

  • 输入:text embedding

  • 过程:训练两个UNET:先验prior+decoder

  • (1)先验prior生成初始化图像向量:通过caption去生成图像embedding。
    AR先验:VQGAN通过codebook将图像离散化
    diffusion model扩散模型:使用Gaussian噪声不断去还原。
    文本输入(全局向量cls部分+每个词对应的向量token部分)+时间步输入+随机初始化噪音

  • 输出:构建图像

GPT系列算法

  • 基于Transformer做的,数据量大/参数多。目前适用于:不自己训练语言模型,微调GPT适应下游任务。
  • 使用Huggingface里面的,微调
  • GPT历史:
    2018年,GPT-1,5GB文本,1.17亿参数量。
    2019年,GPT-2,约40GB文本,15亿参数量。
    2020年,GPT-3,45TB文本,1750亿参数量。
  • BERT与GPT区别:BERT完形填空,结合上下文——简单任务,是一个编码器GPT:自回归模型,只给上文来预测下文,是一个解码器

GPT-1:

整体结构就是transformer解码器。所有下游任务都需要微调(再训练)

GPT-2:

下游任务不需要微调
Zero-Shot:不做任何训练、不做任何微调,只通过提示表示。提示在实际任务中没有训练。
(1)采样策略相关:
自回归模型要进行预测,但是会陷入一个死循环呢。成语接龙:一一得一,一一得一,一一得一,一一得一,一一得一。我们希望模型有点多样性,在生成中优先选概率高的,小概率选边缘化的东西。
(2)采样参数相关:
Temperature温度:对预测结果进行概率重新设计,默认温度为1就相当于还是softmax。温度越高,相当于多样性越丰富(雨露均沾),温度越低相当于越希望得到最准的那个
Top k与Top p:TOPK和TOPP都是要剔除掉那些特别离谱的结果。T0PK比如概率排序后,选前10个,那之后的值就全部为0;TOPP就跟那个CUMSUM似的,算累加,一般累加到0.9或者0.95,之后的值就全部为0。

GPT-3:

不做微调。GPT-3训练的数据包罗万象,上通天文下知地理。 虽然没提供源码,但是提供了付费API来微调。单独训练“提示”,其实中文模型也有很多,百度文心大模型应该也能媲美一下。

  • 3种核心的下游任务方式:Zero-shot、One-shot、Few-shot。
    (1)Zero-shot:The model predicts the answer given only a natural languaged escription of the task.No gradient updates are performed.模型只给出任务的自然语言描述来预测答案。不执行梯度更新。
    CLIP和GPT_第2张图片
    (2)One-shot:In addition to the task description,the model sees a singleexample of the task.No gradient updates are performed.除了任务描述之外,模型还看到了任务的单个示例(将提示例子与输入一起输入到模型中,一个提示都有效果)。不执行梯度更新。
    CLIP和GPT_第3张图片
    (3)Few-shot:In addition to the task description,the model sees a fewexamples of the task.No gradient updates are performed.除了任务描述之外,模型还会看到一些任务的例子(将提示所有例子与输入一起输入到模型中,一个提示都有效果)。不执行梯度更新。
    CLIP和GPT_第4张图片
    3种方式的对比:这三种都没有更新模型,肯定few的效果好一些,但是问题就是API更贵了,输入序列长度更长了。
    准备数据:
    1.数据集得大,清洗
    2.质量判断,对爬取的网页,进行分类任务看其质量ok不
    3.对网页进行筛选,剔除掉一些重要性低的(这些算法设计起来也不容易)
    4.包括了前几代版本的训练数据,整合一块后开始训练

GPT-3应用:Evaluating Large Language Models Trained on Code:CODEX

用GPT-3模型重新训练(注意不是微调),面向GITHUB编程。
专业定制化

streamlit前端框架

你可能感兴趣的:(机器学习与深度学习AI,gpt,深度学习,人工智能)