深度学习
小镇大爱
这个作者很懒,什么都没留下…
展开
-
COCO格式数据集转pascal_voc数据集格式
import osimport loggingimport argparsefrom xml.dom import minidomfrom pycocotools.coco import COCOimport jsonclass Dataset(): def __init__(self, jsonSrc, annFolder): super(Dataset, self).__init__() self.setLogger() # 设置日志 .原创 2021-06-12 16:37:05 · 1383 阅读 · 0 评论 -
训练时的Batchsize和Epoch之间的区别是什么?
阅读这篇文章后,你会知道:·随机梯度下降是一种迭代学习算法,它使用训练数据集来更新模型。·批量大小是梯度下降的超参数,在模型的内部参数更新之前控制训练样本的数量。·Epoch数是梯度下降的超参数,其控制通过训练数据集的完整传递的数量。这篇文章分为五个部分:1.随机梯度下降2.什么是Sample?3.什么是Batch?4....转载 2020-04-02 16:14:08 · 11380 阅读 · 0 评论 -
知识蒸馏(Distillation)
Hinton的文章《Distilling the Knowledge in a Neural Network》首次提出了知识蒸馏的概念,通过引入教师网络用以诱导学生网络的训练,实现知识迁移。所以其本质上和迁移学习有点像,但实现方式是不一样的。用“蒸馏”这个词来形容这个过程是相当形象的。用下图来解释这个过程。教师网络:大规模,参数量大的复杂网络模型。难以应用到设备端的模型。学生网络:小规模...转载 2020-01-01 21:09:49 · 2412 阅读 · 0 评论 -
端到端记忆网络(End to End Memory Network)
本文在上文Memory Network的基础上进行端到端的模型构建,减少生成答案时需要事实依据的监督项,在实际应用中应用意义更大。模型讲解及构建模型的结构如下图所示。图(a)是单层的模型,图(b)是多层模型(三层)。以图(a)为例,输入有两个部分,使用输入集合表示上下文知识,使用输入向量q表示问题,使用输出向量表示预测答案。记忆网络模型通过对上下文集合S和问题向量q的数学变换...原创 2019-12-05 12:07:08 · 1753 阅读 · 1 评论 -
记忆网络(Memory Network)
一,MEMORY NETWORKS论文是第一次提出记忆网络,利用记忆组件保存场景信息,以实现长期记忆的功能。对于很多神经网络模型,RNN,lstm和其变种gru使用了一定的记忆机制,在Memory Networks的作者看来,这些记忆都太小了。这就是这篇文章的目的。本部分将从三个部分讲解这篇文章:记忆网络各个组件的内容 记忆网络在nlp的使用 损失函数1,记忆网络:一个记忆网...原创 2019-12-05 11:12:08 · 5810 阅读 · 0 评论 -
Multi-modality Latent Interaction Network for Visual Question Answering阅读笔记
一、摘要作者认为现有的研究关系的方法大多是单个视觉区域和单词之间的模型关系,不足以正确回答问题。因为从人类的角度来看,回答视觉问题需要理解视觉和语言信息的总结。在这篇论文中,作者提出了用于视觉问答的多模态潜在交互网络模型(MLI)来解决这个问题。该模型学习潜在视觉和语言摘要之间的交叉模式关系,将视觉区域和问题归纳为少量的潜在表示,从而避免建模无信息单个视觉-问题关系。潜在摘要之间的跨模态信息被...原创 2019-11-29 10:35:42 · 851 阅读 · 0 评论 -
TF-IDF原理
什么是TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。上述引用总...原创 2019-11-20 23:46:17 · 174 阅读 · 0 评论 -
Layer-Normalization
Normalization有很多种,但是它们都有一个共同的目的,那就是把输入转化成均值为0方差为1的数据。我们在把数据送入激活函数之前进行normalization(归一化),因为我们不希望输入数据落在激活函数的饱和区。LN的操作类似于将BN做了一个“转置”,对同一层网络的输出做一个标准化。注意,同一层的输出是单个图片的输出,比如对于一个batch为32的神经网络训练,会有32个均值和方差被得...原创 2019-11-19 19:49:24 · 353 阅读 · 0 评论 -
BERT详解
1.BERT模型BERT(BidirectionalEncoderRepresentations fromTransformers)近期提出之后,作为一个Word2Vec的替代者,其在NLP领域的11个方向大幅刷新了精度,可以说是近年来自残差网络最优突破性的一项技术了。论文的主要特点以下几点:使用了Transformer作为算法的主要框架,Trabsformer能更彻底的捕捉语句中的...原创 2019-11-19 19:44:15 · 1026 阅读 · 0 评论 -
transformer二刷
Transformer由论文《Attention is All You Need》提出,现在是谷歌云TPU推荐的参考模型。论文相关的Tensorflow的代码可以从GitHub获取,其作为Tensor2Tensor包的一部分。哈佛的NLP团队也实现了一个基于PyTorch的版本,并注释该论文。论文地址:https://link.zhihu.com/?target=https%3A//arxiv...转载 2019-11-19 11:24:04 · 279 阅读 · 0 评论 -
Dynamic Fusion with Intra- and Inter-modality Attention Flow for Visual Question Answering 心得体会
论文链接:https://arxiv.org/abs/1812.05252这篇论文提出了一种新的多模态特征融合方法——模式内与模式间注意流的动态融合的视觉问题回答,它可以在视觉和语言模式之间传递动态信息,它能够很好地捕捉语言和视觉领域之间的高层交互,从而显着地提高了视觉问题回答的性能。近年来,视觉问答(VQA)的性能得到了很大的提高,原因主要有三点:提取到了很好的视觉和语言特征表示;V...原创 2019-11-17 19:20:26 · 490 阅读 · 1 评论 -
mask矩阵理解
mask矩阵是一个由0和1组成的矩阵。一个例子是,在自然语言处理(NLP)中,句子的长度是不等长的,但因为我们经常将句子组成mini-batch用以训练,因此那些长度较短的句子都会在句尾进行填充0,也即padding的操作。一个mask矩阵即用以指示哪些是真正的数据,哪些是padding。为什么要使用mask矩阵?使用mask矩阵是为了让那些被mask掉的tensor不会被更新。考虑一个ten...原创 2019-11-15 00:28:48 · 1182 阅读 · 0 评论 -
位置编码
由于注意力机制是不会保留序列位置信息的,因此需要该结构去用其他方法吸收位置信息。目前有三种主流的技术可以解决:用正弦位置编码(Sinusoidal Position Encoding) 学习位置向量(类似词向量) 相对位置表达(Relative Position Representations)MotivationRNN中,第一个"I"与第二个"I"的输出表征不同,因为用于生成...转载 2019-11-12 10:29:28 · 3844 阅读 · 2 评论 -
论文解读:Relation Networks for Object Detection
论文链接:https://arxiv.org/abs/1711.11575代码链接:https://github.com/msracver/Relation-Networks-for-Object-Detection这篇是CVPR 2018的文章,通过引入object的关联信息,在神经网络中对object的relations进行建模。主要贡献点有两条:1. 提出了一种relation...原创 2019-11-10 20:17:09 · 604 阅读 · 0 评论 -
transformer模型中的self-attention和multi-head-attention机制
对于《Attention is all you need》这篇文章中提到的transformer模型,自己最初阅读的时候并不是很理解,于是决定从头开始,一点一点梳理transformer模型。这篇论文主要亮点在于:(1)不同于以往主流机器翻译使用基于RNN的seq2seq模型框架,该论文用attention机制代替了RNN搭建了整个模型框架。(2)提出了多头注意力(Multi-headed...原创 2019-11-09 23:14:15 · 19182 阅读 · 5 评论 -
先验概率、后验概率和似然函数详解
先验概率:根据以往经验和分析得到的概率;后验概率:事情已经发生,这件事情的发生是由某个原因引起的可能性的大小。(果因概率,即在一个结果已经发生的条件下,可能是其中某一个原因造成的概率有多大。)1)先验:根据统计历史上的经验、常识当下事件发生的概率;2)似然:当下事件由果及因发生的概率;3)后验:当下事件由因及果发生的概率。举例理解(1):先验——根据若干年的统计(经验)或者...原创 2019-11-09 22:57:02 · 1467 阅读 · 0 评论 -
tensorflow实现 Show and Tell: A Neural Image Caption Generator 模型
"""设计步骤1. Data generaor:训练模型时提供数据 a. load vocab b. load image feature c.provide data for training 2.Build image caption model3.Trains the model"""import os import sysimport t...原创 2019-11-04 16:33:49 · 447 阅读 · 0 评论 -
mini batch详解
什么是mini batch我们已知在梯度下降中需要对所有样本进行处理过后然后走一步,那么如果我们的样本规模的特别大的话效率就会比较低。假如有500万,甚至5000万个样本(在我们的业务场景中,一般有几千万行,有些大数据有10亿行)的话走一轮迭代就会非常的耗时。这个时候的梯度下降叫做full batch。 所以为了提高效率,我们可以把样本分成等量的子集。 例如我们把100万样本分成1000份, ...原创 2019-11-03 20:20:10 · 29667 阅读 · 10 评论 -
Multi-level Attention Networks for Visual Question Answering阅读笔记
Multi-level Attention Networks这个模型可以同时提取高级语义信息和空间信息,模型框架如下所示:该模型分为三个部分,分别是Semantic Attention、Context-aware Visual Attention、Joint Attention Learning。Semantic Attention语义注意的工作是从图像中挖掘重要的概念来回答问...原创 2019-10-28 00:39:52 · 888 阅读 · 4 评论 -
Bi-directional Recurrent Neural Network (BRNN)双向循环神经网络
双向循环神经网络(BRNN)的基本思想是提出每一个训练序列向前和向后分别是两个循环神经网络(RNN),而且这两个都连接着一个输出层。这个结构提供给输出层输入序列中每一个点的完整的过去和未来的上下文信息。下图展示的是一个沿着时间展开的双向循环神经网络。六个独特的权值在每一个时步被重复的利用,六个权值分别对应:输入到向前和向后隐含层(w1, w3),隐含层到隐含层自己(w2, w5),向前和向后隐含层...原创 2019-10-26 16:14:31 · 1533 阅读 · 0 评论 -
tensorflow实现CIFAR-10图片分类
本篇文章主要是利用tensorflow来构建简单的神经网络,主要写了怎样对数据集进行预处理并从数据集中读取数据,利用CIFAR-10数据集来实现图片的分类。数据集主要包括10类不同的图片,一共有60000张图片,50000张图片作为训练集,10000张图片作为测试集,每张图片的大小为32×32×3(彩色图片)。数据集格式如下所示:首先http://www.cs.toronto.edu/~k...原创 2019-10-25 22:37:33 · 996 阅读 · 0 评论 -
Stacked Attention Networks for Image Question Answering心得体会
这几天看了Stacked Attention Networks for Image Question Answering这篇论文,对文中所提出的模型有了大概了解。本文提到了“SAN”网络,他是在attention基础上发展而来的。这里我先介绍一下注意力机制的使用,再针对这篇论文的stacked attention进行分析,由易到难,效果会更好。注意力机制注意力模型最近几年在深度学习各个领...原创 2019-10-18 21:50:51 · 1734 阅读 · 1 评论