这只是一种解释,未必是唯一的解释——人脑处理信息中混入主观歧义

第二章 数字成像原理 人类视觉系统人的眼睛有着接收及分析视觉影像的能力,从而组成视知觉,以辨认客观物象信息(如外貌)和所处的空间(如距离),及该目标在外形和空间上的改变。脑部将眼睛接收到的物象信息,分析出四类:有关物象的空间、色彩、形状及动态。有了上述数据,人类可辨认外物和对外物作出及时和适当的反应。就是利用物理传感器代替人眼来测量目标空间、色彩、形状及动态。综合了光学、机械、电子、计算机软硬件、传感器等跨领域的技术;涉及到计算机图像处理、模式识别、人工智能、信号处理、光机电一体化等多个学科门类。 阅读详情

有这么一个简单但深刻的实验:

有这么一个简单但深刻的实验:



我们看到这张图片的第一反应是:5个凸的按钮,1个凹的按钮。

现在仅仅将图片上下颠倒一下:



在我们眼中立即就变成了:1个凸的按钮,5个凹的按钮。

为什么同一副图片,仅仅是上下颠倒一下,我们就对其作出了完全不同的解释呢?

我们知道,视觉图像要到达大脑,首先要在视网膜上成像(视网膜上密密麻麻地排布着感光细胞),刺激感光细胞形成的神经电冲动然后经过一系列复杂的神经通道到达视觉皮层。但后续的繁杂步骤其实都是对视网膜上成的像的处理。这里,对我们的讨论而言视网膜不妨可以看作一张感光胶片,重点在于视网膜上的像完全是一张二维图片。大脑从图像中提取出来的任何信息都以这张二维图片为原始素材。

那么,究竟大脑是怎么从二维图片中看出(推导出)三维的?

其中一个重要的工作就是判定深度。前面的两张图片完全是二维图片,在我们的视网膜上也是二维的。然而大脑却能够从中理解出三维出来,大脑能够判断出一个按钮是“凹”的还是“凸”的。这是怎么办到的?

很简单,假设环境中有光源,并且光源来自上方,那么凸的物体会使其下部出现阴影,凹陷的物体则会在上部出现阴影。于是,图中按钮的下半部出现阴影就意味着按钮是凸的,按钮的上半部出现阴影则代表按钮是凹的。

然而,别忘了,大脑的这个推理成立必须有一个前提,即光线从上方照下来,如果光线从下方照下来的话,一切就反过来了,凸的物体将会使其上部呈现阴影,凹的物体将会使其下部呈现阴影。因此同样的一副图片如果假设光线从下方照耀的话,原来看成凸的物体就应该看成凹的,原来看成凹的就应该看成凸的。

那么,回到我们的第一副图片,你能够看着第一副图片并假想光线从下方照下来,进而把原来凸的按钮看成凹的吗?事实证明这很难,但我们可以做一个等价的事情——将图片上下颠倒一下:考虑到我们总是假设光线从上方照耀以及按钮的上下对称性,颠倒原图就相当于对原来的图片而言假设光线从“下方”照上去了。

我们发现(上文第二张图),一旦颠倒图片之后,果然凹凸就换位了。

这就是说,同一副图片其实有两种(乃至更多)可能的解释,取决于你的大脑到底假定光照来自下方还是上方。但为什么我们看上面两幅图片却不会出现“二义性”的错觉呢?因为在我们生存的环境中始终就有这么一个巨大的来自上方的光源——太阳,漫长的进化已经在我们的神经回路中刻下了“光源来自上方”这样一个强大的假设,所以虽然第一副图片本该完全有两种解释,我们还是不可避免地只看到其中的一种解释,即假设光线来自上方的解释,即使卯足了劲看也难以将凸的看成凹的,因为难以克服进化印刻在大脑中的“光线来自上方”的假设,因此为了让你看到“当光线来自下方时你会看到什么景象”我不得不将图片颠倒一下,结果你就看到原来凸的变成凹的了。

因为这个“光线来自上方”的假设是先验的。

世界在我们眼中其实只是一张二维图片,由于引入了“光照来自上方”这个先验假设,便有了凸凹。否则,文中一开始那张图片中的“按钮”可以是凸的,也可以是凹的,也可以是一张平面的、故意捉弄你的眼睛的画。

最后,我们再来做一个实验,将原图转动90度:



是不是发现凸凹感基本消失了?现在图片看上去更像是透过面板上的一些孔洞看背后的一张黑白条纹纸。前面提到,我们的大脑通过阴影来判断凸凹,在对阴影的“含义”进行推断的时候必须假定光照来自上方,而在这张竖着的图中,假设光照来自上方的话,那些阴影是没有意义的,因为不管凸还是凹,都不会形成这样的阴影,因此我们的大脑便无法判断凸凹了。(注:其实只要稍微把头往某个方向转一下就会看到凸凹了,并且,由于90度的偏角远小于上下颠倒,所以可能不少人还是能够在上图中看出凸凹感来的,只要想象光线来自左方或右方即可,比想象光线来自下方容易多了)。

也许这个实验对你来说过于简单,对于我们大脑中的“光线来自上方”的先验假设你还没有强烈的感觉。下面是一个更强的先验假设——人脸。

我们的大脑有一个神经网络模块负责识别人脸,这也是一块硬编码的神经网络,也就是说我们天生就对任何(类似)人脸的图像敏感,所以随处都看到人脸,稍微类似人脸的图像就会被优先解释为人脸:



当这种对人脸的强大先验假设在与“光线来自上方”假设产生冲突的时候,真正诡异的事情就出现了!



这是卓别林的面具在旋转过程中的四个不同瞬间的截图,左上图是面具正面的正常图像,但右下角是从反面看的情形——这个时侯实际上面具是向内凹陷的面孔,但是我们的大脑欺骗了我们,让我们仍然看到凸的面孔,因为大脑的人脸识别模块对“脸是凸曲面”的先验假设轻易地打败了“光照来自上方”的假设。大脑的逻辑是这样的:如果假设光照来自上方,那么根据阴影来推断这就应该是一张凹陷的脸。但我们又知道所有的脸都是凸的,因此必须推翻光线来自上方的假定才能符合“事实”——当大脑中的两个假设相冲突的时候,更强硬的那个获胜。如果这不是一张人脸面具,我们便可以轻易地意识到是凹陷的了。

Ames’ Room的构造有点复杂,但Ames’ Window是很好造的。

在Ames’ Window和Ames’ Room中,由于我们假设屋子的框架和窗户的框架是平行的,从而会将视觉上平行的窗户看作是与我们相对平行放置的,而将视觉上扭曲(一头宽一头窄)的窗户看作是与我们相对垂直放置的(因为其一端离我们远去从而变小)。事实上我们在现实中正是通过物体大小的变化来判断远近的,这也正是透视法能够在平面纸张上创造出三维视觉效果的原理:



在上文的实验中,我们的大脑由于有“内建”的假设,所以轻而易举地将一些按钮无歧义地解释为凸或者凹(后面我们会看到,虽然先验假设帮助我们消解二义性,但先验知识恰恰也正是偏见的本质来源),我们不免要想:如果缺乏先验知识来消解二义性,会出现什么现象呢?

要消解二义性其实很简单,引入新的evidence:



我们的大脑会综合图片中所有的evidence,以及大脑中原本就有的先验假设,给出最可能的解释。但必须注意的是,如果按照统计学派的观点,应该让数据本身说话,不引入先验假设的话,二维图片就是二维图片,每种解释的可能性都是均等的,但如果考虑了先验假设,那么往往只有一种或几种可能性是靠谱的:



前一阵子互联网上流行的“看你是左脑还是右脑”的“旋转的女人”图片也是绝佳的例子(注:其实这跟左右脑毫无关系):



有人看到顺时针有人看到逆时针。但更多的人看到的是顺时针,正如Necker Cube中更多的人看到的是一个水平放置的方块一样。一种可能的解释是我们对顺时针旋转更为熟悉(先验假设)。

但是如果我们给图片加上一些新的evidence,就会发现变化出现了:





像前面的加上了新的evidence之后的Necker Cube一样,通过对图中旋转的女人的剪影添加轮廓线索,强烈提示了目前这个瞬间到底是正面还是反面。通过这个提示,大脑正确的对二义性进行了消解。

其实,说到底一张二维图片就是一张二维图片(外界物体反射的光线投射到我们的视网膜上也只是留下二维的剪影),其三维解释有N种(甚至无数种),但为什么绝大多数情况下我们的大脑能够一下就锁定在其中的一种可能性解释上呢?皆因我们的大脑对生成这张图片(特别是图片中的阴影)的环境参数有一些先验的假设(如前面提到的“光照来自上方”、“脸是凸曲面——严格来说,鼻子是凸的”)(注意,这些先验假设并不蕴含在图片中,而是我们在长期生活中无意识统计出来的,或者干脆就是漫长的进化过程筛选出来的有价值的先验假设)

我们再来回顾一个经典的视觉现象——色彩恒常性(Color Constancy)。我们已经知道,同一个物体,在不同光照条件下我们知觉到它的颜色是基本不变的。一个青苹果在日挂头顶的中午的白炽光线下看上去是青的,在斜阳西下暗红色的光照下是青的,在清晨淡蓝色的雾霭中还是青的。你可能觉得这很正常,青的本来就是青的,有什么好奇怪的。但问题是如果将我们的眼球换成一个光线接收器,从而客观记录下从苹果表面反*河蟹*的光线的RGB值(红、绿、蓝三色的比例),会发现在不同环境光照条件下,实际从苹果表面反*河蟹*的光线差异是很大的;例如环境光只有长波(红色)的话,那么不管苹果表面的反射比如何,反*河蟹*的光也只能是长波,但为什么我们看起来仍还是青色的呢?

如果我们在一个封闭的箱子中放置一张白纸,让观察者透过暗箱上的一个孔洞来观察这张白纸。那么当我们在箱子内用黄光照的时候,观察者会看到黄纸,用红光照的时候会看到红纸。但如果打开箱子,则不管用什么光照,我们看到的还是白纸。

为什么会出现这种现象?目前为止已经有了一个理论解释框架:尽管同一物体在不同光照条件下反射的光线差异很大,即视网膜接收到的光线差异很大,但视觉皮层对视网膜接收到的光线又进行了一层处理,这层处理就是从视网膜接收到的光线中“抽取”出物体的“真实颜色”。但我们的神经回路如何计算目前还并不最终明确,但有靠谱的逼近算法(被称为retinex algorithm),其中一个简洁的版本是这样的:假设目标物体周围的邻近环境中存在完全反射光线中的绿光成分的物体、也存在完全反射光线中的红光成分的物体、也存在完全反射光线中的蓝光成分的物体,那么只要将眼睛采集到的环境光线中最强的绿光成分Gmax,最强的红光成分Rmax,最强的蓝光成分 Bmax分别记录下来,然后算一下相应的比例即可。

这里,再一次,我们的大脑从一个具有多义性的信息源中抽取出了一种最靠谱的解释。从物体表面的光线并不能唯一确定物体的反射比,一个方程无法解出两个未知数(光照、反射比)。但我们的大脑仍然还是聪明地利用了环境中的evidence,靠谱地解决了这个问题。

然而,接下来的才是我真正想说的,在刚才提到的算法中,一个先验假设是“目标物体周围的邻近环境中存在完全反射光线中的绿光成分的物体…”,问题是如果这个假设不满足呢?戏剧性的错觉就出现了,见下图:



图中白线所指的两个小方块的颜色一样吗?如果你觉得不一样的话,不妨用软件把这两个色块的像素摘取出来对比一下。

以上这些错觉与实际生活多少有点脱离,但我打赌以下这个现象每个人都看到过——只要你去过理发店,因为这个错觉也被叫做(理发店门口的)“旋转彩柱错觉”:





透过条柱看到的黑白条块在往下移动,而透过孔隙看到的黑白条块则往右下方移动。然而,实际上孔隙背后的黑白条纹纸可能正在往下移动,也可能往左移动,实际上其移动的角度有无穷多种可能,为什么我们的大脑只看到了一种可能?

我们的视觉系统通过大量的先验假设来解释投射到我们视网膜上的二维图像。视觉系统感知到的三维图像只是我们的大脑给我们玩的一个小把戏。

在一般人看来,视觉错觉只是拿来哄MM开心的小伎俩,是魔术师的小把戏,“不登大雅之堂”,然而在心理学家和认知神经科学家们眼里,视觉错觉是一个迷人的研究领域,是研究人脑如何处理信息的窗口,正如数学家们透过悖论对数学的奥秘一窥端倪,心理学家们也在透过形形色色的错觉现象探索大脑对信息的处理机制。

以上这些错觉现象实质上揭示了一个深刻的原理,这个原理不仅适用于视觉现象,同样适用于其他心理现象:我们的大脑从外界接受到的信息其实是满含着歧义的,单单从这些信息本身来看,我们应该感到无所适从才是,然而我们的大脑几乎每次都能够从富含歧义的信息中找出最靠谱的解释,作出无比牛B的点估计,这得益于漫长的进化过程,以及我们平常生活中积累的大量先验假设,然而,接下来我们要说到,这些先验假设是双刃剑,其锋刃的另一面就是我们常说的“偏见”。

《Probability Theory, the Logic of Science》上讲了这么一个故事:

一个月黑风高的夜晚,你是一位警察,在一条荒无人烟的街上巡逻,忽然听到入室盗窃自动警报,你转头望去,发现街对面的珠宝店的玻璃窗户破了个大洞,一个蒙面的家伙背着一个鼓鼓囊囊的的包正从窗户中爬出来,此时,你一定毫不迟疑地断定这个人就是强盗。你是怎么推断的呢?

《疯狂的赛车》里,耿浩到庙里取了骨灰,一出门看到几个黑社会老大模样的家伙,以为是殡仪馆的人,而对方却以为耿浩是杀了泰国佬的地头蛇,并把耿浩手里的骨灰盒当成了藏毒品的工具,还一通佩服,结果一桩阴差阳错的生意就做成了。他们又是怎么推断的呢?

正如以前听过的一句话所说:对于日常生活中的事件,总有一个平凡的解释,和一个疯狂的解释。

例一中的那个背着包的人可能是珠宝店的老板,从假面舞会回来,身上没带钥匙,当他走过自己的珠宝店的时候,一辆卡车呼啸而过,轧飞的石子把他的珠宝店窗玻璃打碎了,为了保护他自己的珠宝,他只能进去把珠宝收起来带走。

至于《疯狂的赛车》,另一种解释不用我说了。

有这么一个故事:

我有个朋友前些日子刚结完婚,这里有一个故事。他本身并不富裕,因此呢,就跟媳妇商量,咱能不能一切从简,什么三金,(就是金项链、金戒指、金耳环)也就都免了吧,媳妇说这是家里规矩,不能同意,这边老丈人当然就更不同意了,非逼着我这穷哥们买三金,给一万元礼钱。

最后,没办法,我这朋友东挪西借把东西弄齐了,婚礼上,老丈人也给新郎一个红包,可我这哥们却始终憋着一股气,接过来之后终于没按耐住,爆发了,你猜怎么?他把红包给撕了扔地上,后来大家就劝他别这样,结婚呢,好不容易安抚下来,有人就说,你把彩礼捡起来吧,看看到底给你多少钱,结果他捡起来一看,是一张存折,上面显示有十万元存款。

原来老丈人并不是想要从男方家捞什么钱,只不过就是认为按照自家风俗这些时必须的,否则女儿嫁的太不风光了。仅此而已。

故事中的这位朋友又是怎么推断的呢?他所得到的信息仅仅是他的丈人坚持要他给礼钱,他并没有得到关于丈人这么做的意图的信息。丈人的意图只是他自己的推断,他对丈人意图的推断只是一种可能性,并非唯一的可能性。然而他仍然还是不可避免地陷入了对自己推断的过分信任的陷阱,一旦脆弱的自尊被触发,接踵而来的便是一连串情绪化的、自动化的行为(仿佛汽车挂上了自动挡)。

想一想生活中有多少误解是由于自以为是地对别人的意图的误读而导致的呢?

我们总是混淆“事实”和“推断”,尤其是当我们对推断的确信度很高的时候,或者某种推断对我们有利的时候,或者当这个推断源于大脑天生的偏见的时候,例如,将关联误当作因果就是我们的认知死穴之一:



当知识有硬性局限的时候,就算持有Open Mind甚至也是不够的:



古罗马哲学家Lucretius认为,宇宙是无限的。让我们来看一看他的经典论证。假设宇宙是有限的。我们往宇宙的边界投掷一根标枪。则我们将看到以下两种情况之一:这根标枪穿过边界飞向远方,这说明宇宙并无边界,它是无限的;或者这根标枪一头装上宇宙边界停了下来,这说明边界外“有东西”挡住了标枪,同样说明宇宙是无界的。

我想说的是,在我们的知识体系里面还不存在“有限无界”这个概念的时候,上面的推理真的很滑稽吗?我们现在的知识体系和古希腊相比固然得到了极大的进步,但是我们真的变得更“聪明”了吗?要知道推理的引擎(演绎和归纳)几十万年来却并没有变化,我们只是站在巨人(数千年知识的积累)的肩膀上,但这个巨人的高度并不属于我们自己,我们有什么理由五十步笑百步呢?

我们太可能因为受到知识的局限性而对事物的看法产生无法消除的偏见,有时候打破这种偏见的唯一途径就是开阔视野,多积累知识,以及和具有不同知识背景的人讨论,否则就算抱着“我可能是错的”这种信念,你也不知道怎么去证伪自己的一个猜测。

关于我们大脑中的先验假设能够对我们的日常推理和记忆造成多大的影响,有这样一个经典的实验:

1981年,两位心理学家Brewer和Treyens作了这么一个实验:

召集一些人,告知他们将会参加一项学术研究计划,实验者先带领他们来到一间办公室,让他们稍加等候,一段时间之后,叫他们出来,并询问他们记得办公室里面有哪些东西。一些人声称看到了书,然而实际上办公室里面根本没有书。

这里的原理是显而易见的,我们期望在一个学术机构的办公室里面看到典型的事物——书。当我们的直接记忆并不深刻或者我们当时等候的时候并没有刻意留心屋子内的摆设和物品时,我们会依靠之前生活中积累出来的先验假设进行推理,填充记忆的模糊或空白。关于虚假记忆的研究也表明,我们的记忆并不像电脑的存储设施那样,忠实记录,然后忠实读取,而是在记录和读取的时候都是相当程度上“构建性”的,而构建所用的“素材”则是我们之前在生活中积累出来的经验。这也是为什么同一个故事经不同的人口口相传之后会出现形形色色的版本的原因。

最后再来一个例子,生动地说明了我们在平常生活中积累的偏见有多深:

问题:现在有两个孩子,张森和李梅,其中一个孩子有四个卡车玩具,你认为是谁?

问题:莉莉和丁丁谁将来更可能成为护士?

尽管我们只拥有他们的名字,名字本身只是任意的汉字,自身并不携带信息(从一个角度来说),但就连三岁的小孩也能对这两个问题给出“靠谱”的答案。

当然我们也可以说偏见代表着长期积累的生活经验,能够使我们事先就对未知对象的属性进行靠谱的预测,但另一方面,偏见也很可能成为自我时间的预言和自我妨碍的篱笆:女孩和男孩的数学智商真的有显著差异吗?但受文化影响,女孩认为自己更不擅长数学和理科,这个自我信念从两个角度产生作用,第一,它会让女生倾向于投入更少地时间在理科上,从而导致更低的理科成绩,结果进一步强化了她的“我的数学不好”的信念。这几乎是一个死循环。第二,人们为了维护对自我的信念,会拒绝接受与之相反的信息,如果那一次她数学考得不错,她会寻找外部理由,譬如“只是凑巧罢了”,虽然这种把自己看低的心理过程有点不可思议,但这的确是心理学家们实验证实的结果。

在社会文化方面,人们常用“仁者见仁、智者见智”这个俗语来指代三种现象:

1) 偏见:不同的人戴着不同的有色眼镜,对同一现象产生不同的理解或解释。是平凡的解释还是阴谋论的解释?存乎一心。

2) 立场:例如对于“生活的意义”没有统一的标准公理,因此每种生活都是合理的,各人可以持有不同的价值观,优化不同的目标函数。

3) 选择性关注:对于同一事物,不同的人关注的点不一样,象有四腿,各摸一条。

与 “仁者见仁、智者见智”这个俗语的褒义色彩相反,这里除了第二点是中性的之外,另外两点都不能算是好事,譬如程序员在做项目的时候经常只选择性地关注“使用的技术是否有意思,是否有挑战性,是否好玩,我能否从中得到乐趣,是否能学到新东西”,而并不是关注最应该关注的“如何以最小成本达成项目成功”。至于第一点——偏见——就不用多说了,前文已经说得够多了。

偏见在我们解决问题、认识世界的过程中都起到了很大的影响,并且很多时候是不好的影响。因此,让我们经常和具有不同信念和知识背景的人讨论,弥补个人经验知识的局限性导致的偏差,并时常使用以下这句话来提醒自己keep an open mind吧:

“这只是一种解释(可能),未必是唯一的解释(可能)。(想不出其他解释不代表就不存在其他解释)。

KimiClaw:面向内容工作者的可信结构化信息处理工作流 结构化信息提取是AI落地内容生产的关键环节,其核心在于平衡语义理解深度与输出可验证性。传统方法依赖规则引擎或提示工程,易陷入幻觉与不可追溯困境;而基于大模型的智能技能协议(如KimiClaw)通过输入-过程-输出三重契约约束,实现上下文感知的精准语义抓取与SOURCE_REF归因标记。该技术显著提升会议纪要提炼、竞品功能对比、用户反馈聚类等高频场景的交付可信度与人机协作效率,广泛应用于产品、运营、合规及咨询等需快速响应多源非结构化文本的职业场景。 阅读详情

相关推荐

手工音频特征 vs Spotify黑箱:流派分类的可解释性实战

音乐流派分类是音频理解的基础任务,其本质是将声学信号映射到语义标签的空间。原理上依赖节奏、频谱、时域与高级感知特征的协同建模,技术价值在于提供可归因、低依赖、易调试的预测逻辑,尤其适用于小样本、高解释性需求场景。典型应用包括智能歌单生成、内容运营标签补全、推荐系统可解释性增强及黑箱模型能力边界评估。本文聚焦音频特征工程与传统机器学习建模路径,通过32维手工设计声学特征(如MFCC、Chroma、Tempo稳定性、Roughness)构建XGBoost分类器,并以Spotify API作为外部验证基准,实现透

abo1977的博客 359

为什么人往往只能看到自己愿意相信的真相

这就是为什么人往往只能看到自己愿意相信的真相 来源: http://blog.renren.com/GetEntry.do?id=721483207&owner=264455359 有这么一个简单但深刻的实验: 我们看到这张图片的第一反应是:5个凸的按钮,1个凹的按钮。 现在仅仅将图片上下颠倒一下: 在我们眼中立即就变成了:1个凸的按钮,5个凹

bloodfirst2009的专栏 3009

大模型幻觉的根源与三重防御实战指南

大语言模型(LLM)的‘幻觉’并非偶然错误,而是其基于统计概率生成文本的本质所决定的系统性现象。它源于训练数据的信息噪声、自回归建模中缺失‘事实正确性’优化目标、注意力机制与解码采样带来的理解偏差,以及上下文窗口限制下的记忆衰减。这种现象在金融、医疗、法律等高风险场景中可能引发严重后果,因此亟需可落地的技术应对策略。当前最有效的实践路径是构建RAG增强检索、输出后处理校验与人机协同工作流组成的三重防御体系,兼顾准确性、可控性与工程可行性。本文聚焦于生产环境中已验证的幻觉识别、拦截与缓解方法。

weixin_34198453的博客 439

关于人脑成像的疑问

现在大部分都在把人脑成像当做数据laichula

人品基数大的专栏 765

Qwen3.6-Plus与Claude 4 Opus真实体感对比:从合同审查到SOP执行的工程级评测

大语言模型选型正从benchmark跑分转向真实业务体感——即模型在高噪、长上下文、多源冲突等复杂场景下的逻辑稳定性与意图保真能力。Qwen3.6-Plus凭借强中文语义理解与低延迟优势,在结构化任务和本地化适配中表现突出;而Claude 4 Opus则以卓越的长链推理、抗干扰稳定性及零样本工具调用能力,显著降低prompt工程成本与人工校验负担。二者差异本质是‘任务指纹’匹配问题:前者适合实时响应与制造业知识库等标准化场景,后者更胜任合同交叉验证、多跳客服话术生成等非结构化高容错需求。本文基于4类企业级真

weixin_32597009的博客 265

Auto Research能力测评:47个无标准答案的真实压力测试

Auto Research(自动研究)是一种面向真实科研与商业分析场景的智能体协同范式,其核心在于处理模糊需求、矛盾信源与动态知识的能力。它超越传统NLP或RAG系统,强调过程透明度、风险感知力与人机协同友好度三大技术价值。在技术落地中,Auto Research已广泛应用于竞品分析、ESG验证、专利研判、供应链尽调等高不确定性任务场景。本文聚焦业内公认的‘47题能力必测榜’,解析其如何通过多源异构融合、认知陷阱设计与三维动态评估,构建起对Agent真实研究能力的压力测试体系。

weixin_33462927的博客 344

LLM搜索代理的背书脆弱性:当网页内容操纵威胁AI信息可信度

在信息检索与知识合成领域,大语言模型驱动的搜索代理正成为关键工具。其核心原理是通过解析用户查询、检索网络信息、综合多源内容并生成答案,实现智能问答。然而,这一流程存在显著的技术风险:模型可能对检索到的被操纵或污染网页内容进行不当“背书”,从而传播错误信息。这种“背书脆弱性”不仅影响答案的准确性,更在金融、医疗、学术等高价值决策场景中构成潜在威胁。攻击者可通过事实污染、观点极端化、SEO投毒等手法,利用代理对网页表面权威线索的依赖和“多数即真理”的归纳倾向,系统性地影响输出。为应对此挑战,需从增强源头过滤、优

weixin_30414305的博客 441

Claude 3 Opus vs GPT-4 vs Gemini 1.5 Pro:三大AI模型实战对比评测

大语言模型作为人工智能领域的核心技术,通过海量数据训练和Transformer架构,实现了对自然语言的深度理解和生成。其原理基于注意力机制,能够捕捉文本中的长距离依赖关系,从而完成翻译、摘要、对话等复杂任务。这项技术的价值在于大幅提升了人机交互的效率和自然度,成为推动产业智能化转型的关键引擎。在实际应用场景中,开发者需要根据具体需求选择合适的模型,例如代码生成、长文档分析、创意写作等不同任务对模型能力有差异化要求。本文聚焦于当前三大主流模型——Claude 3 Opus、GPT-4和Gemini 1.5 P

weixin_30617797的博客 370

stm 1.3.6 R包中文文本分析实战:从分词到主题建模的5步避坑指南

本文详细介绍了使用STM 1.3.6 R包进行中文文本分析的5步避坑指南,从分词到主题建模的全流程。重点解析了结构主题模型(STM)在中文处理中的独特优势,包括元数据整合、主题流行度动态调整等,并提供了分词、停用词处理、模型配置等实战代码示例,帮助研究者有效规避中文文本分析的常见陷阱。

weixin_34080571的博客 391

数据不完美是常态:七种本征缺陷与五层防御验证体系

在数据科学实践中,‘数据质量’并非简单的清洗任务,而是关乎业务可信度的系统性工程。从传感器测量误差、采样偏差到语义漂移、时序失真,数据天然携带多种不可消除的本征噪声——这些不是故障,而是其作为现实映射产物的物理属性。理解并量化这类不完美,是构建鲁棒模型的前提。本文聚焦数据可信度建设,深入解析采样偏差、测量误差等核心热词所代表的典型失真形态,提出覆盖源头校验、血缘追踪、语义快照、模型反馈与专家探针的五层纵深防御机制,并提供可落地的数据健康度快筛清单与诊断四象限法,助力工程师在真实业务场景中实现从‘被动救火’到

chongyuwan4121的博客 420

LLM底层原理:概率预测、数据压缩与高维语义空间

大语言模型(LLM)并非神秘黑箱,其核心是基于海量文本学习条件概率分布P(wₙ|w₁,…,wₙ₋₁),本质是一种超大规模数据的统计建模与高效压缩。通过Transformer架构在高维潜在空间中构建词向量关系,实现语义相似性度量与上下文感知生成。这种‘猜下一个词’机制虽简单,却因参数规模、上下文长度与训练数据量的指数级增长,涌现出推理、类比与风格迁移等能力。然而,压缩过程会固化数据中的统计偏差,导致幻觉与偏见;而高维语义空间的导航依赖于训练数据的分布质量,缺乏显式逻辑规划能力。理解这些原理,是构建可解释、可治

蓝色妖姬 439

意义子最简汉语语义拓扑编码体系构造与不动点证明(世毫九实验室原创研究)

本研究基于世毫九理论的意义子拓扑空间(维度2,基本群平凡,二阶同伦群为无穷自由阿贝尔群),构建了一套汉语语义拓扑编码体系。通过六阶段研究:1)建立数学公理体系;2)锚定汉语元语义基元;3)构造复合语义缠绕模型;4)提出矛盾/歧义/语境拓扑判据;5)证明短句理解等价于自指不动点收敛;6)完成小规模实证验证。研究严格限定于基础理论构造,不涉及全域语义覆盖、工程实现及大模型对比,实现了语言理解从统计范式向拓扑几何范式的革新,为可解释的认知模型提供了数学基础。

方见华 369

概率整形 Peobabilistic Shaping PS 第一节

概率整形概述 概率整形(Peobabilistic Shaping, PS)是一种针对于调制格式的优化技术,它为光通信通信提供了非常高的灵活性,但不会增加系统复杂性。尤其是光通信中的非线性问题会限制功率,使得PS就像为光通信量身定做的一样。 PS技术能够在不增加发送功率的前提下,获得高频谱效率和传输容量。2016年在使用PS技术的实验中实现了6600km单模光纤的65Tbit/s数据的传输。 到目前位置PS技术的研究主要集中在具有相干检测的单载波光纤传输。 概率整形的基本原理 概率整形技术就是通过在编码前

Explore_OuO的博客 8126

RAG信息检索优化实战:提升召回准确率的三大核心策略

信息检索(IR)是RAG系统的核心枢纽,其本质不是简单匹配文本,而是精准锚定支撑答案的事实性知识片段。其原理依赖于多维相关性建模——既需TF/IDF等词项统计的可解释硬规则,也需Query-Document格式对齐实现语义意图对齐,更离不开细粒度分块保障信息纯度。这种混合式IR技术显著提升大模型输入质量,降低幻觉风险,直接决定RAG在金融、医疗、政务等高可信场景的落地成败。本文聚焦真实生产环境中的IR调优方法论,涵盖混合搜索动态加权、文档主动提问转化、段落级结构感知分块等关键技术路径。

weixin_30376509的博客 297

【Matlab深度学习】GPU加速实战:从环境配置到性能优化

本文详细介绍了如何在Matlab中为深度学习任务配置GPU加速环境并进行性能优化。文章从GPU加速的必要性讲起,手把手指导安装NVIDIA驱动、CUDA和cuDNN核心三件套,并验证环境。重点讲解了如何利用gpuArray将数据和模型迁移至GPU,以及通过内存优化、计算优化和多GPU并行等策略充分释放GPU算力,大幅缩短深度学习模型的训练时间。

weixin_29061465的博客 492

解决 python2.7中 ImportError: No module named Crypto.Signature

我的解决办法,先查看有没有安装 pip,直接执行pip 回车 没有出现null什么的就安装了,如果没有安装去其他博客哪里看一下,正常情况是默认就有的,然后使用。发现我自己也不会啊,就百度看看,想着网上的解决方法一大片,但是都是废话,能用的没有几个,而且能安装的没有几个。这个里面的python2、3就是系统里面的python版本,直接跟我这样就可以了除非版本不一样,也就是没有这个版本。就可以使用了,第一个应该是卸载之前的,然后重新安装,我的就是这样解决的。就比如我的,我现在使用的 python2.7。

记录一下 1610

Lark CLI 日历 Skill 实战:模糊时间与无时间信息场景下的 suggestion + room-find 协同调度

> 本指南聚焦飞书官方 CLI(lark-cli)`lark-calendar` Skill 中一类高频且最容易"翻车"的场景:用户给出的时间**模糊**(如"明天下午""下周找个时间")或**完全没有时间信息**(如"帮我约个会""查个会议室")。文章完整讲解"`+suggestion` 产出候选时间块 → 按需 `+room-find` 批量查会议室 → 用户确认后落地"的标准链路,覆盖命令参

gitblog_00882的博客 319

《UDS协议从入门到精通》系列——图解0x34:请求下载

上传下载类服务之0x34-请求下载,图解请求+响应格式,直观易懂,快速上手!!

车载系统攻城狮 4930

Claude隐式system层归零:从默认人格到语义契约的范式迁移

在大语言模型工程实践中,'system prompt'作为控制AI行为的关键机制,长期承担角色设定、格式约束与安全对齐等多重职能。其底层原理是通过预置文本干预模型推理路径,但由此引发指令冲突、上下文漂移与可解释性缺失等系统性问题。随着Anthropic推动隐式系统指令层‘归零’,技术价值转向提升意图识别精度、强化格式遵从率与明确责任边界。该演进广泛应用于RAG增强、多轮对话管理、金融/法律等高确定性输出场景,并倒逼开发者将控制逻辑从静态system字段内化至动态用户消息结构中,标志着LLM接口设计由经验驱动

duiker 464

Python爬虫实战:携程/飞猪酒店信息爬取与动态价格分析

在当今数字化旅游时代,酒店预订平台的复杂筛选条件和动态定价机制为数据分析和价格监控带来了巨大挑战。本文将深入探讨如何使用最新的Python爬虫技术来抓取携程和飞猪平台的酒店信息,处理复杂的筛选条件,并解析动态价格数据。本文详细介绍了如何使用最新的Python爬虫技术来抓取携程和飞猪平台的酒店信息。通过结合httpxplaywrightparsel强大的反反爬虫能力:通过浏览器指纹伪装、请求签名、智能延迟等技术应对各种反爬措施高效的数据解析:使用CSS选择器和XPath精确提取所需信息灵活的数据存储。

2201_76125261的博客 414

手机直连低轨卫星通信:架构、关键技术和未来展望

【摘 要】借助低轨卫星星座全时全域覆盖优势,手机直连卫星通信预期成为6G重要特征之一。首先介绍了手机直连卫星的测试验证、标准化与商业项目发展现状。其次,介绍了基于透明转发、部分可再生处理、完全可再生处理、集成接入和回传的四种手机直连低轨卫星网络架构及组网方式。通过分析手机直连低轨卫星网络场景下高移动性与大传输时延等带来的接入与传输问题,提出对地面移动通信体制进行适应性改进的关键技术方案。最后,探讨了未来手机直连低轨卫星发展发向和潜在思路。通过上述阐述与分析,提供未来发展手机直连低轨卫星通信的可行路径。【关

fzq0625的博客 1707

扮演一次语言模型:理解Token、上下文窗口与生成机制

大语言模型的输出看似连贯,但底层是由离散 Token 逐字推进的。理解生成机制,首先要建立 Token 化与上下文窗口的视角:文本被切分为基本单元,模型只能看到窗口内的局部信息,并在每一步按概率分布选择下一个 Token。采样参数如 temperature、top-p 进一步影响候选集合的随机性与集中度。这一原理对 prompt engineering 与调试生成结果具有直接价值:许多输出异常并非模型能力问题,而是上下文截断、参数设置或停止条件不当所致。在 agent 应用、结构化输出与长文本生成等场景中,

weixin_34015336的博客 395

芒果YOLOv8改进52:主干Backbone篇之GhostNetV2:提出原创GhostNetV2 架构升级版:引入长距离注意力机制增强廉价操作,构建更强端侧轻量型骨干,打造高效轻量级检测器

长距离注意力机制增强廉价操作,打造轻量级检测器

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1612

SeqGPT-560m生成质量提升:基于vivid_gen.py的few-shot prompt优化方案

本文介绍了如何在星图GPU平台上自动化部署AI 语义搜索与轻量化生成实战项目 (GTE + SeqGPT)镜像,显著提升SeqGPT-560m的文本生成质量。通过vivid_gen.py实现few-shot prompt优化,可稳定生成格式合规、信息完整的会议纪要摘要、内部通知标题等业务文本,适用于企业知识管理与办公自动化场景。

weixin_35886636的博客 350

车载以太网测试-3【Wireshark介绍】

数据包捕获支持从多种网络接口(如以太网、Wi-Fi、蓝牙等)捕获数据包。可以实时捕获或从文件中读取已捕获的数据包。协议解析支持解析数百种网络协议(如 TCP/IP、HTTP、DNS、FTP 等)。能够深入解析协议头部和负载,帮助用户理解网络通信的细节。过滤功能提供强大的显示过滤器和捕获过滤器,帮助用户快速定位和分析感兴趣的数据包。支持基于协议、IP地址、端口号等多种条件的过滤。统计和分析提供多种统计工具,如流量图、会话统计、协议分层统计等。

车载网络测试工程师的博客 1989

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

软件工程:需求分析的过程

文章摘要 需求分析是软件工程中连接用户需求与系统设计的关键环节,其系统化过程包括需求获取、分析、规格说明、验证和管理五大阶段。需求获取通过访谈、问卷、观察等方法收集原始需求,需注意覆盖所有利益相关者并深挖业务本质。需求分析阶段则对需求进行分类(功能、非功能、约束)、建模和细化,解决模糊矛盾点。该过程具有迭代性、协作性和创造性特点,需根据项目类型选择瀑布、迭代或敏捷模型。核心挑战在于准确转化用户诉求为可验证的系统需求,避免因需求偏差导致项目失败(超40%项目因此失败)。最佳实践强调多角色参与、需求追溯和持续验

梁辰兴的博客 389

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 使用直方图比较图像的相似度
下一篇: 视频的结构化描述
随风而去飘飘飘
博客等级 码龄19年 620粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值