Kaggle 比赛 - 美式手语识别简介
我喜欢 Kaggle 的原因之一是 Kaggle 为更多独立的机器学习爱好者/工程师/科学家提供了参与众多有意义项目的机会。在这里不仅可以互相学习、竞争以提升机器学习的技术,每一个人的代码、讨论或方案都可能直接或间接地影响到最终所产出的应用,从而真正地使人们获得帮助。
作为一位两岁儿子的父亲,我对这次比赛充满信心和热情。先天性聋哑对孩子来说可能是一个不幸,但是幸运的是,这些孩子有爱他们的父母,他们愿意花时间和精力来学习手语并将其传授给孩子,以便与他们进行沟通。
我们的任务是通过机器学习技术构建一个模型,该模型可以通过「视频流」预测出「手势」,帮助焦急和手足无措的父母们快速掌握手语。我相信我们的技术可以为这些父母带来实实在在的帮助,让他们更加自信地与他们的孩子交流。
关于比赛
下面还是回到比赛本身。
一次全新的比赛
本次比赛是 Kaggle 平台上「全新」的比赛。对 Kaggle 熟悉的小伙伴可能知道,很多第三方组织都会经常在 Kaggle 上举办比赛,比如 RSNA(北美放射学会)、NFL(美式足球联赛)等都是 Kaggle 的常客,他们所举办的比赛或多或少都有一些「雷同」,这让有经验的参赛者会获得一定的优势,而这次比赛是全新的,没有历史相似比赛可参考。
任务抽象空间大
因为比赛刚开始,还没有比较好的 baseline,笔者对比赛的了解程度也还有限,这部分内容可能不准确。
在标签这边,该任务是一个单标签多类别分类问题,共有250个类,在损失上的操作性可能不多。
在特征上的抽象空间就比较大了,数据集中,每一个样本为一个「视频」,而视频的每一帧为一组关键点。因为提供的是关键点而不是图像,因此其大小不会像真正的图像视频那么大,这样给参赛者提供更多的探索空间:可将每一帧视为一个二维图片、每一帧当作一维的序列、甚至全部帧连起来做一个序列或干脆来个大的拼图?想想都刺激 XD…
常见的标签👇
性能要求级高
因为举办方会将获胜模型真正地部署到移动端设备中,因此比赛对模型大小、推断性能(FPS)等是有很高的要求的,具体的:
- 内存占用不超过 40MB,跟大模型直接说拜拜
- 单个视频推断时间不超过 0.1 秒
- 部署需要使用 TensorFlow Lite,训练无要求
看起来,本次比赛还会考察一定的工程能力,如何在表现和性能上做权衡也将是获胜的关键。
尽管如此,主办方提供的训练数据也是非常多的(达到了 56.43 GB),因此可能训练依然会比较吃计算资源。
其他特点
比赛时长为 2 个月。个人觉得比起大部分的比赛(3 个月时长),2 个月要更合适一些。
超高的奖金池。总计 10W 美元的奖金池在 Kaggle 也并不多见,虽然级大概率与奖金无缘,但高额的奖金可能会吸引更多的大佬参与比赛,因此我们也能在比赛中学到更多的内容。
作为新手,应该如何参加?
Kaggle 的魅力之一就是 Novice(新手)往往也可以战胜 Grand Mater(大佬),如果老是一堆 Grand Master 霸榜就没意思了。
另外,如果把学习和分享当作参与比赛的第一目标,而不是扣破脑皮尝试获得奖牌,可能在整个参与过程中会收获更多的东西。
我已经将比赛的数据上传到 Featurize 平台上,用起来应该非常简单。在数据集中直接搜索「Isolated Sign Language」即可。
另外,两周以内我应该会放出一个 Baseline 的代码供大家参考。也欢迎大家共同参与,一起交流学习。