《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround

第3章 可视化TensorFlow

可视化是认识程序的最直观方式。在做数据分析时,可视化一般是数据分析最后一步的结果呈现。把可视化放到“基础篇”,是为了让读者在安装完成后,就能先看一下TensorFlow到底有哪些功能,直观感受一下深度学习的学习成果,让学习目标一目了然。

3.1  PlayGround

PlayGround[1]是一个用于教学目的的简单神经网络的在线演示、实验的图形化平台,非常强大地可视化了神经网络的训练过程。使用它可以在浏览器里训练神经网络,对Tensorflow有一个感性的认识。

PlayGround界面从左到右由数据(DATA)、特征(FEATURES)、神经网络的隐藏层(HIDDEN LAYERS)和层中的连接线和输出(OPUPUT)几个部分组成,如图3-1所示。

图3-1

3.1.1 数据
在二维平面内,点被标记成两种颜色。深色(电脑屏幕显示为蓝色)代表正值,浅色(电脑屏幕显示为黄色)代表负值。这两种颜色表示想要区分的两类,如图3-2所示。

图3-2

网站提供了4种不同形态的数据,分别是圆形、异或、高斯和螺旋,如图3-3所示。神经网络会根据所给的数据进行训练,再分类规律相同的点。

图3-3

PlayGournd中的数据配置非常灵活,可以调整噪声(noise)的大小。图3-4展示的是噪声为0、25和50时的数据分布。


图3-4

PlayGournd中也可以改变训练数据和测试数据的比例(ratio)。图3-5展示的是训练数据和测试数据比例为1 : 9和9 : 1时的情况。

图3-5

此外,PlayGournd中还可以调整输入的每批(batch)数据的多少,调整范围可以是1~30,就是说每批进入神经网络数据的点可以1~30个,如图3-6所示。

图3-6

3.1.2 特征
接下来我们需要做特征提取(feature extraction),每一个点都有X1和X2两个特征,由这两个特征还可以衍生出许多其他特征,如X1X1、X2X2、X1X2、sin(X1)、sin(X2)等,如图3-7所示。

图3-7

从颜色上,X1左边浅色(电脑屏幕显示为黄色)是负,右边深色(电脑屏幕显示为蓝色)是正,X1表示此点的横坐标值。同理,X2上边深色是正,下边浅色是负,X2表示此点的纵坐标值。X1X1是关于横坐标的“抛物线”信息,X2X2是关于纵坐标的“抛物线”信息,X1X2是“双曲抛物面”的信息,sin(X1)是关于横坐标的“正弦函数”信息,sin(X2)是关于纵坐标的“正弦函数”信息。

因此,我们要学习的分类器(classifier)就是要结合上述一种或者多种特征,画出一条或者多条线,把原始的蓝色和黄色数据分开。

3.1.3 隐藏层
我们可以设置隐藏层的多少,以及每个隐藏层神经元的数量,如图3-8所示。

图3-8

隐藏层之间的连接线表示权重(weight),深色(蓝色)表示用神经元的原始输出,浅色(黄色)表示用神经元的负输出。连接线的粗细和深浅表示权重的绝对值大小。鼠标放在线上可以看到具体值,也可以修改值,如图3-9所示。

图3-9

修改值时,同时要考虑激活函数,例如,当换成Sigmoid时,会发现没有负向的黄色区域了,因为Sigmoid的值域是(0,1),如图3-10所示。

图3-10

下一层神经网络的神经元会对这一层的输出再进行组合。组合时,根据上一次预测的准确性,我们会通过反向传播给每个组合不同的权重。组合时连接线的粗细和深浅会发生变化,连接线的颜色越深越粗,表示权重越大。

3.1.4 输出
输出的目的是使黄色点都归于黄色背景,蓝色点都归于蓝色背景,背景颜色的深浅代表可能性的强弱。

我们选定螺旋形数据,7个特征全部输入,进行试验。选择只有3个隐藏层时,第一个隐藏层设置8个神经元,第二个隐藏层设置4个神经元,第三个隐藏层设置2个神经元。训练大概2分钟,测试损失(test loss)和训练损失(training loss)就不再下降了。训练完成时可以看出,我们的神经网络已经完美地分离出了橙色点和蓝色点,如图3-11所示。

图3-11

假设我们只输入最基本的前4个特征,给足多个隐藏层,看看神经网络的表现。假设加入6个隐藏层,前4层每层有8个神经元,第五层有6个神经元,第六层有2个神经元。结果如图3-12所示。

图3-12

我们发现,通过增加神经元的个数和神经网络的隐藏层数,即使没有输入许多特征,神经网络也能正确地分类。但是,假如我们要分类的物体是猫猫狗狗的图片,而不是肉眼能够直接识别出特征的黄点和蓝点呢?这时候怎样去提取那些真正有效的特征呢?

有了神经网络,我们的系统自己就能学习到哪些特征是有效的、哪些是无效的,通过自己学习的这些特征,就可以做到自己分类,这就大大提高了我们解决语音、图像这种复杂抽象问题的能力。

时间: 2024-10-02 10:44:27

《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround的相关文章

《TensorFlow技术解析与实战》——3.3 可视化的例子

3.3 可视化的例子 词嵌入(word embedding)在机器学习中非常常见,可以应用在自然语言处理.推荐系统等其他程序中.下面我们就以Word2vec为例来看看词嵌入投影仪的可视化. TensorFlow的Word2Vec有basic.optimised这两个版本,我们重点来看这两个版本的可视化表示. 3.3.1 降维分析本节将以GitHub上的一段代码[3]为例,讲述可视化的思路. Word2vec采用text8[4]作为文本的训练数据集.这个文本中只包含a-z字符和空格,共27种字符.

《TensorFlow技术解析与实战》——第1章 人工智能概述 1.1什么是人工智能

第一篇 基础篇 著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联网通史>中,我把互联网这个"信息上"连通"人类个体"的物件作为划分人类历史的标志.而随着人工智能最近的崛起,我们又该思考重新划分了,因为人工智能将会在"信息上"连通"各个物体".到那时各个物体都有"

《TensorFlow技术解析与实战》——第2章 TensorFlow环境的准备

第2章 TensorFlow环境的准备 TensorFlow技术解析与实战本章的主要任务就是准备TensorFlow环境.与安装其他软件(如Caffe)相比,TensorFlow极容易安装,环境部署极为轻松. 接下来我们先介绍下载TensorFlow代码仓库,然后介绍基于pip的安装方式.基于Java的安装方式以及使用Bazel的源代码编译安装方式.

《TensorFlow技术解析与实战》——第1章 人工智能概述

第1章 人工智能概述 TensorFlow技术解析与实战有人说,人工智能在世界范围的流行,是因为那盘围棋.2016年3月,谷歌公司的AlphaGo向韩国棋院围棋九段大师李世石发起挑战,而这棋局走法的可能性有361!种,最终AlphaGo战胜了这场"棋局数比可见宇宙中的原子数还多"的智力游戏.2015年11月9日(在距这场比赛前4个月),谷歌公司开源了它的第二代深度学习系统TensorFlow,也就是AlphaGo的基础程序.

《TensorFlow技术解析与实战》——第3章 可视化TensorFlow

第3章 可视化TensorFlow TensorFlow技术解析与实战可视化是认识程序的最直观方式.在做数据分析时,可视化一般是数据分析最后一步的结果呈现.把可视化放到"基础篇",是为了让读者在安装完成后,就能先看一下TensorFlow到底有哪些功能,直观感受一下深度学习的学习成果,让学习目标一目了然.

《TensorFlow技术解析与实战》——1.2 什么是深度学习

本节书摘来自异步社区<TensorFlow技术解析与实战>一书中的第1章,第1.2节,作者李嘉璇,更多章节内容可以访问"异步社区"公众号查看 1.2 什么是深度学习 深度学习,顾名思义,需要从"深度"和"学习"两方面来谈. 1.深度 深度学习的前身是人工神经网络(artificial neural network,ANN),它的基本特点就是试图模仿人脑的神经元之间传递和处理信息的模式.神经网络这个词本身可以指生物神经网络和人工神经网络

《TensorFlow技术解析与实战》——第一篇 基础篇

第一篇 基础篇 TensorFlow技术解析与实战著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联网通史>中,我把互联网这个"信息上"连通"人类个体"的物件作为划分人类历史的标志.而随着人工智能最近的崛起,我们又该思考重新划分了,因为人工智能将会在"信息上"连通"各个物体"

《TensorFlow技术解析与实战》——导读

前言 缘起 2017年2月,TensorFlow的首届开发者峰会(2017 TensorFlow Dev Summit)在美国的加利福尼亚州举行.在会上,谷歌公司宣布正式发布TensorFlow 1.0版本.本书就是基于最新的1.1.0版本来介绍TensorFlow的技术解析和实战. 人工智能大潮来了.2016年,AlphaGo击败围棋大师李世石后,人工智能的应用仿佛一夜之间遍地开花.在科技潮流的大环境中,现在硅谷的用人单位越来越倾向于雇用既懂理论(思考者)又懂编程(执行者)的工程师.思考者的日

《TensorFlow技术解析与实战》——第2章 TensorFlow环境的准备 2.1下载TensorFlow 1.1.0

第2章 TensorFlow环境的准备 本章的主要任务就是准备TensorFlow环境.与安装其他软件(如Caffe)相比,TensorFlow极容易安装,环境部署极为轻松. 接下来我们先介绍下载TensorFlow代码仓库,然后介绍基于pip的安装方式.基于Java的安装方式以及使用Bazel的源代码编译安装方式. 2.1  下载TensorFlow 1.1.0 2017年5月,TensorFlow已经开放到1.1.0-rc2版本,支持多种操作系统.接下来我们就用 1.1.0 版本来介绍Ten