Skip to content

run-coding/machine-learning-deep-learning-notes

This branch is 1 commit behind loveunk/machine-learning-deep-learning-notes:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

47e662e · Jan 21, 2025
Mar 3, 2019
Apr 6, 2020
Jan 21, 2025
Jan 9, 2024
Nov 25, 2023
Nov 25, 2023
Jan 15, 2023
Apr 17, 2020
Apr 7, 2020
Jan 15, 2023
May 28, 2019
Apr 7, 2020
Jan 9, 2024

Repository files navigation

深度学习(DL/ML)学习路径

最近几年,尤其是自从2016年Alpha Go打败李世石事件后,人工智能技术受到了各行业极大关注。其中以机器学习技术中深度学习最受瞩目。主要原因是这些技术在科研领域和工业界的应用效果非常好,大幅提升了算法效率、降低了成本。因而市场对相关技术有了如此大的需求。

我在思考传统行业与这些新兴技术结合并转型的过程中,亦系统的回顾了深度学习及其相关技术。本文正是我在学习过程中所作的总结。我将按照我所理解的学习路径来呈现各部分内容,希望对你亦有帮助。欢迎一起交流。

主要分为如下几个部分:

  • 数学基础:包括微积分、线性代数、概率论等对理解机器学习算法有帮助的基本数学。
  • PythonPython提供了非常丰富的工具包,非常适合学习者实现算法,也可以作为工业环境完成项目。主流的深度学习框架,例如当前最流行的两个AI框架TensorFlowPyTorch都以Python作为首选语言。此外,主流的在线课程(比如Andrew Ng在Coursera的深度学习系列课程)用Python作为练习项目的语言。在这部分,我将介绍包括Python语言基础和机器学习常用的几个Library,包括NumpyPandasmatplotlibScikit-Learn等。
  • 机器学习:介绍主流的机器学习算法,比如线性回归、逻辑回归、神经网络、SVM、PCA、聚类算法等等。
  • 深度学习:介绍原理和常见的模型(比如CNNRNNLSTMGAN等)和深度学习的框架(TensorFlowKerasPyTorch)。
  • 强化学习:介绍强化学习的简单原理和实例。
  • 实践项目:这里将结合几个实际的项目来做比较完整的讲解。此外结合Kaggle阿里云天池比赛来做讲解。
  • 阅读论文:如果你追求更高和更深入的研究时,看深度学习各细分领域的论文是非常必要的。

内容持续更新中,未完成的部分标识有TBD (To be done)。 文中涉及的公式部分是用CodeCogs的在线LaTeX渲染,如果公式未正确加载,可以尝试多刷新几次。

绪论

机器学习绪论一文中总结了机器学习领域和其解决的问题介绍,建议先读此文,以便有一个系统认知。

数学基础

微积分和线性代数的基础是必须要掌握的,不然对于理解学习算法的原理会有困难。如果已经有一定的数学基础,可以先跳过这一部分,需要的时候再回来补。这里的Notes是基于Coursera中Mathematics for Machine Learning专题做的总结。

Python

如果有比较好的Python和机器学习相关Library的知识,对于学习算法过程中的代码可以快速理解和调试,一方面节省时间,另一方面也可以更聚焦在算法和模型本身上。

机器学习算法

主要基于Machine Learning (Coursera, Andrew Ng) 的课程内容。

深度学习

Deep Learning 专题课程

主要基于Deep Learning (Coursera, Andrew Ng) 的专题课程 ,介绍深度学习的各种模型的原理。

深度学习框架:PyTorch

修订这段文字的时候已经是2023年,PyTorch无论是在工业界还是学术界,都已经碾压了其他的框架,例如TensorFlow、Keras。如果是入坑不久的朋友,我建议你直接学PyTorch就好了。其他框架基本上可以仅follow up即可。

分布式训练

大模型

综述: 2022 年中回顾 | 大模型技术最新进展

LLM 语言大模型

语言大模型(LLM)可以通过学习大量的语料来模拟人类语言处理的能力,如文本生成、翻译、问答等。相比普通的模型,LLM具有更高的准确性和更强的适用性。在最近几年,LLM取得了长足的发展,并在各种应用中取得了显著成果。LLM的发展有许多关键节点,下面列举几个重要的节点:

  • 2014年,Google提出了Word2Vec模型,它能够将单词映射到一个低维向量空间中,并且能够在这个空间中表示单词之间的语义关系。这个模型为深度学习语言模型的发展奠定了基础。

  • 2015年,Microsoft提出了LSTM(长短时记忆网络),这个模型具有记忆能力,能够处理长文本序列。

  • 2016年,OpenAI提出了GPT(Generative Pre-training Transformer)模型,这是一个预训练的语言模型,能够在大量语料上进行预训练,并且能够很好地解决各种语言任务。 GPT,GPT-2,GPT-3 论文精读

  • 2018年,Google提出了BERT(Bidirectional Encoder Representations from Transformer)模型,这个模型能够同时利用上下文来理解词语,这个模型在NLP任务上取得了很好的效果。 BERT论文精读

  • 2020年, GPT-3 (Generative Pre-training Transformer 3)模型发布, 它是一个预训练语言模型,具有175B参数, 能够完成各种复杂的语言任务。 GPT,GPT-2,GPT-3 论文精读

  • 2022年,3月,推出了InstructGPT,是基于人工的对话样本对GPT-3做了微调后的模型。同时引入了reward模型,能给生成回复打分,利用强化学习对模型进一步微调,得到了一个13亿参数的模型,同时比GPT-3的性能更优秀。 InstructGPT论文精读

  • 2022年,11月,OpenAI推出ChatGPT,直接出圈引爆了行业内外对大模型的关注。ChatGPT是基于GPT3.5,目前还没发布论文,据称其核心技术是和InstructGPT类似。

  • 语言大模型介绍 , by Andrej Karpathy

LVM 视觉大模型

  • DINO-v2
  • SAM (Segment-Anything)

多模态 (MLLM/VLM)

随着语言大模型的发展,图文多模态领域从23年开始也获得了巨大的突破。其中BLIP-2架构 巧妙的利用冻结的LLM和ViT,仅训练Adapter层的架构,成为后来图文多模态领域的主流。

大模型微调

其他主题

视频理解

强化学习

  • Reinforcement learning (RL) is a type of machine learning, in which an agent explores an environment to learn how to perform desired tasks by taking actions with good outcomes and avoiding actions with bad outcomes. A reinforcement learning model will learn from its experience and over time will be able to identify which actions lead to the best rewards.

工欲善其事,必先利其器

推荐的书

  • 《机器学习》(别名《西瓜书》周志华)
  • 《Deepleanrning》(别名《花书》作者Ian Goodfellow)
  • 《Hands on Machine Learning with Scikit Learn Keras and TensorFlow》(已经出了第二版,作者Aurélien Géron)
  • 非常推荐购买纸质书,关于电子版可参考这个的Repo:机器学习/深度学习/Data Science相关的书籍

推荐的实践环境

一些相关工具

项目和竞赛

竞赛

  • Kaggle(全球赛、推荐的平台)
  • 天池 - 阿里云(中国)

相关论文

对于一些问题的深入研究,最终是离不开阅读优秀论文,推荐如下GitHub:

写在最后

一点建议

对于此前不是机器学习/深度学习这个领域的朋友,不管此前在其他领域有多深的积累,还请以一个敬畏之心来对待。

  • 持续的投入:三天打鱼两天晒网的故事,我们从小便知,不多说了;
  • 系统的学习:一个学科,知识是一个体系,系统的学习才可以避免死角,或者黑洞;
  • 大量的练习:毕竟机器学习/深度学习属于Engineering & Science的范畴,是用来解决实际的问题的。单纯的理论研究,如果没有实际的项目(包括研究项目)经验做支撑,理论可能不会有很大突破。

欢迎反馈

  • 如果发现内容的错误,欢迎在GitHub提交Issue或者Pull Request
  • 个人精力有限,欢迎感兴趣的朋友一起来完善和补充内容
  • 欢迎 ⭐ Star ⭐ 和Share 此Repository ​

Backup

以下内容是之前撰写的,目前已经不推荐 ### TensorFlow * 推荐吴恩达DeepLearning.ai和Coursera推出的系列TensoFlow课程。每门课均包括四周内容,Exercise基于Google Colab平台,讲师是来自Google Brain团队的Laurence Moroney: 1. 《[Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning](https://www.coursera.org/learn/introduction-tensorflow)》:TF入门 2. 《[Convolutional Neural Networks in TensorFlow](https://www.coursera.org/learn/convolutional-neural-networks-tensorflow)》:CNN, Transfer Learning 3. 《[Natural Language Processing in TensorFlow](https://www.coursera.org/learn/natural-language-processing-tensorflow)》:构建NLP系统,涉及RNN, GRU, and LSTM等 4. 《[Sequences, Time Series and Prediction](https://www.coursera.org/learn/tensorflow-sequences-time-series-and-prediction)》:用RNNs/ConvNets/WaveNet解决时序和预测问题 * 关于TensorFlow 2.0,推荐阅读[《TensorFlow Dev Summit 2019》](https://zhuanlan.zhihu.com/p/60077966)以便对TensorFlow体系有个完整认知。 * [TensorFlow/Keras的例子](tensorflow) * [Inside TensorFlow](https://www.youtube.com/playlist?list=PLQY2H8rRoyvzIuB8rZXs7pfyjiSUs8Vza) (TensorFlow团队对TF内部原理做的一系列视频)

回到顶部

About

机器学习、深度学习的学习路径及知识总结

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 91.6%
  • Python 6.6%
  • HTML 1.8%