工程的博客

神经网络导论:按需网络研讨会和常见问题解答现已可用!

2018年10月1日 工程的博客

分享这篇文章

在数据库试试这个笔记本

9月27日,我们举办了一场在线研讨会神经网络概论——与Databricks的技术产品营销经理Denny Lee合作。这是Databricks免费深度学习基础系列的第一次网络研讨会。

在本次网络研讨会中,我们介绍了深度学习的基础知识,以更好地理解是什么赋予了神经网络表达能力:

  • 深度学习的潜力和可能的应用实例
  • 背后的数学概念人工神经网络(安)
  • 梯度下降优化、反向传播和激活函数的概念

我们使用Keras (TensorFlow后端)在Databricks上,这里是我们今天开始的笔记本的链接MNIST演示使用Keras CNN在Databricks

你现在可以注册到第2部分和第3部分,在那里我们将继续探索神经网络的力量,并深入学习训练神经网络的最佳实践(从准备数据集到参数调优)以及卷积神经网络的架构示例:

如果你想免费访问Databricks统bob体育亚洲版一分析平台bob体育客户端下载试一下我们的笔记本,你可以访问免费试用

最后,我们进行了问答,下面是按主题分组的问题和答案。

基本面

Q:首选哪种激活功能?或者哪些情况适合特定的激活函数?

使用ReLU作为激活函数是一个很好的起点,正如许多神经网络样本Keras MNIST所指出的那样,TensorFlow CIFAR10剪枝等)。请注意,每个激活函数都有自己的优点和缺点。关于激活函数的一个很好的引用CS231N很好地总结了选择:

“我应该使用哪种神经元类型?”使用ReLU非线性,小心你的学习速率,并可能监控网络中“死亡”单元的比例。如果你担心这一点,试试Leaky ReLU或Maxout吧。不要用s型。尝试tanh,但期望它比ReLU/Maxout工作得更差。

问:你根据什么来选择层数和每层神经元的数量?

一般来说,层数越多,每层单元数越多,人工神经网络的容量就越大。关键的问题是,当你的目标是建立一个广义模型时,你可能会冒过拟合的风险。

从实际的角度来看,一个好的起点是:

  • 输入单元的数量等于特征的维度
  • 输出单元的数量等于类的数量(例如,在MNIST数据集中,有10个可能的值代表数字(0…9),因此有10个输出单元
  • 从一个隐藏层开始,它是输入单元数量的2倍

吴恩达(Andrew Ng)是一个很好的参考Coursera机器学习课程

问:训练深度学习模型的理想训练和测试数据分割大小是多少?

深度学习模型的分割大小与机器学习的一般规则没有太大区别;使用80/20分成是一个很好的开始。

架构/生态系统

问:你应该使用什么类型的Azure VM来训练神经网络(以及多少内存)?

一个很好的起点是利用带有GPU节点的集群(在撰写本文时,对于Azure,这是n系列vm)和足够的内存来保存可大小的数据部分。

深度学习在数据库里

问:Databricks是否提供循序渐进的教程,以帮助开发一些使用人工神经网络(ANN)的试点?

是的,当然,我们鼓励你从这个开始笔记本探索人工神经网络的潜力。同样,更多的例子,请参考Databricks文档的深度学习部分(AWS|Azure).

额外的资源

免费试用Databricks
看到所有工程的博客的帖子