关于TensorFlow,你应该了解的9件事

wy860126 6年前
   <p style="text-align: center;"> </p>    <h2>关于TensorFlow,你应该了解的9件事</h2>    <p>谷歌开发技术推广工程师 Laurence Moroney 在 Google Cloud Next 大会上进行了一段 42 分钟的演讲,主题是「What's New with TensorFlow?」。本文作者 Cassie Kozyrkov 对该演讲进行了总结,概括出关于 TensorFlow 的九件事。机器之心对本文进行了编译介绍,希望对大家有所帮助。</p>    <p>我总结了今年 Google Cloud Next 大会上我最爱的一段演讲——What's New withTensorFlow?(https://www.油Tube.com/watch?v=MR7w8ARAS2Y)</p>    <p>然后我想了想,简直找不出理由不向你们安利我对此演讲的超短总结。(除非你不看视频,不然你绝对应该看看这个演讲,演讲者 Laurence Moroney 很出色。)</p>    <p><img src="https://simg.open-open.com/show/cd1964cfcdfd05ed4ff099a9ffedbd1c.png"></p>    <h2>1:TensorFlow 是一个强大的机器学习框架</h2>    <p>TensorFlow 是一个机器学习框架,如果你有大量的数据,或者你在追求人工智能最先进的技术:深度学习、神经网络等,它都会使你如虎添翼。它可不是数据科学界的瑞士军刀,而是工业车床!如果你想做的只是通过 20×2 的电子表格绘制一条回归线,那你可以停止阅读本文了。</p>    <p>但如果你追求的是更大的目标,那就嗨起来吧~TensorFlow 被用于寻找新的行星,协助医生检查糖尿病性视网膜病变来预防患者失明,向当局报告非法砍伐行为来拯救森林。它是AlphaGo和 Google Cloud Vision 的基础,也会是属于你的。TensorFlow 是开源的,你可以免费下载并立即开始使用。</p>    <ul>     <li> <p>TensorFlow 下载地址:https://www.tensorflow.org/install/</p> </li>     <li> <p>TensorFlow 初始教程:https://www.datacamp.com/community/tutorials/tensorflow-tutorial</p> </li>    </ul>    <p><img src="https://simg.open-open.com/show/1d4ec8df70b9eca29c5733f148dbcd3a.gif"></p>    <p>在TensorFlow 的帮助下发现的开普勒-90i 行星使开普勒-90 星系成为我们所知的唯一的另一个八颗行星绕一颗恒星运行的星系。目前还没有发现有超过八颗行星的星系,所以我想这意味着太阳系与开普勒-90 星系并列第一(目前)。</p>    <h2>2:一个神奇操作</h2>    <p>TensorFlow Eager 让我高枕无忧。</p>    <p>如果你之前尝试过TensorFlow,但因为它使你像老学究或外星人(而不是开发者)一样编代码而疯掉,现在抓紧回来啊啊啊啊!!</p>    <p>TensorFlow 的 eager execution 让你像纯 Python 程序员一样进行交互:即时编写和即时逐行调试,而不是在构建那些庞大图表时还得屏住呼吸。我自己也是一个正在恢复正常的「学究」(很可能是外星人),但是自从它出现我就爱上了 TF 的 eager execution。强烈安利!</p>    <p><img src="https://simg.open-open.com/show/c4f34bcfa2d1500bed327070cc5b23be.png"></p>    <h2>3:逐行构建神经网络</h2>    <p>Keras +TensorFlow = 更容易的神经网络构建!</p>    <p>Keras 致力于用户友好性和简单的原型设计,这是之前的TensorFlow 所渴望的。如果你喜欢面向对象的思维,喜欢一次构建一层神经网络,你会喜欢 tf.keras。在下面几行代码中,我们创建了一个序列神经网络(sequential neural network),其具备标准的附属组件,如 dropout。</p>    <p><img src="https://simg.open-open.com/show/8541aea09867852b59a32dd6bbc79f1b.png"></p>    <h2>4:不仅是 Python</h2>    <p>你们抱怨TensorFlow 只适用于 Python 已经有一段时间了。现在TensorFlow 不再是 Python 使用者的专利了。现在它可以在很多语言中运行,R、Swift 以及 Java Script 等等。</p>    <p><img src="https://simg.open-open.com/show/be27e1ae70d967974248a0941ce64d22.png"></p>    <h2>5 你可以在浏览器中做任何事</h2>    <p>说到 JavaScript,你可以使用TensorFlow.js 在浏览器中训练和执行模型。到这里尝试一些超酷的案例吧:https://js.tensorflow.org/~</p>    <p><img src="https://simg.open-open.com/show/5cb8bdfbcb14e3ea5b7df435fe5921f9.png"></p>    <p>使用TensorFlow.js 在浏览器中执行实时人体姿态估计。打开你的相机试一下?https://storage.googleapis.com/tfjs-models/demos/posenet/camera.html。</p>    <h2>6: 针对小型设备的精简版</h2>    <p>从博物馆买了个旧桌子?烤面包机?TensorFlow Lite 使得在移动设备和物联网设备等多种设备上执行模型成为可能,其推理速度是原始TensorFlow 的 3 倍还多。现在你可以在树莓派或手机上进行机器学习了。在该演讲中,Laurence 做了一件勇敢的事情,在数千人面前用一个 Android 模拟器实时演示图像分类……并且成功了。</p>    <p><img src="https://simg.open-open.com/show/b2add891d3640445460916b00a193fef.png"></p>    <p>1.6 秒计算时间?是的!香蕉识别率超过 97%?是的!</p>    <h2>7:专用硬件更强劲</h2>    <p>如果你已经厌倦了在训练神经网络过程中需要等待 CPU 完成数据处理,那么现在你可以使用专门为 Cloud TPU 设计的硬件,T 即 tensor。就像TensorFlow……巧合吗?我认为不是!不久前,谷歌在 alpha 版中发布了第三版 TPU。</p>    <p><img src="https://simg.open-open.com/show/fb128fb24409789d4ea28a44cadb767f.png"></p>    <h2>8:新的数据工作流得到很大改进</h2>    <p>你用 NumPy 做的是什么?如果你想在TensorFlow 中执行同样的操作,但是却「怒退」(rage-quit),则 tf.data 命名空间可以帮助TensorFlow 中的输入处理更具表达能力、更高效。tf.data 为你提供与训练同步的快速、灵活且易于使用的数据工作流。</p>    <p><img src="https://simg.open-open.com/show/6c7e7a23bf308fe825a56c2dfcdced05.png"></p>    <h2>9:你不需要从零开始</h2>    <p>你知道开始机器学习最可怕的是什么吗?编辑器中有一个空白的新页面,并且没有大量的示例代码。有了TensorFlow Hub,你就可以更高效地执行由来已久的传统,即自己编写别人的代码,并将其称为自己的代码(这也称为专业软件工程)。</p>    <p><img src="https://simg.open-open.com/show/c6fe046b8e4888016e4e1a831ebe4557.png"></p>    <p>TensorFlow Hub 是一个可重复使用的预训练机器学习模型组件 repo,它的封装和使用都非常精简。你可以自己试一下!</p>    <ul>     <li> <p>TensorFlow 官方 油Tube 频道:https://www.油Tube.com/channel/UC0rqucBdTuFTjJiefW5t-IQ</p> </li>     <li> <p>博客:https://medium.com/tensorflow</p> </li>    </ul>    <p>原文链接:https://hackernoon.com/9-things-you-should-know-about-tensorflow-9cf0a05e4995</p>    <p><a href="/misc/goto?guid=4959758041091911508" rel="nofollow,noindex">入门</a></p>    <p>相关数据</p>    <p>神经网络 技术</p>    <p>Neural Network</p>    <p>(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。</p>    <p>来源:机器之心</p>    <p>阿尔法围棋 技术</p>    <p>AlphaGo</p>    <p>阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。</p>    <p>来源: <a href="/misc/goto?guid=4958998680969889193" rel="nofollow,noindex">Deepmind</a></p>    <p>机器学习 技术</p>    <p>Machine Learning</p>    <p>机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。</p>    <p>来源:Mitchell, T. (1997). Machine Learning. McGraw Hill.</p>    <p>深度学习 技术</p>    <p>Deep learning</p>    <p>深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。</p>    <p>来源: <a href="/misc/goto?guid=4959757943120953936" rel="nofollow,noindex">LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.</a></p>    <p>物联网 技术</p>    <p>Internet of Things</p>    <p>物联网(英语:Internet of Things,缩写IoT)是互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。物联网一般为无线网,而由于每个人周围的设备可以达到一千至五千个,所以物联网可能要包含500兆至一千兆个物体。在物联网上,每个人都可以应用电子标签将真实的物体上网联结,在物联网上都可以查出它们的具体位置。通过物联网可以用中心计算机对机器、设备、人员进行集中管理、控制,也可以对家庭设备、汽车进行遥控,以及搜索位置、防止物品被盗等,类似自动化操控系统,同时通过收集这些小事的数据,最后可以聚集成大数据,包含重新设计道路以减少车祸、都市更新、灾害预测与犯罪防治、流行病控制等等社会的重大改变,实现物和物相联。</p>    <p>来源: <a href="/misc/goto?guid=4959758041250884413" rel="nofollow,noindex">维基百科</a></p>    <p>张量 技术</p>    <p>Tensor</p>    <p>张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。</p>    <p>来源: <a href="/misc/goto?guid=4959757943202706210" rel="nofollow,noindex">维基百科</a></p>    <p>TensorFlow 技术</p>    <p>TensorFlow</p>    <p>TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。</p>    <p>来源: <a href="/misc/goto?guid=4959758041364056564" rel="nofollow,noindex">维基百科</a></p>    <p> </p>    <p>来自:https://www.jiqizhixin.com/articles/2018-08-20-4</p>    <p> </p>