轻量化神经网络(移动设备上的神经网络)的整体框架

news2024/9/19 9:34:49

提示:不断更新中

文章目录

  • 一、为什么要引入轻量化神经网络
  • 二、模型压缩(Model Compression)
    • 参数修建
    • 低秩因子分解
    • 参数量化
    • 知识蒸馏
    • 人工神经架构设计
  • 三、自动压缩和神经架构搜索(Automated Compression and Neural Architecture Search)
    • 自动模型压缩(Automated Model Compression)
    • 自动化神经架构设计(Automated Neural Architecture Design)
    • 联合压缩和神经架构搜索(Joint Compression and Neural Architecture Search)


一、为什么要引入轻量化神经网络

之前的神经网络的卓越性能是以牺牲高计算复杂度为代价的。
例如

  • 最先进的机器翻译模型需要10G以上的乘加(MACs)来处理
  • 一个只有30个单词的句子:流行的激光雷达感知模型]需要每秒2000G以上的MAC(即10帧)。

高额的计算成本与实际使用的大多数移动设备并不匹配,因为从车辆到手机和物联网(IoT)设备,因为它们的硬件资源受到外形、电池和散热的严格限制。但是由于一些信息处理需要保证的实时性(自动驾驶)和隐私安全(医疗保健),所以这些计算工作不能委托给云服务器。这时候我们必须提出高效的深度学习神经网络。

二、模型压缩(Model Compression)

参数修建

深度神经网络通常是过度参数化的。剪枝去除神经网络中的冗余元素,以减小模型规模和计算成本
在这里插入图片描述

低秩因子分解

低秩分解利用矩阵/张量分解去估计深层卷积神经网络中最具信息量的参数从而达到降低深度神经网络中卷积层或全连接层的复杂度的效果
应用最广泛的分解是截断奇异值分解( Truncated Singular Value Decomposition,SVD ),该方法对于加速全连接层是有效的。
Kim等人使用Tucker Decomposition ( SVD的高阶扩展)对卷积核进行分解,获得了比使用SVD更高的压缩比。

参数量化

网络量化通过减少表示深度网络所需的每个权重的比特数来压缩网络。量化后的网络在硬件支持下可以有更快的推理速度。
说大白话就是,将一个浮点类型的数据根据舍入方案得到的数据来替代原始浮点数据。
在这里插入图片描述

知识蒸馏

知识提炼(KD) 可以将在大模型(表示为老师)中学到的“黑暗知识”转移到更小的模型(表示为学生)中,以提高更小模型的性能。

小模型要么是压缩模型,要么是更浅/更窄的模型。

人工神经架构设计

除了压缩现有的深度神经网络,另一种广泛采用的提高效率的方法是设计新的神经网络结构。
卷积层、池化层和全连接层,其中大部分计算来自卷积层。例如,在ResNet - 50中,超过99 %的乘累加操作( MAC )来自卷积层。因
此,设计高效的卷积层是构建高效CNN架构的核心

目前广泛使用的高效卷积层有3种:

  • 1 × 1 /点卷积
  • 组卷积
  • 深度卷积

基于这些高效卷积层,有三种代表性的人工设计高效CNN架构,包括SqueezeNet 、MobileNets和ShuffleNets。
在这里插入图片描述

三、自动压缩和神经架构搜索(Automated Compression and Neural Architecture Search)

自动模型压缩(Automated Model Compression)

自动化神经架构设计(Automated Neural Architecture Design)

联合压缩和神经架构搜索(Joint Compression and Neural Architecture Search)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软件工程】白盒测试:基本路径测试

基本路径测试是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。 步骤(以一段代码为例): (1)画出控制流图 void sort(int num,int t) 1. { 2. i…

MySQL数据库的SQL语句

MySQL数据库的SQL语句MySQL的常用数据类型MySQL数据类型及含义char与varchar的区别MySQL的基本命令登录数据库查看MySQL数据库版本查看当前服务器中的数据库查看MySQL库中的表查看表的结构(字段)SQL语句SQL简介及分类创建新的数据库创建新的表添加表中各…

卡尔曼滤波之基本概念和状态观测器

图裂参考原文:https://www.cnblogs.com/odesey/p/16937124.html 1. 为什么使用 Kalman Filters? 1.1 什么是 Kalman Filters? Kalman Filters 是一种优化估计算法。下面使用使用两个例子说明 Kalman Filters 的用处。 例子1: …

电子学会2021年3月青少年软件编程(图形化)等级考试试卷(二级)答案解析

目录 一、单选题(共25题,每题2分,共50分) 二、判断题(共10题,每题2分,共20分) 三、编程题(共2题,共30分) 青少年软件编程(图形化&a…

Java#32(异常, File)

目录 一.异常 异常: 代表程序出现问题 二.File 1.File的三种构造方法 2.File的常见的成员方法 一.异常 异常: 代表程序出现问题 图解: 从Java文件------>字节码文件的过程就是编译(在这期间的异常就是编译时异常) 从字节码文件------->运行结果的过程就是运行(在这期…

Linux系统调用与API

系统调用是应用程序与操作系统内核之间的接口,它决定了应用程序是如何与内核打交道的。无论程序是直接进行系统调用,还是通过运行库,最终还是会达到系统调用这个层面。 系统调用介绍 1、什么是系统调用 在现代的操作系统里,程序运…

CEC2015:动态多目标野狗优化算法求解CEC2015(提供完整MATLAB代码,含GD、IGD、HV和SP评价指标)

一、动态多目标优化问题简介 现实世界中,许多优化问题不仅具有多属性,而且与时间相关,即随着时间的变化,优化问题本身也发生改变,这类问题称为动态多目标优化问题(dynamic multi-objective optimization p…

写一个flutter程序—记录

目录 使用外部package 添加一个Stateful widget Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全…

[附源码]Python计算机毕业设计SSM精品旅游项目管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【Pytorch安装】windows下,安装了torch但是import torch失败

【Pytorch安装】windows下,安装了torch但是import torch失败问题原因解决问题 输入 python 进入python环境,输入 import torch 但是显示找不到这个包 输入 pip list 查看之前是否安装成功 但是可以看到包都在 原因 电脑中先前安装了多个 python &am…

Ajax用法总结

目录 Ajax简介 Ajax使用 xhr内部五种状态 Ajax在IE浏览器上存在的缓存问题 如何发送post请求 如何取消Ajax请求 ​编辑 jQuery封装的Ajax如何使用? Ajax简介 Ajax全称为Asynchous Javascript And XML,即异步的JS和XML,通过Ajax可以在…

Linux进程的调度

目录 调度策略与调度类 实时调度策略 普通调度策略 调度类 sched_class有几种实现: 完全公平调度算法 调度队列与调度实体 调度类是如何工作的? 调度策略与调度类 在Linux里面,进程大概可以分成两种。 一种称为实时进程,…

Redis主从复制+哨兵模式

必读 redis的主从复制是单向的,只能有主节点到从节点,主节点以写为主从节点以读为主不能写入数据!因为系统的80%的需求都是读的需求。 redis服务默认自己是主节点,一个主节点由一个或多个从节点,一个从节点只有一个主…

图信号处理论文

图信号处理并且非图神经网络的论文: Donget.al“GraphSignal Processingfor MachineLearning A Review and New Perspectives," ICASSP Tutorial, June 2021. Lorenzoet.al“Adaptiveleast mean squaresestimation ofgraph signals"IEEE Trans. Signal I…

Vue3 学习笔记 —— 破坏式更新、自定义指令 directive

目录 1. 什么叫破坏式更新? 2. Vue3 中的自定义指令 2.1 自定义指令的生命周期 2.1.1 Vue2 Vs Vue3 的自定义指令生命周期 2.1.2 自定义指令的生命周期中,接收的参数 2.2 定义一个自定义指令 2.2.1 在 setup 中定义自定义指令(此处为 …

数据结构 树练习题

目录 判断 选择 判断 1.一棵有124个结点的完全二叉树,其 叶结点个数是确定的。 【答案】正确 【解析】完全二叉树 若设二叉树的深度为h 除第 h 层外 其它各层 1~(h-1) 的结点数都达到最大个数(即1~(h-1)层为一个满二叉树) 第 h 层所有的结点都连续集…

【C++】STL

文章目录回调函数:一、STL的诞生二、STL基本概念三、STL六大组件四、STL中容器,算法,迭代器回调函数: 函数被作为参数传递到另一个函数(主要函数)的那个函数就叫做 回调函数 一、STL的诞生 C的面向对象和…

DHTMLX Diagram JavaScript/HTML5 Pro Library:5.0

Diagram — JavaScript/HTML5 Diagram Library Ω578867473 破解版DHTMLX Diagram comprises a set of interactive HTML5 UI components such as organization charts, flowcharts, decision trees, block diagrams, mind maps, etc. Consisting of nodes and connectors, di…

i.MX 6ULL 驱动开发 二十八:网络设备

一、网络设备的系统框图 MAC:工作在网络模型的数据链路层,通过 RGMII 或 RMII 接口连接 PHY,MAC 控制器中的 MDIO 控制器提供 MDIO 接口,用于访问 PHY 寄存器。 PHY:工作在网络模型的物理层,是 IEEE802.3 …

SVN项目,提交Git保留之前提交记录

📃目录跳转简介:1.创建文件2.命令下载:3.上传到远程git3.1 创建远程git工程3.2 添加一个新的远程 Git 仓库3.3 拉取远程master的数据合并3.3 推送远程git分支简介: 由于之前直接搞的项目是部署在自己搭建的SVN服务器上,平时创建的…