而在所有参赛队伍中,WeKick的得分高达1785.8分,占据绝对优势地位,就像96年的公牛、02年的巴西一样,势不可挡!
不可置信?再给你看下精彩集锦!
快、准、直!一记完美的长传后,直射球门!
连续突破重围,轻松传球 4 次。
有些人可能不以为然,觉得之前绝悟在王者荣耀的表现,用去踢足球,也是很简单的。
其实不然,首先王者荣耀是一个5V5的游戏,而足球是一个11v11的运动,就是说AI需要控制的智能体(球员)个数多了一倍以上,其次足球赛虽也属于即时策略型游戏,但也需要AI具备长线思考、快速决策、处理复杂环境的能力。AI需要考虑到每个球员的速度、加速度、射门、头球、传球、防守等各种指数,同时还需要操控球员之间进行频繁的相互配合,也需要时刻观察对手球员的行为,防范于未然,做出最好的选择!
针对这些不同的情况,WeKick团队发挥想象,主要运用了以下三个创新进行针对性的模型训练。
Self-Play强化学习框架
WeKick团队采用Self-Play(自博弈)强化学习来从零开始训练模型,并以此部署到异步分布式的强化学习框架中。异步架构牺牲了一部分训练的实时性能,但是相应的,得到了更高的灵活性,同时可以支持在训练过程中按实际需要调整整个计算资源,使其能快速完美的适应智能体人数更多的足球游戏训练环境。
GAIL生成对抗模拟学习
王者荣耀是一款对抗类的MOBA游戏,其最终目的和足球游戏迥然不同,WeKick团队采用了GAIL(生成对抗模拟学习)与人工设计的奖励结合的方式,在特征与奖励设计上进行了扩展和创新。
运用这个方案,WeKick可以从其它球队学习,拟合专家行为的状态和动作分布,再将GAIL训练的模型作为固定对手进行进一步Self-Play训练,进一步提升策略的稳健性。
League多风格强化学习
上述的Self-Play强化学习方案,有一个尚未解决的缺憾,就是通过这个方案得到的模型很容易形成单一的风格。用足球比赛的说法就是打法一成不变,很容易被针对或遇上天生克制的阵型就不知所措。为了解决这个问题,WeKick团队采用了针对多智能体学习任务的 League(若干策略池)多风格强化学习训练方案,提升策略的多样性。
这种League多风格强化学习训练方案的主要流程,用一句话解释就是 由简入繁!
-
首先训练某一方面的基础模型,例如过人、盘带、传球、射门等。
-
根据基础模型训练出多个风格化模型,每个模型专注一种风格打法,训练过程中加入主模型作为训练对手,避免训练效果死板不变通。
-
再基于多个基础模型训练一个主模型,主模型可以将自己的历史版本作为训练对手,还可以加入所有风格化的模型作为不同的训练对商铺,使主模型遇上任何对手都有解决方案。
根据其内部能力评分系统显示,这种算法下的主模型,可以在基础模型的基础上提高200分,比最强的风格化打法高80分!
总结:绘上一张Kakfa架构思维大纲脑图(xmind)
其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?
若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理
梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。
-
Kafka入门
-
为什么选择Kafka
-
Kafka的安装、管理和配置
-
Kafka的集群
-
第一个Kafka程序
-
Kafka的生产者
-
Kafka的消费者
-
深入理解Kafka
-
可靠的数据传递
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
[外链图片转存中…(img-s4uSPJxB-1720106156463)]
[外链图片转存中…(img-3EXqw2dR-1720106156464)]