2024春 神经网络与深度学习课程总结 第6周

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、风格迁移

1.1 方法

  1. 初始化合成图像,例如将其初始化成内容图像。该合成图像是样式迁移过程中唯一需要更新的变量,即样式迁移所需迭代的模型参数。
  2. 选择一个预训练的卷积神经网络来抽取图像的特征,其中的模型参数在训练中无须更新。深度卷积神经网络凭借多个层逐级抽取图像的特征。可以选择其中某些层的输出作为内容特征或样式特征。

举例:这里选取的预训练的神经网络含有3个卷积层,其中第二层输出图像的内容特征,而第一层和第三层的输出被作为图像
的样式特征。接下来,我们通过正向传播(实线箭头方向)计算样式迁移的损失函数,并通过反向传播(虚线箭头方向)迭代模型参数,即不断更新合成图像。
在这里插入图片描述

样式迁移常用的损失函数由3部分组成:
⚫ 内容损失(content loss)使合成图像与内容图像在内容特征上接近
⚫ 样式损失(style loss)令合成图像与样式图像在样式特征上接近
⚫ 总变差损失(total variation loss)则有助于减少合成图像中的噪点。
最后,当模型训练结束时,我们输出样式迁移的模型参数,即得到最终的合成图像。

1.2 代价函数

内容代价函数:
选定隐藏层l,用𝑎 𝑙 [𝐶]表示图片C在第l层的激活项输出, 𝑎 𝑙 [G]表
示图片G在第l层的激活项输出,则定义内容代价函数如下:
在这里插入图片描述
风格矩阵:
在这里插入图片描述
在这里插入图片描述
总体风格代价函数:
在这里插入图片描述
总体代价函数:
在这里插入图片描述

二、生成对抗网络

2.1 概念

构造两个神经网络,一个生成器,一个鉴别器,二者互相竞争训练,最后达到一种平衡(纳什平衡)。

GAN 启发自博弈论中的二人零和博弈(two-player game),GAN 模型中的两位博弈方分别由生成式模型(generativemodel, G)和判别式模型(discriminative model, D)充当。

GAN可以像人类一样生成图像、音乐、语音或文本等素材。

GANs由两个神经网络组成,一个用于生成数据,另一个用于区分虚假数据
和真实数据。目前典型的应用包括:
⚫ 使用CycleGan进行风格转换
⚫ 使用Deepfacelab生成人脸

生成器的作用是估计真实样本的概率分布,以便提供与真实数据相似的生成样本。
判别器被训练来估计一个给定样本来自真实数据而不是由生成器提供的概率。
这些结构被称为生成式对抗网络,因为生成器和鉴别器被训练成相互竞争:生成器试图更好地欺骗鉴别器,而鉴别器则试图更好地识别生成的样本。

2.2 GAN架构

生成器 𝐺 输入为隐空间的随机数据,它的作用是生成类似于真实样本的数据。在这个例子中,你有一个二维的隐空间,因此生成器被输入随机的(𝑧1, 𝑧2)对,并对它们进行转换,使它们与真实样本相似。
𝐺的结构可以是任意的,可使用多层感知器(MLP)、卷积神经网络(CNN)或任何其他结构,只要输入和输出的尺寸与隐空间和真实数据的维数相匹配。

鉴别器𝐷接收来自训练数据集的真实样本或G提供的生成样本,其作用是估计输入属于真实数据集的概率。输入来自真实样本时输出1,来自生成样本时输出0。
鉴别器𝐷 同样可选择任意的神经网络结构。在本例中,输入是二维的,输出可以是从0到1的标量。
GAN训练过程由两人minimax博弈组成,其中D用于最小化真实样本和生成样本之间的识别误差, G用于最大化D出错的概率。虽然包含真实数据的数据集没有标记,但D和G的训练过程是以有监督的方式执行的。

在训练的每个步骤中, 𝐷和𝐺都会更新其参数。
为了训练𝐷,在每次迭代中,将从训练数据中获取的真实样本标记为1,将𝐺提供的一些生成样本标记为0。这样,可以使用传统的监督训练框架来更新𝐷的参数,以最小化损失函数。
在这里插入图片描述
对于每一批包含标记的真实样本和生成的样本的训练数据,要更新D的参数以最小化损失函数。在D的参数被更新后,训练G以产生更好的生成样本。 G的输出连接到D,其参数保持冻结。
在这里插入图片描述
将由G和D组成的系统想象为一个单独的分类系统,该系统接收随机样本作为输入并输出分类,在本例中可以将其解释为概率。
当G的表现足以愚弄D时,输出概率应该接近1。这里还可以使用传统的监督训练框架:训练由G和D组成的分类系统的数据集将由随机输入样本提供,与每个输入样本关联的标签将为1。
在训练期间,随着D和G参数的更新,预计G给出的生成样本将更接近真实数据,而D将更难区分真实数据和生成数据。

三、NeRF

NeRF(Neural Radiance Fields)最早在2020年ECCV会议上发表,作为BestPaper,其将隐式表达推上了一个新的高度,仅用 2D 的 posed images 作为监督,即可表示复杂的三维场景。 NeRF迅速发展起来,被应用到多个技术方向上,例如新视点合成、三维重建等等,并取得非常好的效果。
NeRF其输入稀疏的多角度带pose的图像训练得到一个神经辐射场模型,根据这个模型可以渲染出任意视角下的清晰的照片,也可以简要概括为用一个MLP神经网络去隐式地学习一个三维场景。

四、Transformer

4.1 概念

在机器翻译中,就是输入一种语言,输出另一种语言。
由编码组件、解码组件和它们之间的连接组成。
在这里插入图片描述
编码组件部分由6个编码器(encoder)叠在一起构成。解码组件部分也是由相同数量的解码器(decoder)组成的。

所有的编码器在结构上都是相同的,但它们没有共享参数。每个解码器都可以分解成两个子层。
在这里插入图片描述
从编码器输入的句子首先会经过一个自注意力( self-attention)层,这层帮助编码器在对每个单词编码时关注输入句子的其他单词。
自注意力层的输出会传递到前馈神经网络中。每个位置的单词对应的前馈神经网络都完全一样。

解码器中也有编码器的自注意力层和前馈层。除此之外,这两个层之间还有一个注意力层,用来关注输入句子的相关部分。
在这里插入图片描述

4.2 编码

词嵌入:在NLP中,将每个输入单词通过词嵌入算法转换为词向量。每个单词都被嵌入为512维的向量。

编码:编码器接收向量列表作为输入,接着将向量列表中的向量传递到自注意力层进行处理,然后传递到前馈神经网络层中,将输出结果传递到下一个编码器中。

4.3 注意力机制

查询、键与值向量:
计算自注意力的第一步就是从每个编码器的输入向量(每个单词的词向量)中生成三个向量。也就是说对于每个单词,我们创造一个查询向量、一个键向量和一个值向量。这三个向量是通过词嵌入与三个权重矩阵后相乘创建的。
计算自注意力的第二步是计算得分。为这个例子中的第一个词“Thinking”计算自注意力向量,需要拿输入句子中的每个单词对“Thinking”打分。这些分数决定了在编码单词“Thinking”的过程中有多重视句子的其它部分。
第三步和第四步是将分数除以8(8是论文中使用的键向量的维数64的平方根,这会让梯度更稳定。这里也可以使用其它值, 8只是默认值),然后通过softmax传递结果,使得到的分数都是正值且和为1。
第五步是将每个值向量乘以softmax分数(为了准备之后求和)。这里的直觉是希望关注语义上相关的单词,并弱化不相关的单词(例如,让它们乘以0.001这样的小数)。
第六步是对加权值向量求和然后即得到自注意力层在该位置的输出(在我们的例子中是对于第一个单词)。

五、大语言模型

阶段一:无监督预训练
无监督预训练技术分为两个阶段,分别是语言模型预训练和掩码语言模型预训练。语言模型预训练的目标是预测下一个单词的概率,掩码语言模型预训练的目标是根据输入的部分文本预测掩码位置上的单词。
阶段二:有监督训练微调技术
微调技术是ChatGPT实现对话生成的关键技术之一,它可以通过在有标注数据上进行有监督训练(人为问题回答),从而使模型适应特定任务和场景。微调技术通常采用基于梯度下降的优化算法,不断地调整模型的权重和偏置,以最小化损失函数,从而提高模型的表现能力。
阶段三:奖励模型训练
一个奖励模型(RM)的目标是刻画模型的输出是否在人类看来表现不错。即,输入 [提示(prompt),模型生成的文本] ,输出一个刻画文本质量的标量数字。用于训练奖励模型的Prompt数据一般来自于一个预先富集的数据集,比如Anthropic的Prompt数据主要来自Amazon Mechanical Turk上面的一个聊天工具; OpenAI的Prompt数据则主来自那些调用GPT API的用户。基于前面提到的预先富集的数据,从里面采样prompt输入, 同时丢给初始的语言模型和我们当前训练中的语言模型( policy) , 得到俩模型的输出文本y1, y2。 然后用奖励模型RM对y1、 y2打分, 判断谁更优秀。 打分的差值便可以作为训练策略模型参数的信号。有了这个reward,可以使用PPO)算法更新模型参数。

  • 47
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值