人工智能代理简介 人工智能在过去十年中发展迅速。 组织最初采用机器学习模型来分析数据、识别模式和自动化重复性任务。 大型语言模型(LLM)的出现带来了又一次重大飞跃,使机器能够理解和生成类似人类的语言。 然而,一场新的革命正在重塑人工智能格局:智能体人工智能。 智能体人工智能(通常称为智能体人工智能)代表了人工智能发展的下一个阶段。 人工智能代理不仅能够对提示做出反应,还能进行推理、计划、决策、使用工具、与系统交互以及自主执行复杂的工作流程。 他们正在将人工智能从被动辅助转变为主动解决问题。 医疗保健、金融、制造、零售、教育和软件开发等行业的企业都在大力投资人工智能代理,因为它们能够提供前所未有的自动化水平和生产力。 人工智能代理无需人类不断指导,即可独立执行多步骤任务,与其他代理协调,并不断从结果中学习。 在本综合指南中,您将了解什么是智能体人工智能、它的工作原理、关键组成部分、主要应用、实施策略以及自主智能系统的未来发展方向。 第一章:什么是智能体人工智能? 定义智能体人工智能 智能体人工智能是指能够自主感知环境、推理信息、做出决策并采取行动以实现特定目标的人工智能系统。 与仅仅根据输入生成输出的传统人工智能系统不同,人工智能代理具有目标感。 它们可以确定完成任务所需的行动,并在无需持续人工干预的情况下执行这些行动。 人工智能代理通常具有以下几个特征:目标导向行为、决策能力、环境感知能力、规划能力、记忆系统、工具利用、持续适应。例如,传统的聊天机器人可以回答有关旅行目的地的问题。 人工智能旅行代理可以:搜索航班、比较价格、评估酒店选项、创建行程、预订、根据变化的情况调整计划。区别在于自主性和行动力。 智能体人工智能与传统人工智能 传统人工智能系统通常执行一项特定任务。 例如:图像分类、语音识别、欺诈检测、推荐系统。这些系统通常是被动的。 它们处理信息并提供输出,但不会独立追求目标。 智能体人工智能引入了主动行为。 传统人工智能代理 人工智能 反应式 主动式 单任务 多步骤工作流程 内存有限 内存持久 无计划 战略规划 不使用工具 工具集成 人工引导 目标导向 对于寻求高级自动化的组织而言,这种区别至关重要。 智能体人工智能与生成式人工智能 很多人将智能体人工智能与生成式人工智能混淆。 生成式人工智能专注于创建以下内容:文本、图像、音频、视频、代码。例如,语言模型可以根据用户提示生成回复。 智能体人工智能融合了生成式人工智能,但其功能得到了显著扩展。 生成式人工智能模型可以撰写电子邮件。 人工智能代理可以:阅读收到的电子邮件、确定请求的优先级、起草回复、安排会议、更新客户关系管理记录、自动跟进。生成式人工智能可以创建内容。 智能体人工智能创造结果。 为什么代理人工智能很重要?组织面临着越来越大的压力,需要:降低运营成本、提高生产力、增强客户体验、加速创新。传统的自动化工具通常难以应对动态和不可预测的任务。 人工智能代理之所以表现出色,是因为它们能够:理解上下文、处理模糊性、适应不断变化的情况、执行复杂的工作流程。这种能力使企业能够自动完成以前需要人类判断的知识工作。 例如:研究分析、合同审查、客户支持、医疗文档、财务报告、软件开发。潜在的经济影响巨大。 许多行业分析师预测,人工智能代理将在未来五年内成为企业运营的核心组成部分。 第二章:人工智能向智能体系统的演进 第一阶段:基于规则的系统 早期的人工智能依赖于预定义的规则。 例如:如果客户询问价格,则显示价格信息。这些系统在简单场景下运行良好,但在遇到意外输入时却失效了。 局限性包括:没有学习能力,维护要求高,适应性差。第二阶段:机器学习。机器学习引入了数据驱动的智能。 系统不再仅仅依赖规则,而是从数据中学习模式。 应用领域包括:垃圾邮件检测、预测分析、欺诈检测、推荐引擎。虽然这些系统功能强大,但仍然缺乏自主性。 他们可以预测结果,但无法独立根据这些预测采取行动。 第三阶段:深度学习 深度学习显著提高了人工智能的能力。 神经网络在以下领域取得了突破性进展:计算机视觉、语音识别、自然语言处理。各组织机构获得了能够理解复杂信息的高精度人工智能模型。 然而,这些模型仍然是专业化的。 第四阶段:大型语言模型 大型语言模型的出现改变了人工智能的可及性。 模型能够做到:对话互动、推理、摘要、翻译、编码辅助。人工智能系统首次能够使用自然语言指令执行各种各样的任务。 但它们仍然需要用户在每一步都收到提示。 第五阶段:智能体人工智能 智能体人工智能结合了多种技术:大型语言模型、记忆系统、规划框架、工具集成、决策引擎。这种组合使人工智能系统能够独立行动。 代理无需等待每一步后的指示,即可:确定目标、将目标分解为任务、执行工作流程、监控进度、调整策略。这标志着从辅助到自主的重大转变。 第三章:人工智能代理的核心组成部分 要了解人工智能代理是如何运作的,研究其关键组成部分非常重要。 1. 感知 感知是指主体收集信息的能力。 来源可能包括:用户提示、数据库、API、传感器、文档、图像、视频。感知层充当代理的眼睛和耳朵。 如果缺乏准确的感知,决策就会变得不可靠。 2. 内存使代理能够保留信息。 一般而言,记忆分为两种类型:短期记忆,存储与当前任务相关的信息。 例如:最近的对话、积极的目标、暂时的发现、长期记忆存储持久的知识。 例如:用户偏好、历史交互、组织数据、学习模式、记忆使智能体能够随着时间的推移变得越来越有用。 3. 推理引擎 推理是分析信息并确定行动的过程。 推理引擎帮助智能体:评估选项、解释上下文、解决问题、生成计划。高级推理能力对于处理复杂的工作流程至关重要。 4. 规划系统将目标转化为可执行的步骤。 例如:目标:发起营销活动。 计划:研究受众、分析竞争对手、生成内容、安排分发、监控
引言——YOLO为何改变了一切?在YOLO出现之前,计算机无法像人类那样“感知”世界。目标检测系统谨慎、缓慢且分散。 他们首先提出了可能包含物体的区域,然后分别对每个区域进行分类。 检测工作成功了——但感觉就像一块一块地拼拼图。 2015 年,YOLO(You Only Look Once,你只看一次)提出了一个激进的想法:如果我们只用一次前向传播就能检测到所有东西会怎么样? YOLO 没有采用多阶段检测,而是将检测视为从像素到边界框和类别概率的单一回归问题。 本指南将逐步介绍如何在 PyTorch 中从零开始实现 YOLO,内容包括:数学公式、网络架构、目标编码、损失函数实现、在 COCO 风格数据上训练、mAP 评估、可视化和调试、使用 NMS 进行推理、锚框扩展。1) YOLO 的含义(以及我们将构建的内容)YOLO(You Only Look Once)是一系列目标检测模型,只需一次前向传播即可预测边界框和类别概率。 与较早的多阶段流程(候选框 → 细化框 → 分类框)不同,YOLO 风格的检测器是密集预测器:它们在多个位置和尺度上预测候选框,然后对其进行过滤。 YOLO 类检测器有两个“时代”:YOLOv1 风格(网格单元,无锚点):每个网格单元直接预测几个盒子。 基于锚点的 YOLO(YOLOv2/3 及许多衍生版本):每个网格单元预测相对于预定义锚点形状的偏移量;多尺度预测小/中/大物体。 我们将实现一个现代化的、基于锚框的 YOLO 风格检测器,其功能包括:多尺度头部(例如,3 个尺度)、锚框匹配(目标分配)、带有框回归 + 目标性 + 分类的损失函数、解码 + NMS mAP 评估、COCO/自定义数据集训练支持。我们将保持架构易于理解,而不是过于复杂。 以后可以轻松更换更大的主干网。 2) 边界框格式和坐标系 你必须保持一致。 大多数训练错误都源于框格式混淆。 常用框格式:XYXY:(x1,y1,x2,y2)左上和右下 XYWH:(cx,cy,w,h)中心和大小 归一化:相对于图像大小的 [0, 1] 坐标 绝对:像素坐标 推荐的内部约定 将数据集注释存储为像素的绝对 XYXY。 仅在需要时才转换为标准化格式,但要保留一个标准格式。 为什么 XYXY 很好:交集/并集运算简单明了。 将图像限制在边界内很简单。 3) IoU、GIoU、DIoU、CIoU IoU(交并比)是标准的重叠度量:IoU=∣A∩B∣/∣A∪B∣ 但 IoU 有一个问题:如果框不重叠,则 IoU = 0,梯度可能很弱。 现代检测器通常使用改进的回归损失:GIoU:基于最小包围盒对不重叠的框添加惩罚;DIoU:惩罚中心距离;CIoU:DIoU + 纵横比一致性。实用规则:如果您想要一个强默认值:CIoU 用于框回归。 如果你想要更简单的方案:GIoU 也很好用。 我们将实现 IoU + CIoU(使用安全数值)。 4) 基于锚点的 YOLO:网格、锚点、预测 YOLO 头在每个网格位置进行预测。 假设特征图为 S x S(例如,80×80)。 每个单元格都可以预测 A 锚点(例如,3)。 对于每个锚框,预测如下:框偏移量:tx、ty、tw、th;对象性logit:至;类别logit:tc1..tcC。因此,每个尺度的张量形状为:(B, A*(5+C), S, S) 或 (B, A, S, S, 5+C)(重塑后)。 如何将偏移量变成实际的方框?一种常见的 YOLO 式解码(几种有效变体之一):bx = (sigmoid(tx) + cx) / S by = (sigmoid(ty) + cy) / S bw = (anchor_w * exp(tw)) / img_w(或用 S 归一化) bh = (anchor_h * exp(th)) / img_h 其中 (cx, cy) 是整数网格坐标。 重要提示:您的编码/解码必须与目标分配的编码相匹配。 5) 数据集准备 标注格式 您的自定义数据集可以是:COCO、JSON、Pascal、VOC、XML、YOLO、txt(类别、x、y、w、归一化)。我们将支持通用的内部表示:每个样本返回:图像:张量 [3, H, W];目标:张量 [N, 6],列为:[类别、x1、y1、x2、y2、图像索引(可选)]。数据增强 对于目标检测,数据增强必须同时变换目标框:调整大小/信箱框;随机水平翻转;颜色抖动;随机仿射(可选);马赛克/混合(高级;可选)。为了使本指南易于实现且几何结构不脆弱,我们将只进行调整大小/信箱框;随机翻转;HSV 抖动(可选)。6) 构建模块:Conv-BN-Act、残差、颈项 一个简洁的基线模块:Conv2d -> BatchNorm2d -> SiLUSiLU(又名) Swish)在 YOLOv5 类家族中很常见;LeakyReLU 在 YOLOv3 中很常见。 我们可以选择添加残余块以增强骨架,但即使是较小的骨架也可以用于验证管道。 7) 模型设计 一个典型的结构:主干:提取多个步长(8、16、32)的特征图 颈部:组合特征(FPN / PAN) 头部:预测每个尺度的检测输出 我们将实现一个轻量级的主干,生成 3 个特征图和一个简单的类似 FPN 的颈部。 8) 解码预测 在推理阶段:将每个尺度的输出重塑为 (B, A, S, S, 5+C) 对中心偏移量 + 目标性(以及通常的类别概率)应用 sigmoid 函数 转换为像素坐标系中的 XYXY 将所有尺度展平为一个候选框列表 按置信度阈值过滤 对每个类别应用 NMS(或与类别无关的 NMS) 9) 目标分配(将 GT 与锚框匹配) 这是基于锚框的 YOLO 的核心。 对于每个真实框:确定应该使用哪个比例尺(根据大小/锚点匹配)。 对于选定的尺度,计算 GT 框大小与每个锚点大小之间的 IoU(在该尺度的坐标系中)。 选择最佳锚点(或前 k 个锚点)。 从 GT 中心计算网格单元索引。 在 [anchor, gy, gx] 处填充目标张量:box 回归目标 objectness = 1 class 目标 编码回归目标 如果使用 decode:bx = (sigmoid(tx) + cx)/Sten tx 的目标为 sigmoid^-1(bx*S – cx),但这很混乱。 相反,YOLO 风格的训练通常直接监督:tx_target = bx*S – cx([0,1] 中的一个值),并使用 sigmoid 输出上的 BCE 或原始输出上的 MSE 进行训练。 tw_target = log(bw / anchor_w)(以像素或归一化单位表示)我们将实现一个稳定的变体:预测 pxy = sigmoid(tx,ty) 并使用 BCE/MSE 监督 pxy 以匹配分数偏移量;预测 pwh = exp(tw,th)*anchor 并使用 CIoU 对解码框进行监督(推荐)。这更简单:对解码框进行回归损失,而不是直接对 tw/th 进行回归损失。 10) YOLO 式损失函数通常包含:Box 损失:预测值之间的 CIoU/GIoU
简介:向人工智能抓取的转变在互联网的早期,抓取网站是一个相对简单的过程:编写脚本、提取 HTML 内容并提取所需的数据。 但随着网站变得越来越复杂(由 JavaScript、动态呈现的内容和反机器人防御提供支持),传统的抓取工具开始显示出它们的局限性。 这就是人工智能驱动的网络抓取发挥作用的地方。 人工智能从根本上改变了游戏。 它为自动化过程带来了适应性、情境理解甚至类似人类的推理能力。 人工智能模型不仅可以提取原始 HTML,还可以:理解内容的含义(例如,检测职位名称、产品价格、评论);自动适应网站的结构变化;使用计算机视觉识别视觉元素;充当智能代理,决定提取什么以及如何提取。本指南探讨了如何使用现代人工智能工具构建自主数据机器人 - 这些系统不仅可以抓取数据,还可以像人类一样适应、扩展和推理。 什么是网页抓取? 网络抓取是从网站自动提取数据。 它用于: 从电子商务商店收集价格和产品数据 监控招聘信息或房地产网站 汇总博客、新闻或论坛的内容 为机器学习或分析构建数据集 🔧 典型的 Web 抓取工作流程 发送 HTTP 请求以检索网页 使用解析器(如 BeautifulSoup 或 lxml)解析 HTML 使用 CSS 选择器、XPath 或 Regex 选择特定元素 以结构化格式存储输出(例如,CSV、JSON、数据库) 示例(传统 Python 抓取工具): 从 bs4 导入请求 导入 BeautifulSoup url = “https://example.com/products” 响应 = 请求。获取 (url) 汤 = BeautifulSoup(response.text, “html.parser”) 对于汤中的项目。选择 (“。product”): name = item.select_one(“。title”).text price = item.select_one(“。price”).text print(name, price) 这种方法在简单的静态网站上效果很好,但在现代 Web 应用程序上却很困难。 传统网页抓取的局限性传统抓取依赖于页面的固定结构。 如果布局发生变化,你的刮刀就会损坏。 其他挑战包括:❌选择器的脆弱性如果网站结构发生变化(即使只是轻微的变化),CSS 选择器和 XPath 也可能会停止工作。 ❌ JavaScript 渲染 许多现代网站使用 JavaScript 动态加载数据。 请求和 BeautifulSoup 无法处理这个问题。 您需要无头浏览器,例如 Selenium 或 Playwright。 ❌ 反机器人措施网站可以使用以下方式检测和阻止机器人:CAPTCHA 挑战速率限制/IP 黑名单 JavaScript 指纹识别❌ 无语义理解传统的抓取工具提取字符串,而不是含义。 例如:它可能会提取里面的所有文本,但无法分辨哪个是产品名称,哪个是。 价钱。 除非明确编码,否则它无法推断某个区块是审查部分。 为何需要人工智能?为了克服这些挑战,我们需要具备以下功能的抓取工具:使用自然语言处理 (NLP) 根据上下文理解内容;动态适应站点变化;使用强化学习或代理模拟人机交互;跨多种模式(文本、图像、布局)工作;人工智能如何改变网页抓取;传统的网页抓取是基于规则的 — — 它依赖于固定逻辑,如 soup.select(“.title”)。 相比之下,人工智能抓取是智能的,能够动态地适应变化并有意义地理解内容。 以下是人工智能如何彻底改变网络抓取:1. 视觉解析和布局理解 AI 模型可以像人类阅读一样直观地解释页面,使用:计算机视觉来识别标题、按钮和布局区域基于图像的 OCR(例如 Tesseract、PaddleOCR)来读取嵌入文本按角色对元素进行语义分组(例如识别产品块或元数据卡)示例:即使价格嵌入在样式化图像横幅中,AI 也可以使用视觉提示来提取它。 2. 语义内容理解 LLM(如 GPT-4)可以:理解什么是文本块(标题与内容)。 评论 vs. 免责声明)从非结构化文本中提取结构化字段(名称、价格、位置)处理多种语言、惯用表达和缩写“提取所有提到电池寿命积极的产品评论”现在可以使用 AI 而不是正则表达式。 3. 自我修复抓取工具使用传统的抓取方式,一次布局的改变就会破坏抓取工具。 人工智能代理可以:检测结构变化推断新模式使用视觉和语义线索重新学习或重新生成选择器,Diffbot 或 AutoScraper 等工具展示了这种弹性。 4. 人体模拟和强化学习使用强化学习 (RL) 或 RPA(机器人过程自动化)原理,AI 抓取工具可以:通过单击按钮、填写搜索表单来浏览网站,根据视口内容智能滚动,等待动态内容加载(自适应延迟),由 LLMs + Playwright 驱动的 AI 代理可以模拟人类用户旅程。 5. 语言引导代理 (LLM) 现代抓取工具现在可以由自然语言引导。 你可以告诉人工智能:“查找柏林所有薪资低于 80 万美元的 Python 开发人员职位列表” 它会: 解析你的意图 导航正确的过滤器 根据上下文提取结果 人工智能驱动抓取背后的关键技术 要构建智能抓取工具,以下是现代技术堆栈: 技术 用例 LLM(GPT-4、Claude、Gemini) 解释 HTML、提取字段、生成选择器 Playwright / Puppeteer 自动执行基于浏览器的操作(滚动、点击、登录) OCR 工具(Tesseract、PaddleOCR) 读取嵌入或扫描的文本 spaCy / Hugging Face Transformers 提取结构化文本(名称、位置、主题) LangChain / Autogen Chain 用于类似代理的抓取行为的 LLM 工具 视觉语言模型(GPT-4V、Gemini Vision) 对网页的多模态理解 基于代理的框架(下一级) AutoGPT + Playwright:确定抓取内容和方式的自主代理 LangChain 代理:模块化 LLM 代理用于浏览和提取浏览器原生 AI 助手:GPT 集成浏览器的未来趋势入门工具和框架要构建自主抓取工具,您需要的不仅仅是 HTML 解析器。 以下是现代抓取组件的细分,按功能分类。 ⚙️A. 核心自动化堆栈工具目的示例 Playwright 无头浏览器自动化(JS 站点) page.goto(“https://…”) Selenium Playwright 的旧替代品 速度较慢但仍在使用 Requests 简单的 HTTP 请求(静态页面) request.get(url) BeautifulSoup 使用 CSS 选择器进行 HTML 解析 soup.select(“div.title”) lxml 更快的 XML/HTML 解析 适用于大文件 Tesseract 图像 OCR 从 PNG、横幅中提取文本 🧠 B. AI 和语言智能工具角色 OpenAI GPT-4 理解、提取和转换 HTML 数据 Claude、Gemini、Groq LLM 替代或并行代理 LangChain 管理 LLM 任务链(例如,页面加载 → 提取 → 验证) LlamaIndex 为多步骤推理索引 HTML/文本 📊 C.
人工智能响应中的信任基础简介:为什么信任在 LLM 输出中很重要,像 GPT-4 和 Claude 这样的大型语言模型 (LLM) 彻底改变了人们获取知识的方式。 从撰写论文到回答技术问题,这些模型可以大规模生成类似人类的答案。 然而,一个紧迫的挑战依然存在:我们能相信他们所说的话吗? 盲目接受法学硕士答案——尤其是在医学、法律和学术等敏感领域——可能会产生严重后果。 这就是为什么来源透明度变得至关重要。 当法学硕士不仅给出答案,而且还显示答案的来源时,用户就会获得信心和清晰度。 本指南探讨了一项关键策略:突出显示 LLM 在响应查询时从中提取的 PDF 文档中的特定源文本。 这种方法弥合了不透明生成和可验证推理之间的差距。 可信度方面的挑战:幻觉和不透明性尽管法学硕士 (LLM) 具有这样的能力,但他们经常:产生幻觉事实(编造听起来似乎合理但却是虚假的信息)。 不提供任何有关答案如何生成的迹象。 缺乏可验证性,尤其是在使用未知或非公开数据进行训练时。 这使得建立信任成为任何部署人工智能系统的人的首要任务。 举几个例子:一名学生对一篇期刊文章的引用有误。 一位律师从一份较旧的案件文件中收到一条过时的条款。 医生看到的是一个基于过时医学文献的答案。 如果不能了解模型为什么会得出这样的结论,这些错误可能会造成高昂的代价。 透明来源归因的重要性为了解决这个问题,研究人员和工程师专注于检索增强生成 (RAG)。 该技术使模型能够:从可信数据集(例如 PDF 知识库)中检索相关文档。 仅根据这些文档生成答案。 更好的? 当检索到的文档是 PDF 时,系统可以突出显示得出答案的确切段落。 这样做的好处:与用户(尤其是非技术用户)建立信任。 使法学硕士适合受监管和审计的行业。 启用反馈循环和调试以实现改进。 PDF 文档中来源突出显示的作用通过可追溯性建立信任:将答案与文本匹配想象一个人工智能系统,它给出一个答案,然后突出显示该答案来自文档中的确切段落 - 就像学生在提交论文之前在证据下划线一样。 这种可追溯性的行为是可靠性的有力信号。 a. LLM 上下文中的可追溯性是什么? 可追溯性意味着每个答案都可以追溯到特定的来源或文档。 对于 PDF 来说,这意味着:识别所使用的 PDF 文件。 精确定位页码和章节。 突出显示相关的句子或段落。 b. 认知和法律重要性如果用户能够追踪逻辑,他们会认为答案更值得信赖。 这与以下观点一致:认知心理学:人类重视基于证据的反应。 法律规范:在受监管的领域,需要可审计性。 学术研究:引用您的来源是标准。 c. PDF:主要的知识媒介 许多现实世界的来源都锁定在 PDF 中:学术论文内部公司文件法律文本和先例政策指南和合规手册因此,直接从 PDF 中检索和注释的能力至关重要。 PDF 突出显示案例:教育、法律、研究用例源突出显示不仅仅是一个功能 - 它是高风险环境中的必需品。 让我们探究原因。 a. 用例 1:教育环境在由 LLM 提供支持的教育工具中,学生经常要求根据课程阅读提供解释、摘要或答案。 场景:一名学生上传了一本 200 页的政治理论教科书,并问道:“作者如何评价马基雅维利的领导力观点?”一个可靠的系统会找到“马基雅维利”的提及,提取相关段落并突出显示 - 表明答案来自学生自己的阅读材料。 奖励:学生可以研究周围的环境。 b. 用例 2:法律和合规律师处理数千页的 PDF 法院裁决和法规。 他们需要:快速找到先例,引用带有页码和条款编号的法律,确保解释可追溯到实际文件,突出显示法律 PDF 中的确切条款或裁决的 LLM 答案支持可审计性、验证和正式文件。 c. 用例 3:科学和学术研究 在总结论文时,学生或研究人员通常需要: 关键实验结果 方法论部分 作者的结论 突出显示有助于区分推测性解释和引用的事实。 d. 用例 4:医疗保健和生物医学文献医生可能会查询生物医学 PDF 来询问:“本研究中测试了多少剂量的药物 X?”在临床试验报告中直接突出显示该句子有助于避免误解和医疗风险。 常见的 PDF 格式和注释标准 在实现 PDF 高亮显示之前,了解 PDF 文档的多样性和结构非常重要。 a. PDF 内部:并非总是结构化的 PDF 并不像 HTML 那样设计。 它们注重表现,而不是语义。 这会带来如下挑战:文本可能被嵌入为单独定位的字符。 行、列或段落可能不连续。 一些 PDF 只是扫描图像(需要 OCR)。 因此,建立对突出显示的答案的信任也意味着准确提取文本并将其与坐标关联起来。 b. PDF 注释类型 有多种方法可以在 PDF 中注释或突出显示内容:注释类型描述支持文本突出显示传统标记样式突出显示广泛支持(Adobe、浏览器)弹出注释与选择相关的注释用于解释下划线/删除线附加标记不太直观链接可点击的内部或外部来源参考用于源链接 c。 技术标准:PDF 1.7、PDF/A PDF 1.7:通过/Annots 数组支持注释。 PDF/A:档案格式;限制某些注释。 一个值得信赖的系统必须考虑:维护文档完整性避免破坏性编辑使用标准化突出显示。 PDF 注释工具流行的库包括:PyMuPDF(fitz)——非常适合基于坐标的突出显示和文本搜索pdfplumber——最适合结构化文本提取PDF.js——Web 渲染和注释(前端)Adobe PDF SDK——企业级注释工具强大的系统可能:提取文本+坐标。 根据语义相似性查找匹配跨度。 通过注释工具包在文本上呈现突出显示。 文档内突出显示优于单独引用的优势您可能想知道 - 为什么不直接引用页码? 虽然引用很有帮助,但在源文档中突出显示可以提供更好的上下文并增强可信度:方法 优点 缺点 页码
简介人工智能(AI)从根本上取决于训练数据的质量和数量。 如果没有足够的、多样化的、准确的数据集,即使是最复杂的算法也会表现不佳或行为不可预测。 传统的数据收集方法——调查、专家标记、内部数据管理——可能成本高昂、速度慢且范围有限。 众包成为一种强有力的替代方案:利用分布式人力来高效、大规模地注释、生成、验证或分类数据。 然而,众包也带来了重大的道德、操作和技术挑战,如果忽视这些挑战,可能会破坏人工智能系统的公平性、透明度和稳健性。 特别是当人工智能系统进入医疗保健、金融和刑事司法等敏感领域时,确保负责任的众包数据实践不再是可有可无的,而是必不可少的。 本指南深入、全面地概述了成功且负责任地扩大众包 AI 训练数据收集工作的道德原则、主要障碍和最佳实践。 了解众包 AI 训练数据 AI 中的众包是什么? 众包涉及通过公开招募或在线平台将传统上由特定代理人(如员工或承包商)执行的任务外包给一大群未定义的人群。 在人工智能中,任务范围可以从简单的图像标记到复杂的语言分析或主观内容判断。 众包数据的核心特征:规模:快速创建数千到数百万个数据点。 多样性:接触广泛的背景、语言和观点。 灵活性:快速迭代数据收集并适应项目需求。 成本效益:与雇用全职注释团队相比,运营成本更低。 实时反馈循环:即时质量检查和更正。 众包任务类型:数据注释:使用元数据标记图像、文本、音频或视频以进行监督学习。 数据生成:创建新的示例,例如改述的句子、综合对话或提示。 数据验证:审查和验证预先存在的数据集以确保准确性。 主观判断任务:基于观点的标签,例如评级毒性、情绪、情绪基调或争议。 内容审核:识别不适当或有害的内容以维护数据集安全。 应用示例:为诊断 AI 注释医学扫描。 为低资源语言策划翻译语料库。 为内容审核系统构建数据集。 使用类似人类的对话流程来训练对话代理。 众包人工智能数据的伦理公平补偿低报酬长期困扰着众包平台。 研究表明,许多工人的收入低于当地最低工资,尤其是在 Amazon Mechanical Turk(MTurk)等平台上。 这种做法具有剥削性,会侵蚀工人的信任,并破坏道德的人工智能。 最佳实践:计算预计任务时间并提供至少最低工资等值率。 为高质量或高产出的贡献者提供奖金。 公开披露支付率和激励结构。 知情同意人群工作者必须知道他们正在参与什么,他们产生的数据将如何使用,以及对他们自己造成的任何潜在风险。 最佳实践:使用清晰的语言——避免使用法律术语。 说明该作品是否将用于商业产品、研究、军事应用等。 如果项目目标发生重大变化,则提供退出机会。 数据隐私和匿名性即使非 PII 数据在汇总或 AI 系统推断出非预期属性(例如健康状况、政治观点)时也会变得敏感。 最佳实践:除非工人明确同意,否则匿名贡献。 在数据传输和存储过程中使用加密。 遵守当地和国际数据保护法规。 偏见和代表性同质贡献者池可能会给人工智能模型注入系统性偏见。 例如,严重偏向西方文化的情绪识别数据集可能会误解非西方的面部表情。 最佳实践:招募具有不同人口背景的员工。 监控数据集中的人口统计学偏差并纠正不平衡现象。 在数据管理期间应用偏差缓解算法。 透明度 数据来源的不透明性会破坏信任并使组织面临批评和法律挑战。 最佳实践:维护详细的元数据:任务版本、工人人口统计(如果允许)、时间戳、质量控制历史。 考虑发布数据集数据表,正如领先的人工智能伦理框架所提议的那样。 众包数据收集的挑战确保数据质量众包的质量是可变的,因为工作人员的专业知识、注意力和积极性水平不同。 解决方案:冗余:让多个工人执行相同的任务并汇总结果。 黄金标准:通过预先验证的答案来播种任务,以检查工人的表现。 动态质量权重:为始终表现出色的员工分配更多影响力。 打击欺诈和恶意贡献一些贡献者使用机器人、随机回答或“点击农场”来以最小的努力实现最大的收益。 解决方案:包括与正常任务难以区分但答案已知的陷阱问题或蜜罐。 使用异常检测来发现可疑的响应模式。 创建声誉系统来奖励可靠的贡献者并排除不良行为者。 任务设计和员工疲劳 设计不良的任务会导致混乱、参与度降低和工作草率。 解决方案:在大规模部署之前,先与一小部分工作人员对所有任务进行试点测试。 提供好的和坏的回应的清晰例子。 保持任务简短且模块化(2-10分钟)。 激励和留住贡献者众包平台经常会经历高员工流失率。 失去训练有素、高绩效的工人会增加成本并降低质量。 解决方案:为持续贡献者提供累进奖金计划。 在公共排行榜上表彰表现优异者(同时尊重匿名性)。 通过论坛、反馈会议甚至竞赛建立社区。 管理可扩展性 在不破坏工作流程的情况下将众包从数百个任务扩展到数百万个任务需要强大的系统。 解决方案:设计模块化流程,以便可以轻松地在数千名工人之间分配任务。 自动化入职、资格测试和质量监控阶段。 使用基于 API 的与多个众包供应商的集成来平衡负载。 管理新兴的道德风险一旦众包超越试点阶段,就会出现新的、意想不到的风险。 解决方案:定期进行独立道德审计。 为工人设立报告问题的升级渠道。 根据新发现动态更新道德准则。 可扩展和道德众包领域的最佳实践详细的最佳实践工人管理——根据特定地区的标准支付生活工资。——在任务期间提供实时反馈。——尊重退出而不受到惩罚。——提供清晰的任务说明和示例输出。——承认工人的认知劳动是有价值的。 质量保证——在每个任务批次中构建黄金标准示例。——随机抽样并手动审核提交的子集。——引入“同行评审”,让员工相互验证。——明智地使用共识机制,而不是简单的多数投票。 多元化与包容性——面向全球招聘,而不仅仅局限于西方市场。——关注性别、种族、语言和社会经济因素。——提供多元化的任务。
简介 在生成模型突破的推动下,人工智能的快速发展开启了创造力和自动化的新时代。 从制作逼真的图像和创作音乐到加速药物发现和自动化工业流程,这些人工智能系统正在重塑行业并重新定义机器可以创造什么。 本综合指南探讨了生成式人工智能的基础、架构和实际应用,提供了理论见解和实际操作。 无论您是开发人员、研究人员还是企业领导者,您都将获得有效利用这些尖端技术的实用知识。 生成式人工智能简介 什么是生成式人工智能? 生成性人工智能是指能够通过从现有数据中学习模式来创建新内容(文本、图像、音频等)的系统。 与判别模型(例如分类器)不同,生成模型学习联合概率分布 P(X,Y) 来合成模仿真实世界数据的输出。 主要特点:创造力:生成训练数据中未明确存在的输出。 适应性:可以针对特定领域的任务(例如医学成像)进行微调。 可扩展性:利用海量数据集(例如,对 3TB 文本进行训练的 GPT-45)。 历史演变年份突破性影响 2014 GAN(生成对抗网络)实现了逼真的图像合成 2017 Transformers 通过并行处理彻底改变了 NLP 2020 GPT-3 展示了新兴的少量学习能力 2022 稳定传播使高质量图像生成民主化 2023 GPT-4 和多模态模型统一了文本、图像和视频生成对自动化和创造力的影响自动化:工业自动化:为机器人生成合成训练数据。 # 示例:使用 GAN 生成合成数据集 gan = GAN() synthesize_images = gan.generate(num_samples=1000) 医疗保健:通过生成分子结构来加速药物发现。 创造力:艺术:MidJourney 和 DALL-E 3 等工具可以根据文本提示创作艺术作品。 写作:GPT-4 起草文章、剧本和诗歌。 代码示例:生成式 AI 的 Hello World 使用预训练 GPT-2 模型生成文本的简单脚本:来自 transforms 导入管道生成器 = 管道('text-generation',model='gpt2′)提示 = “AI 的未来是”输出 = 生成器(prompt,max_length=50,num_return_sequences=1)打印(output[0]['generated_text'])输出:AI 的未来不仅仅是自动化,而是增强人类的创造力。 从设计可持续发展的城市到创作交响乐,人工智能将......挑战与道德考虑偏见:模型可能会复制训练数据中的偏见(例如,性别刻板印象)。 错误信息:Deepfakes 可以传播虚假叙述。 监管:欧盟人工智能法案等法律要求生成系统的透明度。 技术基础生成模型的数学生成模型依赖于高级数学原理来模拟数据分布并优化输出。 以下是核心概念:概率分布潜在变量:捕获数据中隐藏结构的未观察变量 Z。 示例:在 VAE 中,z∼N(0,I)z∼N(0,I) 表示高斯潜在空间。 贝叶斯推理:用于计算后验分布 p(z∣x)。 Kullback-Leibler (KL) 散度测量两个分布 PP 和 QQ 之间的差异:在 VAE 中的作用:KL 散度使潜在空间正则化以匹配先验分布(例如高斯分布)。 损失函数 GAN 目标:VAE ELBO:代码示例:PyTorch 中的 KL 散度 def kl_divergence(μ, logσ²): # μ:潜在分布的平均值 # logσ²:潜在分布的对数方差 return -0.5 * torch.sum(1 + logσ² – μ.pow(2) – logσ².exp()) 神经网络和反向传播网络架构层:完全连接(密集)、卷积或基于变压器。 激活函数:ReLU:f(x)=max(0,x)(消失梯度缓解)。 Sigmoid:f(x)=11+e−xf(x)=1+e−x1(概率输出)。 反向传播链式规则:计算权重更新的梯度:优化器:Adam、RMSProp(自适应学习率)。 代码示例:简单的神经网络 import torch.nn as nn class Generator(nn.Module): def __init__(self, input_dim=100, output_dim=784): super().__init__() self.layers = nn.Sequential( nn.Linear(input_dim, 256), nn.ReLU(), nn.Linear(256, output_dim), nn.Tanh() ) def forward(self, z): return self.layers(z) 硬件要求 GPU 与 TPU 硬件用例 内存 精度 NVIDIA A100 训练大型 GAN 80GB HBM2 FP16/FP32 Google TPUv4 Transformer 预训练 32GB HBM BF16 RTX 4090 微调扩散模型 24GB GDDR6X FP16 分布式训练数据并行性:跨 GPU 拆分批次。 模型并行:跨设备分层(例如,对于 GPT-4)。 代码示例:多 GPU 设置 import torch from torch.nn.parallel import DataParallel model = Generator().to('cuda') model = DataParallel(model) # 为多 GPU 包装 output = model(torch.randn(64, 100).to('cuda')) 用例 KL 散度:用于 VAE 进行异常检测(例如,故障机械)。 反向传播:训练变压器以生成代码(GitHub Copilot)。 生成模型架构本节深入探讨最具影响力的生成架构的技术细节,包括它们的数学基础、代码实现和实际应用。 生成对抗网络 (GAN) 架构 GAN 由两个神经网络组成: 生成器 (GG):将噪声向量 z∼N(0,1)z∼N(0,1) 映射到合成数据(例如图像)。 鉴别器(DD):将输入分类为真实或虚假。 训练动态:生成器试图欺骗鉴别器。 鉴别器学会区分真实与虚假。 合成数据。 损失函数代码示例:深度卷积 GAN(DCGAN) import torch.nn as nn class DCGAN_Generator(nn.Module): def __init__(self, latent_dim=100): super().__init__() self.main = nn.Sequential( nn.ConvTranspose2d(latent_dim, 512, 4, 1, 0,bias=False), nn.BatchNorm2d(512), nn.ReLU(), nn.ConvTranspose2d(512, 256, 4, 2, 1,bias=False), nn.BatchNorm2d(256), nn.ReLU(), nn.ConvTranspose2d(256, 128, 4, 2, 1,bias=False), nn.BatchNorm2d(128), nn.ReLU(), nn.ConvTranspose2d(128, 3, 4, 2, 1,bias=False), nn.Tanh() # 输出在 [-1, 1] 中 ) def forward(self, z): return self.main(z) GAN 变体类型关键创新用例 DCGAN 卷积层图像生成 WGAN Wasserstein 损失稳定训练 StyleGAN 基于风格的合成高分辨率人脸 CycleGAN 循环一致性损失图像到图像转换挑战模式崩溃:生成器产生的品种有限。 训练不稳定性:需要仔细调整超参数。 应用艺术合成:类似 ArtBreeder 的工具。 数据增强:生成稀有的医学成像样本。 变分自动编码器 (VAE) 架构编码器:将输入 xx 映射到潜在变量 zz(平均值 μμ 和方差 σ2σ2)。 解码器:从 zz 重建 xx。 重新参数化技巧:损失函数(ELBO) 代码示例:MNIST 的 VAE class VAE(nn.Module): def __init__(self, input_dim=784, latent_dim=20): super().__init__() # 编码器 self.encoder = nn.Sequential( nn.Linear(input_dim, 400), nn.ReLU() ) self.fc_mu = nn.Linear(400, latent_dim) self.fc_logvar = nn.Linear(400, latent_dim) # 解码器 self.decoder = nn.Sequential( nn.Linear(latent_dim, 400), nn.ReLU(), nn.Linear(400, input_dim), nn.Sigmoid() ) def encode(self, x): h = self.encoder(x) return self.fc_mu(h), self.fc_logvar(h) def decoder(self, z): return self.decoder(z) def forward(self, x): μ, logvar = self.encode(x.view(-1, 784)) z = self.reparameterize(μ, logvar) return self.decode(z), μ, logvar VAE vs GAN 指标 VAE GAN 训练稳定性稳定不稳定输出质量模糊尖锐潜在结构显式(高斯)非结构化应用异常检测:通过重建误差检测故障机械。 药物设计:生成具有优化特性的新型分子。 Transformers 自注意力机制 Q,K,VQ,K,V:查询、键、值矩阵。 多头注意力:并行注意力头捕捉不同的模式。 代码示例:Transformer 模块类 TransformerBlock(nn.Module): def __init__(self, d_model=512, n_heads=8): super().__init__() self.attention = nn.MultiheadAttention(d_model, n_heads) self.norm1 = nn.LayerNorm(d_model) self.ffn = nn.Sequential( nn.Linear(d_model, 4*d_model), nn.GELU(), nn.Linear(4*d_model, d_model) ) self.norm2 = nn.LayerNorm(d_model) def forward(self,
简介什么是强化学习(RL)? 强化学习 (RL) 是一种机器学习,其中代理通过在环境中执行操作来学习做出决策,以最大化某些累积奖励的概念。 与在标记数据集上训练模型的监督学习不同,RL 依赖于反复试验的概念。 代理与环境交互,以奖励或惩罚的形式接收反馈,并相应地调整其行为以实现最佳结果。 人类反馈在人工智能中的作用 人类反馈在人工智能系统的发展中变得越来越重要,特别是在所需行为复杂或难以用算法定义的领域。 通过结合人类的反馈,人工智能系统可以学会更加紧密地与人类的价值观、偏好和道德考虑保持一致。 这在自然语言处理、机器人和推荐系统等应用中尤其重要,因为这些应用风险很高,对人类生活的影响重大。 基于人类反馈的强化学习 (RLHF) 概述基于人类反馈的强化学习 (RLHF) 是一种将传统 RL 技术与人类反馈相结合以指导学习过程的方法。 RLHF 并不单纯地依赖预定义的奖励函数,而是使用人类反馈来塑造奖励信号,从而使代理能够学习更符合人类意图的行为。 这种方法在微调大型语言模型、提高人工智能系统的安全性和可靠性以及实现更自然的人机交互方面特别有效。 RLHF 在现代人工智能中的重要性 随着人工智能系统越来越融入我们的日常生活,对能够理解和符合人类价值观的模型的需求变得至关重要。 RLHF 利用人类反馈来指导学习过程,为实现这种一致提供了一条有希望的途径。 这不仅提高了人工智能系统的性能,而且还解决了偏见、公平和透明度等关键的道德问题。 通过融入人类反馈,RLHF 有助于确保 AI 系统不仅智能,而且负责任且值得信赖。 强化学习基础强化学习中的关键概念代理、环境和动作在强化学习中,代理是学习和做出决策的实体。 环境是代理在其中运行的世界,它可以是任何东西,从虚拟游戏到在房间中导航的物理机器人。 代理在环境中采取行动,导致环境状态发生变化。 代理的目标是学习一项策略,即规定在每个状态下采取哪些行动以最大化累积奖励的策略。 奖励和政策奖励是代理在给定状态下采取行动后收到的标量反馈信号。 代理的目标是随着时间的推移最大化累积奖励。 策略是从状态到动作的映射,它定义了代理的行为。 策略可以是确定性的(在给定状态下始终采取相同的动作)或随机性的(以一定的概率采取行动)。 价值函数和 Q 学习价值函数估计代理遵循特定策略从给定状态可以获得的预期累积奖励。 Q 值函数(或动作值函数)估计在给定状态下采取特定动作并遵循策略的预期累积奖励。 Q学习是一种流行的强化学习算法,它通过迭代更新来学习Q值函数,使智能体能够做出最优决策。 探索与…… 利用 强化学习中的一个基本挑战是探索和利用之间的权衡。 探索包括尝试新的行动以发现其效果,而利用则包括选择已知会产生高回报的行动。 在探索和利用之间取得适当的平衡对于有效学习至关重要,因为过多的探索会导致效率低下,而过多的利用会导致次优行为。 马尔可夫决策过程 (MDP) 马尔可夫决策过程 (MDP) 是一种用于模拟 RL 中的决策问题的数学框架。 MDP 由一组状态、一组动作、一个描述从一个状态转移到另一个状态的概率的转换函数和一个指定每个状态-动作对的奖励的奖励函数定义。 马尔可夫特性表明未来状态仅取决于当前状态和动作,而不取决于之前发生的事件序列。 深度强化学习 (DRL) RL 中的神经网络深度强化学习 (DRL) 将 RL 与深度学习相结合,使用神经网络来近似价值函数或策略。 这使得 RL 算法能够扩展到高维状态和动作空间,例如在视频游戏或机器人控制任务等复杂环境中遇到的空间。 深度 Q 网络 (DQN) 深度 Q 网络 (DQN) 是一种使用神经网络来近似 Q 值函数的 DRL 算法。 DQN 已成功应用于广泛的任务,包括以超人的水平玩 Atari 游戏。 DQN 的关键创新是使用经验重放,其中代理存储过去的经验并随机采样以更新 Q 网络,从而提高稳定性和收敛性。 策略梯度方法策略梯度方法是另一类 DRL 算法,它通过调整参数直接优化策略来最大化预期奖励。 与 DQN 等基于价值的方法(它们学习价值函数并从中得出策略)不同,策略梯度方法直接学习策略。 这种方法在连续动作空间中特别有用,因为可能的动作数量是无限的。 机器学习中的人为反馈 人为反馈的必要性 在许多实际应用中,很难使用奖励函数明确定义人工智能系统的期望行为。 例如,在自然语言处理中,对用户查询的“正确”响应可能取决于难以通过算法捕捉的上下文、语气和文化细微差别。 人类反馈通过将人类的判断、偏好和价值观融入到人工智能模型的训练中,为指导学习过程提供了一种方法。 人类反馈的类型显式反馈显式反馈涉及来自人类的直接输入,例如评级、标签或更正。 例如,在推荐系统中,用户可能会对电影进行 1 到 5 分的评分,从而明确表达他们的偏好。
SO Development多用户功能:注释者、审阅者和管理者的基于角色的访问。 实时协作,同时进行注释和审查。 注释者和项目的内置性能跟踪。 适合对象:需要结构化工作流程和高级分析的团队。 Supervisely 功能:直观的界面,用于分配任务和管理团队工作流程。 内置通讯工具,实现无缝反馈。 支持2D、3D和视频注释,适用于不同行业。 适用于:涉及多种注释类型的项目,例如 3D 点云和语义分割。 CVAT(计算机视觉注释工具)特点:开源、高度可定制。 通过基于角色的权限进行任务分配和多用户支持。 兼容多种格式,如 COCO、YOLO 和 PASCAL VOC。 适合对象:具有技术专长的注重成本的团队。 设置任务分配和审查流程有效的任务管理对于确保及时完成和高质量的注释至关重要。 步骤 1:定义团队角色明确定义角色以简化操作:注释者:处理主要标记任务。 审阅者:检查注释的准确性并提供反馈。 项目经理:监督项目时间表、资源分配和问题解决。 主管/领导:确保遵守指导方针并解决争议。 第 2 步:制定任务分配计划细分数据集:按复杂性、文件类型或区域(例如卫星图像的地理区域)划分数据集。 分配较小、更集中的任务,以避免给团队成员带来过多压力。 根据专业知识分配任务:将复杂的任务(例如,注释 3D 点云)匹配给经验丰富的注释者。 将常规任务(例如边界框注释)分配给经验较少的团队成员。 设定现实的期限:创建一个带有缓冲区的时间表,用于审查和重新注释周期。 步骤 3:建立审查流程两层质量保证流程:注释者提交已完成的任务。 审阅人员验证注释并标记需要更正的问题。 基于共识的评审:使用多个评审员来交叉检查关键数据集并解决差异。 质量检查自动化:使用 Amazon SageMaker 的共识评分或 Supervisely 的基于 AI 的错误检测等工具来自动化部分审核流程。 保持质量和一致性的最佳实践 1. 注释指南精心设计的指南可确保整个团队的统一性和清晰度:内容:每个标签的详细描述。 每种注释类型都有示例和反例。 处理边缘情况的说明。 格式:使用共享文档(Google Docs)或将指南直接集成到 Labelbox 等注释工具中。 2. 培训和入职初始培训:举办研讨会,让团队成员熟悉工具和标准。 实践练习:在注释者处理真实数据之前,使用样本数据集提供实践培训。 持续反馈:定期审查团队表现并根据需要更新培训材料。 3. 反馈机制建立清晰的反馈渠道来解决问题并提高性能:注释者反馈:使用 Slack 或集成聊天系统等平台快速澄清问题。 审阅者反馈:为注释者提供建设性的、基于示例的指导。 4. 绩效监控使用可衡量的指标跟踪团队绩效:准确性:正确注释的任务的百分比。 速度:每个注释任务的平均时间。 注释者间一致性:同一数据集上多个注释者之间的一致性。 5. 利用自动化使用预标记工具来加速重复任务,特别是对于边界框或多边形。 采用主动学习算法将人力集中在边缘情况上。 使用真实场景优化工作流程示例:注释卫星图像场景:您正在标记卫星图像以识别基础设施、水体和农田,以进行农业规划。 数据集分割:按区域或对象类型划分数据集。 任务分配:经验丰富的注释者处理复杂对象(例如基础设施)。 新的注释者专注于简单的标签(例如水体)。 审查流程:审查员验证所有标签是否符合指南。 使用人工智能检测未注释的区域。 最终输出:经过验证的注释以 COCO 格式导出,以便集成到 AI 模型中。 协作注释中的挑战和解决方案挑战解决方案注释者疲劳轮换注释者并整合休息以保持注意力。 不一致的注释使用训练会话和注释者间一致性指标。 大型数据集过载将数据集分成更小的任务并使用自动标记工具。 关于标注的争议:为最终版本设立监督角色
简介在机器学习和人工智能领域,准确且标记良好的数据对于训练有效的模型至关重要。 CVAT(计算机视觉注释工具)是一种开源注释工具,用于注释图像和视频数据,支持对象检测、图像分割和视频跟踪等广泛用例。 本指南将引导您完成从在本地机器上设置 CVAT 到管理项目、执行注释以及提取注释数据进行机器学习模型训练的所有步骤。 无论您是初学者还是经验丰富的用户,本指南都将帮助您彻底了解如何有效地使用 CVAT。 什么是 CVAT? CVAT 是英特尔开发的基于网络的工具,旨在简化计算机视觉应用程序的图像和视频注释过程。 它允许团队协作注释具有不同格式和任务的大型数据集,例如边界框创建、图像分割和对象跟踪。 CVAT 的主要特点:用户友好界面:CVAT 提供了直观的界面,方便初学者和专家浏览。 多种注释格式:支持多种注释格式,包括PASCAL VOC、COCO、TFRecord等,可导出用于机器学习模型。 基于任务的管理:项目被分为可管理的任务,可以分配给不同的注释者。 这有助于有效地组织数据注释工作,特别是对于大型团队。 机器学习模型集成:CVAT 允许您集成预先训练的机器学习模型,以通过自动标记功能加快注释过程。 支持视频和图像注释:您可以使用边界框、多边形、关键点和语义分割等工具注释静态图像和动态视频数据。 使用 CVAT 进行数据注释可扩展性的好处:CVAT 非常适合处理大型数据集,使其成为企业级项目的理想选择。 协作环境:多个用户可以在同一个项目上工作,并且注释者、主管和管理员的角色明确。 可定制:用户可以使用插件或自定义脚本修改或扩展该工具的功能。 CVAT 与其他注释工具 虽然 CVAT 很流行,但也存在其他注释工具,如 Labelbox、Supervisely 和 VGG Image Annotator (VIA)。 然而,CVAT 具有多种优势,包括其开源性质、易用性以及处理不同数据类型的灵活性,使其成为大规模注释任务的有力竞争者。 创建 CVAT 帐户 在 CVAT 网站上创建帐户很简单。 请按照以下步骤操作:访问 CVAT 网站:导航到 CVAT 的官方网站。 点击“注册”:在主页上,找到并点击“注册”按钮。 填写您的详细信息:输入您的电子邮件地址,创建安全密码,并提供您的全名。 验证电子邮件:检查您的收件箱中的验证电子邮件,然后单击提供的链接来确认您的帐户。 登录:返回 CVAT 网站,使用您的电子邮件和密码登录,然后开始使用该平台! 享受使用 CVAT 注释的乐趣 设置 CVAT 2.1 先决条件 在设置 CVAT 之前,请确保您具备以下条件: 操作系统:CVAT 可以在 Linux、macOS 或 Windows 上运行。 Docker 用于容器化安装过程,使得跨不同系统的安装更加容易。 软件工具:Docker:CVAT 使用 Docker 进行容器化,因此您需要在您的机器上安装 Docker 和 Docker Compose。 Git:需要从 GitHub 克隆 CVAT 存储库。 Python:运行与 CVAT 相关的脚本或附加服务所必需。 2.2 安装流程1. 安装 Docker 首先,确保您已经安装了 Docker 和 Docker Compose。 以下是每个平台的基本指南: 对于 Linux: 运行以下命令来安装 Docker 和 Docker Compose:bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo apt-get install docker-compose 对于 macOS 和 Windows: 从官方网站下载 Docker Desktop 并按照安装说明进行操作。 2. 克隆 CVAT 存储库 安装 Docker 后,您可以克隆 CVAT 存储库: git clone https://github.com/openvinotoolkit/cvat.git cd cvat 3. 构建 Docker 容器 运行以下命令来设置 Docker 容器并在本地构建 CVAT:docker-compose build docker-compose up 这将初始化必要的服务并使 CVAT 可以从本地服务器访问(通常为 http://localhost:8080)。 4. 创建超级用户帐户 一旦 Docker 容器启动并运行,您就可以通过 Web 浏览器通过 http://localhost:8080 访问 CVAT。 第一次登录时,您需要创建一个超级用户帐户:提供所需的用户名、电子邮件和密码。 docker exec -it cvat bash python3 manage.py createsuperuser 3 初始配置数据库设置:CVAT 支持两种类型的数据库:SQLite(默认,用于小型项目)和 PostgreSQL(用于大型项目)。 建议使用 PostgreSQL 来处理更大的数据集和多用户环境。 电子邮件通知:如果您想为用户启用电子邮件通知,请在 docker-compose.yml 文件中配置 SMTP 设置。 4 解决设置问题设置期间的常见问题包括:端口冲突:如果端口 8080 正在使用,请更改 docker-compose.yml 中的端口。 数据库错误:确保您的数据库正在运行且配置正确。 对于 PostgreSQL,检查连接字符串。 权限问题:如有必要,请以提升的权限运行 Docker 命令(例如 sudo)。 浏览 CVAT 界面 1 CVAT 仪表板 登录 CVAT 后,您将看到仪表板,它是管理项目和任务的中心枢纽。 仪表板分为几个部分:项目管理:管理所有活跃和存档的项目。 用户管理:添加用户并分配角色,例如注释者、主管或管理员。 任务列表:查看与您的项目相关的所有任务及其状态。 2 创建和管理项目 要创建新项目: 转到“项目”部分并单击“创建新项目”。 输入项目名称、描述并选择注释类型(例如,图像分类、对象检测)。 上传您的数据集(通过直接文件上传或 URL)。 设置适当的配置,如图像大小、标签选项等。 一旦创建项目,就可以将任务分配给注释者,并可以跟踪进度。 3 用户权限和角色在 CVAT 中,用户角色定义访问级别和功能:管理员:完全控制项目,包括任务创建、用户管理和设置。 标注员:仅限于标注任务和
网络时代简介数字时代带来了前所未有的连通性和便利性,彻底改变了我们的生活、工作和交流方式。 然而,这种互联互通也使我们面临无数的网络安全威胁,从数据泄露到恶意行为者策划的复杂网络攻击。 随着组织和个人越来越依赖数字技术来处理事务,对强大的网络安全措施的需求变得前所未有的迫切。 随着网络威胁的增加,人工智能(AI)技术也得到了同步进步。 人工智能涵盖机器学习、自然语言处理和计算机视觉等学科,已成为解决网络安全等各个领域复杂问题的有力工具。 网络威胁的基础在深入研究人工智能网络安全领域之前,必须对组织面临的各种网络威胁建立基础性的了解。 网络攻击有多种形式,从网络钓鱼和恶意软件等常见威胁到勒索软件和高级持续性威胁 (APT) 等更复杂的技术。 通过全面分析网络威胁形势,组织可以更好地做好准备,防御这些不断演变的风险。 重大网络攻击的案例研究为了解威胁行为者所采用的策略、技术和程序 (TTP) 提供了宝贵的见解。 从影响全球数十万台计算机的 WannaCry 勒索软件攻击,到针对众多政府机构和企业的 SolarWinds 供应链漏洞,这些事件凸显了主动采取网络安全措施的必要性。 人工智能在网络安全中的作用人工智能通过增强人类能力和自动执行重复任务,在改变网络安全实践方面具有巨大潜力。 机器学习算法可以分析大量数据以识别表明恶意活动的模式,使组织能够更有效地检测和应对威胁。 深度学习技术受到人类大脑结构和功能的启发,擅长图像识别和自然语言处理等任务,使其成为网络安全应用的宝贵工具。 利用人工智能增强安全性 人工智能增强网络安全的主要方式之一是通过威胁检测和预防。 传统的基于签名的网络安全方法在检测未知或零日威胁的能力方面受到限制。 相比之下,人工智能系统可以分析行为模式和异常,以识别可能表明潜在网络攻击的可疑活动。 通过不断从新数据中学习并适应新出现的威胁,人工智能驱动的安全解决方案可以领先于对手。 异常检测是人工智能擅长的另一个领域。 通过建立组织网络内正常行为的基线,人工智能算法可以标记可能表示未经授权的访问或恶意行为的偏差。 这种主动方法使组织能够在安全事件升级为全面漏洞之前检测并缓解安全事件。 行为分析是人工智能网络安全的基石,它使组织能够识别可能逃避传统安全措施的细微攻击指标。 通过分析用户行为、网络流量和系统活动,人工智能算法可以识别表明内部威胁、凭证滥用或攻击者横向移动的可疑模式。 预测分析利用人工智能和机器学习根据历史数据和当前趋势预测未来的网络安全威胁。 通过分析攻击指标并关联不同的数据源,预测分析可以帮助组织预测并预先应对新出现的威胁,从而降低网络攻击成功的可能性。 人工智能驱动的防御机制除了威胁检测和预防之外,人工智能在开发先进的防御机制以保护组织免受网络威胁方面发挥着至关重要的作用。 入侵检测系统 (IDS) 和入侵防御系统 (IPS) 使用 AI 算法监控网络流量以查找恶意活动的迹象,例如可疑模式或已知的攻击特征。 通过自动实时阻止或减轻潜在威胁,这些系统可帮助组织维护其网络的完整性和可用性。 端点安全解决方案利用人工智能来保护个人设备(例如计算机、智能手机和物联网设备)免受网络威胁。 通过持续监控端点活动并检测表明恶意软件或未经授权的访问尝试的异常,人工智能端点安全解决方案可以为组织提供针对各种网络威胁的全面保护。 网络流量分析利用人工智能算法来监控和分析网络流量,以发现恶意活动或异常行为的迹象。 通过将网络流量数据与威胁情报源和安全策略相关联,人工智能驱动的网络流量分析解决方案可以实时识别和应对网络威胁,最大限度地降低数据泄露或网络入侵的风险。 身份和访问管理中的人工智能身份和访问管理 (IAM) 是网络安全的重要组成部分,负责管理访问组织资源的用户的身份验证和授权。 人工智能技术可以通过改进身份验证技术、增强访问控制机制和检测异常用户行为来增强 IAM 系统。 生物特征认证和行为生物识别等身份验证技术利用人工智能算法根据独特的生理或行为特征来验证用户的身份。 通过分析指纹、面部特征、语音模式和打字行为等因素,人工智能身份验证系统可以为组织提供安全、便捷的访问控制。 访问控制机制,例如基于角色的访问控制 (RBAC) 和基于属性的访问控制 (ABAC),根据预定义的策略和规则确定授予用户的访问级别。 人工智能可以根据用户行为、风险因素或上下文信息的变化动态调整访问权限,从而增强访问控制。 特权访问管理 (PAM) 解决方案使用 AI 来监控和管理对特权帐户的访问,这些帐户具有提升的权限,如果受到损害,将带来重大的安全风险。 通过实施人工智能驱动的异常检测和行为分析功能,PAM 解决方案可以识别表明未经授权的访问尝试或内部威胁的可疑活动。 身份治理和管理 (IGA) 框架管理组织内用户身份的生命周期,包括用户帐户和访问权限的创建、管理和撤销。 人工智能可以通过自动化身份生命周期管理任务、识别休眠或孤立账户以及强制遵守监管要求和安全政策来简化 IGA 流程。 利用人工智能保障云基础设施安全 随着越来越多的企业将IT基础设施迁移到云端,确保云环境的安全已成为首要任务。
- 1
- 2