前言
或许你差不多理解神经网络,知道神经网络可以理解为一个网,每个网是由多个层堆叠连接起来的。但却没有实操训练过一个自己的网络,下面将结合代码讲解如何训练一个简单的神经网络。
一、神经网络的构造与训练
神经网络的核心组件是层(layer),它是一种数据处理模块,你可以将它看成数据过滤器。 进去一些数据,出来的数据变得更加有用。具体来说,层从输入数据中提取表示——我们期望这种表示有助于解决手头的问题。大多数深度学习都是将简单的层链接起来,从而实现渐进式的数据蒸馏。深度学习模型就像是数据处理的筛子,包含一系列越来越精细的数据过滤器。
训练一个神经网路的步骤一般为:构建网络 -> 编译网路 -> 训练网络。下面来详细讲解流程,使用python的Keras库来学习:
1.构建网络
网络的构建就是layers的堆叠,一般调用 models.Sequential()函数来创建一个网络,使用add来添加网络层。
如以下例子是个简单的两层神经网络,包括2个Dense层,叫做密集连接层或全连接层,是神经网络作为分类器很常用的层。
from keras import models
from keras import layers
network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
network.add(layers.Dense(10</