深度学习中的卷积
深度学习中什么是卷积, 它是如何工作的1、数学物理层面数学上,连续卷积的定义如下:
(f g)(t) = ∫[f(τ) g(t - τ)] dτ
其中, 表示卷积操作,f(t) 和 g(t) 是两个函数,(f g)(t) 是它们的卷积结果。
它的物理含义可以理解为:系统某一时刻的输出是由多个输入共同作用(叠加)的结果。
具体解释如下:
假设有两个物理量(例如信号,场或系统响应等),可用公式中的函数f(t) 和 g(t)表示。在物理上,卷积大概可以理解为:系统某一时刻的输出是由多个输入共同作用(叠加)的结果。
g(t) 是系统的响应函数(或滤波器)。它描述了系统对输入信号 f(t) 的响应方式。g(t) 中的每一个值表示了在时间 t 时,系统对输入信号的加权响应。
在卷积过程中,我们考虑了 f(t) 中的每个时间点 τ,并将其与 g(t - τ) 相乘。这相当于在时间轴上对 g(t - τ) 进行了平移,然后与 f(t) 相乘。这个过程捕捉了在不同时间点上,系统响应函数 g(t) 对输入信号 f(t) 的影响。
最后,通过对所有时间点的乘积进行积分,我们将所有加权的响应值进行累 ...
pytorch全连接层模拟回归
实现过程搭建两层全连接网络
12345678910class Net(torch.nn.Module): def __init__(self, n_feature, n_hidden, n_output): super(Net, self).__init__() self.hidden = torch.nn.Linear(n_feature, n_hidden) self.predict = torch.nn.Linear(n_hidden, n_output) def forward(self, x): x = F.relu(self.hidden(x)) x = self.predict(x) return x
预测的值画成曲线
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 ...
GoogleNet解析
1、简介GoogleNet在2014年由Google团队提出,斩获当年ImageNet竞赛中Classification Task分类任务第一名。
论文原文: GoogleNet原文)
首先介绍一下该网络的亮点:
引入Inception结构(融合不同尺度的特征信息)
使用1×1的卷积核进行降维以及映射处理
添加两个辅助分类器帮助训练
丢弃全连接层,使用平均池化层(大大减少模型参数, 除去两个辅助分类器, 网络大小只有vgg的1/20)
接着分析一下Inception结构:
左图是论文中提出的inception原始结构, 右图是inception加上降维功能的结构。
先看左图, inception一共有4个分支, 也就是说输入的特征矩阵并行通过这个4个分支得到四个输出, 然后在将这个四个输出在深度维度(channel维度)进行拼接得到最终的输出(注意:为了让四个分支的输出能够在深度方向进行拼接, 必须保证四个分支输出的特征矩阵高度和宽度都相同)
分支1是卷积核大小为1×1的卷积层, stride=1
分支2是卷积核大小为3×3的卷积层, stride=1, ...
VggNet解析
1、简介论文原文: VggNet原文](https://arxiv.org/pdf/1409.1556.pdf))
VGG由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网, 该网络在2014年获得定位任务的第一名, 分类任务的第二名。VGG可以看成是加深版的AlexNet, 都是conv + FC layer组成。
下图是VGG16模型的结构简图
网络的亮点
通过堆叠多个3×3的卷积代替大尺度卷积核 (在保证相同感受野的前提下能够减少所需的参数量)
论文中提到,通过堆叠两个3×3的卷积核代替5×5的卷积核, 堆叠三个3×3的卷积核代替7×7的卷积核。It is easy to see that a stack of two 3 × 3 conv layers (without spatial pooling in between) has an effective receptive field of 5 × 5; three such layers have a 7 × 7 effective receptive field ...
AlexNet解析
1、AlexNet简介Alexnet是2012年ILSVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络, 分类准确率由传统的70%提升到80%(当时传统方法已进入瓶颈期,所以这么大的提升是非常厉害的)。它是由Hinton和他的学生Alex设计的。也是在那年之后,深度学习模型开始迅速发展。下面的图就是Alexnet原论文中截取的网络结构图。
Alexnet论文原文, AlexNet
图中有上下两部分是因为作者使用两块GPU进行并行训练, 所以上下两部分的结果是一模一样的。我们直接看下面部分就行了。
接着说说该网络的亮点:
(1)首次使用了GPU进行网络加速训练
(2)使用了ReLU激活函数, 而不是传统的Sigmoid激活函数以及Tanh激活函数
(3)使用了LRN局部相应归一化
(4)在全连接层的前两层使用了Dropout方法按照一定比例随机失活神经元,以减少过拟合
接着给出卷积或池化后的矩阵尺寸大小计算公式
N = (W - F + 2p)/s + 1
其中w是输入图片大小, F是 卷积核或池 ...
scipy中常用的数据结构
1、 scipy中常用的数据结构1.1 scipy.sparse.coo_matrixcoo_matrix全称是A sparse matrix in Coordinate format, 一种基于坐标格式的系数矩阵, 每个矩阵时一个三元组(行, 列, 值)
构造方法如下:
12345678910111213141516171819202122232425262728293031323334import numpy as npfrom scipy.sparse import coo_matrixcoo = coo_matrix(np.array([1, 0, 3, 0, 5, 6]).reshape(2, 3))print(coo)""" (0, 0) 1 (0, 1) 2 (0, 2) 3 (1, 0) 4 (1, 1) 5 (1, 2) 6 coo_matrix中值表示非零元素, 如果该位置是0, 则没有改行的数值 如, 当输入的array是[1, 0, 3, 0, 5] (0, 0) 1 (0, 2) 3 (1, 1) 5 ...
neo4j基本使用
1. neo4j数据类型1.Node: 节点, 基本语法:Node(label, *properties)
第一步:连接neo4j数据库
1234from py2neo import *url = "http://localhost:7474"graph = Graph(url, username="neo4j", password="szyh")
第二步:创建节点:
12345678910# 建立节点node_1 = Node("英雄", name="张无忌")node_2 = Node("英雄", name="杨道", 武力值='100')node_3 = Node("派别", name="明教")# 存入图数据库graph.create(node_1)graph.create(node_2)graph.create(node_3)print(node_1)
2 relation ...
关于我
自我介绍。。。待更新
后续计划
希望你的加入
欢迎来到我的世界
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment