深度学习与围棋 名词笔记(一)

本文介绍了深度学习的基础概念及其在围棋领域的应用。详细解释了机器学习、神经网络、卷积神经网络等关键技术,并探讨了蒙特卡洛树搜索、特征映射等围棋中特有的算法和技术。

对于对于1对于一门学科来说

        对于一门学科来说,把书读薄,也就是记住与理解其相关名词是最重要的事情,记住与理解之后,这门学科也基本通透了。《深度学习与围棋》这本书中涉及到的深度学习相关知识众多,算法众多,名词也超级多,在此记录深度学习与围棋的名词目录。

 

名词解释页数注释
机器学习机器学习不用直接实现算法,而是从样本数据推断出程序或算法。因此,在应用机器学习技术时,我们仍然向计算机提供数据,但不再提供指令,也不再等待预期的输出,而是向它提供我们所希望的输出,让机器自己找到对应的算法。4W在围棋中是哪来的,多个特征平面的卷积核是哪来的
训练数据(training data)提供给机器用来训练的图片5
标签(label)图片中人物的名称称为标签5
机器学习不能做什么用传统算法就能解决问题;期望程序必须准确无误;简单的启发式规则已经够用了;应用的数据是结构化的;想要一个描述性的模型(即需要看到具体的函数)6
机器学习能做什么应用的数据结构是非结构化的;有大量的可用数据或者可以生成;有足够的计算能力和计算时间;
模型训练/模型拟合首先要选择一个模型,既一族通用函数,然后按照一个流程从这一族函数中选取与目标相匹配的函数,这个流程被称为xxxx7
模型,参数/权重/Wf(x)=ax+b函数可以描述一条直线,我们可以找到一组合适的a,b值,使ax+b能够很好地匹配结果,这里的a,b就是模型参数或者说权重,f(x)就是模型。例如在MNIST中将所有训练集合中标签为8的图像做平均,得到的avg_8就是识别别的图像8的权重。7,81
TensorFlow/Theano这是两个图计算库(这里的图是指由相互连接的节点所组成的网络结构)他们可以定义复杂的数学运算序列,然后生成高度优化的实现。9
Keras一个深度学习的高级库。提供了很多边界的方法来配置神经网络。后台依赖于TensorFlow/Theano9
监督学习(supervised learning)我们已经拥有数以百万计的正确的样本,即用户在应用中上传并手工标记过的所有照片,我们可以训练一个函数来尽可能地你和这些数据样本,并希望这个函数能够聪明的处理照片,我们把这种技术称为xxxx11
无监督学习(unsupervised learning)不用任何标签来指导学习过程,算法必须想办法自己从输入数据中识别出模式12
验证集(validation set)训练开始之前,把数据中的一小部分10%留作验证,验证集中的数据不能以任何形式参与训练过程11
准确率(accuracy)训练完成后,用得到的模型来处理验证集中的图像,把模型建议的标签与已知的正确的标签进行比较,这样就可以计算出训练模型的准确率11
异常值我们已经为模型拟合出一条平均直线,如果某个数据点与平均直线的距离超过了某个阈值,就可以称之为xxxx12
神经网络(neural networks)神经网络中的函数链条能够将复杂的概念分解成为多个层次的更简单的概念,例如一本书由很多句子组成,句子由字组成,字由笔画组成,笔画由墨点组成,学习的时候先学习笔画然后字然后。。。再例如第一层可以学习如何获取原始数据,后面每一层都将前面的一层组织成更高级更抽象的概念,我们把学习这种抽象的概念的过程称为表征学习(representation learning)13
围棋名词棋盘19*19,黑白,落子吃子(提),气,眼,目,胜负计算,贴子,劫争,让子
某一回合可能采取的动作数量叫分支因子,大概为250
Zobrist哈希3*19*19数组(棋盘是19*19,每个格子有空、黑、白三种状态),用平均分布的数字填满(尽量用32或者64位),然后用数组中的某个数字的xor操作来表达棋盘此时的状态。41
极小化极大算法(minimaxing)53
评估函数剪枝减少深度59
α-β剪枝减少宽度,我方走一步之后,让对方走一步,如果对方走了某一步大优,则xxxx59
蒙特卡洛树搜索MCTS1)将新的棋局加入树,2)从这个棋局开始随机对弈,3)根据对弈结果更新树节点的统计数据。不断重复1,2,366
独热编码(one-hotencoding)每一个数字占一个槽位79
波拉尼悖论知道如何做,但是却无法解释清楚为什么知道80
sigmoid激活函数82
softmax激活函数
对率回归/对数几率回归/Logistic regression/逻辑蒂斯回归我们用一个特征向量x表示一个数据样本,作为算法的输入,将它乘以权重W,添加偏差项b,得到一个预测值y,对y应用sigmoid函数:y=σ(Wx+b)85
前馈网络把上面的多个多个y值形成一个向量,这样就可以多次进行这种向量到向量的转换,从而构建出一个更复杂的神经网络,称之为xxxx.每次转换,称之为向前传递86
多层感知机/深度神经网络上述定义中,x为输入层,数次转换称为隐藏层,每一次转换称为稠密层或全连接层,最终的输出y为输出层,这个结构称为xxxx.x,y称为可见单元,其余称为隐藏单元。有大量隐藏层的大型网络,叫深度神经网络。88
仿射性变换

y=Wx+b这个变换称为xxxx

86
损失函数对于输入的x通过前馈网络产生的y,和x的标签ŷ,y与ŷ的距离的总和称为损失函数。Loss(W,b,y,ŷ)是一个可微函数[由向量(W,b)和(y与ŷ的距离值)形成的非负平滑],我们训练的目的是使损失函数最小。计算y与ŷ的距离可以是很多类型,如均方误差(MSE,在线性回归问题中应用较多)、交叉熵等等。89
前馈神经网络

由稠密层和激活函数组成的顺序网络,也称为多层感知机

交叉熵损失函数公式如下:126
梯度下降在所有Loss中,找到最小值,就用梯度下降算法。算法也有很多,例如退火,爬山90
SGD随机梯度92
学习率 learning rate

要更新参数,可以从当前的参数中减去由这一批次数据计算出的累积错误。
这里的a>0称为学习率,是训练网络之前确定好的实体参数,通常在0-1之间,
学习到一定进程之后,学习率通常都会衰减,以免破坏学习进度。

92,155
衰减decay,动量momentum

将前一个更新步骤与当前更新步骤相加,U是最近一次更新,W是参数向量,
∂W是由W计算的当前梯度,γ被称为动量项。
例如:sgd=SGD(lr=0.1, momentum=0.9, decay=0.01)学习率0.1动量90%衰减1%

 

155
反向传播计算出损失值(也叫增量、误差项,如果损失函数是L2的,损失值也是损失函数的导数Δ),计算激活函数相对于输入变量的导数,传递到上一层,重复上面两个步骤,就是反向传播。最后一步是W*Δ93,94
卷积核/核/过滤器是一个小的特殊设计的(不是由人定的而是通过反向传播算法中从数据中学习出来的)矩阵,例如3×3的120
卷积计算用一张图像(原始数据)逐步与卷积核矩阵里边的每一个对应位置的数相乘,然后再将所有数字相加,形成新的特征矩阵的过程119
特征映射/特征平面/featureMap将n个图像,用1个卷积核分别进行卷积计算,生成的n个矩阵再相加,得到的图像称为1个xxxx,如果有m个卷积核,就会生成m个xxxx。围棋有11个特征平面:1,2,3,4口气的黑/白子平面,黑/白子平面,劫争标记平面121本来在121页叫特征映射,在153页又叫特征平面了
卷积层这种通过使用n×m个卷积核将n个输入图像映射到m个特征映射的过程,成为一个卷积层121
卷积神经网络由卷积层、稠密层组成的网络称为xxxx121
张量
Conv2DKeras中的卷积层,可以对二维数据进行卷积操作122
Flatten将卷积层的输出展平为向量,然后可以输送到稠密层122
Dense稠密层
Dropout丢弃率,当前层随机丢弃神经元的比率
池化pooling缩减图像尺寸。将每个块,如2×2保留其最大值,原始图像就缩减到1/4,叫最大值池化。求平均值,叫平均值池化。123MaxPolling2D,最大二维池化层。AveragePolling2D
过拟合在训练数据是表现好,但是在测试数据是表现不好127
SGF文件格式智能游戏格式,W[CC]代表CC位置下白子,B[]黑棋略过,HA[0]让0子,KM[3.5]贴目3.5,RU[Japanese]日本规则,SZ[9]9×9棋盘,RE[W+9.5]白胜9.5目136
ZeroPadding2D用填0层人为增大卷积层尺寸(如19×19增大到23×23),避免卷积层操作过小图像149
ModelCheckpoint模型检查点。在每一个训练迭代周期结束之后,存储模型快照,以便从失败中恢复。150

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐鹏V

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值