0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习算法的实现时所面临的问题及相关开源软件

如意 来源:CSDN 作者:Soren Sonnenburg等 2020-08-17 16:57 次阅读

开源工具已经趋于成熟,这使其能构建大规模的自然场景下的系统。与此同时,机器学习领域为各种应用开发了大量强大的学习算法。但是,由于没有公开共享现有的实现方式,去真正的利用这些方法,从而导致软件的可用性和互操性较弱。

本文作者认为,可以通过提高研究人员在源代码模型下发布软件的动机来明显改善这种情况。此外,本文概述了作者在尝试发布机器学习算法的实现时所面临的问题。作者认为,经过同行评审的软件资源以及简短的文档对机器学习和整个科学界非常有价值。

概述

机器学习领域发展迅速,为不同的应用提供了各种各样的学习算法。这些算法的最终价值在很大程度上取决于它们在解决实际问题中的成功。因此,将算法进行复制并应用于新任务对于该领域的进步至关重要。

但是,目前很少有机器学习研究人员发布与其论文相关的软件和/或源代码。这与生物信息学界的做法形成了鲜明对比,后者的开源软件已经成为进一步研究的基础。缺少公开可用的算法实现是我们这一学科进步的主要障碍。

我们相信,机器学习软件的开源共享可以在消除障碍方面发挥非常重要的作用。

开源模型具有许多优势,这些优势将带来更好的实验结果重现性:更快地检测错误,创新性应用以及在其他学科和行业中更快地采用机器学习方法。但是,目前缺乏完善和发布软件的动机。已发布的软件本身在我们领域中没有标准的,可接受的引用方式。

目前引用它的唯一方法是引用与代码相关联的论文,或者通过引用以某种技术报告的形式发布的用户手册。为了解决这一难题,本文提出了一种正式发布机器学习软件的方法,类似于ACM Transactions on Mathematical Software提供的用于数值分析的方法。

注:本文作者随后简要解释了开源软件背后的思想,然后介绍了广泛采用开源的模型将产生的一些积极影响。接下来,本文讨论了当前主要的阻碍,并提出可能的改变以改善这种情况。最后,作者为JMLR(JMLR-MLOSS)中的机器学习开源软件提出了一个新的、单独的track。

开源背后的思想

开源软件的基本思想非常简单;程序员或用户可以阅读,修改和重新分发软件的源代码。尽管有各种开源软件许可,但它们都有一个共同的出发点,那就是允许自由交换和使用信息。开源模型更注重贡献者的协作。每个贡献者都可以利用网络中其他人所做的工作,从而最大程度地减少“重新造轮子”所花费的时间。

开源的软件主要有下面的10个属性:

1.免费重新使用

2.源代码

3.衍生作品

4.作者源代码的完整性

5.不歧视个人或群体

6.不歧视工作领域

7.许可证的分配

8.许可不得用于特定产品

9.许可不得限制其他软件

10.许可必须是技术中立的

开源的积极影响

这一部分主要是简要概述开源软件及其与科学活动(特别是机器学习)的关系。读者可能会认为我们对开源的好处过于乐观,而没有讨论负面影响。事实是,要获得专有系统与开源软件之间抄袭的确凿证据是极其困难的。

本文从道德,伦理和社会基础三个方面进行阐释,开源应该是机器学习研究的首选软件发布选项,并向读者介绍开源软件的许多优点。在这里,本文将重点放在用于机器学习研究的开源软件的特定优势上,该优势结合了科学进步以及软件生产者和消费者的需求和要求。作者从以下7点说明了开源的优势:

1.科学结果的可重复性和算法的合理比较;

2.发现问题;

3.利用已有资源(而不是重新实现);

4.不断获得科学的工具;

5.优势结合;

6.在不同学科和行业中更快地适用某方法;

7.出现协同标准。

最后,作者使用一个表格总结了开源会带来的优点,一共有11条,分别如下:

1.提高了科学研究的可复现性

2.有助于公平比较在相同框架中实施的算法

3.可以更快地发现问题

4.可以修复bug和扩展外部来源的错误

5.方法可以被其他人更快地采用

6.可以使用高效的算法

7.能利用现有资源来帮助新研究

8.广泛的使用算法会使其得到广泛的认可

9.可以开发更复杂的机器学习算法

10.可以加速研究进展

11.对新研究者和较小的研究小组非常有帮助

开源社区当前主要的障碍

尽管根据开源模型发布实现方式具有许多优点,但是当前很少采用此选项。作者认为,有六个主要的原因,总结起来概括如下:

1、发布软件不能够被视为一种科学贡献

2、公开与商业利益存在根源上的冲突

3、发布开源软件的激励措施没有足够高

4、机器学习研究人员不是一个优秀的程序员

5、这种松懈能掩盖新方法的问题,并降低会议和期刊的接收难度

6、存在一种习惯,对质量相似的论文采用相同的处理方法

建议

作者给出了提交高质量机器学习开源软件实现的描述。提交的内容至少应包括:

1、一封书面信,说明该提交内容适用于机器学习开源软件部分,发布该软件的开源许可证,项目的网址以及要查看的软件版本。

2、最多四页基于JMLR格式的描述。

3、包含源代码和文档的zip或tar压缩的归档文件。

结论

综上,作者认为,采用共享信息的开源模型来实现机器学习软件对整个领域都非常有帮助。开源模型具有许多优势,例如提高了实验结果的可重复性,更快地检测错误,加速科学进步以及在其他学科和行业中更快地采用了机器学习方法。由于当前发布开源软件的动机不足,本文概述了一个发布用于机器学习的软件平台。

此外,本文讨论了机器学习软件的理想功能,这些功能最终将产生一个高度可用,灵活和可扩展的软件。本文邀请所有开发机器学习算法的机器学习研究人员提交机器学习软件的JMLR track。定义精心设计的界面对于提高交互操作至关重要,这将使社区能构建一套高质量的机器学习软件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4600

    浏览量

    92649
  • 人工智能
    +关注

    关注

    1791

    文章

    46872

    浏览量

    237606
  • 机器学习
    +关注

    关注

    66

    文章

    8378

    浏览量

    132425
收藏 人收藏

    评论

    相关推荐

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+介绍基础硬件算法模块

    作为嵌入式开发者往往比较关注硬件和软件的协调。本书介绍了除法器,信号发生器,滤波器,分频器等基本算法的电路实现,虽然都是基础内容,但是也是最常用到的基本模块。 随着逆全球化趋势的出现,过去的研发
    发表于 11-21 17:05

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度
    的头像 发表于 11-15 09:19 317次阅读

    “0元购”智元灵犀X1机器人,软硬件全套图纸和代码全公开!资料免费下载!

    软件算法代码+高性能关节电机,让“人形机器人人人造”的理想真正成为现实,不管是爱好者还是科技达人,都能够迅速搭建机器人并实现基本的行走功能
    发表于 10-25 15:20

    深度学习算法在嵌入式平台上的部署

    随着人工智能技术的飞速发展,深度学习算法在各个领域的应用日益广泛。然而,将深度学习算法部署到资源受限的嵌入式平台上,仍然是一个具有挑战性的任务。本文将从嵌入式平台的特点、深度
    的头像 发表于 07-15 10:03 1188次阅读

    利用Matlab函数实现深度学习算法

    在Matlab中实现深度学习算法是一个复杂但强大的过程,可以应用于各种领域,如图像识别、自然语言处理、时间序列预测等。这里,我将概述一个基本的流程,包括环境设置、数据准备、模型设计、训练过程、以及测试和评估,并提供一个基于Mat
    的头像 发表于 07-14 14:21 1915次阅读

    开启开源布道新篇章 — LF开源软件学园诚邀开源精英加入成为OSPO讲师

    OSPO——企业开源战略的引擎在当今数字化时代,开源软件已成为推动全球技术创新的加速器。它不仅重塑了软件开发的模式,更成为企业构建竞争优势的关键。然而,随着
    的头像 发表于 07-04 08:36 271次阅读
    开启<b class='flag-5'>开源</b>布道新篇章 — LF<b class='flag-5'>开源</b><b class='flag-5'>软件</b>学园诚邀<b class='flag-5'>开源</b>精英加入成为OSPO讲师

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 790次阅读

    机器学习的经典算法与应用

    关于数据机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。Iris鸢尾花数据集是一个经典数据集,在统计学习
    的头像 发表于 06-27 08:27 1578次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

    机器学习8大调参技巧

    今天给大家一篇关于机器学习调参技巧的文章。超参数调优是机器学习例程中的基本步骤之一。该方法也称为超参数优化,需要搜索超参数的最佳配置以实现
    的头像 发表于 03-23 08:26 565次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>8大调参技巧

    人工智能和机器学习的顶级开发板有哪些?

    机器学习(ML)和人工智能(AI)不再局限于高端服务器或云平台。得益于集成电路(IC)和软件技术的新发展,在微型控制器和微型计算机上实现机器
    的头像 发表于 02-29 18:59 768次阅读
    人工智能和<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的顶级开发板有哪些?

    AI算法的本质是模拟人类智能,让机器实现智能化

    电子发烧友网报道(文/李弯弯)AI算法是人工智能领域中使用的算法,用于模拟、延伸和扩展人的智能。这些算法可以通过机器学习、深度
    的头像 发表于 02-07 00:07 5628次阅读

    开源项目!教你如何复刻自平衡赛车机器人、智能家居中控、竞技机器人先进模糊控制器等

    开源项目作品 为了方便大家更好提升自己,电子发烧友小编为大家整理了一些工程师大佬设计的开源项目作品,供大家可以参考学习,希望对广大工程师有所帮助。 1.用全志R128复刻自平衡赛车机器
    发表于 12-26 09:17

    开源作品!稚晖君超迷你低成本开发板、超酷机器人、智能手环等参考方案

    开源项目作品秀 为了方便大家更好提升自己,电子发烧友小编为大家整理了一些工程师大佬设计的开源项目作品,供大家可以参考学习,希望对广大工程师有所帮助。 1.基于NRF51822的开源
    发表于 12-12 10:28

    解锁未来软件安全的利器——华为云 CodeArts 开源治理服务

    在当今数字化时代,软件安全问题愈发突显,而开源软件的广泛应用更是为安全挑战蒙上了一层阴影。开源软件漏洞的逐年增多成为
    的头像 发表于 12-10 21:01 891次阅读
    解锁未来<b class='flag-5'>软件</b>安全的利器——华为云 CodeArts <b class='flag-5'>开源</b>治理服务