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加速。

目录
相关文章
|
10天前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下,如何利用机器学习进行数据分类
【8月更文挑战第33天】本文将介绍一种使用Python编程语言和scikit-learn库实现的简单机器学习算法。我们将使用KNN(k-近邻)算法对鸢尾花数据集进行分类。通过这篇文章,你将学会如何使用机器学习技术解决实际问题。
|
1天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的奥秘与应用
本文深入浅出地探讨了人工智能领域中的核心技术——机器学习,揭示了其背后的原理和广泛的实际应用。通过浅显易懂的语言和生动的例子,本文旨在为非专业读者打开一扇了解并利用机器学习的大门,同时激发对这一前沿技术的兴趣和思考。
12 1
|
6天前
|
机器学习/深度学习 人工智能 搜索推荐
揭秘AI的魔法:深度学习如何改变世界
在这篇文章中,我们将一起探索深度学习——一种强大的人工智能技术。我们将从基础开始,了解什么是深度学习以及它如何工作。然后,我们会看到深度学习是如何影响我们日常生活的各个方面,从医疗到自动驾驶汽车,再到个性化推荐系统。最后,我们将讨论深度学习面临的挑战和未来的可能性。让我们一起揭开深度学习的神秘面纱,看看这个“魔法”是如何改变我们的世界的。
|
2天前
|
机器学习/深度学习 数据挖掘 TensorFlow
从数据小白到AI专家:Python数据分析与TensorFlow/PyTorch深度学习的蜕变之路
【9月更文挑战第10天】从数据新手成长为AI专家,需先掌握Python基础语法,并学会使用NumPy和Pandas进行数据分析。接着,通过Matplotlib和Seaborn实现数据可视化,最后利用TensorFlow或PyTorch探索深度学习。这一过程涉及从数据清洗、可视化到构建神经网络的多个步骤,每一步都需不断实践与学习。借助Python的强大功能及各类库的支持,你能逐步解锁数据的深层价值。
10 0
|
3天前
|
机器学习/深度学习 人工智能 自动驾驶
探索人工智能的未来:机器学习和深度学习的融合之旅
本文将带你进入人工智能的奇妙世界,一起探索机器学习和深度学习的融合如何引领我们走向更加智能化的未来。我们将从基础概念出发,逐步深入到技术细节和应用实例,揭示这一技术革新如何改变我们的生活和工作方式。通过深入浅出的解释和生动的例子,本文旨在为读者提供一次内容丰富、启发思考的技术之旅。
|
5天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的基本原理与Python代码实践
【9月更文挑战第6天】本文深入探讨了人工智能领域中的机器学习技术,旨在通过简明的语言和实际的编码示例,为初学者提供一条清晰的学习路径。文章不仅阐述了机器学习的基本概念、主要算法及其应用场景,还通过Python语言展示了如何实现一个简单的线性回归模型。此外,本文还讨论了机器学习面临的挑战和未来发展趋势,以期激发读者对这一前沿技术的兴趣和思考。
|
14天前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
6天前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
9天前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
81 1
|
14天前
|
机器学习/深度学习 算法 数据挖掘
机器学习必知必会10大算法
机器学习必知必会10大算法