业界对于大数据(big data)的热烈讨论与投入,正进一步催生新的算法、编程语言以及软件加速等相关技术。
IBM首席数据官(CDO) Inderpal Bhandari指出,“神经网络(Neural network)已经存在很长一段时间了。最新的进展是我们必须为其处理大量的资料,以及强化与其有关的工程实力。”
他描述采用“生成对抗网络”(GAN)的研究进展指出,透过让两种神经网络相互竞争,可望创造出更好的神经网络。“这是一种导引出更多算法的工程思考——现在已经因此而激荡出很多关于神经网络方面的工程技术了。”
从某些方面来看,这些算法可用于预测未来的硬件。例如,Dun & Bradstreet的首席资料科学家Anthony Scriffignano指出,“量子(quantum)算法将会变得越来越热门,因为当这类算法成功可用后,就能用于执行一些量子计算机才能做的事。”
“深度信念网络”(DBN)是另一种热门的新兴途径。Scriffignano将其定义为“一种非渐进式方法,能够让你一边学习一边修正目标与目的,因而具有明日神经形态计算机的特性,”并形成一种适于仿真人脑的系统。
美国斯坦福大学(Stanford University)计算机科学教授Christopher Re开发的通用数据深度探勘工具——DeepDive算法一直备受关注。该校数据科学计划主管Stephen Eglash指出,这种算法有助于让计算机更易于了解并使用文本、表格和图表等非结构化的数据,就像掌握关系数据库或电子表格一样轻松。
“现有的数据大部份都是非结构化或半结构化的。例如,我们可以轻松地读取规格表,但计算机却很难像我们一样理解。”
以一种DeepDive程序理解基于知识建构的非结构化数据 (来源:University of Wisconsin)
Deep Dive已经用于协助肿瘤学家以计算机解释肿瘤照片。此外,美国纽约检察总长也用它作为执法工具。至今,它已经应用在各个不同领域的许多公司了。
Eglash说,DeepDive之所以如此独特,部份原因在于“它能辨识并标记所有的数据,然后用学习引擎和概率技术来确定数据的意思。”
尽管这种途径十分成功,但它只是近来学术界开发的多种算法之一。其他算法有的专注于计算机视觉(computer vision)等领域,或尝试在实时数据串流中找出异常之处。Eglash强调,“如此就能让我们持续进行更深入的研究。”
掌握有趣的数据集
让开发人员肾上腺素飙高的部份原因,就在于他们必须从现实世界中取得有趣的数据集。GE Digital的Predix云端工程负责人Darren Haas声称在这方面取得了优势。
Haas说:“我想有些人可能没机会看看我们所提供的数据。我们从飞机、卫星和火车取得了高达数千兆字节(petabyte)的传感器资料。如果将这三者关联起来,就可以提供很多信息,例如农场或红杉树看起来健康或是病了。”
Hass原本任职于苹果(Apple),负责部署其中一项最大的Hadoop,用于执行像Siri等任务。他说GE Digital已经从亚马逊(Amazon)、Facebook和Google吸收到编程人才,“当我展示我们正着手进行的数据集时,他们都感到十分震惊。”
事实上,位于加州的通用电气(GE)软件部门已经从几年前约800个编程人员,迅速增加到目前约有2,000人了。
Haas个人喜欢的一种编程语言是Go。这是少数几种已编译的编程语言之一,如Elixir和Erlang一样,现在重新获得了机器学习(machine learning)开发人员的再度关注。
“在实作层,我一直鼓励自家团队使用Go,”Haas指出,GE也定期举办Go语言的聚会。“它已经过编译了、速度快、涵盖各种应用,而且更有效管理内存。我还教12岁的儿子学Go呢,因为,我认为这是未来的趋势。”
像Go这样的编译语言确实适用于执行环境。
他说:“如果您需要串流数据或事件中枢,全部都以Go来写最恰当不过了。”相形之下,“我看到的每一个Node.js项目在四个月后都得重新编写。”
也就是说,“很多人都大量使用Python。我认为它是机器学习的主流,适合数据分析、撷取数据和建构模型……等等,而且,Matlab的R也很重要。”
无论是哪一种语言,重要的发展趋势就是自动化功能。
“很多人都用数据科学家说的‘何者正确与否’,以手动策划数据集与模型。”Haas说:“但我们想用串流、侦测异常的方式进行,在封闭的反馈回路中通知用户。”
本文授权编译自EE Times,版权所有,谢绝转载
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。