人们必须告诉人工智能它应该使用哪种算法吗?人工智能可以自己学习算法吗?

人工智能 机器学习 算法
2021-10-29 12:54:03

我是机器学习的大一新生。我们都知道我们的生活中有两种问题:人类可以解决的问题和我们无法解决的问题。对于人类可以解决的问题,我们总是尽力写一些算法,让机器一步步跟着它,最终机器像人一样行动。

我很好奇的是这些人类无法解决的问题。如果人类自己无法总结得出算法(也就是说我们自己不知道如何解决问题),机器能解决问题吗?即机器能否根据大量的问题数据,自行总结得出一个算法?

4个回答

有些问题我们没有已知的、最优的、确定性的算法。总的来说,我们使用启发式方法来“解决”这些问题。一个密切相关的想法是满足,我们寻找“足够好”的答案以用于直接目的。

同样,机器也可以使用启发式算法,无论它们是明确编程的,还是可能是学习的。在机器可以使用启发式的方式范围内,有元启发式超启发式

除此之外,还有其他方法可以让机器学习“算法”或“规则”来解决问题。我特别感兴趣的一个是规则归纳

顺便说一句,这都是一个开放和积极研究的领域......所以如果你有兴趣探索这些方法中的任何一种,你可能会发现很多地方可以覆盖。

我还想提供一个稍微不同的关于机器的观点,不能比它的主人更好。考虑内容分类器的非常简单的情况。对于某些领域,分类和预测已经到了可以比人类更好地执行的地步。虽然人类可能已经设计了“算法”,但该算法很可能是一个循环中性网络或其他可以自我训练的 ML 形式。在这些情况下,我们实际上并不了解或不需要了解网络中的各个权重,因为我们需要传统上了解我们用来编写的命令式编程结构。它只是工作。

因此,如果我们开发了一种元算法,用于对问题进行分类并构建比我们手动更优化的深度学习解决方案,但我认为这几乎会让我们在很多问题空间中脱颖而出。想法?

所有的智能,无论是人类还是机器,都是机械的。想法不会突然出现;它们是通过特定过程生成的。

这意味着如果一台机器生成一个算法来解决一个问题,即使对象级算法不是由人类生成的,它生成对象级算法的元级算法也一定来自某个地方,并且某处可能是它的原始创造者。(即使他们没有编写元级算法,他们也可能编写了编写元级算法的元元级算法,等等。)

您如何看待这些区别取决于您如何看待机器学习,但通常它们相当小。例如,当我们训练神经网络对图像进行分类时,我们并没有告诉它要关注哪些像素或如何组合它们,这是它最终生成的对象级算法。但我们正在告诉它如何从训练数据构建对象级算法,我称之为“元级”算法。

开放的问题之一是如何构建元元级别;也就是说,一种算法能够查看数据集并确定要训练的模型,然后最终使用哪个模型。理想情况下,这将包括对这些元级别模型的足够理解,以根据需要构建新的模型,但即使它不反映机器学习可用性方面的重大进步。

这里的新人,请放轻松,因为这个答案将来自个人经验,并且可能有点哲学。

我设计的每个算法都是为了系统地解决和解决特定情况下的特定问题,每个算法都有一个最终目标。将算法视为问题的解决方案。在我作为程序员的职业生涯中,这条规则一直困扰着我(它来自我最喜欢的计算机科学教授):“如果没有解决方案,那么就没有算法。如果没有算法没有机器可以解决问题。”

机器可以生成自己的算法吗?最有可能的。但并不是说它会超过我们(并且超过,我指的不仅仅是速度)。人工智能永远无法使用人类永远无法想出的方法解决问题,因为我们对人工智能进行了编程,以解决问题,就像我们人类一样