几周前,我参加了为布尔诺(捷克共和国)技术大学的学生举办的一项名为ŽijemeIT的活动。 这是每年一次的学生小型会议,布尔诺的许多大型IT公司都在此概述有关他们的活动,有趣的方向和项目的概述。 今年,公司出现了使用机器学习和人工智能解决各种业务问题的明显趋势。 在这篇简短的评论中,我想分享一些有关此主题的有趣观察。 谁在乎,我要求减薪
该行动以公司介绍和带广告讲义的信息台的形式进行。 在演示中,您可以大致了解公司的活动,在休息时间,您可以向讲者询问感兴趣的问题,或在展台上与公司代表聊天,并了解有关项目和空缺的更多信息。 该行动的目的是向学生介绍潜在的雇主,并可能找到未来的工作。

机器学习在哪里找到了应用
今年,许多演讲都专门讨论了机器学习和人工智能的话题。 这些技术被用于IT的各个领域。
例如,美国Mavenir公司分析移动运营商网络的安全性并识别欺诈性交易(所谓的网络漏洞审计)。 为了分析垃圾邮件并识别欺诈性攻击,Mavenir使用经典的机器学习方法。
最初,公司专家从移动运营商那里收集数据,尤其是有关电话和SMS消息的数据(通话时间,主叫方号码,消息发件人号码,消息文本)。 然后,在统计图的基础上构建统计图,并应用各种分析方法:社交图,语义分析。 目的是识别网络上的任何可疑活动。 统计数据分析使您可以构建消息的文本分类器。 最终,基于研究,Mavenir专家将为移动提供商提供详细的报告,并预测其移动网络中任何欺诈活动的可能性。
这是在不同国家/地区接收有关呼叫和消息数据的问题。 为了分析网络中的漏洞,需要真实的运营商数据。 个人数据控制的不同监管机构在不同的国家/地区运作:GDPR在欧洲运作,各州都有自己的法律。
在技术方面,使用了Keras和scikit-learn。 关于Python,多线程有一个限制-众所周知的全局解释锁(GIL)限制,在处理大量数据时这是一个关键限制。 以前使用的C ++ XGBoost。 它允许您获得非常小的延迟(小于0.1毫秒)。

另一个示例是Y Soft。 该公司正在开发打印机的用户界面。 这里的重要任务之一是测试完成的程序。 手动测试非常耗时,耗时,并且不能排除出错的可能性。 因此,该公司使用计算机视觉和机械臂自动执行了程序用户界面的手动测试(RQA项目可在
此处和
此处阅读)。

在终端中使用凭据对机械手进行授权,进入目标屏幕,选择所需任务(扫描,打印),检查成功,最后进入主屏幕。

机器人由摄像机监控,摄像机将其动作记录在视频中。 此处解决了应用程序中屏幕检测和元素识别的任务。 最初使用经典的计算机视觉方法:特征描述符OCR。 问题之一就是所谓的莫尔效应-监视器屏幕上出现一系列水平条纹的现象,这种现象通常是在通过摄像头查看监视器屏幕时发生的。 实验的结果是,使用了一种基于局部累积失真边缘直方图的新图像分类器,解决了问题。 在这种情况下,使用AI可以显着提高操作速度(与传统的图像处理方法相比,大约是一秒对20秒)。

在技术方面,他们最初使用CNTK(基于C ++的包装器)和Accord。 CNTK具有复杂的API,并且不再支持Accord,并且并发性较低。 最终,ML .NET库与.NET技术(ASP .NET)结合使用。
机器学习尚不适用的地方
在某些情况下,无需使用机器学习即可解决问题的传统方法仍然是最佳选择。 例如,Thermo Fisher Scientific正在开发一种具有图像预处理功能的电子显微镜成像程序。 对于图像处理,使用传统的计算机视觉方法。

这是由于几个因素。 首先,机器学习方法不能给出100%的准确性,即使总是发生很小的错误。 在这种情况下,当客户是科学组织(例如,参与微阵列生产的研究实验室)时,客户的关键准确性至关重要。 其次,为了获得最大的预测效率,相同的海绵学习模型需要大量的数据进行训练,最好是对要评估其准确性的数据进行尽可能多的训练。 对于Thermo Fisher Scientific,客户不准备提供其性能测试数据。

最后,通过神经网络推断获得的结果难以解释(神经网络的已知现象为“黑匣子”)。 当极端的准确性和对决策过程的理解比任务的执行和执行速度具有更高的优先级时,就是这种情况。
现在就这些了。 祝大家好运,很快再见!