首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谷歌教你学 AI-第六讲深度神经网络

翻译/校对: Mika

本文为 CDA 数据分析师原创作品,转载需授权

Google Cloud发布了名为"AI Adventures"的系列视频,用简单易懂的语言让初学者了解机器学习的方方面面。今天让我们来看到第六讲深度神经网络

本期视频如下:

AI Adventures--第六讲深度神经网络

针对不方便打开视频的小伙伴,CDA字幕组也贴心的整理了文字版本,如下:

在本期的AI Adventures中,我们将学习如何将线性模型转换为深度神经网络,从而训练越来越复杂的数据集

随着线性模型中特征列的数量增加,在训练实现高正确率变得越来越难,因为不同列之间的交互越来越复杂。 这是一个已众所周知的问题,对于数据科学家来说,特别有效的解决方案是使用深度神经网络

为什么要用深度神经网络

深度神经网络能够适应更复杂的数据集,更好地推广到新数据中。由于有许多层,因此被称为”深”。这些层能让它们比线性模型,更能适应复杂的数据集。

然而值得权衡的是,若用到深度神经网络,模型则需要更长的训练时间,规模也更大,解释性更低。那么为什么要用呢?

因为这会带来更高的正确性。

深度学习一个棘手的方面是:要让所有参数“恰到好处”。

根据数据集,这些配置看几乎是无限制的。 但是,TensorFlow内置的Deep Classifier和Regressor提供了一些合理的默认值,你可以立即开始使用,从而快速轻松地进行操作。

从线性到深度

我们来看一个例子,如何将鸢尾花的例子从线性模型更新到深度神经网络(通常缩写为DNN)

我不打算展示DNN处理的2000列模型…因此我只打算使用我们之前用到的4列模型。当中的机制都是一样的。

主要的变化来自于用DNN分类器替换线性分类器。 这将为我们创建一个深度神经网络。

其他变化

其他的内容几乎都保持不变!深度神经网络还需要一个额外的参数,这是之前我们没有涉及的。

由于深层神经网络有多个层,每层有不同数量的节点,我们将添加一个`hidden_units`参数。

`hidden_units`能够让你为每个图层提供有具有节点数量的数组。这能让你在创建神经网络时,只需考虑它的大小和形状,而不是从头考虑方方面面。添加或删除层就像在数组中添加或删除元素一样简单!

更多的选择

当然,对于任何预先构建的系统,这确实很方便,但是往往缺乏可定制性。 DNN分类器通过让你选择许多其他参数来解决这个问题。有些合理的默认值会被使用 。 例如,优化器,激活函数和退出率都等都可以自定义。

将模型从线性转换为深度,还需要做些什么?

没了!

这就是使用估算器框架的美妙之处。这是整理数据、训练、评估和模型导出的一种常见方式,同时还可以灵活地尝试不同的模型和参数。

深度神经网络,让问题更简单

有时,深度神经网络效果要优于线性模型。在这种情况下,通过使用估算器框架替换一个函数,TensorFlow可以轻松地从线性模型切换到深度模型,而只需要更改少数的代码。

这意味着你能够用更多的时间来处理数据、模型和参数,而不是反复进行训练循环。对于简单的深度神经网络问题,快使用TensorFlow估算器吧!

下期预告

当训练数据太大,我们的机器无法承载;或者训练模型需要好几个小时,那么是时候考虑其他的选择了。下一期我们将降到在云端训练大数据模型。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180129G0VBR900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券