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 类“其他领域”的知识,有些是我认为李老师没有“用全力讲解”的部分,更多地,是去理解其核心思想,把这个看作李老师精心准备的超高质量综述就好。总之,李老师系统总结了大量论文的成果,这有利于我们入手任意一门技术。

李老师的课程有明显的“缺点”:

  • 比如,在强化学习部分,没有提及“马尔可夫过程”、或者“贝尔曼方程”,这些都是强化学习可以收敛的理论基础——显然,李老师为我们选择性跳过了些实践中用不到的内容。或者说,李老师并不准备为强化学习预留大量课时,因此,选择性地跳过了一些基础理论。

但是瑕不掩瑜,看过李老师做理论证明、循序渐进、矩阵运算的同学都知道:这么多课听下来,真的赚大了。

现在已经拿到“深度学习与机器学习入场券”,我的下一步计划是,实践、实践与实践。

【必收藏】台大李宏毅老师课程 | 资源汇总、笔记总结与索引相关推荐

  1. 台大李宏毅机器学习课程

    [机器学习入门] 台大李宏毅机器学习课程,转载来自:https://blog.csdn.net/soulmeetliang/article/details/77461607 TOPIC CONTENT ...

  2. 台大李宏毅Machine Learning 2017Fall学习笔记 (1)Introduction of machine Learning

    台大李宏毅Machine Learning 2017Fall学习笔记 (1)Introduction of machine Learning 台大李宏毅讲的这门课应该不错,课程链接: http://b ...

  3. 台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras

    台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras 本节课主要讲述了如何利用Keras搭建深度学习模型.Keras是基于TensorFlow封装的上层API,看上去 ...

  4. 台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent

    台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent 这节课首先回顾了利用梯度下降法优化目标函数的基本步骤,然后对梯度下降法的应用技巧和其背后的 ...

  5. 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

    台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

  6. 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction

    台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...

  7. 台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning

    台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning 本博客参考整理自: http://blog.csdn.net/xzy_t ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?

    台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep? 本博客整理自: http://blog.csdn.net/xzy_thu/article/detail ...

  9. 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network

    台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network 本博客主要整理自: http://blog.csdn.net/x ...

最新文章

  1. 利用frp进行内网穿透
  2. 高通平台msm8909 LK 实现LCD 兼容
  3. Gossip协议详解
  4. AI研究的盲点:无解的神经网络内在逻辑
  5. 24口光纤配线架 cad块_光纤配线架cad画法
  6. 美团面试一道场景设计题
  7. 面试常备题---插入排序
  8. cdoj 1092 韩爷的梦
  9. vagrant 错误记录
  10. NoSQLAttack针对 mongoDB 的攻击工具
  11. linux中vim如何替换字符串,vim中替换字符串的方法有哪些
  12. 对抗样本(三)FGSM
  13. Java 分页工具类
  14. 十代主板改win7_微星Z490装win7 Bios设置|微星Z490主板10代CPU装win7
  15. 计算机技术发展5大阶段,现阶段计算机技术应用及发展
  16. 《淘宝技术这十年》读书笔记
  17. linux 挂接磁盘阵列,Linux下磁盘分区挂载和磁盘阵列
  18. 墨门云文件加密系统有哪些功能特点?
  19. RTX3090 GPU环境配置
  20. Laravel + EasyWeChat 微信登陆功能

热门文章

  1. Project file is incomplete. Expected imports are missing 错误解决方案
  2. Linux下安装Docker,报错docker: unrecognized service的两种解决方案
  3. js的异常处理 try catch
  4. layui button按钮点击导致页面重新刷新的解决方案
  5. latex : 系统找不到指定文件问题解决方案
  6. ThreadLocal 遇上线程池的问题及解决办法
  7. Android闹钟设置的解决方案
  8. 解决Vue循环中子组件不实时更新的问题
  9. 从源代码中加载res / values / dimension.xml中的维度值
  10. win11内存泄露怎么办 Windows11内存泄露的解决方法