深度学习笔记
取取经
这个作者很懒,什么都没留下…
展开
-
深度学习常见问题
本博客仅为作者记录笔记之用,不免有很多细节不对之处。还望各位看官能够见谅,欢迎批评指正。 一、如何降低过拟合[1]1. 什么是过拟合在给定的训练集上表现良好,使得模型过于复杂。2. 过拟合带来的危害在给定的训练集上表现良好,但在测试集上表现很差,即泛化能力很弱。3. 如何解决过拟合(1)调整现有数据,给现有数据添加噪声。(2)使用dropoutdropo...原创 2018-06-07 21:32:29 · 516 阅读 · 0 评论 -
【深度学习笔记2.2.1】AlexNet
概述 2012年,Hinton的学生Alex Krizhevsky提出的深度卷积神经网络模型AlexNet获得了2012年ILSVRC比赛分类项目的冠军。AlexNet是在LeNet的基础上发展起来的,AlexNet首次引入了Dropout层来处理过拟合以及使用ReLU替代sigmoid来作为激活函数。网上资料一堆,不想重复造轮子了。参考文献[1] ImageNet Classifica...转载 2019-02-25 19:22:17 · 582 阅读 · 0 评论 -
【深度学习笔记3.2 正则化】Dropout
关于dropout的理解与总结:dropout是什么?参考文献[1]dropout会让train变差,让test变好。一般的如果在train-set上表现好,在test-set上表现差,用dropout才有效果。使用dropout是为了避免过拟合。(来自网友)下图来自文献[3] 上图中的思想就是说:Dropout是一种正则化技术,是防止过拟合最有效的方法,然而在以下几种情况下使用dr...原创 2019-02-17 16:16:12 · 1002 阅读 · 0 评论 -
【深度学习笔记3.1 正则化】权重衰减(weight decay)
权重衰减是什么?参考有关文献这里参考文献[1]整理成如下代码:(详见文献[5]regularization/WeightDecay.py)import numpy as npimport tensorflow as tffrom matplotlib import pyplot as pltn_train = 20n_test = 100num_inputs = 200tr...原创 2019-02-17 16:15:12 · 1215 阅读 · 0 评论 -
【深度学习笔记2.3】VGG
vgg16_1代码示例如下(详见文献[2]vgg16_1.py):import numpy as npimport cv2import tensorflow as tffrom datetime import datetimeimport matplotlib.pyplot as pltfrom tensorflow.examples.tutorials.mnist import i...原创 2019-02-17 16:14:45 · 361 阅读 · 0 评论 -
【深度学习笔记2.2.2】AlexNet训练mnist
算法优化思路即方法AlexNet Tensorflow 实现代码示例如下(详见文献[2]AlexNet1.py):import numpy as npimport cv2import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport matplotlib.pyplot as...原创 2019-02-17 16:12:44 · 767 阅读 · 0 评论 -
【深度学习笔记2.1】LeNet-5
概述LeNet-5中的-5是个啥?Gradient-Based Learning Applied to Document Recognition图1 [3]![enter image description here](https://lh3.googleusercontent.com/-KPfsR5nep9A/W2rbZF4xk-I/AAAAAAAAAFc/PtinL8z9rCA0Pz...原创 2019-02-17 16:12:01 · 331 阅读 · 0 评论 -
【深度学习笔记1.4】更快的优化器
概述 训练一个非常大的深度神经网络可能会非常缓慢。 到目前为止,我们已经看到了四种加速训练的方法:对连接权重应用良好的初始化策略,使用良好的激活函数,使用批量规范化以及重用预训练网络的部分。另一个巨大的速度提升来自使用比普通渐变下降优化器更快的优化器。 在本节中,我们将介绍最流行的:动量优化,Nesterov 加速梯度,AdaGrad,RMSProp,最后是 Adam 优化。 剧透:本节的...原创 2019-02-17 16:10:07 · 421 阅读 · 0 评论 -
【深度学习笔记1.3】复用预训练层
概述 从零开始训练一个非常大的 DNN 通常不是一个好主意,相反,您应该总是尝试找到一个现有的神经网络来完成与您正在尝试解决的任务类似的任务,然后复用这个网络的较低层:这就是所谓的迁移学习。这不仅会大大加快训练速度,还将需要更少的训练数据[1]。 例如,假设您可以访问经过训练的 DNN,将图片分为 100 个不同的类别,包括动物,植物,车辆和日常物品。 您现在想要训练一个 DNN 来对特定...原创 2019-02-17 16:08:44 · 1205 阅读 · 0 评论 -
【深度学习笔记1.2】梯度消失与梯度爆炸
梯度下降 梯度下降法(Gradient descent)是一种基于函数一阶性质的优化算法,其本质是在某个位置将目标函数一阶展开,利用其一阶性质持续向函数值下降最快的方向前进,以期找到函数的全局最小解。梯度下降属于梯度优化方法大类,此外还有最速下降法,共轭梯度法等等。还有其他方法基于目标函数的二阶性质,比如牛顿法、拟牛顿法等[1]。注意:梯度下降法就是最速下降法,很多地方、很多人、包括维基百科...原创 2019-02-17 16:07:48 · 1689 阅读 · 0 评论 -
【深度学习笔记1.1】人工神经网络(内含模型保存与恢复介绍)
线性阈值单元线性阈值单元(LTU):输入和输出是数字(而不是二进制开/关值),并且每个输入连接都与权重相连。LTU计算其输入的加权和(z = W1×1 + W2×2 + … + + WN×n = Wt·x),然后将阶跃函数应用于该和,并输出结果:HW(x) = STEP(Z) = STEP(W^T·x) [1]。单一的 LTU 可被用作简单线性二元分类[2]。代码示例1sklearn 提...原创 2019-02-17 16:06:05 · 1304 阅读 · 0 评论 -
【深度学习笔记2.2.3】AlexNet训练17flowers
概述本文介绍使用AlexNet做17flowers的分类任务,代码参考文献[1],数据集17flowers来自文献[2],预训练模型bvlc_alexnet.npy来自文献[4]。实验1:finetune最后一个全连接层调参实验总结如下:初始学习率不能大于0.0001,否则训练loss将会是nan;如果learning_rate_init = 0.0001,train_layers =...原创 2019-02-25 19:34:05 · 1756 阅读 · 2 评论