内容简介:Google 开发者大会 (Google Developer Days,简称 GDD) 是展示 Google 最新开发者产品和平台的全球盛会,旨在帮助你快速开发优质应用,发展和留住活跃用户群,充分利用各种工具获得更多收益。2018 Google 开发者大会于 9 月 20 日和 21 日于上海举办。Laurence Moroney(Google 开发者技术推广工程师)与付弋真(Google Brain 的软件工程师)带来一场《TensorFlow 简介:机器学习技术使用入门》的演讲,本文将对演讲做一个回顾
Google 开发者大会 (Google Developer Days,简称 GDD) 是展示 Google 最新开发者产品和平台的全球盛会,旨在帮助你快速开发优质应用,发展和留住活跃用户群,充分利用各种 工具 获得更多收益。2018 Google 开发者大会于 9 月 20 日和 21 日于上海举办。
Laurence Moroney(Google 开发者技术推广工程师)与付弋真(Google Brain 的软件工程师)带来一场《TensorFlow 简介:机器学习技术使用入门》的演讲,本文将对演讲做一个回顾。
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
Laurence Moroney讲述了他经历的变革。网页的变革从 程序员 的角度上来说,网页改变了人们所有的一切。通过网页,程序员们可以写出让上亿的用户接触到的程序。这场变革带了新的商业模式,比如谷歌、百度、淘宝等等。智能手机也带来了一场变革,同样也带来了像滴滴和 Uber 这样的商业体验。我们正在面临下个变革,也就是机器学习的变革。
如上图所示,Laurence Moroney认为人工智能正处在技术萌芽触发期与期望膨胀顶峰期之间。
运动检测APP
在借助手机速度传感器的帮助下,我们可以获取当前用户的速度,然后再使用代码进行判断。
- speed < 4 定义为步行,
- 4 <= speed < 12 定义为跑,
- speed > 12 定义为骑车
一些简单的运动场景可以通过上述类型的方式进行检测,倘若用户在打高尔夫是无法被检测出来,而机器学习可以帮我们解决在这个问题。
传统编程方式是设定规则和数据,从而给出答案。通过 Java 、 Python 、C++等语言来编写规则,在输入一些数据之后打包编译成程序,给出答案,简单运动检测APP就是这样实现的。
机器学习需要程序员提供答案和数据,给答案打上标签,在数据的配合之下,机器会自己研究出规则。
在 机器学习 的环境下,程序员们需要提供上述所示 数据 和 标签 ,机器自己会找出数据之间的关联,从而得到 规则,而不再需要程序员自己去定义复杂的规则。这样会变得更加智能化,在能检测简单的运动状态的同时,也能够检测出向打高尔夫这样难以用规则去判断的复杂的运动状态。
在学习新的事物时,我们的大脑往往是先得到答案和数据,从而总结出经验规律,这也是机器学习所想要实现的。在玩井字棋(如下图所示),一开始我们只是了解这个游戏的规则和玩法,但是如何赢得比赛就需要数盘的游戏经历,从中总结出经验。
机器学习就是在模仿人类,通过大量的数据和标签,得到规则,从而解决问题。让机器像人一样学习,这是机器学习所要走的第一步。
在机器学习的程序设计中,第一个阶段为 训练阶段 ,程序员需要提供 数据 和 答案(标签) ,从而得到模型。第二个是 推理阶段 ,给模型提供 数据 ,它会做出相应的 预测代码实践( 付弋真主讲 )
数字之间关系
下面有两列数字, X 和 Y之间存在关系。将数字提供给机器,希望机器像人脑一样学习,从而给出数字之间的关系。
有一定数学基础的同学,应该很快能够给出 X 和 Y 之间的关系为: 2x - 1 = y。我们在看到这些数字之后,大脑会尝试去找出一些规律,利用我们所拥有的数学经验,进行猜测,猜测的验证结果是正确,所以得到了这个方程式。那通过机器学习如何做到这一点呢?
from tensorflow import keras import numpy as np model = keras.Sequential([keras.layers.Dense(units = 1, input_shape = [1])]) model.compile(optimizer = 'sgd', loss = 'mean_squared_error') xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype = float) ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype = float) model.fit(xs, ys, epochs = 500) print(model.predict([10.0])) 复制代码
结果如下:
通过机器学习我们得到值为 18.976957 ,而并不是 19,因为神经网络存在很多种可能性,机器给出的是一个预测的结果而不是一个准确无误的结果。
识别不同的衣服
上图中有8中不同的衣服,作为人类我们可以分辨每个衣服的种类。那机器能否做到这一点呢?
Fashion-MNIST是一个替代MNIST手写数字集的图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28的灰度图片。
通过 Fashion-MNIST 数据集,可以对我们的模型进行训练,不断地优化,从而提高识别准确率。
import tensorflow as tf from tensorflow import keras import numpy as np # Import the Data fashion_mnist = keras.datasets.fashion_mnist (train_images, train_labels), (test_images, teat_labels) = fashion_mnist.load_data() # Normalize the data train_images = train_images / 255.0 test_images = test_images / 255.0 #Define the model model = keras.Sequential([ keras.layers.Flatten(inport_shape = (28,28)), keras.layers.Dense(128, activation = tf.nn.relu), keras.layers.Dense(10, activation = tf.nn.softmax), ]) model.compile(oprimizer = tf.train.AdadeltaOptimizer(),loss = 'sparse_categorical_crossentropy',metrics=['accuracy']) #Train the model model.fit(train_images, train_labels, epochs = 5, verbose = 2) predictions = model.predict(test_images) print(test_images[4560]) print(np.argmax(predictions[4560])) 复制代码
运行结果如下:
在设置5次迭代的前提下,本模型的成功率为 71% 。神经网络可以通过更多的训练,从而提高准确率。
以上就是本次演讲的全部内容,希望对大家有所帮助
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 移动开发者的后端开发入门体验
- 写给Android开发者的Java 8简单入门教程
- 第216期:写给 Android 开发者的 Java 8 简单入门教程
- 与 JOSE 战斗的日子 - 写给 iOS 开发者的密码学入门手册 (实践)
- 让开发者专注于应用开发,OpenCenter 3.0 开发者预览版发布
- 让开发者专注于应用开发,OpenCenter 3.0 开发者预览版发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Flash与后台
刘明伟 / 清华大学出版社 / 2007-6 / 52.00元
《Flash与后台:ASP/ASP.NET/PHP/Java/JavaScript/Delphi总动员》从目前热门的F1ash与ASP、ASP.NET、PHP、Java、JavaScript和Delphi的交互知识入手,深入浅出地讲解了F1ash与后台通信的原理和交互的过程,力求使阅读《Flash与后台:ASP/ASP.NET/PHP/Java/JavaScript/Delphi总动员》的每一位读......一起来看看 《Flash与后台》 这本书的介绍吧!