【必收藏】台大李宏毅老师课程 | 资源汇总、笔记总结与索引
2020年7月20日至2020年8月18日,我刷完了台大李宏毅老师的深度学习/机器学习
相关课程,我分为了 64 个大课时,记录了 64 篇笔记。
我对于李老师课程感到惊讶又欣喜:
- 惊讶在于,李老师能把
深度学习/机器学习
的知识串成一套体系,并且由浅入深,前后呼应,取舍得当:既能照应到深度学习中深邃的数学理论基础,又能适当抛弃一些繁杂的理论,从工程意义上帮助我理解模型。这一切都令我惊讶。 - 欣喜在于,李老师课程不但充实,还很风趣。谁能想到机器学习中文社区人人皆知的李宏毅老师,是位“阿宅”呢?不管怎样,我很喜欢李老师动不动就二次元的风格,怪不得李老师人称“宝可梦训练大师”。
本文目录:
- 如何找到课程资源
- 课程章节的汇总
- 课程总结以及我的下一步学习计划
如何找到课程资源
我主要在中文互联网观看李老师课程,感谢两位 B 站 UP 主的搬运:
- BV1JE411g7XF,本视频内容较全,但确实了一部分结构化学习内容;
- BV13x411v7US,本视频的 P31-35 是关于 SVM 以及结构化学习的内容,P38 是关于集成学习的科普。
此外,李老师的全部课程汇总于李老师的油管频道,可自行检索。
台大机器学习2020的课程主页:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML20.html
课程章节的汇总
我对于课程的学习顺序如下。
一、基础理论
- 从宝可梦(一部训练神奇动物的动画)出发,举了一个回归的例子,讲解了深度学习的基本思路 -
建模、定义用于优化的损失函数loss、梯度下降
:Regression - Case Study - 误差与模型选择的初步讨论:Basic Concept
- 梯度下降相关知识,最后用
帝国时代
和我的世界
两款电子游戏举例,直接把我路转粉:Gradient Descent - 由助教讲解,目的为介绍各种优化器,如 Adam 等:Optimization for Deep Learnin
- 由一个分类任务,由高斯分布的拟合,从数学上不枯燥地引出为什么使用 wx+b 形式以及 Sigmoid ,整节课一气呵成,强烈推荐:Classification
- 基于上节课内容,引出交叉熵等概念,接着,从单个逻辑回归的局限性,生动地展示出“特征变换”这一做法,并引出“神经网络”这一概念,强烈推荐:Logistic Regression
- 深度学习简介:Brief Introduction of Deep Learning
- 神经网络反向传播到底是怎么计算的,请放心地去学这节课,即便你线性代数基础很差,配合李老师的幻灯片与引导,你很难听不懂:Backpropagation
- 激活函数、Maxout、正则、剪枝/Dropout等等技巧性内容:Tips for training DNN
- 本节课承接 Brief Introduction of Deep Learning 内容,开始论述,为什么不是“广度神经网络”,而是“深度神经网络”:Why Deep-
- 由助教讲解,关于PyTorch使用:PyTorch Tutorial
前11节课,我记笔记的方式不是很成熟,尤其是前几节课,考虑到自己已经有了一定经验,甚至没怎么记录。在之后的课程中,我逐渐摸索出一套记笔记的规范,并且力求笔记对课程内容的完整描述,让自己以后重温时,可以起到“快速检索”的效果。
二、基本的网络模型
- 卷积神经网络,李老师对于卷积神经网络有独特的总结,是从案例的角度出发的,并且与全连接层做了直观的对比,强烈推荐:Convolutional Neural Network
- 由助教讲解,图神经网络:Graph Neural Network
- 循环神经网络,其实在油管上,这一部分被李老师安排在了结构化学习之后,但是现在学也不影响:Recurrent Neural Network
这一部分属于深度学习的常识,我以前一直是只会掉包,但不知其所以然。现在懂了一些。
三、自然语言处理/序列相关
- 词嵌入:Unsupervised Learning - Word Embedding
- Transformer:Transformer
- ELMO, BERT, GPT:ELMO, BERT, GPT
- 由助教讲解的 Transformer :Transformer and its variant | New Architecture
李老师所在的实验室就是研究自然语言与语音识别这类序列问题的,这部分是李老师的拿手好戏。对于深度学习初学者,了解这些知识一定不亏,不信的话,去看腾讯广告算法大赛。
四、无监督学习
- 线性模型、主成分分析与推荐算法常用到的矩阵分解:Unsupervised Learning - Linear Methods | PCA & Matrix Factorization
- 嵌入与降维可视化模型:Unsupervised Learning - Neighbor Embedding
- 自编码技术:Unsupervised Learning - Auto-encoder
- 深度生成模型:Unsupervised Learning - Deep Generative Model
- 特征分解等技术,有一些生成对抗网络的影子了:More about Auto-encoder
- 由助教讲解,关于自监督学习的三大思想,主要集中在文本问题的 BERT 变体上:Self-supervised Learning
五、生成对抗网络
- 基本思想:Generative Adversarial Network | Basic Idea
- 条件生成对抗网络:Generative Adversarial Network | Conditional GAN
- 无监督条件生成对抗网络:Generative Adversarial Network | Unsupervised Conditional Generation
- 生成对抗网络中的统计与理论:Generative Adversarial Network | Theory behind GAN
- 生成对抗网络中的分布距离的数学基础:Generative Adversarial Network | fGAN: General Framework of GAN
- 关于生成对抗网络中的一些技巧:Generative Adversarial Network | Tips for improving GAN
- 生成对抗网络一些其他变体,与特征提取相关:Generative Adversarial Network | Feature Extraction
- 生成对抗网络在“修图”领域的一些神奇技术:Generative Adversarial Network | Intelligent Photo Editing
- 生成对抗网络与序列问题:Generative Adversarial Network | Improving Sequence Generation by GAN
- 生成对抗网络的评价:Generative Adversarial Network | Evaluation
- 由助教讲解,一些其他模型:SAGAN, BigGAN, SinGAN, GauGAN, GANILLA, NICE | More About GAN 2020
六、元学习
- 对参数初始化的学习:Meta Learning – MAML | Reptile
- 对梯度下降的学习:Meta Learning - Gradient Descent as LSTM
- 其他关于元学习的技术:Meta Learning - Metric-based Approach & Train+Test as RNN
- 由助教讲解,关于元学习的一次大概述:More about Meta Learning
七、强化学习
- 对强化学习的简介:Deep Reinforcement Learning | Scratching the surface
- 策略梯度及其变种:Policy Gradient & Proximal Policy Optimization
- Q学习及其变种:Q-Learning: Introduction & Tips & Continuous Actions
- 行动家-评判家、系数奖励、模仿学习:Actor-Critic & Sparse Reward & Imitation Learning
- 助教讲解的更多强化学习的内容:RL - Model-based, Meta, Multi-agent, Alpha
八、结构化学习
- 简介与线性模型:Structured Learning: Introduction & Structured Linear Model
- 结构化支持向量机:Structured Learning: Structured SVM
- 序列问题中的结构化模型,如隐马尔可夫模型、条件随机场:Structured Learning: Sequence Labeling
九、其他领域
- 半监督学习,你可以在这门课中领会到李老师的教学功力,他用
近朱者赤,近墨者黑
、去芜存菁,化繁为简
这类语句抽象出不同的学习的核心思想,妙哉:Semi-supervised - 可解释性机器学习:Explainable ML
- 由助教讲解的可解释性机器学习:More about explainable AI
- 机器学习对抗攻击模型:Attack ML Models
- 由助教讲解的机器学习对抗攻击模型:More about Adversarial Attack
- 模型压缩:Network Compression
- 由助教讲解的模型压缩,以知识蒸馏为主:Network Compression - Knowledge Distillation
- 由助教讲解的模型压缩,以模型剪枝为主:Network Compression - Network Pruning
- 关于生成模型、注意力模型等:Conditional Generation by RNN & Attention & Pointer Network& Recursive
- 异常点检测:Anomaly Detection
- 由助教讲解,关于异常点检测的新技术:More about Anomaly Detection
- 迁移学习:Transfer Learning
- 由助教讲解的领域适配:More about Domain Adaptation
- 终身学习:Life Long Learning
- 由主教讲解终身学习:More about Life Long Learning
- 支持向量机:Support Vector Machine (SVM)
- 集成学习:Ensemble: Bagging, Boosting, Adaboost, Gradient Boosting, Stacking
课程总结以及我的下一步学习计划
如上,我分为了 9 个大类。被归为第 9 类“其他领域”的知识,有些是我认为李老师没有“用全力讲解”的部分,更多地,是去理解其核心思想,把这个看作李老师精心准备的超高质量综述就好。总之,李老师系统总结了大量论文的成果,这有利于我们入手任意一门技术。
李老师的课程有明显的“缺点”:
- 比如,在强化学习部分,没有提及“马尔可夫过程”、或者“贝尔曼方程”,这些都是强化学习可以收敛的理论基础——显然,李老师为我们选择性跳过了些实践中用不到的内容。或者说,李老师并不准备为强化学习预留大量课时,因此,选择性地跳过了一些基础理论。
但是瑕不掩瑜,看过李老师做理论证明、循序渐进、矩阵运算的同学都知道:这么多课听下来,真的赚大了。
现在已经拿到“深度学习与机器学习入场券”,我的下一步计划是,实践、实践与实践。
【必收藏】台大李宏毅老师课程 | 资源汇总、笔记总结与索引相关推荐
- 台大李宏毅机器学习课程
[机器学习入门] 台大李宏毅机器学习课程,转载来自:https://blog.csdn.net/soulmeetliang/article/details/77461607 TOPIC CONTENT ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (1)Introduction of machine Learning
台大李宏毅Machine Learning 2017Fall学习笔记 (1)Introduction of machine Learning 台大李宏毅讲的这门课应该不错,课程链接: http://b ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras
台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras 本节课主要讲述了如何利用Keras搭建深度学习模型.Keras是基于TensorFlow封装的上层API,看上去 ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent
台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent 这节课首先回顾了利用梯度下降法优化目标函数的基本步骤,然后对梯度下降法的应用技巧和其背后的 ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
- 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction
台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning
台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning 本博客参考整理自: http://blog.csdn.net/xzy_t ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?
台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep? 本博客整理自: http://blog.csdn.net/xzy_thu/article/detail ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network
台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network 本博客主要整理自: http://blog.csdn.net/x ...
最新文章
- 利用frp进行内网穿透
- 高通平台msm8909 LK 实现LCD 兼容
- Gossip协议详解
- AI研究的盲点:无解的神经网络内在逻辑
- 24口光纤配线架 cad块_光纤配线架cad画法
- 美团面试一道场景设计题
- 面试常备题---插入排序
- cdoj 1092 韩爷的梦
- vagrant 错误记录
- NoSQLAttack针对 mongoDB 的攻击工具
- linux中vim如何替换字符串,vim中替换字符串的方法有哪些
- 对抗样本(三)FGSM
- Java 分页工具类
- 十代主板改win7_微星Z490装win7 Bios设置|微星Z490主板10代CPU装win7
- 计算机技术发展5大阶段,现阶段计算机技术应用及发展
- 《淘宝技术这十年》读书笔记
- linux 挂接磁盘阵列,Linux下磁盘分区挂载和磁盘阵列
- 墨门云文件加密系统有哪些功能特点?
- RTX3090 GPU环境配置
- Laravel + EasyWeChat 微信登陆功能
热门文章
- Project file is incomplete. Expected imports are missing 错误解决方案
- Linux下安装Docker,报错docker: unrecognized service的两种解决方案
- js的异常处理 try catch
- layui button按钮点击导致页面重新刷新的解决方案
- latex : 系统找不到指定文件问题解决方案
- ThreadLocal 遇上线程池的问题及解决办法
- Android闹钟设置的解决方案
- 解决Vue循环中子组件不实时更新的问题
- 从源代码中加载res / values / dimension.xml中的维度值
- win11内存泄露怎么办 Windows11内存泄露的解决方法