模拟人类大脑每秒计算数量级及参数容量的估计

2024-05-08 02:48

本文主要是介绍模拟人类大脑每秒计算数量级及参数容量的估计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      因为海马区两类中间神经元峰值放电频率为310±33.17Hz(类型Ⅰ)和410±47.61Hz(类型Ⅱ)[1]。可以推断出人类神经元的最大计算频率在450Hz左右。可以在最大值410+47.61Hz上保守估计为500Hz。

      根据维基百科List of animals by number of neurons人类神经元数量为860亿,突触数量为10^14–10^15,也就是人类每个神经元平均拥有1163~11628个神经突触,下面我们取最大值 11628 作为基准以方便论述。所以大脑每秒最高计算量为860亿乘以500为:43万亿(这里认为突触只参与数据传输)。

      根据现有的神经元计算模型,如下(来源于ufldl.stanford)

      其中平均每个神经元计算1次需要的计算为:

                                                        

      其中n=11628。f 为Sigmoid函数或者其他激活函数。f 函数中的浮点计算次数为:23254次。f 函数的浮点计算次数为4次左右,所以整个h浮点计算次数为:23258次(这里忽略I/O的效能、内存的架构、快取内存一致性等,下同)。

      假设以大脑的神经元数量(860亿)为需要模拟的神经元数量,以前面大脑处理频率(500Hz)作为计算频率,那么计算机每秒最高需要的总浮点计算次数为:79亿亿次。

      可见现在神经元的计算模型严重依赖于突触的数量,其计算量是最高需要大脑的18327倍! (现在的深度网络已经废弃Sigmoid而以Relu作为激活函数,其中的计算会遇到大量的0值,但是以现在的算法和计算机模型,0值依然要计算,而大脑却不是,大脑的计算方式是惰性计算,即有电流(值)传到神经元才计算,没有就不计算,所以这也是大脑高效的一个原因) 。 因为我们的大脑不会在同一时间其所有的神经元同时激活,所以这里我们在估算大脑的计算数量级的时候,忽略了大脑神经元的平均激活数量和最大激活数量,而仅仅以总的数量作为计算激活数量。如果以最大激活数量作为我们计算法基准,那么整个计算的数量级可能下降很多,此时计算机需要模拟的每秒最高计算次数:如果最多同时激活50%神经元时为,39.5亿亿次;同时激活10%时为,7.9亿亿次。

      天河二号的峰值计算速度每秒5.49亿亿次,因为上面计算量取的最多突触连接和最大大脑处理频率时的,所以天河二号有高可能性能够模拟人类大脑。

      最近(2016年3月)看了AlphaGo与李世石的比赛时的硬件数据,根据估计其运算速度大概为500万亿次浮点每秒,假设在此时AlphaGo与李世石的用脑量相同,那么模拟人脑所需要的计算量应该比上面估计的还要小。

     可以说当PC计算速度超过1亿亿次浮点每秒的时候,计算(机器)智能将迎来了一个新的纪元,人类也将迎来一个新的纪元。

    附:如果按照现代神经网络的架构,和人脑相同的参数,那么人脑参数量为:100~1000万亿参数量,参数以float类型表示,即占用4 byte,那么计算机所需要的硬盘空间大概为400TB~4000TB【突触数量x4/10^12】。

参考

  1. 海马CA1区ripple节律相关高频放电中间神经元

这篇关于模拟人类大脑每秒计算数量级及参数容量的估计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa