深度学习 : 以 Python 实践卷积神经网络( CNN )

在 Theano 和 TensorFlow 中将电脑视觉和数据科学与机器学习相结合!

课程介绍:English 繁中

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

  • 理解卷积( convolution )
  • 理解卷积如何应用于音效( audio effects )
  • 理解卷积如何应用于图像效果( image effects )
  • 写程序实现高斯( Gaussian )模糊和边缘检测
  • 写程序实现简单的回声效果( echo effect )
  • 理解卷积如何帮助图像分类
  • 理解并解释卷积神经网络(CNN)的体绑定构
  • 在 Theano 中实现卷积神经网络( convolutional neural network )
  • 在 TensorFlow 中实现卷积神经网络( convolutional neural network )

要求

课程说明

这是我关于 Python 深度学习的数据科学和机器学习系列的第三部分。此时,你已经了解了许多关于神经网络和深度学习的知识,包括不仅仅是反向传播等基础知识,还包括如何使用动量和自适应学习率等现代技术来改进它。你已经在 Theano 和 TensorFlow 中编写了深度神经网络,并且你知道如何使用 GPU 运行代码。

本课程全部是关于如何使用卷积神经网络( Convolutional Neural Networks,CNN )电脑视觉进行深度学习。当涉及图像分类时,这些都是最先进的技术,并且他们击败了像 MNIST 这样的任务的简单深度网络。

在本课程中,我们将讨论赌注并观察 StreetView House Number(SVHN)数据集 – 该数据集以各种角度使用较大的彩色图像 – 因此计算和分类任务的难度都会变得更加严峻。但是我们会证明卷积神经网络 ( CNN ) 能够应对挑战!

因为卷积是这类神经网络的内核部分,所以我们将深入讨论这个话题。它具有比你想像的更多的应用,比如仿真人造器官如胰腺和心脏。我将向你展示如何建构可应用于音频的卷积滤波器,如回声效果,并且我将向你展示如何为图像效果构建滤波器,如高斯模糊和边缘检测

我们也会做一些生物学,并讨论卷积神经网络是如何被动物视觉皮层启发。

在描述卷积神经网络的体绑定构之后,我们将直接跳入代码,并且展示如何扩展我们上一次建构的深层神经网络(在第2部分中),只需一些新功能将它们转化为 CNN。然后我们将测试他们的表现,并展示在 Theano 和 TensorFlow 中编写的卷积神经网络如何能够胜过 StreetView House Number 数据集上的简单神经网络的准确性。

本课程的所有材料都是免费的。 你可以使用之前课程中显示的简单命令下载并安装 Python、Numpy、Scipy、Theano 和 TensorFlow。

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

注意:

所有的课程中的代码都可以从我的github下载:

/lazyprogrammer/machine_learning_examples

在目录中:cnn_class

确保你总是用“ git pull ”,如此你总是拿到最新版本!

必要条件 / 假设你已具备以下知识 :

  • 微积分
  • 线性代数
  • 机率
  • Python 编程 : if/else, loops, lists, dicts, sets
  • Numpy 编程:矩阵和矢量操作,加载一个 CSV 档
  • 可以在 Theano 和 TensorFlow 中编写前馈神经网络( feedforward neural network )

提示(通过课程):

  • 以 2x 观看。
  • 拿手写笔记。 这将大大增加你记住消息的能力。
  • 写下方程。 如果你不这样做,我保证它看起来像乱码。
  • 在讨论板上提出许多问题。 越多越好!
  • 意识到大多数练习将需要几天或几周才能完成。
  • 自己编写代码,不要只是坐在那里看我写程序。

修课顺序

  • 查看讲座 “ What order should I take your courses in?” (可在我的任何课程的附录中找到,包括免费的 Numpy 课程)

目标受众

  • 学生和专业计算机科学家
  • 软件工程师
  • 从事计算机视觉任务的数据科学家
  • 那些想要将深度学习应用于图像的人
  • 那些想运用过去学到的简单( vanilla=raw )深度网络( deep networks )拓展深度学习知识的人
  • 不清楚反向传播是什么或者它是如何工作的人不应该参加这个课程,而应该参考第1部分第2部分
  • 对 Theano 和 TensorFlow 基础知识不清楚的人在参加本课程前应参加第2部分

讲师简介

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

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

我有电脑工程的硕士,专长为机器学习和模式辨识。

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

我曾在大学部与研究所教授数据科学、统计学、机器学习、算法、微积分、电脑图学和物理学,任职的学校如哥伦比亚大学、纽约大学、Hunter 学院和 The New School。

有多家企业已从我的 Web 编程专业知识中受益。我做所有的后端(服务器)、前端(HTML / JS / CSS)和运营/布署工作。 我使用的技术包含:Python、Ruby / Rails、PHP、Bootstrap、jQuery(Javascript)、Backbone 和  Angular。至于保存/数据库,我采用 MySQL、Postgres、Redis、MongoDB等。

英文字幕:有

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

课程网址 

Sponsored by Udemy

发表评论

Powered by WordPress.com.

Up ↑

%d 博主赞过: