深度学习
文章平均质量分 56
阿华Go
做一个有责任心有上进心的汉子,我要肩负起守护家人的重任!!!
展开
-
交叉熵损失函数的多样化理解
背景:为什么会选择交叉熵损失函数??? 起初大佬们想的是使用绝对值误差作为损失函数,但是由于绝对值在数学中不好计算,所以大佬们就对绝对误差进行取平方操作,为了便于计算,在前面还乘了1/2,然后多个样本的损失进行求和求均值,即MSE(最大平方估计/最大平方误差),在深度学习中,我们经常使用的激活函数是sigmoid激活函数,由于该函数直接将输出激活到(0,1)空间,导致在该函数边缘的区域进行参...原创 2018-04-12 17:13:03 · 648 阅读 · 0 评论 -
CNN中的小tips(3)---《l1,l2正则化为什么可以减轻过拟合现象》
过拟合现象发生的原因: 过拟合现象:由于神经网络的学习能力过于强大,以至于学到了训练样本中一些不太一般的特点,从而导致模型的泛化能力变差! 本质原因:由于监督学习问题的不适定:可以这样理解,高数中我们通过n个方程求解n个变量,当用这n个方程求解n+1个变量时,就会求解不出来;在监督学习中,我们给定的数据(方程)远远少于模型空间中的变量(变量的个数)。 而且模型越复杂,越容易过拟合!因此过...原创 2018-04-16 22:30:40 · 4406 阅读 · 0 评论 -
CNN中的小tips(2)---batch normalization
问题:Internal Covariate Shift: 1)描述: 普遍理解:Internal Covariate Shift(内部协方差偏移):随着网络的进行,网络中的参数也随着梯度不停更新。一方面,当底层网络中的参数发生微弱变化时,由于每一层中的线性变换和非线性激活映射,这些微弱的变化随着网络层数的加深而被逐级放大(类似蝴蝶效应);另一方面,参数的变化导致每一层的输入分布会发生改变,...原创 2018-04-15 18:33:36 · 2190 阅读 · 0 评论 -
CNN中的小tips
1)为什么使用两个3*3的卷积核而不是用5*5的卷积核呢?加深网络深度;减少所求解的参数个数。 例如我们共有20个3*3的卷积核,将其分为两层,然后有20个5*5的卷积核,将其保持一层,经过两层3*3或者一层5*5之后得到的大小一致,那么为什么我们在卷积核个数相同的情况下更喜欢采用两层3*3而不是一层5*5呢,答案就在与在加深网络深度的同时还可以减少计算的网络参数!两层3*3卷积核计...原创 2018-03-16 17:34:18 · 501 阅读 · 0 评论 -
生成对抗网络(GAN)简单入门(33)---《深度学习》
生成对抗网络与2014年被提出,一经提出便引发了深度学习的又一次小高潮,属于无监督学习,本篇博客主要介绍GAN网络的结构以及训练过程!对抗样本即对抗网络的发展大家可以参考GANs学习系列(4):对抗样本和对抗网络,有助于建立一个对对抗样本的系统认知!1、生成对抗网络(GAN)的结构GAN网络主要由两个网络构成,生成网络G和辨别网络D,生成模型G的思想是将一个噪声包装成一个逼真的样本原创 2017-12-12 16:40:10 · 3547 阅读 · 2 评论 -
浅谈encoder-decoder模式的下的seq2seq模型(35)---《深度学习》
严正申明:本文中所有用到的图都是来自这篇博客深度学习方法(八):自然语言处理中的Encoder-Decoder模型,基本Sequence to Sequence模型 前面我们已经了解了CNN,RNN及对应的BP和BPTT,有了这两个强大的工具,我们可以将其进行组合进而解决很多的问题,这篇博客我们就来讲一下利用RNN结合RNN来实现一个seq2seq模型,注意为什么需要采用encoder-deco原创 2018-01-30 23:19:56 · 961 阅读 · 0 评论 -
生成tfrecords文件(29)---《深度学习》
先将图片转化为tfrecords文件,然后将tfrecords文件进行批量恢复!import os import tensorflow as tf from PIL import Image #注意Image,后面会用到import matplotlib.pyplot as plt import numpy as npimport os.pathimport timedef read_原创 2017-11-24 17:47:49 · 456 阅读 · 0 评论 -
tensorflow RNN初探(30)---《深度学习》
tensorflow实现简单的RNN,注意RNN中的x_data的维度为(batch_size,sequence_length,cell_state_size),构件好RNN图后进行进行数据流动,注意tf.nn.dynamic_rnn的输出为输出值output和状态值states,格式可以见下图中的输出!#coding=utf-8import tensorflow as tfimport num原创 2017-11-27 15:46:44 · 294 阅读 · 0 评论 -
利用RNN对字符串进行预测(31)---《深度学习》
参考:https://github.com/hunkim/DeepLearningZeroToAll/blob/master/lab-12-2-char-seq-rnn.py本篇博客我们参考Hunkim大佬的代码,实现对多个字符串进行预测,需要注意的是,这儿的sequence_length相同,即字符串的长度都是一样的,这儿,只是将批数据设置为3,然后进行,查看运行结果!#coding=utf-8原创 2017-11-27 16:56:30 · 2561 阅读 · 0 评论 -
深度学习:欠拟合问题的几种解决方案
我最近做深度学习在连续中文语音识别方向的应用的时候,根据一些论文和网上一些公开代码和模型结构,设计了一个神经网络的模型。但是在训练的时候,就首先遇到了很让人头疼的欠拟合问题。神经网络欠拟合的特征是,训练了很长时间,但是在训练集上,loss值仍然很大甚至与初始值没有太大区别,而且精确度也很低,几乎接近于0,在测...转载 2018-11-15 18:09:53 · 5874 阅读 · 1 评论 -
Loss和神经网络训练
出处:http://blog.csdn.net/han_xiaoyang/article/details/50521064 声明:版权所有,转载请联系作者并注明出处1.训练在前一节当中我们讨论了神经网络静态的部分:包括神经网络结构、神经元类型、数据部分、损失函数部分等。这个部分我们集中讲讲动态的部分,主要是训练的事情,...转载 2018-11-15 17:44:48 · 2235 阅读 · 0 评论 -
训练loss不下降原因集合
转载自:https://blog.csdn.net/jacke121/article/details/79874555一,train loss与test loss结果分析4666train loss 不断下降,test loss不断下降,说明网络仍在学习;train loss 不断下降,test lo...转载 2018-11-08 09:46:18 · 1763 阅读 · 0 评论 -
几种Attetnion机制
主要列一下参考文献,便于以后再了解~从Seq2seq到Attention模型到Self Attention(一)从Seq2seq到Attention模型到Self Attention(二)Attention (Query,Key,Value)一般Attention: Query来自Decoder中,Key=Value来自Encoder中,一般有乘法Attention和加法Attention...原创 2018-10-18 11:07:12 · 772 阅读 · 0 评论 -
Faster-RCNN的RPNnet解析
首先,RPNnet注意包括两部分,一个是用于预测预测框的前景背景,因此输出为2k,其中k对应的是所有anchor boxes的个数;另一个是用于预测对应的坐标映射关系,输出为4k;然后RPN net的输出结合上一层的feature map同时送入ROI pooling层,然后做进一步的判别。scales=[8,16,32]ratios=[0.5,1,2]w=[23,16,11]h=[12...原创 2018-09-25 20:58:28 · 576 阅读 · 0 评论 -
详解 ROI Align 的基本原理和实现细节
尊重作者,转载网址。ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。实验显示,在检测测任务中将 ROI Pooling 替换为 ROI A...转载 2018-07-30 15:52:16 · 750 阅读 · 0 评论 -
mAP参考文献
最近在做目标检测相关的工作,有时候想要统计mAP值却往往找不到对应的参考文献,所以就花了一些时间统一对资料进行了整理,希望可以帮到需要的童鞋。 darknet yolo 计算mAP,recall 深度学习系列之YOLOv2 mAP计算 YOLO V2 的mAP数据测试 有时间再来做更精细的整理!...原创 2018-07-13 10:38:31 · 1337 阅读 · 0 评论 -
RNN介绍
原文 http://www.jianshu.com/p/9dc9f41f0b29Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我...转载 2018-07-06 16:35:42 · 856 阅读 · 0 评论 -
FGSM(Fast Gradient Sign Method)生成对抗样本(32)---《深度学习》
利用FGSM方法生成对抗样本的基本原理如下图所示,通过对原始图片添加噪声来使得网络对生成的图片X’进行误分类,需要注意的是,生成图片X’和原始图片X很像,人的肉眼无法进行辨别,生成的图片X’即为对抗样本!1)定向对抗样本 注意是对X’(n-1)求偏导,并非X,而且注意loss函数J中的参数是X’和Y’,而不是X和Y!这个是定向对抗样本生成的过程,f(x)是针对噪声的裁剪过程!X’(n)=...原创 2017-12-11 15:52:58 · 14582 阅读 · 9 评论 -
利用tensorboard显示特征图(28)---《深度学习》
原图如下:(对,就是《吸血鬼日记》中的女主啦) #coding=utf-8import tensorflow as tfimport cifar10import img_convertimport numpy as npwith tf.variable_scope('conv1') as scope: images=img_convert.convert_3_2_4_dims(im原创 2017-11-23 20:05:06 · 6518 阅读 · 8 评论 -
tensorflow对自己的数据进行训练(选择性的恢复权值)(26)---《深度学习》
利用生成的批数据对inception_v3模型进行微调,然后进行训练!#-*-coding=utf-8-*-import tensorflow as tfimport tensorflow.contrib.slim as slimimport tensorflow.contrib.slim.nets as nets#from tensorflow.contrib.slim.nets.ince原创 2017-11-22 18:41:00 · 3366 阅读 · 0 评论 -
自己制作npy数据集,数据格式类似于mnist数据(16)---《深度学习》
代码:import tensorflow as tfimport numpy as npimport osfrom PIL import Imagedir="/home/jobs/Pictures/test"def getFileArr(dir): #存放每个图片对应三维数组 result_arr=[] #存放标签类,因为标签类的起始个数未知,期初无法进行标签的维度化表原创 2017-10-23 17:14:40 · 18002 阅读 · 14 评论 -
神经网络的层参数维度(14)---《深度学习》
我们了解神经网络中的梯度下降算法,反向传播算法,损失函数等等,现在我们参考Michael Nielsen实现自己的神经网络构建和梯度下降算法和反向传播算法等等的实现!1)mnist数据集的读取:import cPickleimport gzip# Third-party librariesimport numpy as npdef load_data(): """Return the M原创 2017-10-19 20:26:18 · 2721 阅读 · 0 评论 -
卷积神经网络的参数维度(15)---《深度学习》
在写这篇博客之前,提一个奇奇怪怪的问题啦! 问题:如果我们将输入转化为(n,)而不是(n,1),那么此时的每一层的权重w或者偏置b的误差应该怎样求解呢? 为什么会有卷积神经网络单独列出来查看起参数维度呢?其实是因为在使用tf.nn.softmax()的时候遇到问题啦,如下: 我们可以清晰的看到当最后一层的维度是(10,1)的时候,结果和我们预期的结果不是一样的,当最后一层的维度是(10,)原创 2017-10-19 20:41:56 · 1587 阅读 · 0 评论 -
Mnist数据集分析(13)---《深度学习》
Mnist数据集分析def load_data(): f = gzip.open('/var/tmp/mnist.pkl.gz', 'rb') training_data, test_data = cPickle.load(f) f.close() return (training_data, test_data)def load_data_wrapper():原创 2017-10-19 19:25:39 · 435 阅读 · 0 评论 -
神经网络中梯度下降算法原理
转载:http://blog.csdn.net/programmer_wei/article/details/51941358梯度下降算法是一个很基本的算法,在机器学习和优化中有着非常重要的作用,本文首先介绍了梯度下降的基本概念,然后使用python实现了一个基本的梯度下降算法。梯度下降有很多的变种,本文只介绍最基础的梯度下降,也就是批梯度下降。实际应用例子就不详细说了,网上关于梯度下降的应用例子很转载 2017-09-22 10:51:03 · 1866 阅读 · 0 评论 -
SVM实现多分类的三种方案(11)---《深度学习》
转载:http://www.cnblogs.com/CheeseZH/p/5265959.html SVM本身是一个二值分类器 SVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器。 目前,构造SVM多类分类器的方法主要有两类 (1)直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类。这种方转载 2017-09-25 15:30:15 · 835 阅读 · 0 评论 -
RCNN之Selective Search方法(10)---《深度学习》
转载:http://blog.csdn.net/xbcreal/article/details/76014600 在阅读这篇博客之前,推荐先阅读关于讲解Efficient Graph-Based Image Segmentation 的这篇关于图像分割的博客,因为这个图像分割算法是selective search算法的一个重要的组成部分。 先说这个算法是用来干嘛的转载 2017-09-25 13:55:34 · 888 阅读 · 0 评论 -
RCNN中的前期准备:Efficient Graph-Based Image Segmentation(9)---《深度学习》
转载:http://blog.csdn.net/xbcreal/article/details/75897836本篇博客主要讲解RCNN中用到的selective search中的第一步:基于图的图像分割 R-CNN大致分为两个步骤,一个是使用提出检测建议(detection proposals)的算法,另一个是使用神经网络对这些检测建议进行分类和融合。在R-CNN转载 2017-09-25 13:12:52 · 355 阅读 · 0 评论 -
Tensorflow读取数据的4种方式(8)---《深度学习》
转载:Tensorflow从文件读取数据TensorFlow程序读取数据一共有3种方法:供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据。从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据。预加载数据: 在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况)。使用Tensorfl转载 2017-09-15 10:53:09 · 5039 阅读 · 0 评论 -
tensorflow中bin数据读取之深入理解(6)---《深度学习》
转载:tensorflow的数据输入 tensorflow有两种数据输入方法,比较简单的一种是使用feed_dict,这种方法在画graph的时候使用placeholder来站位,在真正run的时候通过feed字典把真实的输入传进去。比较简单不再介绍。比较恼火的是第二种方法,直接从文件中读取数据(其实第一种也可以我们自己从文件中读出来之后使用feed_dict传进去,但方法二tf提转载 2017-09-15 11:11:39 · 1790 阅读 · 0 评论 -
tensorflow使用inception_v3网络和权重进行图片分类(19)---《深度学习》
注意inception_v3训练的图片的类型为(299,299,3),分类为1001,因此我们在进行预测前面需要将数据集转化为这种格式,见read_files.py文件;然后我们加载inception_v3网络以及其给定权值进行预测,见test.py文件,训练结果见底下图片所示:read_files.py#coding=utf-8import tensorflow as tfimp...原创 2017-10-31 14:29:38 · 3306 阅读 · 0 评论 -
将npy数据集恢复为图片(17)---《深度学习》
代码:import numpy as npfrom PIL import Imageimport osdir="/home/jobs/Desktop/data_self/"dest_dir="/home/jobs/Desktop/jpg_self/"def npy2jpg(dir,dest_dir): if os.path.exists(dir)==False: os原创 2017-10-23 22:37:36 · 9006 阅读 · 7 评论 -
实现图片和arr之间的转换(18)---《深度学习》
import osfrom PIL import Imageimport numpy as npdef jpg_2_arr(file): img=Image.open(file) r,g,b=img.split() r_arr=np.array(r).reshape(112*112) g_arr=np.array(g).reshape(112*112) b原创 2017-10-23 22:50:50 · 592 阅读 · 0 评论 -
图片转换为batch批数据(25)---《深度学习》
将图片转换为tensorflow中可以使用的批数据#coding=utf-8from PIL import Imageimport osimport os.pathimport numpy as npimport tensorflow as tfimport tensorflow.contrib.slim as slimimport tensorflow.contrib.slim.ne原创 2017-11-22 18:11:40 · 2888 阅读 · 0 评论 -
选择性的加载网络模型的前几层训练(27)---《深度学习》
加载模型的前几层拼接自己构建的层进行训练 注意这里我们使用了nets.inception.inception_v3_base来进行网络模型的部分恢复,因为nets.inception.inception_v3_base中可以指定final_endpoint参数进行网络的末尾层指定,然后通过在saver的restore函数中进行参数的设定来确保那些权值进行恢复,那些不需要进行恢复! train....原创 2017-11-22 23:15:12 · 739 阅读 · 0 评论 -
tensorflow生成数据集(24)---《深度学习》
生成数据集的代码#coding=utf-8import tensorflow as tfimport numpy as npimport osfrom PIL import Imagedef to_categorial(y,n_classes): y_std=np.zeros([len(y),n_classes]) for i in range(len(y)):原创 2017-11-22 15:26:07 · 526 阅读 · 0 评论 -
查看不同网络结构(22)---《深度学习》
查看不同网络的权限名称:#coding=utf-8from PIL import Imageimport osimport os.pathimport numpy as npimport tensorflow as tfimport tensorflow.contrib.slim as slimimport tensorflow.contrib.slim.nets as netsim原创 2017-11-21 16:14:19 · 465 阅读 · 0 评论 -
tensorflow之inception_v3模型的部分加载及权重的部分恢复(23)---《深度学习》
大家都知道,在加载模型及对应的权重进行训练的时候,我们可以整个使用所提供的模型,但是有时候呢?所提供的模型不能很好的满足我们的要求,有时候我们只需要模型的前几层然后进行对应的权重赋值,这时候,我们应该怎么办呢?tensorflow为我们提供了两种方法(探索了好久才找到解决办法,不过感觉蛮有用的,分享给大家啦!):1)在加载模型的时候,使用final_endpoint参数,指定模型阶段点:import原创 2017-11-22 15:01:33 · 5841 阅读 · 6 评论 -
SVM简单解析(21)---《深度学习》
上篇博客中从三个不同的层次讲解了SVM算法,这篇博客中主要针对SVM中的一些问题进行一个简单的讲解: 1)为什么需要核函数? 答:主要有两个作用!都是针对将线性不可分的低维空间映射到高维空间时进行的转换: ①需要将低维线性不可分的映射为高维线性可分; ②在映射的时候如果在映射后的高纬空间进行操作的话,会导致指数爆炸,因此,我们需要在低纬度上面进行相应的运算之后然后进行低维向高维进行映射!原创 2017-11-12 18:27:12 · 250 阅读 · 0 评论 -
支持向量机通俗导论(理解SVM的三层境界)
转载:http://blog.csdn.net/v_july_v/article/details/7624837前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的时候还是显得转载 2017-11-12 14:14:08 · 261 阅读 · 0 评论