第8章
返回目录 第10次会议纪要9月16日
9:00-12:00本次会议原本是想讨论记忆的大致实现,但是中间跑题到了视觉。
以下为发言记录整理:
码农:先确定数据结构?
人形:能够快速变化自身结构的结构,对各种信息结构兼容最好的结构,就是点边组成的图结构。
码农:一段记忆是一张图还是多个图呢。
2048:如果是没有什么关联的记忆,多个图也没事吧。
李德万:记忆大致是个什么结构,工作记忆、短时记忆、长期记忆之间什么关系,和信息回路是怎么对接的吧。
人形:这些记忆都可以是图。工作记忆应该包含自感知的外部世界和自身状态中被注意的信息。短时记忆是工作记忆的近期记录。长期记忆包含传记式的亲身记忆和常识、各领域知识和技能。工作记忆是回路的一部分。工作记忆中注意信息处理后,失去注意力消失,只留在短时记忆中。
群演龙套:消失?
2048:好像可以这样设计。原来的信息回路是感知注意信息1→本能或(认知→思维)→行为或放弃→感知注意信息1的变化。感知注意信息1假设为肉包子,任务过程中被吃,信息源减弱。任务完成吃光光,信息源就消失了。接着就是感知注意信息2。以后如果不触发回忆,工作记忆里就没有吃掉的肉包子了。任务过程中信息1的变化会一直被短时记忆记录。
码农:短时记忆一直记录,怎么设计,如果记录每次回路的状态,数据量会疯涨啊。
2048:没什么事的,记住的时候同时也快速忘记就好了。比如肉包子初始、肚子饿→本能→吃→肉包子味道、肉包子的变化(被咬)、肚子的变化,这个信息记录7次,然后每次记住的时候都忘记一些,就会变成包子(初始、第1口、第5口,第7口最后1口)→吃→包子消失,肚子饱感+5。再过段时间,吃包子的事情可能就剩下味道,其余全忘掉了。
码农:长期记忆也是类似这样做吗。
2048:从效率考虑,可以做梦时再处理,也没有必要在清醒期间时时时刻刻将这些不一定有多大用处的细节写入长期记忆。短时记忆可以作为一个缓存。至于缓存多大比较好,遗忘的因素和速度等参数,估计得实际测试了。
渣男:这样是可以,但是感觉不是很自然。一堆神经细胞通过突触组成的脑子里,就只有脉冲,为什么会出现能够不停的记录信息的功能呢。
群演龙套:机器有机器的办法,不如加个时间戳,不断添加短时记忆、长期记忆?
人形:时间戳不行,有点生硬。要使用一些日期时间算法,然后机器还得内置对于日期时间的理解,量词的用法,又涉及语言字符。
NLP:就说你们绕不过语言。还是想想从语言解决吧。
码农:加个时间戳的话,记录会增加很快的,检索也麻烦。
2048:要自然一点的话,可以用自感知回路实现。某感官通道输入信息,通道另一边是回路返回的上一刻该通道信息。两个信息对比,就能产生差异变化的信息。迭代这个过程,当前-上一刻-变化-再上一刻……,这样就能形成记忆链条了。链条变长的时候,通过遗忘作用,生成比较大的时间尺度的变化基元,变成当前-短时变化-刚才-…-1小时的变化-1小时以前-…-1天,1月,1年的变化和相对的“以前”。1小时之前的“1月以前”和现在的“1月以前”相对来说是基本不变的,就不会做没意义的迭代,成为一个长期记忆区。
软萌:这样的方法可以实现亲身叙述性记忆和常识。如果没有什么特殊情况,我记得最近做了什么,比一年、五年前做了什么要有细节。经常被刷到的信息,结构相对稳定的就会体现为常识。
2048:如果刷记忆的时候提取共性、规律性,在自感知回路中,该过程可以不断重复迭代,对多个不同时间空间尺度的变化做特征提取,寻找模式,就可以逐步形成认知基元、理性基元、常识逻辑推理基元,分化出思维、推理、演绎、总结等功能。
NLP:想得很美呀,就是不知道实际如何了。
码农:硬件资源上划分一块什么样子的区域作为缓存和工作记忆?
2048:机器载体是单机的就划一块内存,网络的划一些计算节点,看整体机器是什么情况。
李德万:记忆数据结构确定是图了,怎么生成这个图。
2048:假设要记住一个场景,先用一帧的静态视觉来说吧。人眼睛是有黄斑区的,我觉得这个可以抄。两个摄像头,人眼睛是有辐辏调整的,也就是双眼光轴可以从平行连续调整到远交叉、近交叉,我觉得也可以抄。
群演龙套:等等,抄黄斑区好说,为什么辐辏调整也要抄?光轴平行不好吗。
码农:是啊,平行光轴可以用一些现成的视觉库,省事啊。
人形:是省事,可那些库的效果并不好。而且这样做,智能的自主能力就差,如果有bug或优化、功能增强,还需要不时升级库版本。应该是能后天学习的就不要内置,先天的功能越少越好。复杂的功能应该都是后天学习的,不是设计者写好一堆数学库来处理图像。要更好的自主,还要有具身,能自主与环境交互,而不需要总是被喂数据被动学习。
群演龙套:后天学习应该挺难的吧,现在有各种现成的,先快速实现一个版本不好吗,自主学习版本可以后面再做。
码农:巨巨有了意识,可以做有效率有目的性的进行自监督自主导向的学习和交互,和设计者给巨巨助手内置一些功能和库,不矛盾的。视觉有现成的平行光轴硬件和驱动库,语音识别,NLP也可以直接用上。
2048:还是不行的,现有的视觉库提供的是图像预处理方面的去除或者降低噪声,模糊化,锐化,膨胀,腐蚀等;特征提取方面的人脸检测,行人检测,纹理,字符识别;测距、边缘提取,都只是些单一的初步加工的功能,并没有想像中那么强大。语音识别也就是输出文字,但是智能天生理解文字吗?自然语言理解就不说了,那么多年了,真的快不起来。
群演龙套:那么生物的视觉是怎么做的,为什么现在那些企业不按照生物方法来做视觉呢。
人形:自然是因为没搞懂生物脑子是怎么做的啊。
群演龙套:那我们几个吹吹牛就能搞懂了么?
2048:试试看咯。先说一下生物脑子怎么干的吧。生物双眼视有个必不可少的融像能力,通俗的说就是当两个眼睛看到一个物体时,通过大脑皮层把物像综合成一个完整的像。这功能是要借助辐辏调整来完成的。
在机器上,两个摄像头如果是采用中央清晰,周边模糊的仿生处理来减少数据量,分别考虑不同光轴的情况。
平行光轴,其中一只摄像头图像中寻找引起注意力的物体,对焦。此时另一只摄像头虽然也可以对焦到该平面,但无法通过辐辏调整让目标物体同时落到视野中心。于是做不到图像的良好融合。于是,要么放弃黄斑区仿生设计,采用水平条幅高清处理、占用较大计算资源的方法来完成融合,要么就通过调整光轴夹角的方法,付出动眼成本去完成融合。
可变角度光轴,当视野中心的图像不是同一个物体时,以其中一只眼睛注视某注意力物体,从光轴方向和聚焦情况,大致定位到物体距离和方向,另一只眼睛据此快速进行辐辏调整,双眼都聚焦在同一个地方,聚焦之外的物体则被虚化,只精细处理视野中心高度接近的图像和双眼的角度信息,完成立体视象融合。同时,辐辏调整形成的双目光轴夹角信息,也可以进一步的获取比较准确的距离。辐辏调整步骤在多次配合后,可以形成熟练反射,减少动眼时的同步计算成本。
码农:先融合,再提取特征转化为图?
2048:不知道,也许先提取特征转为图了,再融合会好一点?
码农:怎么在计算机存储器里表达这个融合的立体视觉融像图呢,3D建模?
人形:3D建模太生硬了,还得写不少3D处理的代码。
2048:我觉得也许可以用多图信息+注意力索引图的方式融合。视野中心是精细一点的距离信息图,周边是模糊一点的距离信息图。类推,颜色图、亮度图、边缘阴影,归集到一个全视野的当前注意力分布情况座标索引图。查询这个图的信息时,选定注意力索引图中的一个节点,就会同时关联到其他多个图中的对应颜色、亮度、距离等节点。
码农:座标用什么作为单位?一帧的图生成了。然后呢,如何保存到记忆。原样复制?
2048:座标用多个尺度为单位,可以按角度的1度2度来分,也可以三分之一五分之一的视野比例角度来分。立体视觉的图生成后,如果场景里有同时有别的感官体验图,可以同样用一个注意力分布索引图关联多个感官信息图,再下级关联多个不同“频道”图的方法,最后得到一个当前这一刻的注意力分布,和相应注意到的感官信息的场景图。这个场景图信息量比较大,先做缓存。等下一帧的场景图来了,和前一刻的场景图做差异比较,提取变化的感官信息,用于分布注意力依据之一。同时获取注意力的变化信息,已经注意过的就减少分配机率。当前注意力分布集中区域的信息作为工作记忆。
码农:怎么保存场景信息进记忆里去?
2048:数据是立体融合后的,原子性的特征为节点,节点之间关联性为边的图。保存方法可以用图数据库保存一个图或者kv里加一些条目。
李德万:记忆问题基本这样。对于机器来说,什么是我呢。如果不是硬件损坏造成信息结构被破坏,机器会死么。
群演龙套:这问题好像有点远吧。
李德万:不远。机器形成自我意识,就必然会思考这个问题,生存和死亡。下次讨论。
完。