Google Develope Days 2018
TensorFlow 简介
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
演讲者:Laurence Moroney(Google 开发者技术推广工程师)与付弋真(Google Brain 的软件工程师)
新技术周期
Laurence Moroney 认为人工智能处于技术萌芽触发期
运动状态检测
借助手机速度传感器的帮助,获取当前用户的速度,然后再使用代码进行判断运动状态。
- speed < 4 定义为步行,
- 4 <= speed < 12 定义为跑,
- speed > 12 定义为骑车。
一些简单的运动场景可以通过上述类型的方式进行检测,倘若像用户在打高尔夫这种复杂的运动场景是无法被检测出来,而机器学习可以帮我们解决在这个问题。
传统编程方式是设定规则和数据,从而给出答案。通过Java、Python等语言来编写规则,在输入一些数据之后打包编译成程序,给出答案,简单运动检测APP就是这样实现的。
机器学习需要程序员提供答案和数据,给答案打上标签,在数据的配合之下,机器会自己研究出规则。
在机器学习的环境下,程序员们需要提供上述所示数据和标签,机器自己会找出数据之间的关联,从而得到规则,而不再需要程序员自己去定义复杂的规则。这样会变得更加智能化,在能检测简单的运动状态的同时,也能够检测出向打高尔夫这样难以用规则去判断的复杂的运动状态。
在机器学习的程序设计中,第一个阶段为训练阶段,程序员需要提供数据和答案(标签),从而得到模型。第二个是推理阶段,给模型提供数据,它会做出相应的预测。
实操
线性关系
找出xy之间的关系为:2x-1=y
运行结果如下:
通过机器学习我们得到值为18.985846,而并不是 19,因为神经网络存在很多种可能性,机器给出的是一个预测的结果而不是一个准确无误的结果。
不用衣物的识别
Fashion-MNIST是一个替代MNIST手写数字集的图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28的灰度图片。
通过 Fashion-MNIST 数据集,可以对我们的模型进行训练,不断地优化,从而提高识别准确率。
1 | import tensorflow as tf |
Flutter
用一套代码同时为ios和android构建美观出众的移动应用。
特点
- 对UI实现像素级别的控制
- 编译成原生的机器代码
- 热重载,要妙计重加载时间
- 一套代码可适用多个平台