
神经网络
zkq_1986
这个作者很懒,什么都没留下…
展开
-
【keras】在keras中model.fit_generator()和model.fit()有什么区别
fit() 会将数据全部装到内存,不适合大数据量。fit_generator() 只是转载部分数据,适合大数据量。原创 2019-11-20 14:21:50 · 714 阅读 · 0 评论 -
【python】keras中的batch_gather
按index索引选择序列中的值例如:import tensorflow as tfseq = [1,2,3]idxs = [2]a = K.tf.batch_gather(seq, idxs)with tf.Session() as sess: print(a.eval())结果输出: 3import tensorflow as tfseq...原创 2019-11-14 15:52:34 · 1152 阅读 · 0 评论 -
【keras】keras Lambda层
Lambda层keras.layers.core.Lambda(function, output_shape=None, mask=None, arguments=None)本函数用以对上一层的输出施以任何Theano/TensorFlow表达式如果你只是想对流经该层的数据做个变换,而这个变换本身没有什么需要学习的参数,那么直接用Lambda Layer是最合适的了。导入的方法是...转载 2019-11-14 15:00:21 · 963 阅读 · 0 评论 -
【深度学习】为什么需要引入Attention?
如下两句话:(1)乔布斯执掌的苹果成为全球市值第一的公司。(2)山东产的苹果,又大又圆,很好吃。在对苹果这个词进行语义理解时,有了Attention,就能通过上下文来辅助判断。比如第一句话的,上下文中的乔布斯和公司两个词贡献很大,我们能将“苹果”理解为是一个公司。第二句的“苹果”,有个“产”字和“吃”字,我们能将“苹果”理解为是一种水果。为什么双向RNN不能通过上下文理解...原创 2019-11-02 10:27:19 · 490 阅读 · 0 评论 -
【深度学习】Sequence to sequence模型
序列对序列模型,输入的是一个序列,输出的是另一个序列。应用一:机器翻译应用二:图像描述原创 2018-06-09 22:32:13 · 4023 阅读 · 0 评论 -
【深度学习】GAN生成对抗网络原理详解(1)
一个 GAN 框架,最少(但不限于)拥有两个组成部分,一个是生成模型 G,一个是判别模型 D。在训练过程中,会把生成模型生成的样本和真实样本随机地传送一张(或者一个 batch)给判别模型 D。判别模型 D 的目标是尽可能正确地识别出真实样本(输出为“真”,或者1),和尽可能正确地揪出生成的样本,也就是假样本(输出为“假”,或者0)。这两个目标分别对应了下方的目标函数的第一和第二项。而生成模型的目...转载 2018-09-25 09:54:17 · 9003 阅读 · 0 评论 -
【神经网络】经过卷积核的filter维度计算公式
输入:15×13,经过3×3的卷积核 ,stride为2的卷积之后输出:6×6 即 ((15-3)/stride+1) × ((13-3)/stride+1) = 6 × 6原创 2018-10-16 19:04:15 · 3291 阅读 · 1 评论 -
【深度学习】卷积运算
1 卷积的目的卷积是为了进行特征提取。卷积的输出通常称为特征映射。在卷积网络的术语中,第一个参数通常叫输入(input),第二个参数叫核函数(kernel function),第三个参数被称为特征映射(feature map)。2 卷积运算卷积的运算分为没有翻转和有翻转两种。通常情况,我们只用没有翻转的方法。下面例子,是在一个二维张量上的卷积运算,它没有对核进行翻转。 ...原创 2018-10-25 15:20:37 · 1526 阅读 · 0 评论 -
【pyTorch】GPU与CPU灵活切换
pytorch中GPU与CPU的相互转化 深度学习中我们默认使用的是CPU,如果我们要使用GPU,需要使用.cuda将计算或者数据从CPU移动至GPU, 如果当我们需要在CPU上进行运算时,比如使用plt可视化绘图, 我们可以使用.cpu将计算或者数据转移至CPU.#!/usr/bin/python# -*- coding: UTF-8 -*-import torchfro...转载 2018-11-14 14:22:13 · 19846 阅读 · 0 评论 -
【深度学习】RNN中Attention原理详解
我们从输出端,即decoder部分,倒过来一步一步看公式。 St=f(St−1,yt−1,ct)(1)(1)St=f(St−1,yt−1,ct)StSt是指decoder在tt时刻的状态输出,St−1St−1是指decoder在t−1t−1时刻的状态输出,yt−1yt−1是t−1t−1时刻的label(注意是label,不是我们输出的yy),ctct看下一个公式,ff是一个RNN。ct=∑j=1T...原创 2018-06-08 14:23:38 · 1637 阅读 · 0 评论 -
【深度学习】TensorFlow之 LSTM程序示例
本例不讲原理。通过本例,你可以了解到单层 LSTM 的实现,多层 LSTM 的实现。输入输出数据的格式。 RNN 的 dropout layer 的实现。# -*- coding:utf-8 -*-import tensorflow as tfimport numpy as npfrom tensorflow.contrib import rnnfrom tensorflow.exampl...原创 2018-05-31 22:15:24 · 1421 阅读 · 0 评论 -
【深度学习】基于rnn的机器翻译和对话
将输入的句子通过红色rnn获得最终的一个vector,如下图所示,为红色方块。接着用另一个rnn,以之前红色方块最为每个step的输入,得到新的输出。这个新的输出即为翻译的结果,或者对话的结果。...原创 2018-06-05 22:17:26 · 1027 阅读 · 0 评论 -
【深度学习】图像生成之rnn方法
基于rnn生成图像的方法,主要是利用三维立体LSTM(或者普通rnn、GRU)来实现。如下图所示,在图的右下角,灰色像素受到蓝色像素直接影响,黑色像素受到灰色像素与红色像素直接影响。如下图的左下角所示,利用一个2*2的黑方框,扫描图片,对于看到的黑色像素与黄色像素,就会生成蓝色像素。...原创 2018-06-04 22:27:54 · 2692 阅读 · 0 评论 -
【深度学习】梯度消失和梯度爆炸
梯度爆炸,梯度呈现指数级增长,导致参数值溢出。解决办法:对梯度进行修剪,例如发现梯度大于某阈值,就将梯度向量按最大值统一缩小。梯度消失,...原创 2018-05-16 19:42:42 · 264 阅读 · 0 评论 -
【深度学习】Tensorflow 第一个Tensorflow程序
# coding=utf-8import tensorflow as tfimport numpy as np# 构造满足一元二次方程的函数x_data = np.linspace(-1, 1, 300)[:, np.newaxis]# 加入一些噪声noise = np.random.normal(0, 0.05, x_data.shape)y_data = np.square...转载 2018-06-03 17:27:10 · 585 阅读 · 0 评论 -
【深度学习】文本生成模型原理
文本生成模型原理原创 2018-05-15 22:43:56 · 2213 阅读 · 0 评论 -
【pyTorch】torch下的网络如何对文本进行embedding操作
torch下的网络对文本进行embedding操作的代码示例如下:from torch import nnimport torchfrom torch.nn import functional as Fclass TextNet(nn.Module): def __init__(self, vocab_size, seq_len,embedding_len, num_cl...原创 2018-11-16 10:15:27 · 2388 阅读 · 1 评论 -
【深度学习】cnn经过卷积后输出大小计算公式
cnn经过卷积后输出大小计算公式: 如下代码from torch import nnimport torchclass ResNet(nn.Module): def __init__(self, vocab_size, seq_len,embedding_len, num_classes=2): super(ResNet, se...原创 2018-11-16 10:53:05 · 1644 阅读 · 0 评论 -
【深度学习】alexnet、vgg19_bn、ResNet-110、PreResNet-110、ResNeXt-29, 8x64等模型性能对比
alexnet、vgg19_bn、ResNet-110、PreResNet-110、WRN-28-10 (drop 0.3)、ResNeXt-29, 8x64、ResNeXt-29, 16x64、DenseNet-BC (L=100, k=12)、DenseNet-BC (L=190, k=40)等模型性能对比:CIFARTop1 error rate on the CIFAR-10/10...原创 2018-11-16 16:47:58 · 4506 阅读 · 1 评论 -
【深度学习】GeLU高斯误差线性单元原理
GeLU,(Gaussian Error Linerar Units),高斯误差线性单元1 Gelu数学原理G(x) = xΦ(X<=x)其中,Φ(X)为正态分布。累积分布函数是指随机变量XX小于或等于xx的概率,用概率密度函数表示为:正态分布的累积分布函数可以用“误差函数”erf 表示:其中误差函数的表达式为:2 代码实现:def gelu...原创 2019-09-19 14:17:58 · 1352 阅读 · 0 评论 -
【pytorch】利用requires_grad冻结部分网络参数
代码示例:import torchimport torch.nn as nnclass a1(torch.nn.Module): def __init__(self): super(a1, self).__init__() self.l1 = nn.Linear(3, 2)class aa(a1): def __init__(se...原创 2019-09-18 15:54:34 · 2051 阅读 · 0 评论 -
【pytorch】pytorch 计算 CrossEntropyLoss 需要先经 softmax 层激活吗
答案是不需要。碰到一个坑,之前用pytorch实现自己的网络时,如果使用CrossEntropyLoss我总是将网路输出经softmax激活层后再计算交叉熵损失。刚刚查文档时发现自己大错特错了。考虑样本空间的类集合为{0,1,2},网络最后一层有3个神经元(每个神经元激活值代表对不同类的响应强度),某个样本送入网络后的输出记为net_out: [1,2,3], 该样本的真...转载 2019-09-09 17:26:18 · 12200 阅读 · 1 评论 -
【python】Optimizer优化器的zero_grad和step的理解
def zero_grad(self): r"""Clears the gradients of all optimized :class:`torch.Tensor` s.""" for group in self.param_groups: for p in group['params']: if...原创 2019-09-02 17:19:00 · 2147 阅读 · 0 评论 -
【神经网络】神经元ReLU、Leaky ReLU、PReLU和RReLU的比较
下图是ReLU、Leaky ReLU、PReLU和RReLU的比较: ReLU,对小于0部分,直接置为0; Leaky ReLU,对小于0部分,进行这样的转换:y_i=a_i * x_i ,它的a_i是固定的; PReLU中的a_i 根据数据变化而变化; RReLU中的a_i是一个在一个给定的范围内随机抽取的值,这个值在测试环节就会固定下来...原创 2018-12-12 11:51:18 · 2909 阅读 · 0 评论 -
【NLP】cnn卷积核尺寸对文本分类影响
采用cnn进行文本分类时,通常我们会将cnn卷积核的尺寸设为5,那么为什么采用这个经验值?再大和再小不行吗?如果卷积核尺寸过小,就会无法提取完整的词语表征;如果尺寸过大,就会引入噪声。...原创 2018-12-21 09:16:46 · 3999 阅读 · 1 评论 -
【迁移学习】Wasserstein Distance Guided Representation Learning for Domain Adaptation 论文解读
paper:Wasserstein Distance Guided Representation Learning for Domain AdaptationShen J, Qu Y, Zhang W, et al. Wasserstein Distance Guided Representation Learning for Domain Adaptation[J]. AAAI-2017....原创 2018-12-10 11:42:40 · 3875 阅读 · 3 评论 -
【迁移学习】2018_AAAI_Multi-Adversarial Domain Adaptation论文解读
paper: Multi-Adversarial Domain Adaptation引文:Pei Z, Cao Z, Long M, et al. Multi-Adversarial Domain Adaptation[J]. AAAI, 2018.1. 方法本文主要解决多领域迁移问题。在多领域中,存在如下图的困难。即多个领域容易被杂糅在一起,或者领域映射发生错误,比如源域有猫、狗,目...原创 2018-12-07 15:05:36 · 2105 阅读 · 4 评论 -
【深度学习】120G+训练好的word2vec模型(中文词向量)
很多人缺少大语料训练的word2vec模型,在此分享下使用268G+语料训练好的word2vec模型。训练语料:百度百科800w+条,26G+ 搜狐新闻400w+条,13G+ 小说:229G+image.png模型参数:window=5 min_count=10 size=128 hs=1 negative=0 iter=5 ps:其它参数见gensim库,执...转载 2018-12-13 16:14:00 · 4648 阅读 · 1 评论 -
【迁移学习】Self Paced Adversarial Training for Multimodal Few-shot Learning论文解读
paper:Self Paced Adversarial Training for Multimodal Few-shot Learning20181127 WACV-19 Self Paced Adversarial Training for Multimodal Few-shot Learning.方法 源域训练GAN网络利用源域数据训练GAN网络。具体地,GAN网络设成stackG...原创 2018-12-03 15:41:33 · 616 阅读 · 0 评论 -
【迁移学习】简单深度迁移学习原理
1. 源域有大量标记数据,目标域仅有少量标记数据;2. 先用源域来训练网络;3. 修改网络的最后几层,用来学习目标域;4. 用最终训练好的网络,预测目标域。 ...原创 2018-11-29 09:31:30 · 2445 阅读 · 0 评论 -
【深度学习】ResNeXt网络解读
1. 网络结构ResNeXt与resnet基本一致,唯一改动的地方在于resnet三层卷积的layer。它将layer从原来的多个filter卷积核拆分为多个个数少的filter卷积核,这些个数少的filter卷积核结构相同,目的是为了简化网络设计。在原文中,拆分后的结构相同的block数量称为cardinality(基数)。ResNeXt的核心网络结构 如下图所示。2. 优缺点分...原创 2018-11-19 13:05:37 · 1648 阅读 · 0 评论 -
【深度学习】强化学习之DQN、Double DQN、dueling DQN原理
DQN,deep Q-network,用一个深度网络来拟合强化学习中的Q值Double DQN,分为主网络和target网络,主网络选择动作,target网络拟合Q值。主网络的变化浮动大,target网络变化浮动小。q_target = reward + gamma * np.max(q_next)dueling DQN,用一个深度网络来拟合强化学习中的Q值,只不过在网络最后部分,分为状态V值和动...原创 2018-05-15 11:04:58 · 6252 阅读 · 0 评论 -
【深度学习】双向RNN
双向RNN结构图原创 2018-05-18 22:33:11 · 856 阅读 · 0 评论 -
【深度学习】RNN之LSTM原理
LSTM,long short term memory,长短时记忆元与GRU相比,它是3个门,GRU是2个门。GRU更简单,易于大规模应用;LSTM准确性比GRU更好。到底用哪个,需要权衡。基于Tensorflow的python代码片段: def unit(x, hidden_memory_tm1): previous_h...原创 2018-05-18 14:48:04 · 338 阅读 · 0 评论 -
【深度学习】Batch Normalization
本次所讲的内容为Batch Normalization,简称BN,来源于《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》,是一篇很好的paper。1-Motivation作者认为:网络训练过程中参数不断改变导致后续每一层输入的分布也发生变化转载 2017-10-31 09:32:18 · 351 阅读 · 0 评论 -
【强化学习】AlphaGo Zero详解
1 简介AlphaGo Zero(以下简称Zero)的过程如下图a、b所示,在每个状态s,通过MCTS搜索,获得每个可能move的概率p,其中MCTS搜索采用self-play并执行fθ策略。fθ主要采用微软的ResNet,即基于残差的学习。利用MCTS获得每个可能move的概率p之后,更新fθ权重。最后利用这个fθ评估最后能赢这盘棋的概率v。2 MCTS每个节点s(状态),包含若原创 2017-10-30 10:57:40 · 5198 阅读 · 0 评论 -
【深度学习】Attention Model详解
|Encoder-Decoder框架本文只谈谈文本处理领域的AM模型,在图片处理或者(图片-图片标题)生成等任务中也有很多场景会应用AM模型,但是我们此处只谈文本领域的AM模型,其实图片领域AM的机制也是相同的。要提文本处理领域的AM模型,就不得不先谈Encoder-Decoder框架,因为目前绝大多数文献中出现的AM模型是附着在Encoder-转载 2017-10-21 10:40:45 · 501 阅读 · 0 评论 -
CNN和RNN区别
CNN和RNN区别CNN主要用于图像;RNN主要用于时序和NLP。当CNN、RNN都用于NLP时,它们的区别在于:RNN(循环神经网络),当前节点的输入包含之前所有节点信息。RNN(递归神经网络),当前节点的输入以树结构形式包含部分之前节点信息。CNN(卷积神经网络),当前节点的输入以树结构形式仅包含上一层节点信息。原创 2017-09-07 11:25:16 · 16022 阅读 · 1 评论 -
【深度学习】CNN-卷积概念
卷积运算(Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表示函数f 与经过翻转和平移与g 的重叠部分的累积。如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。假设: f(x),g(x)是R1上的两个可积函数,并且积分是存在的。这样,随着 x 的不同取值,这个积分就定义了一个新函数h(x),称为函数f 与g 的卷积,记为h(x)=(转载 2017-05-23 16:19:03 · 470 阅读 · 0 评论 -
【深度学习】CNN-原理
CNN原理1CNN步骤1)卷积层通过filter(模板)与input(输入)进行卷积,获得卷积层输出。2)池化层通过池化(pooling),将卷积层的输出变成一个固定长度的向量。常用的池化为1-max,最大、最小、平均等。3)利用固定长度的向量即可通过常规的分类、回归模型进行分类、回归。如softmax、logistic regression。 CNN的结构图如下。原创 2017-05-25 11:15:03 · 770 阅读 · 0 评论