![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习500问
葫芦在野
医学图像处理/计算机视觉/机器学习/深度学习/数据分析
展开
-
CNN经典网络结构
一、LeNet5的模型特性1.卷积网络使用一个3层的序列组合:卷积、下采样(池化)、非线性映射(LeNet-5最重要的特 性,奠定了目前深层卷积网络的基础) 使用卷积提取空间特征 使用映射的空间均值进行下采样2.使用tanh或sigmoid进行非线性映射3.多层神经网络(MLP)作为最终的分类器4.层间的稀疏连接矩阵以避免巨大的计算开销二、AlexNet的模型特性1.所有卷积层都使用ReLU作为非线性映射函数,使模型收敛速度更快2.在多个GPU上进行模型的训练,不但可以提高模型的训练速度,还原创 2021-03-17 17:06:03 · 2059 阅读 · 0 评论 -
Batch Normalization批归一化
一、什么是Batch Normalization批归一化在神经网络中间层也进行归一化处理,使训练效果更好的方法,就是批归一化Batch Normalization(BN)。二、 批归一化(BN)算法的优点减少了人为选择参数。在某些情况下可以取消 dropout 和 L2 正则项参数,或者采取更小的 L2 正则项约束参数;减少了对学习率的要求。现在我们可以使用初始很大的学习率或者选择了较小的学习率, 算法也能够快速训练收敛;可以不再使用局部响应归一化。BN 本身就是归一化网络(局部响应归一化在 A原创 2021-03-17 14:04:10 · 176 阅读 · 0 评论 -
深入理解Batch Size
为什么需要Batchsize?Batch的选择,首先决定的是下降的方向。如果数据集比较小,可采用全数据集的形式,好处是:由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。由于不同权重的梯度值差别巨大,因此选取一个全局的学习率很困难。 Full Batch Learning 可以使用 Rprop 只基于梯度符号并且针对性单独更新各权值。对于更大的数据集,假如采用全数据集的形式,坏处是:随着数据集的海量增长和内存限制,一次性载入所有的数据进来变得越来越不可行。以 Rpr原创 2021-03-16 20:52:10 · 253 阅读 · 0 评论 -
Softmax函数
1.Softmax函数的形式。见图一2.通过 softmax 函数,可以使得 P(i) 的范围在 [0,1] 之间。在回归和分类问题中,通常theta是待求参数,通过寻找使得P(i)最大的theta_i 作为最佳参数。3.Softmax 函数加入了e的幂函数正是为了两极化:正样本的结果将趋近于 1,而负 样本的结果趋近于 0。这样为多类别提供了方便(可以把 P(i) 看做是样本属于类别i的概 率)。可以说,Softmax 函数是 logistic 函数的一种泛化。3.Softmax 函数可以把它的原创 2021-03-16 20:37:56 · 3667 阅读 · 1 评论 -
通过实例理解反向传播
1.前向传播:1)输入数据加权求和2)经过激活函数(sigmoid)得到输出数据3)从输入层,经过隐藏层,最后到达输出层2.反向传播:1)两个输出已知2)对输出计算总误差(E_total))3)E_total对权值w5进行求导(想了解w5对整体误差产生了多少影响),使用链式法则进行计算权值更新之后再更...原创 2021-03-15 21:07:06 · 128 阅读 · 0 评论 -
梯度下降 模型评估
各种梯度下降法性能比较分类模型常用评估方法回归模型常用评估方法原创 2021-03-15 19:18:57 · 180 阅读 · 0 评论 -
代价函数与损失函数
代价函数(cost function)为了得到训练逻辑回归模型的参数,需要一个代价函数,通过训练代价函数来得到参数。在回归问题中,通过代价函数来求解最优解,常用的是平方误差代价函数。常见代价函数(1)二次代价函数(quadratic cost)(2)交叉熵代价函数(cross-entropy)(3)对数似然代价函数(log-likelihood cost)损失函数(loss function)损失函数(Loss Function)又叫做误差函数,用来衡量算法的运行情况,估量模型的预测值 与真原创 2021-03-15 18:14:12 · 1260 阅读 · 0 评论 -
分类方法的评价指标
首先明确TP,FN,TF,FP四个术语代表的含义(见混淆矩阵)评价指标:正确率(accuracy)正确率是最常见的评价指标,accuracy = (TP+TN)/(P+N),正确率是被分对类别的样本数在所有样本数中的占比,通常来说,正确率越高,分类器越好。错误率(error rate) 错误率则与正确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(P+N),对某 一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate。灵敏度(sensi原创 2021-03-15 15:54:19 · 1615 阅读 · 0 评论 -
全连接神经网络
全连接神经网络(1)有三种层:输入层,输出层,隐藏层。(2)同一层的神经元之间没有连接。(3)fully connected的含义:第 N 层的每个神经元和第 N-1 层的所有神经元相连,第 N-1 层 神经元的输出就是第 N 层神经元的输入。(4)每个连接都有一个权值。...原创 2021-03-14 14:44:25 · 432 阅读 · 0 评论 -
SVD奇异值分解
1.奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。2.奇异值是矩阵里的概念,一般通过奇异值分解定理求得。设A为mn阶矩阵,q=min(m,n),AA的q个非负特征值的算术平方根叫作A的奇异值。奇异值可以被看作成一个矩阵的代表值,或者说,奇异值能够代表这个矩阵的信息。当奇异值越大时,它代表的信息越多。因此,我们取前面若干个最大的奇原创 2021-03-14 14:20:03 · 501 阅读 · 0 评论 -
GPU计算与CUDA编程
1.来自Nvidia的 CUDA 并行编程框架是 GPGPU 范式的一种特定的实现。它提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序。2.CUDA 在技术上是一种异构计算环境,也就是说它利用了同时在 CPU 和 GPU 上的协调计算。CUDA 架构由主机(host)和设备(device)组成;其中主机是指传统的 CPU,而设备则是指带有大量算术单元的处理器,通常是 GPU。基于CPU+GPU的异构计算平台可以优势互补,CPU负责处理逻辑复杂的串行程序,而GPU重点处理数据密集原创 2021-03-14 13:27:17 · 563 阅读 · 2 评论 -
梯度下降算法
梯度下降算法(Gradient Descent Optimization)是神经网络模型训练最常用的优化算法。原理:目标函数关于参数的梯度将是目标函数上升最快的方向。对于最小化优化问题,只需要将参数沿着梯度相反的方向前进一个步长,就可以实现目标函数的下降。梯度下降算法又可以分为:1.批量梯度下降算法(Batch Gradient Descent)在整个训练集上计算的,如果数据集比较大,可能会面临内存不足问题,而且其收敛速度一般比较慢。2.随机梯度下降算法(Stochastic GradientDesc原创 2021-03-14 13:25:42 · 1779 阅读 · 0 评论 -
激活函数
激活函数的主要作用是提供网络的非线性表达建模能力,让深度神经网络具有强大的非线性学习能力。1.Sigmoid激活函数。优点:最为接近生物神经元。输出在(0,1)。可以被表示为概率或者用于输入的归一化等。Sigmoid函数的导数是其本身的函数。缺点:饱和性,另外,Sigmoid函数的输出均大于0,使得输出不是0均值,这称为偏移现象。2.TanH激活函数。优点:与Sigmoid相比,它的输出均值是0,使得其收敛速度要比Sigmoid快,减少迭代次数。缺点:该导数在正负饱和区的梯度都会接近于0值(仍然具有软饱原创 2021-03-14 13:23:45 · 93 阅读 · 0 评论 -
IOU与NMS
1.IoU 的全称为交并比(Intersection over Union)IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。2.NMS(non maximum suppression),中文名为非极大值抑制。经典NMS最初第一次应用到目标检测中是在RCNN算法中,其实现严格按照搜索局部极大值,抑制非极大值元素的思想来实现的。(1)设定目标框的置信度阈值,常用的阈值是0.5左右(2)根据置信度降序排列候选框列表(3)选取置信度最高的框A添加到输出列表,并将其从候选框列表中删除原创 2021-03-14 13:21:40 · 1159 阅读 · 0 评论 -
如何跳出魔改网络结构的火坑
如何跳出网络结构的火坑1.自监督学习。人为地利用图像,学习图像中隐含的本质特征。常用“剔除-重构”策略构造标签。常用的先验知识学习方法:颜色信息(剔除颜色信息,原图转灰度图,再训练模型根据灰度图重构原图)高分辨率信息(剔除细节信息,将原图缩放成小图,训练模型根据小图重构原图)相对位置信息(剔除某块物体或区域/在原图提取连续九块区域,中心+8领域/将原图切分成九块进行随机打乱)形变信息(嫁接STN模块,对图像进行0/90/180/270度的旋转)关联信息(mereic learning,聚类,CN原创 2021-03-14 13:19:50 · 103 阅读 · 0 评论 -
ROC曲线
1.ROC曲线全称为受试者工作特征曲线 (receiver operating characteristic curve,一般都处于y=x直线的上方,取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。2.ROC曲线的横坐标是假阳性率(False Positive Rate),纵坐标是真阳性率(True Positive Rate),相应的还有真阴性率(True Negative Rate)和假阴性率(False Negative Rate)。这四类指原创 2021-03-14 13:19:18 · 5588 阅读 · 0 评论 -
K折交叉验证
K折交叉验证1.交叉验证主要用于防止模型过于复杂而引起的过拟合,是一种评价训练数据的数据集泛化能力的统计方法。其基本思想是将原始数据进行划分,分成训练集和测试集,训练集用来对模型进行训练,测试集用来测试训练得到的模型,以此来作为模型的评价指标。2.简单的交叉验证:将原始数据D按比例划分,比如7:3,从D中随机选择70%的数据作为训练集train_data,剩余的作为测试集test_data数据只利用了一次,并没有充分利用,对于小数据集,需要充分利用其数据的信息来训练模型,一般会选择K折交叉验证。3.K原创 2021-03-14 13:18:11 · 2130 阅读 · 0 评论