什么是机器学习?

机器学习是一种计算机程序,它可以在没有明确指令的情况下学习如何执行任务。

学习目标

阅读本文后,您将能够:

  • 定义机器学习
  • 解释机器学习的工作原理
  • 区分机器学习模型和算法

复制文章链接

什么是机器学习?

机器学习指的是一种无需明确指令即可学习的统计算法。这使它能够通过从实例中归纳总结,独立完成某些任务,如模式识别。机器学习是人工智能 (AI) 的一部分,人工智能是指计算机复制人类认知活动的能力。

机器学习用途广泛,其中包括:

  • 识别垃圾电子邮件
  • 检测机器人活动
  • 在流媒体平台和社交媒体应用程序上向用户推荐内容
  • 提供搜索引擎结果
  • 语音和图像识别
  • 聊天机器人和语言翻译
  • 医学研究

机器学习与 AI

机器学习与 AI 并不完全是一回事;机器学习作为一门学科,属于 AI 的范畴。但并非所有的 AI 都涉及机器学习,因为 AI 还包括一系列其他能力。

机器学习如何工作?

机器学习以输入和输出为基础。向机器学习算法提供数据(输入),它就会产生结果(输出)。机器学习模型可以通过三种主要方法来“学习”产生什么样的输出结果:

1. 监督式学习

对于最基本的机器学习程序来说,程序员需要整理出一组示例输入和正确输出。机器学习算法试图从这些示例中进行归纳,以便在它自行提供一个输入时,能够产生所需的输出。

试想一下,如果给一位厨师一个装满食材的厨房(输入)和一份菜单,菜单上有大量菜肴的成品范例(输出)。通过以不同的方式组合配料,并将成品与范例菜肴进行比较,厨师最终可以制定出必要的食谱来制作菜单上的菜品。同样,监督式学习能让算法学会如何在没有程序指令(或食谱)的情况下产生正确的结果。

2. 无监督学习

无监督学习是指为更先进的机器学习算法提供原始数据。然后,它会自行识别模式。可以想象成厨师的技能是否足够娴熟,只需翻看菜单,就能想出制作这些菜品的食谱。

3. 强化学习

在这种学习方式中,机器学习算法通过反馈来训练。有“良好”的输出和“不良”的输出,随着时间的推移,它会学会如何避免不良的输出。

强化学习是一个不断试错的过程。想象一下,厨师一开始并没有菜单,而是由一位美食评论家对他们烹饪的每一道菜进行评估。最终,厨师能够在排除所有食评家不喜欢的菜品后,策划出一份美食评论家喜欢的菜品清单。

什么是机器学习模型?

算法是一组预先编程的步骤;机器学习模型则是将算法应用于数据集合时产生的结果。尽管有这种区别,但“机器学习模型”和“机器学习算法”这两个术语有时还是可以互换使用的。但这种差异非常重要:只要每个模型的起点数据不同,即便是使用相同的算法,两个机器学习模型也会产生不同的结果。

什么是深度学习?

深度学习是机器学习的一种。它使用神经网络来学习识别原始、非结构化数据中的模式并建立关联。深度学习是无监督学习,可以执行极其复杂的任务。它通常用于语音识别、自动驾驶和其他先进应用。

什么是神经网络?

神经网络是一种模仿人脑结构的机器学习方法。神经网络由相互连接的节点组成。这些节点至少分布在三个层上:输入层、输出层和一个或多个隐藏层。

每个层都包含几个相互连接的节点。如果一个节点认为数据重要,则它会将数据传递给下一个节点。

回想一下厨师在厨房里工作的情景:

  • 如果厨师要做一个蛋糕,他们可能会先检查储藏室里的配料,这就好比神经网络的输入层。
  • 厨师选择面粉、鸡蛋、糖和可可粉等配料。而鸡汤或米饭等配料则不在选择之列。这就好比把具有统计意义的数据传递给下一个节点。
  • 厨师以各种方式将原料混合在一起——搅拌蛋糕糊、制作糖霜等。可以把它想象成神经网络的隐藏层,节点之间互相传递数据。
  • 最后,厨师要烘烤、上霜并端上蛋糕,这就好比输出层。在此过程中,不相关或不正确的数据(如不必要的配料和不正确的混合组合)被剔除。

什么是向量数据库?

向量数据库是一种用于存储数据的方法,可增强机器学习能力。向量数据库允许进行相似性搜索和识别相关项目,而不是精确匹配查询。以这种方式存储数据有助于机器学习模型理解其接收到的输入的上下文。

向量数据库将项目存储在一个具有不同维度的矩阵中,并用向量指定数据的每个项目在这些维度上的位置。这样一来,机器学习模型就能找到与其他数据相关的数据。例如,流媒体平台可以将机器学习与向量数据库结合使用,根据观众过去的观看记录,确定向其推荐哪些电影。

构建机器学习模型面临哪些挑战?

数据出口:即使是最先进的深度学习模型,也需要访问海量数据集才能获得准确的结果。云存储是保存这些大数据集的理想选择,因为云计算几乎可以无限扩展。然而,访问这些数据往往会产生出口费用:云提供商从存储中传输数据的费用。

计算能力和基础设施:机器学习(尤其是深度学习)需要大量的计算能力。机器学习模型需要使用昂贵的专用硬件或云服务,例如,多个由 GPU 驱动的快速服务器。(图形处理单元 (GPU) 比传统 CPU 的计算能力更强)。

Cloudflare 如何帮助开发人员构建机器学习?

Cloudflare 提供一系列服务,让任何人都能轻松使用机器学习。Cloudflare Workers AI 是一个全球 GPU 网络,开发人员可利用它来运行生成式 AI 任务。Cloudflare Vectorize 使开发人员能够使用全球分布式向量数据库。此外,Cloudflare R2 是没有出口费用的对象存储,使开发人员能够在云中存储大型数据集,并免费传输数据。了解有关 Cloudflare for AI 的更多信息。