基于安卓的联邦学习平台设计与实现
发布时间:2021-08-15 00:51
传统的机器学习一般是在单机或者集群上集中处理数据、训练模型,然后云端下发模型。算法的准确率高度依赖于海量数据的训练分析,虽然大规模的收集数据极大的提高了机器学习算法的性能,但也给个人隐私数据保护带来更大的挑战,尤其是在移动终端,个人隐私数据安全问题进一步凸显。针对以上背景,本文基于安卓系统提出了一种横向联邦学习策略,并根据该横向联邦学习策略,本文设计并实现了基于安卓端的联邦学习平台。系统在各个安卓端根据用户提供的数据进行模型的训练,产生个性化模型。通过服务端融合安卓端上传的个性化模型,最终得到共享模型。本文详细阐述了系统所设计的理论基础、设计思路、实现方案以及测试与分析。本文主要完成工作如下:(1)提供安卓端模型推理、模型训练、模型更新。本文移植TensorFlow.js到安卓平台,通过TensorFlow.js实现模型推理、模型训练。安卓端下载云端最新的共享模型,并根据安卓端的本地用户数据来改进和训练模型。系统将改进后的模型提取为一个小的更新文件并将该更新文件上传到云端。(2)提供安卓端调度管理、训练数据管理。系统根据设备的状态提出了细致的调度策略,保证手机用户体验不会因为联邦学习而...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:78 页
【学位级别】:硕士
【部分图文】:
TensorFlow.jsAPI整体结构图
第二章基础理论与相关技术7图2-2Servlet请求响应模型(1)浏览器向服务器发出GET请求(请求服务器ServletA)。(2)服务器上的容器逻辑接收到该url,根据该url判断为Servlet请求,此时容器逻辑将产生两个对象:请求对象(HttpServletRequest)和响应对象(HttpServletResponce)。(3)容器逻辑根据url找到目标Servlet(本示例目标Servlet为ServletA),且创建一个线程对象A。(4)容器逻辑将第(2)步创建的请求对象和响应对象传递给A线程。(5)容器逻辑调用Servlet的service()方法。(6)service()方法根据请求类型调用对应的方法,在本示例中调用doGet()。(7)doGet()执行完后,将结果返回给容器逻辑。(8)线程A被销毁或被放在线程池中。在容器中的每个Servlet只有一个实例,每个请求对应一个线程,因此会有多个线程访问同一个Servlet,会导致Servlet线程不安全。当请求的线程执行完任务后,会被销毁或者放在线程池中等待回收。
电子科技大学硕士学位论文82.3.2Servlet在容器中的生命周期图2-3Servlet生命周期图(1)加载Servlet类。容器启动时,首先会解析部署在容器上的工程对应的配置文件,配置文件包含web.xml文件。web.xml文件描述了工程的关键信息,Servlet类也是配置在web.xml中。容器在解析web.xml文件时就实现了Servlet类的加载。(2)实例化创建Servlet类。根据Java虚拟机的实例类加载机制分析可知,容器首先获取Servlet对应的class对象,然后基于该class对象创建Servlet类,在创建Servlet时,会执行Servlet的默认构造函数。(3)执行Servlet的init()方法。Servlet被容器加载到销毁整个过程中,init函数只执行一次,并且在Service()函数执行前执行。根据init()函数的执行时间,Servlet可以在init函数中处理接收客户端请求之前的初始化工作。事实上执行了init()函数之后,容器会将ServletConfig传给Servlet。该类含有Servlet本身和Servlet所运行的Servlet容器中的基本信息。(4)执行Service方法,处理客户端请求。(5)执行Destory()函数销毁线程。2.3.3Servlet监听器Servlet中的监听器就是监听某个对象的状态变化的组件,Servlet监听的对象主要是request(请求),session,servletContext(Servlet上下文,容器为每个工程创建一个ServletContext对象,该对象是全局唯一,而且工程内部的所有Servlet都共享这
【参考文献】:
期刊论文
[1]联邦学习可视化:挑战与框架[J]. 潘如晟,韩东明,潘嘉铖,周舒悦,魏雅婷,梅鸿辉,陈为. 计算机辅助设计与图形学学报. 2020(04)
[2]基于损失函数为指数平方形式的稳健Logistic回归[J]. 李颖,周旋,蒙惠芳,王浩华. 海南大学学报(自然科学版). 2019(04)
[3]基于JavaScript的边缘计算架构研究[J]. 张金辉,考书健. 设备管理与维修. 2019(21)
[4]浅析Servlet异步处理技术[J]. 迟殿委. 智慧工厂. 2019(08)
[5]基于k-means聚类的Bagging算法研究[J]. 金朝. 光学与光电技术. 2019(04)
[6]基于Keras的MNIST数据集识别模型[J]. 郭梦洁,杨梦卓,马京九. 现代信息科技. 2019(14)
[7]基于Web的云存储技术[J]. 钟永林. 信息记录材料. 2019(04)
[8]TensorFlow Lite开发平台的研究与分析[J]. 高陆川. 电子测试. 2018(20)
[9]Android环境下的数据编码与处理技术[J]. 刘雍,汪文彬,马玉春. 电脑编程技巧与维护. 2018(09)
[10]Android系统架构及关键移植技术研究的初步探讨[J]. 陈露军. 福建电脑. 2018(05)
硕士论文
[1]基于WebKit内核的Android手机浏览器的性能研究与加载优化[D]. 许侠.南京邮电大学 2017
本文编号:3343510
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:78 页
【学位级别】:硕士
【部分图文】:
TensorFlow.jsAPI整体结构图
第二章基础理论与相关技术7图2-2Servlet请求响应模型(1)浏览器向服务器发出GET请求(请求服务器ServletA)。(2)服务器上的容器逻辑接收到该url,根据该url判断为Servlet请求,此时容器逻辑将产生两个对象:请求对象(HttpServletRequest)和响应对象(HttpServletResponce)。(3)容器逻辑根据url找到目标Servlet(本示例目标Servlet为ServletA),且创建一个线程对象A。(4)容器逻辑将第(2)步创建的请求对象和响应对象传递给A线程。(5)容器逻辑调用Servlet的service()方法。(6)service()方法根据请求类型调用对应的方法,在本示例中调用doGet()。(7)doGet()执行完后,将结果返回给容器逻辑。(8)线程A被销毁或被放在线程池中。在容器中的每个Servlet只有一个实例,每个请求对应一个线程,因此会有多个线程访问同一个Servlet,会导致Servlet线程不安全。当请求的线程执行完任务后,会被销毁或者放在线程池中等待回收。
电子科技大学硕士学位论文82.3.2Servlet在容器中的生命周期图2-3Servlet生命周期图(1)加载Servlet类。容器启动时,首先会解析部署在容器上的工程对应的配置文件,配置文件包含web.xml文件。web.xml文件描述了工程的关键信息,Servlet类也是配置在web.xml中。容器在解析web.xml文件时就实现了Servlet类的加载。(2)实例化创建Servlet类。根据Java虚拟机的实例类加载机制分析可知,容器首先获取Servlet对应的class对象,然后基于该class对象创建Servlet类,在创建Servlet时,会执行Servlet的默认构造函数。(3)执行Servlet的init()方法。Servlet被容器加载到销毁整个过程中,init函数只执行一次,并且在Service()函数执行前执行。根据init()函数的执行时间,Servlet可以在init函数中处理接收客户端请求之前的初始化工作。事实上执行了init()函数之后,容器会将ServletConfig传给Servlet。该类含有Servlet本身和Servlet所运行的Servlet容器中的基本信息。(4)执行Service方法,处理客户端请求。(5)执行Destory()函数销毁线程。2.3.3Servlet监听器Servlet中的监听器就是监听某个对象的状态变化的组件,Servlet监听的对象主要是request(请求),session,servletContext(Servlet上下文,容器为每个工程创建一个ServletContext对象,该对象是全局唯一,而且工程内部的所有Servlet都共享这
【参考文献】:
期刊论文
[1]联邦学习可视化:挑战与框架[J]. 潘如晟,韩东明,潘嘉铖,周舒悦,魏雅婷,梅鸿辉,陈为. 计算机辅助设计与图形学学报. 2020(04)
[2]基于损失函数为指数平方形式的稳健Logistic回归[J]. 李颖,周旋,蒙惠芳,王浩华. 海南大学学报(自然科学版). 2019(04)
[3]基于JavaScript的边缘计算架构研究[J]. 张金辉,考书健. 设备管理与维修. 2019(21)
[4]浅析Servlet异步处理技术[J]. 迟殿委. 智慧工厂. 2019(08)
[5]基于k-means聚类的Bagging算法研究[J]. 金朝. 光学与光电技术. 2019(04)
[6]基于Keras的MNIST数据集识别模型[J]. 郭梦洁,杨梦卓,马京九. 现代信息科技. 2019(14)
[7]基于Web的云存储技术[J]. 钟永林. 信息记录材料. 2019(04)
[8]TensorFlow Lite开发平台的研究与分析[J]. 高陆川. 电子测试. 2018(20)
[9]Android环境下的数据编码与处理技术[J]. 刘雍,汪文彬,马玉春. 电脑编程技巧与维护. 2018(09)
[10]Android系统架构及关键移植技术研究的初步探讨[J]. 陈露军. 福建电脑. 2018(05)
硕士论文
[1]基于WebKit内核的Android手机浏览器的性能研究与加载优化[D]. 许侠.南京邮电大学 2017
本文编号:3343510
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3343510.html
最近更新
教材专著