自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 深度可分离卷积Depthwise Separable Convolution

采用多个2D(单通道)的filter对输入的 feature map 进行Convolution运算(每一个单通道filter对输入的feature map的一个通道进行卷积运算)。filter的大小可以自己定义,但是要根据输入的fearture map的通道channel来确定filter的通道数,进行Convolution之后就会得到一个。此时,经过分离卷积得到的新的feature map是没有联系的,因此需要通过再一步的逐点卷积Pointwise Convolution,将它们相互联系。

2023-10-24 11:22:02 113

转载 一文搞懂激活函数(Sigmoid/ReLU/LeakyReLU/PReLU/ELU)

激活函数相关弄懂激活函数原文AYOOSH KATHURIA的博客:Intro to Optimization in Deep Learning: Vanishing Gradients and Choosing the Right Activation Function

2022-05-31 11:29:11 183

转载 Python clone()和detach() 对比

PyTorch中clone()、detach()Torch 为了提高速度,向量或是矩阵的赋值是指向同一内存的,这不同于 Matlab。如果需要保存旧的tensor即需要开辟新的存储地址而不是引用,可以用 clone() 进行深拷贝clone() 与 detach() 对比import torcha = torch.tensor(1.0, requires_grad=True)b = a.clone()c = a.detach()a.data *= 3b += 1print(a) # t

2022-03-10 11:57:16 3386

原创 Python基础 [...,]三点切片

直接上代码import numpy as npa = np.arange(720).reshape((2,3,4,5,6))print(a)[[[[[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [ 12 13 14 15 16 17] [ 18 19 20 21 22 23] [ 24 25 26 27 28 29]] [[ 30 31 32 33 34 35]

2022-03-09 08:42:09 7415

原创 Python 基础torch.stack(tensors: Union[Tuple[Tensor, ...], List[Tensor]], dim: _int=0, *, out: Option)

stack(inputs, dim=) :沿着一个新维度对输入张量序列进行连接。 序列中所有的张量都应该为相同形状。np.stack()import numpy as npa=np.array([i for i in range(24)]).reshape(3,4,2)b=np.array([i for i in range(24,48)]).reshape(3,4,2)c=np.array([i for i in range(48,72)]).reshape(3,4,2)print(a)p

2022-03-08 19:44:01 1317

转载 Pytorch基础--张量变化

导入库import numpy as np # 导入Numpyimport torch # 导入Torch1. 创建张量1)通过numpy的array创建创建(3,3)的全1矩阵arr = np.ones((3, 3))创建张量,默认存放在CPUt1 = torch.tensor(arr)创建张量,存放在GPUt2 = torch.tensor(arr, device='cuda') 2)torch.from_numpy创建矩阵arr = np.array([[1, 2,

2022-03-05 10:37:56 641

转载 自定义操作torch.autograd.Function

pytorch可以自动求导,但是有时候一些操作是不可导的,这时候你需要自定义求导方式。也就是所谓的 “Extending torch.autograd”。Function与Module的差异与应用场景Function与Module都可以对pytorch进行自定义拓展,使其满足网络的需求,但这两者还是有十分重要的不同:Function一般只定义一个操作,因为其无法保存参数,因此适用于激活函数、pooling等操作;Module是保存了参数,因此适合于定义一层,如线性层,卷积层,也适用于定义一个网络F

2022-01-20 10:07:20 1340

原创 卷积核的分解技巧

1、Bottleneck卷积核  Bottleneck卷积核的特点是能够降低特征数据的维度减少计算量,增加模型的非线性表达能力。Bottleneck卷积核可以改变原始输入数据的通道数,而3×3卷积核可以通过组合多个卷积核的方式实现大尺寸卷句话饿的卷积效果。在卷积核大小和步长不变的情况下,连续使用两个3×3卷积核得到的特征图大小相当于使用1个5× 5卷积核得到的特征图大小。参数数量从26(5×5+1)降到20((3×3+1)×2),而且由两个3×3卷积核得到的网络层数更多。假设图像大小为n×n,经过5

2022-01-05 21:36:44 3824

原创 欧拉方法解微分方程

一阶线性微分方程初值

2021-12-16 15:07:35 262

原创 脉冲编码方法

脉冲编码方法目前较为常见的神经编码方式主要包括频率编码(rate coding)、时间编码(temporal coding)、bursting编码和群编码(population coding)等(见图). 具体的脉冲在持续时间、振幅或形状上都可能有所不同,但在神经编码研究中, 它们通常被视为相同的定型事件.  频率编码主要考察脉冲发放率(firing rate), 即神经元发放的脉冲数量在其所对应记录时间上的平均值. 刺激的强弱程度可由神经元发放脉冲的频率反映,强烈的刺激将导致更为高频的脉冲序列[77

2021-12-09 11:27:29 3888 2

原创 卷积神经网络

卷积神经网络(CNN)  本次讲解卷积神经网络。这是一种曾经让我无论如何也无法弄明白的东西,主要是名字就太“高级”了,网上的各种各样的文章来介绍“什么是卷积”尤为让人受不了。听了吴恩达的网课之后,豁然开朗,终于搞明白了这个东西是什么和为什么。我这里大概会用6~7篇文章来讲解CNN并实现一些有趣的应用。看完之后大家应该可以自己动手做一些自己喜欢的事儿了。一、引子————边界检测  我们来看一个最简单的例子:“边界检测(edge detection)”,假设我们有这样的一张图片,大小8×8:  图片

2021-10-19 09:42:19 128

原创 LIF模型简介

脉冲神经网络中LIF模型简介文章借鉴电子书Neuronal DynamicsLIF模型 Integrate-And-Fire Models  神经元动力学:被认为是一个求和(“整合”)过程,我们用一个正式的阈值ϑϑϑ来描述脉冲起始的临界电压。如果电压ui(t)u_i(t)ui​(t)(包含所有输入的总和)从最底到达阈值ϑϑϑ,我们说神经元iii发出一个脉冲。阈值越过的时刻定义了触发时间ti(f)t_i^{(f)}ti(f)​。  该模型利用了一个事实,即给定神经元的神经元动作电位总是具有大致相同的

2021-10-13 11:14:09 4478 1

原创 直接训练的脉冲神经网络STBP改编

Direct Training for Spiking Neural Networks:Faster, Larger, Better摘要  在新兴的神经形态硬件上实现节能的脉冲神经网络(SNN)正受到越来越多的关注。然而,由于缺乏有效的学习算法和有效的编程框架,SNN与人工神经网络(ANN)相比,还没有表现出具有竞争力的性能。我们从两个方面来解决这个问题:(1)提出了一种神经元归一化技术来调整神经选择性,并开发了一种用于深层SNN的直接学习算法。(2) 通过缩小速率编码窗口,并将(LIF)模型转换为显

2021-10-08 20:54:58 1069

原创 TSSL-BP脉冲神经网络反向传播方法

通过反向传播的深层脉冲神经网络的时间性脉冲序列学习摘要  脉冲神经网络(SNNs)非常适用于时空学习和在高能效事件驱动的神经形态处理器上的实现。在高能效事件驱动的神经形态处理器上的实现。然而,现有的SNN错误反向传播(BP)方法缺乏正确处理 与传统人工神经网络的BP方法相比,现有的SNN误差反向传播(BP)方法缺乏对脉冲不连续的适当处理,并且性能低下。方法相比,性能较低。此外,通常需要大量的时间步长来实现体面的性能,导致高延迟并使基于脉冲的计算无法扩展到深度架构。 提出了一种新的时态脉冲序列学习反向传.

2021-09-25 10:03:01 1219 1

原创 AdamW优化器(自适应梯度方法)

DECOUPLED WEIGHT DECAY REGULARIZATION解耦权值衰减正则化摘要L2正则化和权值衰减正则化对于标准随机梯度下降是等价的(当按学习率重新调整时),但是在自适应梯度算法的情况下确并非如此,如Adam。虽然这些算法的通用实现采用L2正则化(通常称它为“权值衰减”,这可能是由于我们暴露的不等量性造成的误导),我们提出了一个简单的修正,通过将权重衰减与采用损失函数的优化步骤解耦,来恢复权重衰减正则化的原始公式。我们提供的经验证据表明,我们提出的修正(i)从标准SGD和Adam的学习

2021-09-08 20:51:21 8768

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除