主题:【原创】神经网络和人脑运作的数学原理是相通的 -- 真理
有时候为了性能,会使用近似算法计算,更极端的甚至根本不用计算:直接把预先算好的值直接存起来用的时候直接拿过来就行了(所谓的“以空间换时间”)。
说到这里想起一个有趣的算法:
John Carmack,IDdSoftware的创始人之一,上世纪Doom和Quake引擎主要开发者之一,曾在书中提到一个神奇的快速计算平凡根倒数的算法,至今还让人啧啧称奇:
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
return y;
}
如今QuakeIII早就开源了,可以直接看到这段代码,它巧妙发利用了IEEE 754标准,用0x5f3759df这个Magic Number,能在不使用循环和递归的情况下快速计算出平方根的倒数。
- 相关回复 上下关系8
压缩 3 层
🙂AI的进化里程碑 2 贼不走空 字370 2023-07-22 12:07:17
🙂电脑病毒+人工智能,两者融合。 2 墨里荀 字0 2023-07-23 03:10:48
🙂计算器和其他语言的计算机程序有本质区别吗? 5 假设 字510 2023-07-15 09:38:48
🙂补充:而且很多“函数”可能还比不上计算器
🙂计算器脑容量太小,而计算机理解根号二无困难 1 潜望镜 字656 2023-07-15 21:13:33
🙂这个和容量没关系 2 假设 字652 2023-07-17 07:45:41
🙂这不新鲜,八十年代时AI面对的就是这些问题 6 川普 字1452 2023-07-13 04:01:45
🙂八十年代神经网络已经是AI的一部分了 16 假设 字1283 2023-07-16 01:43:57