在机器学习领域,不断涌现的新项目和工具为专业人士提供了扩展技能和知识的绝佳机会。本文将介绍一些最新的GitHub上的机器学习项目,这些项目覆盖了自然语言处理(NLP)、计算机视觉和大数据等多个领域。
过去几年中,面试了许多数据科学职位的候选人。一个显著的现象是,许多有志于成为机器学习专家的候选人并没有足够重视那些能够让他们脱颖而出的项目。这里所说的并不是在线竞赛和黑客马拉松(虽然这些也是展示自己能力的加分项),而是那些使用最新发布的库和框架进行的即兴实验。这向面试官展示了两件事:对机器学习有着无尽的好奇心,这是成为成功数据科学家的重要方面;不害怕尝试新的算法和技术。而说到最新的机器学习发展和代码,哪个平台最领先?没错,就是GitHub!
以下是自2018年1月以来每月运行的机器学习GitHub系列的一部分。以下是今年到目前为止的链接,以便快速跟上进度:
坦白说,自然语言处理(NLP)的力量让感到震惊。几年前开始从事数据科学工作,NLP的发展规模和它改变处理文本的方式几乎难以形容。PyTorch-Transformers是最新的一系列最先进的NLP库之一。它在各种NLP任务中都超越了以前的基准。特别喜欢PyTorch Transformers的一点是,它包含了PyTorch实现、预训练模型权重和其他重要组件,让能够快速上手。
可能以前因为运行最先进的模型需要大量的计算能力而感到沮丧。知道是这样(不是每个人都有谷歌的资源!)。PyTorch-Transformers在很大程度上解决了这个问题,使能够构建最先进的NLP模型。以下是一些深入的文章,帮助开始使用PyTorch-Transformers(以及NLP中预训练模型的概念):
在现实世界中,文本数据的多标签分类是一个相当大的挑战。当处理早期阶段的NLP问题时,通常处理的是单标签任务。在现实世界的数据中,难度会提高几个档次。在多标签分类问题中,一个实例/记录可以有多个标签,每个实例的标签数量是不固定的。
NeuralClassifier使能够快速实现用于层次多标签分类任务的神经模型。个人特别喜欢NeuralClassifier的一点是,它提供了熟悉的各种文本编码器,如FastText、RCNN、Transformer编码器等。可以使用NeuralClassifier执行以下分类任务:
以下是两篇优秀的文章,让了解什么是多标签分类以及如何在Python中执行它:
这个TDEngine仓库是上个月GitHub上获得最多星标的新项目。不到一个月就获得了近10000个星标。让花一秒钟消化一下这个数字。
TDEngine是一个开源的大数据平台,专为以下领域设计:
TDEngine本质上提供了一整套与数据工程相关的任务。而且可以用超快的速度完成所有这些任务(处理查询的速度提高10倍,计算使用量减少到1/5)。
有一个警告(目前)——TDEngine仅支持在Linux上执行。这个GitHub仓库包括完整的文档和初学者指南以及代码。建议查看为数据工程师准备的全面资源指南:
处理过任何图像数据吗?计算机视觉技术用于操作和处理图像的技术非常先进。图像中的对象检测被认为是成为计算机视觉专家的基本步骤。
那么视频呢?当被要求在视频中简单地绘制对象的边界框时,难度级别会提高几个档次。对象的动态特性使得整个概念更加复杂。
所以,当遇到这个GitHub仓库时,非常高兴。只需要在视频中绘制一个边界框来移除对象。真的就这么简单!以下是这个项目如何工作的两个示例:
如果是计算机视觉领域的新手,以下是一些资源,帮助开始:
会喜欢这个机器学习GitHub项目。作为数据科学家,整个角色都围绕着尝试算法(好吧,中的大多数人都是)。
这个项目是关于一个简单的LSTM模型如何自动补全Python代码。下面突出显示的灰色代码是LSTM模型填充的(结果在图像底部):
# 这里是LSTM模型填充的代码示例
正如开发者所说:
训练和预测在清理注释、字符串和空行后的Python代码。模型在标记化Python代码后进行训练。它似乎比字符级别的预测和字节对编码更有效。
如果曾经(浪费)时间编写平凡的Python代码行,这可能正是所需要的。它还处于非常早期的阶段,所以要对一些问题持开放态度。
如果想知道LSTM到底是什么,应该阅读这篇入门文章:
TensorFlow和PyTorch都有强大的用户社区。但PyTorch的惊人采用率应该在接下来的一两年内使其超越TensorFlow。
注意:这不是对TensorFlow的贬低,它非常稳固。
所以,如果已经用TensorFlow编写了代码,并且用PyTorch编写了另一个代码,并希望将两者结合起来训练模型——tfpyth框架就是为准备的。tfpyth最好的地方是不需要重写以前的代码。
这个GitHub仓库包括一个结构良好的示例,展示如何使用tfpyth。这绝对是对TensorFlow与PyTorch辩论的新鲜视角,不是吗?
安装tfpyth这么简单:
pip install tfpyth
以下是一些深入的文章,了解TensorFlow和PyTorch如何工作:
将迁移学习与NLP联系在一起。这是错——太专注于新的发展,以至于没有想象到迁移学习还能应用在其他地方。所以,当遇到这个精彩的MedicalNet项目时,非常兴奋。
这个GitHub仓库包含了PyTorch实现的“Med3D: 3D医学图像分析的迁移学习”论文。这个机器学习项目聚合了具有不同模态、目标器官和病理的医学数据集,以构建相对较大的数据集。
正如所知,深度学习模型(通常)需要大量的训练数据。因此,由腾讯发布的MedicalNet是一个希望很多人能够参与的杰出的开源项目。