15.6.4 创建神经网络模型
现在已经准备好了数据,接下来将配置一个卷积神经网络。我们从tensorflow.keras.models模块中的Sequential模型开始:
生成的网络将按顺序执行各层—某一层的输出成为下一层的输入,这就是前馈网络。我们将会在下面讨论递归神经网络时看到,并非所有的神经网络都以这种方式运行。
将层添加到网络
典型的卷积神经网络由若干层组成—接收训练样本的输入层、从样本中学习的隐藏层和产生预测概率的输出层。我们将在这里创建一个基本的CNN,下面从tensorflow.keras.layers模块导入将在本例中使用的层类:
我们将在下面对它们分别进行讨论。
卷积
使用卷积层开始构建我们的网络,卷积层使用邻近像素之间的关系来学习每个样本小区域中的有用特征(或模式),这些特征成为后续层的输入。
卷积学习的小区域称为卷积核(kernel或patch),考虑在一个6×6的图像上进行卷积,如下图所示,其中的3×3的阴影方块表示卷积核,图中的数字只是位置编号,用来显示卷积核访问和处理的顺序。
可以将卷积核视为“滑动窗口”,即卷积层在图像上从左到右一次移动一个像素进行滑动。当卷积核到达右边缘时,卷积层将卷积核向下移动一个像素并重复这个从左到右的过程。卷积核通常是3×3的大小 ...
Get Python程序设计:人工智能案例实践 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.