深度学习
文章平均质量分 86
BlackEyes_SY
在不被人注意的角落里起飞
展开
-
会议 or 期刊
计算机视觉会议A类ICCV: International Conference on Computer VisionCVPR: International Conference on Computer Vision and Pattern RecognitionACM MM: ACM International Conference on MultimediaB类ECCV: European Co...原创 2018-02-09 19:11:23 · 301 阅读 · 0 评论 -
loss函数汇总
文章目录BCE lossCE lossFocal lossBCE lossb这里指的是binary,二分类交叉熵损失。在使用BCELoss时需要在该层前面加上Sigmoid函数,公式如下:缺点:正类别是训练的时候更加关注的部分,而错分的负类别没有被关注。???https://www.zhihu.com/question/422946096/answer/1541228837CE lossCrossEntropyLoss,交叉熵损失。Focal loss何凯明大佬提出的。优点:它更加关注难样原创 2021-12-12 00:53:13 · 480 阅读 · 0 评论 -
常见损失loss汇总
文章目录回归模型的损失函数L1正则损失函数(即绝对值损失函数)L2正则损失函数(即欧拉损失函数)Pseudo-Huber 损失函数分类模型的损失函数Hinge损失函数两类交叉熵(Cross-entropy)损失函数加权交叉熵损失函数Sigmoid交叉熵损失函数Softmax交叉熵损失函数回归模型的损失函数L1正则损失函数(即绝对值损失函数)L1正则损失函数是对预测值与目标值的差值求绝对值,公式如下:L(Y,f(X))=∣Y−f(X)∣L(Y,f(X))=\left | Y-f(X) \right |原创 2020-05-14 11:01:32 · 2613 阅读 · 0 评论 -
蒸馏Knowledg Distilling
文章目录蒸馏基础知识Distilling the Knowledge in a Neural Network 2015 HintonDeep mutual learning蒸馏基础知识Distilling the Knowledge in a Neural Network 2015 Hinton什么是知识蒸馏:知识蒸馏中的"知识",其实指的就是对于网络模型中参数权重的一些抽取/迁移的操作。知识蒸馏的作用:模型压缩。模型压缩一般有什么其他的方法1、模型剪枝(Model Pruning)1.原创 2021-12-12 00:39:03 · 556 阅读 · 0 评论 -
论文阅读---推荐、广告、增长
文章目录Embedding《Discriminative deep random walk for network classification》2016《YouTube-Deep Neural Networks for YouTube Recommendations》2016《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》2018 阿里Embedding《Discriminative deep ra原创 2021-11-24 00:47:29 · 2204 阅读 · 1 评论 -
推荐-精排-多任务模型
文章目录多任务多任务建模中需要注意的问题shared-bottom其他结构样本Loss加权ESMMAITMMMOE(MOE)十字绣网络闸式网络ple(cgc)star信息选择cea多任务的使用多任务多任务建模中需要注意的问题1、如果子任务差异很大,往往导致多任务模型效果不佳。2、不同任务的loss大小不一样,需要调整loss的权重。shared-bottom优点:这种结构本质上可以减少过拟合的风险。浅层参数共享,互相补充学习,任务相关性越高,模型的loss可以降低到更低。缺点:但是效果上可能受原创 2021-11-15 21:15:47 · 5268 阅读 · 0 评论 -
CNN框架演进及特点
文章目录CNN神经网络的演化过程LeNetDenseNetAlexNetNNGooleNetInception v11x1的卷积核有什么用呢?Inception V3VGGResNetCNN神经网络的演化过程Hubel&Wiesel |Neocognitron | LeCun1989 | LeNet |增加dropout、relu AlexNet |多种演化方向网络加深 增强卷积模块原创 2020-09-23 16:12:48 · 441 阅读 · 0 评论 -
RNN及LSTM原理
文章目录RNN为什么需要RNN(循环神经网络)RNN的结构及变体重要变体之Encoder-DecoderRNN的训练方法—BPTTRNN的梯度消失梯度爆炸问题LSTM长期依赖(Long-Term Dependencies)问题LSTM网络LSTM变体RNN为什么需要RNN(循环神经网络)们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够原创 2020-05-10 12:38:50 · 3395 阅读 · 0 评论 -
DNNLinear组合分类器实战
文章目录在Census Income Data Set上训练训练集特征input_fnmodeltrain_and_evalmain在自己数据集上训练在Census Income Data Set上训练训练集训练数据是Census Income Data Set该数据集包含48000条样本,其中属性有年龄(age)、职业(occupation)、教育(education)和收入(incom...原创 2020-04-08 13:02:24 · 1037 阅读 · 0 评论 -
DNNLinear组合分类器的使用 & Feature column
文章目录DNNLinearCombinedClassifier__init__trainevaluatepredictFeature column1.numeric_columns(数值列)2.bucketized_column(分桶列)3.categorical_column_with_identity(类别标识列)4.Categorical vocabulary column(类别词汇表)4....原创 2020-04-08 09:07:59 · 1637 阅读 · 0 评论 -
分类评价指标、目标检测评价指标(AUC,IOU,mAP等)
文章目录定位准确率IOU识别精度precisionrecallAPmAPP-R曲线速度定位准确率IOU定位准确率可以通过检测窗口与我们自己标记的物体窗口的重叠度,即交并比,即Intersection-Over-Union(IOU)进行度量。设标记窗口为 A ,检测窗口为 B ,则 IOU 的计算公式如下:IOU=A⋂BA⋃BIOU=\frac{A\bigcap B}{A\bigcup B...原创 2020-03-31 20:58:20 · 8510 阅读 · 0 评论 -
目标检测
文章目录目标检测技术的演变:目标检测评估方法:rcnnSelective SearchSPP Net目标检测技术的演变:RCNN->SppNET->Fast-RCNN->Faster-RCNN目标检测评估方法:检测评价函数 intersection-over-union ( IOU )IOU就是模型预测的bounding box与标记bounding box的重合率r...原创 2020-03-25 20:46:45 · 814 阅读 · 0 评论 -
图像相关数据集
文章目录PASCAL VOCCIFAR-10CIFAR-100ImageNetPASCAL VOCPASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge。该挑战的主要目的是识别真实场景中一些类别的物体。在该挑战中,这是一个监督学习的问题,训练集以带标签的图片的形式给出。这些物体包括20类:Person: per...原创 2020-03-24 14:18:02 · 1510 阅读 · 0 评论 -
word2vec与词嵌入
文章目录为什么需要做词嵌入独热编码词嵌入CBOW(Continuous Bag-of-Words)CBOW改进Skip-Gram词嵌入:将一个单词(word)转换为一个向量(vector)表示。word2vec:是实现词嵌入的一些算法的集合。为什么需要做词嵌入独热编码独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄...原创 2020-03-18 20:26:05 · 1316 阅读 · 0 评论 -
word2vec tf实战
文章目录下载语料库制作词表生成词对建立模型下载语料库# 第一步: 在下面这个地址下载语料库def maybe_download(filename, expected_bytes): """ 这个函数的功能是: 如果filename不存在,就在上面的地址下载它。 如果filename存在,就跳过下载。 最终会检查文字的字节数是否和expected_bytes相同。 """ ...原创 2020-03-22 18:35:07 · 258 阅读 · 0 评论 -
caffe常见错误
*** Error in `../../build/tools/caffe.bin': malloc(): memory corruption (fast): 0x0000000006598790 ****** Aborted at 1498809502 (unix time) try "date -d @1498809502" if you are using GNU date ***P原创 2017-06-30 16:59:36 · 1940 阅读 · 0 评论 -
反卷积与卷积
反卷积与卷积:https://buptldy.github.io/2016/10/29/2016-10-29-deconv/caffe 卷积与反卷积后维度计算方式:对于convolution过程:output = (input + 2 * p - k) / s + 1;对于deconvolution过程:output = (input - 1) * s + k - 2 * p;...原创 2018-07-19 12:35:05 · 409 阅读 · 0 评论 -
Caffe 中Crop 层详解
在Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切。下面我们举一个例子来说明如何使用Crop 层。 Caffe中的数据是以 blobs形式存在的,blob是四维数据,即 (Batch size, number of Chennels, Height, Width)=(N, C, H, W)(0,1,2,3)。Crop层的输入...原创 2018-07-19 15:46:27 · 2235 阅读 · 0 评论 -
Caffe 中Eltwise层详解
Eltwise : element-wiseeltwise layer是caffe提供的按元素操作层。它支持3种基本操作: 1. PROD:按元素乘积 2. SUM:按元素求和(默认) 3. MAX:保存元素大者进行何种操作可以在layer里面通过定义EltwiseOp : x #x:=0,1,2 除此之外,该层还定义了 coeff 参数,该参数只对SUM操作起作用。 最后,caf...原创 2018-07-19 16:01:11 · 5421 阅读 · 2 评论 -
Caffe CNN特征可视化
import numpy as npimport matplotlib.pyplot as pltimport osimport caffeimport sysimport pickleimport cv2caffe_root = '../' deployPrototxt = '/xxx/xxx/caffe/models/bvlc_reference_caffenet/d...转载 2018-07-19 17:24:47 · 208 阅读 · 0 评论 -
caffe之create_lmdb.sh
#!/usr/bin/env shMY=/dev/watermark_improvementTRAIN_DATA_ROOT="/"VAL_DATA_ROOT="/"echo "Create train lmdb.."rm -rf $MY/img_train_lmdb/opt/caffe/build/tools/convert_imageset \--shuffle \--res...原创 2019-01-10 21:18:00 · 274 阅读 · 0 评论 -
过拟合、正则
规则项的作用:(一)监督机器学习就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差原创 2017-04-02 20:06:01 · 782 阅读 · 0 评论 -
梯度下降
优点:在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,这使得梯度下降法能在很多大规模数据集上得到应用。缺点:在远离极小值的地方下降很快,而在靠近极小值的地方下降很慢。随机梯度下降SGD:优点:训练速度快;缺点:准确度下降,并不是全局最优;不易于并行实现。即:会丢失很多训练集的信息,可能不能达到最优解,只能达到局部最优解批量梯度下降法B原创 2017-04-02 21:19:57 · 332 阅读 · 0 评论 -
CNN:weight decay,momentum,batch normalization
一、weight decay(权值衰减)的使用既不是为了提高收敛精确度也不是为了提高收敛速度,其最终目的是防止过拟合。在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。二、momentum是梯原创 2017-06-29 14:40:21 · 945 阅读 · 0 评论 -
Understanding Neural Networks Through Deep Visualization实现
这是Jason Yosinski, Jeff Clune, Anh Nguyen, Thomas Fuchs, and Hod Lipson在2015年出版在Computer Science上的一篇论文,主要讲述的是卷积神经网络可视化。https://github.com/yosinski/deep-visualization-toolbox 为本论文的公开代码,先讲述一下代码的运行环境及步骤,随原创 2016-06-06 17:07:51 · 4529 阅读 · 5 评论 -
Ubuntu14.04 上配置Caffe
网上有很多caffe教程,本文重点在配置过程容易出错的地方,只针对像我一样的小菜鸟,大神绕行感谢自己在配置caffe时,大神们的分享安装依赖库(一)$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler原创 2016-06-06 16:32:50 · 2698 阅读 · 0 评论 -
Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images
在卷积神经网络如日中天的现在,重要会议上的论文自然成了广大学者研究的对象。苦苦寻觅,然而并不能搜到“大家们”对论文的见解。痛定思痛,决定对自己看过的论文写点小感。只是个人看法,如有瑕疵,欢迎指正。一是为了督促自己看论文要仔细认真,二是希望有人指正自己的错误。Abstract 深度神经网络(DNNs)在各种模式识别任务中取得了一定的成就,其中最显著的是视觉分类问题。鉴于,DNNs原创 2016-05-24 18:48:45 · 1285 阅读 · 0 评论 -
Understanding Neural Networks Through Deep Visualization论文
这篇论文提出两种可视化方法。 第一种:即本文中的2. Visualizing Live Convnet Activations部分,直接画出激活函数的值,这种方法比较简单,没有什么可研究的。 第二种:即本文中的3. Visualizing via Regularized Optimization部分,是本篇论文的重点。本文构建了一个目标函数如下:原创 2016-09-23 12:04:01 · 2523 阅读 · 3 评论 -
卷积神经网络可视化套路
类型一:公式类型此种类型,无非是建立一个可视化模型,公式有两部分组成,前半部分是主要部分,后半部分是正则项或类似正则项的东西。《Understanding Neural Networks Through DeepVisualization》《Deep Inside Convolutional Networks:Visualising Im原创 2016-06-23 16:17:35 · 1857 阅读 · 0 评论 -
caffe之epoch和iteration
epoch:使用整个训练样本集传播一次.一次传播 = 一次前向传播 + 一次后向传播。但是考虑到内存不够用的问题,训练样本们往往并不是全都一起拿到内存中去训练,而是一次拿一个batch去训练,一个batch包含的样本数称为batch size。iteration:使用batch size个样本传播一次。同样,一次传播=一次前向传播+一次后向传播。batch:个一定size的图片原创 2017-03-13 10:22:47 · 1713 阅读 · 0 评论 -
LRN
LRN全称为Local Response Normalization,即局部响应归一化层,具体实现在CAFFE_ROOT/src/caffe/layers/lrn_layer.cpp和同一目录下lrn_layer.cu中。 该层需要参数有:norm_region: 选择对相邻通道间归一化还是通道内空间区域归一化,默认为ACROSS_CHANNELS,即通道间归一化;local_si原创 2017-07-24 16:44:51 · 14024 阅读 · 0 评论 -
如何避免梯度爆炸梯度消失
以sigmoid函数为例子,sigmoid函数使得输出在[0,1]之间。事实上x到了一定大小,经过sigmoid函数的输出范围就很小了,参考下图如果输入很大,其对应的斜率就很小,我们知道,其斜率(梯度)在反向传播中是权值学习速率。在深度网络中,如果网络的激活输出很大,其梯度就很小,学习速率就很慢。假设每层学习梯度都小于最大值0.25,网络有n层,因为链式求导的原因,第一层的梯度原创 2017-07-30 15:31:49 · 8623 阅读 · 0 评论 -
GPU对CNN计算的加速原理到底是怎样的?
具体到cnn,利用gpu加速主要是在conv(卷积)过程上。conv过程同理可以像以上的向量加法一样通过cuda实现并行化。具体的方法很多,不过最好的还是利用fft(快速傅里叶变换)进行快速卷积。NVIDIA提供了cufft库实现fft,复数乘法则可以使用cublas库里的对应的level3的cublasCgemm函数。再具体到各大框架是如何使用gpu对cnn进行加速的,目前主流的做法是使用NVI原创 2017-08-09 10:59:41 · 4342 阅读 · 0 评论 -
CNN在应用中,为什么GPU可以有加速效果
CNN在应用中,一般采用GPU加速,请解释为什么GPU可以有加速效果,主要加速算法的哪一个部分?这里默认gpu加速是指NVIDIA的cuda加速。CPU是中央处理单元,gpu是图形处理单元,gpu由上千个流处理器(core)作为运算器。执行采用单指令多线程(SIMT)模式。相比于单核CPU(向量机)流水线式的串行操作,虽然gpu单个core计算能力很弱,但是通过大量线程进行同时计算,在数据量很原创 2017-08-09 11:08:06 · 6719 阅读 · 0 评论 -
CNN之于CV和NLP
自然语言处理是对一维信号(词序列)做操作,计算机视觉是对二维(图像)或三维(视频流)信号做操作。不同:自然语言处理的输入数据通常是离散取值(例如表示一个单词或字母通常表示为词典中的one hot向量),计算机视觉则是连续取值(比如归一化到0,1之间的灰度值)。 为什么CNN用在CV上更得心应手,却不一定适合NLP?要看清这点就要理解CNN的原理。CNN有两个主要特点,区域不变性(locat原创 2017-08-08 21:38:53 · 6348 阅读 · 0 评论 -
BN
Batch Normalization是由google提出的一种训练优化方法。参考论文:Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift BN层的作用是加快网络学习速率 Normalization是数据标准化(归一化,规范化),Batch 可以理解为批量原创 2017-07-30 15:17:52 · 2046 阅读 · 0 评论 -
ReLU Sigmoid and Tanh
ReLU 激活函数:ReLu使得网络可以自行引入稀疏性,在没做预训练情况下,以ReLu为激活的网络性能优于其它激活函数。 数学表达式: y=max(0,x)Sigmoid 激活函数:sigmoid 激活函数在神经网络学习方面,可以将重点特征推向中央区,将非重点特征推向两侧区。 数学表达式: y=(1+exp(−x))−1Tanh 激活函数:Tanh 激活函数使得输出与输原创 2017-08-08 11:49:09 · 1361 阅读 · 0 评论 -
ReLU Sigmoid and Tanh(2)
Sigmoid它能够把输入的连续实值“压缩”到0和1之间。如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.缺点:当输入非常大或者非常小的时候,这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。所以,需要尤其注意参数的初始值来尽量避免saturation的情况。如果你的初始值很大的话,大部分神经元可能都会处在saturation的状态而把gradientkill原创 2017-08-08 18:04:22 · 675 阅读 · 0 评论 -
Visualizing and Understanding Convolutional Networks
这是一篇2013年发表在ECCV上的一篇文章,是纽约大学计算机科学专业两个人发表的。堪称卷积神经网络化可视化鼻祖,由于发表时间较早,网上有很多见解。我想说的是,论文还是看作者原稿,翻译只能做参考,因为有些翻译并不是很准确。并不是作者翻译的不好,而是因为并不是每个英文词都有一一对应的汉语。http://blog.sina.com.cn/s/blog_6caa9fa10101lzcy.html原创 2016-07-08 16:31:27 · 793 阅读 · 0 评论