机器学习里面的基函数_厉害了!机器学习用到SSD里面

近年来人工智能和大数据的迅速发展正在深刻改变着这个世界和我们的生活方式。人工智能的核心是机器学习(Machine Learning) 算法,自 2006 年以来,在机器学习领域,以深度学习(Deep Lerning) 为代表的机器学习算法取得了突破性的进展,在2017年AlphaGo大战围棋冠军李世石后这一技术加速走向市场、落地应用。而SSD作为大数据的一种存储介质,正在取代HDD成为主流的存储设备。那么当机器学习遇上SSD,会擦出怎样的火花呢?

一、什么是机器学习?

· 机器学习是让计算机具有学习的能力,无需进行明确编程。—— 亚瑟·萨缪尔,1959

· 计算机程序利用经验 E 学习任务 T,性能是 P,如果针对任务 T 的性能 P 随着经验 E 不断增长,则称为机器学习。—— 汤姆·米切尔,1997

机器学习是一类算法的总称,这些算法从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以至于不太方便形式化表达。需要注意的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。学到的函数适用于新样本的能力,称为泛化(Generalization)能力。

17dfe671d432a6dd468cbf1fc9bfcbda.png

二、机器学习步骤

通常学习一个好的函数,分为以下三步:

1、选择一个合适的模型,这通常需要依据实际问题而定,针对不同的问题和任务需要选取恰当的模型,模型就是一组函数的集合。

2、判断一个函数的好坏,这需要确定一个衡量标准,也就是我们通常说的损失函数(Loss Function),损失函数的确定也需要依据具体问题而定,如回归问题一般采用欧式距离,分类问题一般采用交叉熵代价函数。

3、找出“最好”的函数,如何从众多函数中最快的找出“最好”的那一个,这一步是最大的难点,做到又快又准往往不是一件容易的事情。常用的方法有梯度下降算法,最小二乘法等和其他一些技巧(tricks)。

学习得到“最好”的函数后,需要在新样本上进行测试,只有在新样本上表现很好,才算是一个“好”的函数。

ded2f2e9b3541e0dc77958ae35cb27b1.png

三、机器学习的类型

机器学习主要有三种基本类型:监督学习、非监督学习和强化学习。

ab98829c86c95ba5e1417753bf422d27.png

1监督学习

监督学习是使用已知正确答案的示例来训练模型。已知数据和其一一对应的标签,训练一个智能算法,将输入数据映射到标签的过程,它的常见应用场景如分类问题和回归问题。常见的算法有K近邻算法、线性回归、逻辑回归、支持向量机(SVM)、决策树和随机森林、神经网络。

分类

在分类中,机器被训练成将一个组划分为特定的类。分类的一个简单例子是电子邮件帐户上的垃圾邮件过滤器。过滤器分析你以前标记为垃圾邮件的电子邮件,并将它们与新邮件进行比较。如果它们匹配一定的百分比,这些新邮件将被标记为垃圾邮件并发送到适当的文件夹。那些比较不相似的电子邮件被归类为正常邮件并发送到你的邮箱。

a91c4ec031b99623b1cca40f6042e2d1.png

也许你会问这个分类算法对于SSD有什么用呢?SSD中的一个典型的分类问题是IO模式识别,判断IO是纯读、纯写或者混合读写的,这是一个三分类的问题;判断IO是顺序的还是随机的,这是一个二分类的问题。可以根据实际情况选择相应的相应的机器学习分类算法识别出不同的IO模式,然后针对不同的模式FTL就可采取不同策略,进而提升SSD的性能。

回归

回归问题通常是用来预测一个值,它的预测结果是连续的,如预测房价、未来的天气情况等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。

45ea6387a5115eca1504fdcb2d524692.png

回归算法在SSD中能用在什么地方呢?回归算法在SSD的一个应用是IO强度预测,在一定模式下IO强度在时序上是有一定规律的,可以根据前一段时间的IO强度预测下一段时间的IO强度,Smart-IO技术采用长短期记忆人工神经网络LSTM对IO强度进行预测。提前预测出IO强度后就可优化FTL策略、合理分配GC占用资源、合理调度、提高数据命中率等,进而提升SSD性能。

fa0b03fed4d76e4a85320242f7bde3c4.png

2非监督学习

在无监督学习中,数据是无标签的。学习模型是为了推断出数据的一些内在结构。无监督学习主要分为聚类和降维。

聚类用于根据属性和行为对象进行分组。这与分类不同,因为这些组不是你提供的。聚类的一个例子是将一个组划分成不同的子组(例如,基于年龄和婚姻状况),然后应用到有针对性的营销方案中。大多数大数据可视化使用降维来识别趋势和规则。主要算法: K-means、层次聚类分析(HCA)、DBSCAN。

9463dc4dc660c07e4b1037e815330017.png

高维数据中很容易出现样本稀疏、距离计算困难等问题,即“维度灾难”,为了缓解维度灾难,常用的就是降维。降维的主要方法有主成分分析(PCA)、线性判别分析(LDA)、局部线性嵌入(LLE)。如图所示,通过PCA的方法可以把一个三位的数据降维成一个二维数据。

2ffc6f90e7a7823b8831ba62d63a564d.png

无监督学习由于没有标签,相比监督学习来说相当于少了一些输入信息,实际应用中相对监督学习学习会困难一些,那么在SSD是否就无用武之地了呢?非也非也。Smart-IO数据分组技术用K-means算法对IO进行冷热数据分组,然后把不同组的数据写到不同的block或者die上,那么就可以减小,可减小WA,延长SSD使用寿命。

dbc9eedb752c1605c97c304b9fecac97.png

3 强化学习

强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种「绩效奖励」非常类似。我们平时也常常用这样的策略来提高自己的游戏水平。AlphaGo下围棋也是这个原理,只告诉机器围棋的基本规则,但是不告诉它人类摸索了上千年才总结出来的定式等围棋战术,让机器完全依靠自学,打败人类。

dd66a503d3049957a9503c64ded8bc22.png

强化学习感觉和SSD很难沾上边,不过熟悉SSD(固态硬盘)的人都知道,垃圾回收(GC,Garbage Collection)是SSD固件设计中的重要一环,也是影响SSD主控性能的重要因素。一般的GC机制都是只根据当前硬盘空闲空间状态来做GC的:当有空闲空间的时,不启动GC;反之,当没有空闲空间的情况下,执行GC任务。这种策略的缺点是如果在用户操作的时候进行GC会造成SSD性能明显下降,可以在主控空闲时提前进行GC,但是GC过于频繁会造成WA写放大过大,所以需要一个平衡,需要一种算法来自动确定何时GC,强化学习正好可以排上用场,给定一定的衡量标准,然后让机器通过强化学习的方法训练来自动学习GC的时机,得到更优的GC的策略。

四、 DapuStor机器学习技术

DapuStor已基于SSD开发出Smart-IO Data Grouping和Smart-IO Intensities Prediction等先进技术,把机器学习的先进算法用到了SSD中,提升了SSD的产品性能。同时自研的带有计算和智能的数据存储处理器芯片(简称DPU),可以在芯片层面实现更多的智能功能和硬件加速,实现存算一体,满足高端存储和边缘计算市场的需求。

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

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

相关文章

【好用的ORM框架】

对于开发采用orm会带来很大便利,orm即是数据表和实体对于关系框架。内部封装增删改查。它不仅适用于mvc,而且在winform和webform都适用。下面具体介绍orm是使用: 初步在winform为例使用,随后在在mvc大量运用: 1&#x…

愤怒的小鸟4只编外鸟_加西亚时隔三年夺美巡第11冠,马尔纳蒂9鸟单独第二

桑德森农场锦标赛战罢,第三轮并列领先的西班牙名将加西亚决赛轮打出5鸟1鹰2柏忌,以-19(68-68-66-67)的总成绩1杆优势夺冠,结束了三年的冠军荒。后来居上的马尔纳蒂决赛轮狂抓9鸟没有吞下一个柏忌,收获了职业生涯最低杆63杆&#x…

pgslq表的字段类型,如何在PostgreSQL中获取表的列表列名称和数据类型?

With the following query, we can get a list of column names and datatype of a table in PostgreSQL.解决方案SELECTa.attname as "Column",pg_catalog.format_type(a.atttypid, a.atttypmod) as "Datatype"FROMpg_catalog.pg_attribute aWHEREa.attnu…

【Linux操作系统分析】设备驱动处理流程

1 驱动程序,操作系统,文件系统和应用程序之间的关系 字符设备和块设备映射到操作系统中的文件系统,由文件系统向上提供给应用程序统一的接口用以访问设备。 Linux把设备视为文件,称为设备文件,通过对设备文件的读写操作…

C语言基础之数据结构

1.32 换成数字23 # include<stdio.h> //编译预处理指令 # include <math.h> # define pi 3.1415926 //定义不变常量 int convert(int num); char ABC(char a); double sum(double a,double b, double c); double area(double a,double b, double c); double num(…

硬件描述语言复习笔记

第一章 1、控制复杂性的艺术&#xff1a; A、抽象&#xff1a;管理复杂性的关键技术在于抽象即隐蔽不重要的细节 B、约束&#xff1a;对设计选择的一种内在限制&#xff0c;目的是为了可以更有效的在更高的抽象层 次上工作 C、三条原则&#xff1a; 层次化&#xff1a;一个系统…

C语言输出格式

1 一般格式printf(格式控制&#xff0c;输出表列&#xff09;例如&#xff1a;printf("i%d,ch%c\n",i,ch);说明:(1)“格式控制”是用双撇号括起来的字符串&#xff0c;也称“转换控制字符串”&#xff0c;它包括两种信息&#xff1a;①格式说明&#xff1a;由“%”和…

(Java)反射与文档注释

package com.reflect.test;/*** author Alina* date 2022年02月01日 6:09 下午*/ public class Demo1 {public void method(){System.out.println("Demo1...method");} } package com.reflect.test;import java.lang.annotation.ElementType; import java.lang.anno…

JQ基础练习---图片划过变暗

简单分享下&#xff0c;划过一张图片其余图片变暗&#xff0c;图片划过变暗的简单效果&#xff0c;JQ实现主要是css写法跟思路变化。 <script src"http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type"text/javascript"></sc…

postman启动没反应_Linux 0.12上古源码学习(二)-Bochs模拟Linux 0.12内核的启动与运行...

上篇已经初步实现用Bochs仿真了一个X86程序。今天尝试启动早期的Linux 0.12内核。官网上已经有编译好的Linux 0.12启动镜像及根文件系统镜像。我们可以直接下载下来先使用&#xff0c;后面的文章会详细介始如何编译生成这些镜像文件。Index of /Linux.old/bochs-images/​www.o…

vscode 搭建web工程_Dubbo 分布式架构搭建教育 PC 站

架构设计与环境搭建项目架构项目介绍教育 PC 站是提供给学员观看技术视频的网站。学员使用手机号注册登录后&#xff0c;可以选择适合自己的课程&#xff0c;并观看课程视频&#xff0c;当然&#xff0c;有免费的课程&#xff0c;也有 VIP 专属课程。技术选型前端技术选型Vue.j…

jdk 环境变量_Windows下jdk下载安装与环境变量配置

下载安装jdk百度搜索jdk版本&#xff0c;以1.8版本为例&#xff0c;百度搜索“jdk1.8”&#xff0c;一般是第一个。百度搜索jdk1.8打开jdk下载页面&#xff0c;这里我们下载jdk1.8 x64版本下载地址&#xff1a;jdk1.8下载地址jdk1.8下载页面下载历史版本的jdk自动跳转登录&…

js true false 转0 1_「0-1岁」早产儿何时一段转二段奶粉

早产儿指的是37周之前出生的宝宝&#xff0c;想必足月宝宝来说&#xff0c;早产宝宝各方面发育都不完善&#xff0c;所以家长在照顾的时候要格外细心。当早产儿出生后&#xff0c;应当先喝早产儿奶粉&#xff0c;等身体发育发育到一定程度时&#xff0c;才更换奶粉。那么早产儿…

邮件服务器方案参考

国内私募机构九鼎控股打造APP&#xff0c;来就送 20元现金领取地址&#xff1a;http://jdb.jiudingcapital.com/phone.html内部邀请码&#xff1a;C8E245J &#xff08;不写邀请码&#xff0c;没有现金送&#xff09;国内私募机构九鼎控股打造&#xff0c;九鼎投资是在全国股份…

记录一下,踩得奇奇怪怪的坑

1servlet虚拟路径访问不到(默认的可以访问) url后的路径设置时与项目的名称一致 url必须与这个一致 2.jdbc连接数据库&#xff0c;本地测试无问题&#xff0c;一用tomcat发包就出错&#xff0c;导致连接不上时&#xff0c;看看你得配置文件的位置是否有误 放到resources目录下…

归并排序算法(C#实现)

归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。归并排序有两种方式&#xff1a;1): 自底向上的方法 2):自顶向下的方法 1、 自底向上的方法&#xff08;1&#xff09; 自底向上的基本思想 自底向上的基…