边缘人工智能是指直接在边缘设备上运行的机器学习算法的形式使用人工智能。这里的“边缘设备”指的是网络边缘的设备,例如智能手机、传感器、工业机器人等。这些设备具备数据处理和机器学习算法运行的能力,可以在本地进行必要的数据操作并发送,从而节省时间并提高数据处理效率。
边缘人工智能的发展离不开边缘计算和机器学习技术的进步。边缘计算是一种分布式计算范式,它将计算任务和数据存储从中心化的云端推向网络的边缘,使得设备可以在本地处理和分析数据,减少对云端的依赖。而机器学习则是一种基于数据驱动的算法,它使计算机可以从数据中学习并自主提高在给定任务上的性能。
边缘人工智能的应用场景非常广泛,包括但不限于计算机视觉、语音识别、自然语言处理、天气和股市预测、推荐系统、异常检测、预测性维护等。这些应用可以在边缘设备上实时处理和分析数据,提供更快、更准确的响应和决策。
边缘人工智能代表了第一波真正将未来技术融入家庭的浪潮。随着5G、物联网(IoT)等其他数字技术的不断发展,边缘人工智能的应用将会更加广泛和深入。例如,通过物联网连接的各种智能设备生成的数据可以输入到边缘人工智能设备中,作为数据的临时存储单元,直到与云同步。这种数据处理方式具有更大的灵活性,可以更好地满足各种应用场景的需求。
总之,边缘人工智能是一种将人工智能和边缘计算相结合的技术,它可以在边缘设备上直接运行机器学习算法,实现更快、更准确的数据处理和分析。随着技术的不断发展,边缘人工智能将会在各个领域发挥越来越重要的作用。
此图片来源于网络
AI 和嵌入式 设备正在迅速 发展,并越来越多地 在全球范围内被采用。从装配线上的缺陷检测, 到用于农作物监控和 农业疾病检测的 智能监控和安保摄像头, 我们都能看到它们的身影。
但我们的 挑战是:如何开始? 假设有经典计算机 视觉方面的背景, 那么如何将这些 知识和经验 转化为边缘人工智能和 最新的深度学习技术? 是否拥有 足够的专业技能和知识? 是否有合适的 资源、软件和工具? 这需要多少费用?
一般来说, 我们可以把 AI 机器学习和深度学习 看作是彼此的子集。人工智能就是 我们认为的利用类似 人类的智慧通过计算机 来完成任务。我们如何生成算法, 帮助计算机 像我们一样看待世界? 音频和视觉 是其中的两个 核心应用领域。
再深入一步说, 机器学习使用的是 算法,这些算法 专门试图通过数据 找到解决问题的 模式和方法, 获取大量数据, 并将这些数据 作为解决问题的基础。
而深度学习则在 此基础上更进一步, 它使用非常非常庞大的 算法来实现这一目标。它通常允许我们使用 更多的原始数据输入, 如 RGB 图像或 音频采样流。要做到这一点,我们 通常需要非常庞大的模型, 这些模型需要大量的数据, 这样才能调整大量的参数。
与传统计算相比, 使用机器学习和 深度学习确实 有一些相当 显著的优势。我将经典计算称为 专门编写的算法, 即,使用 if 语句、 for 循环和 通用结构来运行算法。相比之下,机器 学习使用的是 通用算法,所有 这些参数都需要 通过数据来设置。因此,这些 机器学习算法的 可扩展性更强,因为 它们可以完成各种任务, 而不需要您学习如何 专门编写这些代码。它们所需的研发工作较少。这是一个非常热门的 研究课题。因此看到这种 模式正在蓬勃发展, 这样就可以使用 大量这些模型和工具, 而无需自己开发。
一般来说,机器 学习和深度学习 更准确。这方面的应用相当广泛, 而且越来越多。这种 应用的主要领域之一是 驾驶辅助系统, 简称 ADAS。在机器视觉和 缺陷检测领域 也有同样的发现, 相应产品非常 迅速地进入封装线。在安防和家庭自动化 摄像头中也能看到这一点。在监控系统中, 您可能拥有 长达数小时的录像。但是,将其转化为 可以采取行动的依据, 比如在几秒内 快速反应,语音识别和文本 分析也是如此。像 ChatGPT 这样的大型语言模型 正变得越来越流行。
边缘基本上就是我们运行 所有这些应用的地方, 我们并不是在几乎无限的 计算服务器平台上运行, 而是在嵌入式 处理器或微控制器上 运行。这样做有几个好处。在时间关键型或 安全关键型应用中, 我们经常看到的 好处之一就是 它能减少延迟。对于监控等应用来说, 隐私非常重要, 要将数据保存在 收集数据的设备上。此外,还不会产生 云计算或网络成本。
深度学习 需要大量数据。深度学习模型 将有数十或数百个 这样的计算层。这就是深度学习 模型的结构, 它有数百万或 数十亿个参数 需要我们设置。这通常需要大量数据。10,000 个数据样本, 比如 10,000 张图像, 对于从头开始训练来说, 可能是一个相当小的数据集。但这并不是 明确的必要条件。这就是所谓的 迁移学习。这就是如何让这个 问题变得不那么严重的方法。
原始模型可以 在非常非常大的 数据集上从头开始训练, 比如 ImageNet 或 Coco。它基本上可以学会 如何设置课程级别的 大量参数,然后再对其进行微调, 或使用较小的数据集 对其进行再训练, 以解决特定任务。考虑到自动结账的例子, 可以在 100 万张 图像上训练基本网络。它可以学习圆形、 方形、边缘和 一些基本结构 在图像中的样子。然后,可以使用 50 到 100 个数据样本 对其进行再训练,使其 能够识别苹果、橘子、 汽水罐或薯片。之所以提到这一点, 是因为迁移学习 正是在模型编写器 中正在做的事情。
国外有一些公司提出了“AI模型编写器”的概念,即AI模型编写器这个图形化开发工具,它提供了一个 端到端的 AI 开发环境。它用一些非常 热门的最新模型 进行迁移学习,可以 针对很多应用, 如机器视觉、 工厂或仓库自动化、 农业。
在AI模型编写器中,无需编写任何代码, 就能为设备训练或 编译模型。至于建立一个 完整的应用程序, 最简单的方法就是 使用 Python 应用程序。
边缘AI图形化开发指的是在边缘设备上进行的、基于图形化界面的AI应用开发过程。这种方式使得开发者能够更直观地设计和部署AI模型,无需深入了解复杂的编程和算法细节。
在边缘AI图形化开发中,开发者通常可以利用各种图形化工具和框架,如TensorFlow Lite Converter、ONNX等,来将训练好的AI模型转换为适合边缘设备运行的格式。这些工具通常提供简单易用的界面,使得开发者只需通过拖拽、选择和配置等操作,即可将模型部署到边缘设备上。
此外,一些边缘计算平台和框架,如NVIDIA的Jetson系列、Microsoft的Azure IoT Edge等,也提供了图形化的开发环境和工具,使得开发者能够在这些平台上快速构建和部署边缘AI应用。
边缘AI图形化开发的优势在于:
简化开发过程:通过图形化界面和工具,开发者可以更加快速和简便地完成AI应用的开发和部署。
降低开发门槛:无需深入了解复杂的编程和算法细节,使得更多非专业开发者也能够参与到AI应用的开发中。
提高运行效率:由于模型直接在边缘设备上运行,无需频繁与云端进行数据传输和交互,因此可以大大提高应用的运行效率。
然而,边缘AI图形化开发也存在一些挑战和限制,如模型优化、设备兼容性、安全性等问题需要解决。因此,在实际应用中,开发者需要根据具体的需求和场景,选择合适的开发工具和框架,以确保应用的性能和稳定性。