购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 模型!模型!模型!还是模型

神经网络的核心是就是模型(Model)。

任何一个神经网络的主要设计思想和功能都是以模型为中心的,TensorFlow也不例外。

TensorFlow或TensorFlow高级API Keras的核心数据结构都是模型(一种组织网络层的方式)。最简单的模型是Sequential(顺序)模型,由多个网络层线性堆叠而成。对于更复杂的结构,应该使用Keras函数式API,其允许构建任意的神经网络图。

为了便于理解和易于上手,笔者首先从Sequential模型开始。一个标准的Sequential模型如下:

可以看到,这里首先创建了一个Sequential模型,之后根据需要逐级向其中添加不同的全连接层。全连接层的作用是进行矩阵计算,而相互之间又通过不同的激活函数进行激活计算。(这种没有输入输出值的编程方式对有经验的程序设计人员来说并不友好,仅供举例。)

对于损失函数的计算,根据不同拟合方式和数据集的特点,需要建立不同的损失函数最大程度反馈拟合曲线错误。这里的损失函数采用的是交叉熵函数(softmax_crossentroy),使得数据计算分布能够最大限度地拟合目标值。如果对此陌生,只需要记住这些名词和下面的代码编写即可。代码如下:

首先通过模型计算出对应的值(内部采用前向调用函数),之后用tf.reduce_mean计算出损失函数。

模型建立完毕后,就该准备数据了。一份简单而标准的数据、一个简单而具有指导思想的例子往往事半功倍。在深度学习中最常用的入门例子是iris分类。下面就使用TensorFlow 2.0的Keras模式实现一个iris鸢尾花分类的例子。 kMwYdLHZ5zFHSlzofBXp+zZfEMeynjwekHOrursd3og6XZ93Xbb6VoW9r/IFbtZ9

点击中间区域
呼出菜单
上一章
目录
下一章
×