如果机器学习技术不断改进,那么算法学在未来的作用是什么?


23

让我们看一下距现在约30年的未来。让我们保持乐观,并假设与机器学习相关的领域正在像过去十年中一样迅速发展。那会很好,但是在这样的未来,传统算法将扮演什么角色呢?

在这里,通过“传统算法”,我指的是我们在TCS中遵循的通常过程:形式化定义明确的计算问题,设计用于解决该问题的算法,并证明形式上的性能保证

现在,将来我们也必须在哪些应用领域中使用传统算法设计和分析,并且机器学习的任何进步都将使传统算法几乎不再相关是极不可能的?

起初,这似乎是一个愚蠢的问题:当然,将来我们还需要能够进行排序,搜索,索引等工作!当然,我们将需要能够高效地进行傅立叶变换,乘以大矩阵,找到最短路径,解决线性优化问题!

但话又说回来,一旦您开始更深入地研究我们传统上使用设计算法的应用程序,则完全不清楚传统算法的设计和分析是否可以正确解决此类问题:在与搜索相关的应用程序中,通常,我们感兴趣的是找到在某种模糊不清的意义上(例如语义相似性)与人类紧密匹配的事物,而不是在数学意义上(例如最小编辑距离)最优的事物。在与路线计划有关的应用中,通常我们会对基于示例(例如,其他人更喜欢)的路线找到感兴趣的路线感兴趣,而不是在某些数学意义上(例如,最短距离或最便宜的价格)找到最佳路线。而且,一旦您在图片中出现一些模糊不清的人为成分,可能是我们最好尝试教导计算机根据示例生成好的答案,而不是让TCS研究人员提出来我们可以通过传统的算法设计和分析来解决形式化的计算问题。

那么,在哪些应用领域(最好是实际的和直接的工业应用)中,绝对清楚的是,我们过去在算法学领域所做的工作也将是正确的方法(也是唯一可能的方法),从而在未来?

在机器学习技术中用作子例程的算法看起来很像是面向未来的候选方法,但这在很大程度上取决于我们使用的特定机器学习技术,正如我们在过去十年左右的时间里看到的那样,这种情况可能会迅速改变。 。


2
nccncε

4
我对这些方法是排他性的观点表示怀疑。我们是否有理由认为,不可能正式定义机器学习算法可以解决的问题,并无法建立分析其性能的良好理论模型?这可能需要针对数据驱动算法的更好模型(我认为这是描述性很高的算法),但是这是无法克服的障碍吗?
Neal Young

Answers:


6

这个问题最近困扰着我,所以很高兴您提出这个问题。
但是,与对(传统)算法领域的发展所产生的影响相比,我对分类机器学习将主导计算方法的应用领域兴趣不大。在30年后,我们仍会对什么样的“人工算法”研究感兴趣?诚然,这通常是一个较难回答的问题,因为是由应用程序确定所需的结果质量。

我认为枚举算法将在幸存者中占据一席之地。仍然需要测试芯片的所有输入或进行详尽的搜索。特定于对象的注意力,即精确地(或至少一次)生成每个对象实例所需的微调设计;以及任何浪费精力的运行时间放大(实例的数量可能随对象的描述而变)–这些因素让我怀疑通用的自动学习过程是否可以匹配一个聪明的,在这方面专门设计的解决方案。


4

机器学习解决方案的问题在于,无法知道它们是否真的计算出您想要的东西。

我希望他们能够接管错误结果不会造成灾难性影响的所有领域(例如,我们目前使用启发式方法的所有地方),或者可以轻松地检查结果(您知道解决方案存在的搜索问题(因为检查“是没有解决方案”可能很难))。

对于其余的域,我希望算法会越来越频繁地被正式证明(例如,使用Coq / Gallina)。希望机器学习最终将使诸如纸上(甚至更简单)这样的系统中的证明工作变得容易。它甚至可以达到人类仅编写规范的程度,并且使用机器学习可以找到算法及其正确性证明。(请注意,该算法本身不使用机器学习,但是使用机器学习找到了它及其正确性证明)

因此,我们可能会发现自己只编写证明助手,程序规范和机器学习算法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.