sayhaha 2019-01-07
刚过去的 2018 年对人工智能与机器学习领域来说是「丰收」的一年,我们看到越来越多具有影响力的机器学习应用被开发出来,并且应用到了实际生活的诸多领域,特别是在医疗保健、金融、语音识别、增强现实和更复杂的 3D 视频应用领域。
此外,我们发现业内产生越来越多应用驱动型的研究工作,数量上甚至超过了理论驱动型研究。不可否认这种变化有其弊端,然而我们要看到它积极的一面,随着能够迅速被商业转化的研究增多,对整个行业产生了不可估量的积极影响,这在机器学习开源领域尤其明显。
最后,一起看看过去一年中 6 个最实用的机器学习项目。这些项目都已发布了代码与数据集,方便个人和小团队进行学习并创造价值,这些项目也许在理论上并不具有开创性,却非常实用。
本文源自 Towards Data Science 的 George Seif,编译如下。
1)Fast.ai
开源地址:
https://github.com/fastai/fastai
Fast.ai 库能让我们通过最优方案来简化神经网络的训练工程,它抽象出了在实际搭建深度神经网络过程中的所有细节工作,设计上充分考虑了从业者们构建程序的思维模式,因而非常易于使用。该库最初是为 Fast.ai 课程的学生所创建,通过简洁易懂的方式在 Pytorch 库的基础上进行编写。另外,它在文件库的整理上也是一流的。(文件库地址:https://docs.fast.ai/)
2)Detectron
开源地址:
https://github.com/facebookresearch/Detectron
Detectron 是由 Facebook 开发用于物体检测与实例分割的研究型平台,用深度学习框架 Caffe2 写成,包含了各类物体检测算法的实现,如:
Mask R-CNN:通过 Faster R-CNN 结构实施物体检测与实例分割。
(https://arxiv.org/abs/1703.06870)
RetinaNet:特征金字塔网络,通过独特的 Focal Loss 来处理具有挑战性的案例。
(https://arxiv.org/abs/1708.02002)
Faster R-CNN:物体检测网络中最常见的结构。
(https://arxiv.org/abs/1506.01497 )
所有网络均可使用以下任一备选分类网络:
ResNeXt{50101152}
(https://arxiv.org/abs/1611.05431)
RESNET{50101152}
(https://arxiv.org/abs/1512.03385)
特征金字塔网络(使用 ResNet / ResNeXt)
(https://arxiv.org/abs/1612.03144)
VGG16
(https://arxiv.org/abs/1612.03144)
值得一提的是,这些平台功能自带 COCO 数据集上的预训练模型,这也意味着用户可以快速使用。同时这些功能均已严格按照标准评估指标在 Detectron model zoo(https://github.com/facebookresearch/Detectron/blob/master/MODEL_ZOO.md)中完成测试工作。
3)FastText
开源地址:
https://github.com/facebookresearch/fastText
这是另一项来自 Facebook 的研究成果,fastText 库专为文本表示与文本分类而编写。该库配备了预先训练好的单词向量模型,涵盖语言达 150 多种,可用于完成多项任务,包括文本分类、摘要和翻译等。
4)AutoKeras
Auto-Keras 是用于自动机器学习(AutoML)的开源软件库,由德克萨斯 A&M 大学的 DATA Lab(http://faculty.cs.tamu.edu/xiahu/index.html)与社区贡献者共同开发。AutoML 的目标是为缺乏数据科学或机器学习背景的领域专家们打造一个易于使用的深度学习工具。Auto-Keras 提供了为深度学习模型自动匹配最佳架构与超参数的功能。
5)Dopamine
开源地址:
https://github.com/google/dopamine
Dopamine 是 Google 专为加速强化学习算法原型设计而创建的研究框架,在严格遵照 RL 算法、指标与基准的基础上,达到灵活且易于使用的目的。
根据 Dopamine 提供的文档显示,他们产品设计原则包括:
便于执行的实验:帮助新用户运行基准实验
灵活的开发流程:促进更多开创性想法的诞生
简洁可靠:能够落地实现一些较旧或者较流行的算法
可重复性:确保结果得以复现
6)vid2vid
开源地址:
https://github.com/NVIDIA/vid2vid
vid2vid 是基于 Nvidia 最先进视频到视频合成算法的 Pytorch 实现项目。视频到视频合成算法的目标是习得从输入源视频(例如一系列语义分割 mask)到输出可精确描绘源视频内容的真实渲染视频过程中的映射函数。
该库的优点在于选择的多样性:它提供了针对自动驾驶/城市场景、人脸以及人体姿势在内的不同 vid2vid 应用程序。此外,还附带了丰富的指令和功能,其中包括数据集加载、任务评估、网络训练和多 GPU!
特别提及
ChatterBot:用于创建对话引擎和聊天机器人的机器学习项目
开源地址:
https://github.com/gunthercox/ChatterBot
Kubeflow:Kubernetes 的机器学习工具包
开源地址:
https://github.com/kubeflow/kubeflow
imgaug:用于图像增强的深度学习项目
开源地址:
https://github.com/aleju/imgaug
imbalanced-learn:scikit 下的 Python 框架,专用于修复不平衡的数据集
开源地址:
https://github.com/scikit-learn-contrib/imbalanced-learn
mlflow:用于管理 ML 项目周期的开源平台,覆盖实验、复现与部署等流程。
开源地址:
https://github.com/mlflow/mlflow
AirSim:基于 Unreal Engine/ Unity 的自动驾驶汽车模拟器,由微软出品