上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年人工智能和大数据系统在电子竞技数据处理平台中的应用.pdf

编号:97424 PDF 39页 42.92MB 下载积分:VIP专享
下载报告请您先登录!

2019年人工智能和大数据系统在电子竞技数据处理平台中的应用.pdf

1、Agenda不再是小孩子的游戏-电子竞技的发展和IT技术的助力电子竞技和传统竞技体育的区别Distributed System for Esports-分布式数据处理Big Data for Esports-海量数据存储AI for Esports-基于OCR与机器学习的数据识别和挖掘电竞发展支撑数据与案例(参考)2015年:移动电竞用户(中国)1.96亿2016年9月:LOL全球月活1亿2016年LPL全年观赛累计人次50亿腾讯电竞:2017年全球电竞用户3.35亿2018年5月7日电竞项目入选亚运会不再是小孩子的游戏电子竞技的发展和IT技术的助力不再是小孩子的游戏电子竞技的发展和IT技术的

2、助力2008 2016电竞2.0直播平台RTS-MOBA/FPS,职业化2017 现在电竞3.0观赏性专业性、数据驱动1998 2007电竞1.0蛮荒对战平台,赛事,俱乐部不再是小孩子的游戏电子竞技的发展和IT技术的助力赛前分析赛中局势赛后总结选手能力筛选玩家状态分析比赛复盘不再是小孩子的游戏电子竞技的发展和IT技术的助力灵活相对于传统体育,电子竞技的数据可以有更快、更方便的获取方式,减少了人工,能支持更多自动化。丰富电子竞技是依托于游戏的,而游戏内的发生的各种事件,都是可以被详细记录,时间维度可以精确到秒。数据体量电竞数据的量级与竞技体育相比也不可同日而语。电子竞技和传统竞技体育的区别电子竞

3、技和传统竞技体育的区别电竞数据的采集方式开发接口开发接口1.Steam 官方提供DOTA22.蓝洞官方PUBG接口开发接口厂商对接1.游戏厂商自己选择和第三方数据商做合作2.上报数据,第三方消费处理并提供公开接口OCR识别1.录像/直播画面的截取2.数据与事件识别逆向工程1.基于客户端请求协议2.基于本地的元数据文件3.基于客户端代码电子竞技和传统竞技体育的区别电竞数据的量级每局游戏的数据都可以记录与分析与传统竞技体育不同,游戏数据是通过游戏服务器产生的,天生存在数据收集的优势,每局游戏的数据都可以被存储、分析,当打游戏的人越来越多时,产生的数据量级是相当可观的,在我们的实践中,Dota2 每

4、天有接近100万场左右,而自走棋每天也有接近50万场左右的数据单局游戏数据的丰富性游戏中的每个细节都会被记录,比如选手在游戏中的走位、操作、技能释放等,我们可以解析出关心的各种数据点,来分析各个维度下选手及整个团队的表现数据处理的量级和一般的数据处理的场景相比,电竞游戏数据中的处理会需要处理多维数据,比如玩家维度、团队维度、英雄维度、道具维度、阵容维度等,每个维度下需要统计伤害、团战、走位、出装、以及游戏策略等Distributed System for Esports 分布式数据处理01Big Data for Esports海量数据存储02AI for Esports基于OCR与机器学习的

5、数据识别和挖掘03FunData大数据系统ETL层接口层(缓存层)数据处理层存储层通用FunData大数据系统架构FunData大数据系统:ETL层FunData ETL范式FunData ETL(DOTA2)FunData大数据系统:ETL层全球链路高可用灰度基于Kubernetes的弹性API系统架构FunData大数据系统:接口层(缓存层)基于Serverless框架的数据处理和计算镜像预热:根据访问量和节点负载扩容镜像淘汰:LRU以及镜像功能被删除时资源隔离:基于Docker以及Docker所使用的cgroup节点调度:准实时负载以及再调度动态路由:动态生成RESTful APIFun

6、Data大数据系统:数据处理层新旧数据处理架构对比提高资源利用率:在线业务的访问低谷期间的资源利用,临时性资源的申请资源的虚拟化:使用者不必关心系统中的资源数量,只需要专注于功能逻辑的实现提供大量耗时的计算能力FunData大数据系统:数据处理层基于Serverless框架的数据处理和提取游戏数据量随时间存在突刺,热门时间(大赛/节假日)比赛数量激增,原来基于VM的方式处理数据会导致大量数据处理任务堆积,系统压力飙升,部分处理任务超时,不得不人工接入进行扩容。改为Serverless架构,收到新的数据后,由Serverless调度器随机分配一个Worker启动对应的算法容器进行数据处理与提取H

7、adoop(数据批处理)vs Flink(数据流处理)时间成本数据维度数据及时性举例:DOTA2单局比赛个人数据处理FunData大数据系统:数据处理层AI for Esports基于OCR与机器学习的数据识别和挖掘03Big Data for Esports海量数据存储02Distributed System for Esports 分布式数据处理01FunData 海量数据存储原始数据 vs 热数据 vs 冷数据的不同存储方案分析数据通过大数据处理之后得到的数据,也是用户需要及时能访问到的,一般也会使Bigtable/HBase 来存储过期数据的处理游戏数据在经历一段时间之后,老的数据基本

8、不会再被访问,根据实际的业务需求,可以考虑将数据迁移到成本更低的存储,比如将数据从基于SSD 的 Bigtable/HBase 迁移到机械硬盘的机器上,或者是直接只维护一定时间内的数据,过期的则直接删除FunData数据场景-原始数据过滤与分层原始数据,跑批对账基础数据,量级小,访问频繁单局详情数据,量级大,访问低频实际的数据量级PUBG 数据量:1T+Dota2 数据量:10T+DAC 自走棋数据量:10T+MySQL vs HBase vs BigTable vs Firestore vs MongoDB容量(最大能支持的容量)性能(读、写)扩容(是否能扩展、扩展操作是否简单)价格必有一款

9、适合你举例:Dota2 GCP 上直接 使用 PubSub,使用方便(各种SDK,且与GCP上服务集成的很好),前面提到的几点也能满足队列的选型容量吞吐量价格稳定性FunData 海量数据存储:消息队列GoogleGCP 上使用 Apache Beam,对各种计算框架进行了封装,抽象了计算过程,与 GCP 上DataFlow集成得很好,也能跑在 Flink/Spark 等计算框架上阿里云阿里云上使用 Apache Flink,Flink 属于比较新颖的流式处理框架,能满足以上提的需求,不使用 Apache Beam 的主要原因 阿里云 EMR 集群里的 Hadoop 组件较老,需要做兼容的地方

10、太多,太麻烦FunData 海量数据存储:流处理框架流处理框架的选型使用方便满足业务需要能跟上流处理的趋势https:/ for Esports基于OCR与机器学习的数据识别和挖掘03Big Data for Esports海量数据存储02Distributed System for Esports 分布式数据处理01基于OCR的电竞数据挖掘DOTA2与LOL的直播图像识别训练数据半自动打标使用 K-means 将相似的样本聚类到一个组,再由人工检查、修复,批量打标,可以快速获得准确性很高的样本集基于OCR的电竞数据挖掘:训练数据的生成基于OCR的电竞数据挖掘:训练数据的预处理从直播画面中获取

11、的,同一个装备的多个样本,相似度太高,很容易导致训练时过拟合在训练前的预处理阶段,对原样本进行裁剪、斜切、转换等图片预处理,生成大量保留特征的差异化样本,可以显著地提升迭代次数和防止过拟合原样本预处理样本1预处理样本2基于OCR的电竞数据挖掘:截屏图像反走样Q:截取的图片识别不出数据,肉眼看不出的走样?A1:常用的是采用SSAAA2:我们采用的是MSAA基于机器学习的胜率预测举例:基于机器学习的DOTA2胜率预测问题背景:基于双方英雄选择的结果预测,主要目的是基于双方的英雄选择,给出一个合理的双方阵容胜率对比。预测模型的效果主要取决与两方面:特征的选择和处理以及模型的选择。模型选择还应考虑版本

12、变化对预测效果带来的影响。深度学习的特点优点高效率处理大批量数据时速度快,不需要人工地去干涉,不依赖传统分析手法中的feature design普适性做出深度学习的model很容易移动到另一个项目上缺点可塑性model有很多现成的building block不能直接学习知识,难以理解“黑盒问题”训练成本需要非常多的训练数据基于机器学习的胜率预测:特征提取特征提取基于机器学习的胜率预测:英雄ID的特征处理One-hot-encodingEmbedding独热编码与Embedding层One-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可

13、以将该特征抽象成N种不同的状态,One-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。嵌入层是将英雄转化为一个一定维度的向量来表示,并且嵌入层内的数据可以随着模型调整的。在我们的项目里,我们将每个英雄转化为一随机的125维的向量,并且该向量会随着模型的训练不断的学习更新。作为一个玩家,我们平时是怎么判断阵容的优势?基于机器学习的胜率预测:加速训练英雄之间的相性=比如:艾欧(精灵)与矮人直升机(飞机)英雄之间的克性比如:斧王克制黛泽、冰魂克制哈斯卡基于机器学习的胜率预测:英雄克制关系及匹配度英雄克制关系与匹配度匹配度comb

14、o=combo_rateh1h2-(k*(win_rateh1+win_rateh2)-b)克制关系against=k*(win_rateh1-win_rateh2)+b模型选择基于机器学习的胜率预测:模型选择With Advantage Layer vs W/O Advantage Layer0.5800.5630.5450.5280.5101.02.03.04.05.0w/o Hero Rating Trainw/o Hero Rating TestEpochAccuracyw/Hero Rating Trainw/Hero Rating Test基于机器学习的胜率预测:训练结果(英雄克制

15、)With LSTM0.6100.5900.5700.5600.5501.02.03.04.05.0w/o LSTM trainw/o LSTM testEpochAccuracyLSTM trainLSTM test0.5800.600基于机器学习的胜率预测:训练结果(LSTM)Accuracy vs Training Data Time Range with LSTM0.6100.5930.5750.5580.5401.02.03.04.06.0w/o LSTM trainw/o LSTM testWeeks of DataAccuracyLSTM trainLSTM test5.0基于机

16、器学习的胜率预测:训练结果(LSTM)initializer=keras.initializers.glorot_normal()hero_1_=Input(shape=(1,),dtype=int32,name=hero_1)hero_2_=Input(shape=(1,),dtype=int32,name=hero_2)hero_3_=Input(shape=(1,),dtype=int32,name=hero_3)hero_4_=Input(shape=(1,),dtype=int32,name=hero_4)hero_5_=Input(shape=(1,),dtype=int32,na

17、me=hero_5)hero_6_=Input(shape=(1,),dtype=int32,name=hero_6)hero_7_=Input(shape=(1,),dtype=int32,name=hero_7)hero_8_=Input(shape=(1,),dtype=int32,name=hero_8)hero_9_=Input(shape=(1,),dtype=int32,name=hero_9)hero_10_=Input(shape=(1,),dtype=int32,name=hero_10)emb=Embedding(input_dim=125,output_dim=16,i

18、nput_length=1)emb_h1=emb(hero_1_)emb_h2=emb(hero_2_)emb_h3=emb(hero_3_)emb_h4=emb(hero_4_)emb_h5=emb(hero_5_)emb_h6=emb(hero_6_)emb_h7=emb(hero_7_)emb_h8=emb(hero_8_)emb_h9=emb(hero_9_)emb_h10=emb(hero_10_)lstm_heroes=LSTM(16,input_shape=(1,16)emb_lstm_1=lstm_heroes(emb_h1)emb_lstm_2=lstm_heroes(emb

19、_h2)emb_lstm_3=lstm_heroes(emb_h3)emb_lstm_4=lstm_heroes(emb_h4)emb_lstm_5=lstm_heroes(emb_h5)emb_lstm_6=lstm_heroes(emb_h6)emb_lstm_7=lstm_heroes(emb_h7)emb_lstm_8=lstm_heroes(emb_h8)emb_lstm_9=lstm_heroes(emb_h9)emb_lstm_10=lstm_heroes(emb_h10)team_1=Add()(emb_lstm_1,emb_lstm_2,emb_lstm_3,emb_lstm

20、_4,emb_lstm_5)team_1_ffnn=Dense(32,activation=tanh,kernel_initializer=initializer)(team_1)team_2=Add()(emb_lstm_6,emb_lstm_7,emb_lstm_8,emb_lstm_9,emb_lstm_10)team_2_ffnn=Dense(32,activation=tanh,kernel_initializer=initializer)(team_2)merged=Add()(team_1_ffnn,team_2_ffnn)layer_1=Dense(16,activation=

21、tanh,kernel_initializer=initializer)(merged)output=Dense(1,activation=sigmoid)(layer_1)Model_T=Model(inputs=hero_1_,hero_2_,hero_3_,hero_4_,hero_5_,hero_6_,hero_7_,hero_8_,hero_9_,hero_10_,outputs=output)batch_size=64Model_T.compile(loss=binary_crossentropy,optimizer=adam,metrics=accuracy)Model_Hist

22、ory=Model_T.fit(Hero_1_Tr,Hero_2_Tr,Hero_3_Tr,Hero_4_Tr,Hero_5_Tr,Hero_6_Tr,Hero_7_Tr,Hero_8_Tr,Hero_9_Tr,Hero_10_Tr,Train_L,epochs=5,verbose=1,batch_size=Batch_Size,validation_data=(Hero_1_Ts,Hero_2_Ts,Hero_3_Ts,Hero_4_Ts,Hero_5_Ts,Hero_6_Ts,Hero_7_Ts,Hero_8_Ts,Hero_9_Ts,Hero_10_Ts,Test_L)基于机器学习的胜率预测:代码示例Thank you!杭州威佩网络科技有限公司

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年人工智能和大数据系统在电子竞技数据处理平台中的应用.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部