V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
swhhaa
V2EX  ›  奇思妙想

大脑是一个读 O(1)复杂度的数据结构。

  •  1
     
  •   swhhaa · 82 天前 · 4180 次点击
    这是一个创建于 82 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大脑是怎么记忆的?

    把大脑想象为一个计算机中的数据结构,有以下特征:

    1. 读复杂度:O(1)。很明显,当大脑在寻找某些数据时,是无法遍历搜索的。
    2. 写复杂度:未知。
    3. 数据持久性: 未知。参考艾宾浩斯记忆遗忘曲线

    在我已知的数据结构中,可以 O(1) 读取数据的只有 hashtable... 所以大脑是怎么存储的呢。

    根据鸭子类型定律,如果一个数据结构的写入像大脑,读取像大脑,其他特征也像大脑,是不是可以认为就是大脑。

    如此的数据结构对实现真正人工智能有没有帮助呢。

    48 条回复    2022-11-11 09:59:21 +08:00
    BMPixel
        1
    BMPixel  
       82 天前 via iPhone
    毕竟可以把大脑理解为存内计算,所以在遍历和并行上速度是无敌的。感觉现在的计算机很难逼近
    swhhaa
        2
    swhhaa  
    OP
       82 天前
    @BMPixel 我举得大脑没法遍历啊。比如说记忆某个网站的密码,当要读取这个数据时,并没有一个 B+tree 类似的索引。
    jiushijiu
        3
    jiushijiu  
       82 天前
    有意思。难不成是 hash 算法,密码记错了可能就是 hash 碰撞了,也可能内存损坏了
    leonshaw
        4
    leonshaw  
       82 天前
    大脑应该是量子的
    lambdaq
        5
    lambdaq  
       82 天前   ❤️ 38
    你这种症状多久了
    swhhaa
        6
    swhhaa  
    OP
       82 天前
    又思索了下,写复杂度是 O(1),甚至是 O(1/n)。
    大脑并不会因为记忆内容过多而增大写入时间,相反甚至可能由于关联性而写入更迅速。
    例如记英语单词,默背显然比带有发音的方式更困难。
    swhhaa
        7
    swhhaa  
    OP
       82 天前
    @lambdaq 我只是觉得真正的人工智能不应该仅靠机器 /深度学习实现。
    zhouyg
        8
    zhouyg  
       82 天前
    可以学习下 AI 相关知识,对比神经网络的特性,大脑可能是根据输入实时“计算”出来的。因为“记错”的存在,不太可能是基于存储的“稳定”读写架构
    swhhaa
        9
    swhhaa  
    OP
       82 天前
    @zhouyg 你这个让我想起了用 深度学习训练计算器 的梗。
    swhhaa
        10
    swhhaa  
    OP
       82 天前
    GeruzoniAnsasu
        11
    GeruzoniAnsasu  
       82 天前
    https://iopscience.iop.org/article/10.1088/2399-6528/ac94be/meta



    @leonshaw
    @swhhaa

    脑子真的是量子的,至少,某些脑功能被证实有量子过程参与。
    zmxnv123
        12
    zmxnv123  
       82 天前 via iPhone   ❤️ 3
    我觉得大脑最厉害的是在模式匹配这方面,比如楼上楼主的联想,根本没有任何关系。但是大脑自己就将这两件事联系到一起。
    neteroster
        13
    neteroster  
       82 天前
    感觉不是 O(1),比如我一般学习(数学)的时候有种感受就是查找一些特定知识就像在树或者图中查找一样,是有一个路径过程的(只是感觉,没法具体表达),然后考试之前复习之后就会感觉到树的高度降低了,查找一些知识不需要更多的联系了。
    dwztom
        14
    dwztom  
       82 天前 via Android
    @GeruzoniAnsasu 这些研究都很不靠谱。
    我就是做量子计算的。拿的是物理系的 PhD
    wu67
        15
    wu67  
       82 天前
    你可以把大脑当成一个单核 cpu, 性能垃不垃圾另说, L1 缓存只有 5~9bit, 甚至下限是 2, 没有 L2 L3 缓存,
    其他的皮层记忆你可以当成 3.5 寸超大容量软盘, 但是磁头你没有根权限, 所以读写还可以, 但是可能经常写不进去、读不出来, 寸久了可能会丢, 发热甚至宕机
    plodderales0o
        16
    plodderales0o  
       82 天前   ❤️ 1
    大脑:你在猜我?
    arischow
        17
    arischow  
       82 天前 via iPhone
    谢谢你
    snw
        18
    snw  
       82 天前
    大脑的底层是化学反应,那么大脑各种功能应当是基于概率的,微观粒子发生反应或不发生反应都是随机的,宏观上体现为概率。这与通常的计算机有本质上的区别,因为计算机底层是电路,0/1 运算是完全确定的(除非极小概率发生错误),只不过某些算法得到一些概率性结果(例如布隆过滤器)。

    可以猜测大脑记忆也是基于概率的,在准确率与写入复杂度之间权衡。比如不重要的事情用很微小的突触变化来记录,这样写入很简单不费时,但代价是下次读取时有很高概率得到错误结果。重要的事情费时费力记忆,其实是让突触产生更稳定持久的变化,甚至让多个神经元参与(想象成校验机制好了,其实不完全是校验),这样下次读取时很高的概率得到正确结果。

    然后读取速度只取决于化学反应的速度(神经元通过神经递质传递信息),也就是你感到的“读复杂度 O(1)”。
    有时尝试多发生几次化学反应来校验可以提高结果的置信度,也就是“使劲回想”。
    然而如果当时没记住或者忘了,那么以后再怎么发生化学反应,结果都很随机,就是“想不起来了”。
    ungrown
        19
    ungrown  
       82 天前 via Android
    @swhhaa #2 你说的是对的,所以试图将脑类比成数据结构的说法都是没认真想的,湿件之所以要单独拎出来说,就是因为它和软件、硬件都不一样
    greygoo
        20
    greygoo  
       82 天前   ❤️ 1
    如果大脑是一个数据结构,读写是怎样定义呢?是否有一个算法存在可以做这样的读写?然后再问时间复杂度
    zdilby
        21
    zdilby  
       82 天前
    怎么说呢

    大脑读数据其实用的是 Okapia 算法,存储结构用的是 Johnstoni 结构

    根据霍加狓定律,如果一个数据结构的写入像大脑,读取像大脑,其他特征也像大脑,那他依然有可能是个计算机,并且极有可能隐藏在现存人类社会当中

    关于大脑和计算机的差异,内容太多,我有详细的论证和资料整理,但是评论区里写不下,我就不写了
    thedrwu
        22
    thedrwu  
       82 天前 via Android   ❤️ 7
    国歌的第 5 句是什么?
    greygoo
        23
    greygoo  
       82 天前
    @zdilby 你这是又想留个难题困扰世人几百年?
    wanacry
        24
    wanacry  
       82 天前 via iPhone
    但是大脑不可靠呀,会忘记数据的概率很高,比如昨天上班路上的每个人穿衣服的颜色,眼睛虽然看到了,但肯定已经大部分都忘得一干二净了
    swhhaa
        25
    swhhaa  
    OP
       82 天前
    @neteroster
    1. 我感觉学数学的过程不仅仅是记忆,而是在思考。思考是一个比记忆更复杂的过程。做个类比,大脑的存储核心是一个支持 put/get 原子操作的 hashtable ,而思考则像是利用 hashtable 构造一个电话簿应用程序。我认为背单词更接近纯粹的记忆。
    2. 复杂度中的 n 不是指操作步骤啊.. 而是指数据集的大小。很明显,大脑并不会因为记忆的东西过多导致 put/get 变慢,甚至会变快。
    swhhaa
        26
    swhhaa  
    OP
       82 天前
    @wu67 这个类比只是说明了大脑的容量特征,但并不涉及存储的本质。大脑的寻址比软盘不知高多少倍了。
    swhhaa
        27
    swhhaa  
    OP
       82 天前
    @snw 生物的运动底层也是化学反应,并不影响波士顿狗仅靠机械和算法就能实现比狗更出色的运动能力。
    swhhaa
        28
    swhhaa  
    OP
       82 天前
    @wanacry 所以说大脑的数据持久性是个迷...
    qwertyzzz
        29
    qwertyzzz  
       82 天前
    第一个我就不赞同 你有这样的经历吗 当我想我刚才做这件事是为了什么的时候 通常一下子想不出来,于是我就往前想 然后通过前面的一层层想到为什么做这件事
    swhhaa
        30
    swhhaa  
    OP
       82 天前
    @qwertyzzz 可以参考#25 ,复杂度中的 n 指的是什么。
    optional
        31
    optional  
       82 天前 via iPhone
    🧠存储更像倒排索引,
    fiveStarLaoliang
        32
    fiveStarLaoliang  
       82 天前
    @wanacry 大脑的存储应该是准确的,遗忘应该是大脑进化出来的一种保护机制,避免关联的数据量太大而死机,不然就不会有超忆症这种病了,既然有这种病,说明大脑是完全可以记住所有东西的
    wanguorui123
        33
    wanguorui123  
       82 天前   ❤️ 1
    大脑是:hashtable+LRU
    kyuuseiryuu
        34
    kyuuseiryuu  
       82 天前 via iPhone   ❤️ 2
    人类创造出来的概念都是在描述这个世界,不代表这个世界百分百符合人类创造出来的概念。

    每每有人说这个世界符合什么数据结构或者和啥啥算法一致,都很令人发笑。

    这简直是一种本末倒置。

    就像有人说爹长得像儿子一样。
    nyaaar
        35
    nyaaar  
       81 天前
    这贴还挺有意思的,从程序员的角度看人思考的过程,想用自己在算法,计算机方面的知识对人思考的过程建模
    neptuno
        36
    neptuno  
       81 天前
    有些时候我没有检索,脑子里自动就出现了某种想法
    zagfai
        37
    zagfai  
       81 天前
    我感觉记忆更像 tire 树
    snw
        38
    snw  
       81 天前 via Android
    @swhhaa
    为什么要硬套现代计算机的概念来阐述大脑的运作呢?又为什么把大脑的处理方式用到电脑上?

    大脑和电脑的底层完全不同,如果硬要用大脑的处理方法来做计算机算法,相当于搞了一个虚拟机,会大幅降低效率。除非你从硬件层次上就做出基于概率的计算机,那倒可以考虑。
    pythoner
        39
    pythoner  
       81 天前
    @zmxnv123 这是因为晚上在睡觉的额时候大脑的背景进程在重建了索引,把有关联的数据进行了对应,还进行了磁盘空间清理,把垃圾数据删除。
    所以人需要睡觉,少熬夜。
    v135ex
        40
    v135ex  
       80 天前
    @snw 那么有那种一个东西到嘴边了,就是说不出来,这是什么情况呢
    snw
        41
    snw  
       80 天前 via Android
    @v135ex
    也许是关键突触遇到一些问题导致无法得到概率足够高的结果,无法通过周边其他突触的校验。

    大脑记录方式显然不是某条信息对应物理上的某个突触。一条信息可能由多个突触共同表达(以某种概率解析方式得到结果),一个突触也可能参与多条信息的表达。
    rbw
        42
    rbw  
       80 天前
    大脑记忆和计算是一起的,都是靠节点的链接。它其实更像是机器学习的工作方式,而不是用常规程序的线性理解来理解。
    bugmaker233
        43
    bugmaker233  
       80 天前
    我觉得是二叉树==
    wolfie
        44
    wolfie  
       80 天前
    显然是 散列表 + 树 混用。

    有些时候还会退化到链表。
    mmdsun
        45
    mmdsun  
       79 天前 via iPhone
    有些东西忘记了很模糊,但是多想几次,或者看别的触发了灵感,可以回忆起来。 这种和计算机怎么类比呢?
    Acoolda
        46
    Acoolda  
       78 天前
    怎么可能是 O(1),人有想这个动作。为什么一个东西有时候会想很久才能想到,因为你也遍历脑袋里面的想法。你之所以能很快想到只有一种可能就是备选的数组永远里面只有 1 个值。这不就退化成 O(1)了嘛
    jasonchen168
        47
    jasonchen168  
       78 天前
    不能用计算机的数据结构来分析大脑,完全是两码事?
    AllenTsui
        48
    AllenTsui  
       78 天前
    从我这个普通人的视角来看。
    现在内存、硬盘之类的存储是精确的数字信号存储。数据要么完好,要么损毁。
    而大脑的存储更像是全息存储,信号是叠加态的。与之相似的东西是全息摄影保存的底片,损坏一部分后,仍然能显示全部内容,只是损失部分越大,显示的内容越模糊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   2491 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 03:16 · PVG 11:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.