Skip to content
Xalp & Peyto's
Go back

如何与狗相处:把狗当成一个 RL Agent

中文 EN

Peyto

养了一段时间狗,我最大的体会是:别试图跟它讲道理,把它当成一个强化学习(RL)agent 来看。

狗不理解”对错”,它只理解”什么行为带来什么后果”。它每天都在做同一件事:试探环境,然后更新自己的策略(policy),去拿到更多奖励、避开惩罚。想通这一点,绝大多数训练难题其实是同一个问题:

你到底在奖励什么,又在惩罚什么?

下面三条,都是这个问题的不同侧面。

一、不要怕你的狗

如果你怕狗,你的狗迟早会变凶。这不是玄学,是一个会自我加固的闭环。

恐惧的强化闭环

拆开看:你给它做它不喜欢的事(刷牙、剪指甲),这就是 trigger。它先呜呜,被逼急了就龇牙、轻咬。你一害怕,动作就收回去了。在狗眼里,它刚刚学到了一条黄金策略:凶你 = 讨厌的事情会停止。

你的退缩,就是发给它的奖励。而且这个奖励每触发一次,就把”凶人有用”这条策略加固一分。呜呜升级成大叫,大叫升级成真咬,一步步来。

所以第一件事,是在养狗之前就确保全家人都不怕狗。有点小怕,可以先去庇护所或宠物店做脱敏。真到它发出威胁信号时,不要撤回你的动作(撤回就是发奖励),只是尽量放轻、放慢。你要让它学到的是相反的一条:凶,没有用。

二、不要凶你的狗

上一条讲你的恐惧是奖励;这一条讲:你的惩罚,多数时候是在关掉它的学习开关。

底层逻辑有三个:

1. 狗在害怕的时候无法学习。 恐惧会占满它的脑子,它只想逃、想僵住,没有余力去”思考下一步该做什么”。

2. 一个只有惩罚的世界,最优策略是”啥也不做”。 想象一下:做错事要挨罚,而什么都不做则什么也不会发生。那么对一个理性的 agent 来说,最安全的 policy 就是不动、不试、不探索;而不探索,就等于停止学习。

3. 早期的狗,分不清你在罚”哪个行为”。 它很难把惩罚精确地归因到某个动作上,往往会把它归因给整个环境,甚至归因给你。结果不是”我不该做这件事”,而是”这个人/这个地方不安全”。信任一旦这样被破坏,基本修不回来。

反过来,奖励能增加探索的动力。RL 里没有探索就没有学习,狗愿意多试,你才有东西可以塑造。

而且奖励是分级的。同样是”好”,一句轻声的 good 和一块水煮肉,权重完全不同。把它想成一根横轴:

奖励价值的横轴

用法很简单:日常小事用口头就够,高价值的食物留给最难的任务(比如户外召回)。全程用顶配零食,边际效果会飞快衰减。

轴最左边那个 “oh–oh” 值得单独说:它是一个中性 mark 词,不是惩罚,只表示”这次不对,重来一次”,不带任何情绪。它给了狗一个”没关系,再试”的信号,让它敢继续探索。

高声/低声还有个巧妙之处:人在生气的时候,是没法夹着嗓子用高声调说话的。 所以只要你能发出那种对一岁小孩说话般的高声调,就等于向狗证明”我现在没在生气、没有惩罚”。持续用高声=奖励、低沉=中断的对比,狗很快就能读懂你的情绪信号。

三、对于负面行为,怎么处理

我不太喜欢”展示支配”这个说法,它太容易被理解成”随便惩罚、随便命令”。

真正的关键是记住:狗是一种会自我强化的生物。 一个负面行为只要让它尝到过一次甜头,就会自己长大。所以对负面行为,正确的处理不是”罚”,而是两个动作:

注意,这两个都不是惩罚,情绪上是平静的。

环境本身的奖励,可以拿来当附加奖励用。 最典型的是召回:

关键是信号必须清晰:口令只给一到两次,喊完它没回来,就立刻停止呼唤;否则你是在教它”口令喊八遍也无所谓”。经常能成功召回,你才敢放绳;狗经常获得自由,想挣脱乱跑的动机反而更低。这是一个正向循环,而放任一次不服从的召回,可能是致命的。

同一个原则套到别处也成立。比如在家上错厕所:不是在错的地方骂它,而是中断 → 抱到对的位置 → 在对的位置给奖励。你要奖励的是”在对的地方上”,不是让它对”上厕所”这件事本身产生恐惧。牵绳、坐下等待,逻辑都一样:想清楚你在中断什么、在奖励什么,剩下的都是重复。


关于喂什么、怎么喂(选粮、水煮肉、加餐节奏这些),是另一个大话题,之后单独开一篇写。这篇只谈把食物当作奖励信号时的用法。


Share this post:

Previous Post
扩散语言模型到底能记住多少?(对比自回归)
Next Post
Living With a Dog: Treat It Like an RL Agent