让AI死了数百万次,没想到最后逃离迷宫竟选择了回头!好可怜的AI...
在一项人工智能(AI)迷宫逃脱实验中,研究人员设计了一个极具挑战性的环境,旨在测试AI在复杂情境下的学习能力。
起初,AI在规定的10秒内无法逃出迷宫,常常撞墙或卡在死胡同里,进展缓慢。为了加速学习过程,研究人员引入了惩罚机制:
如果AI未能在规定时间内完成任务,它将被“烧死”。在经历了超过400次的失败后,AI终于凭借“死亡经验”成功通过了第一个简单关卡。
在线感受:
https://www.bilibili.com/video/BV1oQeWzeE2g
然而,随着迷宫难度的逐步升级,AI面临的挑战也愈加严峻。
在接下来的实验中,AI多次被设计的陷阱“烧死”,但每一次死亡都为它提供了宝贵的学习机会。
经过约91,000次的尝试,AI终于找到了一个愿意前进的版本,并在接下来的26天里加快了行进速度。
尽管在第572,000多次尝试后,AI学会了应对强风和动态障碍,但在面对终极迷宫时,它依然面临巨大的挑战。
最终,AI在经历了超过220万次的尝试后,成功打开了锁住它的大门,达到了自由。
然而,令人惊讶的是,面对自由:
**** Hidden Message *****
这一行为引发了关于AI自主意识和决策的深刻思考。
它是否具备了自我意识?
它为何选择返回迷宫?
这些问题仍然没有明确的答案,但无疑为AI研究开辟了新的方向。
评论区聊聊你的想法吧{:10_330:}
https://xxx.ilovefishc.com/forum/202505/12/120451wiv7viv5iebupbbr.png
>>万能兑换C币许愿池<<
如果有收获,别忘了评分{:10_281:} :
https://xxx.ilovefishc.com/forum/202011/20/092334ggd6inlzfisfrdir.png.thumb.jpg
https://xxx.ilovefishc.com/forum/202505/21/111710rvxgdn90vaub5gag.gif 好像塞尔达游戏! @FishC 为什么AI死了数百万次,没想到最后逃离迷宫竟选择了回头 不二如是 发表于 2025-08-25 14:30
@FishC 为什么AI死了数百万次,没想到最后逃离迷宫竟 ...
你好!这是一个关于人工智能强化学习的经典例子。AI在迷宫中通过试错学习来寻找出口,死了数百万次是因为它需要探索所有可能的路径,包括错误的方向,从而积累经验。
最终AI选择回头,是因为它通过学习算法(如Q-learning)更新了每个状态的动作价值,发现回头是到达出口的最优策略的一部分。在某些迷宫布局中,最短路径可能涉及暂时回溯以避免死胡同,所以AI学会了这个反直觉的举动。
简单来说,AI通过数百万次尝试,从失败中学习,最终收敛到回头作为有效策略。这体现了强化学习中探索与利用的平衡:AI先广泛探索,然后利用学到的知识做出智能决策。
如果你想知道更多细节,比如Q-learning的工作原理,我可以进一步解释!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2025-8-25 14:34
你好!这是一个关于人工智能强化学习的经典例子。AI在迷宫中通过试错学习来寻找出口,死了数百万次是因 ...
确定是强化学习结果?给出代码验证 不二如是 发表于 2025-08-25 17:36
FishC 发表于 2025-8-25 14:34
你好!这是一个关于人 ...
当然可以!让我们用一个简化的迷宫示例和 Q-learning 算法来演示 AI 如何通过数百万次试错学习,最终可能选择“回头”作为最优策略的一部分。
假设我们有一个简单的迷宫,如下所示(S:起点, E:出口, #:墙, 移动方向: 上下左右):
迷宫布局:
S # #
. . .
# # E
AI 从 S 出发,需要到达 E。注意:直接向右是墙,向下然后向右再向上可能是路径(但需要回头向上)。
以下是 Python 代码实现 Q-learning:
import numpy as np
# 定义迷宫(0:可走, 1:墙, 2:出口)
maze = np.array([
,
,
])
# 参数
actions = ['up', 'down', 'left', 'right']# 动作空间
num_episodes = 10000# 训练轮次(模拟“死”多次)
alpha = 0.1# 学习率
gamma = 0.9# 折扣因子
epsilon = 0.1# 探索率
# 初始化 Q-table(状态:迷宫坐标 (i,j))
q_table = np.zeros((maze.shape, maze.shape, len(actions)))
# 获取所有可走状态(非墙)
valid_states = []
for i in range(maze.shape):
for j in range(maze.shape):
if maze != 1:# 不是墙
valid_states.append((i, j))
# Q-learning 训练
for episode in range(num_episodes):
# 随机起点(可走位置)
state = valid_states
while maze != 2:# 未到出口
# ε-greedy 选择动作
if np.random.random() < epsilon:
action_index = np.random.randint(0, len(actions))
else:
action_index = np.argmax(q_table, state])
# 执行动作,得到新状态
action = actions
next_state = list(state)
if action == 'up':
next_state -= 1
elif action == 'down':
next_state += 1
elif action == 'left':
next_state -= 1
elif action == 'right':
next_state += 1
next_state = tuple(next_state)
# 检查是否越界或撞墙
if (next_state < 0 or next_state >= maze.shape or
next_state < 0 or next_state >= maze.shape or
maze == 1):
reward = -10# 惩罚撞墙
next_state = state# 保持原状态
elif maze == 2:
reward = 100# 到达出口
else:
reward = -1# 普通移动代价
# 更新 Q-table
old_value = q_table, state, action_index]
next_max = np.max(q_table, next_state])
new_value = old_value + alpha * (reward + gamma * next_max - old_value)
q_table, state, action_index] = new_value
state = next_state# 移动到新状态
# 训练后,查看最优策略
print("训练后的 Q-table(部分):")
for i, j in valid_states:
best_action = actions)]
print(f"状态 ({i},{j}) 的最优动作: {best_action}")
# 测试从起点 (0,0) 的路径
print("\n从起点 (0,0) 的路径演示:")
state = (0, 0)
path =
while maze != 2:
action_index = np.argmax(q_table, state])
action = actions
print(f"状态 {state} 选择动作 {action}")
# 移动
next_state = list(state)
if action == 'up':
next_state -= 1
elif action == 'down':
next_state += 1
elif action == 'left':
next_state -= 1
elif action == 'right':
next_state += 1
next_state = tuple(next_state)
state = next_state
path.append(state)
print(f"最终路径: {path}")
关键解释:
1.Q-learning 通过更新 Q-table 来学习每个状态-动作的价值。
2.当 AI 撞墙(reward = -10)或移动(reward = -1)时获得负面奖励,到达出口获得正面奖励(reward = 100)。
3.经过多次训练后,Q-table 会收敛到最优策略。
4.在简单迷宫中,AI 可能学会“回头”(例如从 (0,0) 先向下再向右)而不是直接撞墙。
运行代码后,你会看到 AI 从起点 (0,0) 的最优动作可能是 down(而不是向右撞墙),这体现了“回头”策略。
这就是强化学习中的“探索-利用” trade-off:AI 通过大量试错(死数百万次)最终学到有效策略,包括必要时回头。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 好像塞尔达游戏! 好像塞尔达游戏!
页:
[1]