深度学习教程¶
深度学习是机器学习研究的一个新领域,其目的在于使机器学习趋近其原始目标之一:人工智能。请参阅这些课程笔记,了解有关AI的机器学习的简介和深度学习算法的简介。
深度学习是关于多层表示和抽象的学习,有助于理解图像、声音和文本等数据。有关深度学习算法的更多信息,请参见:
- The monograph or review paper Learning Deep Architectures for AI (Foundations & Trends in Machine Learning, 2009).
- The ICML 2009 Workshop on Learning Feature Hierarchies webpage has a list of references.
- The LISA public wiki has a reading list and a bibliography.
- Geoff Hinton从2009年的NIPS教程获得的阅读列表。
此处给出的教程会为你介绍一些最重要的深度学习的算法,而且会为你展示怎样用 Theano来运行他们。Theano是一个可以简化深度学习模型编写的python库,它还给出了在GPU训练这些模型的相关选项。
这些算法教程有一些前置要求。你需要知道一些关于python的知识,还要熟悉numpy。因为本教程是关于Tneano库的使用,你应当先通读Theano basic tutorial。在你完成之后,请通读我们的入门章节 — 它介绍了在算法教程中使用的符号和[可下载的]数据集,以及我们通过随机梯度下降做优化的方式。
纯粹的监督学习算法可以按顺序阅读:
无监督和半监督学习算法可以按任何顺序阅读(自动编码器可以独立于RBM/DBN阅读):
- 自动编码器、去噪自动编码器 — 自动编码器的描述
- 堆叠去噪自动编码器 — 用于深层网络的无监督预训练的简单步骤
- 受限的玻尔兹曼机器 — 单层生成RBM模型
- Deep Belief Networks — 无监督的堆叠RBM的生成性预训练,随后是监督微调
Building towards including the mcRBM model, we have a new tutorial on sampling from energy models:
- HMC Sampling - hybrid (aka Hamiltonian) Monte-Carlo sampling with scan()
- Building towards including the Contractive auto-encoders tutorial, we have the code for now:
- Contractive auto-encoders code - There is some basic doc in the code.
- Recurrent neural networks with word embeddings and context window:
- LSTM network for sentiment analysis:
- 基于能量的循环神经网络(RNN-RBM):
请注意,除了使用RNN-RBM建模和生成复音音乐序列仅适用于Python 2,这里的教程都与Python 2和3兼容。