使用 Python 学习最新的深度学习技术

运用最新潮的程序库如 Tensorflow、Theano、Keras、PyTorch、CNTK、MXNet 建构深度学习系统。 在 AWS 上使用 GPU 更快速地训练。

繁體中文課程介紹

从这 7.5 小时的课程,你会学到

  • 应用动量反向传递做神经网络的训练
  • 应用 AdaGrad、RMSprop 和 Adam 等自适应学习速率程续来反向传递做神经网络的训练
  • 了解 Theano 的基本建构区块 ( building blocks )
  • 在 Theano 建一个神经网络
  • 了解 TensorFlow 的基本建构区块 ( building blocks )
  • 使用  TensorFlow 建一个神经网络
  • 建构一个在 MNIST 数据集上表现良好的神经网络
  • 了解完全梯度下降、分批梯度下降和随机梯度下降之间的差异
  • 了解并实施 Theano 和 TensorFlow 中的辍学范式 ( dropout regularization)
  • 理解并实现 Theano 和 Tensorflow 的批量正常化 ( batch normalization )
  • 用 Keras 写一个神经网络
  • 用 PyTorch 写一个神经网络
  • 用 CNTK 写一个神经网络
  • 用 MXNet 写一个神经网络

要求

  • 已用过 Python、Numpy 和 Matplotlib 。 需安装 Theano 和TensorFlow。
  • 如果你还不知道梯度下降 ( gradient descent )、反向传递 ( backprop ) 和 softmax,请参阅我以前的课程,使用 Python 实作深度学习,然后返回到此课程。

课程说明

这门课程接续我的第一门课程 使用 Python 实作深度学习。 在这门课你已经知道如何在 Python中建构人工神经网络,且你有一个可以用于 TensorFlow 的即插即用脚本。 神经网络是机器学习的重要组成部分之一,它们始终是 Kaggle 大赛的最大竞争者。 如果你想提高你在神经网络和深度学习的技能,这是为你设计的课程。

你已经了解了反向传递,但是还有很多未解的问题。 像如何修改它以提高训练速度? 在本课程中,你将学习批量处理和随机梯度下降,这是两种常用的技术,可以让你在每次迭代时仅对一小部分数据进行训练,大大加快了训练时间。

你还将了解到动量(momentum),这可能有助于带你越过当地最低标准,防止你太过保守而阻碍了学习速度。 你还将学习 AdaGrad、RMSprop 和 Adam 等自适应学习速率技术,这些技术也可以帮助加快你的训练速度。

因为你已经了解了神经网络的基础知识,所以我们将讨论更多的现代技术,比如辍学范式 (dropout regularization ) 和批量正常化 ( batch normalization ),我们将在 TensorFlow 和 Theano 中实现这些技术。 课程会不断更新,更高级的范式技术将在近期推出。

在我上个课程中,我只是想给你抢先看看 TensorFlow。 在本课程中,我们将从基础知识入手,以便你真正了解发生了什么事情 – 什么是 TensorFlow 变量和表达式,以及如何使用这些建构区块创建神经网络? 我们也要去看一个更久前就已存在的一个程序库,因深度学习而非常受欢迎 – Theano。 借助这个程序库,我们还将检查基本的建构区块 – 变量、表达式和函数 – 以便你可以放心地在 Theano 建构神经网络。

Theano 是当今所有现代深度学习程序库 ( libraries ) 的前身。 今天,我们有几乎太多的选择。 Keras、PyTorch、CNTK(微软)、MXNet(亚马逊/ Apache)等。在这个课程中,我们涵盖了所有这些! 选择你最喜欢的那个。

由于 TensorFlow 和 Theano 的主要优势之一就是能够使用 GPU 加速训练,因此我将向你展示如何在 AWS 上设置 GPU 实例,并比较 CPU 与 GPU 的速度,以训练深度神经网络。

所有这些额外的速度,我们将看看一个真正的数据集 – 著名 MNIST 数据集( 手写数字图像),并与各种基准进行比较。 这是数据集研究人员首先想问的问题,“这个东西有用吗?

这些图像是深度学习历史的重要组成部分,今天仍然用于测试。 每个深度学习专家都应该好好地了解他们。

本课程著重于 “如何创建和理解”,而不仅仅是“如何使用”。任何人都可以在读完一些文档后15分钟内学会使用API。 这不是 “记住事实”,而是通过实验 “亲眼见证”。 它会教你如何可视化模型内部发生的事情。 如果你不仅仅是想肤浅地懂点机器学习模型,这个课程是给你的。

📣注:

本课程的所有代码可以从我的 github下载:/ lazyprogrammer / machine_learning_examples

在目录:ann_class2

确保你总用 “ git pull”,这样你才会拿到最新的版本!

📣硬性先决条件/假定你有的知识:

  • 微积分
  • 线性代数
  • 机率
  • Python 编程:if / else、loops、lists、dicts、sets
  • Numpy 编程:矩阵和矢量操作、加载一个CSV档
  • 神经网络和反向传递

📣提示 ( 帮助你完成此课程 ):

  • 以 2x 速度看本课程 ( 如果你的英文够好的话 )
  • 请手写做笔记。 这会大大增加你吸收知识的能力。
  • 写下方程序。如果你没有这么做,我保证你会觉得课程都在胡言乱语。
  • 在讨论版尽量问问题。越多越好!
  • 意识到大多数的练习会花你几天或几星期完成。
  • 请自己写程序,千万部要只看我写程序什么都没做。

📣有用的课程顺序

目标受众

  • 希望深化机器学习知识的学生和专业人员
  • 希望了解更多深度学习的数据科学家
  • 已经知道反向传递和梯度下降,并希望通过随机批量训练、动量和自适应学习速率程续(如RMSprop) 更进一步的数据科学家
  • 如果你还不知道什么是反向传递或 softmax ,请先学习 使用 Python 实作深度学习,然后返回到此课程。

讲师简介

Lazy Programmer Inc. 数据科学家和大数据工程师

我是一名数据科学家,大数据工程师和全端软件工程师。

关于我的硕士论文,我使用机器学习的 brain-computer 界面。这些帮助语言障碍和行动不变的人与他/她们的家人和照顾者沟通。

我曾在网络广告和数字媒体作为数据科学家和大数据工程师,围绕所述的数据构建各种高流量的 web服务。我曾经使用Hadoop / Pig / MapReduce 创建了新的大数据管道。我创建了机器学习模型来预测点击率,使用线性回归创建新闻推荐系统,Bayesian Bandits和collaborative filtering,并使用A / B测试验证结果。

我教过数据科学,统计学,机器学习,算法,微积分,电脑图学和哥伦比亚大学,纽约大学,亨伯学院和新学校的学生的物理学。

多个企业已经从我的 Web 编程专业知识中受益。我做所有的后端(服务器),前端(HTML / JS / CSS)和操作/部署工作。我使用的一些技术是:Python,Ruby / Rails,PHP,Bootstrap,jQuery(Javascript),Backbone和Angular。对于保存/数据库,我使用MySQL,Postgres,Redis,MongoDB等。

英文字幕:有

  • 想要了解如何将英文字幕自动翻译成中文? 请参考这篇 How-To

课程网址  ♥找优惠折扣码?

Sponsored by Udemy

 欢迎使用e-mail订阅 Soft & Share 

发表评论

Powered by WordPress.com.

Up ↑

%d 博主赞过: