深度学习
文章平均质量分 83
MangoloD
正努力敲开人工智能领域大门的小小白...
展开
-
【深度学习】图片张量错误 The size of tensor a (4) must match the size of tensor b (3) at non-singleton
Pytorch 写 Dataset 的时候遇到的这个问题The size of tensor a (4) must match the size of tensor b (3) at non-singleton解决方法Image.open(image)改成Image.open(image).convert("RGB")原创 2021-03-28 20:02:10 · 645 阅读 · 0 评论 -
学习知识汇总(持续更新......)
在v1的基础上增加了残差结构,类似于瓶颈结构,输入→1×1卷积→3×3卷积放大通道用于深度卷积进行通道分离融合各自通道上的像素→1×1卷积再将通道还原为原来大小,将输入部分的权重add到最后的输出权重,即残差结构,v2不仅对通道进行分离和像素上的融合减少参数,而且由于残差的加入使得深层次的信息与浅层的信息也进行了融合,避免了梯度消失网络退化的问题,同时参数量很小可以部署到移动设备中。1、分类器(D):对输入的真实图片和生成器生成的假图片进行判别,判别出假图则提高生成器的参数,使其生成的假图更逼真。原创 2022-11-07 10:52:34 · 840 阅读 · 1 评论 -
【图像增强】常见的图像增强算法
① 算法原理直方图均衡化,一般可用于灰度图像的对比增强(如:人脸阴影部位增强);② 算法优缺点如果直接对彩色图像R,G,B三通道分别均衡化后再合并,极容易出现颜色不均、失真等问题,所以,一般会将RGB图像转换到YCrCb空间,对Y通道进行均衡化(Y通道代表亮度成分)① 算法原理灰度世界算法以灰度世界假设为基础,该假设认为:对于一幅有着大量色彩变化的图像,R,G,B三个分量的平均值趋于同一灰度值Gray。从物理意义上讲,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为原创 2022-11-04 10:34:24 · 17981 阅读 · 1 评论 -
【深度学习】One-Stage目标检测算法
不用RP,直接在网络中提取特征来预测物体分类和位置。任务:特征提取—>分类/定位回归。常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等。一、SSD(Single Shot MultiBox Detector)1.网络结构SSD的优点就是它生成的 default box 是多尺度的,这是因为SSD生成default box 的 feature map 不仅仅是CNN输出的最后一层,还有利用比较浅层的featu.原创 2021-04-28 14:38:45 · 7565 阅读 · 0 评论 -
【深度学习】Two-Stage目标检测算法
一、目标追踪分类分类+位置多目标检测图像分割二、R-CNNR-CNN简要步骤:输入测试图像利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域(Region Proposal)因为取出的区域大小各自不同,所以需要将每个 Region Proposal 缩放 (warp) 成统一的227×227的大小并输入到CNN,将CNN的fc7层的输出作为特征将每个Region Proposal提取到的CNN特征输入到原创 2021-04-10 17:06:50 · 10794 阅读 · 0 评论 -
【深度学习】目标识别损失函数
一、人脸识别的难点不同人脸类别之间的界限不明显脸与脸之间相似度很高,难以区分如何解决人脸特征分类困难的问题二、Softmax 和 Softmax LossSoftmaxSj=eaj∑k=1TeakS_j=\frac{e^{a_j}}{\sum^T_{k=1} e^{a_k}}Sj=∑k=1Teakeajaja_jaj表示当前输入的类别特征,aka_kak表示从第一个到最后一个的类别特征Softmax LossL=−∑j=1TyjlogSjL=-\sum^T_{j=1}y原创 2021-04-03 17:24:50 · 795 阅读 · 0 评论 -
【深度学习】转载_目标识别损失函数
转载自博客 【人脸识别】MTCNN + Arcface全流程详解 Pytorch代码 损失函数发展人脸识别介绍 MTCNN 实现人脸检测,回答了“是不是人脸”和“人脸在哪”的问题,接下来人脸识别要解决的就是“人脸是谁”。 人脸识别是目标识别中的一种,本质上也是分类问题,只不过是同类(人脸)中的细分,因为人脸之间相似度很大,这对损失函数的分类能力提出了更高的要求。 损失函数发展 下面介绍分类损失函数的主要类型和发展历程,及部分pytorch代码。 效果图来自 MNIST 数据集,将网络模型倒数第二.转载 2021-03-31 16:03:34 · 568 阅读 · 0 评论 -
【深度学习】网络模型设计
一、卷积神经网络模型设计方法1.网络设计的目的节省设备存储空间提升网络训练效率提升模型输出精度2.网络设计的重点层次要深,信息要充分融合,计算量要足够小精度容量效率3.网络设计形式3×3 和 1×1 的卷积对应模型:ResNet一个具有瓶颈结构的残差单元,由 conv1×1,conv3×3,conv1×1组成;第一个conv1×1减少输入通道的维度,降低后续conv3×3相对高昂的计算成本,最后conv1×1回复输出通道的维度分组卷积对应模型:Res原创 2021-03-30 11:11:20 · 1507 阅读 · 0 评论 -
【深度学习】神经网络的拟合问题
一、拟合问题机器学习、深度学习中经常出现欠拟合、过拟合一开始模型往往是欠拟合的,需要神经网络优化权重参数1.欠拟合欠拟合现象模型没有很好地捕捉到数据特征,不是很好的拟合模型欠拟合产生欠拟合的原因数据特征项不够(ML)训练时间不够(DL)模型过于简单(DL)解决欠拟合的方法添加其他特征增加训练时间添加多项式特征减少正则化参数2.过拟合过拟合现象就是模型把数据学得太彻底,以致于噪声数据的特征也学到了模型过拟合产生过拟合原因数据噪原创 2021-03-26 16:42:52 · 2714 阅读 · 0 评论 -
【深度学习】神经网络梯度优化
一、梯度问题1.梯度弥散产生原因激活函数的"饱和"左饱和:当x趋向于负无穷时,函数的导数趋近于0,此时称为左饱和右饱和:当x趋向于正无穷时,函数的导数趋近于0,此时称为右饱和饱和函数和非饱和函数:当一个函数既满足右饱和,又满足左饱和,则称为饱和函数,否则称为非饱和函数常用的 饱和激活函数 和 非饱和激活函数:饱和激活函数有如 Sigmoid 和 tanh,非饱和激活函数有 ReLU;相较于饱和激活函数,非饱和激活函数可以解决 "梯度消失" 的问题,加快收敛样本中原创 2021-03-25 20:42:26 · 735 阅读 · 0 评论 -
【深度学习】卷积神经网络
一、神经网络的局部连接1.全局连接VS局部连接全局连接(相邻神经元之间全部激活)在全连接网络(FCN)中,下一层网络的每一个神经元都与上一个层的神经元完全连接,这样的结构增加了整个网络的权重,计算量增加了无用信息(参数多,丢失空间信息)使网络容易过拟合局部连接(提取对应局部位置的特征)只针对目标所在局部区域进行观看、分析减少了计算量权重共享二、神经网络的局部特征提取-卷积一个核矩阵在一个原始矩阵上从上往下、从左往右扫描,每次扫描都得到一个结果,将所有结果组原创 2021-03-19 16:04:57 · 1108 阅读 · 0 评论 -
【深度学习】深度神经网络及样本
一、深度神经网络(DNN)单层感知器由一个线性组合器和一个二值阈值元件组成多层感知机就是单层感知机的组合多层感知机也称为“深度神经网络”(DNN)1.神经网络比较生物神经网络生物神经网络是指生物的大脑神经元,细胞等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。人工神经网络人工神经网络是模仿动物神经网络行为特征所建立的数学算法基础,它是对自然界某种算法或者函数的逼近。2.神经网络前向传播过程3.神经网络后向传播过程二、神经网络参数更新1.如何更新2.原创 2021-03-17 14:54:28 · 1765 阅读 · 0 评论 -
【深度学习】神经网络结构
一、线性和非线性问题线性可分线性不可分判断一堆数据是否能够线性可分的关键在于所在维度。从线性不可分→线性可分,可采用升高维度的方式。线性可分和线性不可分的辩证统一思想:在低维空间中数据线性不可分,通过映射到高维空间是线性可分,回到低维空间又是线性不可分的,两者统一而矛盾。 线性不可分→线性可分二、激活函数1.激活函数的作用为模型提高非线性能力提高模型鲁棒性,让模型下降更加稳定,收敛更快2.常用激活函数(本节部分截取自常用激活函数理解与总结)sigmoid函数(主要用于二原创 2021-03-16 22:21:51 · 829 阅读 · 0 评论 -
【深度学习】初识神经网络
一、感知机1. 感知机来源深度学习里的感知机类似于人脑的神经元人脑神经元## 2. 单层感知机单层感知机原创 2021-03-15 22:40:20 · 202 阅读 · 0 评论