软件理论
文章平均质量分 80
comedate
这个作者很懒,什么都没留下…
展开
-
LeetCode 234 - 回文链表 C++ 实现
leetcode 题目234 回文链表 C++ 实现原创 2024-08-13 12:07:26 · 276 阅读 · 0 评论 -
【论文共读】【翻译】【CGAN】【Conditional Gernerative Adversarial Networks】
生成对抗网络[8]最近被引入,作为一种训练生成模型的新方法。在这项工作中,我们引入了生成对抗网络的条件版本,该网络可以通过简单地输入数据来构建,y,我们希望对生成器和判别器进行条件处理。我们表明,该模型可以生成以类标签为条件的MNIST数字。我们还说明了如何使用该模型来学习多模态模型,并提供了应用于图像标记的初步示例,其中我们演示了这种方法如何生成不属于训练标签的描述性标签。最近引入了生成对抗网络作为训练生成模型的替代框架,以规避近似许多棘手的概率计算的困难。原创 2024-07-31 08:30:00 · 562 阅读 · 0 评论 -
【论文共读】【翻译】【GAN】Generative Adversarial Nets
提出了一种新的对抗过程估计生成模型的框架,其中我们同时训练两个模型:一个是捕获数据分布的生成模型G,另一个是估计样本来自训练数据而不是G的概率的判别模型D。G 的训练程序是最大化 D 犯错的概率。该框架对应于 minimax 双人游戏。在任意函数 G 和 D 的空间中,存在一个唯一的解,其中 G 恢复训练数据分布,D 在所有地方都等于1/2。在G和D由多层感知器定义的情况下,整个系统可以通过反向传播进行训练。在训练或生成样本期间,不需要任何马尔可夫链或展开的近似推理网络。原创 2024-07-30 15:12:31 · 1443 阅读 · 0 评论 -
【论文共读】【翻译】【DCGAN】UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL
近年来,使用卷积网络 (CNN) 的监督学习在计算机视觉应用中得到了大量采用。相比之下,使用CNN的无监督学习受到的关注较少。在这项工作中,我们希望帮助弥合CNN在监督学习和无监督学习方面的成功之间的差距。我们介绍了一类称为深度卷积生成对抗网络 (DCGAN) 的 CNN,它们具有一定的架构约束,并证明它们是无监督学习的有力候选者。在各种图像数据集上进行训练,我们展示了令人信服的证据,证明我们的深度卷积对抗对在生成器和鉴别器中学习了从对象部分到场景的表示层次结构。原创 2024-07-30 11:21:27 · 565 阅读 · 0 评论 -
[论文共读][翻译][CycleGAN] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
图像到图像转换是一类视觉和图形问题,其目标是使用一组对齐的图像对的训练来学习输入图像和输出图像之间的映射。但是,对于许多任务,配对训练数据将不可用。我们提出了一种学习方法,用于在没有配对样本的情况下将图像从源域 X 转换为目标域 Y。我们的目标是学习 G : X → Y 的映射,使得 G(X) 的图像分布与使用对抗损失的分布 Y 无法区分。由于这种映射受到高度欠限,我们将其与反向映射 F : Y → X 耦合,并引入周期一致性损失以强制 F(G(X)) ≈ X(反之亦然)。原创 2024-07-29 11:20:44 · 1118 阅读 · 0 评论 -
【论文共读】【翻译】【GPT】Improving Language Understanding by Generative Pre-Training
自然语言理解包括各种不同的任务,例如文本蕴涵、问答、语义相似性评估和文档分类。尽管大量未标记的文本语料库很丰富,但用于学习这些特定任务的标记数据很少,这使得判别性训练的模型难以充分执行。我们证明,通过对各种未标记文本语料库进行语言模型的生成预训练,然后对每个特定任务进行判别性微调,可以实现这些任务的巨大收益。与之前的方法相比,我们在微调过程中利用任务感知的输入转换来实现有效的传输,同时需要对模型架构进行最少的更改。我们在自然语言理解的广泛基准上证明了我们的方法的有效性。原创 2024-07-26 12:40:37 · 1212 阅读 · 0 评论 -
[论文共读][翻译][ViT][Transformers for image recongnition at scale]
对 ViT 论文的全文翻译虽然 Transformer 架构已成为自然语言处理任务的事实标准,但它在计算机视觉中的应用仍然有限。在视觉中,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构不变。我们发现,这种对CNN的依赖是不必要的,直接应用于图像补丁序列的纯转换器可以在图像分类任务中表现出色。原创 2024-07-24 07:45:00 · 2040 阅读 · 0 评论 -
C++ 实现多线程的生产者(producer) - 消费者(consumer) 模型
本文介绍了生产者消费者的并发编程模型,并用详细的 C++ 代码实现了一个简单的生产者消费者的实例;原创 2024-01-27 17:24:18 · 2758 阅读 · 4 评论 -
[深度学习] epoch, batch, iteration, batchsize概念
深度学习中经常看到epoch、iteration和batchsize,说一下这三者的定义与区别:- epoch:使用训练集中的全部样本对模型进行全部训练,通常包括一次正向传播与一次反向传播;- batch:使用训练集中的一部分样本对模型进行反向传播的参数更新;- batchsize:batch使用的样本数量。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;- iteration:使用Batch数据对模型进行一次参数更新的过程,称为一次训练。原创 2021-02-18 05:54:10 · 327 阅读 · 0 评论 -
[深度学习] 深度网络 backbone 含义
Q:深度学习的代码中网络都会有backbone,这个是什么意思呢?关注用的什么backbone意义是什么呢?比如某篇论文代码backbone用的resnet,这代表什么呢?A:backbone这个单词原意指的是人的脊梁骨,后来引申为支柱,核心的意思。在神经网络中,尤其是CV领域,一般先对图像进行特征提取(常见的有vggnet,resnet,谷歌的inception),这一部分是整个CV任务的根基,因为后续的下游任务都是基于提取出来的图像特征去做文章(比如分类,生成等等)。所以将这一部分网络结构称为ba原创 2021-02-17 21:43:22 · 2016 阅读 · 0 评论 -
软件设计的几大原理
随着经历过好几次项目的重构,发现重构的代码,基本上都是因为不满足基本的软件设计原则。因此,将软件设计的几大原则再次温习一下。开闭原则一个软件如 类, 模块和函数应该对扩展开放, 对修改关闭用抽象构建框架, 用实现扩展实现优点: 提供软件系统的可复用性及可维护性.依赖倒置原则高层模块不应该依赖底层模块, 二者都应该依赖其抽象抽象不应该依赖细节, 细节应该依赖抽象.针对接口编程, 不要针对实现编程.优点: 可以减少类间的耦合性, 提高系统稳定性, 提高代码可读性和可维护性原创 2020-10-24 22:23:37 · 1998 阅读 · 0 评论