神经形态计算的新方法:人造神经元计算速度超过人脑

本文主要是介绍神经形态计算的新方法:人造神经元计算速度超过人脑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!




来源:科学网


【新智元导读】一种以神经元为模型的超导计算芯片,能比人脑更高效快速地加工处理信息。近日刊登于《科学进展》的新成果,或许将成为科学家们开发先进计算设备来设计模仿生物系统的一项主要基准。尽管在其商用之前还存在许多障碍,但这项研究为更多自然机器学习软件打开了一扇大门。


当下,人工智能软件越来越多地开始模仿人类大脑。而诸如谷歌公司的自动图像分类和语言学习程序等算法也能够利用人工神经元网络执行复杂的任务。但因为常规的计算机软件不能被设计运行类似大脑的算法,因此相比人类大脑而言,这些机器学习就需要更高的运算能力。


“肯定会有更好的方法来做这些,因为大自然都能够找到更好的办法。”该研究合作者、美国国家标准与技术研究所(NIST)物理学家Michael Schneider表示。


NIST是若干希望开发出能够模拟人类大脑的神经形态硬件,同时希望这种神经形态硬件能更有效地运行大脑样软件的团队之一。在常规的电子系统中,晶体管常常会以一定的间隔和精确的数量处理信息(二进制数字0或1)。但神经形态硬件则能够从多个来源积累少量信息,并且改变这些信息使其产生一种不同类型的信号,并在需要的时候发射一股电流,就好像神经元放电那样。因此这种神经形态硬件需要更少的能量运行。


然而这些设备至今还是无效的,尤其当晶体管需要跨越间隙或突触来传递信息时,因此,Schneider团队利用铌超导体制造出了神经元样的电极,其可以在无阻力的情况下进行导电。随后,研究人员利用数千个磁性锰纳米晶簇填补超导体的空隙。


通过改变突触中磁场的数量,这些纳米晶簇就可以在不同方向上对齐。这就能让该系统在电力水平和磁性方向上对信息进行编码,从而赋予该系统比其他神经形态系统更强大的计算能力,同时不会占据额外的物理空间。


这些突触每秒可以放电10亿次,比人类神经元的速度快几个数量级,同时该系统消耗的能量仅为生物性突触的万分之一。在计算机模拟过程中,在传递到下一个电极之前,合成神经元就能通过最多9个来源核对输入信息。但当基于该技术的系统用于复杂计算之前,需要成千上万个突触,Schneider表示,是否能够扩大到这个水平还有待进一步研究分析。


另外一个问题是,该突触只能在接近绝对零度的温度下运行,同时需要用液氮来冷却。英国曼彻斯特大学计算机工程师Steven Furber指出,这可能就会使芯片在小型设备中变得不实用,尽管大型数据中心可能能够对其进行维护。但Schneider表示,相比操作一个具有相当数量计算能力的传统电子系统而言,对该设备进行冷却或许需要更少能源。


美国加州理工学院电气工程师Carver Mead赞扬了这项研究,并将其称之为神经形态计算的新方法。“目前在该领域中充满了炒作,我们很高兴能够看到精细工作能以客观的方式呈现出来。”他说,但在芯片真正用于计算领域之前或许还需要一段很长的时间,而且,目前还存在来自许多其他神经形态计算设备的激烈竞争和挑战。


Furber还强调,这种新型设备的实际应用前景非常广阔。“这种设备技术也非常有趣,但如今我们还不能充分了解这些生物突触的关键特性,也并不知道如何更加有效地利用它们。”他说,例如,目前人们仍有许多问题需要解决,即当记忆形成过程中这些突触如何重塑自己?这就使得研究人员很难在记忆存储芯片中重建这个过程。


尽管如此,Furber表示,一种新型计算设备进入市场需要10年甚至更长时间,即便神经科学家很难理解人类大脑,但他们非常有必要开发出尽可能多的不同的技术手段。


论文地址:

http://advances.sciencemag.org/content/4/1/e1701329



点击下方“阅读原文”了解【人工智能实验平台】
↓↓↓

这篇关于神经形态计算的新方法:人造神经元计算速度超过人脑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati