第590章 深夜研讨 (第2/3页)
了,标准归一化。邻接矩阵用了高斯核函数基于距离,也试了加入相对速度差的余弦相似度,效果都不好。”王睿语速飞快,手指在触控板上滑动,调出不同的代码片段和结果图。
韩澈安静地坐在一旁,听着两人用他半懂不懂的术语快速交流。“过拟合”、“特征工程”、“消息传递”、“注意力头”……这些词汇像子弹一样在房间里穿梭。他能看懂屏幕上那些不断跳动的数字和图表大概在反映模型的“好坏”,也能感受到王睿的焦躁和苏晚冷静分析下的凝肃,但具体到问题出在哪里,该如何调整,他完全无法置喙。他带来的,是自己花了几天几夜整理的、关于“挡拆”战术不同形态的文字描述和简单示意图,此刻显得如此苍白和“不专业”。
“韩澈,”苏晚忽然转过头,看向他,“你定义的‘挡拆发起’的关键帧,是基于持球人呼叫战术,还是基于掩护人开始移动设立掩护?”
韩澈愣了一下,迅速回忆自己的记录:“通常……是基于掩护人开始向持球人方向移动,并意图进行身体接触(掩护)的那个瞬间。但有时候持球人会提前示意,或者利用眼神、手势暗示,这在录像数据里很难捕捉。”
“所以,你的定义更依赖对‘掩护意图’的判断,而这在低层视觉特征(坐标、速度)上可能并不明显。”苏晚若有所思,用笔尖轻轻点着笔记本,“这或许解释了为什么模型难以学习。我们给它的低级特征和我们要它识别的高级语义之间存在鸿沟。王睿,或许我们不应该直接用原始的坐标速度作为节点特征,需要构造一些更高层次的、能隐含球员意图的中间特征。比如,球员面对持球人的角度变化率,或者与预设掩护位置的接近程度……”
“有道理!”王睿眼睛一亮,“这算是特征工程了。我可以试着计算一些衍生特征加进去。但怎么定义‘预设掩护位置’?每个战术都不一样。”
讨论的焦点,自然而然地又回到了韩澈这里。这一次,他不得不更加努力地将自己的篮球知识“翻译”出来。他站起身,走到白板前,拿起笔,开始画图讲解。
“比如最常见的高位挡拆,”韩澈画了一个简单的半场球场,标出球员位置,“通常发生在顶弧附近。理论上,理想的掩护位置是在持球人防守者的侧前方,形成一个可以阻挡追防路线的角度。但这个位置不是固定的,取决于防守人的站位、持球人的突破习惯等等。我们可以尝试用持球人与其对位防守人连线为基准,掩护人需要移动到这个连线的一侧,并且距离足够近……”
他一边说,一边画,试图将那种动态的、经验性的判断,转化为可计算的几何关系和阈值。苏晚听得很认真,不时提出问题:“‘足够近’是多少米?这个距离阈值是否因球员体型、速度而异?”“‘侧前方’的角度范围如何量化?是固定的扇形区域,还是根据防守人面向动态调整?”
这些问题极其细致,甚至有些苛刻,逼得韩澈不得不将那些原本存在于教练口头传授和球员本能中的“感觉”,拆解成一个个具体的数字和条件。这个过程异常艰难,他常常需要停下来思考很久,才能给出一个不确定的答案:“可能……1到1.5米?角度大概在30度到120度之间?我需要回去看更多录像,统计一下。”
王睿则从实现角度提出疑问:“这些阈值参数,是作为先验知识硬编码进特征计算,还是让模型自己从数据里学?如果硬编码,会不会太死板,无法适应变化?如果让模型学,我们标注的数据量够不够它学到这么精细的规则?”
讨论从晚上七点一直持续到十点多。小小的研讨室里,白板上画满了战术示意图、数学符号和潦草的笔记。空气中弥漫着专注的气息,以及淡淡的、来自咖啡和茶水的提神味道。韩澈最初的局促和疏离感,在一次次被提问、一次次努力解释、一次次看到自己的“篮球语言”被转化为具体的、可讨论的技术问题(即使这些问题目前还没有答案)的过程中,慢慢消融。他依然不能完全理解那些复杂的模型细节,但他开始明白,自己提供的“领域知识”并非无用,而是构建整个模型大厦的、至关重要的地基和设计蓝图。苏晚和王睿需要他的输入,来理解他们要建模的“世界”究竟是什么样的,规则是什么。
而苏晚展现出的那种严谨到近乎苛刻的思维方式,也让韩澈印象深刻。她不会轻易
(本章未完,请点击下一页继续阅读)