数据科学:Python中的现代深度学习 | Data Science: Modern Deep Learning in Python
使用Tensorflow、Theano、Keras、PyTorch、CNTK、MXNet等现代图书馆构建。使用AWS上的GPU进行更快的训练。
讲师:Lazy Programmer Inc.
双语资源中英文字幕学习课程,独家翻译制作,提供全部配套课程资料。全网最低价享受高品质课程资源,无限分享下载。
你将会学到什么?
- 应用动量反向传播训练神经网络
- 将AdaGrad、RMSprop和Adam等自适应学习率程序应用于反向传播以训练神经网络
- 了解TensorFlow的基本构建块
- 在TensorFlow中构建神经网络
- 使用Keras编写神经网络
- 使用PyTorch编写神经网络
- 了解全梯度下降、批量梯度下降和随机梯度下降之间的区别
- 了解并实施辍学规则
- 理解并实施批量规范化
- 了解Theano的基本组成部分
- 在Theano建立神经网络
- 使用CNTK编写神经网络
- 使用MXNet编写神经网络
- 了解OpenAI ChatGPT、GPT-4、DALL-E、Midtravel和稳定扩散的重要基础
课程要求
- 熟悉Python、Numpy和Matplotlib
- 如果您还不知道梯度下降、反向投影和softmax,请参加我之前的课程,Python中的深度学习,然后返回本课程。
课程说明
有没有想过像OpenAIChatGPT、GPT-4、DALL-E、中端和稳定扩散这样的人工智能技术是如何真正工作的?在本课程中,您将学习这些突破性应用程序的基础知识。
本课程继续我的第一门课程Python深度学习。你已经知道如何在Python中构建人工神经网络,并且你有一个可用于TensorFlow的即插即用脚本。神经网络是机器学习的主要内容之一,在Kaggle竞赛中一直是最有力的竞争者。如果你想通过神经网络和深度学习来提高你的技能,这是适合你的课程。
你已经了解了反向传播,但还有很多问题没有得到解答。如何修改它以提高训练速度?在本课程中,您将学习批处理和随机梯度下降,这两种常用的技术允许您在每次迭代时仅在一小部分数据样本上进行训练,大大加快了训练时间。
你还将学习动量,这有助于你通过局部极小值,并防止你对学习率过于保守。您还将学习自适应学习率技术,如AdaGrad、RMSprop和Adam,这些技术也有助于加快您的训练速度。
因为您已经了解了神经网络的基本原理,我们将讨论更现代的技术,如丢弃正则化和批处理规范化,我们将在TensorFlow和Theano中实现这些技术。该课程正在不断更新,在不久的将来会出现更先进的正则化技术。
在我的最后一门课程中,我只是想给你一个关于TensorFlow的小高峰。在本课程中,我们将从基础知识开始,以便您确切地了解正在发生的事情-TensorFlow变量和表达式是什么,以及如何使用这些构建块来创建神经网络?我们还将研究一个存在时间更长、在深度学习中非常受欢迎的图书馆——**Theano。有了这个库,我们还将检查基本的构建块——变量、表达式和函数——这样你就可以放心地在Theano中构建神经网络。
Theano是当今所有现代深度学习图书馆的前身。今天,我们有太多的选择Keras、PyTorch、CNTK(Microsoft)、MXNet(Amazon/Apache)等。在本课程中,我们涵盖了所有这些!挑选你最爱的人。
因为TensorFlow和Theano的主要优势之一是能够使用GPU加快训练速度,所以我将向您展示如何在AWS上设置GPU实例,并比较CPU与GPU训练深度神经网络的速度。
有了这些额外的速度,我们将看到一个真实的数据集——著名的MNIST数据集(手写数字的图像),并与各种基准进行比较。这是研究人员在想问“这个东西有效吗?”
这些图像是深度学习历史的重要组成部分,至今仍用于测试。每个深度学习专家都应该非常了解它们。
本课程的重点是“如何构建和理解”,而不仅仅是“如何使用”。阅读一些文档后,任何人都可以在15分钟内学会使用API。这不是关于“记住事实”,而是关于通过实验“亲眼目睹”。它将教您如何在内部可视化模型中发生的事情。如果你想要更多而不仅仅是对机器学习模型的肤浅了解,这门课程就是为你准备的。
“如果你不能实施它,你就不理解它”
- 或者正如伟大的物理学家理查德·费曼所说:“我不能创造的,我不理解”。
- 我的课程是您将学习如何从头开始实现机器学习算法的唯一课程
- 其他课程会教你如何将数据插入库,但你真的需要3行代码的帮助吗?
- 在对10个数据集做了同样的事情后,你会意识到你没有学到10件事。你学到了一件事,只重复了同样的3行代码10次。。。
建议的先决条件:
- 了解梯度下降
- 概率与统计学
- Python编码:if/else、循环、列表、dicts、集合
- Numpy编码:矩阵和矢量运算,加载CSV文件
- 知道如何用Numpy编写神经网络
我应该按什么顺序选修你的课程?:
- 查看讲座“机器学习和人工智能先决条件路线图”(可在我的任何课程的常见问题解答中找到,包括免费的Numpy课程)
此课程面向哪些人?
- 希望加深机器学习知识的学生和专业人士
- 希望了解更多关于深度学习的数据科学家
- 数据科学家,他们已经了解反向传播和梯度下降,并希望通过随机批量训练、动量和RMSprop等自适应学习率程序来改进它
- 那些还不知道反向传播或softmax的人应该先学习我之前的课程,Python的深度学习