图像识别
使用“图像识别”工具构建可以按组对图像进行分类的机器学习模型。用户可以使用自己的数据和标签来训练新模型,也可以使用我们提供的预训练模型。
要求 Alteryx Intelligence Suite
此工具是 Alteryx Intelligence Suite 的一部分。Intelligence Suite 需要单独的许可证,并需要以 Designer 附加组件进行安装。安装 Designer 后,请安装 Intelligence Suite 并 开始您的免费试用 。
工具组件
“图像识别”工具有 5 个锚点(2 个输入和 3 个输出):
T 输入锚点:使用 T 输入锚点输入要用于训练的数据。
V 输入锚点:使用 V 输入锚点输入要用于验证的数据。
M 输出锚点:使用 M 输出锚点将已构建的模型传递到下游。
E 输出锚点:使用 E 输出锚点查看模型评估指标。指标包括有关每个分类标签的精度、查全率和精确度的信息。
R 输出锚点:将 R 输出锚点连接到 “浏览”工具 可查看模型报告。该报告包括每个周期后的准确率和损失率图形。这些图可以直观显示工具是否对模型进行了充分的训练。
重要
用户传递到图像识别中的图像必须采用 BLOB 文件格式。
配置工具
要使用此工具...
将该工具拖到画布上。
连接到含有您要训练模型进行图像识别的上游数据。请注意,最大图像大小为 512×512 像素。
通过指定 图像字段 和 图像标签 来输入 训练图像 。
通过指定 图像字段 和 图像标签 来输入 验证图像 。
运行 工作流。
选项
周期 (epoch) 是指训练集中所有数据通过神经网络完成一次(正反向)传递。周期与迭代相关,但不相同。迭代是指训练集的一个批次中所有的数据的单次传送。
增加周期的数量使模型对训练集进行更长时间的学习。但这样做会增加计算成本。
您可以增加周期的数量以帮助减少模型出现的错误。但到了一定程度,与增加的计算成本相比,减少的错误量可能不值得您这样做。此外,周期数量增加过多会导致过度拟合的问题,而周期数量不足则可能会导致拟合不足的问题。
预训练模型是指包含特征提取方法和已定义参数的模型。参数越多,模型准确性越高,但速度会更慢且计算成本高昂。参数较少的模型则相反;它们的准确性更低,但速度更快,计算成本也相对较低。
下面是对工具中包含的预训练模型的简要说明。重要提示:这些模型的性能在很大程度上取决于您的数据,因此以下总结并不总是适用。
VGG16 往往最为准确,但速度最慢,计算成本最高。最小图像大小:32 x 32 像素。
InceptionResNetV2 在准确性、速度和计算成本方面较为平衡,且更倾向于追求准确性。最小图像大小:75 x 75 像素。
Resnet50V2 在准确性、速度和计算成本方面较为平衡,且更倾向于追求高速度和低计算成本。最小图像大小:32 x 32 像素。
InceptionV3 相对而言最不准确(但准确性仍然很高),且速度最快,计算成本最低。最小图像大小:75 x 75 像素。
这些模型使用的训练数据集包含了 1400 多万张图像和 20,000 多个标签。
选择一个预训练模型可省去使用自己的图像来训练整个神经网络的需求。当您选择使用某个预训练模型时,实际上是假定您的输入参数与预训练模型所期望的参数相匹配,因此您无需重建一个与预训练模型功能相同(甚至可能更差)的模型。许多图像特征往往与已训练模型的特征相同,因此大多数情况下您可以放心地假定预训练模型适用于您的输入。
如果您的图像拥有的特征与预训练模型期望的特征相匹配,并且您希望避免训练自己的模型,那么请使用预训练模型。
批次(batch)是完整训练集的一个子集。
减小批次大小可以对在任何时间内通过神经网络的数据量进行分流。这样做可以避免训练模型时占据大量的内存,内存需求量将低于一次性将所有数据传递到神经网络的量。有时批量处理可加快训练速度。但将数据分成多个批次可能增加模型的错误。
如果您的机器无法一次性处理所有数据,或您希望减少训练时间,则可将数据进行分批。