
Deep Learning
文章平均质量分 89
分享在学习深度学习过程中的基础知识、编码经验、学习经验等!
虾狗PhD
Phd渡劫中……(2/4)
展开
-
Deep Learning tips(1) -- ResNet的残差连接为什么是有用的?
前言都知道何凯明大神的ResNet是为了解决“网络退化”问题,所谓的“网络退化”是指随着网络层次的加深,到达一定深度后,网络模型的性能不升反降,这被称为“网络退化”。如下图所示。随着网络层次的加深,网络变得难以训练,不易收敛,原因在于随着网络层次的加深,深层梯度难以反向传播到浅层,即使传播到浅层,浅层的梯度值也小的可怜。而ResNet利用残差连接,为什么能将网络做到很深的呢?其背后的原理是怎样的呢?刚入门深度学习时,没有认真考虑背后的原理,只是单纯地知道ResNet中残差连接到引入是为了解决“网络退化原创 2022-04-15 23:17:48 · 3560 阅读 · 0 评论 -
PyTorch基础(17)-- hooks机制※
前言案例1案例2原创 2022-04-05 11:19:24 · 3598 阅读 · 2 评论 -
Deep Learning中常见图、线的绘制 -- ROC、PR、箱线图、折线图、损失变化图
前言一篇好的论文中图和表是必不可少的,本人结合自己写论文过程中用到的一些图、线,并对此稍加整理整合,汇总成本文。本文基于Python语言实现。一、ROC曲线二、PR曲线三、折线图四、箱型图五、损失变化图参考文献...原创 2021-11-26 00:03:09 · 11388 阅读 · 14 评论 -
Swin Transformer对CNN的降维打击
前言一、回顾Transformer二、Swin Transformer背景三、Swin Transformer创新点3.1 Relative position bias3.2 循环窗口移动四、原创 2021-11-15 21:48:43 · 5372 阅读 · 0 评论 -
都2021年了,不会还有人连深度学习还不了解吧(八)-- 优化算法篇
导读目前深度学习系列已经更新了7篇文章,分别是激活函数篇、卷积篇、损失函数篇、下采样篇、Padding篇、评估指标篇,另有1篇保姆级入门教程,1篇总结性文章CNN中十大令人拍案叫绝的操作,想要入门深度学习的同学不容错过!一、数学基础1.1 偏导数1.2 链式求导法则1.3 案例二、BP算法及其工作原理三、优化算法在深度学习中扮演着什么角色四、常见的优化算法3.1 随机梯度下降法(SGD)3.2 Momentum3.3 AdaGrad3.4 Adam文章持续更新,可以关注微信公众号原创 2021-06-24 10:33:33 · 1586 阅读 · 34 评论 -
都2021年了,不会还有人连深度学习还不了解吧(六)-- Padding篇
导读本篇文章主要介绍CNN中常见的填充方式Padding,Padding在CNN中用的很多,是CNN必不可少的组成部分,使用Padding的目的主要是为了调整输出的大小,是必须搞清楚的知识点。如果你想继续了解深度学习,那么请看下去吧!目前深度学习系列已经更新了6篇文章,分别是激活函数篇、卷积篇、损失函数篇、下采样篇、评估指标篇,另有1篇保姆级入门教程,1篇总结性文章CNN中十大令人拍案叫绝的操作,想要入门深度学习的同学不容错过!一、Padding介绍1.1 什么是Padding在进行卷积层的处理原创 2021-06-17 10:33:01 · 3302 阅读 · 35 评论 -
都2021年了,不会还有人连深度学习都不了解吧(五)-- 下采样篇
导读为了保证文章的质量,但又需要顾及写文章的速度,因此,先更新下采样篇,因为上采样篇继续需要一段时间来打磨润色。下采样方式下采样代码实现参考文献《》计划1个字,绝! – CNN中十大令人拍案叫绝的操作都2021年了,不会还有人连深度学习还不了解吧?(一)-- 激活函数篇都2021年了,不会还有人连深度学习还不了解吧?(二)-- 卷积篇都2021年了,不会还有人连深度学习还不了解吧?(三)-- 损失函数篇都2021年了,不会还有人连深度学习还不了解吧?(四)-- 上采样篇都202原创 2021-06-14 11:48:58 · 5832 阅读 · 42 评论 -
深度学习保姆级入门教程 -- 论文+代码+常用工具
导读该篇文章可以看作是我研一如何入门深度学习的一个大总结,本人本科专业为软件工程,硕士期间研究方向为基于深度学习的图像分割,跨度相对而言不算太大,。如果你对如何入门深度学习还很迷茫的话,那么看下去吧。一、Python的学习虽然是深度学习入门教程,但是Python的学习是必不可少的,一套完整神经网络代码是由Python串起来的,网络结构部分主要是靠PyTorch实现。二、必读入门论文建议按照顺序依次往下看:LeNet:https://ieeexplore.ieee.org/abstract/d原创 2021-06-11 17:27:12 · 47464 阅读 · 66 评论 -
都2021年了,不会还有人连深度学习都不了解吧(七)- 评估指标篇
一、前言本来这周的计划是更新上采样篇的,但是上采样篇涉及到的数学知识较多,为了让大家更好的理解弄懂,需要花费大量的时间来阐述,加上本周正在做第一篇论文的实验,实验量很多,因此,将上采样篇延迟更新。请大家谅解!那么,本篇文章主要介绍深度学习中常用的几个评估指标,这是评价一个网络模型好坏的标准,非常重要,最后,希望大家学的愉快!你们的支持是我更新最大的动力!二、评估指标解析在阐述评估指标之前,需要搞清楚混淆矩阵,也就是TP、TN、FP、FN之间的联系。TP:被模型预测为正类的正样本TN:被模型预测为原创 2021-06-04 15:45:07 · 4085 阅读 · 58 评论 -
1个字,绝! -- CNN中十大令人拍案叫绝的操作
前言近十年是深度学习飞速发展的十年,自LeNet、AlexNet发展至今,通道注意力、空间注意力、生成对抗网络等技术层出不穷,最近大火的Transformer技术也在屠杀各种深度学习比赛的榜单,经过科学家的不懈努力,网络深度越来越深,网络模型的精度逐渐上升,网络的参数逐渐减少,模型越来越轻量化。该篇文章可以看作是我在研一的学习过程中所看上百部论文的精华所在,纯干货,建议收藏起来慢慢品味!一、残差神经网络残差神经网络(ResNet)是CVPR2016的最佳论文,说它是CVPR近二十年最佳论文也不为过,原创 2021-06-01 21:39:24 · 3471 阅读 · 81 评论 -
都2021年了,不会还有人连深度学习都不了解吧(三)- 损失函数篇
一、前言深度学习系列文章陆陆续续已经发了两篇,分别是激活函数篇和卷积篇,纯干货分享,想要入门深度学习的童鞋不容错过噢!书接上文,该篇文章来给大家介绍“ 选择对象的标准 ”-- 损失函数,损失函数种类繁多,各式各样,不仅包括单损失函数,而且也包括多损失函数,但是最常使用的还是经典的均方误差损失函数和交叉熵损失函数,所以本篇文章重点介绍这两种损失函数,至于其余单损失函数和多损失函数,我也会简单介绍一下,并提供相应的经典论文供大家自行阅读!二、什么是损失函数、为什么使用损失函数其实,我们在现实生活中会在无原创 2021-05-30 13:33:25 · 4494 阅读 · 72 评论 -
都2021年了,不会还有人连深度学习都不了解吧(二)- 卷积篇
一、前言上篇文章详细阐述了激活函数是什么、常用的激活函数有哪些以及为什么要使用激活函数,相信大家对此有了一定的了解。在此基础上,我们趁热打铁,继续学习深度学习其它必须的知识。该篇文章讲述卷积操作及其它衍生出的操作,我愿称之为最强!卷积自提出以来,凭借其优异的提取特征的能力,已逐渐称为现代CNN网络中必不可少的组成部分,并引发了基于深度学习的方法研究计算机视觉的浪潮!二、普通卷积在阐述卷积的工作原理之前,我们需要了解一下为什么要使用卷积,以及卷积神经网络相较于全连接神经网络的优势体现在哪里。2.1原创 2021-05-28 13:57:42 · 15384 阅读 · 100 评论 -
都2021年了,不会还有人连深度学习都不了解吧(一)- 激活函数篇
一、前言本人目前研一,研究方向为基于深度学习的图像分割,转眼间已接触深度学习快1年,研一生活也即将结束,期间看了大量的英文文献,做了大量的实验,也算是对深度学习有了初步的了解吧。二、激活函数介绍2.1 激活函数是什么2.2 为什么使用激活函数三、常用的激活函数四、激活函数的一些变体计划 – 深度学习学习系列都2021年了,不会还有人连深度学习基础还不了解吧?(二)-- 常用卷积方式都2021年了,不会还有人连深度学习基础还不了解吧?(三)-- 常用损失函数都2021年了,不会还有人连深度原创 2021-05-25 00:02:20 · 7585 阅读 · 83 评论 -
白话详细解读(七)----- CBAM:Convolutional Block Attention Module
一、CBAM简介论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CBCBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个原创 2021-03-15 21:21:07 · 9189 阅读 · 0 评论 -
白话详细解读(六)----- BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation
论文简介论文链接:https://openaccess.thecvf.com/content_ECCV_2018/html/Changqian_Yu_BiSeNet_Bilateral_Segmentation_ECCV_2018_paper.html创新点原创 2021-03-12 11:35:22 · 869 阅读 · 0 评论 -
详解语义分割评价指标
本文主要介绍语义分割的三大评价指标,分别是执行时间、内存占用以及准确度,本文着重介绍准确度。一、执行时间二、内存占用三、准确度假设一共有k+1类(包括k个目标类和1个背景类),表示本属于i类却预测为j类的像素点总数表示true postives表示false positives表示false negatives1、Pixel Accuracy (PA)分类正确的像素点数占所有像素点的比例2、Mean Pixel Accuracy (MPA)3、Mean Intersection o转载 2020-12-02 21:13:08 · 2160 阅读 · 0 评论 -
TP、TN、FP、FN超级详细解析
以西瓜数据集为例,我们来详细解释一下什么是TP、TN、FP以及FN。一、基础概念TP:被模型预测为正类的正样本TN:被模型预测为负类的负样本FP:被模型预测为正类的负样本FN:被模型预测为负类的正样本二、通俗理解(以西瓜数据集为例)以西瓜数据集为例,我们来通俗理解一下什么是TP、TN、FP、FN。TP:被模型预测为好瓜的好瓜(是真正的好瓜,而且也被模型预测为好瓜)TN:被模型预测为坏瓜的坏瓜(是真正的坏瓜,而且也被模型预测为坏瓜)FP:被模型预测为好瓜的坏瓜(瓜是真正的坏瓜,但是原创 2020-11-21 16:04:31 · 104274 阅读 · 23 评论 -
深入理解最大池化为什么能够实现不变性?
池化层主要有两个作用invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)保留主要的特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型泛化能力(1) translation invariance(平移不变性):这里举一个直观的例子(数字识别),假设有一个16x16的图片,里面有个数字1,我们需要识别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是转载 2020-11-21 12:07:35 · 4439 阅读 · 1 评论 -
白话详细解读(五)-----U-Net
一、前言FCN是语义分割模型的先驱,而U-Net作为FCN的衍生物,在很多方面都与FCN有着异曲同工之处(有关FCN的内容请查阅我的上一篇文章https://blog.youkuaiyun.com/dongjinkun/article/details/109586004),比如,都舍弃了参数众多的全连接层,选择全卷积的方式。现在语义分割大多数的网络模型都是在U-Net这个“优雅的”网络结构上进行修改,所以U-Net有多么的重要,大家自己心里应该有一杆秤了。下面请跟随我的思路一步一步的深挖U-Net这个优雅的网络模型吧原创 2020-11-16 21:29:18 · 4198 阅读 · 0 评论 -
白话详细解读(四)-----FCN
全卷积神经网络详解(逻辑感超强)大多数人接触"语义"都是在和文字相关的领域,或语音识别,期望机器能够识别你发出去的消息或简短的语音,然后给予你适当的反馈和回复。嗯,看到这里你应该已经猜到了,图像领域也是存在"语义"的。今天是AI大热年,很多人都关注与机器人的语音交互,可是有没有想过,将来的机器人如果不能通过图像来识别主人,家里的物品、宠物,那该多没意思。说近一些,假如扫地机器人能够机智地绕开你丢在地上的臭袜子而扫走旁边的纸屑,一定能为你的生活解决不少麻烦。没错,图像语义分割是AI领域中一个重要的转载 2020-11-09 20:48:42 · 1870 阅读 · 1 评论 -
白话详细解读(三)-----DenseNet
一、前言一般来说,提升一个网络性能的方法有两种,一种是增加网络的深度,例如ResNet,一种是增加网络的宽度WRNs,但这种方式存在以下几个问题:1.参数多,如果数据过少,容易产生过拟合2.网络越大,参数越多,网络模型过大,网络难以应用3.网络越深,容易产生梯度消失问题但是DenseNet则是从特征图入手,通过对特征图的极致利用达到更好的效果和更少的参数。二、DenseNet的由来三、DenseNet的基本结构四、DenseNet的优点五、参考文献Densely Connected原创 2020-11-09 10:41:46 · 2272 阅读 · 0 评论 -
GoogLeNet补充(Inception V4)
一、前言读完GoogLeNet的四篇论文之后,一是感觉Inception V3和Inception V4仅仅是对Inception结构的一些小小的修改,并不是像Batch Normalization那样具有突破性;二是GoogLeNet是专门为了ImageNet挑战赛设置的,论普遍性,还不如同年的VGGNet;因此这里只对Inception V4结构做一下简单的说明,有兴趣的可以去单独看以下Inception V4这篇论文。二、Inception V4网络结构的细节Inception V4仅仅是一些组原创 2020-10-31 22:18:16 · 362 阅读 · 0 评论 -
白话详细解读(二)-----AlexNet
一、AlexNet简介2012年,Alex Krizhevsky可以算作是LeNet的一个更深和更广的版本,可以用来学习更加复杂的对象。Alex的要点1.用ReLU得到非线性,用ReLU非线性函数作为激活函数2.使用dropout的trick在训练期间有选择性的忽略隐藏层神经元,来减缓学习模型的过拟合3.使用重叠最大池进行池化操作,避免平均池的平均效果4.使用GPU可以减少训练时间,这比CPU处理快了10倍,所以可以被用于更大的数据集和图像上。二、AlexNet细节介绍2.1 局部响应归原创 2020-10-27 11:48:03 · 757 阅读 · 0 评论 -
白话详细解读(一)-----GoogLeNet(Inception V1-Inception V3)
一、背景GoogLeNet、VGGNet分别是2014年ImageNet挑战赛的第一名和第二名,相对于VGGNet的网络结构,GoogLeNet则进行了大胆的尝试,提出了Inception结构,这种结构的最大的特点就是提高了计算资源的利用率。虽然GoogLeNet只有22层,但是整个网络的尺寸却比AlexNet和VGGNet小很多。GoogLeNet在扩大深度和宽度的同时,保持计算预算不变,这是非常难得的。二、初识Inception结构2.1 Inception naive version(原始版本I原创 2020-10-21 16:37:00 · 2296 阅读 · 0 评论 -
白话详细解读(七)----- Batch Normalization
转载:https://www.cnblogs.com/guoyaohua/p/8724433.htmlBatch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其理论原因,但是实践证明好用才是真的好,别忘了DL从Hinton对深层网络做Pre-Train开始就是一个经验领先于理论分析的偏经验的一门学问。本文是对论文《Batch Normalization: Accelerating Deep Network Training by Re转载 2020-10-10 17:41:36 · 1244 阅读 · 2 评论