深度信念网络研究现状与展望

来源:专知

摘要: 深度信念网络(Deep belief network, DBN)是一种基于深度学习的生成模型, 克服了传统梯度类学习算法在处理深层结构所面临的梯度消失问题, 近几年来已成为深度学习领域的研究热点之一.基于分阶段学习的思想, 人们设计了不同结构和学习算法的深度信念网络模型.本文在回顾总结深度信念网络的研究现状基础上, 给出了其发展趋势.首先, 给出深度信念网络的基本模型结构以及其标准的学习框架, 并分析了深度信念网络与其他深度结构的关系与区别; 其次, 回顾总结深度信念网络研究现状, 基于标准模型分析不同深度信念网络结构的性能; 第三, 给出深度信念网络的不同无监督预训练和有监督调优算法, 并分析其性能; 最后, 给出深度信念网络今后的发展趋势以及未来值得研究的方向.

http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c190102

人工神经网络是计算机模拟人类大脑处理信息的一种运算模式, 即通过训练输入和输出数据, 使网络得到关于输入和输出的非线性映射关系, 从而在未来的任务中进行自主计算.因此, 人工神经网络是计算机科学、认知科学、脑科学和数学的交叉学科, 其在模式识别、智能控制、多种信号处理、优化设计等领域得到较大的发展, 并已在信息产业中得到了成功的应用[1-5]. 20世纪八十年代末期, 用于人工神经网络的反向传播算法(Back-propagation, BP)的发明, 给机器学习带来了希望, 掀起了基于统计模型的机器学习热潮.这个时候的人工神经网络虽然也被称作多层感知器(Multi-layer perceptron, MLP), 但实际上是一种只含有一个隐含层的浅层人工神经网络模型.进入21世纪以后, 随着互联网的高速发展, 对大数据的智能化分析和预测提出了巨大需求.由于浅层网络往往采用梯度类学习算法, 人为经验因素较多, 缺乏自主学习过程且对初始参数的设定依赖性较强[6-8], 这限制了神经网络的特征自动提取能力, 使得其在处理大规模不确定性数据时往往误差较大.生物神经系统学研究结果表明, 人类的智能主要取决于大脑皮层, 而大脑皮层是一个大规模互连的深层生物神经网络[9-11], 主要认知方式是无监督自主学习与推理.探求大脑的组织结构和运行机制, 从模仿人脑深层学习机制的角度出发, 寻求新的信息处理方法是当前人工智能领域发展的优先方向.然而, 由于理论分析的难度, 加上训练方法需要很多经验和技巧, 所以这个时期深层人工神经网络相对较为沉寂.

2006年, 加拿大多伦多大学教授、机器学习领域泰斗—Geoffrey Hinton和他的学生Ruslan Salakhutdinov在顶尖学术刊物《Science》上发表了一篇文章, 开启了深度学习(Deep learning, DL)在学术界和工业界的浪潮[12-14].主要思想是利用"逐层初始化(Layer-wise pre-training)"来完成自主学习与推理过程, 从而有效克服深层结构的训练困难.近几年来, 深度学习凭借其模拟人脑分层学习和自主推理的认知机理逐渐成为研究热点[15], 同时也带动了人工神经网络领域的进一步发展.由于深度学习能够在大量数据任务中快速稳定地计算, 这推动了云计算、大数据科学的发展, 如今已经在自然语义理解、模式识别问题、机器人学和数据挖掘等方面得到了较好的应用[16-19], 甚至在机器情感分析方面也开始被研究, 使得该领域朝着图灵机的实现又迈进了一大步. 2016年, 利用深度学习技术训练过的阿尔法围棋(AlphaGo)击败人类围棋冠军, 引起了学术界和科技界的巨大轰动, 并激起了人们对深度学习研究的再一次热潮.

目前, 深度信念网络(Deep belief network, DBN)是深度学习的主要实现方法之一. DBN是具有若干潜变量层的生成模型.潜变量通常是二值的, 而可见单元可以是二值或实数[20-21].尽管构造连接比较稀疏的DBN是可能的, 但在一般的模型中, 每层的每个单元连接到每个相邻层中的每个单元, 而层内没有连接. DBN可以通过若干个受限玻尔兹曼机(Restricted Boltzmann machine, RBM)的顺序堆叠来构造, 其学习过程分为两个阶段, 即首先对RBM进行逐层无监督预训练, 再用反向传播算法对整个网络进行有监督的调优. DBN的这种分阶段训练方法使其在学习深层结构上取得了一定的成功, 并在图像处理、模式识别、系统建模和预测等任务中得到了关注和研究[20, 22-27].

近年来, 众多学者在现有DBN结构和学习算法的基础上进行了拓展与改进, 并提出了多种类型的DBN变种模型.目前, 比较常见的DBN变种模型主要有稀疏DBN[28-29]、自组织DBN[26]、增量式DBN[27]、递归DBN[30].与传统的DBN相比, 改进型的DBN分别在各自的聚焦点上取得了部分性能上的提升.但是, 在结构自主确定方面, DBN仍然存在一些难以解决的瓶颈问题, 相关的研究工作还处于刚刚起步状态, 在理论、技术以及应用层面上还有很大的提升空间, 在未来一段时间内仍将是深度学习研究中比较热门的研究方向之一.

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

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

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

相关文章

使用JDBC进行简单连接

学习笔记:JDBC与数据库 集训的有关总结 连接数据库(MySQL)的步骤: 导入jar包(可以去官网下) 复制mysql-connector-java-5.1.37-bin.jar到项目libs目录下 右键–>Add As Library 注册驱动 获取数据库连接对象Connection 定…

Leetcode--41. 缺失的第一个正数

给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 说明: 你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。 思路:时间…

深度学习中的3个秘密:集成、知识蒸馏和蒸馏

作者:Zeyuan Allen-Zhu来源:AI公园编译:ronghuaiyang在现在的标准技术下,例如过参数化、batch-normalization和添加残差连接,“现代”神经网络训练 —— 至少对于图像分类任务和许多其他任务来说 —— 通常是相当稳定的…

对于JDBC的简单理解

什么是JDBC?为什么要使用JDBC? 1. JDBC JDBC是Java DataBase Connectivity的缩写,即Java程序访问数据库的标准接口使用Java程序访问数据库时,通过JDBC接口来访问JDBC驱动来实现对数据库的操作JDBC接口是Java标准库自带的&#xf…

BeautifulSoup

BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单。 1. 安装 pip3 install beautifulsoup42.示例 fr…

Leetcode-45. 跳跃游戏Ⅱ

给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

研究揭示人类大脑进化的基因组调控机制

来源:中国科学院昆明动物研究所人类大脑起源于漫长的生命进化过程,其最显著的改变是大脑的认知功能,反映在脑容量的显著扩大和脑结构的高度精细化。在人类进化过程中,“哪些遗传改变造就了人类大脑”是学界长期力图解决的科学问题…

计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配

计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配 一. 概述 存储器的分类 按存储介质划分: (1)半导体存储器 双极型(TTL)、MOS (2)磁表面存储器 磁头、载磁体 (3)磁芯存储器(目前几乎已不被采用)硬磁材料、环状元件 (4)光盘存储器 激光、…

interceptor 拦截器的使用 (session验证)

需要引入 http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd之前是3.0.xsd mvc:exclude-mapping 报错 需要改成3.2.xsd <mvc:interceptors> <mvc:interceptor> <!-- 需拦截的地址 --> …

Leetcode--229. 求众数Ⅱ

给定一个大小为 n 的数组&#xff0c;找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 说明: 要求算法的时间复杂度为 O(n)&#xff0c;空间复杂度为 O(1)。 示例 1: 输入: [3,2,3] 输出: [3] 示例 2: 输入: [1,1,1,3,3,2,2,2] 输出: [1,2] 思路&#xff1a; 摩尔投票法 超过…

刚刚,《The Scientist》预测了未来最热门的生命科学技术

图片来源&#xff1a;illumina来源&#xff1a;中国生物技术网去年&#xff0c;新冠疫情席卷全球&#xff0c;生物医学研究领域学者奋起应对挑战&#xff0c;并取得了前所未有的科学成就。2021年已来&#xff0c;尽管大流行还在继续&#xff0c;但美国《The Scientist&#xff…

Java Web项目的层次结构及常见分包

Java Web项目的层次结构及常见分包 Web项目中的层次 ControllerServiceDaoController层&#xff1a;表现层&#xff08;视图&#xff09;层。用来显示数据和接收用户数据Service层&#xff1a;业务逻辑层&#xff0c;用来处理页面。先写接口&#xff0c;后写实现类Dao层&#…

BZOJ3489 A simple rmq problem 【可持久化树套树】*

BZOJ3489 A simple rmq problem Description 因为是OJ上的题&#xff0c;就简单点好了。给出一个长度为n的序列&#xff0c;给出M个询问&#xff1a;在[l,r]之间找到一个在这个区间里只出现过一次的数&#xff0c;并且要求找的这个数尽可能大。如果找不到这样的数&#xff0c;则…

Leetcode--319. 灯泡开关

初始时有 n 个灯泡关闭。 第 1 轮&#xff0c;你打开所有的灯泡。 第 2 轮&#xff0c;每两个灯泡你关闭一次。 第 3 轮&#xff0c;每三个灯泡切换一次开关&#xff08;如果关闭则开启&#xff0c;如果开启则关闭&#xff09;。第 i 轮&#xff0c;每 i 个灯泡切换一次开关。 …

Eclipse中tomcat的简单配置

Eclipse中tomcat的简单配置 将Eclipse与tomcat相关联 如果下拉选项中没有jdk1.8.0_131&#xff0c;就点击后面的选项 把服务器视图调出来&#xff0c;方便之后调试 将tomcat服务器调入 如果要添加项目&#xff0c;点击右键&#xff0c;选择Add and Remove… 最后&#xff0…

AI智能体学会动物进化法则:李飞飞等提出深度进化RL

来源&#xff1a;机器之心编辑&#xff1a;杜伟、魔王、陈萍在过去 6 亿年中&#xff0c;进化带来了不同类型的「无尽之形最美」&#xff08;endless forms most beautiful&#xff09;&#xff0c;从古老的两侧对称虫到多种多样的动物形态。这些动物还展示出了显著的具身智能&…

Leetcode--22. 括号生成

给出 n 代表生成括号的对数&#xff0c;请你写出一个函数&#xff0c;使其能够生成所有可能的并且有效的括号组合。 例如&#xff0c;给出 n 3&#xff0c;生成结果为&#xff1a; [ "((()))", "(()())", "(())()", "()(())&quo…

DevExpress v18.1新版亮点——WPF篇(五)

用户界面套包DevExpress v18.1日前终于正式发布&#xff0c;本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能&#xff0c;快来下载试用新版本&#xff01;点击下载>> Spreadsheet Control Spreadsheet Shapes 从简单的线条、矩形…

tomcat修改端口号与eclipse中的tomcat保持一致

tomcat修改端口号与eclipse中的tomcat保持一致 将本地tomcat与eclipse中tomcat的配置信息保持一致&#xff1a;即将eclipse中的tomcat设置为托管模式 1. 添加项目 2. 查看server.xml文件中tomcat的端口号 3. 第一次创建tomcat实例后&#xff0c;双击tomcat服务器&#xff0c;选…

(数据科学学习手札45)Scala基础知识

一、简介 由于Spark主要是由Scala编写的&#xff0c;虽然Python和R也各自有对Spark的支撑包&#xff0c;但支持程度远不及Scala&#xff0c;所以要想更好的学习Spark&#xff0c;就必须熟练掌握Scala编程语言&#xff0c;Scala与Java较为相似&#xff0c;且在Scala中可以调用很…