合成数据在金融服务中的应用

人工智能在金融服务中有着广泛的应用,从流程自动化到聊天机器人和欺诈检测。据估计,到 447 年,银行从人工智能应用中节省的潜在成本总额将达到 2023 亿美元。

但是,其中一些应用程序有其局限性,因为财务数据是最敏感和个人身份的数据类型之一。举例来说,87%的美国人认为信用卡数据是适度或极度私密的。健康和遗传数据的数字为68%,位置数据为62%。

金融机构可以利用合成数据或基于真实数据人工生成的数据来克服隐私(和其他)挑战,并为客户提供创新的产品和服务。

您可以在下面看到金融机构的合成数据用例/优势:

1. 实现数据共享、协作和创新

GDPR 和 CCPA 等法规可能会阻止公司内部和机构之间共享财务数据。这可能会阻碍金融机构与金融科技合作伙伴之间或机构内部团队之间的宝贵合作。向第三方提供访问许可可能需要数月的官僚程序,甚至可能是不可能的。这使得金融机构在开发新产品之前很难评估潜在的合作伙伴。

在共享之前使用传统的数据屏蔽技术对敏感数据进行匿名化处理可能容易受到链接攻击。这些攻击旨在从匿名数据集中重新识别个人,通常是通过将匿名数据集与其他公开可用的数据集相结合。根据 2000 年一项经常被引用的研究,87% 的美国人口可以通过结合他们的性别、出生日期和邮政编码来唯一识别。

合成数据可以消除共享的风险。金融机构可以共享保留原始数据集重要特征的合成数据,而不是原始数据集。合成数据生成技术可以应用于广泛的数据类型,从表格到时间序列和人工图像。

2. 启用罕见事件(例如欺诈)预测

欺诈交易检测是机器学习在金融领域的主要应用之一。但是,包含欺诈活动的银行交易数据集通常是不平衡的:欺诈活动只占所有活动的一小部分。对于ML模型来说,从这种类型的数据集中学习以检测新的欺诈情况具有挑战性,因为较小的数据量会导致不准确的结果。

欠采样和过采样是处理不平衡数据集的两种技术。欠采样涉及删除非欺诈观测值以平衡数据集。它要求数据集很大,因为删除观测值可能会产生偏差。

另一方面,过采样正在产生新的欺诈活动,类似于真正的欺诈行为。然后,可以在平衡的数据集上训练 ML 模型,以获得更准确的结果。合成数据生成技术可用于创建人为的欺诈实例,以获得平衡的数据集。

3. 启用模拟

有时,金融机构可能希望在极端条件下测试策略,例如市场崩盘或应用程序故障。他们没有此类事件的不平衡数据集,而是可能缺少由这些条件产生的数据。合成数据可用于填补这些空白,并可以帮助组织制定针对此类事件的策略。

4. 提高监督式深度学习模型的准确性

大多数机器学习模型,尤其是深度学习模型,都是数据饥渴的。即使金融机构不缺乏训练 ML 模型的数据,ML 模型的准确性也很大程度上取决于数据大小。合成数据可用于增加数据大小。

除了增加数据量外,标记数据是合成数据在模型准确性方面的另一个优势。这与监督学习应用程序尤其相关,因为这些类型的模型从标记数据中学习。数据标注是一个劳动密集型过程,手动标注容易出错,从而导致模型不准确。合成数据为观察结果提供了正确的标签,消除了数据标记工作的必要性,并让位于更准确的 ML 模型。

5、合成数据工具

合成数据相关的工具通常是为了满足以下需求之一而开发的:

  • 用于软件开发和类似目的的测试数据
  • 机器学习模型的训练数据

UnrealSynth 虚幻合成数据生成器 利用虚幻引擎的实时渲染能力搭建逼真的三维场景,为 YOLO 等 AI 模型的训练提供自动生成的图像和标注数据。UnrealSynth 生成的合成数据可用于深度学习模型的训练和验证,可以极大地提高各种行业细分场景中目标识别任务的实施效率,例如:安全帽检测、交通标志检测、施工机械检测、车辆检测、行人检测、船舶检测等。

UnrealSynth 生成合成数据的步骤:

1、将 GLB 文件添加到场景后,接下来就可以配置 UnrealSynth 合成数据生成参数,参数配置说明如下:

  • 模型类别: 生成合成数据 synth.yaml 文件中记录物体的类型
  • 环境变更 : 变更场景背景
  • 截图数量 : 生成合成数据集 image 目录下的图像数量,在 train 和 val 目录下各自生成总数一半数量的图片
  • 物体个数 : 设置场景中的物体个数,目前最多支持 5 个,并且是随机的选取模型的类别
  • 随机旋转 : 场景中的物体随机旋转角度
  • 随机高度 : 场景中的物体随机移动的高度
  • 截图分辨率: 生成的 images 图像数据集中的图像分辨率
  • 缩放 : 物体缩放调整大小

2、点击【确定】后会在本地目录中...\UnrealSynth\Windows\UnrealSynth\Content\UserData 自动生成两个文件夹以及一个 yaml 文件:images、labels、test.yaml 文件。

UnrealSynth\Windows\UnrealSynth\Content\UserData
    |- images
        |-train
            |- 0.png
            |- 1.png
            |- 2.png
            |- ...
         |-val
            |- 0.png
            |- 1.png
            |- 2.png
            |- ...
    |- labels
        |-train
            |- 0.txt
            |- 1.txt
            |- 2.txt
            |- ...
        |-val
            |- 0.txt
            |- 1.txt
            |- 2.txt
            |- ...
    |- synth.yaml

3、模型训练:数据集生成后有三个办法可以进行模型训练:使用 python 脚本、使用命令行、使用在线服务。

第一种是使用 python 脚本,需首先安装 ultralytics 包,训练代码如下所示:

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.yaml')  # build a new model from YAML
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights

# Train the model
results = model.train(data='synth.yaml', epochs=100, imgsz=640)

第二种是使用命令行,需安装 YOLO 命令行工具,训练代码如下:

# Build a new model from YAML and start training from scratch
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640

第三种是使用ultralytics hub 或者其他在线训练工具。

转载:合成数据在金融服务中的应用 (mvrlink.com)


http://www.niftyadmin.cn/n/5170826.html

相关文章

lv11 嵌入式开发 ARM体系结构理论基础(异常、微架构)4

1 异常概念 处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生 这时处理器就要将当前的程序暂停下来转而去处理这个异常的事件 异常事件处理完成之后再返回到被异常打断的点继续执行程序 2 异常处理机制 不同的处理器对异常的处理的流程大体相似&#xff0c…

深入理解IO和NIO的原理和区别

在计算机编程领域,IO(Input/Output)和NIO(Non-blocking Input/Output)代表了两种截然不同的输入输出模型,它们在数据输入和输出方面采用不同的理念和机制。本文将深入剖析IO和NIO的原理,以及它们…

低代码信创开发核心技术(三):MDA模型驱动架构及元数据系统设计

前言 写最后一篇文章的时候,我本人其实犹豫了半年,在想是否发布出这篇文章,因为可能会动了很多人的利益。所以这篇文章既是整个低代码信创开发的高度总结,也是最为精华的一部分,它点明了低代码中最为核心的技术。虽然…

FPGA运算

算数运算中,输入输出的负数全用补码来表示,例如用三位小数位来表示的定点小数a-1.625和b-1.375。那么原码分别为a6b‘101101, b6b101011, 补码分别是a6’b110011,b6‘b110101; 如果想在fpga中实现a*b,则需要将a和b用补…

C语言编写链表的初始化、插入、删除、打印操作

文章目录 1-11题例题12例题12答案答案一答案二 1-11题 C语言基础例题1-3题-指针篇 C语言基础例题4-5题-二维数组篇 C语言基础例题6-7题-结构体篇 C语言基础例题8-9题-大作业篇 C语言基础例题10-11题-字符串、指针篇 例题12 编写一个 C 语言程序,实现一个简单的链…

JRebel热部署——效率提升100倍(程序员工具必备)

1. 下载JRebel 2.激活程序 这里推荐一个免费获取jrebel激活服务器地址和激活邮箱的地址:点击进入 进入网站之后就可以获取到激活链接和邮箱 点击进入激活 复制过去激活就可以 然后就可以看到激活成功了 3.如何使用 代码修改后,直接CtrlShitF9 即可重新启动 4…

合成数据加速机器视觉学习

虽然机器学习在基于视觉的自动化中的应用正在增长,但许多行业都面临着挑战,并难以在其计算机视觉应用中实施它。这在很大程度上是由于需要收集许多图像,以及与准确注释这些图像中的不同产品相关的挑战。 该领域的最新趋势之一是利用合成数据…

银河的c++课堂——[NOIP1999 普及组] 导弹拦截

目录 题目描述 输入格式 输出格式 输入输出样例 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天&…