深度学习
文章平均质量分 62
风可。
机器视觉、深度学习、数据挖掘
展开
-
【机器学习并行计算】1 MapReduce
同步计算原创 2022-11-18 21:13:52 · 1095 阅读 · 0 评论 -
【机器学习并行计算】2 parameter server参数服务器
ps原创 2022-11-18 21:12:41 · 924 阅读 · 0 评论 -
算法的三种境界
看山是山,看水是水看山不是山,看水不是水看山还是山,看水看是水第一重境界,刚了解算法是什么,知道哪个模型可以用在哪个任务上。第二重境界,学会了不同模型之间的迁移使用,知道一个模型不仅仅用在一个任务上,而是可以相互迁移,比如分割模型也可以用在关键点检测上。第三重境界,理解了各个算法的本质,而不止停留在各种连接或结构上面,看到一个模型的时候可以看到模型的最细微的结构,所有的模型在眼中只是一个个最本质的东西而已。模型和模型之间已经没有了差别。就好像各个物质都是原子组成的结构而已,了解了原子的性质,.原创 2022-03-26 13:26:24 · 536 阅读 · 0 评论 -
deepWalk,GCN,graphSAGE,EGES,transformer各种方法异同点
deepWalk,GCN,graphSAGE,EGES,transformer各种图相关方法异同点1 deepWalk2 GCN3 graphSAGE4 EGES5 transformer20220324夜。知识点串一串,形成方法论,理解算法本质。此处仅举例了图或序列相关的算法。1 deepWalkrandomWalk + word2vec2 GCN领域矩阵+embedding矩阵+权重矩阵3 graphSAGErandomWalk采样+层次聚合+f+负采样,最终loss根据任务来设计。4原创 2022-03-24 23:25:16 · 1536 阅读 · 0 评论 -
(重要) tensorflow 2.0 functional API
https://tensorflow.google.cn/guide/keras/functional?hl=zh_cn1. 使用 functional API 流程1. 创建输入节点img_inputs = keras.Input(shape=(32, 32, 3))数据的形状设置为 784 维向量。由于仅指定了每个样本的形状,因此始终忽略批次大小(batch size)。2. 创建层x = layers.Dense(64, activation="relu")(inputs)x = la原创 2021-04-27 16:59:53 · 456 阅读 · 0 评论 -
[NLP] Doc2Vec
Doc2Vec Model1 Review: Bag-of-words此模型将每个文档转换为固定长度的整数向量。例如,给定句子:John likes to watch movies. Mary likes movies too.John also likes to watch football games. Mary hates football.模型输出向量:[1, 2, 1, 1, 2, 1, 1, 0, 0, 0, 0][1, 1, 1, 1, 0, 1, 0, 1, 2, 1,原创 2021-03-02 17:04:10 · 189 阅读 · 0 评论 -
机器视觉--- CSPNet对backbone的改进方式
这篇文章主要提出了几个改进网络结构的方式,降低计算量并保持精度。Cross Stage Partial DenseNet跨阶段其实就是把特征图,按照channel分成两半,然后一半经过dense模块,另外一半和dense模块的输出concat一下,以此来减少计算量。其他的细节我觉得都是实验出来的,实验结果好然后解释一番。transition模块这个模块在densenet里面定义,其实很简单,包括:transition layer模块:BN+Relu+Conv(11)(filternum:θm原创 2020-11-17 16:41:03 · 822 阅读 · 1 评论 -
关键点检测---CPN, Cascaded Pyramid Network for Multi-Person Pose Estimation
Cascaded Pyramid Network1 网络结构2 核心思想3 代码3.1 构造网络3.2 heatmap生成1 网络结构2 核心思想联级网络结构;coarse-to-fine(由粗到细)的思想;难关键点挖掘。3 代码3.1 构造网络fpn的横向连接是要加bn、激活和bias的。 上采样以后的卷积是不加bn和激活的def create_global_net(blocks, is_training, trainable=True): """global net""原创 2020-11-15 14:24:05 · 487 阅读 · 0 评论 -
全连接网络的设计--- 具有注意力机制的多层感知机(Deep Interest Network)
这是一篇阿里做点击率预估的文章。点击率预估用的数据通常是一些特征数据,包括一些历史行为数据、属性数据等。这里主要讲网络的设计,所以直接看网络结构:网络先看图片的左边的网络,这是一个非常普通的结构,没有加注意力(attention)结构。可以看到这个网络包括这些东西:group wise,即特征分组,然后分组提取特征,最后做concat;这里看不到的,将系数向量转换为embedding 向量。通过pooling来讲长度不固定的向量,转换到固定长度的向量。右边的网络增加了注意力模块。通过原创 2020-10-16 18:24:14 · 2996 阅读 · 0 评论 -
全连接网络的设计---深度特征交叉网络 DCN (Deep & Cross Network)
深度特征交叉网络之前常常研究CNN的网络结构,却不知道多层感知机(MLP)的设计也有很多讲究。可以设计出很多不同的网络。对于传统的分类算法来说,输入数据通常是一个一维的向量,向量中的每个值都是一个特征,这时候可以选择的分类算法很多,svm,逻辑回归,决策树,多层感知机等。多层感知机也是用的比较多的方法,这里介绍一个多层感知机的一个改进。加入一个深度特征交叉网络。如下图黄色单元所示:可以看到有个公式:整个核心就是这个公式。x0是一个列向量,其中的主要运算可以看成:x0和自己的转置进行相乘(矩原创 2020-10-16 14:57:59 · 4118 阅读 · 0 评论 -
pytorch基础操作
pytorch基础操作1. 梯度计算2. 反向传播3. 加载numpy数据4. 数据流:dataset,dataloder5. 自定义dataset6. 加载预训练参数7. 保存和加载模型引用1. 梯度计算# Create tensors.x = torch.tensor(1., requires_grad=True)w = torch.tensor(2., requires_grad=True)b = torch.tensor(3., requires_grad=True)# Build原创 2020-07-31 12:26:02 · 184 阅读 · 0 评论 -
目标检测(anchor-free) --- FCOS: 全卷积单阶段目标检测
全卷积单阶段目标检测FCOS: Fully Convolutional One-Stage Object Detection基于anchor的目标检测的缺点一些anchor-free框架的缺点FCOS的关键概念center-ness实验部分还没看,以后有空再看引用FCOS: Fully Convolutional One-Stage Object Detection取fullyz convol...原创 2020-04-30 00:24:37 · 867 阅读 · 0 评论 -
目标检测--通过增加细节信息通道提高包围框的回归精度(PANet)
1 FPN对细节信息的损失在目标检测中包围框的回归是一个比较常用的方法,例如R-CNN、FPN等都是用回归来预测包围框。我们知道,回归坐标比较需要底层(low-level)的细节信息,相对来说语义信息对目标的分类起更大的作用。而很多框架进行坐标回归的时候往往是在比较高层(high-level)的特征图像进行。例如FPN(如下图a部分),我想要到达P5,我们需要经过整个backbone,假设是...原创 2020-01-22 14:19:24 · 1345 阅读 · 0 评论 -
机器视觉--谈谈图像分割
之前一直做分割,做了一年多了,从2d到3d,但是博客是最近开始写的,然后最近更新的都是检测部分,检测最近才开始做的,所以记录和博客会多一点,其他有些场景的应用也都是边看论文边记录的。这里简单的说一下分割的几大关键点:多尺度,分割的目标有大有小;语义信息和细节信息的把握,这两点总是对着干;相应的也就是高层特征和底层特征的融合问题。感受野与多尺度的关系;如何保留分割中的细节信息;类间相似...原创 2019-11-26 23:43:09 · 1258 阅读 · 0 评论 -
目标检测--RetinaNet做数据部分(anchor制作)
制作label,并计算loss。首先理一下网络输出的shape,和数据label的shape。再看一下计算loss的时候应该怎么把数据转换成容易计算的形式。1 shape1.1 网络输出的shape下图表示分类分支预测输出的feature map。 格子表示featuremap上的像素。可以发现其实featuremap的每一层是预测种类别的信息,我们可以假设有四类别的信息,即x,y,w,h...原创 2019-11-26 23:26:06 · 1229 阅读 · 0 评论 -
目标检测--RetinaNet代码实现的细节
最近再自己实现retinanet,从写anchor,到网络,再到loss,中间也遇到了不少的一些实现上的疑惑,目前已经跑通和收敛。现记录一下实现过程中遇到的问题及其实现细节。代码部分黏贴了一些keras版本retinanet, 最后实现loss部分参考了这个。loss实现的时候一定要注意分母是除以正样本的数量。最开始的时候以为自己最大的问题在loss,其实是网络部分写错了,因为我是用tenso...原创 2019-11-26 22:59:48 · 2221 阅读 · 0 评论 -
深度学习--深度学习术语表
---- from《Deep Learning with PyTorch》Sample or input or data point: These mean particular instances of training a set. In our image classification problem seen in the last chapter, each image can b...原创 2019-11-12 19:40:04 · 916 阅读 · 0 评论 -
pytorch--自定义loss(-log BinaryCrossEntropy FocalLoss)
负log loss;binary crossentropy;focal loss;网上找到的loss写的都普遍复杂,我自己稍微写的逻辑简单一点。if inputs.is_cuda and not self.alpha.is_cuda: self.alpha = self.alpha.cuda()focal lossfocal loss仔细实践起来可以分为两...原创 2019-11-12 16:29:46 · 882 阅读 · 0 评论 -
深度学习--新的激活函数Mish
import torchimport torch.nn.functional as Ffrom torch import nnclass Mish(nn.Module): ''' Applies the mish function element-wise: mish(x) = x * tanh(softplus(x)) = x * tanh(ln(1 + exp(...原创 2019-11-11 17:54:08 · 1773 阅读 · 0 评论 -
CV-笔记-RetinaNet和Focal Loss
1 Focal Loss文章的题目是Focal Loss for Dense Object Detection,密集目标检测。主要还是解决那些和目标没有交集的anchor的分类,这些anchor是最简单的负样本,但是他们数量巨多。样本不平衡:对于RPN来说大部分anchor都是负样本,对于yolo来说大部分格子都是负样本。两阶段目标检测训练的最后的分类部分通常都是稀疏的,什么意思呢,firs...原创 2019-11-01 17:59:42 · 489 阅读 · 4 评论 -
CV-笔记-重读特征金字塔网络 (FPN)
对于网络的卷积特征的几个重要理解:但由于深度不同,导致了不同层较大的语义差异。高分辨率图的低层特征损害了其对目标识别的表征能力。语义差异:语义差异就说对目标的类别的识别的能力的差异,低层特征主要是一些边缘,形状等交基础的特征,对整个物体的类别识别帮助不大,而高层特征可能是更加具体的特征,已经很能反映整个是什么物体了,所以底层特征语义较差。利用卷积神经网络特征层次结构的金字塔形状,同时构建一...原创 2019-10-31 15:06:11 · 683 阅读 · 0 评论 -
CV-笔记-重读YOLO目标检测系列 v2
哎,看下来 yolo v1 v2总感觉作者写文章一般般,写的不清晰。yolo v2确实复杂!anchor尺寸设置不像Faster R-CNN里面一样使用手动设置anchor的尺寸,这里使用k-means来进行聚类,例如我们要五种类型的anchor,那么就聚为5类,那么聚类中心的尺寸就是我们的anchor尺寸。但是这里的聚类距离选择的不是欧式距离,而是1-IOU(box, centroid)作...原创 2019-10-30 15:43:51 · 266 阅读 · 0 评论 -
CV-笔记-重读YOLO目标检测系列 v1
将对象检测定义为一个回归问题,回归到空间分离的边界框和相关的类概率。与最先进的检测系统相比,YOLO会产生更多的定位错误,但不太可能预测背景上的误报less likely to predict false positives on background(假阳少)都看做一个回归问题,所以不需要复杂的pipeline。titan x gpu实现每秒150帧。yolo是看整张图片进行预测的,相...原创 2019-10-29 20:48:57 · 425 阅读 · 0 评论 -
CV-笔记-重读Fast R-CNN的ROI pooling
Fast R-CNN主要是使用了一个ROI Pooling操作来对候选区域进行分类和包围框的微调。这里主要说明一下ROI pooling是怎么做的,主要包括:原图上的ROI坐标如何映射到feature map上?ROI Pooling是如何做?ROI Pooling的梯度反向传播是怎么做的?那么多的ROI Pooling做完以后是怎么进入到全连接层进行训练的?正负样本怎么制作?lo...原创 2019-10-29 15:06:22 · 404 阅读 · 0 评论 -
CV-笔记-重读Faster R-CNN即region proposal network(RPN)区域建议网络
Faster R-CNN主要是讲区域建议网络,而ROI pooling部分还是在Fast R-CNN里面介绍的。RPN region proposal network利用网络产生region proposal(区域建立,候选区域),在网络的最后一层增加几个卷积层在一个固定的网格中回归包围框和目标分数来构建RPN。交替训练region proposal和object detection。re...原创 2019-10-28 23:13:54 · 3516 阅读 · 0 评论 -
CV-Paper-数据增强-Learning to Generate Synthetic Data via Compositing
20191024,今天是程序员日,天气不错。这是一篇做数据增强的文章。1 简介传统的图像增强方法一般是对图像做一些转换,另外一种较新的方法就是合成数据。主要思想是合成一些图片,加入到训练中,从而提高检测和分类的精度。这里的合成是指将目标和背景结合。例如我把另外一张图片里面的人抠出来,放到另外一个背景图片里面去,就好像本来是在室内的人,抠出来放到一个室外的照片里面去。这样做的好处是增加了图片...原创 2019-10-24 18:08:26 · 1004 阅读 · 2 评论 -
CV-Paper-增量学习-Large Scale Incremental Learning
0 简介就简单的说明一下好了,首先是使用蒸馏学习,然后再利用验证集来学习一个简单的线性变换 ax + b 来减少偏差。这里是把验证集也拿过来训练了,虽然只是学习一个简单的线性变换,因为这个线性变换只有两个参数,所以需要的数据量非常少,虽然这个变换很简单,但是非常有效的提高精度。文章中说的偏差指的是增量学习的精度和全部数据一起训练的精度的差距。1 什么是偏差偏差就是增量学习的精度和用全部数...原创 2019-10-22 21:31:53 · 453 阅读 · 0 评论 -
CV-笔记-增量学习incremental learning
又是一种深度学习的学习策略。自然学习(Natural learning)系统本质上是渐进的,新知识是随着时间的推移而不断学习的,而现有的知识是保持不变的。现实世界中的许多计算机视觉应用程序都需要增量学习能力。例如,人脸识别系统应该能够在不忘记已学过的面孔的情况下添加新面孔。然而,大多数深度学习方法都存在灾难性的遗忘——当无法获得过去的数据时,性能会显著下降。旧类数据的缺失带来了两个挑战:(a)...原创 2019-10-22 21:28:42 · 1587 阅读 · 0 评论 -
CV-Paper-主动学习-Learning Loss for Active Learning
1 简介主动学习,即在拥有少部分监督数据的情况下,主动的去选择一部分对训练模型有较大提高的未标注数据,然后对选择出来的数据进行标注,标注后加入到训练集进行训练。为什么这么做的,我们把数据都标注一下不行吗?当然可以,但是标注是要时间和金钱的,我们希望选择更有助于模型提高的数据先进行标注。如下图所示:以往的研究结果表明,主动学习实际上降低了标注成本。最开始提出主动学习的方法是选择出不确信的数据进...原创 2019-10-22 21:27:44 · 2275 阅读 · 3 评论 -
cv-笔记-主动学习active learning的思想
数据不断涌入,但深度神经网络仍然对数据如饥似渴。实证分析表明,就训练数据的规模而言,近期深度网络的表现尚未达到饱和。因此,从半监督学习到非监督学习的学习方法,以及弱标记或未标记的大规模数据都受到关注。但是,在数据量一定的情况下,半监督或无监督学习的性能仍然与全监督学习的性能有一定的差距。标注数据的比例越高,性能越好。这就是为什么我们要忍受注释的劳动和时间成本。主动学习通过一定的算法查询最有用...原创 2019-10-22 21:24:00 · 681 阅读 · 0 评论 -
CV-笔记-深度学习模型压缩
在不降低或者是不大幅度减少精度的条件下,目前的模型压缩方式有:知识蒸馏;量化稀疏原创 2019-10-22 21:22:51 · 302 阅读 · 0 评论 -
CV-笔记-图像质量评价Image quality assessment IQA简介
2019年10月10日1 简介图像质量评价(Image quality assessment,IQA)按照是否有参考图像可以分为三种:1. 有参IQA,2.半参IQA,3. 无参IQA。有参图像质量评价虽然效果很好,但是前提是要有一个参考图像,也就是说一张质量好的图像作为参考,然后给评价的图像进行打分,而且参考图像和被打分的图像是要同一个图。但是在某些场景下参考图像是比较难获得的。在测试图...原创 2019-10-22 21:22:07 · 3049 阅读 · 4 评论 -
CV-Paper-超分辨率-Image super-resolution using a dilated convolutional neural network
Image super-resolution using a dilated convolutional neural network这是一篇很有意思的文章,首先他的应用场景是超分辨率,然后他用到的网络结合了很多优秀的结构,通过这些优秀的结构解决了很多超分辨中的问题。而且这个网络非常简单,并且很优雅,让人流连忘返。文章提出的网络主要有以下几个部件组成:空洞卷积(或叫扩张卷积,dilate...原创 2019-10-22 21:17:45 · 436 阅读 · 0 评论 -
CV-Paper-文字检测-Character Region Awareness for Text Detection
Character Region Awareness for Text Detection 基于字符识别的文字检测这篇文章是利用关键点检测的思想来进行文字检测。检测单个字符,并且识别出哪些字符是组成文字的,这样就可以检测出一组组文字。以前的一些方法都是检测word-level的bounding box,但是这样会遇到一些难点,例如文字是弯曲的,不规则的,或则是特别长的。如果是基于charact...原创 2019-10-22 21:11:58 · 704 阅读 · 0 评论 -
CV-Paper-文字检测-Shape Robust Text Detection PSENet
Shape Robust Text Detection with Progressive Scale Expansion Network这篇文章是利用分割方法来做文字检测,主要克服了弯曲的文字区域检测问题。所以这篇文章叫做形状鲁棒性的文字检测。主要有以下几个重点思想:利用分割方法来做检测,提高了对非矩形文字区域检测的鲁棒性;利用Progressive Scale Expansion方法实...原创 2019-10-22 18:06:24 · 1043 阅读 · 0 评论 -
Early stopping 提前停止
Early stoppingFrom Wikipedia, the free encyclopediaIn machine learning, early stopping is a form of regularization used when a machine learning model (such as a neural network) is tr转载 2016-10-31 14:50:06 · 2551 阅读 · 0 评论 -
正则化方法:防止过拟合,提高泛化能力
本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法。(本文会不断补充)正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training d转载 2016-10-31 13:50:46 · 489 阅读 · 0 评论