• ML.NET 3.0 增强了深度学习和数据处理能力


    .NET团队在 2023.11.28 在博客上正式发布了 ML.NET 3.0::https://devblogs.microsoft.com/dotnet/announcing-ml-net-3-0/[1],强调了两个主要的兴趣点,即深度学习和数据处理,使开发人员能够完全在 .NET 生态系统中创建注入 AI 的应用程序。开源 ML.NET 框架[2]的主要卖点,旨在帮助开发人员能够使用C#和F#构建自定义ML模型并将其集成到应用程序中。这是通过命令行 (CLI) 和模型生成器等工具完成的,或者创建像大型语言模型 (LLM) 这样的结构来完成,这些模型为 ChatGPT 和 无处不在的“Copilot”AI 助手提供支持。

    image

    深度学习

    深度学习是机器学习的一个子集,使用松散地类似于人脑行为的人工神经网络,以便从大量数据甚至非结构化数据等输入中“学习”。深度学习场景在v3.0版本中得到了大幅扩展,在三个领域具有新功能:对象检测、命名实体识别和问答。

    ML.NET 3.0 中的对象检测是一种高级形式的图像分类,它不仅可以对图像中的实体进行分类,还可以对它们进行定位,因此非常适合图像包含多个不同类型的对象的场景。在v3.0中,通过与TorchSharp和ONNX模型的集成,对象检测功能得到了提升,Microsoft特别指出了TorchSharp支持的对象检测API。这些代表了在 ML.NET 框架内利用深度学习技术的重要一步。

    对象检测API的底层技术包括微软研究院开发的基于Transformer的神经网络架构技术。这种方法表明了深度学习的现代趋势,特别是在计算机视觉方面。

    TorchSharp 还有助于增强命名实体识别和问答,这两个常见的 ML 领域是自然语言处理 (NLP)的一部分。在 ML.NET 3.0 中,通过利用之前引入的 TorchSharp RoBERTa 文本分类功能,解锁了这两种方案的增强功能。“NER和QA训练器都包含在 Microsoft.ML.TorchSharp 3.0.0包[3]和命名空间Microsoft.ML.TorchSharp中。


    数据处理


    数据处理方面主要是通过对 DataFrame(一种用于存储和操作数据的结构)以及新的 IDataView 互操作性功能的许多增强功能和 bug 修复,改进了方案。加载、检查、转换和可视化数据的重要步骤要强大得多。

    具体注意事项包括:

    • 增强的 <-> 转化:IDataViewDataFrame 添加了对 ReadOnlyMemory和 VBufferDataFrameColumn列类型的支持,其中的值作为并支持所有支持基元。
    • 增加列数据容量:列现在可以存储超过 2 GB 的数据,从而消除了以前的限制。
    • Apache Arrow 集成:识别 Apache Arrow 的Date64列数据。
    • 扩展的数据加载功能:包括使用 ADO.NET 的 SQL 数据库的导入和导出功能。此外,可以从任何IEnumerable集合加载数据并将其导出到System.Data.DataTable .
    • 在 DataFrame 之间追加数据:DataFrame列名匹配时,允许将数据从一个追加到另一个,从而放宽了对列顺序的约束。
    • 重复列名的处理: DataFrame.LoadCsv增强了管理重复列名的功能,提供了重命名它们的选项。
    • 改进了算术性能和空值处理:列克隆、二进制比较方案和算术运算的优化。
    • 调试器增强功能:调试器中具有长名称的列的可读性更好。

    Microsoft还指出了新的张量基元集成,它们不会直接影响开发任务,但确实提供了显着的性能改进。AutoML 可自动将机器学习应用于数据的过程,也得到了增强,增强了模型生成器和 ML.NET CLI 中的相关体验。

    有关上述所有更改和其他更改的更多信息,请参见 发行说明[4] .

    展望未来,开发团队现在正在制定 .NET 9 和 ML.NET 4.0 的计划,模型生成器和 ML.NET CLI 预计将更快地更新,以便使用 ML.NET 3.0 版本。继续扩展深度学习场景和集成,我们将继续增强DataFrame,


    相关链接

  • 相关阅读:
    2022杭电多校联赛第六场 题解
    Arduino程序设计(十一)8×8 共阳极LED点阵显示(74HC595)
    UVM同步通信 - sv event, uvm_event, uvm_barrier详解
    这个简单的小功能,半年为我们产研团队省下213个小时
    【控制模型】数字 PID 控制 — 位置式PID算法
    springboot毕设项目车销售管理系统724s0(java+VUE+Mybatis+Maven+Mysql)
    mybatis02
    双指针解决数组问题(python)
    备战数学建模45-粒子群算法优化BP神经网络(攻坚站10)
    NX/UG二次开发—Parasolid—PK_EDGE_ask_convexity
  • 原文地址:https://www.cnblogs.com/shanyou/p/17878059.html