想学习人工智能吗?但不知道如何开始?要熟练掌握人工智能相关的技术,光学习很多课程是不够的。
为了摆脱只是跟着教程学习,你需要亲自动手,从头开始编写算法,动手实践,并通过使用人工智能解决问题来做一些有趣的边项目。这篇文章试图创建一份免费的课程路径,希望对大家学习有帮助。(注意:有大量教程、书籍、论文和资源都是英文的,请配合 AI 翻译工具来阅读吧。)
本文目录
自上而下的方法
这份课程采用自上而下的方法——先编码,后理论。
建议大家在必要时才进行学习。即,如果我需要解决某个问题或制作一个原型,我会四处寻找所需的信息,学习、理解然后进行实践。
例如,我目标是成为一个从根本上理解大型语言模型(LLM)的AI工程师,这包括从头编码变换器的技能和在GPU上微调LLM等。我现在还做不到,因为我的知识有缺口,我希望填补这些缺口。
在我给你推荐一堆链接之前,还有两个学习过程中的建议:不要闷头自学。
学无止境,尤其是在人工智能领域,每个月都有前沿的论文发布。
最大的错误是自己闷头学习。除了能完成了某些事之外,你没有任何成果可展示。这样你会错失很多机会。更重要的是你如何处理这些信息,如何将其转化为可以与公众分享的知识,以及从这些信息中产生了什么新颖的想法和解决方案。
因此,你应该在公开你的学习进展,学习经验,甚至是一些成果。
这意味着要养成创造的习惯。这可能意味着,你尝试做这些事情:
- 写博客和教程
- 参加黑客马拉松并与他人合作
- 在社区中提问和回答问题
- 做你感兴趣的项目
- 在一些社交媒体上发表你新发现的有趣的事
现在我们开始吧。
算法学习
机器学习严重依赖三大数学支柱:线性代数、微积分、概率与统计。每个都在算法有效运行中扮演着独特的角色。
- 线性代数:数据表示和操作的数学工具箱,矩阵和向量构成算法解释和处理信息的语言。
- 微积分:机器学习中优化的引擎,通过理解梯度和变化率,使算法能够学习和改进。
- 概率与统计:在不确定性下做决策的基础,允许算法通过随机性和可变性的模型预测结果并从数据中学习。
这是一套从程序员视角出发的机器学习数学系列:由Weights & Biases提供的《机器学习的数学》(github 地址)
如果你想从代码角度学习线性代数,可以学习fast.ai创造者的《计算线性代数》(github 地址)。
如果你想要更传统的内容,可以看伦敦帝国学院的讲座——线性代数与多变量微积分。(这两个视频,在国内视频网站中没有搜到,大家可以自己跳转去看)
观看3Blue1Brown的《线性代数的本质》和《微积分的本质》。
为了学习统计学,观看StatQuest的《统计学基础》。
补充资料:
- 书籍:《机器学习的数学》
- 论文:《深度学习所需的矩阵微积分》
工具
Python
初学者从这里开始:实用Python编程。当然,B 站上也有清华北大整理的 Python 教程,也不错,大家可以自己搜索。
如果你已经熟悉Python,可以学习这个高级Python精通课程。
这两个课程都是由David Beazley(《Python Cookbook》的作者)提供的。
阅读《Python设计模式》。
补充资料
- 书籍:《流畅的Python,第二版》(Github 地址)
- 播客:Real Python & Talk Python
PyTorch
PyTorch官网是一个很好的资源。
- PyTorch示例
- 官方PyTorch教程
- 常见问题解答页面
- 通过一些谜题测试你的知识:srush/Tensor-Puzzles:解决谜题。提升你的PyTorch技能。
补充资料
- 书籍:《