深度学习如何入门?
具体的入门方式取决于您已经掌握的知识。
要理解并应用深度学习,必须先掌握线性代数、微积分和统计学,还应当具备编程及机器学习的知识。
就 Deeplearning4j 而言,您应当熟悉 Java 语言,并且熟练掌握 IDE 工具 IntelliJ。
以下是相关学习资源的列表。本页中的段落大致按学习的顺序排列。
免费的机器学习和深度学习网络课程
- Coursera上的机器学习课程,Andrew Ng主讲
- Coursera上的神经网络课程,Geoff Hinton主讲
- MIT人工智能导论,Patrick Winston主讲(供希望了解人工智能概况的用户参考。)
- 斯坦福卷积神经网络课程,Andrej Karpathy主讲(供希望了解图像识别的用户参考。)
- ML@B: 机器学习课程 1
- ML@B: 机器学习课程 2
数学
- 理论: 通过可视化介绍概率和统计学
- 吴恩达第六课程:线性代数
- Khan 学院的线性代数课程
- 线性代数和机器学习; Patrick van der Smagt
- 美国卡耐基梅隆大学的>线性代数
- 机器学习的数学
- 沉浸线性代数
- 概率秘籍
- 最好的线性代数书
- 解密马可夫链
- 机器学习MCMC介绍
编程
如果您还未掌握如何编程,建议您不要从Java语言开始学习。Python和Ruby的反馈速度快,学习这两种语言更容易掌握编程的基本理念。
- 《笨办法学Python》
- 慢慢一步一步学习JAVA
- 慢慢一步一步学习Python
- Pyret: Python学习环境
- Scratch: 麻省理工学院的视觉编程环境
- 《Learn to Program (Ruby)》
- 命令行入门教程
- 命令行补充教程
- Vim教程与基础知识(Vim是一种基于命令行的编辑器。)
- 计算机科学导论(哈佛edX课程CS50)
- 《计算机基本原理浅析》
如果您希望跳过Java语言,直接开始使用深度学习,我们推荐Theano和建立在其基础上的各类Python框架,包括Keras和Lasagne。
JAVA
一旦你有了编程基础知识,接下来就是学习解决Java - 世界上使用最广泛的编程语言,以及Hadoop的编程语言。
Deeplearning4j
具备上述知识后,我们建议您通过示例来学习Deeplearning4j。
完成指南中的设置步骤并理解这一API之后,您就可以进行完全安装了。
其他资源
目前有关于深度学习的知识大都发表在学术论文中。此页中列出了一些相关论文。
任何具体课程所教授的内容都是有限的,但互联网可以提供的知识是无限的。大部分数学和编程问题都可以通过谷歌搜索或搜索Stackoverflow和Math Stackexchange等网站来解决。
DL4J入门指南
- 深度神经网络简介
- 回归与神经网络
- Word2vec:用神经词向量从原始文本中提取关系
- 受限玻尔兹曼机:构建深度置信网络的基本单元
- 循环网络与长短期记忆单元
- 用于图像处理的卷积网络
- 人工智能、机器学习与深度学习
- 开源深度学习框架比较
- 本征向量、协方差、PCA和熵
- AI需求层次