深度学习
文章平均质量分 87
香博士
仗剑走天涯,不水不浪
展开
-
神经网络调参经验总结
新手炼丹经验总结炼丹入坑三年多,来总结一些经验,本文旨在帮助小白少走弯路,大佬轻喷:本文源于一个旧回答:你有哪些deep learning(rnn、cnn)调参的经验?我的工作可以参见 我的 Github,一股浓浓调参风,所以感觉能来说点小经验。另,旷视研究院目前在春招实习生,欢迎大家投递。准备工作大部分情况下,我们的工作应该站在巨人的肩膀上,切忌空中楼阁和徒手造轮子。在实践中建议琢磨以下两问:a. 目前的问题是否可能用神经网络学习? b. 是否有人做过类似的工作?a. 即使有数据,神经网络不是万原创 2022-01-07 16:03:23 · 819 阅读 · 3 评论 -
深度学习的多个loss如何平衡?
高赞回答1这也是个困扰了我多年的问题:loss = a * loss1 + b * loss2 + c * loss3 怎么设置 a,b,c?我的经验是 loss 的尺度一般不太影响性能,除非本来主 loss 是 loss1,但是因为 b,c 设置太大了导致其他 loss 变成了主 loss。实践上有几个调整方法:手动把所有 loss 放缩到差不多的尺度,设 a = 1,b 和 c 取 10^k,k 选完不管了;如果有两项 loss,可以 loss = a * loss1 + (1 - a)原创 2022-01-07 16:02:16 · 11586 阅读 · 1 评论 -
深度学习(18)机器学习常用的评价指标
评价指标回归问题1. MAE:平均绝对误差(Mean Absolute Error)2. MSE:均方误差(Mean Square Error)3. RMSE:根均方误差(Root Mean Square Error)4. MAPE:平均绝对百分比误差(Mean Absolute Percentage Error)5. SMAPE:对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)6. R Squared:7. 代码实现:分类问题0. Confusio原创 2021-11-26 13:40:46 · 4735 阅读 · 1 评论 -
深度学习(17)机器学习常用的损失函数
损失函数分类损失函数一、LogLoss对数损失函数(逻辑回归,交叉熵损失)二、 指数损失函数(Adaboost)三、Hinge损失函数(SVM)回归损失函数一、均方误差、平方损失-L2损失:二、平均绝对误差-L1损失函数:平均绝对误差和均方误差(L1&L2)比较:三、Huber损失——平滑平均绝对误差四、Log-Cosh损失函数五、分位数损失(Quantile Loss)了解分位数损失函数比较研究:总结分类损失函数一、LogLoss对数损失函数(逻辑回归,交叉熵损失)有些人可能觉得逻辑回归的损原创 2021-11-26 13:17:13 · 3730 阅读 · 0 评论 -
机器学习词汇翻译解释(2)
词汇激活函数(Activation Function)AdadeltaAdagradAdam仿射层(Affine Layer)注意机制(Attention Mechanism)Alexnet自编码器(Autoencoder)平均池化(Average-Pooling)反向传播(Backpropagation)通过时间的反向传播(BPTT:Backpropagation Through Time)分批标准化(BN:Batch Normalization)双向循环神经网络(Bidirectional RNN)Ca原创 2021-11-17 14:47:29 · 550 阅读 · 0 评论 -
机器学习词汇翻译(1)
machine learning : 机器学习deep learning : 深度学习image processing : 图像处理natural language processing : 自然语言处理algorithms : 算法training data set : 训练数据集facial detection : 面部识别malware detection : 恶意程序检测adversarial sample : 对抗样本countermeasuring techniques : 防原创 2021-11-17 14:35:49 · 611 阅读 · 0 评论 -
如何训练你的ResNet:网络架构对训练时间的影响
网络架构对训练时间的影响当前网络清楚长分支下采样优化改进步骤最大池化层批量训练结语目前为止,我们使用的都是固定网络架构,即在CIFAR10上用单个GPU最快的DAWNBench记录,经过简单改变,我们将网络达到94%精度的时间从341秒缩短至154秒。今天,我们要研究其他的替代性架构。当前网络让我们先回顾下目前所用的网络:粉色的残差块包含了一个identity shortcut并保留了输入的空间和通道维度:浅绿色的下采样模块将空间分辨率降低两倍,输出通道的数量增加一倍:加入残差模块的原因是原创 2021-11-17 14:32:00 · 2030 阅读 · 0 评论 -
设置优秀的超参数制作完美的深度学习模型
设计深度学习模型深度学习中的超参数学习率MomentumDropout架构——层数、每层神经元等。超参数优化算法网格搜索随机搜索贝叶斯优化寻找良好学习率的另一种方法结论如果你现在了解了神经网络的工作原理,已经构建了一个猫狗分类器。尝试了一个半体面的字符级 RNN。pip install tensorflow离建造终结者只有一步之遥了,对吧?错误的。机器学习模因深度学习的一个非常重要的部分是找到正确的超参数,这些是模型无法学习的数字。在本文中,我将带您了解在通往 Kaggle 排行榜第一名的道路上原创 2021-11-11 22:39:25 · 1704 阅读 · 0 评论 -
2021语义分割指南总结
语义分割介绍什么是图像分割语义分割实例分割图像分割的用例Google 肖像模式YouTube 故事虚拟化妆虚拟试穿视觉图像搜索自动驾驶汽车方法和技术全卷积网络网络深度实验室空洞卷积ASPP使用 CRF 提高输出Global Convolution NetworkSee More Than Once – 用于语义分割的 KSAC视频分割STFCN通过表示变形的语义视频 CNN用于视频语义分割的发条网络低延迟视频语义分割点云分割点网CNN指标像素精度Intersection Over Union频率加权 IOU翻译 2021-11-11 22:11:51 · 8608 阅读 · 0 评论 -
语义分割相关网络简述
语义分割网络的发展1、Fully Convolution Networks (FCNs) 全卷积网络关键点:缺点:2、SegNet(A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation)关键点:3、U-Net(Convolutional Networks for Biomedical Image Segmentation) 相应连接:Arxiv关键点:U-net典型应用:2、Long-ranged informati原创 2021-04-29 15:18:14 · 1515 阅读 · 2 评论 -
模型压缩加速-五种CNN模型的尺寸,计算量和参数数量对比详解
五种CNN模型的尺寸,计算量和参数数量对比详解一、SqueezeNet1.1 设计思想1.2 网络架构1.3 实验结果1.4 速度考量二、Deep Compression2.1 算法流程2.2 模型存储2.3 实验结果2.4 速度考量三、XNorNet3.1 BWN3.2 XNOR-Net3.3 实验结果四、Distilling4.1 基本思想4.2 实验结果4.3 速度考量五、MobileNet5.1 卷积分解5.2 模型架构5.3 实验结果六、ShuffleNet6.1 设计思想6.2 网络架构6.3原创 2021-01-15 10:43:30 · 4013 阅读 · 2 评论 -
全监督、半监督、无监督学习简单比喻
首先看什么是学习(learning)?一个成语就可概括:举一反三。此处以高考为例,高考的题目在上考场前我们未必做过,但在高中三年我们做过很多很多题目,懂解题方法,因此考场上面对陌生问题也可以算出答案。机器学习的思路也类似:我们能不能利用一些训练数据(已经做过的题),使机器能够利用它们(解题方法)分析未知数据(高考的题目)高中学习:上课练习-模拟考试-高考这也正如我们在高中做题,答案(标签)是非常重要的,假设两个完全相同的人进入高中,一个正常学习,另一人做的所有题目都没有答案,那么想必第一个人高考会发挥原创 2021-01-05 08:33:25 · 7589 阅读 · 3 评论 -
PyTorch图像处理器torchvision.ToTensor-归一化
在看这一片博客之前,需要先浏览以下我的上一篇博客import torchvision.transforms as transformsimport numpy as npimport torchimport cv2from matplotlib import pyplot as pltimport matplotlib.image as imgpltimg_path = “1.jpg”transforms.ToTensor()transform1 = transforms.Compose(原创 2020-08-22 12:03:07 · 4777 阅读 · 0 评论 -
神经网络训练中计算输入图像的均值和方差
# -*- coding: utf-8 -*-import numpy as npimport cv2import randomimport os# calculate means and std 注意换行\n符号path = '/home/dell/Desktop/train.txt' means = [0, 0, 0]stdevs = [0, 0, 0] index = 1num_imgs = 0with open(path, 'r') as f: lines = f.原创 2020-08-22 11:57:44 · 1820 阅读 · 0 评论 -
神经网络训练常见坑-新手如何优化调整训练神经网络
文章目录0. 使用指南Ⅰ. 数据集问题Ⅱ. 数据归一化/增强Ⅲ. 实现问题Ⅳ. 训练问题神经网络已经持续训练了 12 个小时。它看起来很好:梯度在变化,损失也在下降。但是预测结果出来了:全部都是零值,全部都是背景,什么也检测不到。我质问我的计算机:“我做错了什么?”,它却无法回答。如果你的模型正在输出垃圾(比如预测所有输出的平均值,或者它的精确度真的很低),那么你从哪里开始检查呢??无法训练神经网络的原因有很多。在经历了许多次调试之后,我发现有一些检查是经常做的。这汇总了我的经验以及最好的想法,希望对原创 2020-08-20 20:24:54 · 5598 阅读 · 1 评论 -
深度学习的数据增强
文章目录学习了某些不变性?学习了某种正则化?一个重要的问题计算机视觉中的图像增强,是人为的为视觉不变性(语义不变)引入了先验知识。数据增强也基本上成了提高模型性能的最简单、直接的方法了。而数据增强后的网络性能为什么会变好呢?学习了某些不变性?首先增强的样本和原来的样本是由强相关性的(裁剪、翻转、旋转、缩放、扭曲等几何变换,还有像素扰动、添加噪声、光照调节、对比度调节、样本加和或插值、分割补丁等,另外还有一些用强化学习做数据增强的,这里就不穷举了)。即我们强制网络学习了某些样本变换方式,而如果这些变换方原创 2020-08-15 16:50:15 · 1539 阅读 · 0 评论 -
模型在欠拟合与过拟合的解决方法
简单来说,欠拟合是指模型在训练集、验证集和测试集上均表现不佳的情况;过拟合是指模型在训练集上表现很好,到了验证和测试阶段就大不如意了,即模型的泛化能力很差。欠拟合和过拟合一直是机器学习训练中的难题,在进行模型训练的时候往往要对这二者进行权衡,使得模型不仅在训练集上表现良好,在验证集以及测试集上也要有出色的预测能力。下面对解决欠拟合和过拟合的一般方法作一总结,说明大致的处理方向,具体应用还得结合实际的任务、数据和算法模型等。解决欠拟合(高偏差)的方法1.模型复杂化对同一个算法复杂化。例如回归模型添加更多原创 2020-08-07 14:51:50 · 4891 阅读 · 1 评论 -
数据挖掘、机器学习与深度学习
目录数据挖掘机器学习深度学习数据挖掘KDD(knowledge discovery in database)输入数据 - 数据预处理(特征选择、规范化、降低维数、数据提升) - 分析挖掘 - 处理(模式识别、可视化) - 形成可用信息机器学习多领域交叉学科:概率论、统计学、逼近论、凸分析、计算复杂性理论相较于数据挖掘,机器学习更加注重算法的设计,实现计算机自动从数据中学习规律分五大类:监督学习无监督学习半监督学习迁移学习增强学习传统的机器学习算法:线性回归模型、logist原创 2020-08-07 14:41:26 · 1332 阅读 · 0 评论 -
基于深度学习与计算机视觉的应用小结
作者:黄浴知乎链接:https://zhuanlan.zhihu.com/p/55747295本文仅供学习参考,如有侵权,请联系删除!CSDN链接:https://blog.csdn.net/weixin_47196664/article/details/107478851【导读】今天给大家推荐一位大佬对深度学习在计算机视觉领域的应用阐述的比较深刻的文章,文章内容很赞,很全面!这是一篇很优秀的文章,因此才转发共享大家一起学习下,强烈建议大家收藏起来,慢慢阅读!(文末附CSDN博主建立的计算机视原创 2020-07-31 17:31:21 · 1071 阅读 · 0 评论 -
神经网络中resize、size、crop_size等含义
构造一个网络首先要保证数据流是通的,即各层的输出形状的是整数,不能是小数。至于构造出来的网络效果好不好,按下不表。只要数据流通畅,你的输入图像是什么形状的都无所谓了。如果你的图像是边长为 256 的正方形。那么卷积层的输出就满足 [ (256 - kernel_size)/ stride ] + 1 ,这个数值得是整数才行,否则没有物理意义。例如,你算得一个边长为 7.7 的 feature map 是没有物理意义的。 pooling 层同理可得。FC 层的输出形状总是满足整数,其唯一的要求就是整个训练过原创 2020-07-17 16:35:20 · 5710 阅读 · 2 评论 -
SGD,Momentum,优化算法原理及实现
优化算法原理及实现SGDMomentum无论是什么优化算法,最后都可以用一个简单的公式抽象:w 是参数,而△w是参数的增量,而各种优化算法的主要区别在于对△w的计算不同,本文总结了下面十个优化算法的公式,以及简单的Python实现:SGD虽然有凑数的嫌疑,不过还是把SGD也顺带说一下,就算做一个符号说明了。常规的随机梯度下降公式如下:其中η是学习率,J’(w)是损失关于参数的梯度,不...原创 2020-07-17 16:32:33 · 4498 阅读 · 0 评论 -
深度学习的训练和调参
深度学习的训练和调参1.Data augmentation(数据增强)2.Pre-processing(数据预处理)3.Initialization(初始化)4. Activation Functions(激活函数)5. During training(训练过程中)6. Regularizations(正则化)7. Dropout8. Insights from Figures感慨一下,人工智能这个名字挺有意思,这段时间也不知咋回事,朋友圈里都是学人工智能的,什么python,tf…还有很多大神在互联网上原创 2020-07-13 10:17:50 · 1296 阅读 · 1 评论 -
手撕caffe cnn(1)caffe data层中transform_param参数
transform_param四个参数执行顺序crop_size四个参数执行顺序caffe中transform_param有四个选项:scale,mean,mirror,crop_sizetransform_param { scale: 0.00390625 mean_file_size: "examples/cifar10/mean.binaryproto" mirror: 1 # 1表示开启镜像,0表示关闭,也可用ture和false来表示 crop_size:原创 2020-07-09 19:37:12 · 1155 阅读 · 0 评论 -
caffe报错
SyntaxError: EOL while scanning string literal将文件中\改为/Exception:Channel swap needs to have the same number of dimensions as the input channelsValueError: Mean channels incompatible with input....原创 2020-06-05 12:46:13 · 235 阅读 · 0 评论 -
修改caffe中resize的方式
opencv的resize默认的是使用双线性插值INTER_LINEAR,也可以是尝试其他的方式进行插值操作if (param.random_interpolation_method()) { // 0: INTER_NEAREST // 1: INTER_LINEAR // 2: INTER_CUBIC // 3: INTER_AREA // 4: IN...原创 2020-06-05 12:44:04 · 874 阅读 · 0 评论 -
caffe训练提示:Restarting data prefetching from start
最近一直调caffemodel,发现这个提示时有时没有,决定探究下。这个问题直接翻译就是从开始重新启动数据预取,如果假定每个数据都有序号的话,也就是将重新从0开始读取数据了。发现这个问题和许多方面有关,不是简单的调整一个参数就解决的。其分别与数据集大小/batch size大小/solver文件参数设置等均有关系。会遇到该问题的几种场景:batch size很大,大于数据集大小,即所有数据不够于bn读取一次数据用的,这样每次读取训练时都会出现;解决一般调小batch size另一种碰见的就是,就原创 2020-06-05 12:42:25 · 590 阅读 · 0 评论 -
深度学习论文查代码
https://paperswithcode.com/原创 2020-05-16 19:26:27 · 291 阅读 · 0 评论 -
模型的泛化、过拟合与欠拟合
过拟合:在训练数据上表现良好,在未知数据上表现差。欠拟合:在训练数据和未知数据上表现都很差在有监督学习中,我们会在训练数据集上建立-一个模型,之后会把这个模型用于新的,之前从未见过的数据中,这个过程称为模型的泛化( generalization)。当然我们希望模型对于新数据的预测能够尽可能准确,这样才能说模型泛化的准确度比较高。那么我们用什么样的标准来判断一个模型的泛化是比较好的,还是比较...原创 2020-03-19 12:25:46 · 4665 阅读 · 0 评论 -
为什么 CNN 中的卷积核半径都是奇数?
熟悉CNN应该都知道常见的卷积核都是3 * 3或者5 * 5等,也就是奇数*奇数,似乎都没看过偶数的,这是为什么呢?在CNN中,卷积核的大小是3 * 3 或者5 * 5是最常见的。也就是说我们见到的卷积核几乎都是奇数 * 奇数的。在LeNet5中两个卷积层的卷积核都是5*5。而在AlexNet中共有5个卷积层,conv1的卷积核大小是11* 11;conv2的卷积核大小是5* 5;conv3...原创 2020-03-18 12:16:46 · 816 阅读 · 0 评论 -
批量处理Batch Normalization(BN)
Batch Normalization1.基本原理2.BN带来的好处。3.BN的缺陷4.BN的改进5.Batch Normalization的变种1.基本原理现在一般采用批梯度下降方法对深度学习进行优化,这种方法把数据分为若干组,按组来更新参数,一组中的数据共同决定了本次梯度的方向,下降时减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也下降了很多。Batch Norma...原创 2020-03-12 17:08:55 · 695 阅读 · 0 评论 -
12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目
深度学习框架1 概述1.1 开源框架总览1.2 如何学习开源框架2 开源框架2.1 Caffe2.2 Tensorflow2.3 Pytorch2.4 Mxnet2.5 Keras2.6 Paddlepaddle2.7 CNTK这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/forkhttps://github.com/long...原创 2020-03-11 16:55:35 · 750 阅读 · 0 评论 -
softmax与cross entropy的区别联系
1. 什么是 Softmax?首先,softmax 的作用是把 一个序列,变成概率。能够保证:所有的值都是 [0, 1] 之间的(因为概率必须是 [0, 1])所有的值加起来等于 1从概率的角度解释 softmax 的话,就是2.文档里面跟 Softmax 有关的坑这里穿插一个“小坑”,很多deep learning frameworks的 文档 里面 (PyTorch,T...原创 2020-03-07 11:56:44 · 494 阅读 · 0 评论 -
CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构区别
神经网络1. 有监督的神经网络(Supervised Neural Networks)1.1. 神经网络(Artificial Neural Networks)和深度神经网络(Deep Neural Networks)1. 2. 循环神经网络(Recurrent Neural Networks)和递归神经网络(Recursive Neural Networks)1.3. 卷积网络(Convolut...原创 2020-03-06 18:05:30 · 11298 阅读 · 0 评论 -
深度学习(15)卷积神经网络CNN
卷积神经网络CNN【1】导论【2】卷积运算【3】非线性激活【4】池化层【5】全连接层【6】神经网络的训练与优化【1】导论首先最需要明确的一点就是,卷积神经网络,也就是convolutional neural networks (简称CNN),现在已经被用来应用于各个领域,物体分割啦,风格转换啦,自动上色啦blahblah,但是!!CNN真正能做的,只是起到一个 特征提取器 的作用!所以这些应用...原创 2020-01-16 17:26:32 · 1409 阅读 · 1 评论 -
深度学习(14)神经网络的优化-优化器,动量,自适应学习率,批量归一化
综述:神经网络的优化-优化器,动量,自适应学习率,批量归一化优化面临的挑战局部最优鞍点病态/非良置-情况/Poor Conditioning梯度消失/爆炸动量。根据学习总结将讨论与神经网络优化有关的以下概念:- 优化面临的挑战- 动量- 适应性学习率- 参数初始化- 批量归一化原创 2020-01-12 16:10:36 · 2982 阅读 · 0 评论 -
深度学习(13)神经网络中损失函数的作用
深度学习(13)神经网络中损失函数的作用三要素期望风险与经验风险结构风险与正则化损失函数层Softmax函数loss计算三要素机器学习的三要素就是:表示,评估和优化。表示指的是将样本空间映射到一个合适的特征空间,一般地,我们更青睐于这样的表示是低维度的,是更加稀疏交互的,同时也希望是相互独立的。评估指的是模型在数据上表现的量化形式,我们选取合适的函数来表示什么样子的模型是好的,性能度...原创 2020-01-10 20:56:02 · 24743 阅读 · 1 评论 -
深度学习(12)数据增强与实现
深度学习(12)数据增强与实现1、修改图片尺寸(resize)2、按比例缩放(rescale)3、加噪(noise)4、反转(flip)5、旋转(rotate)6、平移(shift)7、缩放变换(zoom)8、剪切(shear)9、对比度变换(contrast)10、随机通道偏移(channel shift)11、PCA深度学习的训练往往需要海量的数据,而如今数据又是如此的宝贵(如医学图像),因...原创 2020-01-10 15:00:03 · 2167 阅读 · 0 评论 -
深度学习(11)BN(Batch Normalization) 原理理解
深度学习(11)问题BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。“Internal Covariate Shift”问题BatchNorm的本质思想训练阶段如何做BatchNormBatchNorm的推理(Inference)过程BatchNorm的好处tensorflow中的BN训练样本整体流程问题机器学习领域有个很重要的假设:IID独立同分布假设,...原创 2020-01-07 22:42:03 · 4468 阅读 · 1 评论 -
深度学习(10)ablation experiments
有一点像控制变量法的感觉。因为作者提出了一种方案,同时改变了多个条件/参数,他在接下去的消融实验中,会一一控制一个条件/参数不变,来看看结果,到底是哪个条件/参数对结果的影响更大。Ablation experiment就是用来告诉你或者读者整个流程里面的关键部分到底起了多大作用,就像Ross将RPN换成SS进行对比实验,以及与不共享主干网络进行对比,就是为了给读者更直观的数据来说明算法的有效...原创 2020-01-07 16:45:43 · 1947 阅读 · 0 评论 -
深度学习(9)神经网络训练中Epoch、Batch Size和iteration
深度学习(9)梯度下降EPOCHSBATCH SIZEiteration你肯定经历过这样的时刻,看着电脑屏幕抓着头,困惑着:「为什么我会在代码中使用这三个术语,它们有什么区别吗?」因为它们看起来实在太相似了。梯度下降为了理解这些术语有什么不同,你需要了解一些关于机器学习的术语,比如梯度下降,以帮助你理解。这里简单总结梯度下降的含义…梯度下降:这是一个在机器学习中用于寻找较佳结果(曲线的最...原创 2020-01-07 16:22:04 · 2263 阅读 · 0 评论