17.2.20 Sparsifying Neural Network Connections for Face Recognition 小感

本文主要是介绍17.2.20 Sparsifying Neural Network Connections for Face Recognition 小感,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先作为自己的第一篇博客,不为别的。在大致读了

> 《Sparsifying Neural Network Connections for Face Recognition》

本文主要是提出了一种稀疏神经元连接的方法。主要是根据神经元之间的相关性正负和大小,只保留对模型影响较大的神经元间的连接,将影响不大的舍去。

本文并不是第一个考虑到减少神经元连接的方法。GoogLeNet在ImageNet的比赛上已经想到了这种方法。GoogLeNet所采用的是选取比较小的卷积核(1×1和3×3的)。本文在3×3的卷积核的基础上设置了一定的稀疏度,用来舍去一些神经元连接。

但是在稀疏之前需要先训练一个完整的network,本文的基础模型与VGG net(每两个卷积层后接着一个最大池化层)类似。但是本文的模型与VGG有一个主要的不同是VGG的最后两个卷积层在本文模型中被替换成了locally-connected层。这么做主要是为了能够学习不同的人脸区域的特征。在第二个locally-connected层后面是一个512维的全连接层,最终可以得到最终的人脸特征。具体的网络信息如图1所示。
网络结构

接下来就是本文的稀疏的具体方法。在训练好的基础模型的基础上,如果一个层这里写图片描述被稀疏,那么一个新的网络模型这里写图片描述会在上一个模型这里写图片描述的基础上重新进行训练。因此会产生{这里写图片描述},其中这里写图片描述是最终的模型。在知道了如何训练稀疏模型之后,需要利用一个二值矩阵来简化神经元连接的稀疏过程。利用0和1来表示该神经元连接是否需要。具体的流程如图2所示。
这里写图片描述

在了解了稀疏的方法之后,如何选择稀疏的程度成为了接下来的主要工作。本文是设置一个稀疏度变量这里写图片描述。在计算了神经元与上一层的每个神经元之间的相关性之后,将其进行排序,进行筛选。有一点需要注意的是,相关性有正有负,有大有小,如何选取?作者认为应该保留正负相关性大的神经元连接,保留相关性较小的神经元连接。主要有三个原因(1)正相关性较大的神经元连接对模型有着正面积极的作用。(2)负相关性大的神经元连接能够帮助减少错误率,抑制负样本。(3)作者猜测是相关性较小的神经元连接对相关性的较大的能起到一个互补的作用。

对于全连接层而言,假设给定一个神经元这里写图片描述,它与前一层的每个神经元之间的连接用这里写图片描述表示,那么该神经元与上一层神经元之间的相关性可以表示为:这里写图片描述。所以最后会随机选取正负相关系数前半部分与后半部分的这里写图片描述这里写图片描述。对于卷积层的神经元连接稀疏,利用如下公式:这里写图片描述

从实验结果可以看出利用稀疏可以提高性能。模型的再训练是在前一个模型的基础上进行训练,这样能够很好的比避免出现局部最优的情况。

这篇关于17.2.20 Sparsifying Neural Network Connections for Face Recognition 小感的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066441

相关文章

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

【JavaScript】LeetCode:16-20

文章目录 16 无重复字符的最长字串17 找到字符串中所有字母异位词18 和为K的子数组19 滑动窗口最大值20 最小覆盖字串 16 无重复字符的最长字串 滑动窗口 + 哈希表这里用哈希集合Set()实现。左指针i,右指针j,从头遍历数组,若j指针指向的元素不在set中,则加入该元素,否则更新结果res,删除集合中i指针指向的元素,进入下一轮循环。 /*** @param

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

【语句】如何将列表拼接成字符串并截取20个字符后面的

base_info = "".join(tree.xpath('/html/head/script[4]/text()'))[20:] 以下是对这个语句的详细讲解: tree.xpath('/html/head/script[4]/text()')部分: tree:通常是一个已经构建好的 HTML 文档树对象,它是通过相关的 HTML 解析库(比如 lxml)对 HTML 文档进行解

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

C++20中支持的非类型模板参数

C++20中支持将类类型作为非类型模板参数:作为模板参数传入的对象具有const T类型,其中T是对象的类型,并且具有静态存储持续时间(static storage duration)。       在C++20之前,非类型模板参数仅限于:左值引用类型、整数类型、指针类型、指向成员类型的指针、枚举类型、std::nullptr_t。在C++20中,它已扩展并支持:浮点类型、字面量类类