不需要敲代码就可以开发深度学习应用?我们来探个究竟
2018-07-10 来源:raincent
Verge 的一篇文章就近距离观察了这个新的可视化开发平台 Lobe,并询问了领域内的研究者和开发人员的意见。我们是否应当和他们一样充满信心还是抱有疑虑呢?
Lobe 是一种新型的人工智能开发工具,它专注于可视化界面而不是编程
许多公司都在努力让人工智能技术更加易于使用,但是很少有公司能够做到像 Lobe(http://lobe.ai/)这样简单。今年早些时候成立的这个初创公司,为用户提供了一个简洁的界面,用户通过拖拽操作即可从头开始构建深度学习算法。这个工具的侧重点主要是计算机视觉。这意味着如果你想要构建一个能识别不同的盆栽植物,或者可以统计出一棵树上的鸟的数量的工具,你可以在不输入任何一行代码的情况下在 Lobe 中完成所有的工作。
该公司的联合创始人Mike Mata 告诉《Verge》网站,他们开发 Lobe 系统并不是为了和那些专业的机器学习人员使用的软件(如 Pytorch 和TensorFlow)竞争。相反,他们是想要为业余爱好者提供一个简单的构建深度学习算法的方式。Matas说:「人们往往在机器学习领域由自己想要尝试的一些想法,但是并不是所有人都有正确的方式构建原型系统」。Lobe 让这些业余爱好者在没有受过任何训练的情况下迈出了第一步,使得深度学习相对于从建筑学到天文学等各个领域的专业人士的准入门槛更低。Matas 补充道:「我们希望具备更广泛的吸引力」。
Lobe 以及类似的工具可以提供无需编程就能构建深度学习算法的平台
为了验证以上的说法,本文作者自己动手尝试了一下 Lobe。作者构建了一个通过摄像头识别拼字游戏的深度学习算法。如果我们向摄像头展示一个字母「a」,机器就会说出「a」;如果向它展示字母「b」,机器则会说出「b」,以此类推。(这是具有开创性的工作。)为了做到这一点,我们只需要完成大多数机器学习应用程序的通用步骤。首先我们需要收集数据集(拼字游戏的图片),对数据进行标注(将数据按照字母分到不同的文件夹中),接着让神经网络仔细检查每一张图片,然后慢慢学习构成每个字母的形状。
用 Lobe 构建这种应用程序真是再简单不过了!你不需要下载任何东西,只需要在你的浏览器中加载 Lobe.ai,通过谷歌账号登陆,你就可以开始进行这项工作了。你可以选择一个模版(在这种情况下,使用预训练好的标签和图像进行匹配),从你的桌面将数据加载进去,然后让这个模版为你处理信息。目前还只有少量几个可供选择的模版,但是Lobe 的创建者说它们打算通过加入新的神经网络架构来进行扩展,并且创建一个用户可以分享它们的最佳模型的社区。
神经网络的不同部分在屏幕上以方框的形式显示出来(这种方框被大家自然地称作「lobes」),这些方框通过线条连接成一个类似于流程图的结构。你还可以查看每个节点的「内部」结构,并调整它们处理数据的方式。当你完成这些组织工作后,你可以将最终得到的模型导出到不同的平台上,包括谷歌的 TensorFlow 和苹果在 iOS 上运行的 CoreML。
Lobe.ai 目前还处于测试阶段,所以在设计中还存在一些粗糙的补丁和许多不直观的细节。但是它整体的外观和感觉还是很炫酷的,令人印象深刻,这有一部分归功于 Matas 的背景。作为一名商业设计师,他曾任职于苹果公司,为第一代 iPhone 和第一代iPad 完成了用户界面的设计工作。之后,他转投到 Nest 公司,为公司的恒温器产品进行设计来;再接下来,他在 Facebook 和他的团队一起开发了一款颜值超高(但注定要失败)的名为「Paper」(https://www.theverge.com/2014/2/3/5373488/facebook-paper-app-review)的应用。
在构建我们的拼字游戏探测器时,我一开始确实遇到了一些困难(主要原因是没有给系统输入足够的数据),但是通过反复地修修补补、调整模型,这些问题得到了解决。不久之后,我在浏览器中运行出了一个拼字游戏识别程序。
我的拼字游戏探测器简单易构建。
很明显,我所构建的系统是相当简单的。但是我们也要看到,这种技术是十分具有潜力的,不要把它看作人工智能应用。不妨将它想象为一只在家中训练好的听话的猴子,你已经教会了它识别你选择的视觉线索。只要猴子发现了你要求它寻找的东西,它除了发出「eee eee eee」的叫声,啥也做不了!但是有这样一只猴子还是很方便的。有了合适的训练素材和一点点耐心,你可以教它做各种各样有用的事情,比如识别出恶性的痣和良性的痣之间的区别;或者观察婴儿监控器,看看你的宝宝是否从婴儿床中跑了出来。如果你讲音频信号转化成了视觉数据的格式来表示声波,你甚至可以让猴子识别出不同的声音。是的,这都是我们可以使用 Lobe 构建的真实应用程序。
当然,尽管 Lobe 通过其简单易用的特性吸引了机器学习的业余爱好者,这也并不意味着它就没有缺陷。一些专家争论道,这样的工具对这个学科进行的扁平化处理是没有益处的,它知识使用可视化的替身代替了编程的过程,但实际上并不能教会用户如何构建高质量的算法。Jeremy Howard 是一位数据科学家和企业家,也是 Fast.AI 的联合创始人,这是一个通过工具和教程使人们更容易使用深度学习技术的研究实验室。他说,他早就预见到了这一切!
Howard 说道:「出于某种原因,每个一两年,就会有人出来设计一个机器学习训练系统,这样的系统的功能包括从工具箱中拖拽出方框,然后用线条将他们连接在一起。我还不是十分明白为什么构造这样的系统会如此吸引人,但事实就是如此」。「这样的系统往往会受到一定程度的关注,因为专业社区之外的人认为这些工具让机器学习变得更加简单易用了,但是事实上它们并没有做到这一点。」
如果 Lobe 过度简化了机器学习,将会如何呢?
Howard 说,这样的可视化界面并没有太大意义;这样构建深度学习系统的过程在本质上和编写代码是一样的。但是它却比编程「更加笨拙,更加费时,而且你一次性地从屏幕上看到的信息更少。」他指出,要想构建最基础的应用(就像我设计的拼图游戏探测器)之外的任何东西,你仍然需要知道:「你想要使用哪些组件」,「如何将他们连接在一起」这样的技术细节。但是由于 Lobe 这样的工具将这些信息封装在了方框和连接线中,这些信息就不像在代码中那样容易获知了。「数据科学的难点不在于打字!」Howard 说道。「难的是知道应该写些什么。」
他还建议,Lobe 的一些更加复杂的设定是出于美观的考虑,而不是实际的功能性。「它们可以显示出你改变了模型架构,但事实上并没有人手动编写了架构」Howard 说道。「这种通过把数字输入方框构建深度学习模型的想法说明它们完全不知道人们需要做的是什么。」
如果你赞同 Howard 对Lobe 的批评,那么 Lobe 似乎是一种过于复杂的让人们开始构建机器学习模型的方式。(与其他免费的类似产品相比,Lobe 可能会付费使用,尽管 Matas 说价格还没有最终敲定。)但是即使像这样的可视化工具只是现有软件的一个皮肤,它们仍然是有其价值的。如今代码的流行的文化形象——那些不停滚动的,无穷无尽的难以理解的符号——是一种让人生畏的形象。Lobe 使人们开始构建机器学习模型的过程不再那么可怕,反过来说,它也可以帮助那些从最新的机器学习技术中受益的专业人士。
Jean-olivier Irisson 是这种现象的一个很好的例子。作为位于「Villefranche-sur-Mer,」的法国海洋学实验室的助理教授,Irisson 在接受Verge 采访时说,他对编程并不是一无所知,但是他在使用Lobe 之前对于深度学习并没有一个直接的经验。现在他是Lobe 的封闭测试人员中的一份子,并且正在使用该公司的软件帮助实验室对浮游生物图片进行分类。
Irisson 说,他和她的同事们都意识到新的深度学习技术的性能会在他们的领域超越传统的方法。「但是深度学习目前的发展速度是我们这些非专业人士跟不上的。」他说 Lobe 意味着:他可以在不用购买新的硬件或掌握新的编程框架的情况下,开始使用最新的神经网络架构。他说:「它让我专注于阅读论文,理解概念,并且应用到那些我认为前景光明的方向上去」。
与本文作者一样,Irisson 说他发现 Lobe 用户界面的某些部分还存在一些问题。但我们在这里需要再次强调的是,现在我们使用的仅仅是测试版的软件。总的来说,他认为,这种体验是非常直观的。他通过电子邮件对 Verge 网站说:「我认为 Lobe 这样的工具可以帮助非专业人士打开神秘的『黑箱』(深度学习模型通常被认为是一种黑箱模型),并且理解它们,Lobe 实实在在地帮助了我」。
这似乎与 Matas 对 Lobe 的愿景是吻合的:这是一款帮助人们尽可能快地开始构建人工智能应用的工具。Matas 说道:「如果你对某件事已经有了一个概念,并且你拥有训练数据,你可以通过Lobe 很快地训练一个机器学习模型」。「如果它可能利用你所拥有的1000 个样本能够训练出很好的结果,你可以找到能够进行提升的地方,并且这会给你继续前进的动力」。
如果说人工智能技术真的要改变世界,那么很显然,参与到其中的人越多越好——尤其是科技界外的人。有些科学领域的专业人士可能认为自己没有时间学习编程,但是它们可以在浏览器中构建这种模型从而获得某种研究的感觉。从这一点上来说,Lobe 看上去就像是一个完美的为机器学习革命打 call 的宣传工具!
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:详细解读:大数据应用及其解决方案
下一篇:高效学习开源项目的五大步骤!