机器学习泡沫破裂了吗,还是新的曙光开始了

最近,发表了一篇文章 ,显示了近年来机器学习的良好趋势。 简而言之:在过去两年中,机器学习领域的初创公司数量急剧下降。

图片

好吧 让我们分析“泡沫是否破裂”,“如何继续生存”,并讨论这种问题的根源。

首先,让我们谈谈这条曲线的助推器。 她来自哪里。 也许每个人都会记得2012年ImageNet竞赛机器学习的胜利 。 毕竟,这是第一个全球性事件! 但实际上并非如此。 曲线的增长开始得更早。 我将其分为几部分。

  1. 2008年是“大数据”一词的出现。 真正的产品于2010年开始出现 。 大数据与机器学习直接相关。 没有大数据,当时存在的算法就无法稳定运行。 这些不是神经网络。 直到2012年,神经网络仍处于边缘地位。 但是随后完全不同的算法开始起作用,这种算法已经存在了数十年甚至数十年: SVM (1963,1993), Random Forest (1995), AdaBoost (2003),...这些年的初创企业主要与结构化数据的自动处理相关:售票处,用户,广告等等。

    第一波的派生是一组框架,例如XGBoost,CatBoost,LightGBM等。
  2. 在2011-2012年, 卷积神经网络赢得了一系列图像识别比赛。 它们的实际使用有些延迟。 我要说,意义重大的初创公司和解决方案在2014年开始出现。 花费了两年的时间来消化神经元仍然可以工作,制作可以在合理的时间内安装和运行的便捷框架,开发出可以稳定和加速收敛时间的方法。

    卷积网络使解决机器视觉问题成为可能:图像中的图像和对象分类,对象检测,对象和人识别,图像增强等。
  3. 2015-2017年。 与循环网络或其类似物(LSTM,GRU,TransformerNet等)相关的算法和项目的繁荣。 运行良好的语音转文本算法和机器翻译系统已经出现。 它们在某种程度上基于卷积网络来突出基本特征。 部分原因是他们学会了收集真正的大数据集。



“泡沫破裂了吗?” 炒作过热吗? 他们像区块链一样死了吗?”
好吧! 明天Siri将停止在您的手机上工作,第二天,特斯拉将不会区分是袋鼠还是转向。

神经网络已经在起作用。 它们存在于数十种设备中。 它们确实使您能够赚钱,改变市场和周围的世界。 炒作看起来有些不同:



只是神经网络已不再是新事物。 是的,很多人都寄予厚望。 但是,许多公司已经学会了使用神经元并基于它们来制造产品。 神经元提供了新的功能,可以减少工作,降低服务价格:

  • 制造公司集成了用于分析传送带上次品的算法。
  • 畜牧场正在购买控制奶牛的系统。
  • 自动收割机。
  • 自动呼叫中心。
  • 在Snapchat中过滤。 ( 嗯,至少是明智的选择!

但是最主要的,但不是最显而易见的是:“没有更多的新想法,否则它们将不会带来即时的资金。” 神经网络解决了许多问题。 他们将做出更多决定。 所有显而易见的想法-催生了许多创业公司。 但是表面上的所有东西都已经被收集了。 在过去的两年中,我还没有遇到使用神经网络的任何新想法。 并不是一个新的方法(好吧,GAN有一些问题)。

而且每个下一个创业公司都越来越复杂。 它不再需要两个在开放数据上训练神经元的家伙。 它需要程序员,服务器,划线员团队,复杂的支持等。

结果,启动的公司减少了。 但是产量更多。 需要附加车牌识别功能吗? 市场上有数百名具有相关经验的专业人员。 您可以雇用,然后您的员工将在几个月内创建一个系统。 或购买成品。 但是,做一个新的创业公司吗..疯狂!

我们需要建立一个用于跟踪访客的系统-为什么要花一堆许可证来支付,如果您可以自己进行3-4个月,就可以为您的业务加分。

现在,神经网络与其他数十种技术一样。

还记得1995年以来“站点开发人员”的概念是如何变化的吗? 虽然市场还没有被专家所饱和。 专业人员很少。 但是我敢打赌,在5到10年内,Java程序员和神经网络开发人员之间不会有太大差异。 而这些专家将足以满足市场需求。

神经元将仅解决一类任务。 有一项任务-聘请专家。

“然后呢? 承诺的人工智能在哪里?”

这里有一个小而有趣的neponyatchka :)

显然,当今存在的技术堆栈仍不会将我们引向人工智能。 想法,其新颖性,在很大程度上耗尽了自己。 让我们谈谈当前发展水平的保持情况。

局限性


让我们从自动无人机开始。 似乎可以理解,利用当今的技术可以制造出全自动驾驶汽车。 但是,多少年后会发生这种情况尚不清楚。 特斯拉(Tesla)相信这会在几年内发生-


还有许多其他专家将其评为5-10岁。

我认为,极有可能在15年之后,城市的基础设施本身将发生变化,从而自动驾驶汽车的出现将不可避免地继续下去。 但这不能算是智力。 现代特斯拉是一个非常复杂的管道,用于过滤,搜索和重新训练数据。 这些是规则,规则,规则,数据收集和位于其上方的过滤器( 在这里我写了一些有关它的内容,或者从这一点来看)。

第一个问题


在这里,我们看到了第一个基本问题 。 大数据。 这正是产生当前神经网络和机器学习浪潮的原因。 现在,要执行复杂而自动的操作,您需要大量数据。 不仅很多,而且非常非常多。 我们需要自动算法来收集,标记和使用它们。 我们想让汽车看到卡车在阳光下-我们必须首先收集足够数量的卡车。 我们希望汽车不要因自行车拧到后备箱而发疯-更多样本。

而且,仅举一个例子是不够的。 几百个? 几千?



第二个问题


第二个问题是我们的神经网络了解的可视化。 这是一项非常重要的任务。 到现在为止,很少有人了解如何可视化它。 这些文章是最新的,这些只是一些示例,甚至是远程的示例:
可视化纹理固定。 它很好地显示了神经元倾向于循环运动的内容以及她所感知的初始信息。

图片
翻译过程衰减的可视化 。 实际上,通常可以精确地使用衰减来显示引起这种网络反应的原因。 我遇到了用于调试和产品解决方案的东西。 关于此主题的文章很多。 但是,数据越复杂,就越难理解如何实现可持续的可视化。

图片

好的,是的,这套好的旧设置是“看看过滤器内部的网格是什么”。 这些图片大约在3-4年前很流行,但是每个人都很快意识到这些图片很漂亮,但是它们没有太多意义。

图片

我没有提及其他许多关于如何显示网络内部的乳液,方法,黑客,研究。 这些工具有效吗? 他们是否可以帮助您快速了解问题所在并调试网络?..拿出最后一个百分比? 好吧,像这样:



您可以在Kaggle观看任何比赛。 并描述人们如何做出最终决定。 我们到达了100-500-800 mulenov模型,它起作用了!

当然,我夸张了。 但是这些方法没有给出直接的直接答案。

有了足够的经验,提出了不同的选择,您可以对系统做出此决定的原因作出裁决。 但是纠正系统的行为将很困难。 放置拐杖,移动阈值,添加数据集,使用另一个后端网络。

第三个问题


第三个基本问题是网格不教逻辑,而教统计。 统计上这个

图片

从逻辑上讲-不太相似。 如果不强制,神经网络不会学习复杂的东西。 他们总是学习最简单的症状。 有眼睛,鼻子,头吗? 所以这脸! 还是举个例子,眼睛不会代表脸。 再有,数以百万计的例子。

底部有足够的空间


我要说的是,这三个全球性问题今天限制了神经网络和机器学习的发展。 这些问题不仅仅局限于这些问题,已经得到了积极的应用。

这是结束吗? 神经网络起床了吗?

不明 但是,当然,每个人都希望不会。

解决上述基本问题的方法和方向很多。 但是到目前为止,这些方法中没有一个允许我们从根本上做一些新的事情来解决尚未解决的问题。 到目前为止,所有基础项目都是在稳定方法的基础上完成的(Tesla),或者仍然是机构或公司的测试项目(Google Brain,OpenAI)。

粗略地说,主要方向是创建输入数据的一些高级表示。 从某种意义上说,是“记忆”。 内存的最简单示例是图像的各种“嵌入”表示。 好吧,例如,所有的面部识别系统。 网络学会从脸上获得一个不依赖于旋转,照明,分辨率的稳定想法。 实际上,网络使“不同的面孔-远离”和“相同的-接近”的度量最小化。



这样的训练需要成千上万的例子。 但是结果带来了一些“一次性学习”的雏形。 现在,我们不需要数百张面孔就能记住一个人。 一张脸,就是这样-我们会发现的
问题就在这里...网格只能学习相当简单的对象。 当试图区分的不是面孔,而是例如“穿衣服的人”( 重新识别任务 )时,质量会下降很多数量级。 并且网络不再能够学习足够的明显角度变化。

从数以百万计的示例中学习也同样是一种娱乐。

有工作可以大大减少选举。 例如,您可以立即回忆起第一批Google OneShot Learning 作品之一



有很多这样的作品,例如123

有一个缺点-通常,训练在一些简单的“ MNIST'ovskie示例”上效果很好。 在过渡到复杂任务时,您需要一个大型基地,一个对象模型或某种魔术。
通常,一站式培训是一个非常有趣的话题。 您会发现很多想法。 但是在大多数情况下,我列出的两个问题(在庞大的数据集上进行预训练/在复杂数据上不稳定)非常阻碍学习。

另一方面,GAN-生成竞争网络-接近嵌入。 您可能在哈布雷(Habré)上阅读了许多有关此主题的文章。 ( 1,2,3
GAN的一个功能是形成一些内部状态空间(本质上是相同的嵌入),这使您可以绘制图像。 可以是 ,可以有行动

图片

GAN问题是,生成的对象越复杂,用“生成器-区分符”逻辑描述它就越困难。 结果是,从GAN的实际应用程序中只能听到DeepFake的声音,而DeepFake再次操纵了个体的表示(为此而建立了巨大的基础)。

我很少遇到其他有用的应用程序。 通常带有绘画图片的口哨声。

再来一次 没有人知道这将如何使我们走向更光明的未来。 在神经网络中表示逻辑/空间是好的。 但是我们需要大量示例,我们不了解该神经元本身的表达方式,也不了解如何使神经元记住任何真正复杂的想法。

强化学习是一种完全不同的方法。 您肯定会记得Google如何在Go中击败所有人。 《星际争霸》和《 Dota》最近的胜利。 但是,这里的一切远非如此乐观和乐观。 关于RL及其复杂性最好的是本文

简要总结一下作者写的内容:

  • 开箱即用的模型在大多数情况下不适合/工作不佳
  • 实际任务更容易以其他方式解决。 由于其复杂性/不可预测性/计算复杂性,Boston Dynamics不使用RL
  • 为了使RL正常工作,您需要一个复杂的功能。 通常很难创建/编写。
  • 训练模型很困难。 我们必须花很多时间摇摆并摆脱局部最优
  • 结果,很难重复模型,模型的不稳定性在丝毫变化下
  • 它通常会在某些左模式上过度填充,直到随机数生成器为止

关键是RL尚未在生产中起作用。 Google进行了某种实验( 1,2 )。 但是我还没有看到一个单一的杂货店系统。

记忆体 上面描述的所有缺点都是非结构化的。 解决所有这些问题的一种方法是为神经网络提供对单独内存的访问。 这样她就可以记录和重写在那里的步骤结果。 然后,可以通过内存的当前状态确定神经网络。 这与经典处理器和计算机非常相似。

最著名和最受欢迎的文章来自DeepMind:

图片

看来,这是理解智力的关键吗? 而是,不。 系统仍然需要大量的数据进行培训。 它主要用于结构化表格数据。 同时,当Facebook 解决了类似的问题时,他们采取了“观察记忆的方式,只是使神经元变得更加复杂,但是有了更多的例子,它就会自我学习”。

纠缠 。 创建有意义的记忆的另一种方法是采用相同的嵌入,但是在学习引入其他准则时,这些准则将使您可以突出其中的“含义”。 例如,我们想训练一个神经网络来区分一个人在商店中的行为。 如果要遵循标准路径,则必须建立多个网络。 一种是寻找一个人,第二种是确定他在做什么,第三种是他的年龄,第四种是性别。 单独的逻辑着眼于他做/学习的商店部分。 第三个确定其轨迹等。

或者,如果有无限多的数据,则有可能针对各种结果训练一个网络(显然,无法键入这种数据数组)。

失望的方法告诉我们-让我们训练网络,以便它本身可以区分概念。 为了让她在视频中形成嵌入,一个区域将决定动作,一个区域-时间在地板上的位置,一个-人的身高,另一个-他的性别。 同时,在培训期间,我几乎永远不会向网络提出这样的关键概念,而是让它本身确定并分组区域。 这样的文章很少(其中一些是1,2,3 ),并且总的来说它们是理论性的。

但是这个方向,至少在理论上,应该涵盖一开始列出的问题。

图片

根据“墙壁颜色/地板颜色/​​物体形状/物体颜色/等”参数对图像进行分解



根据“大小,眉毛,方向,肤色等”参数分解脸部

其他


还有许多其他并非如此的全球性指导,使我们能够以某种方式减少基础,使用更多异构数据等。

注意 。 将其隔离为单独的方法可能没有任何意义。 只是一种增强他人能力的方法。 关于他的文章很多( 1、2、3 )。 注意的意思是在训练过程中加强网络对重要物体的反应。 通常是由某些外部目标指定的,或者是小型外部网络。

3D模拟 。 如果您制作好的3D引擎,通常可以用它关闭90%的训练数据(我什至看到一个例子,其中好的引擎关闭了将近99%的数据)。 关于如何使经过3D引擎训练的网络能够处理真实数据(精细调整,样式转换等)的想法和技巧很多。 但是通常要使一个好的引擎比收集数据困难几个数量级。 制作引擎的示例:
机器人训练( GoogleBraingarden
学会识别商店中的商品(但是在我们执行的两个项目中,我们从容地放弃了这一点)。
在特斯拉进行培训(同样,上面的视频)。

结论


从某种意义上说,整篇文章是结论。 我想做的主要信息可能是“免费赠品已经结束,神经元没有给出更简单的解决方案”。 现在,我们必须努力构建复杂的解决方案。 或努力做复杂的科学报告。

一般而言,该主题值得商bat。 也许读者有更多有趣的例子?

Source: https://habr.com/ru/post/zh-CN455676/


All Articles