一位深度学习小萌新的学渣笔记(一)神经网络原理理解+pytorch框架理解

由FIR滤波器到卷积神经网络的卷积核尺寸的类比 众所周知,卷积就是滤波,于是从滤波的角度考量FIR滤波器中抽头数(同比与一维卷积核的尺寸)对卷积效果的影响,得到以下结论和推论: FIR滤波器的抽头数并不是越大越好。随着抽头数增加,滤波效果是先快速下降,然后整体趋势呈振荡爬升,并在一个稳定值附近震荡。 将其类比到卷积神经网络里,可以类比推出卷积核的大小并不是越大越好,也不是越小越好,而是存在一个最优值。 1. FIR滤波器 滤波器就是对一个信号做处理,允许我们想要的频谱分量通过,而衰减掉不想要的频率分量。 数字滤波器处理的是离散信号。 FIR滤波器最简 阅读详情

软工大一学生,9月升大二,在暑假期间申报项目,7月份开始学习,学习的项目关于到神经网络和注意力机制

自学python

首先通过廖雪峰老师的网站自学了python
python第一部分思维导图
pyhthon学习的第二部分 没有学完知识基本上左边学习得比较粗略,因为项目无关

简单了解神经网络

学习所需知识
知识

配置开发环境
Anaconda3
python3.7&3.8
pycharm 2020.2版本
pytorch 1.6

下载pytorch:可以通过先下载anaconda,在此环境下进行下载pytorch,使用清华镜像源,利用Re:从零开始的Pytorch官方入门新手教程!!进行大概的下载学习,后来发现pytorch没有下载成功,就进行再次下载在win10终端下载一分钟pytorch
下载pycharm 直接把破解包拖入pycharm中即可使用

通过大神的视频自学(霹雳吧啦Wz这位神仙up主的原创讲解视频)
卷积神经网络基础

卷积神经网络基础补充

1.全连接层

在这里插入图片描述
BP算法包括信号的前向传播和误差的反向传播
计算误差是按输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。
在这里插入图片描述
输入层:在这里插入图片描述输出层:
在这里插入图片描述

2.卷积层

在这里插入图片描述
特点:

  • 局部感知机制
  • 权值共享
    在这里插入图片描述
    值得注意:
  • 卷积核的channel(深度)与输入特征层的channel相同
  • 输出的特证矩阵channel与卷积核个数相同

三个问题:

加上偏移量bias该如何计算?

如果卷积核1的偏移量为-1 则1 3 1 1就变成0 2 0 0

加上激活函数该如何计算?
激活函数的作用:引入非线性因素,使得具备解决非线性问题的能力

Sigmoid激活函数在这里插入图片描述
缺点:当函数饱和时梯度值非常小,故网络层数较深时易出现梯度消失的情况
在这里插入图片描述
Relu激活函数 在这里插入图片描述
在这里插入图片描述
缺点:当反向传播过程中有一个非常大的梯度经过时,反向传播更新后可能导致权重分布中心小于零,导致该处的倒数始终为0,反向传播无法更新权重,即进入失活状态(所以一开始不要用太大的学习率进行学习,要不然导致很多神经元失活)

如果出现越界的情况怎么办?

使用padding的方式进行补0

经过卷积后的矩阵的尺寸大小计算公式为:

N=(W - F + 2*P )/S+1

1.图片大小W X W
2.Filter 大小 卷积核大小 滤波器大小(这里是3X3)
3.步长
4.Padding的像素数p(这里p=1)
在这里插入图片描述
例如这张图卷积后输出的矩阵尺寸的大小计算公式为:( 4 - 3 + 1)/ 2 + 1 =2

3.池化层

MaxPooling下采样层(得到每个的最大值)
目的对特征图进行稀疏处理,减少数据运算量
在这里插入图片描述
AveragePooling下采样层(得到每一个的平均值)
在这里插入图片描述
特点:

  • 没有任何的训练参数
  • 只改变特征矩阵的高度和宽度,不改变深度
  • 一般poolsize(池化核大小)和stride(步长)相同

4.误差的计算

在这里插入图片描述

以三个层的BP神经网络实例:

输入层X1,X2
中间是隐层设置三个结点:w
代表权重

在这里插入图片描述

代表激活函数

隐层的输出:

用激活函数
在这里插入图片描述

y1和y2的输出公式:

在这里插入图片描述
y1与y2的计算同样是上一层隐层的输出运算类似,同样是上一层输出的值 * 权重w + 偏置b
但是没有用到激活函数

softmax的激活函数

因为y1 y2 的输出概率分布,所以使用softmax激活函数使其拥有概率分布的特点
在这里插入图片描述
在这里插入图片描述
在这里按照实示例得到o1和o2的函数在这里插入图片描述
经过softmax处理后的所有输出节点概率和为1

Cross entrop loss交叉熵损失

在这里插入图片描述

用什么公式计算交叉熵就是看激活函数是什么

注意softmax和sigmoid函数各自的特点!

两者之间的差别:

Softmax:

输出概率和为1
示例:Softmax的输出是属于是不是狗狗(输出只归于一个类别)

Signmoid:

每个输出节点互不相干
示例:Signmoid输出是人类和男人(可能同时属于同一个类别)

本示例中Loss的计算
在这里插入图片描述

5.误差的反向传播

以w11为例,讲解如何进行误差的反向传播

LOSS求偏导

已经得到Loss 、o1,o2,y1,y2
Loss对w11求偏导在这里插入图片描述
具体计算过程:a1是指在这里插入图片描述
具体计算:
在这里插入图片描述
代入Loss对w11的求偏导的公式中:
在这里插入图片描述
相当于我们把我们所得到的误差传播到了每一个结点,得到了每个结点的损失梯度

6.权重的更新

更新权重的公式1

learning(是自己设置的学习率)*损失梯度
在这里插入图片描述

这个方向还不是减少损失最快的方向、最优的方向

理想中在这里插入图片描述
现实:常用的卷积(Conv2d)在pytorch中对应的函数是:在这里插入图片描述
做法:在这里插入图片描述
重点是分批次,不能一次性将数据载入,分批次的话,每一次都是实现局部最优

更新权重的工具-优化器

希望网络可以更快的收敛
会用到优化器optimazer
1.SGD优化器
2.SGD+Momentum优化器
3.Adagrad优化器
4.RMSProp优化器(自适应学习率)
5.Adam优化器(自适应学习率)

1. SGD优化器List item

**易受噪声影响:**如果有些样本标注是错误的,那就求得
的梯度方向可能与我们理想中的方向相悖

**局部最优解:**如果方向错误 就可能得到局部最优解在这里插入图片描述

2.SGD+Momentum优化器

在这里插入图片描述
多了动量部分(除了加入自身的动量还会考虑上次的动量,一般动量系数取0.9
例如:在这里插入图片描述

3.Adagrad优化器(自适应学习率)

在这里插入图片描述

4.RMSProp优化器(自适应学习率)

在这里插入图片描述

5.Adam优化器(自适应学习率)

在这里插入图片描述

优化器之间的对比
  • SGD(慢 最有解)
  • Momentum (偏 找的回正确路径)
  • Adagrad(快且正确)
  • Rmsprop(快且正确)
最优组合

通常选择(SGD + Momentum +Adam)
主要还是看情况

pytorch中的卷积操作详解

学习大神的博客:pytorch中的卷积操作详解

池化层:

Tensor通道

pytorch中的Tensor通道排列顺序是:[batch, channel, height, width]
batch 训练样本的个数

卷积层:

Conv2d函数

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')

in_channels参数代表输入特征矩阵的深度即channel,比如输入一张RGB彩色图像,那in_channels=3

out_channels参数代表卷积核的个数,使用n个卷积核输出的特征矩阵深度即channel就是n

kernel_size参数代表卷积核的尺寸,输入可以是int类型如3 代表卷积核的height=width=3,也可以是tuple类型如(3, 5)代表卷积核的height=3,width=5

stride参数代表卷积核的步距默认为1,和kernel_size一样输入可以是int类型,也可以是tuple类型

padding参数代表在输入特征矩阵四周补零的情况默认为0,同样输入可以为int型如1 代表上下方向各补一行0元素,左右方向各补一列0像素(即补一圈0),如果输入为tuple型如(2, 1) 代表在上方补两行下方补一行,左边补两列,右边补一列。

bias参数表示是否使用偏置默认使用

卷积后矩阵尺寸:

矩阵经卷积操作后的尺寸
N = (W − F + 2P ) / S + 1

入图片大小 W×W
Filter大小 F×F
步长 S
padding的像素数 P

如果N出现非整数的情况

则删除多余的行和列来保证卷积的输出尺寸为整数。

示例:
(1)首先使用torch中的随机函数生成一个batch_size为1,channel为1,高和宽都等于5的矩阵

(2)接着我们定义一个卷积核,input_size=1, output_size=1, kernel_size=2, stride=2, padding=1

(3)然后我们使用该卷积核对我们生成的随机矩阵进行卷积操作

(4)打印各参数的数值

import torch.nn as nn
import torch
 
 
im = torch.randn(1, 1, 5, 5)
c = nn.Conv2d(1, 1, kernel_size=2, stride=2, padding=1)
output = c(im)
 
print(im)
print(output)
print(list(c.parameters()))

计算得矩阵尺寸应该为N =(5 - 2 + 2*1)/ 2 +1 = 3.5

实际的打印信息如下: :

# im
tensor([[[[-0.2146,  0.3375,  2.7877,  0.2052, -0.4651],
          [-0.2261,  0.0116, -0.6255,  1.2523, -1.0565],
          [-1.9227, -0.2575, -0.7725,  0.5658,  0.0717],
          [ 0.8153, -1.3656, -0.1844,  0.1573, -0.2235],
          [ 0.0184, -0.0475,  0.2359,  0.0127,  2.0665]]]])
 
# output
tensor([[[[-0.0467, -1.1766, -0.0450],
          [ 0.5063,  0.1971, -1.0401],
          [-0.0748,  0.4769, -0.8986]]]], grad_fn=<ThnnConv2DBackward>)
 
# conv2d:parameters
[Parameter containing:
tensor([[[[-0.4872,  0.0604],
          [-0.3968, -0.3317]]]], requires_grad=True), Parameter containing:
tensor([-0.1179], requires_grad=True)]

真正的输出矩阵尺寸是3x3

推理过程

内部操作:
(1)首先进行padding的填充,size:7 x 7

[0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
[0.0000, -0.2146,  0.3375,  2.7877,  0.2052, -0.4651,  0.0000],
[0.0000, -0.2261,  0.0116, -0.6255,  1.2523, -1.0565,  0.0000],
[0.0000, -1.9227, -0.2575, -0.7725,  0.5658,  0.0717,  0.0000],
[0.0000,  0.8153, -1.3656, -0.1844,  0.1573, -0.2235,  0.0000],
[0.0000,  0.0184, -0.0475,  0.2359,  0.0127,  2.0665,  0.0000],
[0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000]

(2)通过计算发现输出为非整数,为了得到整数,将最后一行以及最后一列删除掉,size:6 x 6

[0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
[0.0000, -0.2146,  0.3375,  2.7877,  0.2052, -0.4651],
[0.0000, -0.2261,  0.0116, -0.6255,  1.2523, -1.0565],
[0.0000, -1.9227, -0.2575, -0.7725,  0.5658,  0.0717],
[0.0000,  0.8153, -1.3656, -0.1844,  0.1573, -0.2235],
[0.0000,  0.0184, -0.0475,  0.2359,  0.0127,  2.0665]

(3)接着使用卷积核进行卷积操作,就能得到我们的输出矩阵,需要注意的是pytorch中的卷积默认是带有bias的,所以计算卷积后需要加上bias偏量。例如输出的第一个值的计算过程如下:

[0.0000,  0.0000],        [-0.4872,  0.0604],
                    卷积                        加上  [-0.1179]
[0.0000, -0.2146]         [-0.3968, -0.3317]
 
# 即
(0*(-0.4872)+ 0*(0.0604)+ 0*(-0.3968)+(-0.2146)*(-0.3317))+(-0.1179)= -0.0467

我们的计算结果与pytorch的输出相同,我们只计算了其中一个值,其他的值也一样:

# output
tensor([[[[-0.0467, -1.1766, -0.0450],
          [ 0.5063,  0.1971, -1.0401],
          [-0.0748,  0.4769, -0.8986]]]], grad_fn=<ThnnConv2DBackward>)

在pytorch的卷积过程中,当通过N = (W − F + 2P ) / S + 1计算式得到的输出尺寸非整数时,会通过删除多余的行和列来保证卷积的输出尺寸为整数。

Qt实现仿微信在线聊天工具(服务器、客户端)V1_ 01 在主控类中绑定登录类的信号 void signalLoginOK() ,跳过验证步骤,先实现页面的跳转MyChatToolClient.h文件//登录成功槽函数 private :MyChatToolClient.cpp文件} //登录成功槽函数 void MyChatToolClient :: slotLoginOk() {//关闭登录窗口并释放空间 m_loginWin -> close();//新建并打开聊天窗口 m_chatWin = new ChatWindow; 阅读详情

相关推荐

【Python机器学习实战】 | 基于PCA主成分分析技术读入空气质量监测数据进行数据预处理并计算空气质量综合评测结果

主成分分析(Principal Component Analysis, PCA)是一种常用的机器学习和数据分析技术,用于降低数据维度、识别数据中的模式、发现变量之间的关系等。

一伦明悦的博客 1263

机器学习——深度学习之卷积神经网络(CNN)——LeNet卷积神经网络结构

图 LeNet卷积神经网络结构前接:《机器学习——深度学习之数据库和自编码器》 一、LeNet卷积神经网络结构 1、卷积神经的作用 由手工设计卷积核转换为自动学习卷积核 卷积公式有很多:如傅里叶变换、小波变换等 卷积核主要的作用就是将元素先乘再加(积分的本质就是加) 2、LeNet 二、关于卷积神经网络结构的一些术语定义 图 LeNet卷积神经网络结构1、特征图(Feature map) 原图像经过卷积核作用得到的图像称为特征图,如图 LeNet卷积神经网络结构所示 2、he

python_AI_fans的博客 3260

scannet数据集下载文件

scannet数据集下载文件 由于大家会申请scannet数据集,审批比较慢,我将下载的文件里面的内容贴出来,大家可以复制放进py文件中,运行就可以下载 ps:别再私信要数据集了,这个自己下载,如果光三维数据的话,还是很快的,当然如果路由器翻了墙的话,下载会更快。 #!/usr/bin/env python # Downloads ScanNet public data release # Run with ./download-scannet.py (or python download-scannet.

weixin_40766438的博客 9232

卷积神经网络(CNN)

定义一个卷积神经网络。 我们需要三个基本的元素来定义一个基本的卷积网络 1.卷积层 2.池化层 3.全连接层 4.输出层

z649431508的博客 1824

Python量化投资入门教程:从零构建你的第一个交易策略

量化投资教程以数学模型和计算机程序实现超额收益,选用Python工具链完成数据获取、策略构建及回测。通过移动平均线交叉策略示例,展示数据预处理、信号生成、收益计算及可视化全流程,结合收益率、最大回撤和夏普比率评估策略,并建议参数优化与策略融合提升稳健性。

ylmx5201314的博客 2456

深度学习入门:使用CMSIS-NN在微控制器上部署模型的完整指南与Python Jupyter实践

CMSIS-NN是ARM为Cortex-M系列微控制器设计的神经网络库。它旨在提供一套高效、轻量级的神经网络API,使得开发者可以在资源受限的微控制器上运行深度学习模型。CMSIS-NN优化了各种常见的神经网络层,如卷积层、全连接层等,确保它们在微控制器上的运行效率。# 定义模型])# 编译模型# 训练模型这样,我们就得到了一个简单的手写数字识别模型。注意:为了简洁和清晰,本文中的代码可能不是最优的或最完整的实现。为了获得完整的项目和更多的优化技巧,请下载完整项目。

m0_57781768的博客 5884

全连接层的一些理解

全连接层的理解

weixin_40513936的博客 1354

uniapp(全端兼容) - 最新详细实现支付键盘功能组件,从底部弹出数字键盘输入支付密码进行付款交互效果,自定义支付密码键盘仿微信、支付宝支付键盘,1~9密码数字键盘,电商支付(详细示例代码复制运行

uniapp,微信小程序,自定义数字键盘,输入支付密码的键盘组件,uniapp小程序如何实现从底部弹出输入支付密码自定义键盘功能,uniapp小程序密码支付键盘组件插件,自定义数字键盘输入页面,怎么封装底部弹窗自定义数字键盘用于输入支付密码,uniapp小程序仿类似电商支付密码输入模态框,uniapp微信小程序平台实现自定义支付密码键盘,uniapp 密码支付,数字键盘,安全键盘,交易键盘,交易密码,交易密码输入框,uniapp自定义支付键盘: uniapp自定义支付键盘,uniapp小程序端实现键盘输入支

✅ 精选推荐文章 2905

Pytorch学习笔记

神经网络训练过程 定义神经网络 迭代输入数据 神经网络计算输出 计算损失 反向传递梯度回到网络的参数 更新网络的权重 卷积层(Convolutional Neural Network,CNN) 卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 输入层:在使用卷积神经网络进行图像识别时,输入为进行过转换的图片数据,一张宽为w,高为h,深度为d的图片,表示为hwd。这里,深度为图像存储每个像素所用的位数,比如彩色图像,其一个像素有RGB三个分量,

qq_41643701的博客 5131

Open3D——平面点云凸多边形轮廓提取【2025最新版】

平面点云凸多边形轮廓提起,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 6753

Serial RapidIO Gen2 IP 说明(三)

前言 继续接着上篇文章,介绍Serial RapidIO Gen2 IP 的具体端口信息。 一、端口描述 1、缓冲设计接口 2、物理层接口 参考说明 【1】Serial RapidIO Gen2 v4.1https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/srio_gen2/v4_1/pg007_srio_gen2.pdf ...

记录所学,分享知识,结识挚友 1319

一位深度学习小萌新的学渣笔记(四)GoogLeNet网络介绍及代码详解

GoogLeNet网络结构详解与模型的搭建 简单介绍GoogLeNet网络 GoogLeNet网络中 模型结构 model.py中代码解读 train.py代码解读 predict.py

IntMain45的博客 1895

内存越界一定会导致程序崩溃吗?详解内存越界

本文详细解释了内存越界不一定导致内存越界的问题,全面介绍了C++内存越界的相关内容。

dvlinker的技术专栏 2万+

一位深度学习小萌新的学渣笔记(五)ResNet网络介绍及代码详解

ResNet网络结构详解与模型的搭建 简单介绍ResNet网络 ResNet在2015年由微软实验室提出,斩获当年ImageNet竞赛中 分类任务第一名,目标检测第一名。获得COCO数据集中目标 检测第一名,图像分割第一名。 网络亮点: 超深的网络结构(突破1000层) 提出residual(残差)模块 使用Batch Normalization(标准化处理)加速训练(丢弃dropout) 模型结构 34层残差结构的模型结构图 结构分析 在34层的resnet网络当中 一个卷积层 一个池化层 一系列的

IntMain45的博客 795

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

pytorch初步学习(一)

pytorch初步学习 最近在学习神经网络以及深度学习,在老师建议下是从pytorch开始入手,但是在直接看到网络也是比较懵的状态,所以购买了一本书籍开始学习一些基础的概念以及参数意义,最开始就先从最简单的书籍上讲解的顺序开始记录下自己学习的过程及理解。 当然首先需要安装环境及配置,安装cuda(前提最好时英伟达显卡),首先在cmd中安装pytorch,创建虚拟环境以及调试确认是否成功,安装ana...

qq_43555009的博客 421

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

200 行代码,深入分析动态计算图的原理及实现

本文通过轻量级的代码实现,详细分析了计算图机制运作的原理,为 BP 反向传播算法的理解带来实际的案例。

林地宁宁的树洞 874

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

浅谈卷积神经网络

一、 卷积层、激活函数层、池化层、全连接层 1、 卷积层: 一般的,标准数码相机的图像将有三个通道——红、绿、蓝——我们可以把它们想象成三个相互叠加的2d矩阵(每种颜色一个),每个像素值在0到255之间(颜色越亮数值越大)。卷积在卷积网络中的主要目的是从输入图像中提取特征。卷积通过使用输入数据的小方块学习图像特征来保持像素之间的空间关系。 下面仅以0,1的二维矩阵进行举例(实际过程中为0-255)。 三通道中的其中一个通道,其二维矩阵例举如上。 所用的卷积核(谨以此为例)。 一个卷积核在此通道上进行卷积

qq_52302919的博客 1660

动手学深度学习---从全连接层到卷积层篇

到目前为止,我们的kernel只有一个输出通道,即输出为单通道的2维tensor。用 ci和co表示 输入和输出通道的数目,kh和kw为kernel的w和h。为获得多个channel的三维tensor ,我们在每个输出channel 创建一个形状为 ci X kh X kw 的三维kernel tensor ,相当于 卷积核的shape 为 co X ci X kh X kw(四维)。 在互相关运算中,每个输出通道先获取所有输入通道,再以对应该输出通道的三维 kernel 进行 多输入通道的计算,最后将多

yijie_01的博客 2188

CNN网络详解

前言   在学计算机视觉的这段时间里整理了不少的笔记,想着就把这些笔记再重新整理出来,然后写成Blog和大家一起分享。目前的计划如下(以下网络全部使用Pytorch搭建): 专题一:计算机视觉基础 介绍CNN网络(计算机视觉的基础) 浅谈VGG网络,介绍ResNet网络(网络特点是越来越深) 介绍GoogLeNet网络(网络特点是越来越宽) 介绍DenseNet网络(一个看似十分NB但是却实际上用得不多的网络) 整理期间还会分享一些自己正在参加的比赛的Baseline 专题二:GAN网络 搭建普通的G

guowei_huai的博客 1万+

深度学习 | 全连接层你必须知道的20个知识点

答:对one-hot编码的输入,全连接层的权重矩阵W的行与输入元素的one-hot索引对应。答:全连接层的节点数量可以根据任务的复杂度,上一层的节点数量,避免过拟合的考量等因素决定。答:卷积层的参数共享,全连接层的每个节点都有自己的权重参数。答:可以在神经网络的最后加入一个全连接层,节点数量设置为类别的数量,然后采用softmax激活函数将其转换为概率分布,表示每个类别的预测概率。答:全连接层的计算过程是:y=Wx+b。答:全连接层是神经网络中的一种层,它将上一层的每一个节点与当前层的每一个节点相连接。

weixin_47964305的博客 2842

全连接层是如何处理的?

全连接层的输出可以作为下一层的输入,继续传递给其他的全连接层或输出层,从而完成整个神经网络的前向传播过程。举个例子,假设我们的输入是一个扁平化的向量,大小为n。全连接层的权重矩阵的大小为m x n,其中m表示全连接层的输出大小或特征维度。全连接层通常紧跟在卷积层或池化层之后,用于接收从前一层传递过来的特征图,并对特征进行降维、提取和组合,最终生成对输入数据进行分类或回归的结果。全连接层是神经网络中的一种常见层类型,它的作用是对输入数据进行线性变换和非线性变换,从而实现对输入数据的特征提取和分类。

weixin_44943389的博客 608

统计推断——贝叶斯推断(了解)

假设检验的中心思想可以用一句话概括:“如果原假设正确,那么你观测到极端统计量(当前情况及更差情况)的概率仅有3%。” 推断的一个替代方法是将未知参数视为随机变量。从参数的先验分布(prior distribution)出发,再利用观测数据和贝叶斯定理计算出更新后的后验分布(posterior distribution)。不再对检验本身给出概率判断,而是对参数本身给出概率判断。 我们先了解一些基本...

huangguohui_123的博客 2772

胶囊网络架构

介绍本文将介绍CapsNet的体系结构,我同时尝试计算CapsNet的可训练参数数目。结果是大约820万可训练参数,与论文中的数字(113万6千)不同。论文本身不是很详细,没有涉及一些网络实现的具体设定,因此有一些问题我至今没有搞清楚(论文作者没有提供代码)。不管怎么说,我仍然认为计算网络的参数本身是一个很好的学习过程,因为它帮助人们理解特定架构的所有构建模块。CapsNet由两部分组成:编码器和...

一摩尔自由的博客 7458

对于全连接层的理解

作者文章原地址:https://blog.youkuaiyun.com/gyh_420/article/details/78569225   全连接层的推导 全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。 全连接层的前向计算 下图中连线最密集的2个地方就是全连接层,这很明显的可以看出全连接层的参数的确很多。在前向计算过...

qq_22169787的博客 2833

深度学习入门基础:图像分类网络整理(最全)

目录图像分类Lenet1.简介2.网络结构Alexnet1.简介2.网络结构VGG1.简介2.网络结构3.VGG改进点总结GoogLeNet1.网络简介2.inception的结构3. 1x1卷积核的主要作用4. 几点说明Resnet1.简介2.网络结构DenseNet1.简介2.网络结构EfficientNetEfficientNetV2sufflentV2sufflenet时间轴代码实现训练结果对比图像分类实质上就是从给定的类别集合中为图像分配对应标签的任务。也就是说我们的任务是分析一个输入图像并返回一

weixin_43507744的博客 1万+

全连接层与 GAP

全连接层 全连接层一般会放在网络的最后,作用是用来综合所有信息。先把卷积层生成的图像降维成一维向量,然后全连接层把一维向量转化成指定个数的单元值。 如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。 在实际使用中,全连接层可由卷积操作实现: 对前层是全连接的全连接层可以转化为卷积核为1x1的卷积; 前层是卷积层的全连接层可以转化为卷积核为 h * w 的全局卷积,h和w分别为前层卷积结果的高和宽。 (1)展平操作

IT__learning的博客 4551
下一篇: 一位深度学习小萌新的学渣笔记(二)LeNet+AlexNet网络介绍及代码详解
IntMain45
博客等级 码龄7年 63粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值