AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍

简介: AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍

人工智能、机器学习和深度学习覆盖的技术范畴是逐层递减的,三者的关系:人工智能 > 机器学习 > 深度学习。

  • 人工智能(ArtificialIntelligence,AI)是最宽泛的概念,是研发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学
  • 机器学习(MachineLearning,ML)是当前比较有效的一种实现人工智能的方式。
  • 深度学习(DeepLearning,DL)是机器学习算法中最热门的一个分支,近些年取得了显著的进展,并替代了大多数传统机器学习算法。

机器学习

机器学习的实现可以分成两步:训练 和 预测 ,类似于归纳和演绎:

  • 归纳: 从具体案例中抽象一般规律,机器学习中的“训练”亦是如此。从一定数量的样本(已知模型输入X和模型输出Y)中,学习输出Y与输入X的关系(可以想象成是某种表达式)。
  • 演绎: 从一般规律推导出具体案例的结果,机器学习中的“预测”亦是如此。基于训练得到的Y与X之间的关系,如出现新的输入X,计算出输出Y。通常情况下,如果通过模型计算的输出和真实场景的输出一致,则说明模型是有效的。

机器学习的过程中, 确定模型的三个关键要素:假设、评价、优化

牛顿第二定律:

  • 假设:通过观察加速度a和作用力F的观测数据,假设a和F是线性关系,即a=w⋅F。
  • 评价:对已知观测数据上的拟合效果好,即 w⋅F计算的结果要和观测的a尽量接近。
  • 优化:在参数w的所有可能取值中,发现 w=1/m 可使得评价最好(最拟合观测样本)。

模型有效的基本条件是 能够拟合已知的样本

假设机器通过尝试答对(最小化损失)大量的习题(已知样本)来学习知识(模型参数w),并期望用学习到的知识所代表的模型 H(w,x),回答不知道答案的考试题(未知样本)。最小化损失是模型的优化目标,实现损失最小化的方法称为优化算法,也称为寻解算法(找到使得损失函数最小的参数解)。参数w和输入

x组成公式的基本结构称为假设。在牛顿第二定律的案例中,基于对数据的观测,我们提出了线性假设,即作用力和加速度是线性关系,用线性方程表示。由此可见,模型假设、评价函数(损失/优化目标)和优化算法是构成模型的三个关键要素

图6:机器学习就是拟合一个“大公式”

深度学习

构建神经网络/深度学习模型的基本步骤

要学习Pytorch,需要掌握以下基本知识:

  • 编程语言:Pytorch使用Python作为主要编程语言,因此需要熟悉Python编程语言。
  • 线性代数和微积分:Pytorch主要用于深度学习领域,深度学习是基于线性代数和微积分的,因此需要具备线性代数和微积分的基础知识。
  • 机器学习基础知识:了解机器学习的基本概念和算法,如线性回归、逻辑回归、支持向量机、决策树等。
  • 深度学习基础知识:了解深度学习的基本概念和算法,如前馈神经网络、循环神经网络、卷积神经网络等。
  • 计算机视觉或自然语言处理等领域的基础知识:Pytorch可以应用于各种领域,比如计算机视觉和自然语言处理等,因此需要了解所涉及的领域的基本知识。
  • Pytorch基础知识:了解Pytorch的基本概念和操作,如张量、自动求导、模型定义、优化器等。
  • 实践经验:通过实践项目或者模型实现等方式加深对Pytorch的理解和应用能力。

线性代数、微积分

线性代数和微积分都是必不可少的数学基础知识

  • 建议你先学线性代数,因为线性代数是深度学习的基础,很多深度学习模型都是建立在线性代数的基础上。线性代数的一些基本概念,如向量、矩阵、线性变换等,对于理解和实现深度学习模型非常重要
  • 微积分也是非常重要的数学基础,它在深度学习中用于计算梯度和优化,但是如果你刚开始学习深度学习,建议你先掌握线性代数的基础知识,再逐步学习微积分

推荐的经典书籍(线性代数、微积分)

线性代数:

  • 《线性代数及其应用》(Linear Algebra and Its Applications), Gilbert Strang 著
  • 《线性代数导论》(Introduction to Linear Algebra), Gilbert Strang 著
  • 《线性代数》(Linear Algebra), Serge Lang 著
  • 《线性代数及其应用》:这是一本线性代数领域的经典教材,由美国加州大学洛杉矶分校的教授Gilbert Strang编写,介绍了线性代数的基本概念、矩阵运算、向量空间、线性变换等。
  • 《线性代数》:这是一本线性代数的入门教材,由北京大学的教授潘承志编写,介绍了线性方程组、矩阵、向量、线性变换等基本概念,同时也包含一些高阶的知识点,如特征值、特征向量等。
  • 《线性代数》:这是一本比较全面的线性代数教材,由南开大学的教授郝宏伟编写,介绍了线性代数的基本概念和方法,包括线性空间、矩阵、行列式、特征值、特征向量等。
  • 《线性代数与群论》:这是一本比较深入的线性代数教材,由清华大学的教授龚昌平编写,介绍了线性代数的基本概念和方法,同时也讲解了线性代数与群论的关系,以及一些高级的应用,如多项式矩阵等。

微积分:

  • 《微积分学教程》(Calculus), Michael Spivak 著
  • 《微积分学:初等函数与极限》(Calculus: Early Transcendentals), James Stewart 著
  • 《微积分学教程》(Calculus: A Complete Course), Robert A. Adams 和 Christopher Essex 著
  • 《微积分学》:这是一本经典的微积分教材,由美国哈佛大学的教授Michael Spivak编写,介绍了微积分的基本概念、极限、连续、导数、积分等,并通过一系列例题和习题帮助读者深入理解微积分的概念和应用。
  • 《微积分学教程》:这是一本比较全面的微积分教材,由北京大学的教授郭家宝编写,介绍了微积分的基本概念、函数极限、连续性、导数、微分、积分等,并通过丰富的例题和习题帮助读者加深对微积分知识的理解。
  • 《微积分(上、下)》:这是一套比较系统的微积分教材,由清华大学的教授王立鹏编写,介绍了微积分的基本概念、极限、导数、微分、积分等,并通过大量的例题和习题帮助读者巩固所学的知识。
  • 《微积分学习指导与习题解答》:这是一本比较适合初学者的微积分教材,由上海交通大学的教授陈永昌编写,介绍了微积分的基本概念、导数、微分、积分等,并通过详细的解题步骤和技巧帮助读者掌握微积分的知识和应用。

以上书籍都是非常经典的教材,内容详实且易于理解。此外,网上也有很多免费的线性代数和微积分课程资源,如MIT OCW等,可以根据自己的需求和兴趣选择适合自己的资源。

机器学习

学习机器学习需要一定的数学和编程基础,下面是一个简单的学习计划:

  • 学习Python编程语言:Python是机器学习最常用的编程语言之一,需要熟练掌握Python的基本语法和常用的Python库,如NumPy、Pandas和Matplotlib等。
  • 学习数学基础:机器学习涉及到很多数学知识,尤其是线性代数、微积分和概率论。可以选择上述推荐的书籍进行学习,也可以参考网上的免费教程和视频。
  • 学习机器学习基础理论:了解机器学习的基本概念和流程,如监督学习、无监督学习、训练集和测试集等。可以参考经典的机器学习教材,如《机器学习》(周志华著)、《统计学习方法》(李航著)等。
  • 学习机器学习算法:掌握机器学习中常用的算法,如线性回归、逻辑回归、决策树、支持向量机和神经网络等。可以参考经典的机器学习教材,如《机器学习实战》(Peter Harrington著)、《Python机器学习基础教程》(Sebastian Raschka著)等。
  • 实践项目:参与实际的机器学习项目,通过实践巩固学习成果。可以参加开源项目或者自己设计实现一个小项目。
  • 持续学习:机器学习是一个快速发展的领域,需要不断学习最新的理论和技术。可以参加线上或线下的机器学习课程,关注机器学习领域的最新进展。

推荐的经典书箱

  • 《机器学习》:这是一本机器学习领域的经典教材,由加州大学伯克利分校的教授Tom Mitchell编写,涵盖了机器学习的基础知识和高级技术,包括监督学习、非监督学习、强化学习等。
  • 《统计学习方法》:这是一本经典的统计学习教材,由清华大学计算机科学与技术系的教授李航编写,介绍了统计学习的基础理论和常用方法,包括感知机、支持向量机、决策树、随机森林、朴素贝叶斯等。
  • 《Python机器学习基础教程》:这是一本适合初学者的机器学习教程,由美国加州大学欧文分校的教授Andreas Mueller和Sarah Guido编写,介绍了使用Python实现机器学习的基础知识和常用技术,包括数据预处理、模型选择、特征工程等。
  • 《机器学习实战》:这是一本实践性很强的机器学习教材,由美国康奈尔大学的教授Peter Harrington编写,通过一些实际案例来介绍机器学习的基础知识和常用技术,包括分类、聚类、回归等。
  • 《机器学习系统设计》:这是一本介绍机器学习系统设计的书籍,由美国加州大学伯克利分校的教授Richert Wang和Shanqing Cai编写,介绍了机器学习系统设计的流程、技术和方法,包括数据预处理、模型构建、模型评估等。

深度学习

深度学习是机器学习的分支之一,需要具备机器学习和数学基础。以下是一个简单的学习计划及精典书籍:

  • 学习Python编程语言:Python是机器学习最常用的编程语言之一,需要熟练掌握Python的基本语法和常用的Python库,如NumPy、Pandas和Matplotlib等。
  • 学习机器学习基础理论:了解机器学习的基本概念和流程,如监督学习、无监督学习、训练集和测试集等。可以参考经典的机器学习教材,如《机器学习》(周志华著)、《统计学习方法》(李航著)等。
  • 学习深度学习基础理论:了解深度学习的基本概念和流程,如人工神经网络、反向传播算法、卷积神经网络和循环神经网络等。可以参考经典的深度学习教材,如《深度学习》(Ian Goodfellow、Yoshua Bengio和Aaron Courville著)、《神经网络与深度学习》(Michael Nielsen著)等。
  • 学习深度学习框架:掌握深度学习常用的框架,如PyTorch、TensorFlow等。可以参考官方文档、教程和实战项目进行学习。
  • 实践项目:参与实际的深度学习项目,通过实践巩固学习成果。可以参加开源项目或者自己设计实现一个小项目。
  • 持续学习:深度学习是一个快速发展的领域,需要不断学习最新的理论和技术。可以参加线上或线下的深度学习课程,关注深度学习领域的最新进展。

推荐的经典书籍:

  • 《深度学习》(Deep Learning),Ian Goodfellow、Yoshua Bengio和Aaron Courville著
  • 《神经网络与深度学习》(Neural Networks and Deep Learning),Michael Nielsen著
  • 《Python深度学习》(Python Deep Learning),斋藤康毅著
  • 《深度学习实战》(Deep Learning with Python),Francois Chollet著
  • 《动手学深度学习》(Dive into Deep Learning),李沐、Aston Zhang等著
  • 《深度学习入门:基于Python的理论与实现》:这是一本适合初学者的入门书籍,由日本深度学习研究者斋藤康毅编写,书中使用Python语言讲解深度学习的基础知识和实现方法。
  • 《深度学习》:这是一本深度学习领域的经典教材,由加州大学伯克利分校的教授Ian Goodfellow等人编写,涵盖了深度学习的基础知识和高级技术,包括卷积神经网络、循环神经网络、生成模型等。
  • 《Python深度学习》:这本书由Python深度学习框架Keras的作者Francois Chollet编写,介绍了如何使用Keras实现深度学习模型,包括卷积神经网络、循环神经网络等。
  • 《深度学习之TensorFlow:入门、原理与进阶》:这是一本由TensorFlow作者之一李沐编写的书籍,涵盖了TensorFlow的基础知识和实现方法,包括卷积神经网络、循环神经网络等。
  • 《深度学习与计算机视觉实战》:这是一本针对计算机视觉领域的深度学习应用实战书籍,由清华大学计算机视觉与模式识别研究组的教授李沐编写,涵盖了深度学习在图像分类、目标检测、图像分割等领域的应用。

有很多深度学习的优秀老师开设了公开课,以下是一些比较受欢迎的老师及其公开课:

  • 吴恩达 (Andrew Ng):吴恩达是深度学习领域的著名科学家和教育家,他的公开课包括《机器学习》、《深度学习》和《AI for Everyone》等。
  • 李宏毅:李宏毅是台湾大学计算机科学系的教授,他的公开课包括《机器学习》、《深度学习》和《生成式对抗网络》等。
  • 斋藤康毅:斋藤康毅是日本的一位深度学习研究者和科普作家,他的公开课包括《深度学习入门》和《深度学习进阶》等。
  • 谷歌机器学习工程师课程:由谷歌机器学习工程师主讲的课程,包括《机器学习速成课程》和《深度学习课程》等。
  • 斯坦福大学CS231n:由斯坦福大学计算机科学系主办的深度学习课程,涵盖了卷积神经网络、循环神经网络等内容。

以上是一些比较受欢迎的深度学习公开课老师和课程,建议选择适合自己的老师和课程进行学习。

学习 Pytorch 电脑需要什么样的配置

最低要求:

  • CPU:64位CPU,支持AVX指令集
  • 内存:4GB
  • 显卡:支持CUDA加速的NVIDIA GPU,建议使用Tesla、Quadro、GeForce GTX 10xx/16xx/20xx系列显卡
  • 硬盘:至少10GB的可用存储空间

推荐配置:

  • CPU:Intel Core i7或以上
  • 内存:16GB或以上
  • 显卡:NVIDIA Tesla V100或以上,至少11GB显存
  • 硬盘:NVMe SSD

需要注意的是,对于一些需要训练大型神经网络或使用超参数搜索的任务,需要更高的内存和显存,以及更快的硬盘读写速度。此外,在使用PyTorch时,也需要安装适当的驱动程序和CUDA库以支持GPU加速。

目录
相关文章
|
15天前
|
机器学习/深度学习 并行计算 PyTorch
【机器学习】探索GRU:深度学习中门控循环单元的魅力
【机器学习】探索GRU:深度学习中门控循环单元的魅力
|
6天前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
24 2
|
15天前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
14天前
|
人工智能 算法 安全
人工智能伦理与监管:构建负责任的AI未来
【10月更文挑战第3天】随着人工智能(AI)技术的快速发展,其在社会各领域的应用日益广泛。然而,AI的广泛应用也带来了一系列伦理和监管挑战。本文旨在探讨AI的伦理问题,分析现有的监管框架,并提出构建负责任AI未来的建议。同时,本文将提供代码示例,展示如何在实践中应用这些原则。
101 1
|
3天前
|
机器学习/深度学习 自然语言处理 算法
机器学习和深度学习之间的区别
机器学习和深度学习在实际应用中各有优势和局限性。机器学习适用于一些数据量较小、问题相对简单、对模型解释性要求较高的场景;而深度学习则在处理大规模、复杂的数据和任务时表现出色,但需要更多的计算资源和数据,并且模型的解释性较差。在实际应用中,需要根据具体的问题和需求,结合两者的优势,选择合适的方法来解决问题。
9 0
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
浅谈机器学习与深度学习的区别
浅谈机器学习与深度学习的区别
12 0
|
5天前
|
机器学习/深度学习 人工智能 数据可视化
深度学习之可解释人工智能(Explainable AI,XAI)
可解释人工智能(XAI)是一个旨在使AI决策过程透明和可理解的研究领域。随着AI和机器学习技术在多个行业中的应用变得越来越广泛,其决策过程的透明度和可解释性变得极其重要。
8 0
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的未来:从机器学习到深度学习的演进
【10月更文挑战第8天】人工智能的未来:从机器学习到深度学习的演进
25 0
|
15天前
|
机器学习/深度学习 算法
【机器学习】揭秘反向传播:深度学习中神经网络训练的奥秘
【机器学习】揭秘反向传播:深度学习中神经网络训练的奥秘
|
9天前
|
机器学习/深度学习 自动驾驶 算法
深度学习在图像识别中的应用与发展
本文将深入探讨深度学习技术在图像识别领域的应用,通过案例分析展示其最新进展。我们将从基本原理出发,了解深度学习如何改变图像处理和识别的方式,并展望其未来可能的发展方向。