浅谈ML学习

博主曾多次尝试“学习ML”:

  • 各种专业课(涉及到但不教的/教但是一大半是老古董的/…)上:一点没掌握,期末手写个反向传播,卷子一交忘得干干净净;实验是只会疯狂tab的,交完报告了事
  • cs231n:CV经典课,质量确实高但博主当时学的时候没开窍
  • 同理还有cs224n(NLP)
  • 应该还有别的但是往事不可查

现在回想当初乱跑的经历,我现在认为问题出在,自己都不知道自己到底在学一个什么东西,汲取新东西没有目的性。外加花里胡哨的概念太多,一下子涌上来眼花缭乱更是不知所以然了。

其实,学习ml,或者学习任何其它新领域,应当采用做research的思维去思考(本身这些方法也是从research中来的)。

具体来说,以ml为例,首先应该问:

如果 ML 是一个方法,那么它究竟是为了解决什么问题而诞生的?

这个问句的答案是:为了更好地找到一个function的“形状”,我们发明了ml。

自然而然地就有了下面的思考:

  1. 我们允许学出什么样的 function

    我们认为怎样的 function family 更适合描述这个问题?

    详细展开来说,function框架长什么样?哪些参数要学?为什么设计成这样?

    例如:MLP / Transformer / CNN / GNN。

  2. 如何学习?

    1. 从哪里学习?

      • 有标准答案,于是可以做 supervised learning。
      • 没有逐步的标准答案,只能通过和环境交互获得 reward,于是有了 reinforcement learning。

      还有 self-supervised learning、unsupervised learning 等等,本质上也都在回答:learning signal 从哪里来。

      我们能获得什么样的 feedback,会进一步决定该怎样构造 loss / objective / reward,以及整个 training procedure。

    2. 怎么学我们定义的“好”的 function?

      • gradient descent、backpropagation、SGD、Adam、learning rate
      • PPO / GRPO

顺着这种research思路往下学习,才真正能内化零碎的知识。

tips:

  1. 其实博主的饺子醋是想批判常规的四分格教学思路(先学回归再学分类再学聚类之类的),这样只是提出了一个又一个新概念而已,知道了一大堆名词,却不知道它们为什么会出现在这里,这种上来就进入methodology的思路值得鄙视
  2. 给了博主巨大帮助的教程:李宏毅老师的ML相关课程,在油管上均可以搜到。感谢老师的无偿分享TT

Copyright © 2026 CRZ's Blog

Powered by Hexo • Theme Candelas