微信公众号 移动客户端

当前位置: 主页 > 动态 > 资料大全 >

深度学习资料大全:从基础到各种网络模型

2019-05-10 14:19 来源:网络整理 阅读数:51 分享到:

参与:Jane W、Rick、蒋思源

深度学习是发展迅速的一个计算机科学和数学交叉的领域。它是更宽泛的机器学习领域一个相对新的分支。机器学习的目的是教计算机完成基于给定数据的各种任务。本教程是为那些知道一些数学,又懂一些编程语言,并想研究深度学习的人准备的。

文中的链接请点击网址:

预备知识

深度学习资料大全:从基础到各种网络模型

你必须有大学数学知识。你可以在深度学习这本书的前几章中回顾这些概念:

深度学习,第 2 章:线性代数

深度学习,第 3 章:概率与信息论

深度学习,第 4 章:数值计算

你必须知道编程知识以便开发和测试深度学习模型。我们建议使用 Python 进行机器学习。这里需要用到科学计算的 NumPy / SciPy 库。

斯坦福 CS231n 课程,Justin Johnson 的 Python / NumPy / SciPy / Matplotlib 教程 ★

Scipy 讲义——更详细地描述了常用库,并介绍更多高级主题 ★★

当你满足了这些预备条件时,我们有四个备选建议用来学习深度学习。你可以选择下列选项中的任何一个或几个。星星数量表示困难程度。

深度学习资料大全:从基础到各种网络模型

Hugo Larochelle 在 YouTube 上的课程视频(Hugo Larochelle's video course)。虽然视频是在 2013 年录制的,但大部分内容仍然很新。视频详细地解释了神经网络背后的数学知识。附带幻灯片和相关材料。★★

斯坦福 CS231n 课程(卷积神经网络的视觉识别/ Convolutional Neural Networks for Visual Recognition)由李飞飞、Andrej Karpathy 和 Justin Johnson 教课。本课程侧重于图像处理,但涵盖了深度学习中的大多数重要概念。附带视频(2016 年)和讲义。★★

Michael Nielsen 的网络书籍《神经网络和深度学习》(Neural Networks and Deep Learning)是研究神经网络的最容易入门的书籍。它没有涵盖所有重要的主题,但包含直观解释和基本概念的代码实现。★

Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 的书《深度学习》(Deep Learning),是研究深度学习最全面的资源。它比所有其它课程涵盖了更多的内容。★★★

有许多软件框架为机器学习和深度学习提供了必要的函数、类和模块。我们建议在研究的早期阶段不要使用这些框架,而是从头开始实现基本算法。并且大多数课程都能足够详细地描述算法背后的数学,因而这些算法可以很容易从头实现。

Jupyter notebook 软件可以方便地交互编译 Python 代码。软件能很好地与流行的可视化库 matplotlib 集成。我们建议在这样的环境中实现算法。★

机器学习基础

机器学习是基于数据训练计算机的一门艺术和科学。它是计算机科学和数学交叉的相对确定的领域,而深度学习只是它的一个很小的子领域。机器学习的概念和工具对于理解深度学习非常重要。

深度学习资料大全:从基础到各种网络模型

视觉化介绍机器学习(Visual introduction to machine learning)——决策树 ★

Coursera 上最受欢迎的课程,Andrew Ng 的机器学习课程(Andrew Ng's course on machine learning)★★

Larochelle 的课程,没有单独的通用机器学习的介绍性讲座,但是定义和解释了所有必要的概念。

1. 训练和测试模型(K 最近邻/kNN)★★

2. 线性分类(支持向量机/SVM)★★

3. 优化(随机梯度下降/ stochastic gradient descent)★★

5. 机器学习基础 ★★★

可视化的主成分分析讲解 ★

如何有效地用 t-SNE 算法 ★★

大多数流行的机器学习算法都是在 Python 库 Scikit-learn 中实现的。从头开始实现这些算法助于理解机器学习的原理。

Python 的实用机器学习教程(Practical Machine Learning Tutorial with Python),包含了线性回归、kNN 和支持向量机。首先介绍了如何从 scikit-learn 调用算法,然后从头实现算法。★

Coursera 上 Andrew Ng 的课程的许多作业使用 Octave 语言。也可以在 Python 中实现这些算法。★★

神经网络基础

神经网络是强大的机器学习算法。它们构成了深度学习的基础。

深度学习资料大全:从基础到各种网络模型

一个交互可视化的教程,介绍了神经网络的基础——显示简单的神经网络如何做线性回归 ★

1. 前馈神经网络(feedforward neural network)★★

2. 训练神经网络(直到 2.7)★★

4. 反向传播(backpropagation)★★

5. 神经网络的架构 ★★

1. 使用神经网络来识别手写数字 ★

2. 反向传播算法的原理 ★

4. 神经网络以计算任何函数的可视化证明 ★

6. 深度前馈网络 ★★★

理解为什么从头开始实现反向传播算法很重要 ★★

计算图(computational graph)中的微积分:反向传播 ★★

玩转神经网络!★

尝试从头实现单层神经网络,包括训练过程。

只用 Python / NumPy 实现 softmax 分类器以及一个简单的神经网络——用 Jupyter notebook ★

Andrej Karpathy 的神经网络黑客教程讲述了如何在 Java 中实现反向传播。★

在 Python 中从头开始实现一个神经网络 ★

改进神经网络的学习方式

官方微信二维码

分享到:

官方公众号 手机在线答题
  • 关于我们
  • 公司介绍
  • 联系我们
  • 法律声明
  • 模拟试题
  • 公司介绍
  • 联系我们
  • 法律声明
  • 备考资料
  • 公司介绍
  • 联系我们
  • 法律声明
  • 联系我们
  • 公司介绍
  • 联系我们
  • 法律声明