<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_62017984的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_62017984</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_62017984]]></copyright><item><title><![CDATA[第TR5周:Transformer实战-单词预测]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/140539284</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/140539284</guid><author>m0_62017984</author><pubDate>Fri, 19 Jul 2024 09:56:06 +0800</pubDate><description><![CDATA[定义编码器层# 定义编码器，pytorch将Transformer编码器进行了打包，这里直接调用即可# 初始化权重"""Arguments:src : Tensor, 形状为 [seq_len, batch_size]src_mask: Tensor, 形状为 [seq_len, seq_len]Returns:输出的 Tensor, 形状为 [seq_len, batch_size, ntoken]"""]]></description><category></category></item><item><title><![CDATA[第TR4周：Transformer中的位置编码详解]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/140363254</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/140363254</guid><author>m0_62017984</author><pubDate>Fri, 12 Jul 2024 09:56:08 +0800</pubDate><description><![CDATA[词的位置和顺序是任何语言的重要组成部分。它们决定着语法，因此也决定了句子的实际语义。卷积神经网络（CNN）使用卷积核来捕获单词之间的相对位置信息，但其仅能捕获固定大小的局部上下文信息。循环神经网络（RNN）在处理序列信息上会有更好的效果，其依靠循环结构，将序列信息逐步传递，这其中就引入了单词的位置和顺序信息。但随着序列长度的增加，RNN 会慢慢忘记早前的信息，这就导致了长期依赖问题。除此之外，循环结构也使得 RNN 无法并行计算，这使得 RNN 的训练速度十分缓慢。]]></description><category></category></item><item><title><![CDATA[第TR1---TR3周： Pytorch复现Transformer]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/140187585</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/140187585</guid><author>m0_62017984</author><pubDate>Fri, 05 Jul 2024 10:57:36 +0800</pubDate><description><![CDATA[主要序列转导模型基于复杂的循环或卷积神经网络，包括编码器和解码器。mechanism.性能最好的模型还通过注意力机制连接编码器和解码器。我们提出了一种新的简单网络架构——Transformer，它完全基于注意力机制，完全不需要递归和卷积。对两个机器翻译任务的实验表明，这些模型具有卓越的质量，同时具有更高的并行性，并且需要的训练时间显着减少。我们的模型在 WMT 2014 英德翻译任务中获得了 28.4 BLEU，比现有的最佳结果（包括集成）提高了 2 BLEU 以上。]]></description><category></category></item><item><title><![CDATA[第N8周:seq2seq翻译实战-Pytorch复现]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/139989887</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/139989887</guid><author>m0_62017984</author><pubDate>Wed, 26 Jun 2024 15:59:49 +0800</pubDate><description><![CDATA[定义了一个名为Lang的类，用于处理语料库。当use_teacher_forcing为True时，采用"Teacher Forcing"的策略，即将目标序列中的真实标签作为解码器的下一个输入。在序列生成的任务中，如机器翻译或文本生成，解码器（decoder）的输入通常是由解码器自己生成的预测结果，即前一个时间步的输出。函数将输入的字符串转换为 ASCII 字符串，然后使用正则表达式替换掉所有的句号、感叹号和问号，以及所有非字母、非空格、非句号、非感叹号、非问号的字符，最后返回处理后的字符串。]]></description><category></category></item><item><title><![CDATA[第N7周：seq2seq详解]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/139657878</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/139657878</guid><author>m0_62017984</author><pubDate>Thu, 13 Jun 2024 18:42:18 +0800</pubDate><description><![CDATA[seq2seq干了什么事情？seq2seq模型的输入可以是一个（单词、字母或者图像特征）序列，输出是另外一个（单词、字母或者图像特征）序列。一个训练好的seq2seq模型如下图所示：如下图所示，以NLP中的机器翻译任务为例，序列指的是一连串的单词，输出也是一连串单词。]]></description><category></category></item><item><title><![CDATA[第N6周：使用Word2vec实现文本分类]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/139501353</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/139501353</guid><author>m0_62017984</author><pubDate>Thu, 06 Jun 2024 16:40:29 +0800</pubDate><description><![CDATA[model.train() # 切换为训练模式optimizer.zero_grad() # grad属性归零loss = criterion(predicted_label, label) # 计算网络输出和真实值之间的差距，label为真实值loss.backward() # 反向传播torch.nn.utils.clip_grad_norm_(model.parameters(), 0.1) # 梯度裁剪optimizer.step() # 每一步自动更新# 记录acc与loss。]]></description><category></category></item><item><title><![CDATA[第N5周:调用Gensim库训练Word2Vec模型]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/139333463</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/139333463</guid><author>m0_62017984</author><pubDate>Thu, 30 May 2024 20:33:54 +0800</pubDate><description><![CDATA[余弦相似度是一种常用的向量相似度度量方法，它可以用于衡量两个向量之间的相似程度，值范围为[-1,1]。因此，通过计算两个词向量之间的余弦相似度，我们可以判断它们之间的关系是否密切。通常情况下，结巴分词能够对大多数文本进行比较准确的分词，但是对于一些特定的场景或者领域，可能会出现一些无法正确分词的情况。model.wv.most_similar(positive=['沙瑞金'], topn=5) 这行代码调用了模型的 most_similar 方法，用于查找与列表positive中的词语最相似的词。]]></description><category></category></item><item><title><![CDATA[第N4周：中文文本分类——Pytorch实现]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/139167345</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/139167345</guid><author>m0_62017984</author><pubDate>Fri, 24 May 2024 12:58:09 +0800</pubDate><description><![CDATA[train 和 evaluate分别用于训练和评估文本分类模型。·训练函数 train 的工作流程如下：将模型设置为训练模式。初始化总准确率、训练损失和总计数变量。记录训练开始的时间。遍历数据加载器，对每个批次：进行预测、清零优化器的梯度、计算损失（使用一个损失函数，例如交叉熵）、反向传播计算梯度、通过梯度裁剪防止梯度爆炸、执行一步优化器更新模型权重、更新总准确率和总损失、每隔一定间隔，打印训练进度和统计信息。]]></description><category></category></item><item><title><![CDATA[第N3周：Pytorch文本分类入门]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/139004237</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/139004237</guid><author>m0_62017984</author><pubDate>Fri, 17 May 2024 20:23:26 +0800</pubDate><description><![CDATA[定义TextClassificationModel模型，首先对文本进行嵌入，然后对句子嵌入之后的结果进行均值聚合。self.embedding = nn.EmbeddingBag(vocab_size, # 词典大小embed_dim, # 嵌入的维度self.embedding.weight.data.uniform_(-initrange, initrange)这段代码是在 PyTorch 框架下用于初始化神经网络的词嵌入层（embedding layer）权重的一种方法。]]></description><category></category></item><item><title><![CDATA[第N2周：Embeddingbag与Embedding详解]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/138534006</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/138534006</guid><author>m0_62017984</author><pubDate>Tue, 07 May 2024 16:17:54 +0800</pubDate><description><![CDATA[词嵌入是一种用于(NLP) 的技术，用于将单词表示为数字，以便计算机可以处理它们。通俗的讲就是，一种把文本转为数值输入到计算机中的方法。Embedding和EmbeddingBag则是PyTorch中的用来处理文本数据中词嵌入（word embedding）的工具，它们将离散的词汇映射到低维的连续向量空间中，使得词汇之间的语义关系能够在向量空间中得到体现。]]></description><category></category></item><item><title><![CDATA[第N1周：one-hot编码案例]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/138166071</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/138166071</guid><author>m0_62017984</author><pubDate>Wed, 24 Apr 2024 18:52:19 +0800</pubDate><description><![CDATA[one-hot编码的基本思想是将每个类别映射到一个向量，其中只有一个元素的值为1，其余元素的值为0。这种编码方式不仅能够避免不必要的关系假设，还能够提供清晰的输入表示，有助于模型的学习和泛化。在文本表征表示上有些缺点非常突出，首先one-hot 编码是一个词袋模型，是不考虑词和词之间的顺序问题，它是假设词和词之间是相互独立的，但是在大部分情况下词和词之间是相互影响的。one-hot编码得到的特征是离散稀疏的，每个单词的one-hot编码维度是整个词汇表的大小，维度非常巨大，编码稀疏，会使得计算代价变大。]]></description><category></category></item><item><title><![CDATA[第G9周：ACGAN理论与实战]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/137963794</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/137963794</guid><author>m0_62017984</author><pubDate>Fri, 19 Apr 2024 17:09:37 +0800</pubDate><description><![CDATA[如何评价一个生成模型生成图片的分辨率，最简单的方法无非就是直观用眼睛来看，但这样显然无法量化一个图片的好坏，于是作者提出使用一个分类器，若生成的图片具有较高的分类正确率，就有理由认为生成的图片质量比较高，也即该图片具有较高的可分辨性，如上所述，生成高分辨率的图片，需要不是简单的将低分辨率的图片进行线性插值来生成，因而要量化的分析生成的图片的质量，可以从其分辨力。原始任务是生成伪造图像。我们在之前关于图像质量评估的工作基础上，提供了两种新的分析方法，用于评估来自类条件图像合成模型的样本的可辨识性和多样性。]]></description><category></category></item><item><title><![CDATA[第G8周：ACGAN任务]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/137567042</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/137567042</guid><author>m0_62017984</author><pubDate>Tue, 09 Apr 2024 21:12:48 +0800</pubDate><description><![CDATA['''定义生成器 Generator'''# 定义条件标签的生成器部分，用于将标签映射到嵌入空间中# n_classes：条件标签的总数# embedding_dim：嵌入空间的维度nn.Embedding(n_classes, embedding_dim), # 使用Embedding层将条件标签映射为稠密向量nn.Linear(embedding_dim, 16) # 使用线性层将稠密向量转换为更高维度# 定义潜在向量的生成器部分，用于将噪声向量映射到图像空间中。]]></description><category></category></item><item><title><![CDATA[第G7周：Semi-Supervised GAN 理论与实战]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/137358616</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/137358616</guid><author>m0_62017984</author><pubDate>Fri, 05 Apr 2024 17:18:19 +0800</pubDate><description><![CDATA[创建一个标签嵌入层，用于将条件标签映射到潜在空间# 初始化图像尺寸，用于上采样之前# 第一个全连接层，将随机噪声映射到合适的维度# 生成器的卷积块nn.Tanh(),return img"""返回每个鉴别器块的层"""if bn:# 鉴别器的卷积块# 下采样图像的高度和宽度# 输出层self.adv_layer = nn.Sequential(nn.Linear(128 * ds_size ** 2, 1), nn.Sigmoid()) # 用于鉴别真假的输出层。]]></description><category></category></item><item><title><![CDATA[第G6周：CycleGAN实战]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/136984379</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/136984379</guid><author>m0_62017984</author><pubDate>Sun, 24 Mar 2024 12:33:10 +0800</pubDate><description><![CDATA[CycleGAN的一个重要应用领域是Domain Adaptation（域迁移：可以通俗的理解为画风迁移），比如可以把一张普通的风景照变化成梵高化作，或者将游戏画面变化成真实世界画面等等。]]></description><category></category></item><item><title><![CDATA[第G5周：Pix2Pix理论与实战]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/136901930</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/136901930</guid><author>m0_62017984</author><pubDate>Thu, 21 Mar 2024 14:11:54 +0800</pubDate><description><![CDATA[条件生成对抗网络的本质是将额外添加的信息融入到生成器和判别器中，其中添加的信息可以是图像的类别、人脸表情和其他辅助信息等，旨在把无监督学习的GAN转化为有监督学习的CGAN，便于网络能够在我们的掌控下更好地进行训练。Pix2pix 的网络结构如上图所示，生成器 G 用到的是 U-Net 结构，输入的轮廓图x编码再解码成真实图片，判别器 D 用到的是作者自己提出来的条件判别器 PatchGAN ，判别器 D 的作用是在轮廓图x的条件下，对于生成的图片 G(x)判断为假，对于真实图片判断为真。]]></description><category></category></item><item><title><![CDATA[深度学习-第G4周：CGAN｜生成手势图像 _ 可控制生成]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/136326643</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/136326643</guid><author>m0_62017984</author><pubDate>Tue, 05 Mar 2024 17:56:00 +0800</pubDate><description><![CDATA[针对上述原始GAN无法生成具有特定属性的图像数据的问题，Mehdi Mirza等人在2014年提出了条件生成对抗网络，通过给原始生成对抗网络中的生成器G和判别器D增加额外的条件，例如我们需要生成器G生成一张没有阴影的图像，此时判别器D就需要判断生成器所生成的图像是否是一张没有阴影的图像。条件生成对抗网络的本质是将额外添加的信息融入到生成器和判别器中，其中添加的信息可以是图像的类别、人脸表情和其他辅助信息等，旨在把无监督学习的GAN转化为有监督学习的CGAN，便于网络能够在我们的掌控下更好地进行训练。]]></description><category></category></item><item><title><![CDATA[第G3周：CGAN｜生成手势图像]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/135946583</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/135946583</guid><author>m0_62017984</author><pubDate>Wed, 31 Jan 2024 11:23:42 +0800</pubDate><description><![CDATA[条件生成对抗网络（CGAN）是在生成对抗网络（GAN）的基础上进行了一些改进。对于原始GAN的生成器而言，其生成的图像数据是随机不可预测的，因此我们无法控制网络的输出，在实际操作中的可控性不强。]]></description><category></category></item><item><title><![CDATA[深度学习-第G2周：人脸图像生成（DCGAN）]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/135910588</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/135910588</guid><author>m0_62017984</author><pubDate>Mon, 29 Jan 2024 15:01:35 +0800</pubDate><description><![CDATA[深度卷积对抗网络（Deep Convolutional Generative Adversarial Network，DCGAN）是一种生成对抗网络（GAN）的变体，专门设计用于生成图像。DCGAN结合了卷积神经网络（CNN）的思想，使其能够更有效地学习图像的特征和纹理，从而生成更逼真的图像。DCGAN即使用卷积网络的对抗网络，其原理和GAN一样，只是把CNN卷积技术用于GAN模式的网络里，G（生成器）网在生成数据时，使用反卷积的重构技术来重构原始图片。]]></description><category></category></item><item><title><![CDATA[第G1周：生成对抗网络（GAN）入门]]></title><link>https://blog.youkuaiyun.com/m0_62017984/article/details/135861765</link><guid>https://blog.youkuaiyun.com/m0_62017984/article/details/135861765</guid><author>m0_62017984</author><pubDate>Fri, 26 Jan 2024 12:10:15 +0800</pubDate><description><![CDATA[GAN并不指代某一个具体的神经网络，而是指一类基于博弈思想而设计的神经网络。GAN由两个分别被称为生成器（Generator）和判别器（Discriminator）的神经网络组成。其中，生成器从某种噪声分布中随机采样作为输入，输出与训练集中真实样本非常相似的人工样本；判别器的输入则为真实样本或人工样本，其目的是将人工样本与真实样本尽可能地区分出来。生成器和判别器交替运行，相互博弈，各自的能力都得到升。]]></description><category></category></item></channel></rss>