- 博客(50)
- 收藏
- 关注
原创 详解注意力机制(Attention Mechanism),自注意力(Self-Attention),多头注意力(MultiHeadAttention)
一、注意力机制(Attention Mechanism)注意力机制(Attention Mechanism)是深度学习领域的一个重要概念,最初在自然语言处理(NLP)中被引入,用于改进序列到序列(seq2seq)模型的性能,特别是在机器翻译任务中。这种机制允许模型在处理输入序列的不同部分时,能够“关注”或“聚焦”于其中更重要的部分,而不是平等地对待所有输入元素。参考资料书籍Z. Li, A. Gan, et al., “动手学深度学习 第二版,” 电子工业出版社, 2021.网络文
2024-08-15 20:42:08
4576
1
原创 经典CNN模型(十三):EfficientNetV2(PyTorch详细注释版)
EfficientNet V2 是 EfficientNet 系列的第二代模型,由谷歌的研究人员在 2021 年的 ICML 会议上提出。EfficientNet V2 继承了EfficientNet V1的核心理念,即复合缩放方法(Compound Scaling),但在此基础上进行了多项改进,以实现更小的模型体积、更快的训练速度和更好的参数效率。
2024-08-15 20:38:21
8039
2
原创 经典CNN模型(十二):EfficientNetV1(PyTorch详细注释版)
EfficientNet 是 Google 提出的一种高效的神经网络架构,它的核心思想是通过比例缩放网络的宽度(通道数)、高度和深度(层数)来平衡计算资源和准确性。EfficientNet 使用了一种称为“复合缩放法”(compound scaling method),这种方法基于模型规模和训练数据量动态调整网络的宽度、高度和深度,以获得最佳性能。这种缩放方法使得模型能够根据可用的计算资源和数据量自适应地调整自身,从而在不同的硬件和数据集上都能达到较好的效果。
2024-07-28 11:01:04
1536
原创 经典CNN模型(十一):ShuffleNetV2(PyTorch详细注释版)
ShuffleNet V2 在保留了原版 ShuffleNet 的高效性的同时,通过引入自适应分组卷积、多尺度特征融合和通道剪枝等方法,提高了模型的性能和灵活性。这种改进使得 ShuffleNet V2 更适用于资源受限的设备,如手机和嵌入式系统。
2024-07-28 10:59:41
2420
原创 经典CNN模型(十):ShuffleNetV1(PyTorch详细注释版)
ShuffleNet V1 是一种轻量级的卷积神经网络架构,通过使用分组卷积和通道重排技术,在保持较高分类准确率的同时,极大地降低了模型的计算复杂度和内存占用。这种设计使其成为在资源受限设备上运行的理想选择。分组卷积是一种高效的卷积运算方式,它将输入通道分成多个组,并在每个组内独立进行卷积运算。这种做法减少了计算量和参数数量,尤其是在处理高分辨率图像时效果显著。通道混洗是一种特殊的操作,用于在分组卷积之后混合不同组之间的信息。它的目的是打破分组卷积导致的信息隔离,提高模型的表示能力。
2024-07-27 15:26:43
815
原创 经典CNN模型(九):MobileNetV3(PyTorch详细注释版)
为了进一步减少延迟时间,MobileNetV3 优化了模型的最后阶段,通过减少不必要的操作,例如减少卷积层的数量,这在保持模型精度的同时显著降低了计算量和运行时间。
2024-07-27 15:26:03
7608
原创 经典CNN模型(八):MobileNetV2(PyTorch详细注释版)
作者通过实验展示了 ReLU 激活函数在高维空间中对低维流形的影响。他们首先将一个二维矩阵(channel=1)通过矩阵T升维到更高维度,接着应用 ReLU 激活函数,然后用T的逆矩阵将其还原回二维空间。当T的维度较低(如 2 或 3)时,还原后的二维矩阵会丢失很多信息。然而,随着维度的增加,信息丢失逐渐减少。因此,为了避免 ReLU 激活函数对低维特征造成过多信息损失,倒置残差结构选择使用线性激活函数(即linear bottleneck),这样可以在输出时保持尽可能多的信息完整性。
2024-07-26 09:00:48
9170
原创 经典CNN模型(七):MobileNetV1(PyTorch详细注释版)
在传统卷积神经网络因内存和运算量庞大而难以适配移动及嵌入式设备的背景下,2017 年,Google 团队应运推出了 MobileNetV1,这是一种专为资源受限环境设计的轻量级深度学习模型。相较于传统网络如 VGG16,MobileNetV1 在仅牺牲 0.9%的准确率的前提下,实现了模型参数精简至 VGG16 的 1/32,大幅削减了计算复杂度,从而在确保较高识别精度的同时,特别适合在移动设备和嵌入式系统上高效运行。
2024-07-26 08:59:41
1804
2
原创 经典CNN模型(六):ResNeXt(PyTorch详细注释版)
ResNeXt(Residual Networks with Next)是一种深度学习模型,它是在经典的ResNet(残差网络)的基础上发展起来的,,旨在通过引入“cardinality”(基数)的概念来提高网络的性能和效率。ResNeXt 由 Facebook AI Research 团队提出,首次出现在 2016 年的论文《Aggregated Residual Transformations for Deep Neural Networks》中。
2024-07-25 08:49:42
2796
1
原创 经典CNN模型(五):ResNet(PyTorch详细注释版)
ResNet,即残差神经网络(Residual Neural Network),是由何凯明(Kaiming He)、张祥雨、任少卿和孙剑在 2015 年提出的一种深度学习架构,旨在解决深度神经网络中的退化问题。在传统的深度神经网络中,随着网络层数的增加,训练误差会逐渐增大,这种现象被称为“退化”。ResNet 通过引入一种特殊的残差学习框架来解决这一问题,允许网络学习更深层次的结构,而不遭受退化问题的影响。
2024-07-25 08:48:54
6022
原创 经典CNN模型(四):GoogLeNet(PyTorch详细注释版)
GoogLeNet,也被称为 Inception-v1,是由 Google 的研究人员设计的一种深度卷积神经网络(CNN),并在 2014 年的 ImageNet 大规模视觉识别挑战赛(ILSVRC 2014)中获得了第一名。GoogLeNet 的主要设计目标是在不显著增加计算成本的前提下,提高网络的深度和宽度,从而提高模型的准确率。
2024-07-24 11:22:27
6167
3
原创 经典CNN模型(三):VGG(PyTorch详细注释版)
我们常用的是 D 配置,即 VGG-16,如上图,VGG-16 的 “16” 来源于网络中含有的 16 个有可学习权重的层,其中包括 13 个卷积层和 3 个全连接层。所有的卷积层都使用 3x3 大小的卷积核,所有的池化层都使用 2x2 的窗口和步幅为 2,这样可以将特征图的尺寸减半。
2024-07-24 11:21:28
6929
2
原创 经典CNN模型(二):AlexNet(PyTorch详细注释版)
AlexNet 是深度学习历史上一个非常重要的里程碑,它代表了深度卷积神经网络(Convolutional Neural Network, CNN)的一次重大突破。AlexNet 由多伦多大学的Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton 设计,并在 2012 年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中赢得了冠军。这一胜利显著降低了图像分类的错误率,从而证明了深度学习在处理复杂视觉任务上的潜力。
2024-07-23 09:22:59
1685
原创 经典CNN模型(一):LeNet(PyTorch详细注释版)
LeNet 神经网络由深度学习三巨头之一的 Yan LeCun 提出,他同时也是卷积神经网络 (CNN,Convolutional Neural Networks)之父。LeNet 主要用来进行手写字符的识别与分类,并在美国的银行中投入了使用。LeNet 的实现确立了 CNN 的结构,现在神经网络中的许多内容在 LeNet 的网络结构中都能看到,例如卷积层,Pooling 层,ReLU 层。
2024-07-23 09:14:18
2171
原创 卷积神经网络基础2
以三层的神经网络为例,如下图:其中,第一层为输入层,包含x1和x2两个节点;中间层为隐藏层,包含σ1σ2σ3三个节点;最后一层为输出层,包含y1和y2两个节点。另外,ω111代表权重,其上标1中,1代表所在的层数;其下标11中,第一个1代表上一层的第1个节点,第二个1代表本层的第1个节点;最后,b代表偏置。具体而言,输出层y1和y2y1ω112⋅σ1x1⋅ω111x。
2024-06-21 17:33:56
1017
原创 卷积神经网络基础1
输入图片大小 W × W卷积核(Filter)大小 F × F步长 SPadding操作的像素数 P输出尺寸W2×P−FS1(3)\text{输出尺寸} = \frac{\text{W} + 2 \times \text{P} - \text{F}}{\text{S}} + 1\tag{3}输出尺寸SW2×P−F13或输出尺寸输入尺寸2×填充−卷积核尺寸步幅1(4)
2024-05-29 23:09:33
1404
1
原创 Python基础——类6(模块、包、标准库)
模块化指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序在Python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件在一个模块中引入外部模块可以引入同一个模块多次,但是模块的实例只会创建一个import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字。
2024-05-25 00:41:44
1223
原创 Python基础——类4(多态、[类属性、实例属性 、类方法、实例方法、静态方法])
之所以一个对象能通过len()来获取长度,是因为对象中具有一个特殊方法__len__,换句话说,只要对象中具有__len__特殊方法,就可以通过len()来获取它的长度。如下代码实例,对于say_hello()这个函数来说,只要对象中含有name属性,它就可以作为参数传递,这个函数并不会考虑对象的类型,只要有name属性即可。
2024-05-25 00:41:18
342
原创 Python基础——类3(继承、重写、super、多重继承)
有一个类,能够实现我们需要的大部分功能,但是不能实现全部功能,如何能让这个类来实现全部的功能呢?通过继承可以直接让子类获取到父类的方法或属性,避免编写重复性的代码,并且也符合OCP原则,所以我们经常需要通过继承来对一个类进行扩展。
2024-05-25 00:41:03
945
原创 Python基础——类2(封装与装饰器)
1.隐藏了属性名,使调用者无法随意的修改对象中的属性2.增加了getter和setter方法,很好的控制的属性是否是只读的如果希望属性是只读的,则可以直接去掉setter方法如果希望属性不能被外部访问,则可以直接去掉getter方法3.使用setter方法设置属性,可以增加数据的验证,确保数据的值是正确的4.使用getter方法获取属性,使用setter方法设置属性(可以在读取属性和修改属性的同时做一些其他的处理)5.使用getter方法可以表示一些计算的属性。
2024-05-25 00:40:46
396
原创 Python基础——函数5(匿名函数 lambda | filter | map | sort | sorted、装饰器)
【代码】Python基础——函数5(匿名函数 lambda | filter | map | sort | sorted、装饰器)
2024-05-25 00:38:55
492
原创 Python基础——函数3(函数的返回值、文档字符串、作用域|global关键字、命名空间)
【代码】Python基础——函数3(函数的返回值、文档字符串、作用域|global关键字、命名空间)
2024-05-25 00:37:52
896
原创 Python基础——异常和文件2(文件(File)、打开文件|文件路径表示、关闭文件)
【代码】Python基础——异常和文件2(文件(File)、打开文件|文件路径表示、关闭文件)
2024-05-25 00:35:23
214
原创 Python基础——异常和文件1(异常、处理异常、异常的传播、异常对象、抛出异常)
【代码】Python基础——异常和文件1(异常、处理异常、异常的传播、异常对象、抛出异常)
2024-05-24 15:26:26
260
1
原创 Python基础——序列4(元组、可变对象、字典)
每个对象中都保存了三个数据:id(标识)type(类型)value(值)列表就是一个可变对象a[0] = 10 (改对象)这个操作是在通过变量去修改对象的值这种操作不会改变变量所指向的对象当我们去修改对象时,如果有其他变量也指向了该对象,则修改也会在其他的变量中体现a = [4,5,6] (改变量)这个操作是在给变量重新赋值这种操作会改变变量所指向的对象为一个变量重新赋值时,不会影响其他的变量一般只有在为变量赋值时才是修改变量,其余的都是修改对象。
2024-05-24 15:19:56
399
1
原创 Python基础——序列3(遍历列表、EMS练习、range())
【代码】Python基础——序列3(遍历列表、EMS练习、range())
2024-05-24 15:19:37
423
1
原创 Python基础——序列2(序列、修改列表、列表的方法)
列表的方法stus = ['孙悟空','猪八戒','沙和尚','唐僧']print('原列表:',stus)# append()# 向列表的最后添加一个元素stus.append('唐僧')print('修改后:',stus)
2024-05-24 15:18:54
396
1
原创 Python基础——流程控制语句4(break、continue、pass、质数练习优化、综合练习)
【代码】Python基础——流程控制语句4(break、continue、pass、质数练习优化、综合练习)
2024-05-24 15:16:08
334
1
原创 Python基础——流程控制语句3(循环语句、循环语句练习、循环嵌套、循环嵌套练习)
【代码】Python基础——流程控制语句3(循环语句、循环语句练习、循环嵌套、循环嵌套练习)
2024-05-24 15:15:50
367
1
遗传算法、遗传算法、遗传算法、遗传算法
2023-07-25
SPSS应用统计软件结课论文
2023-07-25
时间序列分析结课论文-平安银行股市收盘价的时序模型研究
2023-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人