你对科幻小说中描绘的人工智能的想法非常着迷,以至于你经常沉浸在幻想中,想象着拥有一台能够理解并执行你所有命令的智能电脑。这种对未来技术的憧憬成为了你踏入编程世界的初衷,并促使你在大学里选择了计算机科学作为你的专业。但随着学习的深入,你逐渐意识到,传统的人工智能并不像科幻小说中那样神奇,它更多的是在不同的应用场景中应用各种搜索算法。然而,在这个过程中,你意外地发现了一个更加吸引人的领域——机器学习和深度学习。虽然从严格的技术角度来看,深度学习是机器学习的子集,而机器学习又是人工智能的一个分支,但你发现,所谓的ML部分其实远远超出了传统AI的能力和潜力。
机器学习和深度学习的独特之处在于,它们使系统能够观察和学习应该如何完成特定任务,而不是通过硬编码的方式预设每一个动作。这种自我学习的能力使得AI系统显得更加智能和自适应。然而,这也带来了新的挑战:你发现管理这样的系统远比编写传统程序要复杂。你需要考虑算法的结构设计,同时还要处理数据的收集、清洗和预处理等一系列复杂的步骤。这些步骤都对最终程序的性能有着直接的影响。有时候,你会觉得如果自己从头编写程序会更加直接和容易控制。但另一方面,当资源充足,你真正掌握了ML和DL的精髓时,你会发现它们的表现通常远超任何传统的编程方法。
这种新发现不仅仅改变了你对AI的认识,也极大地激发了你对于未来技术可能性的想象。你开始思考,如果能够有效地结合机器学习的自适应性和人类的创造力,那么未来的技术将会是怎样一番景象。你意识到,尽管机器学习在实现过程中有其复杂性和挑战,但它所带来的机遇和可能性是无法估量的。你开始更加专注于如何让这些智能系统更好地理解复杂的人类指令,更好地适应多变的环境,以及如何使它们能够在解决实际问题时展现出比传统方法更高的效率和准确性。
那么,它是如何工作的?
在这篇文章和即将发表的类似文章中,我希望能够介绍一些 ML 和 DL 的起点和常见缺陷。那些在我学会之后帮助了我很多的事情或者那些让我挣扎了很久的事情。这些可能不是你所希望的那种复杂的东西,但它们仍然很重要。闲话少说,我们开始吧。
那么,包括深度学习在内的机器学习算法能做什么呢?这取决于具体情况,但通常它是一个接受输入并产生输出的函数,并且取决于它们是什么,它是下列事物之一(或者它们二者相结合) :
在这种情况下,函数 f 决定输入属于哪个类别。常见的例子是图像分类,算法决定它看到的是猫还是狗。当然,它也可以更复杂,同时对数百种其他事物进行分类。另一个例子是垃圾邮件检测,在这里,给定一封电子邮件,算法必须决定它是不是垃圾邮件。
回归算法尝试将数值分配给数据,例如,根据房屋的描述来估计其价格,比如房屋有多少房间和浴室,或者位于城市的哪个部分。
生成算法基于之前所见尝试创造新事物,比如通常出现在新闻中的诗歌生成或面部生成。
聚类与分类有些相似,但不是将每个项目分配到预定义的类别,而是将看起来相似的数据聚集在一起。这有助于我们识别具有相似行为的用户,或发现不规律的银行活动,以帮助保护你的身份。
控制算法正如其听起来的那样,它控制一个系统,如机器人,并决定它接下来应该做什么。
当然,这些不是唯一的类别,还有许多其他类别,但这是一个开始。接下来,让我们看看我们拥有的训练数据类型:
算法的另一个有用分类是基于它们的训练数据,即它们需要什么来进行训练?
监督算法需要输入/预期输出对进行训练。这些通常是上面提到的分类或回归方法。它们是开始学习机器学习的好地方,因为它们可以在不太复杂的情况下给你一个基本的了解。
无监督学习与监督学习完全相反,它们只需要输入,机器不需要任何标签或输出,将完全基于输入类型进行学习。通常生成和聚类属于这一类别。
半监督学习背后的思想很简单,我们取之前方法的优点…并舍弃它们。所以我们不是对每个输入都有预期输出,而只是对我们数据的一小部分这样做,并将其余的留下未标记。然后算法使用它们来改进自己的行为。
强化学习没有输入和预期输出,相反,我们有输入和一个评分器。基本上,在每个输出后,评分器查看结果并给出一个评分。例如,在训练行走机器人时,评分器可能会考虑它的行走方式有多接近人类,速度有多快,以及它摔倒了多少次。然后系统学习获得最好的评分,从而学会更好地行走。强化学习在许多地方被使用,如上面提到的控制算法。
因此,我们已经决定了我们的输出类型,以及我们拥有的输入类型,然后我们需要看看模型实际上是什么。
ML中的模型就像编程中的应用程序。它具有算法,并可能在数据集上进行训练。从外部来看,我们可以将模型视为一个黑盒函数,它接受输入并产生输出,我们不知道它是如何做到的,也不需要知道。
但有一件事我们需要知道关于模型的,那就是它的表现如何?我们可以在下一篇文章中探讨这个问题和一些其他类似的问题!