![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
大雄没有叮当猫
好好学习,天天向上
展开
-
论文阅读05:基于循环神经网络的联合事件抽取-Joint Event Extraction via Recurrent Neural Networks
公众号:数据挖掘与机器学习笔记1.简介事件抽取是把含有事件信息的非结构化文本以结构化的形式呈现出来,在自动文摘、自动问答、信息检索等领域有着广泛的应用。近些年来 ,事件抽取一直吸引着许多研究机构和研究者的注意力。MUC (Message Understanding Conference) 会议、ACE ( Automatic Content Extraction) 会议是典型的含有事件抽取任务的评测会议。在调研中发现,ACE 2005作为论文数据集占据了主流,ACE 2005的事件抽取数据集包括英文、中原创 2020-12-30 21:48:45 · 1083 阅读 · 0 评论 -
深度学习01:pytorch中model eval和torch no_grad()的区别
公众号:数据挖掘与机器学习笔记主要区别如下:model.eval()会通知所有的网络层目前处于评估模式(eval mode),因此,batchnorm或者dropout会以评估模式工作而不是训练模式。在train模式下,dropout网络层会按照设定的参数p设置保留激活单元的概率(保留概率=p); batchnorm层会继续计算数据的mean和var等参数并更新。在val模式下,dropout层会让所有的激活单元都通过,而batchnorm层会停止计算和更新mean和var,直接使用在训练原创 2020-09-30 22:07:52 · 819 阅读 · 0 评论 -
源码系列01:Keras源码之SimpleRNNCell详解
1.源码讲解 SimpleRNNCell类可以理解为RNN中的一个时间步的计算,而RNN则是把多个这样的cell进行串联起来统一计算。如上图所示,红色小方框就表示一个cell的计算。而外面的红色大方框则表示整个RNN的计算。SimpleRNNCell继承自Layer基类,主要包含4个方法:init():构造方法,主要用于初始化参数build():主要用于初始化网络层中涉及到的权重参数call():用于网络层的参数计算,对输入进行计算,并产生相应地输出get_config():获取该网络层原创 2020-08-24 20:43:16 · 4202 阅读 · 3 评论 -
Seq2Seq详解及实现
1.Seq2Seq是什么? Seq2Seq学习是训练一个模型,将来自一个领域的序列(例如英语语句)转换为另一个领域的序列(例如法语)。"the cat sat on the mat" -> [Seq2Seq model] -> "le chat etait assis sur le tapis" Seq2Seq模型可以用于机器翻译或者自由问答(在给定自然语言问题的情况下生成自然语言答案)。通常,它可以在任何需要生成文本的情况下使用。 我们可以使用多种方法来处理Seq2Seq任务,翻译 2020-08-23 15:09:22 · 5967 阅读 · 0 评论 -
tensorflow学习之static_rnn使用详解
tf.nn.static_rnnAliases:tf.contrib.rnn.static_rnn tf.nn.static_rnn使用指定的RNN神经元创建循环神经网络tf.nn.static_rnn( cell, inputs, initial_state=None, dtype=None, sequence_length=N...原创 2018-09-21 17:01:36 · 8125 阅读 · 0 评论 -
《深度学习》摘记之前馈神经网络(1)
前馈神经网络也叫作深度前馈网络或者多层感知机,是典型的深度学习模型。前馈神经网络的目标是近似某个函数f*。例如,对于分类器,y=f*(x)映射到一个类别标签y。通过定义一个x到y的映射y=f(x;θ),并学习参数θ的值,使映射能够得到最佳的函数近似。之所以被称为前馈网络,是因为信息流过x的函数,流经用于定义f的中间计算过程,最终到达输出y。在模型的输出和模型本身之间没有反馈连接。当前馈神经网络...原创 2018-09-20 13:54:56 · 1334 阅读 · 0 评论 -
tensorflow之tf.nn.static_bidirectional_rnn详解
tf.nn.static_bidirectional_rnnAliases:tf.contrib.rnn.static_bidirectional_rnn tf.nn.static_bidirectional_rnntf.nn.static_bidirectional_rnn( cell_fw, cell_bw, inputs, initial_sta...原创 2018-09-20 21:33:51 · 4512 阅读 · 0 评论 -
tf.nn.dynamic_rnn和MultiRNNCell构建多层动态LSTM
import tensorflow as tf;import numpy as np;X = tf.random_normal(shape=[3, 5, 6], dtype=tf.float32)X = tf.reshape(X, [-1, 5, 6])stacked_rnn=[]for i in range(3): stacked_rnn.append(tf.contrib...原创 2018-09-19 20:45:11 · 4221 阅读 · 0 评论 -
tf.contrib.rnn.static_bidirectional_rnn和MultiRNNCell构建多层静态双向LSTM
import tensorflow as tfimport numpy as np# 设置训练参数learning_rate = 0.01max_examples = 40batch_size = 128display_step = 10 # 每间隔10次训练就展示一次训练情况n_input = 100#词向量维度n_steps = 300#时间步长fw_n_hidden...原创 2018-09-19 20:44:09 · 1900 阅读 · 2 评论 -
tf.nn.bidirectional_dynamic_rnn和MultiRNNCell构建双向多层RNN(LSTM)
import tensorflow as tfimport numpy as npX = np.random.randn(10, 5, 5) # 输入数据,批次、序列长度、样本维度# 第二个样本的维度为3X[1, 2:] = 0stacked_rnn = []stacked_bw_rnn = []for i in range(3): stacked_rnn....原创 2018-09-19 20:39:49 · 2347 阅读 · 1 评论 -
tensorflow损失函数之:softmax_cross_entropy_with_logits和softmax_cross_entropy_with_logits_v2的区别
tf.nn.softmax_cross_entropy_with_logits( _sentinel=None, labels=None, logits=None, dim=-1, name=None)tf.nn.softmax_cross_entropy_with_logits_v2( _sentinel=None, label...原创 2018-09-19 20:06:15 · 2207 阅读 · 0 评论 -
tensorflow之损失函数:sparse_softmax_cross_entropy_with_logits 与 softmax_cross_entropy_with_logits的区别
原函数: tf.nn.sparse_softmax_cross_entropy_with_logits( _sentinel=None, labels=None, logits=None, name=None)tf.nn.softmax_cross_entropy_with_logits( _sentinel=None, labels=N...原创 2018-09-19 19:33:42 · 719 阅读 · 0 评论 -
tensorflow之神经网络层:Flatten,flatten
1.tf.layers.FlattenClass Flatten:在保留第0轴的情况下对输入的张量进行Flatten(扁平化)代码示例: x=tf.placeholder(shape=(None,4,4),dtype='float32') y=tf.layers.Flatten()(x) print(y) 输出:Tensor("flatten/Re...原创 2018-09-19 17:53:22 · 38172 阅读 · 1 评论 -
tensorflow之神经网络层:Dense,dense,Dropout,dropout
1.tf.layers.DenseClass Dense:全连接层该层实现了outputs=activation(inputs*kernel+bias),其中激活函数是作为参数提供的,kernel是该层创建的权重矩阵,而bias是该层创建的偏置向量(仅当use_bias为True)。参数:units:Integer或者Long,输出空间的维度 activation:激活函数,如果...原创 2018-09-19 17:41:56 · 19068 阅读 · 0 评论 -
《深度学习》摘记之前馈神经网络(2):学习XOR
为了使前馈神经网络更加具体,通过解决一个简单的任务:学习XOR函数来加深理解。XOR函数(异或)是两个二进制值x1和x2的运算。当x1和x2中恰有一个为1时,函数返回1,否则返回0。我们想要学习的目标函数y=f*(x),模型给出了一个函数y=f(x;θ),学习算法通过不断调整参数θ来使得f尽可能接近f*。在该示例中,我们不关心模型的泛化能力。给定4个训练数据点X={[0,0]T,[0,1]...原创 2018-09-20 13:58:06 · 2715 阅读 · 0 评论 -
Maxout详解
一、相关理论 本篇博文主要讲解2013年,ICML上的一篇文献:《Maxout Networks》,这个算法我目前也很少用到,个人感觉最主要的原因应该是这个算法参数个数会成k倍增加(k是maxout的一个参数),不过没关系,对于我们来说知识积累才是最重要的,指不定某一天我们就需要用到这个算法,技多不压身。个人感觉Maxout网络和Dropout有很多相似的地方。 本篇博文将从什...转载 2018-09-21 11:53:35 · 23542 阅读 · 3 评论 -
tensorflow学习之BasicRNNCell详解
1.循环神经网络循环神经网络很像前馈神经网络,但是不同的是神经元有连接回指。如上左图,一个循环神经元可以把自己的输出作为自身的输入,但是这个输入是上一个时间点的输出,如果将上面左图展开就变成右边的图:一个神经元在时间轴上的运行。图右边的下标代表时间,循环神经元在时间 t 同时接受输入 x(t)和自己在上一时间 t−1的输出结果 y(t−1) 2.源码讲解BasicRNN...原创 2018-09-21 16:17:20 · 4131 阅读 · 0 评论 -
卷积神经网络模型之SPPNet模型实现
from torch import nnimport mathimport torch""" Args: out_side (tuple): Length of side in the pooling results of each pyramid layer. Inputs: - `input`: the input Tens...原创 2019-03-29 13:45:11 · 935 阅读 · 1 评论 -
卷积神经网络模型之ZFNet模型实现
import torchfrom torch.nn import functional as Ffrom torch import nnclass ZFNet(nn.Module): def __init__(self): super().__init__() self.conv1=nn.Conv2d(in_channels=3,out_chann...原创 2019-03-29 11:04:27 · 1200 阅读 · 0 评论 -
tensorflow学习之LSTMStateTuple详解
Class LSTMStateTupleAliases:Class tf.contrib.rnn.LSTMStateTuple Class tf.nn.rnn_cell.LSTMStateTuple用于存储LSTM单元的state_size,zero_state和output state的元组。按顺序存储两个元素(c,h),其中c是隐藏状态,h是输出。只有在state_is_tuple...原创 2018-09-22 20:07:22 · 8329 阅读 · 1 评论 -
tensorflow学习之bidirectional_dynamic_rnn使用详解
tf.nn.bidirectional_dynamic_rnntf.nn.bidirectional_dynamic_rnn( cell_fw, cell_bw, inputs, sequence_length=None, initial_state_fw=None, initial_state_bw=None, dtype=None...原创 2018-09-22 19:48:04 · 5953 阅读 · 0 评论 -
tensorflow学习之dynamic_rnn使用详解
tf.nn.dynamic_rnn使用指定的RNNCell单元创建一个循环神经网络,对输入执行完全动态展开。tf.nn.dynamic_rnn( cell, inputs, sequence_length=None, initial_state=None, dtype=None, parallel_iterations=None, ...原创 2018-09-22 17:36:54 · 5525 阅读 · 1 评论 -
tensorflow学习之LSTMCell详解
Class tf.contrib.rnn.LSTMCell继承自:LayerRNNCellAliases:Class tf.contrib.rnn.LSTMCell Class tf.nn.rnn_cell.LSTMCell长短时记忆单元循环网络单元。默认的non-peephole是基于http://www.bioinf.jku.at/publications/older/2604...原创 2018-09-22 11:27:55 · 23141 阅读 · 0 评论 -
tensorflow学习之BasicLSTMCell详解
tf.contrib.rnn.BasicLSTMCell继承自:LayerRNNCellAliases:Class tf.contrib.rnn.BasicLSTMCell Class tf.nn.rnn_cell.BasicLSTMCell基础的LSTM循环网络单元,基于http://arxiv.org/abs/1409.2329.实现。将forget_bias(默认值:1)添加...原创 2018-09-21 23:13:06 · 21546 阅读 · 1 评论 -
tensorflow学习之static_bidirectional_rnn使用详解
tf.nn.static_bidirectional_rnnAliases:tf.contrib.rnn.static_bidirectional_rnn tf.nn.static_bidirectional_rnn创建双向循环神经网络。与单向循环神经网络类似,只不过双向循环神经网络同时接受前向和反向的RNN神经元,最终对前向和反向的输出进行深度级联,输出的格式如: [time][...原创 2018-09-21 21:18:01 · 5188 阅读 · 1 评论 -
BasicRNNCell 和 BasicLSTMCell 的 output
在BasicRNNCell 和 BasicLSTMCell 的类中调用了call方法会得到output。由上图可知h对应了BasicRNNCell的state_size。 那么y是不是对应了BasicRNNCell的output_size呢? 答案是否定的!通过“ return output, output”,可以看出在 BasicRNNCell 中, output真实和隐状态的值...转载 2018-09-21 16:23:40 · 873 阅读 · 0 评论 -
tensorflow学习之softmax使用详解
1. 什么是SoftmaxSoftmax 在机器学习和深度学习中有着非常广泛的应用。尤其在处理多分类(C > 2)问题,分类器最后的输出单元需要Softmax 函数进行数值处理。关于Softmax 函数的定义如下所示:其中,Vi 是分类器类别的输出。i 表示类别索引,总的类别个数为 C。Si 表示的是当前元素的指数与所有元素指数和的比值。Softmax 将多分类的输出数值转化为相...原创 2018-09-25 10:39:48 · 26363 阅读 · 0 评论 -
tensorflow之神经网络层:MaxPooling1D、max_pooling1d、MaxPooling2D、max_pooling2d
微信公众号:数据挖掘与分析学习1.tf.layers.MaxPooling1DClass MaxPooling1D:1D输入的最大池化层参数:pool_size:一个整数或者一个单个整数的tuple/list,表示池化窗口的大小 strides:一个整数或者一个单个整数的tuple/list,指定池化操作的移动步幅 padding:一个字符串。padding的方法:”valid...原创 2018-09-19 15:28:24 · 41796 阅读 · 6 评论 -
tensorflow之算术运算符:tf.add,tf.subtract,tf.multiply,tf.scalar_mul,tf.div
1.tf.addtf.add或tf.math.add:加法操作 tf.add( x, y, name=None ) 参数说明: x:一个张量。必须是下列类型之一:bfloat16, half, float32, float64, uint8, int8, int16, int32, int64, complex6...原创 2018-09-16 10:46:36 · 15669 阅读 · 1 评论 -
pytorch:torch.clamp()
torch.clamp(input, min, max, out=None) → Tensor将输入input张量每个元素的夹紧到区间 [min,max][min,max],并返回结果到一个新张量。操作定义如下: | min, if x_i < miny_i = | x_i, if min <= x_i <= max | max, if ...原创 2018-09-11 16:02:43 · 175062 阅读 · 15 评论 -
pytorch:torch.mm()和torch.matmul()
微信公众号:数据挖掘和分析学习torch.mm(mat1, mat2, out=None) → Tensortorch.matmul(mat1, mat2, out=None) → Tensor对矩阵mat1和mat2进行相乘。 如果mat1 是一个n×m张量,mat2 是一个 m×p 张量,将会输出一个 n×p 张量out。参数 :mat1 (Tensor) – 第一个相乘矩...原创 2018-09-11 15:51:36 · 68249 阅读 · 8 评论 -
tensorflow自定义神经网络模型
建立和训练一个简单的模型通常涉及几个步骤:定义模型。 定义损失函数。 获取训练数据。 运行训练数据并使用“优化器”调整变量以拟合数据。1.定义模型class Model(object): def __init__(self): # Initialize variable to (5.0, 0.0) # In practice, these should be ...翻译 2018-08-16 16:45:31 · 1419 阅读 · 0 评论 -
tensorflow之自定义神经网络层
import tensorflow as tftfe = tf.contrib.eagertf.enable_eager_execution()大多数情况下,在为机器学习模型编写代码时,您希望在比单个操作和单个变量操作更高的抽象级别上操作。1.关于图层的一些有用操作许多机器学习模型可以表达为相对简单的图层的组合和堆叠,TensorFlow提供了一组许多常用图层,以及您从头开始或...翻译 2018-08-16 15:31:25 · 7473 阅读 · 0 评论 -
tensorflow之Eager execution基础
TensorFlow 引入了「Eager Execution」,它是一个命令式、由运行定义的接口,一旦从 Python 被调用,其操作立即被执行。这使得入门 TensorFlow 变的更简单,也使研发更直观。Eager Execution 的优点如下:快速调试即刻的运行错误并通过 Python 工具进行整合 借助易于使用的 Python 控制流支持动态模型 为自定义和高阶梯度提供强大支...翻译 2018-08-16 14:26:49 · 4769 阅读 · 0 评论 -
tensorflow求导和梯度计算
1.函数求一阶导import tensorflow as tftf.enable_eager_execution()tfe=tf.contrib.eagerfrom math import pidef f(x): return tf.square(tf.sin(x))assert f(pi/2).numpy()==1.0sess=tf.Session()grad_f=...原创 2018-08-16 13:04:21 · 5237 阅读 · 0 评论 -
tensorflow之过拟合和欠拟合问题
同前面的示例一样,此示例中的代码将使用tf.keras API,您可以在TensorFlow Keras指南中了解更多信息。在之前的两个例子中 - 电影评论分类和预测住房价格 - 我们看到模型对验证数据的准确性在经过多个epochs的训练后会达到峰值,然后开始下降。换句话说,我们的模型会过度拟合训练数据。学习如何处理过度拟合很重要。尽管通常可以在训练集上实现高精度,但我们真正想要的是开发出...翻译 2018-08-15 16:11:31 · 4040 阅读 · 1 评论 -
使用tensorflow进行房价预测
在回归问题中,我们的目标是预测一个连续值的输出,如价格或概率。将此与一个分类问题进行对比,我们的目标是预测一个离散的标签(例如,图片包含一个苹果或橙子)。本示例建立了一个模型来预测波士顿郊区在20世纪70年代中期的中值价格。为了做到这一点,我们将提供模型与郊区的一些数据,如犯罪率和地方物业税税率。使用tensorflow的高级API进行建模。import tensorflow as ...翻译 2018-08-15 13:22:58 · 5402 阅读 · 1 评论 -
使用Keras和预训练的词向量训练新闻文本分类模型
from __future__ import print_functionimport osimport sysimport numpy as npfrom keras.preprocessing.text import Tokenizerfrom keras.preprocessing.sequence import pad_sequencesfrom keras.utils im...翻译 2018-07-27 16:01:30 · 4317 阅读 · 1 评论 -
Tensorflow之张量和会话
1.张量的概念 Tensorflow的名字表明了张量的含义。在tensorflow中,所有数据通过张量形式表示。张量可以理解为多维数组。零阶张量表示标量,也就是一个数;一阶张量为向量,一维数组;n阶张量可以理解为n维数组。tensorflow中,张量并没有保存数字,只是表示数字的计算过程,是对tensorflow中运算结果的引用。import tensorflow as tfa = tf....原创 2018-07-07 19:03:54 · 447 阅读 · 0 评论 -
TensorFlow API之tf.estimator.Estimator
tfestimatorEstimator 属性 方法 tf.estimator.EstimatorEstimator class训练和测试TF模型。Estimator对象封装好通过model_fn指定的模型,给定输入和其它超参数,返回ops执行training, evaluation or prediction. 所有的输出(包含checkpoints, event files...转载 2018-09-16 14:38:22 · 697 阅读 · 0 评论