深度学习
幸运六叶草
个人公众号:“Python技术博文”;关注人工智能,热衷学习IT新技术。
展开
-
CV-目标检测
关于目标检测的博客,有空逐步更新参考【1】一文读懂目标检测AI算法:R-CNN,faster R-CNN,yolo,SSD,yoloV2【2】汇总|目标检测中的数据增强、backbone、head、neck、损失函数原创 2021-03-01 10:05:53 · 267 阅读 · 0 评论 -
最近三年四大顶会深度推荐系统上的18篇论文
导读:本文是“深度推荐系统”专栏的第十篇文章,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文主要根据RecSys 2019中论文《Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches》总结的最近三年四大顶会深度推荐系统上的18个最新算法。欢迎转载,转载请注明出处以及链接,更多关于深度推荐系统优质内容请关注如下频道。知乎专栏:深度转载 2020-12-04 19:32:17 · 1124 阅读 · 0 评论 -
deepFM模型理论和实战
推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模型理论和实践:https://www.jianshu.com/p/152ae633fb00推荐系统遇上深度学习(二)--FFM模型理论和实践:https://www.jianshu.com/p/781cde3d5f3d1、背景特征组合的挑战对于一个基于CTR预估的推荐系统,最重要的是学习到用户点击行为背后隐含的特征组合。在不同的推荐场景中,低阶组合特征或者高阶组合特征可能都会对最终的CTR产生影响。之前介绍的因子分解机(Fact转载 2020-12-04 17:09:14 · 418 阅读 · 0 评论 -
Wide and deep 模型【一】
一、论文概述Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中 [1]。wide and deep 模型的核心思想是结合线性模型的记忆能力(memorization)和 DNN 模型的泛化能力(generalization),在训练过程中同时优化 2 个模型的参数,从而达到整体模型的预测能力最优。结合我们的产品应用场景同 Google Play 的推荐场景存在较多的类似之处,在经过调研转载 2020-12-03 16:19:18 · 1274 阅读 · 0 评论 -
深度可分离卷积
参考:https://www.yanxishe.com/TextTranslation/1639可分离卷积的基本介绍 任何看过MobileNet架构的人都会遇到可分离卷积(separable convolutions)这个概念。但什么是“可分离卷积”,它与标准的卷积又有什么区别? 可分离卷积主要有两种类型:空间可分离卷积(spatial separable c...翻译 2020-01-21 15:11:35 · 2013 阅读 · 0 评论 -
循环神经网络RNN【小记一】
什么是RNN 循环神经网络(Recurrent Neural Networks, RNN)已经被成功的应用于音乐生成、对话生成、图像生成、语音合成和分子设计。不同于传统的前向反馈神经网络(Feedforward Neural Networks, FNNS),RNNS引入了定向循环,可以处理输入之间前后关联的问题。定向循环示图如下: ...原创 2020-01-20 10:09:05 · 934 阅读 · 0 评论 -
谈谈深度学习中的模型集成
前文已经给出了三种可提升模型性能的方法论:残差连接、正则化和深度可分离卷积。本文提出另一种强大的技术是模型集成(model ensembling)。 集成是指将一些列不同模型的预测结果汇集到一起,从而得到更好的预测结果。 集成依赖于这样的假设,即对于独立训练的不同良好模型,他们表现良好的可能是因为不同的原因:每个模型都从略有不同的角度观察数据来做出预测...原创 2020-01-17 15:03:36 · 2597 阅读 · 0 评论 -
深度学习中的超参数优化
构建深度学习模型时,你必须做出许多看似随意的决定:应该堆叠多少层?每层包含多少个单元或过滤器?激活函数应该使用relu还是其他函数?在某一层之后是否应该使用BatchNormalization?应该使用多大的dropout比率?还有很多,这些在架构层面的参数叫做超参数(hyperparameter),以便将其与模型参数区分开来,后者通过反向传播进行训练。 在实践中,经验丰...原创 2020-01-17 10:54:26 · 1094 阅读 · 0 评论 -
让深度学习模型的性能发挥到极致的方法
深度学习的表示瓶颈 在Sequential模型中,每个连续的表示层都构建于前一层之上,这意味着它只能访问前一层激活中包含的信息。如果某一层太小(比如特征维度太低),那么模型将会受限于该层激活中能够塞入多少信息。 你可以通过类比信号处理来理解这个概念:假设你有一条包含一些列操作的音频处理流水线,每个操作的输入都是前一个操作的输出,如果某个操作将信号裁剪到低频范...原创 2020-01-16 17:23:19 · 569 阅读 · 0 评论 -
resnet中的残差连接
本文转自微信公众号“言有三”:【模型解读】resnet中的残差连接,你确定真的看懂了?一、残差连接想必做深度学习的都知道skip connect,也就是残差连接,那什么是skipconnect呢?如下图上面是来自于resnet【1】的skip block的示意图。我们可以使用一个非线性变化函数来描述一个网络的输入输出,即输入为X,输出为F(x),F通常包括了卷积,激活等操作。...转载 2020-01-16 11:48:32 · 1119 阅读 · 0 评论 -
卷积神经网络中的1x1卷积核的作用
前言在介绍卷积神经网络中的1x1卷积之前,首先回顾卷积网络的基本概念[1]。1. 卷积核(convolutional kernel):可以看作对某个局部的加权求和;它是对应局部感知,它的原理是在观察某个物体时我们既不能观察每个像素也不能一次观察整体,而是先从局部开始认识,这就对应了卷积。卷积核的大小一般有1x1,3x3和5x5的尺寸(一般是奇数x奇数)。卷积核的个数就对应输出的通道数(...转载 2020-01-15 14:59:28 · 1982 阅读 · 0 评论 -
卷积神经网络CNN在序列处理中的应用
众所周知,CNN在机器视觉问题上表现出色,因为它能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效利用数据。 这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让他对序列处理特别有效。时间可以被看做一个空间维度,就像二维图像的高度或宽度。 对于某些序列处理问题,这种一维卷积神经网络的效果可以媲美RNN,而且计算代价通常要...原创 2020-01-13 17:52:50 · 5627 阅读 · 1 评论 -
网络模型中Inception的作用与结构全解析
一 论文下载 本文涉及到的网络模型的相关论文以及下载地址: [v1] Going Deeper with Convolutions, 6.67% test error http://arxiv.org/abs/1409.4842 [v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal ...转载 2020-01-10 14:53:32 · 878 阅读 · 0 评论 -
循环神经网络的高级用法
本文将介绍提高神经网络的性能和泛化能力的三种高级技巧。1)循环dropout(recurrent dropout)。这是一种特殊的内置方法,在循环层中使用dropout来降低过拟合。2)堆叠循环层(stacking recurrent layers)。这会提高网络的表示能力(代价是更高的计算负荷)。3)双向循环层(bidirectional recurrent layer)。将相同的信...原创 2020-01-09 15:44:31 · 1011 阅读 · 0 评论 -
Keras Sequential 顺序模型
Keras Sequential 顺序模型https://keras.io/zh/getting-started/sequential-model-guide/#keras-sequential顺序模型是多个网络层的线性堆叠。你可以通过将网络层实例的列表传递给Sequential的构造器,来创建一个Sequential模型:from keras.models import...原创 2020-01-08 16:02:28 · 593 阅读 · 0 评论 -
一句话版CNN学习
1)机器视觉的主要任务: image classification:即对图片做单一物体识别; object detection:即对图片做多物体识别,同事用方框框柱物体 ; neural style transfer:即用一张图片的内容不变,但风格别另一张图片的风格取代。2)机器视觉面临困难挑战 图片像素多,即数据特征多,导致模型中的参数...原创 2019-12-27 09:31:00 · 413 阅读 · 0 评论 -
卷积神经网络CNN的可视化
通常我们认为深度学习模型是“黑盒”的,即模型学到的表示很难用人类可以理解的方式来提取和呈现。然而对于卷积神经网络来说却不是这样的。CNN学到的表示非常适合可视化,因为CNN本身就是视觉概念的表示。CNN可视化和解释:【本文给出3个层面的可视化】1)可视化卷积神经网络的中间输出(中间激活)有助于理解卷积网络神经连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义。...原创 2019-12-26 14:23:03 · 2274 阅读 · 0 评论 -
小型图像数据集效果优化:使用预训练的CNN
面对解决小型图像数据集,一种常用且非常高效的方法是使用预训练网络。那么什么是预训练网络呢?定义:预训练网络(pretrained network)是一个保存好的网络,之前已经在大型数据集(通常是大规模图像分类任务)上训练好。作用:如果这个原始数据集足够大且足够通用,那么预训练网络学到的特征的空间层次结构可以有效地作为视觉世界的通用模型,因此这些特征可用于各种不通的计算机视觉问题,即...原创 2019-12-24 10:50:38 · 2455 阅读 · 0 评论 -
数据增强
数据增强(data augmentation)在计算机视觉领域是一种非常强大的降低过拟合的技术。计算机视觉在深度学习中之所以过拟合,原因是学习样本太少,导致无法训练出能够泛化到新数据的模型。如果拥有无限的数据,那么模型能够观察到数据分布的所有内容,这样就不会过拟合。数据增强是从现有的训练样本中生成更多的训练数据,其方法是利用多种能够生成可信图像的随机变换来增加(augment)样本。其目标...原创 2019-12-20 09:28:16 · 508 阅读 · 0 评论 -
CNN-[deep learning with python]学习笔记
在学习笔记P20-CNN中已经介绍了CNN的一些知识,这篇主要是补充和更深程度的梳理:上文中提到"从效果上来看,卷积层相比于全连接层减少了参数、实现了参数共享。”即,本质上卷积和全连接的区别是,全连接层从输入特征空间中学习的是全局模式,而卷积层学习到的是局部模式,对于图像来说,学到的就是输入图像的二维小窗口(filter)中发现的模式。这个重要的特性使卷积神经网络具有如下两个性质:...原创 2019-12-19 15:28:00 · 453 阅读 · 0 评论 -
机器学习的四个分支
机器学习是非常宽泛的领域,其子领域的划分非常复杂。机器学习算法大致可分为四大类:1)监督学习2)无监督学习3)自监督学习4)强化学习一、监督学习 监督学习是最常见的机器学习类型。给定一组样本(通常由人工标注),它可以学会将输入数据映射到已知目标【也叫作标注(annotation)】。 近年来广受关注的深度学习几乎都属于监督学习,如,光学字符识别,...原创 2019-12-19 09:30:42 · 5706 阅读 · 0 评论 -
训练IMDB数据集,但是出现"ValueError: Object arrays cannot be loaded when allow_pickle=False"的错误
训练IMDB数据集,但是出现"ValueError: Object arrays cannot be loaded when allow_pickle=False"的错误.解决办法:重新安装numpy imdb支持的numpy版本在1.16.2restart 再执行 就没有问题了代码实现:打开cmdpip install numpy==1.16.2...原创 2019-12-18 10:26:09 · 345 阅读 · 0 评论 -
Keras入门级实战——MNIST手写体识别
手写体识别:这里要解决的问题是,将手写数字的灰度图像(28 像素×28 像素)划分到 10 个类别 中(0 ~ 9)。这个数据集包含 60 000 张训练图像和 10 000 张测试图 像,由美国国家标准与技术研究院(National Institute of Standards and Technology,即 MNIST 中 的 NIST)在 20 世纪 80 年代收集得到。图 2 - 1...原创 2019-12-18 09:57:18 · 489 阅读 · 0 评论 -
Keras入门级简介
Keras是一个Python深度学习框架,可以方便定义和训练几乎所有类型的深度学习模型。最开始Keras是为研究人员开发,其目的就是为了快速市验。Keras具有以下重要特性:1)相同的代码可以在CPU或GPU上无缝切换运行。2)具有用户友好的API,便于快速开发深度学习的原型。3)内置支持卷积网络(用于计算机视觉)、循环网络(用于序列处理)以及二者的任意组合。4)支持任意网络架...原创 2019-12-18 09:29:24 · 644 阅读 · 0 评论 -
神经网络结构拆分理解
训练神经网络主要围绕一下四个方面:1)层,多个层组合成网络(或模型)。2)输入数据和相应的目标。3)损失函数,即用于学习的反馈信号。4)优化器,决定学习过程如何进行。将上述四者的关系可视化为:多个层链接在一起组成了网络,将输入数据映射为预测值。然后损失函数将这些预测值与目标进行对比,得到损失值,用于衡量网络预测值和预测期望结果的匹配程度。优化器使用这个损失值来更新网络的...原创 2019-12-17 17:45:27 · 1582 阅读 · 0 评论 -
张量tensor——神经网络数据的表示
一般来说,当前所有机器学习系统都使用张量作为基本数据结构。张量的核心在于,它是一个数据容器。它包含的数据几乎总是数值数据,因此它是数字的容器。如矩阵,它是二维张量。张量是矩阵向任意维度的推广。【注意:张量的维度(dimension)通常叫做轴(axis)】一、不同维度张量介绍1.1、标量(0D张量)仅包含一个数字的张量叫作标量(scalar,也叫标量张量、零维张量、0D 张量)。在...原创 2019-12-17 16:39:21 · 3688 阅读 · 0 评论 -
CNN中卷积层和池化的作用和理解
承接上文对CNN的介绍[学习笔记P20-CNN],下面来看看一些细节梳理:CNN框架:池化层(pooling layer)也叫做子采样层(subsampling layer),其作用是进行特征选择,降低特征数量,并从而减少参数数量。为什么conv-layer之后需要加pooling_layer?卷积层【局部连接和权重共享】虽然可以显著减少网络中连接的数量,但特征映射组中的神...原创 2019-12-17 11:34:48 · 13585 阅读 · 1 评论 -
学习笔记P20-CNN
学习网址:https://www.bilibili.com/video/av48285039?p=20前言CNN【Convolutional Neural Network,CNN或ConvNet】通常被用在影像处理的问题上,但是并不是说只有CNN才能做影像处理,一般的Neuron Network也可以做这件事。例如做影像分类,通常就是train一个NN,输入一个图片【该图片表示成pix...原创 2019-12-17 11:13:54 · 800 阅读 · 0 评论 -
CNN中padding的作用
padding是增加图片各个边的pixels的数量,具体增加的数量由filter的尺寸和stride大小共同决定。padding的上限是维持feature map大小和原图大小一致。目的是保持feature map不要太小。padding的意义:1)为了不丢弃原图信息2)为了保持feature map大小与原图一致3)为了让更深层的layer的input依旧保持足够大的信息量4...原创 2019-12-17 09:40:24 · 5844 阅读 · 0 评论 -
学习笔记P12——BP算法
学习网址:https://www.bilibili.com/video/av48285039?p=12用gradient descent的方法来train一个neuron network应该怎么做?通常利用BP【Backpropagation】算法。本文主要介绍BP如何让neuron network的training变得有效率。先介绍Gradient Descent的核心过程:设n...原创 2019-12-12 16:19:45 · 440 阅读 · 0 评论 -
学习笔记P11——DL 简介
学习视频网址:https://www.bilibili.com/video/av48285039?p=11Deep Learning 的发展历程:Deep learning 和Machine Learning的过程是一样的,可以总结为三个步骤:对于DL而言,第一步定义一个函数集合就相当于定义一个neuron network。示例,neuron network 的一种...原创 2019-12-12 11:16:22 · 285 阅读 · 0 评论 -
使用matplotlib的函数时报错ValueError: max() arg is an empty sequence
本文链接:https://blog.csdn.net/weixin_42214565/article/details/100113735本文记录学习过程中遇到的问题、我的解决过程以及学习心得,如有错误之处,欢迎指正!最近在学习莫烦pytorch教程时遇到错误:ValueError: max() arg is an empty sequence。运行环境是pycharm2018.3.5,p...转载 2019-12-11 15:18:16 · 3949 阅读 · 0 评论 -
基于tensorflow的LSTM实战:MNIST分类
设置 RNN 的参数¶这次我们会使用 RNN 来进行分类的训练 (Classification). 会继续使用到手写数字 MNIST 数据集. 让 RNN 从每张图片的第一行像素读到最后一行, 然后再进行分类判断. 接下来我们导入 MNIST 数据并确定 RNN 的各种参数(hyper-parameters):import tensorflow as tffrom tensor...原创 2019-12-10 10:50:33 · 448 阅读 · 0 评论 -
ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=.
使用tensorflow训练时报错:ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=.解决办法:tf.nn.softmax_cross_entropy_with_logits(logits = yPredbyNN, labels=Y...原创 2019-12-10 10:34:30 · 410 阅读 · 0 评论 -
浅谈卷积神经网络CNN
卷积神经网络是近些年逐步兴起的一种人工神经网络结构, 因为利用卷积神经网络在图像和语音识别方面能够给出更优预测结果, 这一种技术也被广泛的传播可应用. 卷积神经网络最常被应用的方面是计算机的图像识别, 不过因为不断地创新, 它也被应用在视频分析, 自然语言处理, 药物发现, 等等. 前期最火的 Alpha Go, 让计算机看懂围棋, 同样也是有运用到这门技术.卷积 和 神经网络我们...原创 2019-12-04 10:49:01 · 345 阅读 · 0 评论 -
tensorflow中解决过拟合(overfitting)的方法
Overfitting 也被称为过度学习,过度拟合。 它是机器学习中常见的问题。 举个Classification(分类)的例子。图中黑色曲线是正常模型,绿色曲线就是overfitting模型。尽管绿色曲线很精确的区分了所有的训练数据,但是并没有描述数据的整体特征,对新测试数据的适应性较差。举个Regression (回归)的例子:第三条曲线存在overfitting问题,尽管...原创 2019-12-04 10:05:40 · 1250 阅读 · 0 评论 -
过拟合 (Overfitting)在机器学习和深度学习中的解决方式
学习资料:Tensorflow: dropout教程 PyTorch: dropout教程 Theano: l1 l2 regularization教程解决方法方法一: 增加数据量, 大部分过拟合产生的原因是因为数据量太少了. 如果我们有成千上万的数据, 红线也会慢慢被拉直, 变得没那么扭曲 .方法二:运用正规化. L1, l2 regulariz...原创 2019-12-03 17:01:41 · 323 阅读 · 0 评论 -
李宏毅P1-学习笔记:生成对抗网络GAN(Generative Adversarial Nets)
Generative Adversarial Network (GAN)于2014年提出。论文下载地址:https://arxiv.org/pdf/1406.2661.pdf李宏毅对抗生成网络(GAN)国语教程(2018):https://www.bilibili.com/video/av24011528?from=search&seid=13805566188303016426...原创 2019-11-21 16:38:18 · 1746 阅读 · 0 评论