美文网首页程序员
加减乘除新悟

加减乘除新悟

作者: darkie | 来源:发表于2020-03-09 11:21 被阅读0次

    工作原因太久太久太久没有记录什么东西了。这段时间终于有些闲下来,赶紧开始追赶深度学习的内容。

    我是学英语出生的,深知学习本身,就跟深度模型一样,大量的input,大量的training,才能快速得到正确的output

    在开始深度学习历程的时候,我觉得有一个问题是非常非常重要,并且必须不断去领悟,不断去更新认知的,那就是最最常见不过的数学上的加减乘除。也正是接触到深度学习(人工智能)之后,我才发现了数学之美。

    数学之美不在于任何复杂的公式,数学之美就在于简单的加减乘除结合,却道出了万物之联系,能寻找出错综复杂背后的本质。现在,数学借助算力,以人工智能为载体,开始推进人类进入一个新的发展层次。

    我不是数学系出生,所以不会给出专业的证明,这是用最简单的语言,结合我自身理解的结果,拙见。

    第一记,是关于 RELU activation function

    模型中使用 RELU 的结果,就是如果计算结果小于或者等于0,该方程的输出是0,其他情况,则等于输入本身。

    深入理解看这里

    也是从上面这篇文章中,我看到了 + 法的一些实际意义。

    RELU 是一个及其简单的公式,f = jA + kB。但是这个公式却赋予了深度模型处理非线性问题的能力,而我们生活中的绝大部分问题,都是非线性的。

    什么叫非线性,简单理解可以是影响一件事情的因素不止一个,并且越复杂的问题,影响因素越多,还并且,各个因素还要加上不同的权重。

    为什么这么一个乘一下,加一下的公式,可以有这样大的能力呢?

    根据 kaggle 的文章,RELU 可以捕捉到模型中变量之间的微妙关系(文中是 interaction)。该文中用糖尿病举例。要判断一个人是否有糖尿病,一定需要查看这个人的体重数据。但是不能光看体重数据,体重较重的人,如果身高很高,这个人应该没有问题。但是体重很重,身高很矮,那就要警觉糖尿病的危险了。

    这个例子,说明了判断糖尿病,身高和体重两个变量是相互影响的(interact with each other)。f = jA + kB,这里的 + 号,体现出的是 A 对于结果 f 的影响,是基于另一个变量 B的。类推上面糖尿病的例子,可以把 f 看成这个人确诊的概率,A 是体重,B 是身高。如果这个人很高,那么就设置 B 为一个很大的负数,如 -200,那么 A (体重)可以对确诊结果有影响,但是影响就很小,体重必须达到一个很大的值,才能让确诊结果增加到 0 以上。

    那么在确诊病情的例子中,只有大于 0 的概率才是有意义的,因此,RELU 将非 0 的数据保留,而将其他数据全部置为 0。这在分类等需要给出概率判断的模型中是非常重要的。

    所以,个人理解,+ 号,在深度模型中的意义,在于叠加各个参数的影响,也表示着各个参数之间,是存在相互影响的。

    乘法呢?

    个人理解,乘法就是权重,或者理解成影响一件事情的某个因素的重要性。比如说,车子要跑得快,影响因素包括一个好的驾驶员,好的轮胎,空气动力学设计,马力足够大等。这些因素当中,马力足够大可能是影响因素最大的一个,那么就应该给予马力一个大的权重,让马力影响最终结果的公式中能有更大的影响力。设驾驶员为 A,轮胎为 B,空气动力为 C,马力为 D,这个公式可能是这样:f = 2 * A + 4 * B + 5 * C + 8 * D。这样一来,马力只需要提升很小的空间,车子也就能跑得更快,现实生活中,也应该是如此。

    减法呢?

    减法用加法来实现,等同加法。

    除法呢?

    除法用乘法实现,等同乘法。

    这里的理解,抛开了统计,概率这些议题,这些实在是太复杂,专注于深度学习这块,或者更小的 activation function 这一块去理解,就已经够我揣摩很久了。其实复杂公式的背后,微积分,导数,最终就是加减乘除,还需要去慢慢品味,加深理解。

    很多 activation function 其实都是非常简单的数学,但是最基础的东西,往往是构成大厦的基石,而复杂是由简单构成的。

    相关文章

      网友评论

        本文标题:加减乘除新悟

        本文链接:https://www.haomeiwen.com/subject/ezaydhtx.html