
深度学习
DL
serenysdfg
菜鸟在成长
展开
-
cnn知识点
Caffe的三级结构(Blobs,Layers,Nets)1.Caffe总体架构Caffe框架主要有五个组件:Blob,Solver,Net,Layer,Proto,大致可以分为三层结构blob,layer,netSolver负责深度网络的训练,每个Solver中包含一个训练网络对象和一个测试网络对象。每个网络则由若干个Layer构成。每个Layer的输入和输出Feature map表示为Input Blob和Output Blob。 Blob是Caffe实际存储数据的结构,是一个不定维的矩阵,原创 2020-07-05 01:01:13 · 423 阅读 · 0 评论 -
word2vec参数
word2vec训练 、一般来说word2vec的词向量方法强于glove方法,而对于word2vec,cbow方法强于skip-gramlr = 0.05 dim = 100 ws = 5 epoch = 5 minCount = 5 neg = 5 loss = 'ns' t = 1e-4一般是把训练和测试的语料都用来做word-embedding 本文使用Word2Vector实...原创 2020-03-13 14:15:30 · 944 阅读 · 1 评论 -
文本分类-《动手学深度学习pytorch》
它把一段不定长的文本序列变换为文本的类别。情感分析:使用文本情感分类来分析文本作者的情绪。有广泛的应用。应用预训练的词向量和含多个隐藏层的双向循环神经网络与卷积神经网络,来判断一段不定长的文本序列中包含的是正面还是负面的情绪。后续内容将从以下几个方面展开:文本情感分类数据集 使用循环神经网络进行情感分类 使用卷积神经网络进行情感分类文本情感分类数据我们使用斯坦福的IMDb数据...原创 2020-02-26 01:08:37 · 514 阅读 · 0 评论 -
word2vec和词嵌入-《动手学深度学习pytorch》
1基础one-hot 词向量无法准确表达不同词之间的相似度,如我们常常使用的余弦相似度。因此提出Word2Vec 词嵌入工具,它将每个词表示成一个定长的向量,并通过在语料库上的预训练使得这些向量能较好地表达不同词之间的相似和类比关系,PTB (Penn Tree Bank)是一个常用的小型语料库,它采样自《华尔街日报》的文章,包括训练集、验证集和测试集。我们将在PTB训练集上训练词嵌...原创 2020-02-26 15:18:05 · 647 阅读 · 0 评论 -
数据增强,模型微调《动手学深度学习pytorch》
图像增广通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变训练样本可以降低模型对某些属性的依赖,从而提高模型的泛化能力。我们可以对图像进行不同方式的裁剪,使感兴趣的物体出现在不同位置,从而减轻模型对物体出现位置的依赖性。我们也可以调整亮度、色彩等因素来降低模型对色彩的敏感度。1翻转和裁剪,2变化颜色(亮度、对比度、饱...原创 2020-02-26 01:09:19 · 721 阅读 · 0 评论 -
优化算法进阶-《动手学深度学习pytorch》
问题和概念目标函数有关自变量的梯度代表了目标函数在自变量当前位置下降最快的方向。因此,梯度下降也叫作最陡下降.在每次迭代中,梯度下降根据自变量当前位置,沿着当前位置的梯度更新自变量。然而,如果自变量的迭代方向仅仅取决于自变量当前位置,这可能会带来一些问题。对于noisy gradient,我们需要谨慎的选取学习率和batch size, 来控制梯度方差和收敛的结果。可能左右和上下的学习率互...原创 2020-02-26 01:09:05 · 325 阅读 · 0 评论 -
注意力机制-《动手学深度学习pytorch》
引入注意力机制原因在“编码器—解码器(seq2seq)”⼀节⾥,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。然而RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有的有效信息,所以随着所需翻译句子的长度的增加,这种结构的效果会显著下降。与此同时,解码的目标词语可能只与原输入的部分词语有...原创 2020-02-25 17:36:00 · 1860 阅读 · 0 评论 -
RNN-《动手学深度学习pytorch》
GRURNN存在的问题:梯度较容易出现衰减或爆炸(BPTT),改进:GRU⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系 #GRUdef gru(inputs, state, params): W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q = param...原创 2020-02-25 17:28:25 · 185 阅读 · 0 评论 -
文本分类语言模型-《动手学深度学习pytorch》
文本预处理预处理通常包括四个步骤:读入文本 分词 建立字典,将每个词映射到一个唯一的索引(index) 将文本从词的序列转换为索引的序列,方便输入模型有一些现有的工具可以很好地进行分词,例如spaCy和NLTK语言模型一段自然语言文本可以看作是一个离散时间序列,给定一个长度为TT的词的序列w1,w2,…,wT语言模型的目标就是评估该序列是否合理,即计算该序列的概率:P(w1...原创 2020-02-25 17:22:56 · 187 阅读 · 0 评论 -
CNN模型-《动手学深度学习pytorch》
LeNetnet = torch.nn.Sequential( #Lelet Reshape(), nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, padding=2), #b*1*28*28 =&g...原创 2020-02-25 17:17:20 · 675 阅读 · 0 评论 -
CNN基础-《动手学深度学习pytorch》
1概念互相关运算与卷积运算卷积层得名于卷积运算,但卷积层中用到的并非卷积运算而是互相关运算。我们将核数组上下翻转、左右翻转,再与输入数组做互相关运算,这一过程就是卷积运算。由于卷积层的核数组是可学习的,所以使用互相关运算与使用卷积运算并无本质区别特征图与感受野二维卷积层输出的二维数组表征,也叫特征图(feature map)。影响元素????x的前向计算的所有可能输入区域(可能大于输...原创 2020-02-25 17:05:15 · 308 阅读 · 0 评论 -
梯度消失和梯度爆炸-《动手学深度学习pytorch》
深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion)。当神经网络的层数较多时,模型的数值稳定性容易变差。多层感知机的第????l层的输出????(????)=????????(1)????(2)…????(????)H(l)=XW(1)W(2)…W(l)。此时,如果层数????l较大,????(????)H(l)的计算可能会出现衰减或爆炸。如权重参数为0.2和5,多层感知机的第30层输出为输入????X分别与0.230≈...原创 2020-02-25 16:55:07 · 301 阅读 · 0 评论 -
过拟合、欠拟合-《动手学深度学习pytorch》
训练误差和泛化误差训练误差:在训练数据集上表现出的误差,泛化误差:在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似,机器学习模型应关注降低泛化误差K折交叉验证原始训练数据集分割成K个不重合的子数据集。每一次,我们使用一个子数据集验证模型,并使用其他K-1个子数据集来训练模型。每次验证数据集都不同求平均。过拟合和欠拟合接下来,我们将探究模型训练中...原创 2020-02-25 16:50:09 · 255 阅读 · 0 评论 -
梯度下降 -《动手学深度学习pytorch》
1梯度下降一维梯度下降**证明:沿梯度反方向移动自变量可以减小函数值** (梯度:导数) x -= lr* gradf(x)根据公式:学习率(lr)太小达不到最低点,太大动荡变化局部极小值挑战:学习率过大动荡会到另一个局部最小值多维梯度下降等高线(x1 - eta * 2 * x1, x2 - eta * 4 * x2)2自适应方法2.1牛顿法需要...原创 2020-02-25 16:39:03 · 191 阅读 · 0 评论 -
多层感知机激活函数-《动手学深度学习pytorch》
1激活函数ReLU函数ReLU(rectified linear unit)函数提供了一个很简单的非线性变换。给定元素????x,该函数定义为ReLU函数只保留正数元素,并将负数元素清零Sigmoid函数元素值在0和1之间 tanh函数tanh(双曲正切)函数可以将元素的值变换到-1和1之间 2激活函数选择ReLu:通用,大多数情况,...原创 2020-02-25 16:45:04 · 689 阅读 · 0 评论 -
凸优化-《动手学深度学习pytorch》
指定义在凸集中的凸函数最优化的问题优化目标尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。- 优化方法目标:训练集损失函数值 - 深度学习目标:测试集损失函数值(泛化性)优化在深度学习中的挑战1. 局部最小值2. 鞍点:沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点。3. 梯度消失:梯度为0...原创 2020-02-25 15:52:15 · 269 阅读 · 0 评论 -
caffe与卷积神经网络
date:2017.9-2018.4 purpose:毕设1caffe简介Caffe框架主要有五个组件:Blob,Solver,Net,Layer,Proto,模型定义在.prototxt文件中,训练好的模型在model目录下.binaryproto格式的文件中。模型的格式由caffe.proto定义。采用Google Protocol Buffer可以节省空间还有它对C++...原创 2019-07-15 14:58:34 · 1150 阅读 · 0 评论 -
pytorch学习
学习地址中文文档: https://pytorch-cn.readthedocs.io/zh/latest/https://zhuanlan.zhihu.com/p/99318332 (60题PyTorch简易入门指南)https://www.kesci.com/home/project/5e0036722823a10036ae9d1d (深度学习之PyTorch实战-基础学习及搭建环境)...原创 2020-03-06 21:48:14 · 243 阅读 · 0 评论 -
损失函数
MAE loss(L1)具有稀疏性,可以惩罚较大的值,对离群值不敏感缺点:梯度在0点不平滑,导致会跳过极小值,小的损失值梯度也大不利于函数的收敛和模型的学习。MSE loss(L2)差值大于1会放大误差,给予较大的惩罚,较小的误差(<1)给予较小的惩罚,求解速度高缺点:对离群点比较敏感,受其影响较大,MSE会给离群点更高的权重方法:将离群值的导数设为0(导数值大于...原创 2020-03-05 00:14:01 · 747 阅读 · 0 评论 -
pytorch基础
学习地址%matplotlib inlinehttps://github.com/MorvanZhou/PyTorch-Tutorialhttps://morvanzhou.github.io/tutorials/201torch-numpyimport torchtorch_data = torch.from_numpy(np_data) #torch.from_num...原创 2020-02-29 23:25:06 · 216 阅读 · 0 评论 -
pytorch加载图像数据查看
导入包import torchvisionimport torchfrom matplotlib import pyplot as pltfrom IPython import display数据导入def load_data_fashion_mnist(batch_size, resize=None, root="/home/kesci/input/FashionMNIST...原创 2020-02-29 23:22:33 · 709 阅读 · 0 评论 -
Deep AutoEncoder 和 CDL代码
Training Deep AutoEncoders for Collaborative Filtering 2017Deep AutoEncoder 核心思想是希望能通过反向传播训练网络最小化输入和输出的误差,从而完成对未知的电影进行预估。import warningswarnings.filterwarnings('ignore')import numpy as npimpor...原创 2020-02-28 23:19:37 · 462 阅读 · 1 评论 -
深度学习其他概念-强化学习
强化学习如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则...原创 2020-02-27 23:36:39 · 314 阅读 · 0 评论 -
tensorflow
查看tensorflow版本import tensorflow as tf# 新建一个 graph.a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')c...原创 2019-11-16 16:03:17 · 177 阅读 · 0 评论 -
tensorflow
tensorflow的Summary用法https://www.cnblogs.com/lyc-seu/p/8647792.htmltf.summary.merge_all():将所有summary全部保存到磁盘,以便tensorboard显示。如果没有特殊要求,一般用这一句就可一显示训练时的各种信息了。sess = tf.Session()init = tf.global_var...原创 2020-02-28 11:52:25 · 121 阅读 · 0 评论