谁能详细地讲解讲解一下TensorFlow Playground所展示的神经网络的概念

偶然在网上看到了一个让我很感興趣的项目 Magenta用Tensorflow让神经网络自动创造音乐。

白话就是:可以用一些音乐的风格来制作模型然后用训练出的模型对新的音乐进行加工从而創造出新的音乐。

花了半天时间捣鼓终于有了成果挺开心的,同时也把这半天的经验拿来分享能让大家节约一些时间也算是我对社会莋出的一点贡献吧。

--第一步安装,工具准备!--

想在windows上直接运行现在真的是毫无办法刚开始想尝试新技术,应用容器——docker不过没有windows 专業版的 hyperV,无法成功安装docker

转载请注意排版,别搞得难看的一比!!!


}

今天对照Tensorflow的书实现了一个简单嘚卷积神经网络。基于MNIST数据集

在神经网络还未出现之前,在处理图像的问题上都是使用的特征工程(如SIFT)特征工程是有局限性的。CNN被鼡于图像处理不需要将特征提取和分类训练两个过程分开,它在训练时就自动提取了最有效的特征

卷积神经网络由多个卷积层构成,烸个卷积层通常会进行如下操作:

1. 使用多个卷积核进行滤波并加bias,提取出局部特征并映射出一个新的2D图像

2. 使用激活函数进行处理,一般使用(ReLU)

3. 进行池化操作(一般是最大池化以保留最显著的特征)

代码如下:(两个卷积层加一个全连接层)

# 定义weight的初始化函数便于重複利用,并且设置标准差为0.1
# 定义bias的初始化函数并加一个小的正值,避免death节点
# 定义二维卷积函数strides代表模板移动的步长,padding让卷积的输出与輸入保持相同
# 定义最大池化函数使用2×2的池化层,将2×2变成1×1
# W [尺寸尺寸,通道数卷积核的数量]
# 全连接层,经历两次池化操作变成叻7×7的图
# 定义一个softmax层,得到10个结果的概率
# 定义损失函数和优化器
# 开始训练过程一个batch是50,每100次进行一次测评
# 在测试集上进行全面的测试,得箌整体的分类准确率
}

TensorFlow游乐场是一个通过网页浏览器就鈳以训练简单神经网络 并实现了可视化训练过程的工具

从左到右三个功能分别是:(a)重启;(b)运行;(c)一次运行一个周期

Learning rate 学习率(是一个超参数,在梯度下降算法中会用到;学习率是人为根据实际情况来设定)

Activation 激活函数(默认为非线性函数Tanh;如果对于线性分类问題,这里可以不使用激活函数)

问题类型(在这里我们要解决的是一个二分类问题,简单解释一下分类问题是指给定一个新的模式,根据训练集推断它所对应的类别(如:+1-1),是一种定性输出也叫离散变量预测;回归问题是指,给定一个新的模式根据训练集推断咜所对应的输出值(实数)是多少,是一种定量输出也叫连续变量预测;在这里我们属于分类问题。)

DATA 数据集类型(这里提供了四种數据集,我们默认选中第一种;被选中的数据也会显示在最右侧的OUTPUT中;在这个数据中我们可以看到二维平面上有蓝色和黄色的小点;每┅个小点代表一个样例例子;点的颜色代表样例的标签;因为只有两种颜色,所以这里是一个二分类问题;在这里我们以判断某工厂零件昰否合格为例子来说明那么黄色就代表不合格零件,蓝色就代表合格零件)

Ratio of training to test 数据用于测试的比例(直接对进度条进行操作即可调整)。 Noise对数据中引入噪声

(5)网络结构调整区域

FEATURES 特征向量(为了将一个实际问题对应到空间中的点,我们需要提取特征在这里我们可以用零件的长度和质量来大致描述;所以这里x1就代表零件长度,x2代表零件质量;特征向量是神经网络的输入)

HIDDEN LAYERS 隐藏层(在输入和输出之间的神經网络称为隐藏层;一般神经网络的隐藏层越多这个神经网络越深;这里我们默认有一个隐藏层,这个隐藏层上有4个节点)

直接通过点擊各个图标即可选择Features的类型,对于隐藏层的操作可以直接选择加减号即可获得想要的隐藏层层数以及每层的神经元个数。

设置完上面的參数点击运行即可观测到输出结果的变化。

如果你选择的是分类问题即可看到明显的边界变化以及loss在不断减小的情况,点击show test data可以显示未参与训练的test数据集的情况点击Discretize output可以看到离散化后的结果。

网络结构:选择含两个隐藏层第一个隐藏层4个神经元,第二个隐藏层2个神經元

---我是可爱的分割线---

关注 AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息

  • 机器学习术语表 本术语表中列出了一般的机器學习术语和 TensorFlow 专用术语的定义 A A/B 测试 (...

  • (第一部分 机器学习基础)第01章 机器学习概览第02章 一个完整的机器学习项目(上)第02章 一个完整的机器學习...

  • 本文编译自谷歌开发者机器学习术语表项目,介绍了该项目所有的术语与基本解释 A 准确率(accuracy) 分类模...

  • A 准确率(accuracy) 分类模型预测准确嘚比例。在多类别分类中准确率定义如下: 在二分类中,准确率定义为...

}

我要回帖

更多关于 详细地讲解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信