「当AI学会发脾气」—— 一个类脑认知系统的诞生记
7个版本迭代Python脚本,教会AI像人一样焦虑、兴奋、犯错和成长
📚全系列文章:
- 从零开始:给AI装一个最简单的"大脑"
- 让AI"看见"世界——可视化的力量
- 当AI遇到墙——障碍物与路径规划
- 👉 给AI装上"近视眼镜"——有限感知的魔力(本篇)
- AI的第一堂强化学习课——奖励与惩罚
- 给AI一个完整的大脑——多模块协同
- 大脑进化:当AI学会用LLM思考
- 终章:一个会发脾气的AI是如何炼成的
📌核心比喻:想象你被迫戴上了一副"近视眼镜",只能看清面前2米的东西——远处的一切都隐没在浓雾中。你必须一边走一边摸索,在脑中慢慢拼出整个世界的地图。这,就是今天我们要给AI做的事情。
⏱️阅读时间:约20分钟
🎯学习目标:
- 理解为什么"看不清"反而让AI更聪明
- 掌握心智地图(Mental Map)的概念和实现
- 理解Epsilon-Greedy策略的"探索vs利用"难题
- 见识AI的第一个认知偏差——目标固着
📝 文章摘要
上一篇里,我们的AI是个开了"上帝视角"的超人——它能看到整张地图的每一个角落,精准地BFS找出最短路径,26步到达终点,完美得不像话。
但问题来了:你见过哪个人能看到整个迷宫的全貌?
试想想你第一次去一个陌生的商场。你能一眼看到所有店铺的分布吗?你能立刻找到最短的路径到达你想去的店吗?你能知道哪个电梯最快吗?
不能。你只能看到眼前这一小片区域。其他的,得走过去才知道。
再想想人类的大脑。神经科学告诉我们,我们的视觉系统实际上只能同时清晰处理很小一片区域(中央凹视觉,foveal vision),外围的信息是模糊的。我们觉得自己"看得很清楚",其实大部分是大脑在"补全"——用记忆和推理填充视觉盲区。我们的AI在V4里做的事情非常类似:视野内是清晰的感知,视野外则依赖心智地图的"记忆"。
这一篇,我们要做一件大胆的事——把AI的"千里眼"换成"近视眼镜"。它只能看到周围5×5的范围,剩下的全是未知。它必须在脑中建立一张"心智地图",像人类在陌生城市里摸索一样,一边走、一边记、一边决策。
结果呢?路径从26步暴涨到66步,还会碰壁、犹豫、走弯路——甚至出现了一个经典的认知偏差:目标固着。
听起来变"笨"了?恰恰相反,这才是真正的智能的起点。因为完美不是智能,在不完美中做出好决定才是。
为什么我说这是"真正的智能的起点"?因为V4第一次让AI展现出了认知过程——不只是结果(到达终点),而是过程(如何到达终点)。而认知过程,正是所有高级智能的基础。
🎯 你需要先了解
📖前置阅读:第3篇:当AI遇到墙——障碍物与路径规划
你需要了解:
- V3版本中AI如何用BFS(广度优先搜索)找最短路径
- 11×11迷宫的三道横墙S型布局
- 什么是"全知全能"的寻路方式
📖 正文
一、一个简单的实验——戴上"近视眼镜" 👓
你有没有这种经历:摘掉眼镜后,世界一下子变得模糊,超过3米的东西就是一团色块?
想象你被丢进一个完全陌生的大楼里,而且你的眼镜度数特别高。你只能看清面前2米的走廊——前面是墙还是门?得走近了才知道。左边有没有岔路?得扭头看了才清楚。
这就是我们在V4版本里给AI做的事。
在代码层面,V4相比V3做了以下核心改变:
📝V4的核心设计变更
| 模块 | V3 做法 | V4 做法 | 认知对应 |
|---|---|---|---|
| 感知 | 直接读取全部墙壁数据 | 视野半径=2,只能看5×5 | 视觉皮层 |
| 记忆 | 无需记忆(已知一切) | 心智地图每步更新 | 海马体 |
| 决策 | 全局BFS最优解 | Epsilon-Greedy混合策略 | 前额叶 |
| 学习 | 无需学习 | 碰壁后更新认知 | 试错学习 |
整个设计的哲学是四个字:回归人脑。
🔍有限感知(Limited Perception)
V3的AI像开了上帝视角的玩家——整张地图一览无余。
V4的AI更像一个真实的人类:
- 视野半径 = 2格,只能看到周围5×5的范围
- 超出视野的区域全部标记为“unknown”(未知)
- 必须亲自走到那里,才能"看见"那里有什么
来看看代码里是怎么实现这个"近视效果"的:
defget_perception(self,vision_range=2):"""感知模块:只返回视野范围内的信息"""x,y=self.location visible_walls=[]visible_cells=[]fordxinrange(-vision_range,vision_range+1):fordyinrange(-vision_range,vision_range+1):nx,ny=x+dx,y+dyif0<=nx<self.grid_sizeand0<=ny<self.grid_size:visible_cells.append((nx,ny))if(nx,ny)inself.wall_set:visible_walls.append((nx,ny))return{"visible_walls":visible_walls,"visible_cells":visible_cells,"vision_range":vision_range}注意这里的关键:vision_range=2。以AI当前位置为中心,往上下左右各延伸2格,形成一个5×5的正方形视野。整个11×11的世界有121个格子,而AI每一步只能看到最多25个——不到总面积的21%。
上面这张图直观地展示了效果:中心的蓝色圆点是AI,周围清晰明亮的5×5区域是它能"看到"的世界,而灰暗的迷雾覆盖了绝大部分地图。
对AI来说,那些灰暗区域可能是一马平川的通路,也可能是铜墙铁壁——在亲自走过去之前,它不知道。
��一个小小的改变,彻底改变了整个游戏。
想想这意味着什么:在V3里,AI制定路线的时候已经知道了所有28块墙壁的精确位置,它做的只是数学计算——从A到B的最短路径。但在V4里,AI出发的那一刻,它对这个世界的认知几乎是一张白纸。它不知道前面有没有墙,不知道左边通不通,不知道绕路要绕多远。
这才是真实世界中每个智能体面临的处境。
你第一天去新公司上班的时候,你知道茶水间在哪吗?你知道哪条路上班最快吗?你知道哪个电梯最不用等吗?不知道。你得自己摸索。而这种摸索的过程,就是智能的起点。
🧪动手试试:打开demo4_cognitive.py,运行一下。注意观察可视化界面里灰色格子(未知区域)是怎么一步步变成白色(已探索)和深红色(墙壁)的。这个"揭开迷雾"的过程非常直观!
二、心智地图的诞生——在脑中画地图 🗺️
好,AI现在是个"近视"了。那它怎么导航?
答案藏在认知科学里——心智地图(Mental Map)。
什么是心智地图?
你对自己家附近的街道了如指掌,对吧?但想想你第一次来这个城市的时候——你是怎么慢慢建立起这个"脑中地图"的?
- 刚到的时候,除了家门口,其他地方全是空白
- 你每天出门走不同的路,一点一点"揭开迷雾"
- 走了几次死胡同之后,你记住了哪些路是不通的
- 渐渐地,你脑中有了一张覆盖面越来越广的"地图"
- 你甚至开始知道哪条路早高峰会堵车、哪个超市周末人少
AI在V4里做的事情一模一样。它维护了一张121格(11×11)的心智地图,每个格子有三种状态:
为什么是三种而不是两种?因为"未知"和"确认可通行"是完全不同的信息。"未知"意味着不确定性——AI不知道那里是墙还是路。而"已探索"意味着确定性——AI知道那里是安全的。这种区分对于决策至关重要。
🧠心智地图的三种状态
| 状态 | 颜色 | 含义 |
|---|---|---|
unknown | ⬜ 灰色 | 还没去过,不知道里面有什么 |
explored | ⬜ 白色 | 已经看到过,确认是可通行的 |
wall | ⬛ 深红色 | 确认是墙壁,不能通过 |
来看心智地图的核心更新逻辑:
classCognitiveReasoner:def__init__(self,grid_size,goal,epsilon=0.3):self.grid_size=grid_size self.goal=goal self.epsilon=epsilon# 心智地图初始化:全部标记为"未知"self.mental_map={}forxinrange(grid_size):foryinrange(grid_size):self.mental_map[(x,y)]='unknown'# 访问计数:记住走过的地方self.visit_count=defaultdict(int)defupdate_perception(self,perception,current_loc):"""根据感知更新心智地图"""# 看到的区域从"未知"变成"已探索"forcellinperception['visible_cells']:ifself.mental_map[cell]=='unknown':self.mental_map[cell]='explored'# 看到的墙壁标记为"墙"forwallinperception['visible_walls']:self.mental_map[wall]='wall'# 更新访问计数self.visit_count[current_loc]+=1每走一步,AI就把视野范围内的格子从灰色的"未知"更新为白色的"已探索"或深红的"墙壁"。就像你在一个黑暗房间里拿着手电筒——每转一下头,就照亮一小片新区域。
visit_count:走过的路,都要记住
注意代码里还有一个visit_count字典——它记录了每个格子被访问的次数。这个信息后面会用到:当AI需要决定"往哪走"的时候,它会优先选择走过次数少的方向。
这就像你在一个陌生的商场里找出口:你不会反复走同一条走廊,而是会尝试每条没走过的路。visit_count就是AI的"这条路我走过几次了"的记忆。
# 访问计数的使用方式score=-self.visit_count[(nx,ny)]# 走过越多次,分数越低ifself.mental_map.get((nx,ny))=='unknown':score+=5# 完全没去过的地方,大大加分!上面这张四格面板完美展示了这个过程:
- Step 1:刚出发,几乎全是灰色迷雾,只有起点附近是亮的
- Step 20:走了一段路,上半部分已经"揭开"不少
- Step 40:大部分区域已经探索过,能看到墙壁的分布了
Step 66:到达终点时,地图几乎完全揭示——探索率高达99.2%!
从全灰到全白,这个过程就是AI的"认知成长史"。每一步都在学习,每一步都在构建对世界的理解。这不是死记硬背(那是V3的做法——一次性导入全部地图数据),而是体验式学习。
💡关键洞察:心智地图的精妙之处在于——它不是一次性获取的,而是随着行动逐步构建的。就像你不可能看了一眼Google地图就记住整个城市,你的认知地图是用脚步一步步"画"出来的。
三、探索还是利用?——人生的两难选择 🤔
AI现在有了"近视眼"和"心智地图",但还缺一个关键的东西——决策策略。
它每一步都要做一个选择:
是走已知的安全路线(虽然可能绕远),还是冒险去探索未知区域(可能找到捷径,也可能碰壁)?
这个问题,在AI领域有一个经典的名字——探索与利用困境(Exploration vs. Exploitation Dilemma)。
生活中的探索与利用
这个困境无处不在,我打赌你每天都在面对它:
🎯探索 vs 利用的日常版
- 🍔午餐选择:去那个已知好吃的老店(利用),还是试试新开的餐厅(探索)?
- 📚期末复习:花时间巩固强项科目确保拿分(利用),还是攻克弱项科目博取突破(探索)?
- 💼职业发展:留在熟悉的岗位稳步晋升(利用),还是跳槽到全新领域寻求更大机会(探索)?
- 🎮玩游戏:重复用已知的强力战术刷关(利用),还是尝试新角色新打法(探索)?
如果你100%利用*——你会一直吃同一家餐厅、做同一份工作、用同一个策略。安全,但你永远发现不了更好的选择。
如果你100%探索——你永远在尝试新东西,但从来学不到任何一个领域的深度经验。热衷跳槽的人往往每个行业都只懂皮毛。
最好的策略,是在两者之间找到平衡。
这个问题在学术上已经研究了几十年。从赌博机问题(Multi-Armed Bandit)到强化学习,核心都是这个困境。而我们的AI用了一个最简洁优雅的入门方案——Epsilon-Greedy策略。
Epsilon(ε)是一个0到1之间的数字,代表"探索的概率"。每一步决策时:
- 以 ε 的概率选择探索(去未知的地方看看)
- 以 1-ε 的概率选择利用(走已知的最好路线)
来看具体代码:
defreason(self,current_loc):"""认知推理决策"""directions={"right":(1,0),"left":(-1,0),"down":(0,1),"up":(0,-1)}# 关键:epsilon=0.3,30%概率触发探索模式!ifrandom.random()<self.epsilon:# 🔍 探索模式:优先去未知或少走的地方candidates=[]foraction,(dx,dy)indirections.items():nx,ny=current_loc[0]+dx,current_loc[1]+dyif0<=nx<self.grid_sizeand0<=ny<self.grid_size:ifself.mental_map.get((nx,ny))!='wall':score=-self.visit_count[(nx,ny)]ifself.mental_map.get((nx,ny))=='unknown':score+=5# 未知区域大加分!candidates.append((score,action))ifcandidates:candidates.sort(reverse=True)top=candidates[:min(2,len(candidates))]chosen=random.choice(top)[1]returnchosen# 🎯 利用模式:用已知信息BFS寻找最优路径action=self._local_bfs(current_loc)ifaction:returnaction# 🎲 兜底:实在不知道怎么走,随机选returnrandom.choice(list(directions.keys()))翻译成大白话就是:
- 70%的时间(EXPLOIT利用模式):AI会基于已知的心智地图做局部BFS寻路,走它认为最优的路——“我知道的最好路线”
- 30%的时间(EXPLORE探索模式):AI会故意不走最优路,转而去探索未知区域或较少经过的地方——“万一那边有更好的路呢?”
注意探索模式里的一个细节:AI不是完全随机乱走。它有一套聪明的评分机制——未知区域加5分,走过的地方减分。所以探索模式更像是"有方向的好奇心",而不是"无头苍蝇"。
这就像一个聪明的旅行者:他不会随机选一个方向走,而是会朝着自己还没去过的街区走。
🧮epsilon = 0.3 的含义
这个数字不是随便选的。0.3意味着大约每3-4步中,AI就会"心血来潮"一次,去探索一下未知领域。
如果epsilon太小(比如0.05),AI会过度保守,可能永远发现不了更好的路径。
如果epsilon太大(比如0.8),AI就像一只无头苍蝇,到处乱跑,很难积累有效经验。
0.3是一个相对激进的探索率——适合"陌生环境下的初期探索阶段"。
在实际应用中,很多强化学习算法会采用"递减epsilon"的策略——初期大量explore,后期主要exploit。就像你刚到一个新城市时会到处走走看看,住了一年后就基本走固定路线了。这个优化我们会在后续版本中讨论。
四、第一个认知偏差——AI也会"钻牛角尖" 🔄
好了,带着近视眼镜、心智地图和Epsilon-Greedy策略的AI上路了。大部分时候它表现得很聪明——合理绕墙、稳步推进、积极探索。
但在Step 41-43,发生了一件有趣的事。
让我们还原一下当时的场景:
AI已经穿过了前两道横墙,来到了地图的右上区域(大约在(8,7)附近)。终点在右下角(10,10),方向很明确——往下走就好了嘛!
于是AI坚定地往下走。
砰!碰到了第三道横墙(y=8那一排)。
它往右挪了一格,再往下——砰!还是墙。
再往右——还是墙!!
🚨目标固着偏差(Goal Fixation Bias)
Step 41-43,AI在右上角区域反复徘徊。它的内心独白大概是这样的:
- Step 41:"目标在右下方,我应该往下走!"→ 碰墙
- Step 42:"那我往右移一点再往下!"→ 还是碰墙
- Step 43:"再往右!总有缺口的吧!"→ 依然碰墙…
它太执着于"向目标方向移动"了,完全忘了绕路(向左走)可能才是正确答案。
这种偏差在心理学里叫做目标固着偏差——当你太专注于目标方向时,反而看不到通往目标的迂回路线。
��上面这张路径图,红色高亮区域就是AI反复徘徊的地方。注意黄色路径在右侧的来回折返——这就是"钻牛角尖"的视觉化表现。
这像不像你生活中的某些时刻?
- 🚗 GPS提示前方大堵车,建议绕行,但你心想"再堵也是直线距离最短啊"——结果堵了2小时
- 📝 写论文的时候死磕一个不通顺的句子,反复改了20遍,其实换个角度重写一句就好
- 🎮 打游戏硬刚一个Boss怎么都打不过,其实去旁边支线升个级回来就是秒杀
目标固着偏差的本质是:我们的大脑太擅长"直线思考"了,以至于容易忘记"曲线"有时才是捷径。
心理学研究表明,目标固着偏差在压力大、时间紧迫的时候更容易发生。当你很着急地想达到目标时,大脑会自动"缩小视野"——只关注目标方向,忽视其他可能性。飞行员在紧急情况下容易犯这个错误,这也是为什么航空安全培训会专门训练“情境意识”(Situational Awareness)。
在我们的AI中,目标固着发生的原因更具体:BFS寻路算法在心智地图上计算时,会乐观地假设未知区域可以通行。当AI在右上角时,第三道墙左侧的缺口还是“unknown”,而BFS计算出的"最短路径"是穿过这些未知格子往下走——但那些格子实际上是墙!
幸运的是,AI在Step 53-54时触发了EXPLORE模式,被"逼"着往左走了几步——然后它惊喜地发现了第三道横墙左侧的缺口(x=2,3附近)!绕过去之后,顺利冲向了终点。
这个过程告诉我们一个道理:正是那30%的"随机探索",救了AI一命。如果epsilon=0(纯利用),AI可能会在那面墙前面反复撞头,永远到不了终点。
💡深层思考:为什么BFS也会导致目标固着?
你可能会问:BFS不是会找最短路径吗?为什么还会出现目标固着?
关键在于——V4的BFS是基于心智地图的局部BFS,不是V3那种基于真实地图的全局BFS。
当AI在右上角时,它的心智地图上,第三道墙左侧的缺口还是"unknown"。BFS会乐观地假设未知区域可通行,所以它计算出来的"最短路径"是“往下穿过这些未知格子”——但实际上那些格子是墙!
这就是"乐观假设"的代价:当未知世界与你的假设不符时,你会反复撞墙。而探索模式就是打破这种恶性循环的钥匙。
五、碰壁的价值——从失败中学习 💥
说到碰壁,V4里有一个非常重要的机制——碰壁学习(Learn from Collision)。
代码简短到令人发指,但蕴含的道理非常深刻:
deflearn_from_collision(self,blocked_pos):"""碰壁学习:记住碰到的墙壁"""if0<=blocked_pos[0]<self.grid_sizeand0<=blocked_pos[1]<self.grid_size:self.mental_map[blocked_pos]='wall'print(f" [Cognition] Learned wall at{blocked_pos}")就这么几行代码,做了一件很重要的事:每次碰壁,AI就把那个位置在心智地图上标记为"墙壁",下次BFS寻路的时候就会自动避开。
🧒碰壁学习的人类版本
小时候你有没有摸过热炉子?——就一次,以后再也不敢了。
这就是碰壁学习。你不需要别人告诉你"炉子很烫"(那是全知模式),你亲手摸了一下(碰壁),记住了教训(更新心智地图),以后就会绕着走(BFS避开)。
痛苦的经验是最好的老师。这句话不仅适用于人类,也适用于AI。
碰壁学习配合心智地图,形成了一个完美的**“试错-记忆-改进”**循环:
- AI尝试走某个方向 → 碰壁了
- 把墙壁位置记入心智地图 → 更新认知
- 下次规划路径时自动避开 → 行为改进
这和人类学习走迷宫的方式几乎一模一样。你不会傻到在同一面墙上撞两次头(好吧,AI有时候会,因为它有30%的探索概率可能把它带回去,但这也是一种"代价")。
��整个66步的旅程中,AI碰了好几次壁,但每次碰壁都不是浪费——它积累了关于环境的知识。到最后,AI几乎发现了所有墙壁的位置,心智地图的准确度非常高。
让我们量化一下这个学习过程:
📈碰壁学习的量化效果
| 阶段 | 已知墙壁数 | 总墙壁数 | 发现率 |
|---|---|---|---|
| Step 1(出发时) | 0 | 25 | 0% |
| Step 20 | ~10 | 25 | ~40% |
| Step 40 | ~18 | 25 | ~72% |
| Step 66(到达终点) | ~24 | 25 | ~96% |
每次碰壁都是一次「确定性信息的获取」。碰壁的痛苦(reward=-5)换来了心智地图的一块拼图。从投资回报率的角度看,这是相当划算的交易。
还有一个值得注意的细节:碰壁学习和视觉感知是两种不同的信息获取方式。
- 视觉感知:走到一个位置,自动看到周围5×5的信息——这是被动获取
- 碰壁学习:尝试走向墙壁并失败——这是主动试错
前者像是"用眼睛看",后者像是"用手摸"。两者结合,AI构建出了一张越来越完整的世界地图。
这里有一个微妙但重要的设计选择:Agent在执行动作前后都会进行感知。看看主程序中的act()方法:
defact(self):# 1. 感知环境(有限视野)perception=self.env.get_perception(vision_range=2)self.reasoner.update_perception(perception,self.env.location)# 2. 认知推理决策action=self.reasoner.reason(self.env.location)# 3. 执行动作old_loc=self.env.location new_state,reward,blocked,target_pos=self.env.step(action)# 4. 碰壁学习ifblocked:self.reasoner.learn_from_collision(target_pos)# 5. 感知新位置周围(又感知一次!)ifnotblocked:new_perception=self.env.get_perception(vision_range=2)self.reasoner.update_perception(new_perception,self.env.location)注意第5步:如果移动成功,AI会在新位置再次感知一遍。这意味着每次成功移动都能揭开更多迷雾,让心智地图的更新更高效。这是一个小但重要的设计细节。
六、限制即力量——为什么"变弱"反而"变强" 💪
让我们把V3和V4放在一起对比:
📊V3(全知全能) vs V4(认知模拟)对比
| 指标 | V3 全知版 | V4 认知版 |
|---|---|---|
| 感知范围 | 整张地图 | 视野半径=2(5×5) |
| 地图信息 | 一开始就知道所有墙壁 | 一开始全部"未知" |
| 寻路策略 | 全局BFS最优路径 | 局部BFS + Epsilon-Greedy |
| 到达步数 | 26步 | 66步 |
| 碰壁次数 | 0次 | 多次 |
| 路径质量 | 100%全局最优 | 有弯路、有回头 |
| 探索率 | N/A | 99.2% |
从"效率"的角度看,V4简直是一场灾难——步数暴涨了153%,还会碰壁、迷路、钻牛角尖。
但如果换一个角度看呢?
让我们用一个更实际的指标来评价——“认知丰富度”。V3的过程可以用一句话概括:“计算最短路径→执行”。而V4的过程包含了:
- 📍环境建模:从零开始构建对环境的认知
- ❓不确定性处理:在信息不完整时做决策
- ⚖️策略权衡:在探索和利用之间平衡
- 💥错误恢复:碰壁后更新认知并调整策略
- 🔄认知偏差:展现真实的决策缺陷
这些,才是"智能"的真正内涵。
V3的AI是一个"做题家"——给它正确答案,它能完美执行。但它没有任何认知过程,没有探索、没有学习、没有犯错、没有成长。它就像一台GPS导航仪——精准,但毫无"智能"可言。
V4的AI呢?它——
- 🔍会探索:主动走向未知区域,而不是只走安全路线
- 🤯会犯错:碰壁、迷路、钻牛角尖
- 📝会学习:碰壁后更新心智地图,下次不再犯同样的错
- 🗺️会建构:从零开始构建对世界的认知,而不是依赖现成答案
- 🤔会权衡:在"探索未知"和"利用已知"之间做出取舍
🌟核心洞察
V3是一台精密的机器。
V4才是一个正在成长的"大脑"。
真正的智能不是全知全能,而是在不确定中做出还不错的决定。
你不需要看到整个棋盘才能下好一盘棋;你不需要了解整个人生才能做出好的选择。你需要的是:有限的感知 + 不断学习的心智地图 + 探索与利用的平衡。
可以说,V4实现了一个完整的"感知-记忆-决策-学习"循环:
- 👁️感知:通过有限视野观察环境
- 🧠记忆:将观察存入心智地图
- 🎯决策:基于记忆和epsilon-greedy策略行动
- 📝学习:从碰壁和新发现中更新认知
- 🔁重复:回到第1步,带着更丰富的记忆继续
每一步都让AI对世界的理解更深一层,决策更明智一点。这就是认知成长的本质。
当然,V4依然有很多不完美的地方——epsilon是固定的(不会自适应),心智地图不会遗忘(不像人脑),决策不会从经验中学到"哪些选择更好"(没有价值函数)。这些问题,将在后续版本中一一解决。每一篇都在上一篇的基础上进化——这也是这个系列最大的乐趣。
这就是为什么我们说V4是这个系列中最重要的一次进化。它不是简单地给AI加了更多功能,而是从根本上改变了AI的认知范式——从"全知全能的计算器"变成了"在迷雾中摸索前进的探险家"。
那66步路里,每一步弯路、每一次碰壁、每一个犹豫,都不是"错误"——它们是认知的代价,也是成长的证据。
如果你把V3想象成一个"学霸",那V4就是一个"探险家"。学霸做题又快又准,但你让他去一个从没去过的地方旅行,他未必比探险家做得好。因为探险家有一项学霸没有的能力——在未知中导航。
这也是为什么在AI领域,越来越多的研究者开始重视"探索能力"而不只是"优化能力"。OpenAI的很多研究、DeepMind的AlphaGo,都在核心算法里融入了探索机制。因为真实世界从来不会把答案提前告诉你。
🔬延伸阅读:认知科学中的心智地图
心智地图(Mental Map / Cognitive Map)这个概念最早由心理学家Edward Tolman在1948年提出。他通过实验发现,老鼠在迷宫中不是简单地记忆"走到这里左转、走到那里右转",而是在脑中建立了一个空间的整体表征。
后来,2014年诺贝尔生理学或医学奖颁给了John O’Keefe和May-Britt Moser & Edvard Moser,表彰他们发现了大脑中的"位置细胞"和"网格细胞"——这些神经元构成了大脑内置的GPS系统,也就是生物版的"心智地图"。
我们在V4里用一个简单的字典模拟了这个过程。虽然简陋,但核心思想是一致的:从零开始、通过探索构建、随经验完善。
⚠️ 常见误区
❌误区1:“有限感知让AI变笨了”
有限感知不是让AI变笨,而是让AI变"真实"了。V3的完美路径是一种"作弊"——现实世界中,没有任何智能体能提前知道所有信息。V4的66步之路虽然更长,但每一步都包含了真实的认知决策过程。
❌误区2:“Epsilon越大探索越好”
不是。Epsilon过大会导致AI像无头苍蝇一样乱飞。0.3已经是一个相当激进的探索率了。在成熟环境下(大部分地图已知),应该降低epsilon,更多利用已知信息。这就是后续版本会涉及的"自适应探索率"。
❌误区3:“碰壁是浪费”
碰壁不是浪费,碰壁是学习!每次碰壁都为心智地图增加了一条确定性信息。相比"远远看到一面墙","亲自碰到一面墙"反而让AI记得更牢——这和人类通过犯错学习的机制是一样的。
❌误区4:“心智地图应该一开始就提供部分信息”
不应该。V4的设计哲学是"从零构建认知"。如果一开始就给AI一些提示,那它的探索行为就会减少,认知过程就不完整了。就像你不会给一个学走路的孩子提前铺好所有的防滑垫。
❗误区5:“AI的心智地图就是真实地图”
不是。心智地图是AI以为的世界是什么样子,不是世界实际是什么样子。在探索早期,心智地图与现实的差距很大(大量“unknown”)。这种"认知与现实的差距"正是认知偏差的源头。随着探索的深入,心智地图逐渐趋近现实——这就是学习。
💡 一句话总结
真正的智能不是看得最远,而是在只看得见眼前两步的时候,依然能做出不错的决定——同时保持对未知世界的好奇心。
这也是V4版本教给我们的最重要的人生道理。不是吗?
✅ 本篇核心概念回顾
在继续下一篇之前,确保你理解了这些核心概念:
| 概念 | 一句话解释 |
|---|---|
| 有限感知 | AI只能看到周围5×5的范围,其余未知 |
| 心智地图 | AI脑中的世界模型,随探索逐步完善 |
| Epsilon-Greedy | 70%走已知最优路+30%探索未知 |
| 目标固着偏差 | 太执着于目标方向,忽视迂回路线 |
| 碰壁学习 | 撞墙后更新心智地图,避免重复错误 |
✨ 课后思考
epsilon的自适应调整:如果AI已经探索了90%的地图,还需要保持30%的探索率吗?你会怎么设计一个"随经验递减"的epsilon策略?(提示:比如
epsilon = 0.3 * (1 - explore_rate),当探索率越高,探索概率越低)心智地图的"遗忘"机制:人类会忘记很久没走过的路(比如你还记得5年前住处附近的小巷吗?)。如果给心智地图加上一个"遗忘"机制——长期不访问的区域重新变回unknown——会发生什么?这会让AI更像人类吗?
视野大小的影响:如果把视野半径从2改成1(3×3视野)或4(9×9视野),AI的行为会怎么变化?试着修改代码里的
vision_range参数跑一跑看看!预测一下:视野=1时步数会超过80步吗?视野=4时能接近V3的效率吗?多智能体协作:如果有两个AI同时在迷宫里探索,它们能不能共享心智地图?这样做会加速探索过程吗?想想这和"两个人一起找路"有什么异同。(提示:人类之间的信息传递也是有延迟和失真的,这会带来什么问题?)
不同的墙壁布局:当前的S型三道横墙是一种特定布局。如果换成随机生成的迷宫呢?AI的表现会有什么不同?目标固着偏差还会出现吗?
📝 下一篇预告
第5篇:AI的第一堂强化学习课——奖励与惩罚
V4的AI已经能探索、学习、犯错了,但它的决策还是比较"机械"的——Epsilon-Greedy策略虽然管用,但它不会从经验中学到"哪些选择更好"。
下一篇,我们要给AI引入Q-Learning——一种让AI能从奖惩中学习最优策略的强化学习算法。AI将学会:哪些格子值得去,哪些格子应该避开,什么时候该冒险,什么时候该保守。
从"随机探索"到"有策略地学习"——AI的大脑要再次进化了。
如果V4的探索是"凭感觉走",那V5的Q-Learning就是"用经验导航"。从"知道世界是什么样的"到"知道什么选择是最好的"——这又是一次质的飞跃。敬请期待!
👨💻作者简介:NeuroConscious Research Team,一群热爱 AI 科普的研究者,专注于神经科学启发的 AI架构设计与可解释性研究。理念:“再复杂的概念,也能用大白话讲清楚”。
首席科学家:WENG YONGGANG 翁勇刚 马来西亚理工大学工商管理博士
💻项目地址:https://github.com/wyg5208/nct.git
🌐官网地址:https://neuroconscious.link
📝作者 CSDN:https://blog.csdn.net/yweng18
📦NCT PyPI:https://pypi.org/project/neuroconscious-transformer/
⭐欢迎 Star⭐、Fork🍴、贡献代码🤝
📝「当AI学会发脾气」系列| 第4篇 · 给AI装上"近视眼镜"
作者:一个相信"限制即力量"的AI探索者
🔗 上一篇:当AI遇到墙 | 下一篇:AI的第一堂强化学习课
如果这篇文章让你对"不完美的智能"有了新的理解,请分享给你的朋友 🧠