我一直想在我的所有的B站系列视频想传递的一个概念是,既要懂代码实现,也要懂数学计算原理,或者反过来,不仅要懂原理,也要会实现; 原理与实践二者互为表里,不可分割。再者来说,实现是相对简单的,原理则是困难的,但是不懂原理,很难讲说深入了,就像不看源码,很难说自己懂这个框架了。
这里补充介绍下我相关B站视频系列的一个很大的优势就是数学、AI计算理论以及代码的三位一体(当然受限于我自己的能力),可能没那么高的高度,但我追求的一种直观和实用,易理解,肯定是有的,是别的那里可能不是那么具备的。
而且我的 B 站的系列都是自然生长出来的,持续不断地在解决我工作学习中的问题,自己想明白之后才做的视频,它至少对于我而言,一定是必要的,甚至是重要的,而不像课本和教材一样,刻意地追求全面。
modern AI for beginners
- 目前暂定的路线主要有如下两个分支,这两个分支统一来说都属于 Generative AI(生成式AI,也是某种形式的大一统),这是我对现代式 ai 的最直白最浅显的理解,然后在 multi modality 处汇合;
- transformer based LLMs
- diffusion models
- multi modality
- 似乎目前越来越强的一个趋势,现代式人工智能越来越演变为一种复杂的大数据、深度学习为核心的复杂计算机科学系统工程的艺术;
- 对一个人全面性的要求越来越高,但要分清主线和支线,支线仅是工具辅助支撑而已;
-
技术栈上主要是围绕 PyTorch 展开,如下我的 B 站系列(可能是最早稳定的一个)
- 经典神经网络模型拓扑结构(pytorch)
-
数学基础,如下我的 B 站系列
- 深度学习的数学基础
- 目前我对数学基础的理解,
-
(多元函数,multivariabel)微积分
- 多元函数微分通向矩阵,jacobian & hessian matrix;
-
矩阵分析;比较直观简单,拿来即用;
- 矩阵矢量乘法,矩阵求逆;
- 矩阵分解:奇异值分解(SVD);
- 矩阵微分:
$(x^TAx)'=2Ax$
-
数值优化方法;(这两块(优化和矩阵)的工具都比较成熟,大体了解下 solver 即可)
- 对应torch 中的 optimizer,主要是基于数值优化的 gradient-based 的方法
-
主要是概率与数理统计,贝叶斯(我觉得这部分的内容对我来说反而是困难的,因为比较抽象,需要较多的推导,)
- 先验(prior),似然(likelihood),后验(posterior);
-
-
深度学习
-
Dive into Deep Learning
- 如果没有路径依赖果断选择 pytorch 版;
-
Dive into Deep Learning
主要是我在 B 站的三个系列
- BERT、T5、GPT
- 语言模型的基础
- 一个练习项目:Neural Network: Zero to hearo - Andrej Karpathy 制作的系列视频, 带你从 0 开始构造自己的 nanoGPT
- personal chatgpt
- 大语言模型的全新范式
- pytorch distributed
- 多级多卡分布式的基础
软件工程是复杂性管理的艺术; 但显然对于现代式人工智能而言,软件工程是工具是手段,而非目标;
-
强化学习篇(DRL: Deep Reinforcement Learning):李宏毅老师有优先于王树森老师(李宏毅老师符号公式的出发点更主流,王树森老师的推导也很基础,可以辅助帮助理解)
-
Practical Deep Learning for Coders - Jeremy Howard (Kaggel 创始人) 制作的系列课程, 用自顶向下的方式, 从使用预训练模型开始深入到原理, 适合有软件开发经验的人入门