三、 今天最重要的发现:"心"这条路,从来没通过

★★★ 1.0k 字 · 源文件 进度.md 第 26 行起 · optim

#发生了什么(人话)

她心里有一个"想法"(一串数字),和一个"嘴"(把想法变成动作)。

我本来以为问题只是"嘴太窄"。结果查出一个更根本的:

★★★ 她的"嘴"从来没往"心"里传过任何消息。

#为什么(用人话,不写公式)

代码里"嘴"的初始权重全是 0(这是当初为了防止一开始乱动而做的设计)。 但这个设计的副作用是:

权重是 0 -> 从"嘴"往回传的梯度也是 0 -> 她的"心"永远收不到"嘴"的反馈。

也就是说:她的"嘴"在学,但她的"心"从来没因为"嘴"而改变过。

#这个发现改变了什么

原来的说法(我昨天写的):

"训练后期崩,是因为'价值判断'那一项污染了共享的部分。"

修正后的说法(更准确):

训练信号会不会改变"心"?
老师教她(监督)✅ 会
"价值判断"(打分)✅ 会
她自己的"嘴"(策略)❌ 从来不会

★★★ 所以"价值判断"不是"污染共享部分",它是【唯一】在塑造"心"的那个 RL 信号。

这解释了之前所有的实验结果(我试的 8 种办法),而且比原来清楚:

我的操作结果用这个新发现解释
只关掉"价值判断"4 次里 3 次成功"心"只剩老师教 -> 不崩
只关掉"嘴"崩"心"仍被"价值判断"塑造
两个都关6 次全成功最稳

#所以修法变了(从一个改动变成两个)

#改什么为什么
1别让"嘴"从全 0 开始(改成很小的随机数)★ 这样"嘴"才能往"心"传消息
2顺带把"嘴"加宽让它能说更复杂的东西

★ 只做第 2 件是没用的 —— 我已经实测确认了(加宽之后梯度仍然是 0)。

★ 而第 1 件很小:把初始化从"全 0"改成"很小的随机", 初始行为基本不变(一开始还是"不太说话"),但路通了。

← 返回《进度.md》目录