CN112016693A - 机器学习引擎实现方法及装置、终端设备、存储介质 - Google Patents

机器学习引擎实现方法及装置、终端设备、存储介质 Download PDF

Info

Publication number
CN112016693A
CN112016693A CN201910463945.XA CN201910463945A CN112016693A CN 112016693 A CN112016693 A CN 112016693A CN 201910463945 A CN201910463945 A CN 201910463945A CN 112016693 A CN112016693 A CN 112016693A
Authority
CN
China
Prior art keywords
machine learning
prediction
prediction result
output service
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910463945.XA
Other languages
English (en)
Other versions
CN112016693B (zh
Inventor
张冬明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201910463945.XA priority Critical patent/CN112016693B/zh
Priority to US17/600,952 priority patent/US20220405635A1/en
Priority to PCT/CN2020/085623 priority patent/WO2020238472A1/zh
Publication of CN112016693A publication Critical patent/CN112016693A/zh
Application granted granted Critical
Publication of CN112016693B publication Critical patent/CN112016693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种机器学习引擎实现方法及装置、终端设备、计算机可读存储介质所述机器学习引擎实现装置包括:具备独立应用进程的核心学习应用模块和位于***进程的预测输出服务模块,其中:所述核心学习应用模块用于,将机器学习生成的预测结果输出至所述预测输出服务模块;所述预测输出服务模块用于,接收到所述核心学习应用模块发送的预测结果时,缓存所述预测结果。本实施例提供的方案,将预测输出服务模块置于***进程中,可以实时高效的输出预测结果给***进程中的其他模块,提高了用户体验。

Description

机器学习引擎实现方法及装置、终端设备、存储介质
技术领域
本发明实施例涉及但不限于一种机器学习引擎实现方法及装置、终端设备、计算机可读存储介质。
背景技术
机器学习是目前的AI技术热点,目前机器学习等AI技术在各行业都是热点,未来很长一段时间,可以预见AI技术及产品化都将是各国、各公司实体竞争激烈的技术制高点。在手机终端产品领域,机器学习产品化面临如下条件限制或特殊场景:机器学习往往是计算密集性的,数据采集、训练等环节比较费时间,而将机器学习应用于***优化等领域,***框架侧对获取预测结果又有很高的实时性要求。因此,有必要对此进行改进。
发明内容
本发明至少一实施例提供了一种机器学习引擎实现方法及装置、终端设备、计算机可读存储介质,提高获取机器学习预测结果的实时性。本发明至少一实施例提供一种机器学习引擎实现装置,包括:具备独立应用进程的核心学习应用模块和位于***进程的预测输出服务模块,其中:
所述核心学习应用模块用于,将机器学习生成的预测结果输出至所述预测输出服务模块;
所述预测输出服务模块用于,接收到所述核心学习应用模块发送的预测结果时,缓存所述预测结果。
本发明至少一实施例提供一种机器学习引擎实现方法,包括:
具备独立应用进程的核心学习应用模块将机器学习生成的预测结果输出至位于***进程的预测输出服务模块;
所述预测输出服务模块缓存所述预测结果。
本发明至少一实施例提供一种终端设备,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现任一实施例所述的机器学习引擎实现方法。
本发明至少一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现任一实施例所述的机器学习引擎实现方法。
与相关技术相比,本发明一实施例提供一种机器学习引擎实现装置,包括:具备独立应用进程的核心学习应用模块和位于***进程的预测输出服务模块,其中:所述核心学习应用模块用于,将机器学习生成的预测结果输出至所述预测输出服务模块;所述预测输出服务模块用于,接收到所述核心学习应用模块发送的预测结果时,缓存所述预测结果。本实施例提供的方案,通过将预测输出和机器学习进行分离,将预测输出服务模块置于***进程中,可以实时高效的为***进程中的其他模块提供预测结果,提高了用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明一实施例提供的机器学习引擎实现装置框图;
图2为本发明一实施例提供的机器学习引擎实现方法流程图;
图3为本发明一实施例提供的机器学习引擎***框图;
图4为本发明一具体实例提供的机器学习引擎***框图;
图5为本发明另一实施例提供的终端设备框图;
图6为本发明一实施例提供的计算机可读存储介质框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
相关技术中的产品基本都是一个应用中独立完成机器学习各个环节,这种一个应用完成机器学习的方式,如果是***框架模块需要频繁来访问预测结果时存在性能问题,此外,还有一些产品诸如人脸识别、语音识别等AI产品通常在终端设备只是加载已经事先在训练好的模型,这样的AI产品化方式在发布后无法更新模型,或者只有联网对模型进行更新、下载。在移动设备性能优化、行为学习等方面,每个单机设备的用户习惯是千差万别的,并不存在统一的训练模型,需要对单机设备单独训练、优化,上述固定模型的方式是不适合这些应用场景的。此外,如果模型采用联网更新,存在泄漏用户隐私等问题。
机器学习通常只能在手机终端的用户单机上独立进行数据采集、训练、预测,而不能将数据采集返回给服务器进行训练。此外,由于手机用户间的使用习惯千差万别,但对特定用户的手机又能体现较强的规律性便于学习,因此,单机独立训练往往效果更好。
基于上述背景,使得机器学习能够在移动终端设备上单机独立完成,不需要借助联网进行数据回传、模型下载等存在非常广泛的现实需求。本申请将预测输出服务独立出来常驻在***进程中,这种分离方式能让***进程获取机器学习的访问时间几乎忽略不计,具有极高的实时性。另外,机器学习由独立的应用进程实现,由于核心学习应用又是应用级的,能独立完成应用升级、更新等独立功能。
机器学习是计算密集性的很耗资源,而移动设备软硬件功能有限而***框架其他模块对预测结果实时性要求非常高,为此,本申请至少一实施例中,意在移动终端设备上实现一种单机版的机器学习引擎,该引擎在单机设备上独立实现数据采集、训练、预测,同时为了达到实时、高效的向设备其他***模块提供预测输出,将机器学习引擎分为核心学习应用模块和预测输出服务模块两部分。其中,核心学习应用模块具备独立应用进程(即在自己独立的应用进程中),独立完成机器学习(包括数据采集、存储、模型训练、预测等主体功能),得到预测结果;预测输出服务模块常驻在***进程中,缓存核心学习应用模块进行机器学习所得的预测结果。预测输出服务由于在***进程中,因此***进程的其他模块可以进程内直接拿到预测结果,更重要的是预测输出服务是提供缓存结果而不是直接从头计算,因此***进程其他模块获取预测结果的耗时几乎可以忽略不计。
本发明一实施例提供一种机器学习引擎实现装置,如图1所示,可以至少包括具备独立应用进程的核心学习应用模块101和位于***进程100的预测输出服务模块102,其中:
所述核心学习应用模块101用于,进行机器学习生成预测结果,输出所述预测结果至所述预测输出服务模块102;其中,所述的机器学习可以至少包括数据采集、存储、模型训练、预测等。
所述预测输出服务模块102用于,接收所述核心学习应用模块101发送的预测结果,缓存所述预测结果。
终端设备中通常包括***进程和应用进程。其中,***进程是***内置的,属于操作***必不可少的一部分,***进程通常用于管理终端设备及应用进程,提供访问终端设备的基本能力等,***进程通常是一直存活,常驻内存的。***进程的异常退出将可能导致设备无法正常使用。应用进程是指终端设备中应用程序运行的进程,独立于***进程。这些应用程序可能是***出厂自带的,也可能是用户自己安装的。
本实施例提供的方案,通过将预测结果的输出和机器学习进行分离,将预测输出服务模块102置于***进程中,可以实时高效的输出预测结果给***进程中的其他模块,提高了用户体验。
其中,核心学习应用模块101可以通过跨进程调用将预测结果输出给所述预测输出服务模块102。跨进程调用比如通过AIDL接口进行调用。
在一实施例中,所述预测输出服务模块102还用于,缓存所述预测结果的有效期。在一实施方式中,所述预测输出服务模块102可以从所述核心学习应用模块101获取所述预测结果的有效期,或者,所述预测结果的有效期也可以由所述预测输出服务模块102自行设置,比如核心学习应用模块101在将预测结果写入预测输出服务模块102时,在预测结果中直接包含预测结果的有效期,或者,预测输出服务模块102在得到预测结果时,自行记录预测时间和设置预测有效期时长等有效期信息。在一实施方式中,所述有效期可以用预测时间和有效期时长来标识,或者,直接记录有效时刻,在有效时刻之前有效,超过则无效。需要说明的是,在其他实施例中,也可以不记录有效期。
在一实施例中,在预设特定事件发生时(比如特定应用被安装、使用或卸载等,屏幕灭屏、进入飞行模式,特定时段等其他可能需要强制更新时的场景/情形,应说明的是,此处仅为示例,可以根据需要进行设定),所述预测输出服务模块102可以强制更新缓存的预测结果的有效期信息或者清除掉缓存的预测结果。
在一实施例中,所述预测输出服务模块102还用于,接收到***进程中的其他模块的请求时,返回缓存的预测结果至所述其他模块。其中,***进程中的其他模块通过进程内调用高速访问预测输出服务模块102缓存的预测结果。由于预测输出服务模块102是***进程内直接拿缓存结果,不存在跨进程访问以及机器学习复杂计算,其具备极高的实时性。
在一实施例中,所述预测输出服务器模块102接收到***进程中的其他模块的请求时,当所述预测结果在有效期内时,返回缓存的预测结果至所述其他模块。当所述预测结果不在有效期内时,可以返回空信息至其他模块,也可以返回预测结果和有效期至其他模块,其他模块自行判断,如果其他模块接收到的预测结果在有效期范围内,则直接利用该预测结果;如果接收到的预测结果已过期,则按没有预测结果来处理。另外,当所述预测结果不在有效期内时,所述预测输出服务模块102还通知核心学习应用模块101更新预测结果,即重新进行机器学习。
在一实施例中,所述预测输出服务模块102还用于,根据预设策略发送更新通知以通知所述核心学习应用模块101重新进行机器学习;或者,预测输出服务模块102以特定的时钟频率通知核心学习应用模块101重新进行机器学习。
所述核心学习应用模块101还用于,当接收到所述预测输出服务模块102的更新通知后,启动新一轮的机器学习操作,并输出更新后的预测结果至所述预测输出服务模块102。其中,新一轮的机器学习操作即重新采集数据、训练、预测。需要说明的是,核心学习应用模块101也可自行更新预测结果。比如,检测到本地缓存的预测结果不在有效期内时,进行机器学习,更新预测结果。
在一实施例中,所述预设策略包括以下一种或多种:定时周期到达、预设事件发生,检测到缓存的预测结果的有效期过期。其中,定时周期可以是固定间隔的定时周期,也可以是动态可变的定时周期,预设事件诸如屏幕亮屏、解锁、回调桌面、启动特定应用等等。
在一实施例中,所述预测输出服务模块102还用于,在目标场景下发送停止更新通知以通知所述核心学习应用模块101停止进行机器学习;其中,所述目标场景可以根据需要设定,比如用户当前未使用终端设备时,终端设备当前CPU占用超过一定比例时等等作为目标场景。目标场景可以包括灭屏、飞行模式、游戏场景等。
所述核心学习应用模块101还用于,接收到所述预测输出服务模块102的停止更新通知后,停止进行机器学习。
在一实施例中,所述核心学习应用模块101还用于,接收到第三方应用的请求预测结果的请求时,发送预测结果至所述第三方应用。其中,第三方应用通过跨进程机制访问核心学习应用模块101。核心学习应用模块101具有该第三方应用对应的预测结果时,发送预测结果给第三方应用。第三方应用为终端设备上非***进程、非核心学习应用模块的应用,即应用进程中除核心学习应用模块101外的其他应用。
在一实施例中,所述核心学习应用模块101接收到第三方应用的请求预测结果的请求时,发送预测结果至所述第三方应用包括:
所述核心学习应用模块101接收到第三方应用的请求时,重新进行机器学习生成预测结果,发送更新后的预测结果至所述第三方应用;
或者,所述核心学习应用模块101接收到第三方应用的请求时,获取缓存的预测结果,当所述缓存的预测结果在有效期内时,返回缓存的预测结果至所述第三方应用;当所述缓存的预测结果不在有效期内时,重新进行机器学习生成预测结果,发送更新后的预测结果至所述第三方应用。
在一实施例中,所述预测输出服务模块102还用于,当有预设的特定事件发生时,强制更新所述预测结果的有效期,或者,清除所述预测结果。预设的特定事件可以根据需要设定,比如包括特定应用被安装、使用或卸载等,屏幕灭屏、进入飞行模式等,特定时段等。
在一实施例中,所述核心学习应用模块101还用于,与所述第三方应用或者所述预测输出服务模块102交互时,进行接口安全鉴权。接口安全鉴权的机制包括但不限于签名验证、特权权限验证、秘钥验证等安全校验机制。
本发明一实施例提供一种机器学习引擎实现方法,如图2所示,包括:
步骤201,具备独立应用进程的核心学习应用模块101将机器学习生成的预测结果输出至位于***进程的预测输出服务模块102;
步骤202,所述预测输出服务模块102缓存所述预测结果。
本实施例提供的方案,通过将预测结果的输出和机器学习进行分离,将预测输出服务模块102置于***进程中,可以实时高效的输出预测结果给***进程中的其他模块,提高了用户体验。
在一实施例中,所述方法还包括,核心学习应用模块101进行机器学习,生成所述预测结果。本实施例中,由核心学习应用模块101独立进行机器学习,不进行联网返回数据给服务器进行训练等操作,因此,对网络环境没有要求,不存在泄漏用户隐私等问题,而且,能够根据用户本身的数据进行机器学习,训练所得的模型更准确。需要说明的是,本申请不限于此,也可应用在联网进行机器学习的方案中。
在一实施例中,所述方法还包括:所述预测输出服务模块102缓存所述预测结果的有效期。
在一实施例中,所述预测输出服务模块102从所述核心学习应用模块101获取所述有效期,或者,所述预测输出服务模块102自行设置所述有效期。
在一实施例中,所述方法还包括:所述预测输出服务模块102接收到***进程中的其他模块的请求时,返回缓存的预测结果至所述其他模块。
在一实施例中,所述返回缓存的预测结果至所述其他模块包括:当所述预测结果在有效期内时,返回缓存的预测结果至所述其他模块。
在一实施例中,所述方法还包括:
所述预测输出服务模块102根据预设策略发送更新通知以通知所述核心学习应用模块101重新进行机器学习;
所述核心学习应用模块101接收到所述预测输出服务模块102的更新通知后,启动新一轮的机器学习操作,并输出更新后的预测结果至所述预测输出服务模块102。
在一实施例中,所述预设策略包括但不限于以下一种或多种:定时周期到达、预设事件发生,检测到缓存的预测结果的有效期过期。
在一实施例中,所述方法还包括:所述核心学习应用模块101接收到第三方应用的请求预测结果的请求时,发送预测结果至所述第三方应用。
在一实施例中,所述核心学习应用模块101接收到第三方应用的请求预测结果的请求时,发送预测结果至所述第三方应用包括:
所述核心学习应用模块101接收到第三方应用的请求时,重新进行机器学习生成预测结果,发送更新后的预测结果至所述第三方应用;
或者,所述核心学习应用模块101接收到第三方应用的请求时,获取缓存的预测结果,当所述缓存的预测结果在有效期内时,返回缓存的预测结果至所述第三方应用;当所述缓存的预测结果不在有效期内时,重新进行机器学习生成预测结果,发送更新后的预测结果至所述第三方应用。
在一实施例中,所述方法还可以包括:当预设的特定事件发生时,所述预测输出服务模块102强制更新所述预测结果的有效期,或者,清除所述预测结果。预设的特定事件可以根据需要设定,比如包括特定应用被安装、使用或卸载等,屏幕灭屏、进入飞行模式等,特定时段等其他可能需要强制更新时的场景/情形。
在一实施例中,所述方法还可以包括,所述核心学习应用模块101与所述第三方应用或者所述预测输出服务模块102交互时,进行接口安全鉴权。接口安全鉴权的机制包括但不限于签名验证、特权权限验证、秘钥验证等安全校验机制。
本发明至少一实施例可应用于移动终端设备机器学习相关的场景,基于本发明实施例提供的引擎,可以作为移动终端设备***的AI智能中心,可支持用户行为预测、位置感知、***性能优化等多种子机器学习相关业务产品化。
采用本发明实施例提供的方案,可以在移动终端设备上独立实现一种机器学习引擎,该引擎集数据采集、训练、预测、预测结果输出于一体,同时能具备实时、高效的优点,能适应移动设备的软硬件条件。
图3是本发明一实施例提供的机器学习***框图,如图3所示,该机器学习***包括:
核心学习应用模块101:独立的智能终端应用,有自己独立的进程空间;
预测输出服务模块102:常驻在***进程中,是***进程的一部分。
***进程子模块301:机器学习引擎的预测结果的利用模块之一,这些子模块与预测输出服务模块都处于相同的***进程空间内。
第三方应用302:机器学习引擎预测结果的利用模块之一,是智能终端其他独立的第三方应用,有自己独立的进程空间。
其中,核心学习应用模块101在自己进程内实现数据采集、存储、模型训练、预测输出等主体功能,预测输出服务模块102在***进程内缓存各种机器学习的预测结果。
核心学习应用模块101和预测输出服务模块102请参考前述机器学习引擎实现装置中描述,此处不再赘述。
***进程子模块301向预测输出服务模块102发送请求,请求预测结果,接收预测输出服务模块102返回的预测结果。其中,返回的信息中携有预测结果的有效期时,如果预测结果在有效期范围内,则直接利用该预测结果;如果预测结果已过期,则按没有预测结果来处理。需要说明的是,返回的信息中也可以不携带有效期。预测输出服务模块102根据预测结果是否在有效期决定返回的信息,如果预测结果在有效期内,则返回预测结果,如果预测结果不在有效期内,则返回空结果,或者,返回已过期的提示信息等等。
对于非***进程的其它第三方应用302,可以通过跨进程机制请求核心学习应用模块101获取预测结果。当核心学习应用模块101接收到该第三方应用302的预测结果需求时,可直接启动新一轮的机器学习,计算完成后返回预测结果给第三方应用302,另外,将更新后的预测结果输出给预测输出服务模块102。
在另一实施例中,当核心学习应用模块101收到第三方应用302通过跨进程调用发送的预测结果请求时,也可直接获取预测输出服务模块102缓存的预测结果,或者获取核心学习应用模块101自行缓存的预测结果,如果缓存的预测结果在有效期范围内,则不用做新的计算直接返回预测结果。如果缓存的预测结果过期,才启动新一轮的更新计算(机器学习)。
如上所述,核心学习应用模块101完成数据采集、存储、模型训练、预测输出等机器学习主体功能环节,这些主体功能环节每一轮更新的驱动方式,包括但不限于上述提及的说明:a)接收到预测输出服务模块102的通知,预测输出服务模块102根据预设策略进行通知。b)接收到第三方应用302通过跨进程的调用时,启动新一轮的学习更新。c)核心学习应用模块101也可自行进行更新。比如,检测到本地缓存的预测结果不在有效期内。
在一实施例中,上述预测输出服务模块102和核心学习应用模块101的交互接口,以及第三方应用302与核心学习应用模块101的交互接口,均作接口安全鉴权。其中,所述接口安全鉴权的机制包括但不限于签名验证、特权权限验证、秘钥验证等安全校验机制。***进程子模块301与预测输出服务模块102的交互,由于都在***进程内,相关接***互可以不作鉴权处理,当然,本申请对此不作限定。
为进一步说明本申请,下面以Android平台为例,简要介绍下基于本申请的典型实施案例。
该实施案例介绍了在Android实现本申请的一些具体细节,总体流程与上文描述基本一致,有些细节从略。需要说明的是,本申请使用场景是移动终端设备的单机机器学***台,也不限于特定的业务形态,下面的案例仅为示例。如图4所示,预测输出Service即预测输出服务模块,核心学习应用APK即核心学习应用模块,框架模块其***进程子***,第三方应用APK1至第三方应用APK N为N个第三方应用,其中:
1)在Android的***框架侧实现预测输出服务Service,该Service集成自***服务(SystemService),运行在Android平台的***进程(SystemProcess)中。该Service通过publishLocalService的方式对***进程SystemProcess内的其它模块直接在进程内提供机器学习预测结果的缓存结果的相关内部接口。该Service通过publishBinderService的方式,以aidl的形式给核心学习应用APK提供预测结果写入接口。此外,该Service以Broadcast的组件方式,通知(基于预设策略)核心学习应用APK更新机器学习的相关环节。
2)核心学习应用APK在自己进程内实现数据采集、存储、模型训练、预测输出等主体功能。当有预测结果输出时,该核心学习应用APK通过调用预测输出服务Service的aidl接口将预测结果写入预测输出服务Service。同时,该APK还以Provider组件的形式向第三方APK提供机器学习预测结果。
3)预测输出服务Service以固定的时钟频率,以Broadcast的形式通知、驱动核心学习应用作新一轮的数据采集、存储、模型训练、预测输出等机器学习核心环节。核心学习应用APK在每次输出预测结果时对每种机器学习预测结果直接保护预测时间和有效期。当然,学习更新每一轮更新的驱动方式以及有效期机制也可采用上文所述的任何一种方式。
4)对于SystemProcess中的其它框架模块,通过上述方式直接进程内访问预测输出Service缓存的预测结果。当预测输出Service检查其缓存的预测结果在有效期范围内,则直接返回缓存结果;当预测结果过期时,则直接返回空的结果给调用的框架模块,同时,可选地,预测输出服务以Broadcast的形式通知核心学习应用APK重新进行机器学习。
5)对于第三方应用APK,通过核心学习应用APK提供的provider获取相关预测结果。核心学习应用APK收到由provider进来的预测需求后,直接启动新一轮的机器学习,计算完成后返回预测结果,同时将该预测结果同步缓存进预测输出Service中。可选地,核心学习应用APK收到provider进来的需求后,也可访问预测输出Service缓存的预测结果或者核心学习应用APK自己缓存的预测结果,在有效期范围内直接返回缓存结果,如缓存结果已过期,重新启动新一轮的机器学习。
6)预测输出Service与核心学习应用APK之间,第三方应用APK与核心学习应用APK之间的交互,均需作特定的接口安全鉴权。鉴权机制可采用Android的权限验证机制,定义针对预测输出服务Service、核心学习应用、第三方应用的不同安全等级的不同权限,并采用这些权限来作接口鉴权。SystemProcess进程中的其它框架模块与预测输出服务Service之间不作鉴权处理。
本发明实施例提供的引擎可成为移动终端设备***的AI智能中心,支持用户行为预测、位置感知、***性能优化等多种子机器学习业务产品化,有利于提升用户体验。比如,基于本发明实施例提供的引擎实现用户行为预测,基于行为预测的业务可开展应用推荐、应用自启预加载、应用自启推荐等业务,这些业务将会有直观的界面变化和体验提升。又如,基于本发明实施例提供的引擎实现***性能自动优化,能自动优化***CPU、内存、空间等关键指标,这会带来用户操作流畅性等方面的显著提升。
本发明实施例中将预测输出服务模块独立出来常驻在***进程中,并且采用有效期机制缓存机器学习结果,这种分离方式能让***进程获取机器学习的访问时间几乎忽略不计,具有极高的实时性;同时,由于核心学习应用又是应用级的,能独立完成应用升级、更新等独立功能。
需要说明的是,在其他实施例中,也可以不将预测输出服务限定到***进程中,只采用双进程缓存的方式。
本发明至少一实施例提供提出的机器学习引擎实现装置,基于单机实现不回传数据能规避法律风险,同时具备实时高效等优点,基于该引擎有望发展可成为移动终端设备***的AI智能中心,支持用户行为预测、位置感知、***性能优化等多种子机器学习业务产品化,具有非常高的商用价值。
如图5所示,本发明一实施例提供一种终端设备50,包括存储器510和处理器520,所述存储器510存储有程序,所述程序在被所述处理器520读取执行时,实现任一实施例所述的机器学习引擎实现方法。
如图6所示,本发明一种计算机可读存储介质60,所述计算机可读存储介质60存储有一个或者多个程序610,所述一个或者多个程序610可被一个或者多个处理器执行,以实现任一实施例所述的机器学习引擎实现方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (17)

1.一种机器学习引擎实现装置,包括:具备独立应用进程的核心学习应用模块和位于***进程的预测输出服务模块,其中:
所述核心学习应用模块用于,将机器学习生成的预测结果输出至所述预测输出服务模块;
所述预测输出服务模块用于,接收到所述核心学习应用模块发送的预测结果时,缓存所述预测结果。
2.根据权利要求1所述的机器学习引擎实现装置,其特征在于,所述核心学习应用模块还用于,进行机器学习生成所述预测结果。
3.根据权利要求1所述的机器学习引擎实现装置,其特征在于,所述预测输出服务模块还用于,接收到***进程中的其他模块的请求时,返回缓存的预测结果至所述其他模块。
4.根据权利要求3所述的机器学习引擎实现装置,其特征在于,所述预测输出服务模块还用于,缓存所述预测结果的有效期;
所述返回缓存的预测结果至所述其他模块包括:当判断所述预测结果在对应的有效期内时,返回所缓存的预测结果至所述其他模块。
5.根据权利要求4所述的机器学习引擎实现装置,其特征在于,所述预测输出服务模块还用于,从所述核心学习应用模块获取所述有效期,或者,自行设置所述有效期。
6.根据权利要求1所述的机器学习引擎实现装置,其特征在于,
所述预测输出服务模块还用于,根据预设策略发送更新通知以通知所述核心学习应用模块重新进行机器学习;
所述核心学习应用模块还用于,当接收到所述预测输出服务模块的所述更新通知后,启动新一轮的机器学习操作,并输出更新后的预测结果至所述预测输出服务模块。
7.根据权利要求6所述的机器学习引擎实现装置,其特征在于,所述预设策略包括以下一种或多种:定时周期到达、预设事件发生,检测到缓存的预测结果的有效期过期。
8.根据权利要求4所述的机器学习实现装置,其特征在于,所述预测输出服务模块还用于,当有预设的特定事件发生时,强制更新所述预测结果的有效期,或者,清除所述预测结果。
9.一种机器学习引擎实现方法,包括:
具备独立应用进程的核心学习应用模块将机器学习生成的预测结果输出至位于***进程的预测输出服务模块;
所述预测输出服务模块缓存所述预测结果。
10.根据权利要求9所述的机器学习引擎实现方法,其特征在于,所述方法还包括:所述预测输出服务模块接收到***进程中的其他模块的请求时,返回缓存的预测结果至所述其他模块。
11.根据权利要求10所述的机器学习引擎实现方法,其特征在于,
所述方法还包括:所述预测输出服务模块缓存所述预测结果的有效期;
所述返回缓存的预测结果至所述其他模块包括:当判断所述预测结果在对应的有效期内时,返回所缓存的预测结果至所述其他模块。
12.根据权利要求11所述的机器学习引擎实现方法,其特征在于,所述方法还包括:所述预测输出服务模块从所述核心学习应用模块获取所述有效期,或者,自行设置所述有效期。
13.根据权利要求9所述的机器学习引擎实现方法,其特征在于,所述方法还包括:
所述预测输出服务模块根据预设策略发送更新通知以通知所述核心学习应用模块重新进行机器学习;
当接收到所述预测输出服务模块的上述更新通知后,所述核心学习应用模块启动新一轮的机器学习操作,并输出更新后的预测结果至所述预测输出服务模块。
14.根据权利要求13所述的机器学习引擎实现方法,其特征在于,所述预设策略包括以下一种或多种:定时周期到达、预设事件发生,检测到缓存的预测结果的有效期过期。
15.根据权利要求11所述的机器学习实现方法,其特征在于,所述方法还包括:当预设的特定事件发生时,所述预测输出服务模块强制更新所述预测结果的有效期,或者,清除所述预测结果。
16.一种终端设备,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现如权利要求9至15任一所述的机器学习引擎实现方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求9至15任一所述的机器学习引擎实现方法。
CN201910463945.XA 2019-05-30 2019-05-30 机器学习引擎实现方法及装置、终端设备、存储介质 Active CN112016693B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910463945.XA CN112016693B (zh) 2019-05-30 2019-05-30 机器学习引擎实现方法及装置、终端设备、存储介质
US17/600,952 US20220405635A1 (en) 2019-05-30 2020-04-20 Machine learning engine implementation method and apparatus, terminal device, and storage medium
PCT/CN2020/085623 WO2020238472A1 (zh) 2019-05-30 2020-04-20 机器学习引擎实现方法及装置、终端设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910463945.XA CN112016693B (zh) 2019-05-30 2019-05-30 机器学习引擎实现方法及装置、终端设备、存储介质

Publications (2)

Publication Number Publication Date
CN112016693A true CN112016693A (zh) 2020-12-01
CN112016693B CN112016693B (zh) 2021-06-04

Family

ID=73500526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910463945.XA Active CN112016693B (zh) 2019-05-30 2019-05-30 机器学习引擎实现方法及装置、终端设备、存储介质

Country Status (3)

Country Link
US (1) US20220405635A1 (zh)
CN (1) CN112016693B (zh)
WO (1) WO2020238472A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7485638B2 (ja) 2021-06-18 2024-05-16 Lineヤフー株式会社 端末装置、端末装置の制御方法、および、端末装置の制御プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220121985A1 (en) * 2020-10-20 2022-04-21 Western Digital Technologies, Inc. Machine Learning Supplemented Storage Device Calibration
US20220121930A1 (en) * 2020-10-20 2022-04-21 Western Digital Technologies, Inc. Embedded Multi-Attribute Machine Learning For Storage Devices

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117309A (zh) * 2010-01-06 2011-07-06 卓望数码技术(深圳)有限公司 一种数据缓存***和数据查询方法
CN103593300A (zh) * 2013-11-15 2014-02-19 浪潮电子信息产业股份有限公司 一种内存分配回收方法
CN103699398A (zh) * 2012-09-27 2014-04-02 联想(北京)有限公司 终端设备及其启动控制方法
CN104468632A (zh) * 2014-12-31 2015-03-25 北京奇虎科技有限公司 防御漏洞攻击的方法、设备及***
CN104520823A (zh) * 2012-08-07 2015-04-15 高通股份有限公司 用于混合存储器管理的方法、***和设备
CN106156255A (zh) * 2015-04-28 2016-11-23 天脉聚源(北京)科技有限公司 一种数据缓存层实现方法及***
CN106909413A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据处理方法和装置
CN107608785A (zh) * 2017-08-15 2018-01-19 深圳天珑无线科技有限公司 进程管理方法、移动终端及可读储存介质
CN108280522A (zh) * 2018-01-03 2018-07-13 北京大学 一种插件式分布式机器学习计算框架及其数据处理方法
CN109144716A (zh) * 2017-06-28 2019-01-04 中兴通讯股份有限公司 基于机器学习的操作***调度方法及装置、设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356026B2 (en) * 2009-08-31 2013-01-15 Microsoft Corporation Predictive data caching
CN107943825A (zh) * 2017-10-19 2018-04-20 阿里巴巴集团控股有限公司 页面访问的数据处理方法、装置及电子设备
CN108764470B (zh) * 2018-05-18 2021-08-31 中国科学院计算技术研究所 一种人工神经网络运算的处理方法
CN109063825B (zh) * 2018-08-01 2020-12-29 清华大学 卷积神经网络加速装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117309A (zh) * 2010-01-06 2011-07-06 卓望数码技术(深圳)有限公司 一种数据缓存***和数据查询方法
CN104520823A (zh) * 2012-08-07 2015-04-15 高通股份有限公司 用于混合存储器管理的方法、***和设备
CN103699398A (zh) * 2012-09-27 2014-04-02 联想(北京)有限公司 终端设备及其启动控制方法
CN103593300A (zh) * 2013-11-15 2014-02-19 浪潮电子信息产业股份有限公司 一种内存分配回收方法
CN104468632A (zh) * 2014-12-31 2015-03-25 北京奇虎科技有限公司 防御漏洞攻击的方法、设备及***
CN106156255A (zh) * 2015-04-28 2016-11-23 天脉聚源(北京)科技有限公司 一种数据缓存层实现方法及***
CN106909413A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据处理方法和装置
CN109144716A (zh) * 2017-06-28 2019-01-04 中兴通讯股份有限公司 基于机器学习的操作***调度方法及装置、设备
CN107608785A (zh) * 2017-08-15 2018-01-19 深圳天珑无线科技有限公司 进程管理方法、移动终端及可读储存介质
CN108280522A (zh) * 2018-01-03 2018-07-13 北京大学 一种插件式分布式机器学习计算框架及其数据处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7485638B2 (ja) 2021-06-18 2024-05-16 Lineヤフー株式会社 端末装置、端末装置の制御方法、および、端末装置の制御プログラム

Also Published As

Publication number Publication date
WO2020238472A1 (zh) 2020-12-03
US20220405635A1 (en) 2022-12-22
CN112016693B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112016693B (zh) 机器学习引擎实现方法及装置、终端设备、存储介质
US11146502B2 (en) Method and apparatus for allocating resource
US11095743B2 (en) Optimized content-delivery network (CDN) for the wireless last mile
AU2018220050B2 (en) Enforcing policies based on information received from external systems
US10489476B2 (en) Methods and devices for preloading webpages
KR100791628B1 (ko) 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템
AU2020202136A1 (en) Telecommunications call augmentation system
US8738688B2 (en) System and method for enabling control of mobile device functional components
US9122560B2 (en) System and method of optimization for mobile apps
US20170357735A1 (en) Information presentation method, device, and system
RU2585986C2 (ru) Терминал и способ управления его приложениями
US10649817B2 (en) Method for application action synchronization, terminal device, and storage medium
JP6647410B2 (ja) データ記憶方法、不揮発性コンピュータ記憶媒体、電子機器、能力開放エンティティ及び基地局
US20170111465A1 (en) Freshness-aware presentation of content in communication terminals
US20240177265A1 (en) Systems and methods for capturing user consumption of information
CN102868768B (zh) 应用升级***
CN113987073A (zh) 状态信息的延时更新方法、装置及电子设备
CN114301678B (zh) 一种数据访问方法及装置、电子设备、存储介质
CN109743179B (zh) 一种电子证照按需签发方法
CN113542256A (zh) 客户端中登录凭证的更新方法、装置、设备及存储介质
CN106293814B (zh) 升级方法及装置
CN115033656B (zh) 基于地图缓存技术的数据处理方法、装置及电子装置
WO2017148337A1 (zh) 终端服务的提供、获取方法、装置及终端
US20200374363A1 (en) Deployment ready techniques for distributed application clients
EP3694218B1 (en) Rules-based just-in-time mobile content service

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant