小宇:原来如此!诶?那如果回到最初,我们不简化预测函数的直线方程,直接是 y = wx + b 呢?这要怎么办?
闪客:一样的,这样最终代入到损失函数后,就是关于 w 和 b 两个未知变量的函数,求极值点如果画成图的话,就不再是抛物线了,而是三维坐标中的曲面。
[attach]843065[/attach]
小宇:哇,这么简单呀,其实就是每个参数每次都变化自己偏导数那么大的值就好了。
闪客:没错!不过这样的话有个小问题,就是每次变化的这个量,太大了容易走过了错过最低点,太小了又太磨叽,所以我们乘以一个学习率 η 来调整一下速度。
[attach]843079[/attach]
小宇:哦还真是,人类真是好聪明呀!
闪客:哈哈是呀。咱们找到了梯度下降的求解方法,你来实践一下吧。回到那个最简单的题目,假设 x 和 y 的数据如下:x=[1,2,3,4] y=[1,2,3,4] ,求一下 y = wx 中的 w 是多少。
[attach]843080[/attach]
虽然傻子也能直接看出 y = x 是最终的解,不过我们就用这个来举例实战一下,你来用梯度下降的方法求一下 w 的值。
小宇:好的,不过我学你,这种小事儿我也懒得自己算了,交给 AI 吧!
[attach]843081[/attach]
[attach]843082[/attach]
闪客:哈哈真不赖,活学活用呀,这 AI 直接把图都帮我们画出来了,图里可以看到损失函数的值 Loss 再逐渐降低为 0,而我们要计算的权重 w 的值在不断接近 1。之后你看到再复杂的机器学习或者深度学习等过程的展示,最核心的其实就是这两个东西的变化罢了。
小宇:哇,似乎有点 GET 到 AI 的核心逻辑了!我理解更高维度也就是更多参数的梯度下降求解,和这个步骤基本的思路是一致的。
闪客:没错,至于梯度下降的改进版本,比如动量法、Adam 优化器等,以及更多计算模型,比如神经网络、卷积神经网络等,都是在这个核心思路的基础上迭代出来的。
小宇:厉害了,这次讲得还挺耐心!
闪客:哎呀,不知不觉又到饭点了,今天讲的给你画了这么多图很累的,请我吃个饭吧。
小宇:哦才想起来我家里洗的衣服还在洗衣机里呢,我得回去晾衣服啦,下次吧。
闪客:哦~
<hr/>转载内容仅代表作者观点