自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 博客文章导航目录

博客文章导航目录1. 深度学习1.1 自然语言处理简单循环神经网络(Simple RNN)原理与实战长短期记忆网络(LSTM)原理与实战循环神经网络的改进:多层RNN、双向RNN与预训练Sequence-to-Sequence模型原理注意力机制(Attention):Seq2Seq模型的改进自注意力机制(Self-Attention):从Seq2Seq模型到一般RNN模型Attention is all you need:剥离RNN,保留Attention搭建Transformer模型

2021-04-13 20:30:38 969

原创 训练策略网络和价值网络

阿尔法狗2016版本使用人类高手棋谱数据初步训练策略网络,并使用深度强化学习中的REINFORCE算法进一步训练策略网络。策略网络训练好之后,使用策略网络辅助训练价值网络。零狗(AlphaGo Zero)使用MCTS控制两个玩家对弈,用自对弈生成的棋谱数据和胜负关系同时训练策略网络和价值网络。在机巧围棋中,训练策略网络和价值网络的方法原理与零狗基本相同。本文将详细阿尔法狗2016版本和零狗中两个神经网络的训练方法。

2022-02-07 15:01:12 4374

原创 为什么交叉熵常被用作分类问题的损失函数

在深度学习领域,交叉熵(Cross Entropy)常被用作分类问题的损失函数。为知其所以然,本文将详细讲解交叉熵,熵(Entropy),KL散度(Kullback-Leibler Divergence) 的基本概念,并分析常用交叉熵作为分类问题损失函数的原因。

2022-01-25 16:58:01 1776

原创 蒙特卡洛树搜索(MCTS)

阿尔法狗下棋的时候,做决策的不是策略网络和价值网络,而是蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)。本文讲解阿尔法狗2016版本和零狗中的MCTS。

2021-12-08 23:05:06 18130 10

原创 阿尔法狗与机巧围棋的网络结构

阿尔法狗使用策略网络和价值网络辅助蒙特卡洛树搜索,以降低搜索的深度和宽度。机巧围棋落子策略完全基于零狗算法,本文将用强化学习的语言描述围棋游戏的状态和动作,并介绍阿尔法狗和机巧围棋中构造的策略网络和价值网络。

2021-12-02 22:59:12 2479

原创 深度强化学习(DRL)基础

深度强化学习(Deep Reinforcement Learning)是值得深入学习研究且非常有意思的领域,但是其数学原理复杂,远胜于深度学习,且脉络复杂,概念繁杂。强化学习是一个序贯决策过程,它通过智能体(Agent)与环境进行交互收集信息,并试图找到一系列决策规则(即策略)使得系统获得最大的累积奖励,即获得最大价值。环境(Environment)是与智能体交互的对象,可以抽象地理解为交互过程中的规则或机理,在围棋游戏中,游戏规则就是环境。强化学习的数学基础和建模工具是马尔可夫决策过程(Markov De

2021-11-28 23:30:45 7780

原创 深度学习框架(PaddlePaddle)使用教程

机巧围棋使用飞桨(PaddlePaddle) 框架构建并训练阿尔法狗落子策略中的深度神经网络——策略网络和价值网络。本文讲解飞桨框架的基本使用方法:第1部分介绍神经网络的构建;第2部分讲解神经网络训练过程;第3部分介绍模型权重的保存和加载。...

2021-11-22 22:03:18 7087

原创 游戏开发引擎(Pygame)核心方法

Pygame是Python最经典的2D游戏开发第三方库,机巧围棋基于Pygame游戏开发引擎实现围棋游戏运行和交互逻辑,并搭建围棋游戏可视化界面。本文不是Pygame的API文档或教程,但是本文将介绍在机巧围棋中所涉及的Pygame游戏开发引擎相关知识和方法,并详细讲解机巧围棋中基于Pygame实现的按钮控件、信息滚动显示器、音乐播放器等。1. Pygame基本知识1.1 Pygame游戏开发框架Pygame游戏开发框架共包含4个部分:第一部分:引入pygame和sys;第二部分:初始化pyg

2021-11-17 21:40:55 6024

原创 围棋程序逻辑

机巧围棋(CleverGo)在围棋程序内核上采用了aigagror作者开源的GymGo项目,在该项目的基础上进一步封装了一个训练围棋AI的围棋模拟器。本文讲解以GymGo项目中相关方法为背景,讲解围棋程序核心方法及实现逻辑。第1部分讲解棋盘状态表示方法;第2部分讲解围棋终局判定方法;第3部分讲解围棋核心规则方法;第4部分综合第3部分的围棋核心规则方法,讲解下一个棋盘状态的计算方法。1. 棋盘状态表示方法围棋棋盘由纵横各19条线段组成共361个交叉点,每一个交叉点有存在黑子、存在白子或不存在任何棋子共3

2021-11-13 23:45:20 3952

原创 围棋基本知识

围棋使用格状棋盘及黑白二色圆形棋子进行对弈,棋盘上有纵横各19条线段将棋盘分成361个交叉点。在野狐、奕城等各大围棋平台,除19路围棋外,还存在9路和13路围棋用于练习和娱乐。9路围棋即棋盘由纵横各9条线段分成81个交叉点,13路围棋即棋盘由纵横各13条线段分成169个交叉点。围棋以围地多者为胜,被认为是世界上最复杂的棋盘游戏。由于13路和19路围棋复杂度较高,训练相应的围棋AI所需计算资源非常多,所需训练时间非常长,因此机巧围棋主要提供9路围棋一键式训练功能。本文介绍围棋规则及基本行棋知识。1. 围

2021-11-09 21:10:38 6955 3

原创 机巧围棋(CleverGo)项目总览及介绍

1. 项目简介2016年3月,阿尔法狗以4:1战胜围棋世界冠军李世石。自此开始,深度强化学习受到空前的关注并成为AI领域的研究热点,彻底引爆了以深度学习为核心技术的第三次人工智能热潮。机巧围棋利用Python+Pygame+PaddlePaddle基于AlphaGo Zero算法打造了一款点击按钮就能可视化的训练9路围棋人工智能的程序,并搭建了一整套简单易用的围棋AI学习、开发、训练及效果可视化验证框架。机巧围棋项目源码及技术原理文档全部免费开源,真诚期望您能够在GitHub上点个Star支持机巧围棋

2021-11-09 20:52:18 2254

原创 小样本学习(Few-Shot Learning)(三)

1. 前言本文使用飞桨(PaddlePaddle)基于paddle.vision.datasets.Flowers数据集实现小样本图片分类。小样本学习(Few-Shot Learning)(一)讲解了小样本学习问题的基本概念及基本思路,并介绍了使用孪生网络解决小样本学习问题的方法。小样本学习(Few-Shot Learning)(二)讲解了小样本学习问题的Pretraining+Fine Tuning解法。本人全部文章请参见:博客文章导航目录本文归属于:元学习系列2. 预训练神经网络(Pretr

2021-09-05 18:48:38 3429 38

原创 小样本学习(Few-Shot Learning)(二)

1. 前言本文讲解小样本学习问题的Pretraining+Fine Tuning解法。小样本学习(Few-Shot Learning)(一)讲解了小样本学习问题的基本概念及基本思路,并介绍了使用孪生网络解决小样本学习问题的方法。小样本学习(Few-Shot Learning)(三)将使用飞桨(PaddlePaddle)基于Omniglot手写字体数据集实现小样本图片分类。本人全部文章请参见:博客文章导航目录本文归属于:元学习系列2.在小样本学习问题中,测试样本及其类别均不在训练集中,但是小样本

2021-09-01 14:37:04 2230 16

原创 小样本学习(Few-Shot Learning)(一)

1. 前言

2021-08-28 17:48:05 5558 4

原创 Vision Transformer(ViT)

1. 前言本文讲解Transformer模型在计算机视觉领域图片分类问题上的应用——Vision Transformer(ViT)。本人全部文章请参见:博客文章导航目录本文归属于:计算机视觉系列2. Vision Transformer(ViT)Vision Transformer(ViT)是目前图片分类效果最好的模型,超越了最好的卷积神经网络(CNN)。ViT在2020年10月挂在arXiv上,2021年正式发表。在所有的公开数据集上,ViT的表现都超越了最好的ResNet,前提是在足够大的数据

2021-08-22 22:24:51 3657

原创 ResNet

1. 前言本文使用飞桨(PaddlePaddle)复现卷积神经网络ResNet。本文ResNet复现代码比PaddlePaddle官方内置ResNet代码结构更加清晰,建议参考本文中ResNet复现代码了解ResNet模型搭建流程。本人全部文章请参见:博客文章导航目录本文归属于:经典CNN复现系列前文:GoogLeNet2. ResNet模型结构2013年,Lei Jimmy Ba和Rich Caurana分析了深度神经网络,并从理论和实践上证明了更深的卷积神经网络能够达到更高的识别准确率。将

2021-08-20 23:33:38 1672

原创 GoogLeNet

1. 前言本文使用飞桨(PaddlePaddle)复现卷积神经网络GoogLeNet。本人全部文章请参见:博客文章导航目录本文归属于:经典CNN复现系列前文:VGGNet2. GoogLeNet模型结构GoogLeNet是2014年ImageNet比赛的冠军,它的主要特点是网络不仅有深度,还在横向上具有“宽度”。GoogLeNet提出了一种被称为Inception的模块,该模块具有不同尺寸的卷积核,可以使用较大的卷积核提取空间分布范围更广的图像信息的特征,使用较小的卷积核提取空间分布范围较小的图

2021-08-15 21:34:44 720 5

原创 VGGNet

1. 前言本文使用飞桨(PaddlePaddle)复现卷积神经网络VGGNet。本人全部文章请参见:博客文章导航目录本文归属于:经典CNN复现系列前文:AlexNet2. VGGNet模型结构VGGNet是当前最流行的CNN模型之一,由Simonyan和Zisserman在2014年提出,其命名来源于论文作者所在的实验室Visual Geometry Group。VGGNet通过使用一些列大小为3x3的小尺寸卷积核的卷积层和池化层构建深度卷积神经网络,并在深度学习图像分类实践中取得了比较好的效果

2021-08-11 22:17:26 793

原创 AlexNet

1. 前言本文使用飞桨(PaddlePaddle)复现卷积神经网络AlexNet。本人全部文章请参见:博客文章导航目录本文归属于:经典CNN复现系列2. AlexNet模型结构2012年,Alex Krizhevsky等人提出的AlexNet以很大优势获得了ImageNet比赛的冠军。这一成果极大的激发了产业界对神经网络的兴趣,开创了使用深度神经网络解决图像问题的途径。AlexNet包含5层卷积和3层全连接层。除最后一个全连接层外,每个卷积层和全连接层激活函数均为ReLU。同时,AlexNet使

2021-08-08 16:04:23 626

原创 机器翻译——英译中

1. 前言本文使用飞桨(PaddlePaddle)训练机器翻译模型,实现从英文翻译成中文的机器翻译。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:BERT与ERNIE

2021-08-04 16:15:45 3976 4

原创 BERT与ERNIE

1. 前言本文讲解预训练Transformer模型常用的方法:BERT与ERNIE。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:搭建Transformer模型2. BERTBERT(Bidirectional Encoder Representations from Transformers)用于预训练Transformer模型Encoder网络,可以大幅提升Transformer模型的准确率。BERT的核心思想如下:随机遮挡句子中一个或多个单词,让Enco

2021-07-30 22:50:31 2337 2

原创 搭建Transformer模型

1. 前言本文使用Attention层与Self-Attention层搭建深度神经网络——Transformer模型。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:Attention is all you need:剥离RNN,保留Attention2. 多头注意力机制3. 多头自注意力机制...

2021-07-27 12:41:36 1808

原创 Attention is all you need:剥离RNN,保留Attention

本文讲解……。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:自注意力机制(Self-Attention):从Seq2Seq模型到一般RNN模型

2021-07-17 16:22:51 1183

原创 自注意力机制(Self-Attention):从Seq2Seq模型到一般RNN模型

1. 前言本文讲解自注意力机制(Self-Attention)。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:注意力机制(Attention):Seq2Seq模型的改进2. 自注意力机制(Self-Attention)Seq2Seq模型一般有两个RNN网络,一个为Encoder,另一个为Decoder。Attention用于改进Seq2Seq模型,解决RNN遗忘问题。Self-Attention也叫做Intra-Attention,与Attention非常类似。

2021-07-13 21:31:24 1640

原创 注意力机制(Attention):Seq2Seq模型的改进

1. 前言本文讲解Seq2Seq模型改进方法:注意力机制(Attention)。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:Sequence-to-Sequence模型原理2. Seq2Seq模型缺点Seq2Seq模型有一个Encoder(编码器),和Decoder(解码器)。由于输入和输出均为序列数据,在深度学习时间中Encoder和Decoder一般均为结构相同的RNN。Encoder RNN对输入序列进行处理,将输入序列信息压缩到一个向量中。Encoder

2021-07-12 12:35:46 3017

原创 Sequence-to-Sequence模型原理

1. 前言本文讲解Sequence-to-Sequence(Seq2Seq)模型和机器翻译原理。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:循环神经网络的改进:多层RNN、双向RNN与预训练...

2021-07-10 21:16:58 3790 2

原创 循环神经网络的改进:多层RNN、双向RNN与预训练

1. 前言本文讲解循环神经网络(RNN)的改进方法,并使用改进的RNN实现电影评论情感分析。本人全部文章请参见:博客文章导航目录本文归属于:NLP模型原理与应用系列前文:长短期记忆网络(LSTM)原理与实战2. 多层RNN(Stacked RNN)在深度学习领域,可以将许多全连接层堆叠,构成一个多层感知机(Multi-Layer Perception),可以将许多卷积层堆叠,构成一个深度卷积网络。同样的,可以将许多RNN层堆叠,构成一个多层RNN网络。RNN每读取一个新的输入xtx_txt​,

2021-07-06 22:31:37 5715 5

原创 长短期记忆网络(LSTM)原理与实战

1. 前言本文详解LSTM(Long Short Term Memory)原理,并使用飞桨(PaddlePaddle)基于IMDB电影评论数据集实现电影评论情感分析。本人全部文章请参见:博客文章导航目录

2021-07-04 11:01:06 2886

原创 简单循环神经网络(Simple RNN)原理与实战

1. 前言自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向,也是我目前从事的主要方向。本系列文章将详细讲解自然语言处理领域相关模型算法原理,并使用PaddlePaddle框架进行相应项目实战。主要包括:Simple RNN模型、LSTM模型、多层RNN与双向RNN、Seq2Seq模型、注意力机制(Attention)、自注意力机制(Self-Attention)、Attention层与Self-Attention层、Mult

2021-06-27 14:49:34 4600

原创 支持向量机(SVM)详解(三)

1. 前言前文:支持向量机(SVM)详解(一)支持向量机(SVM)详解(二)前面用两篇文章

2021-05-06 14:29:05 1847 7

原创 支持向量机(SVM)详解(二)

对于非线性可分情况,支持向量机通过适当放松限制条件,使得前文所述优化问题变得有解。同时,支持向量机通过将特征空间由低维映射到高维,提升特征空间被线性可分的概率,从而提升非线性可分情况下的分类效果。

2021-04-25 20:55:12 3961 9

原创 Alpha-Beta剪枝算法原理

1. 前言前文:极小化极大(Minimax)算法原理极小化极大算法在完全信息零和博弈中,基于己方努力使得在N步后优势最大化(即评估函数输出值最大化)和对方努力使得N步后己方优势最小化这两个出发点,构建决策树。在决策树上通过这两个出发点的内在逻辑进行搜索,最后给出行动策略。显然,极小化极大算法需要展开整个决策树,对于局面复杂的问题,其搜索空间将会非常大。同时,我们可以清晰地看到有部分节点是否被搜索不会影响最后的结果,因此,无需展开此类节点以及计算此类节点的子节点的估值。通过上述方法,可节省算法的搜索

2021-04-19 11:39:46 18850

原创 极小化极大(Minimax)算法原理

1. 前言极小化极大算法是基于决策树和搜索的智能系统中的典型算法,可用于指导井字棋、黑白棋、五子棋等经典完全信息零和博弈。虽在学生时代学习过极小化极大算法,但时过境迁,思量该算法的来龙去脉已然如雾里探花水中望月。近来自学人工智能算法,恰好又一次接触到了该算法,也算与其有缘,理应将其悉数记下。下文将以井字棋为例详细说明该算法原理。2. 博弈树2.1 井字棋井字棋(Tic-Tac-Toe)是由两个玩家轮流在3X3的格子上标记自己符号(圈或者叉)的游戏,最先以横、直、斜连成一线则获胜,如下图所示。2.

2021-04-18 19:12:17 24762 2

原创 支持向量机(SVM)详解(一)

支持向量机(SVM)详解

2021-04-15 14:16:43 2712 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除