Ghost Hunter 中微子数据分析排位赛
- 赛事平台
- 赛事背景
- 赛事信息
- 赛事培训
- 赛事讨论
重要通知
决赛评测开始
评测数据集已经替换, 我们使用 master 分支截止前最新的 commit 进行评测.
如果有自己决赛提交的代码不在 master 分支或者不是最新 commit 的, 可以自行 cancel 掉 runner, 切换到对应 commit, 并点击 Re-run all jobs 以提交最新的成绩, 同时告诉我们对应的 branch 及 commit. 请注意, 除了最新的 commit 产生的分数, 只允许有一个成功的成绩, 也就是说你只有一次选择最终提交 commit 的机会.
如果有 runner 无法运行或者由于数据集更换导致评分失败, 请立刻在群内或邮件反馈.
赛事平台 runner 增加
经过协商, 我们决定增加 CI runner 个数, 这可能导致多线程运行优化的代码运行效率降低. 如果有对代码做了多线程优化的选手因此受到影响, 请在群内戳我或在邮件列表或私戳我告知, 我们会尽量解决这个问题.
初赛通过队伍名单公布
初赛通过队伍名单已经公布, 为表格标注为决赛的队伍. 表格排名仅供参考, 与决赛得分及排名无关. 如果对决赛名单有疑问, 可以在群里或邮件列表指出.
序号 | 队伍 | 分数 | 时间 | 备注 | 排名 |
---|---|---|---|---|---|
1 | LLL | -232.763234836273 | 2024-11-16 15:36:40 | 决赛 | 1 |
2 | GhostHunter | -212935.048362163 | 2024-11-29 00:36:56 | 决赛 | 2 |
3 | Yuang | -27923413.2657048 | 2024-12-02 18:39:42 | 决赛 | 3 |
4 | HelloNuetrino | -78282122.0486881 | 2024-11-13 20:05:58 | 决赛 | 4 |
5 | zeroer | -85117567.0595705 | 2024-11-14 16:18:25 | 无有效成绩 | - |
6 | committee | -85117827.4336148 | 2024-10-27 14:54:32 | 模板队伍 | - |
7 | All_furnace | -85117827.4336148 | 2024-10-29 23:36:44 | 无有效成绩 | - |
8 | WuDaoKou_Team | -85117827.4336148 | 2024-11-12 23:46:21 | 无有效成绩 | - |
9 | Ghostbusters | -85117827.4336148 | 2024-11-14 00:36:24 | 决赛 | 5 |
10 | VC_latte | -85117827.4336148 | 2024-11-16 14:48:13 | 决赛 | 6 |
11 | ZSH | -85117827.4336148 | 2024-11-28 19:25:55 | 无有效成绩 | - |
12 | wzz | -85117827.4336148 | 2024-12-06 14:53:11 | 决赛 | 7 |
13 | Ding_team | -90691390 | 2024-12-09 05:31:21 | 决赛 | 8 |
14 | ulsmallzhou | -91826409.3921699 | 2024-11-26 14:54:23 | 决赛 | 9 |
15 | team-kangaroo | -92239146.7611481 | 2024-12-08 16:30:27 | 决赛 | 10 |
16 | This_is_the_organization | -98878011.5435559 | 2024-12-08 22:43:06 | 决赛 | 11 |
17 | Ciallo0721 | -105343831.22731 | 2024-12-08 17:22:33 | 决赛 | 12 |
推送评分函数 patch
所有队伍的 Ghost-Hunter-JUNO-probe-2024 仓库的 patch 已经推送完成, 如果发现 patch 推送出错或者对推送 patch 的有其它问题请在微信群或邮件列表提出.
邮件列表建立
Ghost Hunter 2024 的邮件列表正式建立, 重要的通知也会依托邮件列表为大家群发邮件. 邮箱的信息是从 gitea 直接导出的, 如果无法收到邮件请直接在群里提出, 我们会手动添加.
鉴于小学期有邮件被清华邮箱拦截的先例, 建议大家为域名 l.airelinux.org 或者发件人 gh@l.airelinux.org 添加白名单
评分函数修复与初赛延迟
我们确认评分函数出现问题, 且已经进行修复, 具体可见721b5e1
我们将在12月2日(周一)晚上向各位选手的仓库推送一个 patch, 这可能会导致本地仓库与远程仓库冲突, 如果有问题可以在选手群里提出并寻求帮助
之前的错误的评分将会被从数据库中删除, 有发现分数消失的队伍, 可以尝试在12月3日(周二)再次提交
因为评分函数故障, 我们的初赛时间延迟到这周五(12月6日)晚上23:59
ssh clone 修复
ssh clone 服务修复了, 位于 ghssh.thudep.com:3322, 选手可以在 ~/.ssh/config 添加以下配置来使用, 也可以在clone的时候手动指定 3322 端口
Host ghssh.thudep.com
Hostname ghssh.thudep.com
Port 3322
User git
Makefile 的提醒
为了让大家在技术培训的时候更快的得到结果, 我们精简了数据集, 将 Makefile 第 20 行的 seeds:=$(shell seq 16001 16020)
改为 seeds:=$(shell seq 16001 16001)
, 在自行使用代码的时候可以改回来.
数据集的变更
由于在 Debian12 环境下安装 parquet 依赖对选手太过复杂, 我们决定将数据集的格式从 parquet 改为 hdf5. 请大家重新下载数据集. 具体的 diff 如下:
赛题是这样的, 我们已经有了足够好的模拟数据作为训练集, 你需要用这些训练集, 得到一个probe函数.
- 每个训练集包含10000个顶点, 其格式为:
+ 每个 `h5` 文件包含 **`ParticleTruth`** 以及 **`PETruth`** 两个 **dataset**, 其格式为:
+ **`ParticleTruth`**
+ 包含 10000 个顶点.
- h5文件中的`ParticleTruth` 表
| 名称 | 说明 |
| --------- | -------- |
| `EventID` | 事件编号 |
@@ -18,13 +21,14 @@ h5文件中的`ParticleTruth` 表
注: 顶点可见能量是指顶点沉积并且用来发光的能量.
- parquet文件中的
+ **`PETruth`**
| 名称 | 说明 |
| ----------- | ------------------- |
- | `evtID` | 事件编号 |
- | `pmtID` | PMT 编号 |
- | `hitTime` | PE 击中时间/ns |
- | `lightTime` | 光子被发出的时间/ns |
+ | `EventID` | 事件编号 |
+ | `ChannelID` | PMT 编号 |
+ | `HitTime` | PE 击中时间/ns |
+ | `LightTime` | 光子被发出的时间/ns |
几何文件`geo.h5`, 其格式为:
Ghost Hunter 邀请函
赛事背景
中微子, 这个被称为“幽灵粒子”的微粒, 自然界的奥秘之一, 质量近似为零, 以接近光速的速度穿越空间, 每一秒数以万亿计的中微子穿过每个人的身体. 然而, 中微子的特殊之处在于它们几乎不与任何物质发生相互作用, 被弱相互作用和引力相互作用所支配, 使得它们难以被探测. 正是由于这一特性, 中微子成为了一种神秘的“幽灵粒子”, 但也正因如此, 中微子具备作为高能“信使”的潜力, 能够将来自宇宙深空的信息传递给我们.
在中微子与物质偶然相互作用的过程中, 带电粒子会产生, 这些粒子会在探测器中释放能量并产生光子. 通过接收这些光信号, 我们可以获取有关中微子的宝贵信息. 江门中微子实验于2015年开始建设, 计划于2024年建成并开始灌装. 这座实验室位于地下700米深处, 拥有一个容纳2万吨液体闪烁体的探测器, 具有前所未有的3%能量分辨率.
借助先进的设备和技术, 中微子的探测变得可能. 在江门中微子实验中, 数以万计的光电倍增管 (Photomultiplier, 简称PMT) 布满探测器外围, 用于接收光信号. 当大量中微子穿越探测器时, 偶尔会在探测器内发生反应, 产生微弱的闪烁光, 这些光信号会被光电倍增管 (PMT) 捕捉到. 通过分析PMT的信号, 我们能够获得关于中微子的重要信息.
赛事介绍
本次比赛以中微子探测为背景, 以仿真得到的JUNO中心探测器的大量PMT数据为研究对象Ghost Hunter们将有机会通过各种数据分析手段, 包括但不限于统计推断、机器学习、物理建模等, 以提升对中微子的能量测量分辨率为目标.
此次比赛面向新手和专家等各种类型的选手, 我们将为您提供详尽的培训和指导, 以确保您能够建立实验物理大数据方法的概念, 并发挥您的潜力. 在比赛中, 您将结识到来自各个院系的同行, 分享知识、经验和创意, 一同挑战学科前沿问题.
Ghost Hunter中微子数据分析排位赛将为您提供一个展示实力、贡献力量、积累知识与技能的绝佳机会. 我们期待着您的加入, 一同探索中微子的奥秘, 解锁幽灵粒子的秘密!
介绍
赛制介绍
- 赛制: 继承2021年至2023年的排位赛规则, 但相比前一届比赛, 增加了初赛流程.
- 特色: 本届赛事继承2023年的模式, 鼓励各个参赛队伍之间以及新老选手之间进行交流学习. 赛事委员会为选手提供赛事技术交流论坛, 便于参赛选手与前几届入围答辩的前辈进行学术交流; 同时会邀请老选手为新选手进行赛事专题培训, 最终一同参与Ghost Hunter workshop交流想法. 但决赛期间不会提供老选手的完整代码.
- 规则: 本比赛为排位赛形式, 每个参赛队伍通过任意的编程语言和数据处理方法, 对组织方提供的仿真数据作为数据集进行分析, 得到数据中实验的能量分辨率作为输出, 在赛事平台上提交最终分析结果. 组织方将通过评判选手提交的结果与标准数据之间的差异, 给出评分排名. 结果可以多次提交, 平台将实时更新各参赛队排名.
赛事支持
- 赛事基础培训讲座
- 赛事往届参赛队员讲座
- 训练数据集、IO代码和测试网站
- 计算资源支持
- workshop论坛选手自由交流讨论
Ghost Hunter Workshop
本届Ghost hunter会举办多场Ghost hunter workshop 研讨会, 来讨论并寻找赛事数据集的最优解, 邀请赛事新老选手一起参加, 形式多样. 参与研讨会的一部分同学需要对自己的成果进行简要汇报, 并基于汇报展开自由讨论, 活动期间参与者可以借助讨论后的灵感在赛事网站进行打榜, 活动末期我们将为参加研讨会并做出突出贡献的同学颁发一系列奖励.
研讨会形式:
- 人数: 5-15人左右/次
- 形式: 茶话会等形式, 依据形式提供餐饮
- 特色奖项: 我们将为在研讨会中做出突出贡献的选手送上我们赛事委员会准备的一系列特色奖项, 具体奖项内容后期会由赛事组参考本期研讨会开展情况决定.
排位赛奖金 (税前)
- 一等奖: 一名, 5000元
- 二等奖: 两名, 2000元
- 三等奖: 三名, 1000元
参赛要求
- 参赛形式: 组队参赛, 每支队伍不超过3人.
- 参赛对象: 不限年级, 不限院系, 不限基础. 鼓励跨院系、跨年级组队. 欢迎兄弟院校同学与社会各界人士参赛.
报名
赛事报名问卷: 清华问卷系统.
如果赛事报名问卷失效或无法加入微信群, 请通过邮件联系: he-yf22 [AT] tsinghua [DOT] edu [DOT] cn
比赛题目: JUNO probe
在宣讲会上, 我们已经对 JUNO 的物理过程有了初步了解, 并且了解了 probe 函数的定义. probe 函数用来描述探测器对顶点的响应, 我们通常将含时的 probe 函数记为 , 该函数表示在相对坐标 下随时间 变化的 PMT 上接收到的期望 PE 数. 将时间维度积分后, 得到不含时间的 probe 函数 . 即: 这两个函数之间的关系是: = , 这里 是一个足够大的时间窗口, 我们取 1000ns.
赛题是这样的, 我们已经有了足够好的模拟数据作为训练集, 你需要用这些训练集, 得到一个 probe 函数.
每个 h5
文件包含 ParticleTruth
以及 PETruth
两个 dataset, 其格式为:
ParticleTruth
包含 10000 个顶点.
名称 | 说明 |
---|---|
EventID | 事件编号 |
x | 顶点坐标x/mm |
y | 顶点坐标y/mm |
z | 顶点坐标z/mm |
Ek | 顶点动能/MeV |
Evis | 顶点可见能量/MeV |
注: 顶点可见能量是指顶点沉积并且用来发光的能量.
PETruth
名称 | 说明 |
---|---|
EventID | 事件编号 |
ChannelID | PMT 编号 |
HitTime | PE 击中时间/ns |
LightTime | 光子被发出的时间/ns |
几何文件geo.h5
, 其格式为:
Geometry
名称 | 说明 |
---|---|
ChannelID | PMT 编号 |
theta | 球坐标 角度 |
phi | 球坐标 角度 |
任务说明
任务是修改 probe.py
, 造出一个 probe 函数, 尽量使分数更高. 可以添加额外的文件, 但是请不要更改 coefficient.py
与 draw.py
来作弊, 否则成绩无效.
probe.py
中的 class Probe
继承了 coefficient.py
中的 class ProbeBase
, 因此除了两个抽象函数, 其它函数也可以重写. 因此你的确可以通过直接重写 validate
函数给自己一个高分, 这样的情况直接判零分.
我们将提供一个测试集供大家在本地评分作为参考. 但是, 为了防止大家对着测试集过拟合, 本地评测分数及CI排行仅供参考, 最终的排名将由隐藏测例来决定!
附: 评分说明
给定顶点和 PMT 的相对坐标 , 我们可以得到一个 PE 时间序列 , 这里 是序列长度. 这也是一个非齐次泊松过程, 其似然函数为:
如果我们有 次采样, 那么似然函数就是:
取对数得到:
评分时, 会将你的 probe 函数 输入到 中, 得到的值越大越好.
代码
代码文件可以在以下渠道获得:
赛事日程
周数 | 内容 |
---|---|
3-4 | 赛事宣传与报名 |
5 | 第一次培训: 赛事宣讲会和数据集简介 |
6 | 第二次培训: 基础技能 & 代码讲解 |
10 | 第一次 workshop: 赛事讨论与分享 |
12 | 初赛 (第十二周周日23:59) |
12 | 第二次 Workshop |
14 | 第三次 Workshop |
15 | 决赛 (第十五周周日23:59) |
初赛和决赛评分方式
初赛评分方式
初赛根据提交的函数在已公开的测试集上的表现进行评分. 评分标准为模型在测试集上的对数似然函数, 得分越高则模型越好.
- 初赛截止时间: 第十二周周日(2024.12.1) 23:59
- 初赛通过标准 (满足一条即可):
- 初赛扣分标准:
- 如果将比赛数据集内的文件添加到git仓库中, 则最终得分下调示例代码分数的 10% (即
score=score-8511782.743361479
). 本地训练的模型或者自行定义的参数、代码文件等上传不扣分.
- 如果将比赛数据集内的文件添加到git仓库中, 则最终得分下调示例代码分数的 10% (即
决赛评分方式
决赛根据提交的函数在未公开的测试集上的表现进行评分. 评分标准为模型在测试集上的对数似然函数, 得分越高则模型越好.
在代码评分的基础上, 决赛还需要进行一次决赛答辩并提交一份报告. 决赛答辩暂定于第十五周周末. 报告的内容不限于代码实现的描述、代码思路、使用的算法、代码结构等. 报告不需要太卷, 只需要能够帮助评委及下一届选手更好地理解你的代码即可.
- 决赛分数构成:
项目 | 比例 |
---|---|
代码得分 | 60% |
答辩得分 | 30% |
报告得分 | 10% |
- 决赛提交截止时间: 第十五周周日 23:59
第一次培训: 赛事宣讲会和数据集简介
在自然界中存在这样一种粒子, 几乎不与任何物质发生相互作用, 它很难被探测, 成为人类眼中的“幽灵粒子”, 它就是中微子. 但总有人热衷于探索自然那不为人知的隐秘, 由清华大学工物系、物理系和计算机系联合举办的“Ghost Hunter 2024 排位赛”应运而生.
这场“狩猎的盛会”发生在“江门中微子实验中心 (JUNO) ”, 在这片猎场里, 参与者们将获得“猎手”的新身份, 学习“狩猎”的技巧、展现“狩猎”的艺术.
无论您是初学者还是科研领域的专家, 我们诚挚邀请您加入这次场神秘的“狩猎”, 用锐利的眼光和灵活的头脑去巡猎宇宙的奥秘、追寻科学的失落之物、揭开“中微子之谜”的真相. 这片“猎场”等待着您崭露锋芒.
基本信息
- 主讲人: 续本达、张贺
- 时间: 2024年10月13日 14:00-17:00
- 活动形式: 线下+线上会议
- 地点: 三教3300
- 线上会议: 腾讯会议: 140-434-995
- 会议议程:
- 14:00-14:45 续本达老师: 介绍 Ghost Hunter 比赛赛事背景
- 14:45-15:45 张贺同学: 讲解 Ghost Hunter 比赛所使用的数据集
- 15:45-17:00 答疑与自由交流
材料
第二次培训: 基础技能 & 代码讲解
前言
在上次的培训中, 各位猎手认识到了我们的猎物. 面对这么神秘莫测的猎物, 各位猎手必须要装备最好的猎枪和捕兽夹, 第二次的培训将聚焦大家手中的工具, 助力大家捕捉那最神秘的幽灵.
在这次的培训中, 每位猎手都将学会使用名为python的猎枪, 并为其装上numpy的子弹. 与此同时, 你将在windows的大地上建起属于你的Linux的仓库 (即wsl) , 并使用git不断调试你的工具, 为了向幽灵发起最后的奇袭!
哪怕你是第一次成为猎手, 从未尝试过猎人的仓库和猎枪, 也不必畏惧, 要相信你那注定要抓到幽灵的双手. 科协的大家会从最为基础的操作开始, 十分详细地介绍你手中的工具, 即使真的是手无缚鸡之力的书生, 在走出第二次培训的会场后, 也会成为冷酷无情的专业猎手.
基本信息
- 主讲人: 张珺铫、杨哲涵、李昀展
- 时间: 2024年10月20日 15:20-18:40
- 活动形式: 线下+线上会议
- 地点: 三教3300
- 线上会议: 腾讯会议: 249-194-217
- 会议议程:
- 15:20-15:50 张珺铫同学: wsl安装答疑, 讲解基本的shell知识
- 15:50-16:05 张珺铫同学: numpy和python3的使用, 学习阅读文档
- 16:10-16:55 杨哲涵同学: git使用方法
- 17:05-18:00 李昀展同学: 讲解、运行示例代码
- 18:00-18:40 答疑与自由交流
预习材料
- windows 环境配置
- 如果你头铁在 windows 下开发(不建议)
- 如果你是高贵的 macOS 用户
- Linux 基础学习
- python 学习
- git 学习
材料
第一次 workshop: 赛事讨论与分享
经过了对代码和工具的培训, 各位 ghost hunter 已经对自己的猎物有了十分充足的了解. 然而, 与人同行才能走得更远, 各位hunter也应该与自己的同伴一起合作, 猎杀我们共同的目标.
在第一次 workshop 活动中, 各位 hunter 将与组内和组外的同伴一起交流猎杀心得, 也会有经验丰富的老猎手到现场传授经验.
基本信息
- 主讲人: 张珺铫、李瑞阳
- 时间: 2024年11月16日 16:00-18:00
- 活动形式: 线下
- 地点: 三教1204
- 会议议程:
- 张珺铫: gitea action 脚本编写及 Makefile 的编写
- 李瑞阳: 神经网络的原理、TensorFlow 的基本使用方法
- 自由交流
材料
第二次 workshop: 赛事讨论与分享
经过了对代码和工具的培训, 各位 ghost hunter 已经对自己的猎物有了十分充足的了解. 然而, 与人同行才能走得更远, 各位hunter也应该与自己的同伴一起合作, 猎杀我们共同的目标.
在第二次 workshop 活动中, 各位 hunter 将与组内和组外的同伴一起交流猎杀心得, 也会有经验丰富的老猎手到现场传授经验.
基本信息
- 主讲人: 张贺、徐闯
- 时间: 2024年11月30日 13:00-16:00
- 活动形式: 线下
- 地点: 刘卿楼110
- 会议议程:
- 张贺: probe 函数的详细定义、原来代码估计的原理、likelihood的推导
- 徐闯: probe在重建里的重要性
- 讨论评分代码(coefficient.py)的正确性
- 讨论 np.allclose 检验精度
- 自由讨论