网络模型

【论文总结】LINE和DEEPWALK方法总结与比较

血红的双手。 提交于 2020-03-17 07:53:58
LINE(large-scale information network embedding) 研究问题: 大规模信息网络嵌入低维向量空间。 模型优点: 1、可适应任意类型的网络:有向、无向、有权、无权。 2、采用一阶相似度和二阶相似度结合 3、边采样优化方法解决了SGD的局限性(边的权值变换很大 时,学习率难以选择,并且权值和乘以梯度导致梯度爆炸) 模型描述: 1、一阶相似度的LINE模型(只用于无向图) 为了模拟一阶相似度,对于每个无向边(i,j),我们定义顶点vi和vj之间的联合概率如下: (sigmoid function,向量越接近,点积越大,联合概率越大。其中,ui表示节点vi对应的向量。) 经验概率可以定义为:(两点之间边的权值越大,经验概率越大) 为了保持一阶相似性,一个简单的办法是最小化下面的目标函数: 我们选择最小化两个概率分布的KL散度,用KL散度代替d(·,·)并省略一些常数,得到: KL散度公式: 只考虑一阶相似度的情况下,改变同一条边的方向对于最终结果没有什么影响。因此一阶相似度只能用于无向图,不能用于有向图。 2、二阶相似度的LINE模型 二阶相似度可以用于 有向图和无向图 。下面是针对有向图的算法(在无向图中,可以将每条边看成是两条方向相反且有相同权重的有向边)。   二阶相似度假设共享邻居的顶点彼此相似。每个顶点扮演两个角色

深度学习系列六:将网络迁移到TensorRT7.0平台

时光怂恿深爱的人放手 提交于 2020-03-17 01:45:59
概述 关于使用TensorRT对网络进行加速的基本工作在 深度学习系列五:使用TensorRT对网络进行加速 中描述很详细了,这里主要记录下在迁移到7.0时,顺便解决了之前ResizeNearestNeighbor这个层在uff模型中无法直接支持必须外挂plugin的问题。 Keras模型转ONNX模型 之前使用6.0时,采用的方案是Keras模型转uff模型,再创建engine,其实从官方文档可以看出来,目前TensorRT对onnx支持更好,它对onnx支持的层是最多的,这样容易理解,毕竟onnx可以由各种模型转化得到,因此本次使用onnx模型建立engine,转化可以使用 keras-onnx库 ,安装也很简单: pip3 install keras2onnx 安装完成后使用api进行转换,非常简单,当然还必须安装tensorflow或者keras: import keras2onnx import onnx # load keras model model = tf . compat . v1 . keras . models . load_model ( model_path ) # convert to onnx model onnx_model = keras2onnx . convert_keras ( model , model . name , target

卷积神经网络

不想你离开。 提交于 2020-03-16 00:09:38
本文转自 http://www.36dsj.com/archives/24006?utm_source=open-open C-层: 卷积层(Convolutional layer ) S-层: 子采样层(Subsampling layer ) 每层包含多个特征平面(Feature Map) 其中的卷积核是需要训练的,卷积层的特点是:特征增强 (映射效果), 降低噪声,平移不变性 CNN功能特性:局部特征提取(感受野,相对位置)(每一个神经元从上一层的局部接受域得到突触输人,因而迫使它提取局部特征。一旦一个特征被提取出来,只要它相对于其他特征的位置被近似地保留下来,它的精确位置就变得没有那么重要了); 特征映射(共享权值、抗变形)(网络的每一个计算层都是由多个特征映射组成的,每个特征映射都是平面形式的。平面中单独的神经元在约束下共享相同的突触权值集,这种结构形式具有如下的有益效果:a.平移不变性。b.自由参数数量的缩减(通过权值共享实现)。), 子采样(分辨率降低,变形敏感度下降)(每个卷积层跟着一个实现局部平均和子抽样的计算层,由此特征映射的分辨率降低。这种操作具有使特征映射的输出对平移和其他形式的变形的敏感度下降的作用。) 自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda

Generative Face Completion

时光毁灭记忆、已成空白 提交于 2020-03-15 12:32:48
文章基本信息 文章来源: CVPR 2017 下载链接: Download paper Download code 摘要 解决问题: 从随机噪声中修复面部缺失的区域。 论文背景: 基于 Patch-based 的图像补全,该类方法主要是从源图像中寻找相似的patch,然后将该 patch 贴到缺失的区域。当源图像中没有类似的区域时,该方法就无法填充看上去合理的洞。 Patch-based 方法的不足:(1) Depend on low-level features; (2) Unable to generate novel objects; 基于 Context Encoder 的图像补全,该方法基于深度学习生成相似的纹理区域,在一定程度上可以补全缺失的区域,而且效果还不错。但是不能够保持局部一致性。Context Encoder方法的不足:(1) Can generate novel objects but fixed low resolution images; (2) Masks region must in the center of image; (3)补全的区域不能保持与周围区域的局部一致性。 论文目的: 传统以复制-粘贴的方式来进行图片补全在背景填充方面效果不错,但在面对填充脸部图片这种目标图片比较独特时却效果不佳。作者于是想用深度生成模型构建一个有效的目标补全算法

翻译与学习:基于深度卷积神经网络的ImageNet分类器

末鹿安然 提交于 2020-03-12 17:09:11
基于卷积神经网络的ImageNet分类器 作者: Alex Krizhevsky-多伦多大学(加拿大) Ilye Sutskever-多伦多大学 Geoffrey E. Hinton-多伦多大学 摘要 我们训练了一个大型的深度卷积神经网络去将2010年ILSVRC挑战杯包含的120万高分辨率图像分类成1000种不同的类别。在测试数据方面,我们取得了远超过去最佳水平的效果,分别为17%和37.5%的top-5和top-1错误率。有着6000万参数和65万神经元的神经网络由5个部分连接Max池化层的卷积层和3个全连接层连带着1000路softmax组成。为了加快训练速度。我们采用非饱和神经元和一个高效的卷积操作的GPU执行器。为了降低全连接层的过拟合,我们采用了一项近期发展的已被证明有效的名为dropout的正则化方法。 1 引言 解决物体识别的最新方法必不可少的使用机器学习方法。为了提高他们的表现,我们可以收集更大的数据集,训练更有效的模型,并且使用更先进的技术去阻止过拟合。直到近期,有标识的图像数据集相当的小——大约数万张图片的状况才改变。简单的识别任务能够被有效的解决好在这一规模的数据集上,特别是如果他们采用了数据增强。例如,MNIST数字识别任务的最新错误率(0.3%)已接近人类表现。但现实场景中的对象表现出相当大的变异性,所以为了学习识别它们,使用更大的训练集是非常必要的

FaceNet

萝らか妹 提交于 2020-03-12 04:52:58
论文:FaceNet: A Unified Embedding for Face Recognition and Clustering 0 摘要 FaceNet,直接把输入图像变成欧式空间中的特征向量,两个特征向量间的欧式距离就可以用来衡量两者之间的相似度。可以用在人脸验证、识别和聚类任务中。 本文提出了三元组的概念,构建anchor - matching sample -unmatching sample进行模型的训练。 FaceNet在LFW和YTF数据集上取得了很好的效果,远超当时的其他算法。 1 简介 本文提出的思想是,直接通过CNN学习一副输入人脸图像的欧式空间特征,那么两幅图像特征向量间的欧式距离越小,表示两幅图像是同一个人的可能性越大。一旦有了这个人脸图像特征提取模型,那么人脸验证就变成了两幅图像相似度和指定阈值比较的问题;人脸识别就变成了特征向量集的KNN分类问题;人脸聚类就可以通过对人脸特征集进行kmeans聚类完成。 前面的算法都是用已知身份的人脸图像集训练一个分类模型,然后取中间某个层的输出作为人脸的特征表示。这种方法的弊端是:不够直接和效率低下。不够直接是指希望学习的指定层的特征可以很好的泛化到未知人脸上,效率低是指一般学习的特征维度很高(大于1000维)。有的方法对提取的特征进行PCA降维处理,但这只是一个线性变换,可以通过一个网络层很简单的实现出来。

tiled卷积神经网络(tiled CNN)

风流意气都作罢 提交于 2020-03-12 04:27:45
这个结构是10年Quoc V.Le等人提出的,这里的tiled,按照 Lecun的解释是Locally-connect non shared.即是局部连接,而且不是共享的,这是针对于权重来说的。本文翻译如有错误,还望指正,谢谢!!这篇论文是10年的,相比较来说四年的东西,比较旧了,可是这个tcnn在ng的ufldl最后也有提及(只有目录部分,ng没写完),而且也算是个cnn的变化,不过看效果没有获得the state of art。因为在cifar-10数据集上当前的效果都达到了91%,而且NIN结构也很不错(还没看)。 Tiled convolutional neural networks 摘要 :卷积神经网络(cnn)已经成功的应用于许多的任务上,比如数字或者对象识别。使用卷积(tied)权重显然可以大幅度的减少所需要学习的参数的数量,并且可以使得在这个结构中能够硬编码(估计就是结构自身所特有的属性的意思吧)平移不变性。在本文中,我们考虑学习不变性的问题,而不是只依赖于硬编码。我们提出了tiled卷积神经网络,它通过使用一个tied权重的规则‘tiled’模式(个人理解就是在卷积上加个tiled规则),即不需要毗邻的隐藏单元共享同样的权重,而是隐藏单元之间距离k步远的单元有tied权重。通过在邻居单元上进行池化,这个结果能够去学习复杂的不变性(例如缩放和旋转不变性

学习 PyTorch 的 Examples

我们两清 提交于 2020-03-12 00:38:11
要查看格式更加优美的图文并茂的教程,请移步: http://studyai.com/pytorch-1.4/beginner/pytorch_with_examples.html 本教程通过自包含的例子介绍 PyTorch 的基本概念。 PyTorch的核心是提供了两个主要特性: n维Tensor,类似于numpy,但可以在GPU上运行。 建立和训练神经网络的自动微分 我们将使用一个完全连接的relu网络作为我们的运行示例。 该网络将有一个单一的隐藏层,并将用梯度下降训练, 为了适应随机数据,通过最小化网络输出和真正的输出的欧氏距离 来更新网络模型参数。 Note 你可以单独浏览和下载这个示例,在 这个页面的最后 。 张量 热身: numpy 在介绍PyTorch之前,我们首先使用numpy实现网络。 Numpy提供了一个n维数组对象,以及许多用于操作这些数组的函数. Numpy是一个用于科学计算的通用框架;它对计算图、深度学习或梯度一无所知。 但是,我们可以很容易地使用numpy来拟合两层网络中的随机数据, 方法是使用numpy操作手动实现前后向通过网络: - - coding: utf-8 - - import numpy as np N is batch size; D_in is input dimension; H is hidden dimension; D_out

CNN网络实现垃圾分类

佐手、 提交于 2020-03-10 14:37:25
作者:王镇 1. 背景 自2019年7月1日起,随着《上海市生活垃圾管理条例》正式实施,垃圾分类工作在全国由点到面逐步推开。垃圾分类可以最大限度的实现垃圾资源利用,减少垃圾处置量,改善生存环境质量,降低垃圾对于地下水的污染。由于垃圾分类条例刚开始实施,很多居民还没有足够强的垃圾分类意识,生活中垃圾分类并没能得到很好的落实。因此垃圾收集站依然有很强的垃圾自动分类需求。本文通过搭建一个简单的CNN网络实现对垃圾进行自动分类。 2. 数据集 本文使用的数据集来自kaggle上的垃圾分类数据集,共2527张图片,分为六类生活垃圾,分别为cardboard 403张,glass 501张,metal 410张,paper 594张,plastic 482张,trash 137张。该数据集的图片具有相同的规格尺寸,且要检测的垃圾大多数位于图片中央,因此非常适合于训练深度学习模型。 3. 数据预处理 由于该数据集是一个较小的数据集,仅有两千多张图片,但通常训练深度学习模型都要求有上万张乃至更多的图片。去网上采集更多的图片扩充数据集显然是最理想的方法,但那样会花费大量的时间与精力,因此通过 数据增强 扩充数据集成了我们的选择。 ImageDataGenerator() 是 keras.preprocessing.image 模块中的图片生成器,同时也可以在batch中对数据进行增强,扩充数据集大小

网络工程系统集成模型

本小妞迷上赌 提交于 2020-03-10 13:26:36
网络工程系统集成模型 ​ 在该模型的第一步, 即 用户需求分析 阶段中,设计者将重点考虑用户的需求、约束和目标。因为一个好的网络设计者必须清楚用户需求,并且将这些需求转换为商业和技术目标,如可用性、可扩展性、可购买性、安全性和可管理性等。 该过程包括明晰部门和用户组的结构,明确网络将向谁提供服务,并从何处获取有用信息。如果已经明确用户的需求和要达到的目标,并且用户希望对网络设计有一一个快速响应,则可以直接进入逻辑网络设计阶段。 逻辑网络设计 必须充分考虑到可选用的厂商设备有档次、型号的限制,以及用户需求会不断变化和发展等情况,不能过分拘泥于用户需求的指标细节,应当在设计方案的经济性、时效性的基础上具有一定前瞻性。 在逻辑上可行性达到就进入了 物理网络设计与实现 ,在这个阶段,只需根据逻辑设计方案进行施工即可。在实际施工中,又可根据实际情况进行适当调整,若发现逻辑设计存在重大问题那么逻辑网络设计方案将被否决,重新打回设计。 物理网络设计与实现完成之后实际使用之前必须进行 测试 ,测试必须考虑到实际工作的各种可能,进行最大弹性检测,保证网络满足用户需求。若不满足则需要上一阶段物理网络设计与实现重新改进,或者从逻辑网络设计阶段重新设计施工。 这个过程将不断重复直到测试满足用户需求。 来源: CSDN 作者: lingchen336 链接: https://blog.csdn.net