手机浏览器扫描二维码访问
用故事解释Softmax函数的溢出问题
故事背景:龙族宴会上的金碗
在一座神秘的龙族王国,龙族每年都会举行一次盛大的宴会,宴会上有一个传统:每条龙要把自己的财富(金币数量)放进一个金碗,然后让智慧长老计算每条龙的“财富占比”,来决定谁是这一年的财富之王。
宴会当天,四条龙分别报出了自己的金币数量:
?火龙:100万金币
?冰龙:200万金币
?雷龙:300万金币
?风龙:10亿金币
智慧长老准备使用一个古老的计算方法——Softmax规则,将这些财富转换成概率来比较。但他很快发现了一个严重的问题:
金碗炸了!
为什么?因为按照Softmax的计算方法,他需要计算每个金币数量的指数值:
但这些数值实在是太大了,远远超出了王国的计算能力,直接导致金碗崩溃(计算溢出)。
智慧长老陷入了困境,他需要找到一个方法来避免计算崩溃。于是他想到一个聪明的技巧:
“我们不直接放金币,我们可以先让大家的金币数减去最大的金币数!”
于是,他重新计算:
?火龙的金币数变为100万-10亿=-9.99亿
?冰龙的金币数变为200万-10亿=-9.98亿
?雷龙的金币数变为300万-10亿=-9.97亿
?风龙的金币数变为10亿-10亿=0
然后,他计算:
现在,所有的指数值都变得很小,不会再溢出,金碗终于能正常计算了!
最终,风龙的财富占比几乎是100%,其他三条龙的财富占比接近0,宴会得出了正确的结论。
这个方法被称为Softmax的数值稳定性技巧,即在计算前减去最大值,防止指数运算导致溢出。
用比喻解释Softmax的溢出问题
比喻1:水池溢出
想象你有一个大水池,你往里面倒水:
高中三年,无人知道我已觉醒 开局逃荒直接掀桌 直播算命:你爹让你扔下水道了 开局就长生,可我咋是奴隶啊 穿书七十年代,过好自己的日子 被废静心多年,你们才开始后悔? 斩神:我道系青年,请个神合理吧 轮回塔 兽世溺宠:蛇蛇我啊,万龙之母 北域时空 大反派女魔头,前世居然是男的 庶女当家日常 穿越之异世女领主 等你一直等到老 异能太强,大佬被特殊部门收编了 遗笑苍天 三国:身为反贼,没有金手指 开局创建杀手组织,我威压诸天 海贼:从女帝开始,路飞持续崩溃 系统沙雕我添堵,一身反骨离大谱
...
玄幻爽文九天大陆,天穹之上有九条星河,亿万星辰,皆为武命星辰,武道之人,可沟通星辰,觉醒星魂,成武命修士。传说,九天大陆最为厉害的武修,每突破一个境界,便能开辟一扇星门,从而沟通一颗星辰,直至,让九重天上,都有自己的武命星辰,化身通天彻地的太古神王。亿万生灵诸天万界,秦问天笑看苍天,他要做天空,最亮的那颗星辰...
江湖日报讯肯麦郎连锁客栈享誉大明各府,其总部却是京城一家名为来福的小客栈。来福客栈在江湖上大名鼎鼎,即便费用高昂,上到各派掌门下到江湖游侠,都挤破脑袋想去来福客栈吃顿饭。记者有幸请到武林盟主,揭开来福客栈的秘密!来福客栈日常一幕少林方丈,你怎么吃饭不给钱啊?偶弥陀佛,出家人身无分文,这顿饭可否算作化缘?不行!武当掌门没钱吃饭,还在后院洗碗呢!你若不给钱,就去洗茅房!来福客栈日常二幕丐帮长老,瞧你样子就没钱吃饭,你来客栈干啥?听闻来福客栈可以拿东西抵押,我这里有本上乘的秘...
...
一个热爱网络游戏的痴孩子,二不垃及的真神祝愿下进入了游戏的世界。。。。。。...
...