Google 研究 TensorFlow.js 使用者,探讨其学习机器学习的动机、困难以及愿景,Google 提到,大多数的开发人员都误以为无法掌握机器学习技术,是因为缺乏高级数学能力,但事实上缺乏的是机器学习的概念。这篇研究论文在 IEEE VL/HCC 研讨会上发表,并且获得最佳论文奖。由于机器学习的技术越来越普及,更多的开发人员也必须使用机器学习技术来解决原领域的问题,而近年来有越来越多的函数库,将复杂的模型行为抽象为高阶的 API,以降低机器学习的使用障碍。Google 开源的 TensorFlow.js 函数库,便可让开发人员使用 JavaScript,开发在浏览器上执行的机器学习功能,尽管 Google 下了许多功夫,尽可能使 API 容易使用,但他们还是不知道没有机器学习背景的开发人员,在使用这些框架所遭遇的问题。因此 Google 调查了 645 个 TensorFlow.js 用户,这些受访者大多数都是软件和网页开发人员,但是不熟悉机器学习技术,平常也并未把机器学习用在主要工作上。Google 研究了这些人员使用机器学习框架遇到的障碍,并且了解受访者认为最有助于他们应用框架的功能与工具。Google 发现这些受访者应用框架遇到的困难,并非是框架提供的 API 不够清楚,而是本身欠缺对机器学习概念的理解,这阻碍了他们学习使用框架,并且误以为需要拥有高级数学能力,才能学会使用框架。且由于缺乏机器学习的概念性理解,开发人员无法挑选出一个好问题,来应用 TensorFlow.js 解决该问题,也无法区分机器学习成果的好坏,在创建神经网络架构时,也无法适当的配置模型的细节或是调整参数。而且开发人员也难以从基本的 hello world 教学范例中学习,无法将学到的经验转移到自己的案例上使用,Google 提到,虽然 API 范例会提供实作特定模型的语法,但是不足的知识基础,让开发人员难以一般化这些知识,应用到特定的问题上。有趣的是,开发人员通常把这些学习机器学习遇到的障碍,归因于自己缺乏高级数学能力,Google 表示,API 文件中的数学专有名词可能加深了这样的错误印象,事实上掌握概念并将其应用到实际问题,并不需要高级数学能力,机器学习框架并非为线性代数或是微积分专家设计。受访者希望框架不只能提供预训练模型,而且还需要带有明确修改提示,Google 提到,虽然当前包括 TensorFlow.js 在内的机器学习平台,都有提供预训练模型,但是这些模型并非为新手设计,因此在缺乏明确操作指示的情况下,新手会难以修改现有模型,更别说用在自己的案例中了。再来,受访者还希望框架可以提供最佳实践,以即时提示的方式,在流程中引导开发者。机器学习专家可能对调整参数具有丰富的经验,但对于新手来说,可能连决定第一个要调整的参数,都会不知所错, Google 提到,将最佳实践嵌入到开发流程中,可以缩小开发者的决策空间。而受访者也期待机器学习框架,可以提供做中学的资源,也就是开发人员希望在开发机器学习应用程序的同时,能够看到更多的范例和资源,对此,Google 表示,机器学习框架可能需要区分不同程度,在特定时机提供不同的学习资源。编辑:AI智慧
0 评论