首页 > 其他分享 >李沐:用随机梯度下降来优化人生!

李沐:用随机梯度下降来优化人生!

时间:2022-10-04 20:02:37浏览次数:52  
标签:也好 梯度 下降 目标 随机 李沐 步子



 Datawhale推荐 

作者:李沐,CMU,亚马逊首席科学家

李沐:用随机梯度下降来优化人生!_人工智能

1.要有目标。你需要有目标。短的也好,长的也好。认真定下的也好,别人那里捡的也好。就跟随机梯度下降需要有个目标函数一样。

2.目标要大。不管是人生目标还是目标函数,你最好不要知道最后可以走到哪里。如果你知道,那么你的目标就太简单了,可能是个凸函数。你可以在一开始的时候给自己一些小目标,例如期末考个80分,训练一个线性模型。但接下来得有更大的目标,财富自由也好,100亿参数的变形金刚也好,得足够一颗赛艇。

3.坚持走。不管你的目标多复杂,随机梯度下降都是最简单的。每一次你找一个大概还行的方向(梯度),然后迈一步(下降)。两个核心要素是方向和步子的长短。但最重要的是你得一直走下去,能多走几步就多走几步。

4.痛苦的卷。每一步里你都在试图改变你自己或者你的模型参数。改变带来痛苦。但没有改变就没有进步。你过得很痛苦不代表在朝着目标走,因为你可能走反了。但过得很舒服那一定在原地踏步。需要时刻跟自己作对。

5.可以躺平。你用你内心的激情来迈步子。步子太小走不动,步子太长容易过早消耗掉了激情。周期性的调大调小步长效果挺好。所以你可以时不时休息休息。

6.四处看看。每一步走的方向是你对世界的认识。如果你探索的世界不怎么变化,那么要么你的目标太简单,要么你困在你的舒适区了。随机梯度下降的第一个词是随机,就是你需要四处走走,看过很多地方,做些错误的决定,这样你可以在前期迈过一些不是很好的舒适区。

7.快也是慢。你没有必要特意去追求找到最好的方向和最合适的步子。你身边当然会有幸运之子,他们每一步都在别人前面。但经验告诉我们,随机梯度下降前期进度太快,后期可能乏力。就是说你过早的找到一个舒适区,忘了世界有多大。所以你不要急,前面徘徊一段时间不是坏事。成名无需太早。

8.赢在起点。起点当然重要。如果你在终点附近起步,可以少走很多路。而且终点附近的路都比较平,走着舒服。当你发现别人不如你的时候,看看自己站在哪里。可能你就是运气很好,赢在了起跑线。如果你跟别人在同一起跑线,不见得你能做更好。

9.很远也能到达。如果你是在随机起点,那么做好准备前面的路会非常不平坦。越远离终点,越人迹罕见。四处都是悬崖。但随机梯度下降告诉我们,不管起点在哪里,最后得到的解都差不多。当然这个前提是你得一直按照梯度的方向走下去。如果中间梯度炸掉了,那么你随机一个起点,调整步子节奏,重新来。

10.独一无二。也许大家有着差不多的目标,在差不多的时间毕业买房结婚生娃。但每一步里,每个人内心中看到的世界都不一样,导致走的路不一样。你如果跑多次随机梯度下降,在各个时间点的目标函数值可能都差不多,但每次的参数千差万别。不会有人关心你每次训练出来的模型里面参数具体是什么值,除了你自己。

11.简单最好 。当然有比随机梯度下降更复杂的算法。他们想每一步看想更远更准,想步子迈最大。但如果你的目标很复杂,简单的随机梯度下降反而效果最好。深度学习里大家都用它。关注当前,每次抬头瞄一眼世界,快速做个决定,然后迈一小步。小步快跑。只要你有目标,不要停,就能到达。

李沐:用随机梯度下降来优化人生!_机器学习_02

干货学习,三连

标签:也好,梯度,下降,目标,随机,李沐,步子
From: https://blog.51cto.com/u_15699042/5731531

相关文章

  • 使用 JavaScript 和 CSS 的随机颜色生成器
    在线演示地址:​​https://haiyong.site/tools/color-generator.html​​​源码也可在文末免费获取✨项目基本结构目录结构如下:├──css│└──style.css├──js......
  • python爬虫配置随机请求头headers伪装User-Agent
    python爬虫随机headers伪装fake_useragentfake_useragent库调用方法ua.random可以随机返回一个headers(User-Agent)fromfake_useragentimportUserAgent#下载:pipins......
  • 复制带随机指针的链表
    复制带随机指针的链表作者:Grey原文地址:博客园:复制带随机指针的链表CSDN:复制带随机指针的链表题目描述一种特殊的单链表节点类描述如下classNode{intval;......
  • C语言入门—明明的随机数
    题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的......
  • 二维随机生长法-原创
    测试案例%demo1%node1=genQSGS2d([100100],0.3,0.01,[0.2,0.1]);%demo2prob=[0.10.10.10.10.20.050.20.05]';node2=genQSGS2d([100100],0.4,0.007,......
  • 吴恩达机器学习复习1:监督学习、无监督学习、模型表示、损失函数、直觉Ⅰ、直觉Ⅱ、梯
    【说在前面】1.只是知道算法和数学,而不知道如何将算法实际运用于你所关心的问题并不是一件好事。2.花点时间做些有关算法每个步骤的练习,看看你能否理解它们是如何工作的......
  • 随机点名、、、添加学生
    <metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1.......
  • ECharts柱状图,随机或者指定改变颜色
    //指定颜色itemStyle:{color:function(params){varcolorarrays=["#990033","#ff66cc","#3300cc","#ffcc00","#339933","#66cccc"]......
  • C#制作一个随机生成验证码程序
    制作一个随机生成验证码程序一、验证码类namespaceRVaildateCode{publicclassClass1{publicvoidCreateCheckCodeImage(PictureBoxpbox)......
  • 随机数生成
    我知道是伪随机数生成啦你不要再说啦mt19937c++11加入。定义一个名叫rd的随机数生成器(括号内为种子)。mt19937rd(std::chrono::system_clock::now().time_since_epo......