神经网络
沐雲小哥
这个作者很懒,什么都没留下…
展开
-
神经网络——梯度消失和梯度爆炸问题
(1)梯度不稳定问题:梯度不稳定问题:深度神经网络中的梯度不稳定性,前面层中的梯度或会消失,或会爆炸。原因:前面层上的梯度是来自于后面层上梯度的乘乘积。当存在过多的层次时,就出现了内在本质上的不稳定场景,如梯度消失和梯度爆炸。(2)梯度消失:原因:例如三个隐层、单神经元网络:则可以得到:然而,Sigmoid方程的导数曲线为:可以看到,Sigmoid导数的最大值0.25, 通常abs(w) < 1,则:前面的层...原创 2020-11-19 12:37:46 · 430 阅读 · 0 评论 -
神经网络的常用激活函数总结
激活函数的意义:激活函数是神经网络的一个重要组成部分。如果不用激活函数(即相当于激活函数为f(x)=x),在这种情况下,网络的每一层的输入都是上一层的线性输出,因此,无论该神经网络有多少层,最终的输出都是输入的线性组合,与没有隐藏层的效果相当,这种情况就是最原始的感知机。正因为上面的原因,才需要引入非线性函数作为激活函数,这样深层神经网络才有意义,输出不再是输入的线性组合,就可以逼近任意函数。各类激活函数的优缺点:绝大多数神经网络借助某种形式的梯度下降进行优化,激活函数需要是可微分(或者至少是几乎完原创 2020-11-19 10:47:40 · 2416 阅读 · 0 评论 -
Pytorch--Tensor的几种形状
Tensor的几种形状Scalar:import torchfrom torch import tensor"""Tensor 常见的形式有那些:. 0 scalar. 1 vector. 2 matrix. 3 n-dimensional tensor"""# Scalar 通常就是一个数值x = tensor(42.)print("x:\t", x)print("x.dim():\t", x.dim())print("2*x:\t", 2*x)print("x原创 2020-11-06 21:48:38 · 1002 阅读 · 0 评论 -
Pytorch--LOSS及其梯度
LOSS及其梯度. Mean Squared Error. Cross Entropy Loss . binary . multi-class . +softmax . leave it to Logistic Regression Partautograd.grad:import torchfrom torch.nn import functional as F# pred = wx + bx = torch.ones(1)w = torch.full([1原创 2020-11-06 21:46:21 · 1042 阅读 · 0 评论 -
Pytorch--激活函数
激活函数Sigmoid / Logistic:import torch# 从-100到100,均匀切分成10份a = torch.linspace(-100, 100, 10)print("a:\t", a)# torch.sigmoid()"""from torch.nn import functional as FF.sigmoid()"""b = torch.sigmoid(a)print("b:\t", b)a: tensor([-100.0000, -77.77原创 2020-11-06 21:42:52 · 171 阅读 · 0 评论 -
线性回归
线性回归import torchimport torch.nn as nnimport numpy as npx_values = [i for i in range(11)]x_train = np.array(x_values, dtype = np.float32)# 将x_train列表形式转换成矩阵形式x_train = x_train.reshape(-1, 1)print("x_train.shape:\t", x_train.shape)y_values = [2*i+1原创 2020-11-06 21:37:44 · 197 阅读 · 0 评论 -
Pytorch--反向传播自动求导机制
反向传播自动求导机制# 框架帮我们把反向传播全部计算好import torch# 方法1x = torch.randn(3, 4, requires_grad=True)print("x:\t", x)# 方法2x = torch.randn(3, 4)x.require_grad = Trueprint("x:\t", x)b = torch.randn(3, 4, requires_grad = True)t = x + by = t.sum()print("y:\t", y原创 2020-11-06 21:37:01 · 363 阅读 · 0 评论 -
目标检测之目标定位
目标检测是计算机视觉领域中一个新兴的应用方向,相比前两年,它的性能越来越好。在构建对象检测之前,我们先了解一下对象定位,首先我们看看它的定义。图片分类任务我们已经熟悉了,就是算法遍历图片,判断其中的对象是不是汽车,这就是图片分类。这节课我们要学习构建神经网络的另一个问题,即定位分类问题。这意味着,我们不仅要用算法判断图片中是不是一辆汽车,还要在图片中标记出它的位置,用边框或红色方框把汽车圈起来,这就是定位分类问题。其中“定位”的意思是判断汽车在图片中的具体位置。这周后面几天,我们再讲讲当图片中有多个原创 2020-09-08 19:41:22 · 6139 阅读 · 1 评论 -
迁移学习(Transfer Learning)深度学习常用方法
如果你要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始,如果你下载别人已经训练好网络结构的权重,你通常能够进展的相当快,用这个作为预训练,然后转换到你感兴趣的任务上。计算机视觉的研究社区非常喜欢把许多数据集上传到网上,如果你听说过,比如ImageNet,或者MS_COCO,或者Pascal类型的数据集,这些都是不同数据集的名字,它们都是由大家上传到网络的,并且有大量的计算机视觉研究者已经用这些数据集训练过他们的算法了。有时候这些训练过程需要花费好几周,并且需要很多的GPU,其它人原创 2020-09-08 15:58:50 · 3709 阅读 · 0 评论 -
1×1 卷积核的作用
作用:1、降维(减少参数)例子1 : GoogleNet中的3a模块输入的feature map是28×28×1921×1卷积通道为643×3卷积通道为1285×5卷积通道为32左图卷积核参数:192 × (1×1×64) +192 × (3×3×128) + 192 × (5×5×32) = 387072右图对3×3和5×5卷积层前分别加入了通道数为96和16的1×1卷积层,这样卷积核参数就变成了:192 × (1×1×64) +(192×1×1×96+ 96 × 3×3×128)+(1原创 2020-09-08 12:45:33 · 516 阅读 · 0 评论