将视觉深度学习模型应用于非视觉领域

介绍

近些年来,深度学习技术已经彻底改变了计算机视觉领域。由于迁移学习和各种各样的学习资源的出现,任何人都可以通过使用预训练的模型,将其应用到自己的工作当中,以此获得非常好的结果。随着深度学习越来越商业化,希望它的创造性能应用在不同的领域上。

今天,计算机视觉领域中的深度学习在很大程度上解决了视觉对象的分类、目标检测和识别问题。在这些领域,深度神经网络(Deep Neural Network,DNN)的表现要胜过人类。

即使数据不是可视化的,但你仍然可以利用这些视觉深度学习模型的力量,主要是卷积神经网络(Convolutional Neural Network,CNN)。要做到这一点,你必须将数据从非视觉领域迁移到视觉领域(图像)里,然后使用一个经过在图像和数据上训练过的模型。你将会感叹这种方法是多么的强大。

在本文中,我将介绍3个案例,这是关于公司如何进行创造性地深度学习应用,将视觉深度学习模型应用于非视觉领域。在每一个案例中,都会对一个非计算机视觉的问题进行转换和描述,以便更好地利用适合图像分类的深度学习模型的能力。

案例1:石油工业

在石油工业中,游梁式抽油机(Beam pumps)常常用于从地下开采石油和天然气。它们由连接在移动梁上的发动机来提供动力。移动梁将发动机的旋转运动传递给抽油杆的垂直往复运动,抽油杆作为一个动力泵,再将油输送到地面上。

游梁式抽油机作为一种复杂的机械系统,很容易发生故障。为了方便诊断排查,在抽油机上安装了一个测功机,用于测量杆上的负载。测量后,绘制出一张测功机的动力泵卡片,图上显示了发动机在旋转循环过程中每个部分的负载。

当游梁式抽油机出故障的时候,测功机卡片上的形状会改变。这个时候,通常会邀请专业的技术人员过来检查卡片,并根据抽油机出现故障的部分来判断需要采取什么措施和方法来进行维修。这个过程不仅非常耗时,而且还需要非常深入的专业知识才能有效地解决问题。

另一方面,这个过程看起来有可能是可以自动化完成的,这就是为什么尝试过典型的机器学习系统而并没有取得很好效果的原因,准确率大约为60%。

将深度学习应用到这个领域的一个公司是Baker Hughes。在这种情况下,测功机卡片被转变为图像,然后作为输入到Imagenet的预训练模型中。这个结果非常令人印象深刻,精度从60%上升到93%,只需采用预训练的模型并用新的数据对其进行一下微调。经过模型训练的进一步优化,其精度达到了97%。

上图是Baker Hughes部署的系统示例。在左侧,你可以看到输入图像,在右侧是故障模式的实时分类。

它不仅击败了以前的基于机器学习的传统方法,而且公司不再需要抽油机的技术人员花费大量的时间来排查故障,他们过来就可以立即进行机械故障修复,从而大大提高了效率。

案例2:在线欺诈检测

计算机用户在使用计算机的时候有独特的模式和习惯。当你在浏览一个网站或在键盘上键入电子邮件内容的时候,你使用鼠标的习惯是独一无二的。

在这种特殊的情况下,Splunk解决了一个问题,即通过使用计算机鼠标的方式来对用户进行分类。如果你的系统能够根据鼠标使用的方式来识别用户,那么这种方法可以用于欺诈检测。假设这样一个情况:某些人在窃取了别人的用户名和登录密码之后在网上消费。他们使用电脑鼠标的方式是独一无二的,系统将很容易检测到这种异常操作,并进一步防止发生欺诈交易,同时也会通知真正的账户所有者。

使用特殊的Javascript代码,可以收集所有鼠标的行为活动。软件每5-10毫秒记录一次鼠标的行为。因此,每个用户在每个网页的行为数据可以是5000–10000个数据点。数据代表了两个挑战:第一个挑战是对于每个用户来说都是海量的数据,第二个挑战是每个用户的数据集都将包含不同多个数据点,这不太方便,因为,通常来说,不同长度的序列需要更复杂的深度学习架构。

这个方案是将每个用户在每个网页上的鼠标活动转换为一个单个图像。在每幅图像中,鼠标的移动是一条由不同的颜色来表示鼠标移动速度的线来表示的,而点击左键和点击右键则是由绿色和红色的圆圈来表示的。这种处理初始数据的方法解决了上述的两个问题:首先,所有图像的大小都相同;其次,现在基于图像的深度学习模型可以用于此类数据了。

在每幅图像中,鼠标的移动是一条由不同的颜色来表示鼠标移动速度的线来表示的,而点击左键和点击右键则是由绿色和红色的圆圈来表示的

Splunk使用TensorFlow和Keras为用户分类创建了一个深度学习的系统。他们做了2个实验:

1. 当访问相类似的页面时,金融服务网站的用户组分类:正常客户与非客户用户。一个由2000张图片组成的相对较小的训练数据集。在对基于VGG16网络的一个已修改结构进行了2分钟的训练之后,系统能够以80%以上的准确度识别出这两个类;

2. 用户的个人分类。该任务是为一个给定的用户预测出是真实用户还是一个模拟者。提供了一个只有360张图片的非常小的训练数据集。基于VGG16网络,但是由于考虑到小数据集和减少过度拟合(有可能放弃和批量标准化)而进行了修改。经过了3分钟的训练,准确率达到了78%左右,考虑到任务具有的挑战性,那么这一点很令人印象深刻;

要了解更多相关内容,请参阅描述了系统和实验过程的完整内容。

案例3:鲸鱼的声音检测

在这个例子中,谷歌使用卷积神经网络来分析录音并检测出其中的座头鲸。这对于科学研究来说很有帮助,例如跟踪单个鲸鱼的活动、叫声的特性、鲸鱼的数量等等。有趣不是目的,而是如何通过需要利用图像的卷积神经网络来处理数据。

将音频数据转换成图像的方法是通过使用光谱图来实现的。光谱图是音频数据基于频率特征的视觉来表示的。

在将音频数据转换成光谱图之后,谷歌的研究人员使用了ResNet-50网络结构来训练这个模型。他们能够达到以下的性能表现:

·90%的准确度:90%的音频剪辑被归类为鲸鱼叫声的分类;

·90%的敏感度:如果给一个鲸鱼叫声的录音,那么就会有90%的机会被打上敏感度的标签;

让我们把焦点从鲸鱼叫声转移到处理音频数据时可以做些什么。当你创建光谱图的时候,可以选择要使用的频率,这取决于你所拥有的音频数据的类型。你将需要给人类的说话声、座头鲸的叫声、或工业设备的录音设置不同的频率,因为在所有的这些情况下,最重要的信息是包含在了不同的频段里。你不得不使用自己的专业领域知识来选择相关的参数。例如,如果你使用的是人类声音数据,那么你的第一选择应该是梅尔频率倒谱图。

目前有一些有比较好的软件包可用于音频。Librosa是一个免费的音频分析Python库,可以使用CPU生成光谱图。如果你在TensorFlow中开发并且想在GPU上做光谱计算,那也是支持的。

综上所述,本文所阐述的一般方法都遵循了两个步骤。首先,找到一种将数据转换成图像的方法;其次,使用一个经过预训练的卷积网络或者从头开始进行训练。第一步要比第二步更难,这是需要你必须有创造力的地方,要考虑到如果你的数据可以转换成图像。我希望提供的实例对解决你的问题有所帮助。

 


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串随机生成工具类

package com.gblfy.util;import org.springframework.stereotype.Component;import java.util.ArrayList; import java.util.Arrays; import java.util.Random;/*** 字符随机生成类*/ Component public class RandomStrUtil {/*** 随机产生类型枚举*/public static enum TYPE {…

什么是应用宝统一链接服务器,applink

从同构的角度和降级支持的角度来看,使用Android和iOS系统增强的AppLinks和Universal Links,通过HTTPS统一标准打开APP是标准的选择。使用自定义Scheme打开APP适用于:网站尚不支持HTTPS;App的iOS版本尚未添加Universal Links支持&a…

如何在Flutter上优雅地序列化一个对象

序列化一个对象才是正经事 对象的序列化和反序列化是我们日常编码中一个非常基础的需求,尤其是对一个对象的json encode/decode操作。每一个平台都会有相关的库来帮助开发者方便得进行这两个操作,比如Java平台上赫赫有名的GSON,阿里巴巴开源…

腾讯汤道生:2020年加大投入产业互联网生态建设

新一轮产业革命正在不断深化,为全球经济发展提供了历史性机遇。如何通过数字化、智能化等手段打通产业链不同环节,优化产业效率,实现产业协同,加速产业转型升级? “与合作伙伴‘共创’是产业互联网发展最重要的路径&am…

定时器new Timer().schedule()的使用

文章目录一、基础知识1. 简介2. 常用API二、需求案例2.1. 案例12.2. 案例22.3. 案例3三、场景案例3.1. 在特定时间执行任务,只执行一次3.2. 指定第一次执行的时间,然后按照间隔时间,重复执行在开发中,我们经常需要一些周期性的操作…

优酷IPv6改造纪实:视频行业首家拥抱下一代网络技术

阿里妹导读:2018年双11前,优酷开启了IPV6的大门。9月份PC端业务开启灰度,迎来首位IPV6 VIP用户后,优酷移动客户端也马不停蹄地加入灰度大军。从0到1,花了几个月;从10到1000,花了几天&#xff1b…

服务器上的文件怎么取名,给新的服务器取名你会取神马?

亲爱的谕霸们:本周话题 emmmm.....又一次想话题想到脑壳痛,忽然想到,要不然大家也来想一个,于是乎就是......噢对了,看到论坛的宝宝们都晒出来2018年新年历了,怎么能少了APP的宝宝们?&#xff1…

NVIDIA发布全新推理软件,开创交互式会话AI新时代!

近日, NVIDIA发布了一款突破性的推理软件。借助于该软件,全球各地的开发者都可以实现会话式AI应用,大幅减少推理延迟。而此前,巨大的推理延迟一直都是实现真正交互式互动的一大阻碍。 NVIDIA TensorRT™ 7作为NVIDIA第七代推理软件…

可应用于实际的14个NLP突破性研究成果(二)

论文摘要 尽管最近在训练高质量的句子嵌入上做出了很多的努力,但是大家仍然对它们所捕捉的内容缺乏了解。基于句子分类的‘Downstream’tasks通常用于评估句子表示的质量。然而任务的复杂性使得它很难推断出句子表示中出现了什么样的信息。在本文将介绍10个probing…

IDEA JDK1.8 ProGuard 混淆Maven项目代码

直接复制到pom中即可使用 <build><plugins><plugin><groupId>com.github.wvengen</groupId><artifactId>proguard-maven-plugin</artifactId><!-- <version>2.0.14</version>--><version>2.1.1</version…

可应用于实际的14个NLP突破性研究成果(三)

论文摘要 当前最先进的语义角色标记&#xff08;SRL&#xff09;使用深度神经网络&#xff0c;但没有明确的语言特征。之前的工作表明&#xff0c;抽象语法树可以显著改善SRL&#xff0c;从而提高模型准确性。在这项研究中&#xff0c;我们提出了语言学的自我关注&#xff08;…

服务器cpu虚拟插槽,服务器更换cpu插槽

服务器更换cpu插槽 内容精选换一换弹性云服务器创建成功后&#xff0c;您可以根据需求&#xff0c;修改云服务器的名称。系统支持批量修改多台弹性云服务器的名称&#xff0c;修改完成后&#xff0c;这些弹性云服务器的名称相同。登录管理控制台。单击管理控制台左上角的&#…

云+X案例展 | 民生类:贝斯平云助力500强跨国企数字化转型

本案例由贝斯平云投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。在全球化的科技进步和…

json处理最外层引号

String substring jsonMsg.substring(1, jsonMsg.length() - 1); String replace substring.replace("\\", "");

基于Alluxio系统的Spark DataFrame高效存储管理技术

介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理&#xff0c;提升数据访问性能。Qunar最近将Alluxio部署在他们的生产环境中&#xff0c;从而将Spark streaming作业的平均性能提升了15倍&#xff0c;峰值甚至达到300倍左右。在未使用Alluxio之前&#…

Arthas实践--获取到Spring Context,然后为所欲为

背景 Arthas 是Alibaba开源的Java诊断工具&#xff0c;深受开发者喜爱。 https://github.com/alibaba/arthas Arthas提供了非常丰富的关于调用拦截的命令&#xff0c;比如 trace/watch/monitor/tt 。但是很多时候我们在排查问题时&#xff0c;需要更多的线索&#xff0c;并不…

$.ajax modal,使用bootstrap modal.load()加载的js,第二次modal显示的时候,js不生效?...

我想要动态加载modal内的内容(一个模版&#xff0c;里面包含加载js文件)&#xff0c;我使用load(),在modal显示的时候进行ajax加载&#xff0c;js如下&#xff1a;$(#modal).on(show.bs.modal, function (e) {$(this).load($(e.relatedTarget).data(url));});原先在页面上已经存…

云+X案例展 | 金融类:青云QingCloud助力泰康人寿云计算演进之路

本案例由荣之联投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。泰康保险泰康云平台 青…

阿里云Kubernetes容器服务上体验Knative

概述 Knative Serving是一种可缩放至零、请求驱动的计算运行环境&#xff0c;构建在 Kubernetes 和 Istio 之上&#xff0c;支持为 serverless 应用、函数提供部署与服务。Knative Serving的目标是为Kubernetes提供扩展功能&#xff0c;用于部署和运行无服务器工作负载。 下面…

Springboot2 Quartz实现JAVA定时任务的动态配置

动态配置Quartz。没接触过定时任务的同学可以先看下此篇&#xff1a;JAVA定时任务实现的几种方式 文章目录一、需求背景1. 问题现象2. 问题分析3. 解决方案二、需求背景2.1. maven依赖2.2. 创建一个任务表2.3. 实现步骤三、代码逻辑3.1. Quartz配置3.2. 启动项目&#xff0c;加…