趣书网

阅读记录  |   用户书架
上一页
目录 | 设置
下一章

第606章 用故事解释softmax函数的溢出问题(2 / 2)

加入书签 | 推荐本书 | 问题反馈 |

? 第一桶水是 100升

? 第二桶水是 200升

? 第三桶水是 300升

? 第四桶水是 10亿升

显然,水池无法承受10亿升的水,直接溢出了!

解决方案?

? 你先抽掉10亿升的水(相当于减去最大值),这样所有的水量都变成一个较小的数字,水池就不会溢出了。

比喻2:计算机的“溢出”锅

假设你在做饭,想同时煮四个锅的水,每个锅的温度分别是:

? 100°C

? 200°C

? 300°C

? 10亿°C

你的炉子最高只能加热到 500°C,但第四个锅的温度远超这个上限,直接导致炉子爆炸(计算机溢出)!

怎么办?

你可以先把所有锅的温度减去一个基准值(比如减去10亿°C),让温度变成:

? -9.99亿°C

? -9.98亿°C

? -9.97亿°C

? 0°C

现在,最高的温度也只是 0°C,不会再超出炉子的承受范围。

总结

? Softmax的溢出问题 是因为指数运算会导致数值过大,超过计算机的上限。

? 解决方案 是在计算Softmax之前,先减去最大值,这样所有的数值都会变小,防止指数爆炸。

? 就像往水池倒水、往锅里加热,数值太大就会溢出,我们需要先做调整,确保计算不超出范围!

喜欢职场小聪明请大家收藏:职场小聪明本站更新速度全网最快。

上一页
目录
下一章
A- 18 A+
默认 贵族金 护眼绿 羊皮纸 可爱粉 夜间