专栏名称: 数据派THU
本订阅号是“THU数据派”的姊妹账号,致力于传播大数据价值、培养数据思维。
目录
相关文章推荐
InfoTech  ·  DeepSeek更新了! ·  3 天前  
软件定义世界(SDX)  ·  阿里云:AI应用开发新范式 ·  2 天前  
51好读  ›  专栏  ›  数据派THU

新手神器!不用部署深度学习环境、上传数据集!(附代码&视频教程)

数据派THU  · 公众号  · 大数据  · 2017-11-08 19:00

正文

请到「今天看啥」查看全文


与神经网络模拟器玩一两个小时,你就可以获得对其的直观感受。


我们将从实现一个简单的神经网络开始,以了解TFlearn中的语法。从经典的101问题开始,也就是OR运算符。虽然神经网络更适合于其他类型的数据,但这是了解其工作原理的一个很好的问题。



所有的深度学习程序都遵循同样的核心逻辑:


  • 首先加载库,然后加载数据并清洗。不管是照片,音频还是知觉数据,所有的输入都会被转化为数字。这些很长的数字列表就是我们神经网络的输入。

  • 现在开始设计神经网络。选择你的神经网络层的类型和数量。

  • 然后它会进入学习过程。

  • 神经网络知晓输入和输出,然后自行寻找二者之间的关系。
    最后会用训练好的模型中给到你一个预测值。


下面是这个神经网络的程序:



输出:



第一行 以“#”开头的行表示备注,一般用来解释代码


第二行 加载TFlearn库 通过这个语句我们可以使用谷歌Tensorflow的深度学习函数


第五行和第六行 将上述表中的数据存储在列表中


每个数字末尾的点会将整数映射到浮点数。它存储具有十进制值的数字,使计算更加精确。


第七行 初始化神经网络,并指定输入数据的维度或者说尺寸


所有的OR运算都是在一对数据中进行的,所以维度是2.


空值是默认值,表示批量的大小


第八行 输出层


激活函数将过程中的结果映射到输出层


在这个例子中,我们使用Sigmoid函数将其映射到(0,1)区间范围内


第十一行 应用回归


使用优化器选择合适的算法来最小化成本函数
学习率决定了神经网络的调整速度,而损失变量决定了如何计算误差。


第十二行 选择使用哪个神经网络


一般情况下也可以用来指定存储训练日志的位置


第十三行 训练你的神经网络和模型


选择你的输入数据(OR)以及实际的标签(Y_truth)


Epochs决定了你的神经网络运行数据的循环次数


如果你设置 snapshot=True,那么每次循环后都会进行模型验证


第十四到十八行 使用训练好的模型进行预测


在这个例子中,返回的是结果是1/True的概率


输出层:


第一个结果表示[0.]&[0.]组合为真的可能性为4%,以此类推。“Training step”显示了你训练了多少批。


在每一批中所有数据都将训练一次,类似于Epoch。如果数据相对内存较大,你需要停止分段训练。损失函数会计算每一次迭代的错误数量。


SGD指随机梯度下降法及最小化代价函数方法。


Iter指当前数据索引以及输入项的总和。


你可以在大多数TFlearn神经网络中找到上述逻辑和语法。学习这段代码最好的方法就是修改代码并产生一些错误。



损失曲线显示了每一次训练的错误量。


你可以通过Tensorboard来可视化每一次实验,并了解每一个参数是如何影响训练的。


这里有一些你可以运行的例子的建议。我推荐你花费几小时练习这些例子,以更好地适应运行环境以及TFlearn中的参数。


实验


  • 增加训练与迭代次数

  • 尝试添加或改变文档中提到的每一个函数的参数







请到「今天看啥」查看全文