数据分析在足球领域是怎么运用的呢的?(图)
最近,我看到日本有几个人一直在研究足球比赛的人工智能。由于大数据在足球领域得到了广泛的应用,他们最近利用当前的跟踪数据来学习替换原来的基于规则的代理。你不妨按照时间线来看看他们做了什么,他们为足球比赛环境做了哪些特别的设置。
# 2011:“可信的团队行为:走向行为捕捉人工智能用于足球比赛”
# 2014:“为游戏和模拟创建可信且有效的 AI 代理:评论和案例”
# 2019:“以人的方式传球:从时空数据中学习足球比赛模式”
#2020:“在足球比赛中从人类数据中学习可信的球员运动模式”
2011 年:可信的团队行为:面向足球比赛的行为捕捉 AI
会津大学和 TruSoft 的作者 Maxim Mozgovoy 和 Iskander Umarov。
首先看一下他对可信的定义,“可信的智能体具有类人的特征,例如学习能力、表达怀疑(通过延迟决策)、犯错误以及根据对手的行为调整自己的策略。” 这意味着它应该是基于深度学习、机器学习和强化学习的现有 AI 的特征描述。
在足球这样的比赛中,整个球队都需要表现出自己的“团队风范”,这也是经纪人需要做的。
本文使用的环境:
这篇论文的核心是借助 BC(监督学习)从数据中学习人类模式,所以一部分是学习,另一部分是执行。在本文的足球模拟器中,单个球员的动作被限制在八个可能的方向上,传球和踢球到球门线。
2. 如何执行动作?有几种情况需要考虑。
1) 控制持球的球员。BC 代理只与当前拥有球权的球员相关联。当球移动到另一名球员时,BC 代理将控制它。所有其他参与者都由默认(基于规则的)人工智能系统控制。
2) 控制整个团队。存储在知识库中的原子动作应该包含每个参与者的所有动作。
3) 控制所有持球球员。BC 代理分别控制场上的每个球员。
第一种情况方便,可以使用“带球球员”来检验BC方法在足球中的适用性,避免了与团队行为相关的复杂性。
第二种情况在本文中被认为是不合适的,因为它使用基于情境的推理子系统来尝试找到当前游戏的最佳匹配并做出决策。以团队为代理,决策空间太大。并且在处理少一张(红牌)的情况时也需要特别考虑。
本文认为最重要的实验是第三种情况。
3. 知识(状态)表示
这是粗略的翻译
状态和动作存储在数据结构 GameSituation 和 Action 中。GameSituation 结构存储了开发者选择的最重要的足球场属性的值。游戏状态基于特定的 BC Agent,因此 BC Agent 最重要的属性存储得更精确,而其他属性(如远处玩家的位置)则表示为粗略估计甚至省略。每个动作对象都存储了执行相应游戏动作所需的参数。每个“动作”指的是单个足球运动员的活动。
当遇到新情况时,代理会记住传入的(GameSituation,Action)对并在后续记录之间创建链接,形成包含动作链的有向模式知识库。
每个动作链对应一个特定的游戏会话。除了核心动作参数之外,每个动作对象还包含一个使用计数器,每次相同的 (GameSituation, Action) 对到达输入时,该计数器就会递增。然后,此计数器用于加权操作选择(在可能的情况下,更频繁地选择更频繁的操作)。
决策机制比学习子系统更复杂,因为它包含一个额外的启发式搜索程序。理想情况下,当代理从游戏引擎接收到下一个 GameSituation 对象时,它应该从知识库中提取相同的 GameSituation。然而,为了获得可靠的决定,不能假设这个搜索总是成功的。因此,天真的人应该能够从知识库中提取最接近(如果不是完美的话)的匹配,并根据找到的 (GameSituation, Action) 对采取行动。
在该系统中,近似匹配是通过一系列具有顺序宽松搜索条件的知识库投票测验来实现的。有两种类型的放宽: (a) 从比较中排除某些开发者指定的 GameState 属性;(b) 进行近似比较(如果属性的差异小于某个开发人员指定的值,则认为属性相等)。
4. 行动筛选子系统和计划筛选
也粗略翻译一下,这里过滤器的意思是用规则过滤掉不合理的行为。
基于情境的推理模块在决策过程中检索到的相关动作被动作过滤系统进一步缩小。动作过滤器通过为代理提供有关游戏基础的简单提示来提高决策质量。单个动作过滤器分析动作选择子系统提取的所有动作,并拒绝动作(标记为不可接受)或降低其权重(如果它不符合某些预编程标准)。
例如,基于情境的推理系统可能认为当前的游戏情况 GS1 与知识库中的游戏情况 GS2 相似,例如,在 GS2 中成功执行的“传球”动作在 GS1 中执行可能有风险(即失败)。尽管比赛情况之间的差异可能很小,但它们对于给定的传球动作可能是至关重要的:一名防守者的微小坐标变化可能会使传球容易被拦截。因此对于足球比赛,本文决定开发一种特殊的规划器过滤器,将基本规划功能引入系统(基于规则)。相比之下,足球需要一些预先计划并了解所选行动的可能结果。
计划过滤器的工作原理如下。首先,它构造一个博弈状态GSnew,表示当前分析动作A的可能结果。换句话说,它试图猜测执行动作A之后的比赛场地的情况。由于A包含所有关于预期动作的信息BC代理,系统可以预测代理属性的变化;而对手和球的新位置是使用他们当前的速度和方向推断出来的。然后过滤器检查基于情境的推理子系统是否可以提取 GSnew 的动作。如果所有这些动作都被动作过滤子系统拒绝,则认为预测的游戏情况 GSnew 是不利的,规划控制器可以降低 A 的权重。(实际上,这是 RL 中基于模型的思想)
由于存储在知识库中的博弈图包含智能体未来的动作序列,规划过滤器可以使用这些信息来预测智能体整个动作链之后可能发生的博弈情况。在实际实验中,规划者的视野(即前向规划长度)受限于某个基于时间的值(通常为 2-3 秒)。
5. 实验
1)首先,确定了16个参数来描述单个玩家(代理)的状态。其中最重要的是:
玩家的位置(坐标);
“Advance Danger”值,表示在向对方球门的下一步移动中丢球的概率;
与对手最近的球员的方向和距离;
玩家当前的移动方向;
球状态(空气/球员拥有);
持球球员的位置。
这组参数构成了所谓的 GameSituation 数据结构。第一个实验只控制运球球员,旨在展示系统踢足球的能力。控制球的人类专家玩了 8,000 帧游戏时间(约 400 秒)。然后在 2000、4000、6000 和 8000 帧人类提供的数据样本上训练两个不同的 BC 代理(BC1 和 BC2))。然后,使用三个指标来比较 BC1 和 BC2 控制的代理的性能:
每2000帧比赛的平均进球数;
每2000帧比赛被对方拦截的平均传球次数;
每 2000 帧比赛中拥有球队球的球员的平均百分比。
其余的队员,以及对手的队员,都由一个简单的基于规则的人工智能系统控制。结果(见下图)表明,BC 代理可以很好地再现人类生成的行为模式。
2)下一个目标是独立独立地控制所有代理,以获得可信的团队行为。可能要检查的最重要指标是算法的稳健性,即算法在不断变化的条件下重现团队行为模式的能力。
实验如下进行。五位独立的人类专家通过网络界面控制各自的足球队球员。每台计算机都运行同一个足球模拟器的本地副本,并且游戏在本地网络上同步。玩了几场比赛(每场 5-10 分钟),然后分析 BC 特工的团队行为。(这样的实验在技术上有些困难:即使是人类专家也需要一些预训练才能有效地作为一个团队工作。他们还需要在战术上达成一些初步协议,并在各种游戏场景中使用精心设计的配合。)
实验结果是独立控制的 BC 代理团队可以复制人类专家相对复杂的协调。其中,每个agent的GameSituation包含了持球球员的位置。如果一队 BC 特工正在进攻,则该队拥有球权,因此所有 BC 特工与持球球员同步。
可以由 BC 特工团队(玩家 P1-P5,见下图)复制的最复杂的队友之一,包括以下过程:
1. P5 拦截 O5 并拿到球。
2. P5 将球传给P4 以避免O5 的铲球。
3. P4传球防守P2,完全避免了被O5解围的危险
4. P2 冲刺,然后将球传给 P3。与此同时,P4向场地中央移动,P5向对方球门跑去。
5. P3 将球还给 P2。
6. 此时足球的数据分析,O5 不再对 P4 构成威胁,因此 P2 将球传给 P4。
7. P4 迅速将球传送到更远的 P5。
8. P5 目标。
可以看出,球队要进球需要付出很大的努力,包括严格同步的动作。
一句话总结,就是利用专家的示例数据,让agent学习专家的打法,变得更人性化。我觉得这样做主要是由于大量的工程工作和编写具有大量特定领域知识的内容,例如过滤器,以及状态和动作的定义,必须手动预先设置。有更好的效果。
2014 年:“为游戏和模拟创建可信且有效的 AI 代理:评论和案例”
作者 Iskander Umarov 和 Maxim Mozgovoy 来自 TruSoft 和日本会津大学。
2019 年:“通过人类风格:从时空数据中学习足球比赛模式”
作者 Victor Khaustov、Georgii Mola Bogdan 和 Maxim Mozgovoy,来自日本会津大学“Active Knowledge Engineering Lab”,发表在 2019 IEEE Conference on Games (CoG) 上,其实内容很少,简单介绍一下总结要点。
基于本文构建的游戏环境是《Programming Game AI by Example》一书中的经典案例——SimpleSoccer(2D足球环境)。
本文主要是从过去真实游戏的轨迹数据中学习传球行为,让学习到的agent可能更接近人类,所以玩游戏时的体验可能会更好。
一个难点是跟踪数据集的范围有限,其中射门、传球等各种行为可能相对稀疏,一个球队一个赛季只能参加几十场比赛。所以如果你打算学习特定团队的行为模式,你将不得不依赖小数据样本,尤其是在处理相对罕见的游戏事件时。为了学习传球行为,你可以期望一支职业球队平均每场比赛传球 365-370 次。
在此考虑下,借鉴了前人工作中采用的基于案例推理决策与人类行为类马尔可夫链数据库相结合的学习框架,即用图表示agent的知识,每个游戏情况用图表表示。作为顶点,使用动作作为加权边(实际上是马尔可夫决策过程 MDP)。代理可以通过一个动作从状态 A 变为状态 B。决策算法试图找到最适合当前游戏情况的匹配,并据此做出决策。
所以核心其实就在于这篇文章如何建模所谓的agent的状态,也就是游戏情况?
为了学习传递行为,我们将代理的每个状态表示为以下属性的集合:
• 球员和球(传球者)在18x10 网格中的坐标。
• “前向威胁”启发式估计,范围从 0 到 5(取决于前向最近对手的距离)。
• 过路人的当前运动方向(支持8 个方向)。
• 最近对手的方向(0-7)(从传球者的角度来看)。
• 到最近对手的距离(从传球者的角度来看),范围为 0 到 2。
• “最安全的传球威胁”启发式估计,范围为 0 到 5(取决于队友和对手的位置)。
• “最安全的前向传球威胁”启发式估计,范围为 0 到 5。
• 布尔属性,表明至少找到一个安全通道(威胁估计为 0-2)。
本文要学习的每一个动作都是一个传球动作,其内容其实就是传球方和接球方的坐标。
在决策过程中,系统会尝试找到这些属性的完美匹配,如果找到,则传球。如果没有找到动作或者它们在给定的上下文中不适用(传递者和接收者的实际坐标与数据结构中的值存在显着差异,即不是传递场景),则内置 AI 将用来控制代理。
实验部分,数据集是STATS之前打开的Soccer Dataset(不过现在好像找不到了),其内容是欧洲上千场足球比赛的真实追踪数据(即所有每个球的球员和球的二维坐标)。
实验内容:使用AI对战测试的通过数据,对比真实数据中的通过数据。
这两个表分别是长度和方向的分布。
在实验 2 中,使用通过距离和通过方向作为向量来比较平均余弦相似度。请参见下表。
可以看出,原来的AI在经过的距离上看起来不像人,但是在经过的方向上却是相当接近了。关于表 3,问题是,为什么余弦相似度不是对称的?
这篇文章就结束了。跑来发文章前感觉自己做的还不够?
2020:“从足球比赛中的人类数据中学习可信的球员运动模式”
作者 Victor Khaustov,Maxim Mozgovoy足球的数据分析,来自日本会津大学的“Active Knowledge Engineering Lab”,发表在 ICACT2020 上,对我来说不是一个知名的会议。
-
数据分析在足球领域是怎么运用的呢的?(图)
2022-07-10 -
如果故事能杀人,那我的句子救赎无数。
2022-06-21 -
中国足球协会官方数据服务商同道伟业走进中国大学校园(高清组图)
2022-06-21 -
【足球数据核芯】颠覆足球,给你前所未有的数据足球体验!
2022-05-10 -
编者注:近些年,关于足球领域数据统计分析的讨论一直不断
2022-04-27 -
大数据分析师,现代足球的“食材料理师”(图)
2022-04-27 -
专访搜达足球创始人韩庆山:中国专业体育数据公司的商业逻辑
2022-04-27 -
本届世界杯18靠一台iPad赢得巴西世界杯?(图)
2022-04-20