0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习将教授的白板草图转换为可用的模型

MATLAB 来源:MATLAB 作者:MATLAB 2022-12-15 15:39 次阅读

有些研究课题是为了回答理论问题。有些研究课题是为了解决研究人员自己的问题。伊斯坦布尔理工大学的人工智能智能系统实验室主任、控制和自动化工程教授 Tufan Kumbasar 的研究就属于后一种情况。

控制和自动化工程师经常使用反馈控制架构 (FCA) 来设计闭环控制,目的是管理或调节系统的行为以实现预期的结果。系统会反馈当前状态并将其与期望状态进行比较,然后系统进行调整以保持期望状态。这种类型的控制系统用于设置汽车的巡航控制、调节加热系统和管理工厂。

通常,讲授控制理论的教授会在白板上绘制 FCA。为了展示和分析系统的动态行为(即,它在各种输入下的行为),教授会在模块图旁边绘图。但这需要时间,而且每次更改 FCA 后都要重新绘图。解读这些绘图可能也很困难。

d5f29bd0-7b97-11ed-8abf-dac502259ad0.jpg

d60a49d8-7b97-11ed-8abf-dac502259ad0.jpg

d637401e-7b97-11ed-8abf-dac502259ad0.jpg

FCA 白板绘图示例。(图片所有权:伊斯坦布尔理工大学)“学生面临的主要挑战是识别我的板书和我糟糕的绘图,它们根本不成比例,”Kumbasar说。“他们很难理解这种图。”

一种替代方法是在 MATLABSimulink 等科学计算软件中重新创建FCA,并将计算出的绘图投影到屏幕上。“MATLAB 有很好的可视化能力,”Kumbasar 说。”但在课堂上编码需要花费额外的时间和精力。”

然后,Kumbasar 想到了应用人工智能 (AI) 来帮助控制系统课堂上的教学。

“初衷有点自私,”他说。“当时我担任学院副院长,忙于许多行政工作。我同时承担部分教学工作。有一天,我筋疲力尽,告诉我的研究生,我真的很累。我的教学要么都在计算机上完成,要么都在白板上完成。”

然后,他找到正在积极合作研究深度学习方法的研究生 Dorukhan Erdem 和 AykutBeke。“我说’Dorukhan,既然你们在一起研究新颖的结构。为我创建一个应用程序怎么样?我就当你们的实验小白鼠。’”

Kumbasar教授设想的应用程序是一个深度学习系统,它可以拍摄白板的照片并在 MATLAB 中自动重新创建 FCA。这种想法在 MathWorks 框架内是可行的,其中像Simulink 这样的控制工具与基于学科的工具箱(如 Deep Learning Toolbox 和 Computer VisionToolbox)在相同的环境中工作。

▼使用深度学习将白板转换为模型

甘作实验小白鼠意味着需要绘制很多 FCA。Erdem 对这些绘图进行拍摄并标注,以便计算机基于它们进行学习。五个院系的教师为六种 FCA 中的每一种至少绘制 10 个模块图,总共得到 306 张图像。教师在不同光照条件下绘制草图,使这个挑战更具有现实意义。然后,Erdem 和 Beke 手动标注所有模块和其中的符号。在训练期间,深度学习模型会猜测这些标签,并在不正确时调整其内部参数。

最终的应用程序流程发表在《IEEE Access》期刊上,包括五个步骤。

d65fa392-7b97-11ed-8abf-dac502259ad0.jpg

将白板草图转换为代码的步骤图。(图片所有权:伊斯坦布尔理工大学)

首先是识别草图与六种架构类型中的哪一种最匹配。Kumbasar 的团队使用了一种称为ResNet-50 的预训练深度神经网络,它使用 50 个网络层和一些跳过中间层的长距离连接,从而提高性能。

306张图像对于训练神经网络来说并不算多,尤其是这么大的神经网络,因此团队采用了两个技巧。首先是一种称为迁移学习的做法。他们使用预训练的 ResNet-50网络(该网络基于成千上万张日常物品的照片进行训练)并替换了网络的最终层,从而仅基于他们自己的照片训练该层。第二个技巧是数据增强,该团队通过创建经过稍微旋转或缩放的版本来增加图像的数量。经过训练后,他们的流程的第一个步骤在对手写反馈控制架构进行分类方面达到了89% 的准确度。

流程中的第二个步骤是检测模块。程序将图像转换为二值图像- 在黑色背景上显示白线,没有其他颜色或灰色。然后,它去除了字符和噪声。接下来,它填充封闭的形状,并将模块与由模块之间的反馈回路创建的封闭形状分离开来。

第三个步骤是,流程识别在模块中书写的字符,包括数字和算术运算符。它将图像二值化,围绕每个字符进行裁剪,并应用基于3920 个图像进行训练的另一个神经网络。

遇到的一个困难是区分“5”和“s”。Kumbasar 说,“我写的 5 和 s太相似了。Dorukhan 总是抱怨我的书写很糟糕。控制工程师凭直觉会认为我不会写 55+1,写的应该是 5s+1。但 AI系统不具备这种直觉。”尽管如此,此阶段的准确率达到了 96%。

第四个步骤是,应用程序将字符组合成 MATLAB函数。如果一个字符位于另一个字符的右上方,系统称之为指数,并插入“^”。如果一条水平线的上下都有字符,系统将其视为除法而不是减法。

d67f4936-7b97-11ed-8abf-dac502259ad0.jpg

用深度学习分割和区分字符。(图片所有权:伊斯坦布尔理工大学)

在第五个步骤中,工作流将这些函数放到正确的模块中,在 MATLAB 中将它们连接成一个完整的FCA。它还基于团队创建的模板创建一个 Simulink 图。

Erdem表示,对于使用 ResNet-50 这样的神经网络进行深度学习来说,MATLAB 是有用的解决方案。Kumbasar 补充说,通过 MATLAB可以方便地进行流程步骤之间的集成。他认为,“在MATLAB 中,将数据数组和图像从一个工具箱发送到另一个工具箱或从同一个工作区中读取数据是很容易的。”

▼从草图开始“当这个 FCA 应用程序实时工作时,我感到很惊讶,”Kumbasar 说。“我们在不同光照条件下测试整个流程,并混合了各人的书写,可以说是尽一切可能增加了难度。

各个单独部分都能良好地工作。Kumbasar 补充说,“但一旦您连接整个流程,如果一个部分出错,另一个也会受到影响。因此,误差始终会在从输入到输出的过程中放大。”在这里,一切都在按部就班进行。“Dorukhan说这是有趣的工程,让他充满动力。他找了很多超高难度的测试图像。”

整个系统的成功程度很难度量,该团队尚未考察学生在实际教学中对该系统的体验,新冠疫情就出现了。他们在YouTube上发布了一段视频,视频中教师在白板上绘制FCA。片刻后,相同的 FCA 出现在白板上方的 Simulink 投影中,随后是展示其行为的绘图。

提供白板绘图的教授之一 İlker Üstoğlu 说,他对此印象深刻。如果该应用程序作为产品推出,他会使用它。“它为教学提供了便利。”

FCA 白板绘图实时转换为 Simulink。(视频所有权:伊斯坦布尔理工大学)▼进入理论领域不管该系统多么出色,仍有部分课堂不准备用 MATLAB 转换白板 FCA。Erdem 对该应用程序进行了优化,例如将 ResNet 限制在 50 层,使其可以仅在一个 GPU 上实时运行,但它仍需要一台高分辨率相机和一台具有GPU的笔记本电脑,而许多课堂并未配备这些设备。

“科学研究或者是出于好奇,或者是出于满足需求。这项研究是满足我的个人需求。”—— Tufan Kumbasar,伊斯坦布尔理工大学人工智能和智能系统实验主任、控制和自动化工程教授

d6a0d52e-7b97-11ed-8abf-dac502259ad0.jpg

d6c71dce-7b97-11ed-8abf-dac502259ad0.jpg

d6e2e540-7b97-11ed-8abf-dac502259ad0.jpg

借助深度学习,应用程序能够将不同风格的书写转换为 MATLAB 函数,并将函数放在正确的模块中。(图片所有权:伊斯坦布尔理工大学)

与此同时,研究人员正在考虑进行几项改进。Erdem 希望该程序能够处理六种以上的架构。当字符接触到周围的框时,系统也会难以识别,因此 Kumbasar 增加了置信水平,使系统能够指示其标签的确定性。

集成模糊逻辑也是一个优先事项。“在模糊逻辑中,您不会说超过一定身高的每个人都是高个子,而其他人都不是,”Kumbasar 解释道。“人们可能会说个子有点高,从而导致后续更微妙的决定。在 MATLAB 中很容易建立模糊层,模糊层将其与神经网络结合使用,或用于组成完整的模糊系统。”

如果该流程真的成为一种产品,其应用范围可能不仅限于课堂上。教授可能会用它将学生的手写试卷或课下作业转换为 MATLAB 模型来评分。学生可能用它将自己的课堂笔记数字化,并在 MATLAB 中使用 FCA。Kumbasar 说他想在研究中做同样的事情。MathWorks 的工程师 Marco Rossi 指出,许多学生和研究人员更喜欢用笔和纸来分析问题,然后将手写内容放入 Simulink 中来生成 C 代码。这种习惯可能源于控制理论的教学方式。但有了类似 Kumbasar 推出的这种工具,可能会促使人们在设计过程中更早地从纸上转移到屏幕上,从而更轻松地使用模块。

除了解决他自己的问题和推进到理论研究之外,Kumbasar 还提到此项目的另一个好处。“这项研究也能很好地激励本科生,”他说。让他们认识到工程灵感可以来自每天面对的难题。“科学研究或者是出于好奇,或者是出于满足需求。”Kumbasar 说。“这项研究满足了我的个人需求。”

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6543

    浏览量

    110472
  • 深度学习
    +关注

    关注

    73

    文章

    5492

    浏览量

    120975
  • FCA
    FCA
    +关注

    关注

    1

    文章

    24

    浏览量

    5193

原文标题:教学前沿 | 深度学习将教授的白板草图转换为可用的模型

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深度学习模型的鲁棒性优化

    。异常值和噪声可能会误导模型的训练,导致模型在面对新数据时表现不佳。 数据标准化/归一化 :数据转换到同一尺度上,有助于模型更好地
    的头像 发表于 11-11 10:25 153次阅读

    GPU深度学习应用案例

    GPU在深度学习中的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是深度学习
    的头像 发表于 10-27 11:13 326次阅读

    FPGA加速深度学习模型的案例

    FPGA(现场可编程门阵列)加速深度学习模型是当前硬件加速领域的一个热门研究方向。以下是一些FPGA加速深度学习
    的头像 发表于 10-25 09:22 140次阅读

    AI大模型深度学习的关系

    AI大模型深度学习之间存在着密不可分的关系,它们互为促进,相辅相成。以下是对两者关系的介绍: 一、深度学习是AI大
    的头像 发表于 10-23 15:25 367次阅读

    深度学习模型有哪些应用场景

    深度学习模型作为人工智能领域的重要分支,已经在多个应用场景中展现出其巨大的潜力和价值。这些应用不仅改变了我们的日常生活,还推动了科技进步和产业升级。以下详细探讨
    的头像 发表于 07-16 18:25 1670次阅读

    深度学习模型量化方法

    深度学习模型量化是一种重要的模型轻量化技术,旨在通过减少网络参数的比特宽度来减小模型大小和加速推理过程,同时尽量保持
    的头像 发表于 07-15 11:01 452次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>量化方法

    深度学习模型中的过拟合与正则化

    深度学习的广阔领域中,模型训练的核心目标之一是实现对未知数据的准确预测。然而,在实际应用中,我们经常会遇到一个问题——过拟合(Overfitting)。过拟合是指模型在训练数据上表现
    的头像 发表于 07-09 15:56 781次阅读

    keras模型转tensorflow session

    在这篇文章中,我们讨论如何Keras模型转换为TensorFlow session。 Keras和TensorFlow简介 Keras是一个高级神经网络API,它提供了一种简单、快
    的头像 发表于 07-05 09:36 459次阅读

    深度学习中的模型权重

    深度学习这一充满无限可能性的领域中,模型权重(Weights)作为其核心组成部分,扮演着至关重要的角色。它们不仅是模型学习的基石,更是
    的头像 发表于 07-04 11:49 936次阅读

    深度学习的典型模型和训练过程

    深度学习作为人工智能领域的一个重要分支,近年来在图像识别、语音识别、自然语言处理等多个领域取得了显著进展。其核心在于通过构建复杂的神经网络模型,从大规模数据中自动学习并提取特征,进而实
    的头像 发表于 07-03 16:06 1207次阅读

    深度学习模型训练过程详解

    深度学习模型训练是一个复杂且关键的过程,它涉及大量的数据、计算资源和精心设计的算法。训练一个深度学习模型
    的头像 发表于 07-01 16:13 1086次阅读

    深度学习模型优化与调试方法

    深度学习模型在训练过程中,往往会遇到各种问题和挑战,如过拟合、欠拟合、梯度消失或爆炸等。因此,对深度学习
    的头像 发表于 07-01 11:41 693次阅读

    FPGA在深度学习应用中或取代GPU

    对神经网络进行任何更改,也不需要学习任何新工具。不过你可以保留你的 GPU 用于训练。” Zebra 提供了深度学习代码转换为 FPGA
    发表于 03-21 15:19

    深度学习如何训练出好的模型

    算法工程、数据派THU深度学习在近年来得到了广泛的应用,从图像识别、语音识别到自然语言处理等领域都有了卓越的表现。但是,要训练出一个高效准确的深度学习
    的头像 发表于 12-07 12:38 1056次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>如何训练出好的<b class='flag-5'>模型</b>

    如何利用SSTSPICE模型转换为Saber模型呢?

    SaberRD软件自带的SPICE-to-SabreTranslator (SST) 实用程序允许您将SPICE(HSPICE、PSPICE)网表或库转换为MAST网表或模板,使用SST可以自动生成符号。
    的头像 发表于 12-05 14:00 1388次阅读
    如何利用SST<b class='flag-5'>将</b>SPICE<b class='flag-5'>模型</b><b class='flag-5'>转换为</b>Saber<b class='flag-5'>模型</b>呢?