分享

【干货】TensorFlow 实用技巧:模型盘点,使用情况及代码样例

 昵称37085234 2016-10-09

1 新智元编译1

来源:Medium

作者:Camron Godbout

译者:文强

AI World 2016世界人工智能大会 【倒计时 9 天,点击“阅读原文”购票】 。本次大会特设智能驾驶论坛,由新智元【智驾周刊】特约编辑小猴机器人主持。滴滴出行联合创始人兼CTO张博、百度首席架构师James Peng、地平线机器人创始人余凯、中国指挥与控制学会副秘书长刘玉超、英国克兰菲尔德大学驾驶员认知与自动驾驶实验室主任曹东璞博士、中国汽车工程研究院副院长谢飞等重量级嘉宾将发表演讲,就当前国内外智能驾驶研究的前沿技术和发展趋势,以及潜在的突破点发表真知灼见。想了解更多关于智能驾驶行业与技术进展,点击文末阅读原文马上参会!

本文将介绍当前 TensorFlow 上的所有抽象模型,描述每个模型的使用情况以及简单的代码样例。详细的示例请访问这里:https://github.com/c0cky/TensorFlow-in-a-Nutshell

递归神经网络(RNN)


使用情况:语言建模、机器翻译、词汇嵌入、文本处理

自从长短时记忆(LSTM)和门控递归单元(GRU)提出以后,递归神经网络(RNN)相较其他自然语言处理模型有了飞跃式的发展。RNN 的输入可以是表征字符的向量,可以经过训练在训练数据集的基础上生成新的句子。RNN 模型的好处在于保留句子中的情景,能够推演“cat sat on mat”的意思是猫在垫子上面。TensorFlow 出现以后,编写这类网络变得愈发简单。下面是一个简单样例:


卷积神经网络(CNN)


使用情况:图像处理、人脸识别、计算机视觉

卷积神经网络(CNN)特别之处在于,设计这种模型时它的输入就已经被定为图像。CNN 可以通过一个小窗口对一幅图像进行卷积处理(滑动),小窗口被称为核,这个小窗口从图像上滑过就生成了一个卷积特征。


生成卷积特征可以用于检测边缘,进而让网络能够描绘图像中的物体。


生成这幅图的卷积特征如下


下面是一个从 NMIST 数据集中识别手写体的代码样例:


前馈神经网络


使用情况:分类和回归

前馈神经网络在每一层都有感知机,会将输入的信息传递到下一层,网络的最后一层是输出。在给定的一层,节点之间不会直接相连。没有原始输入也没有输出的层就是隐藏层。

前馈神经网络的目标与使用反向传播的其他监督神经网络很类似,让输入有理想的、经过训练的输出。前馈神经网络是解决分类和回归问题的一些最简单有效的神经网络。下面我们将展示创造前馈神经网络识别手写数字有多么简单:



线性模型


使用情况:分类和回归

线性模型输入 X 值后,生成用于分类和回归 Y 值最适合的一条线。例如你手头有附近一组房屋的大小和价格,你就能用线性模型预测给定大小的房屋的价格。

需要指出的是,线性模型可以接受多个 X 特征输入。例如上面的房屋例子中,我们能根据房屋大小生成一个线性模型,也可以根据房间数量或者卫生间数量预测一栋房子的价格,分别是f(大小),f(房间数量),f(卫生间数量)。


支持向量机(SVM)


使用情况:当前仅用于二元分类

SVM 背后的基本概念是,对于二元可分的模式(pattern),存在一个最优的超平面。对于不可二元分类的数据,我们可以使用核函数将原始数据转换到一个新的平面上。SVM 将区分超平面的边缘区域最大化。SVM 尤其适用于高纬空间,如果维度比样本数量大也依然有效。


深广模型(Deep and Wide Models)


使用情况:推荐系统、分类和回归

深广网络(Deep and Wide Network)的细节可以参见这篇文章:谷歌发布 Deep and Wide 网络,开源 TensorFlow 模型。

深广网络将线性模型和前馈神经网络结合在一起,因此网络得出的预测既有记忆也有泛化功能。这类模型可以用于分类和回归问题。深广网络的预测相对较准,可以减少特征工程。由此,在两边都取得最好的结果。下面是一个简单的代码片段:


随机森林


使用情况:分类和回归

随机森林模型包含很多不同的分类树,每棵树都为分类投票。森林选择票数最多的那个分类。

随机森林不会过拟合,你可以随便增加树的数量而且速度也相对较快。你可以用下面这段代码跑一次 iris 数据。


贝叶斯强化学习


使用情况:分类和回归

在Github TensorFlow 页面 contrib 文件夹有一个库叫做 BayesFlow。BayesFlow 里面没有说明,只有一个 REINFORCE 算法。这个算法是由 Ronald Wiliams 提出的。

REward Increment = Nonnegative Factor * Offset Reinforcement * Characterisitic Eligibility

该网络试图解决直接的强化学习任务,每次试验得到强化值后对修正权重。在每次试验最后,每个权重都会学习速率因子乘以强化值减去基准乘以特征资格(characteristic eligibility)。Williams 在论文中讨论了使用反向传播训练 REINFORCE 网络的情况。


线性链条件随机场


使用情况:数据排序

CRF 是根据无向模型因子化(factorize)的条件概率分布。这种模型预测单一样本的标签,同时保持相邻样本的语境。CRF 与隐藏摩尔科夫模型十分类似。CRF 常用于图像分割和物体识别,在浅层分析、命名实体识别和基因查找(gene finding)中也有使用。


编译来源:https:///tensorflow-in-a-nutshell-part-three-all-the-models-be1465993930#.xsno91gkc

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多