知行编程网知行编程网  2022-01-01 18:52 知行编程网 隐藏边栏 |   抢沙发  16 
文章评分 0 次,平均分 0.0

杂谈机器学习的几个应用场景

 

上一篇文章末尾,小夕提到了“机器学习是实现自然语言处理的正确道路”。其实确实如此,纵观整个自然语言处理的发展史,也是纵观整个人工智能的发展史,从诞生到现在,机器学习不仅是在理论和工程上实现自然语言处理的目前最佳选择,也是最贴近生物掌握自然语言处理能力的本能方式。

 

从规则到统计,再到如今深度学习这个特殊而一般的统计,这条发展之路渗透在自然语言处理的几乎每一个应用场景。如中文分词,从最初的最大匹配法(通过规则查字典——基于规则),到后来的基于DAG的最大概率路径法、由字构词法、基于词的n-gram方法等(通过感知机、HMM、最大熵、CRF等model实现——基于统计),甚至到现在出现了基于深度学习的无聊方法。

 

从统计的时代开始,机器学习便当上了人工智能舞台的主角——视觉、听觉、语言等能力都成为了它的表现形式。而机器学习是从数据中学习到规律,将这个规律用一个模型去表示。因此,理论上来说,只要某一应用场景可以记录历史知识并且将知识表示成机器学习认可的数据的形式,那么机器学习就应该可以从该场景的历史知识中学习到规律,并且描述该规律,以用于日后的分类、聚类、回归、序列标注等任务。

 

下面小夕就带领大家看一下几个火热的应用领域是如何将它们的知识表示成机器学习可以消化的数据的。

 

杂谈机器学习的几个应用场景

  场景1、图像视频处理:

 

相关方向:计算机视觉模式识别

 

图像可以看成是一个静态的矩阵。灰度图则是一个标准的矩阵(上帝视角的矩阵是个二维张量,即2D Tensor回顾一下,2Dtensor就是矩阵,1D tensor是向量,0D tensor就是一个点),矩阵中的每个元素都是0-255的数值,代表颜色深度。因此0代表纯黑,255代表纯白。

 

而彩色图则是一个3D的Tensor(张量),其中第0维一般为R、G、B三个值,分别代表红色通道、绿色通道、蓝色通道,第0维的每个值下(也就是每个颜色通道下)当然就是一个矩阵啦,跟灰度图一样,代表该颜色通道的颜色深度,因此B这个通道的255就代表纯蓝,RGB三个通道的颜色深度组合形成自然界中任何一种颜色。

 

而视频则是一个图像序列,视频中的每一个时间点,即每一帧,就是一个图像。

 

因此,在处理图像的时候,就是对一个2D Tensor或者3D Tensor数据处理;在处理视频的时候,就是对一个2D或者3D Tensor序列的数据处理。

 

场景2、语音信号处理:

 

相关方向:语音识别模式识别

 

原始的语音信号可以看成是一个序列,但是这个序列的精髓在于时间轴。先不谈神奇的时间轴,先说时间轴上的某个点。

 

单通道的语音信号在每个时间点上的值就是一个点,即0D的tensor所以简单看语音信号的话,就是一个0D Tensor序列

 

但是,如果单独的看这个0D Tensor序列的某一点,或者某一极小片段的话,是意义不大的(虽然对视频这个序列这样做的话是有意义的),这样得到的样本仅仅是某一点或者极小片段的声音的响度。但是生物对声音的主观辨识不仅在于某一点的响度,还有非常重要的音调和音色,而后两者依赖于对响度随时间轴变化的密集程度和变化规律进行感知,因此对语音信号的处理既一般化,又要注意时间轴上的区别。

 

场景3、自然语言处理:

 

相关方向:自然语言处理信息检索

 

自然语言既可以看成序列,也可以看成结构,或者结构+序列。自然语言处理即对人类语言描述出的文本进行处理。

 

我们可以将一段文本看作是从左到右随着“时间轴”变化的文字序列,也可以将一句话看做是一个“树形结构”,比如“小夕不喜欢大土豆”(这例子是什么鬼),可以将其中的“不”和“喜欢”合成为一个结点,将“大”和“土豆”合成为一个结点,然后将“小夕”、“不喜欢”、“大土豆”合成为最终的句子:

杂谈机器学习的几个应用场景

而序列或结构中的每个点,则是一个有着丰富意义的词,比如同样的“土豆”,放在食物中就是吃的,放在人身上可能是贬义词,放在电影里还可能是个暗号。因此,对于一个词的编码往往用一个向量(1D Tensor)来描述。简单描述如one-hot,复杂描述如word embedding,详情见这里。

 

而词又有不同的分析角度,比如从词法上来说,词可以分为动词、形容词、名词等,因此还可以将词像彩色图像一样编码成多个通道,比如语义通道、词性通道、甚至奇怪的拼音通道、偏旁部首通道等,这样就成了一个矩阵(2D Tensor)。因此对一段自然语言文本的处理就是对1D或2D Tensor序列或结构的处理。

 

场景4、游戏

 

相关方向:机器学习控制类上述感知类方向

 

游戏是一个很大的概念,机器学习在游戏上的应用经常同时包括图像视频处理、语音信号处理甚至自然语言处理,但除此之外,“规划(planning)”往往是游戏场景的特色和核心。

 

包括自动驾驶,其实也可以看做是一个特殊的游戏。其本质即通过机器学习训练得到的视觉、听觉等感知能力来将外部信息处理成计算机可以进一步运算的“符号”,而这些符号其实就是机器学习可以消化的数据。

 

因此,积累这些符号的历史数据,就可以通过机器学习训练得到的具有规划能力的model来将这些符号转变为对外输出的自身行动。

 

杂谈机器学习的几个应用场景

 

上述4个应用场景直接体现了大众眼里的人工智能概念。但下面两个应用场景同样是机器学习广泛应用的地方。

 

场景5、信息安全:

 

相关方向:数据挖掘自然语言处理上述感知类方向

 

如果觉得信息安全跟机器学习毫不沾边,那你的知识面就有点窄啦。一个烂大街的例子是将机器学习用于网站的入侵检测,基本思想即学习网站的正常运行的历史数据和被入侵时的历史数据,进而用学习到的model来对网站的运行状况进行监控,自动监测是否被入侵。

 

除此之外,实际上机器学习在信息安全的应用非常广泛。如通过对加密信息的学习,来破解加密信息;对流量类别的学习来分类流量;对互联网违法信息的学习来养成帅帅嗒小网警;对微博的文字情感和话题的学习来监督舆情;对色情视频的学习(跟你们学习的立足点不一样!!)来识别色情网站等等。这些场景都可以通过学习历史数据来完成安全任务。

 

场景6、数据处理:

 

相关方向:数据挖掘

 

数据处理是机器学习的重头戏,也是跟商业(钱)联系最为紧密的应用方向。现代几乎任何的企业想要发展壮大,都离不开对商业数据的处理。比如对产品的大量用户反馈数据进行处理,通过聚类或分类来挖掘出产品的核心槽点;对企业的财务数据进行处理,从而制定更合理的收支分配等。

 

由于传统的数据处理算法难以挖掘出数据背后更为隐晦的规律,或者难以发现海量的商业数据背后的宏观规律,因此通过机器学习,而不是人的主观算法和主观分析,来对商业数据进行深层次的处理和挖掘,进而直接为企业创造出价值。

 

商业数据一般是以结构化的形式存储于数据库中,因此一方面是最容易被机器学习直接利用的数据,另一方面也是最混杂脏乱,难以高效利用的数据。

 

当然啦,广义的数据处理也会涉及自然语言、语音甚至图像形式的非结构化数据,因此在数据处理中涉及到的机器学习技术非常广泛,从最简单的KNN一直到复杂的深度学习,都有它存在的场景。

 

杂谈机器学习的几个应用场景

 

上述各应用场景的数据形式基本决定了机器学习在该场景的存在形式。

 

最贴近人类视觉系统的深度神经网络很自然的在图像视频处理的场景带来了巨大的成功,注定深度学习是该应用场景的核心;而人的听觉系统也是类似的,因此在语音处理场景也是如此;但人的语言系统却是十分复杂而神秘的,因此哪怕目前机器学习最先进的深度学习model在自然语言处理领域也表现不尽人意,注定自然语言处理场景成为一个日新月异,研究难度大的场景;而在数据处理的场景下,面对世界上纷繁多样的数据形式和需求场景,使得几乎每个机器学习模型都在该场景下有容身之处,因此该领域也是“最不浪费机器学习模型”的领域。

 

杂谈机器学习的几个应用场景

 

再讲点最现实的吧。

 

在入门难度和“投资回报”周期上,数据处理领域是“性价比”很高的领域,通过对统计机器学习的掌握和数据的预处理就可以完成相当多的数据处理任务,而且市场需求十分大,非人工智能导向的企业也会对其有非常旺盛的需求,因此小夕觉得还是比较适合非科班出身,希望转行又缺乏大量时间、精力和基础的同学的。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享