围棋数据神经网络设计与优化
1. 卷积网络空间分析
在卷积网络的讨论中,我们主要关注了如何将数据输入卷积层,而未涉及反向传播的工作原理。这是因为其数学原理较为复杂,且Keras会自动处理反向传播过程。
通常,卷积层的参数比全连接层少很多。例如,在一个28×28的输入图像上定义一个核大小为(3, 3)的卷积层,输出大小为26×26,该卷积层仅有3×3 = 9个参数,再加上每个卷积输出的偏置项,总共10个参数。而一个将长度为28×28的输入向量连接到长度为26×26的输出向量的全连接层,有28×28×26×26 = 529,984个参数(不包括偏置)。不过,卷积运算的计算成本比全连接层中使用的常规矩阵乘法更高。
2. 使用Keras构建卷积神经网络
要使用Keras构建和运行卷积神经网络,需要使用名为Conv2D的新层类型,它可对二维数据(如围棋棋盘数据)进行卷积操作。还会用到Flatten层,它能将卷积层的输出展平为向量,以便输入到全连接层。
2.1 数据预处理
输入数据的预处理步骤与之前有所不同,不再将围棋棋盘展平,而是保留其二维结构。以下是具体代码:
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Conv2D, Flatten
np.random.seed(123)
X = np.load('../generated_games/features-40k.
超级会员免费看
订阅专栏 解锁全文
1852

被折叠的 条评论
为什么被折叠?



