如何写一个游戏AI(四)如何使用卷积神经网络训练一个斗地主AI
经过3个星期得努力,终于初步达成效果,由于训练数据少(因为我在公司使用的电脑只能使用CPU训练,所以数据不能太多,否则就要很长时间)训练出了个傻子。之后我便没有在继续这个工作了。原因有二:1.我身后的同事和我一起再搞,他的进度比我快多了,而且也拿到了AI训练的机器的使用权。2.的确我也是来了新的需求。所以AI工作先告一段落。
下面分享训练AI的思路。至于代码,就不能分享了。因为是工程代码。
1.准备数据
经过前面几篇关于使用卷积神经网络的blog,已经说明了为什么要准备数据。因为我现在的公司拥有大量的牌局数据,所以对我来说这个也不是什么问题。如果没有数据的话,就难搞了。
2.重中之重,设计输入输出
卷积神经网络比较有名的应用,就是图像识别,也适合做图像识别。那我们拿到斗地主的牌局数据又有什么用呢?其实只要打开了思维,把牌局数据转化成矩阵,输入到设计的模型里,再规定输出即可。
而训练出来最终的模型是这样的,给定你设计的输入,AI会告诉你输出的牌型概率。比如,你给定了你的手牌作为输入,然后AI模型会给出概率出什么牌。至于概率对应的出牌,也是你设计的输出。下面给出一张图,可以作为思路参考。至于怎么做,怎么设计,还是在于自己。
这篇文章的地址为:https://gameinstitute.qq.com/course/detail/10132#,腾讯大牛的文章。
至于输出,我觉得都是要枚举出所有的出牌情况,把输出对应好,最后使用模型时看概率出什么牌。
最后,学会使用卷积神经网络去训练一个AI,按照应用来说,其实是不算难的,难点在于设计模型。
如何写一个游戏AI(四)如何使用卷积神经网络训练一个斗地主AI相关推荐
- 如何写一个游戏AI(二)卷积神经网络是什么,怎么使用?
开始接触卷积神经网络已经有快三个星期了.觉得还是有一些概念,要刚开始知道会比较容易理解这个东西. 1.什么是卷积神经网络 其实这个东西应该是这样读的,卷积 神经网络.卷积是用来提取特征 ...
- 吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究
吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究 吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究 2.1 为什么要进行实例探究 2.2 经典网络 LeNet-5 AlexNet VGG- ...
- 特斯拉AI主管Andrej Karpathy的神经网络训练指导
Andrej Karpathy是目前全球顶尖的计算机视觉专家,博士毕业于斯坦福,现就任于特斯拉,担任AI部门主管.在他2019年4月发布的最新博文中,他跟大家分享了他关于训练神经网络的一些心得.本篇就 ...
- 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(十四)(卷积神经网络))
[神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(十四)(卷积神经网络)) 14 卷积神经网络 14.1 深度学习基础 14.1.1 深度学习的基本思想 14.1.2 深度学习三 ...
- 1.8 简单卷积网络示例-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 1.7 单层卷积网络 回到目录 1.9 池化层 简单卷积网络示例 (A Simple Convolution Network Example) 上节课,我们讲了如何为卷积网络 ...
- 1.7 单层卷积网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 1.6 三维卷积 回到目录 1.8 简单卷积网络示例 单层卷积网络 (One Layer of a Convolutional Network) 今天我们要讲的是如何构建卷积 ...
- 0.0 目录-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- 【零基础深度学习教程第四课:卷积神经网络 (上)】
[零基础深度学习教程第四课:卷积神经网络 (上)] 一.边缘检测与卷积运算 1.1 案例分析 1.2 卷积运算 1.2.1 概述 1.2.2 具体说明 1.3 原理解读 二.卷积运算参数 2.1 几个 ...
最新文章
- GIS开发随笔(2)——关于建立GIS数据库的几个问题
- Stream 和Byte[] 之间的转换
- 为什么一般不将'在制品转出科目'设为初级成本要素
- 查看当前服务器中的所有的topic,创建topic,删除topic,通过shell命令发送消息,通过shell消费消息,查看topic详情,对分区数进行修改
- python代码自动格式化_代码的自动格式化
- 1061 判断题(PAT乙级 C++)
- linux安装lrzsz,并使用rz sz 命令
- 配置Struts2的异常处理
- oracle 10g rac 包root.sh报错,案例:Oracle Rac root.sh报错 Failed to create keys in the OLR
- caffe学习笔记教程
- web架构设计经验分享(转)
- Lucene6.5.0 下中文分词IKAnalyzer编译和使用
- java取html中的table_htmlunit 操作table表格(一)
- C语言学生宿舍水电费信息管理系统
- clcl.bz index.php,BZPHP
- Vue+element图片上传
- 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
- android 手绘地图,发现一款新App:「Pott」能一键制作你的手绘足迹地图,爱旅行的你别错过...
- yum源配置 小白专属
- Linux内核5.10编译 与调试
热门文章
- CentOS7 安装/使用 OneDrive
- Exhaustive Serch ( Aizu - ALDS1_5_A )
- DA14531_dsps工程固件详解
- 利用python os模块批量修改文件名称
- matlab仿真电缆,一种井下电缆绝缘在线监测方法及matlab/simulink仿真
- rockbox eq_使用Rockbox升级旧iPod
- 用 Python 制作GUI钢琴~几行代码就能完成一个游戏项目
- 什么是CN2线路?RAKsmart CN2服务器怎么样?
- 与软交会同行 2018中国软件生态大会大连站精彩绽放
- 联想手机html5,联想手机:良心不仅仅是高性价比