返回 职场小聪明 首页

上一页 目录 下一页

第606章 用故事解释softmax函数的溢出问题[2/2页]

天才一秒记住本站地址:[妙书坊]https://m.miaoshufangxs.com最快更新!无广告!

    nbsp;  在计算前减去最大值,防止指数运算导致溢出。

    用比喻解释Softmax的溢出问题

    比喻1:水池溢出

    想象你有一个大水池,你往里面倒水:

    ?

    第一桶水是

    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之前,先减去最大值,这样所有的数值都会变小,防止指数爆炸。

    ?

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

第606章 用故事解释softmax函数的溢出问题[2/2页]

『加入书签,方便阅读』

上一页 目录 下一页