机器学习。它向你展示了你的抖音推荐,让百度能够展示你的搜索,淘宝展示你所想购买的商品,这种可怕的技术终有一天会接管世界。但其真正的底层是什么?让我们来深入看看🧐

基础

任何 AI 算法实际上都只是一个庞大的数学问题。你获取一堆输入,对这些输入执行数百个方程式,然后得出所需的输出。

Credit: Tara Prole

这些圆圈🔵中的每一个都代表一个数学方程式。两个圆圈之间的每条线代表一个变量或权重,它是在称为训练的过程中“学习”的。权重允许确定这些圆圈或神经元之间不同强度的关系,这可以帮助神经网络找出最终的分类或预测。连接越强,权重值就越高。

为了学习赋予机器学习算法独特的基于连接的值的权重值,神经网络需要数据。神经网络中常用的数据集的一个示例是 MNIST - 存储在图像文件中的大量手写数字集合,每个都由其中包含的数字标记。

MNIST 数据集

机器学习算法采用这个庞大的数据集并学习可用于确定如何获得该输出的模式。训练数据使计算机可以查看数千个示例以完善其技术。测试数据允许程序员测试他们的算法在训练集中找不到的数据上的执行情况。

以下是 MNIST 数据集的训练过程中会发生的情况:

  1. 所有的手写数字图像都被输入到模型中。
  2. 每个图像中的像素序列乘以一组权重。然后将产品送入下一层。
  3. 这个过程一层一层地继续,直到到达输出层。
  4. 另一个函数,在本例中为softmax 函数,应用于该输出层中的一组值……
  5. 计算预测(数字分类的标签),并与地面实况标签进行比较,地面实况标签是包含在原始数据集中的标签,用于说明图像实际属于哪个类别。

不难,对吧?等等-我们还没有完成。神经网络的真正魔力发生在计算预测之后,这与你可能相信的相反。训练过程以一种称为反向传播的方式达到高潮,它允许程序返回并调整它认为有助于神经网络在未来表现更好的任何数字。

它通过计算损失值来做到这一点,损失值是模型在数据上执行得好(或差)的一个指标。根据使用的数据类型,有许多不同的损失函数用于计算此值。

优化器获取该损失值,使用它来确定模型的错误有多严重,并相应地调整模型的权重。调整模型后,训练过程再次开始。每次运行这个过程被称为一个单一的时期。

所以这是你的总结:

1.将输入输入模型
2.乘以一组权重,重复!
3.将 softmax 函数应用于输出
4.softmax 的输出用于预测类标签
5.使用损失值和优化器返回并修复导致问题的权重(反向传播)

一旦运行了所需数量的 epoch 以获得性能良好的模型,训练过程就完成了。然后在指定的测试数据上测试模型的性能,并准备在现实世界中应用😎

神经网络的基本类型及其用途
本节包含不同类型的 ML 模型以及它们的一般用途。我还将链接到我的其他文章,以便你了解更多信息!

CNNs-卷积神经网络。主要用于对图像数据的操作,例如对不同种类的路标或水果进行分类,当你查看手机相机告诉你图片中植物种类的应用程序,这就是 CNN。

MLPs-多层感知器。用于股票分析、垃圾邮件检测、路线规划和选举投票预测等任务。当你浏览你的电子邮件收件箱并注意到一些电子邮件已进入垃圾邮件部分时,这可能是受过训练以识别网络钓鱼和诈骗的 MLP 的工作。

RNNs-循环神经网络。用于项目序列很重要的任务,例如视频分类或语音标记。当你将视频上传到 YouTube 时,系统会对其进行扫描,以确定是否存在潜在的版权侵权行为。这很可能是一个 RNN 在工作,因为必须考虑视频帧和音频文件的序列才能正确处理它。

强化学习——用于当你想教计算机一项技能时。使用积分系统强化和重复期望的动作,而以同样的方式阻止不需要的动作。例如,智能人工视频游戏的敌人可以使用强化学习来学习如何正确玩游戏。

总结

1.简单地说,人工智能算法是一个非常大的数学问题。
2.图像或数据集等输入乘以一组权重,这些权重在训练过程中进行了最佳调整,以最好地执行手头的任务。
3.在经过这些权重乘法的“层”之后,就到达了输出层。
4.将函数应用于输出层以达到可用于做出现实世界决策的最终预测或分类。
5.有许多不同种类的神经网络,每一种都用于自己独特的任务类型(图像识别、基于数据的预测、学习新技能等)。