From 8fbe29cf1cc8a18d556cdcc02c33e2a4cd3cb454 Mon Sep 17 00:00:00 2001 From: Estom Date: Mon, 9 Aug 2021 16:54:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E8=AF=A6=E7=BB=86=E6=95=B4?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E4=BA=BA=E7=94=9F=E8=A7=84=E5=88=92=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工作日志/2021年3月19日-四月份计划.md | 4 +- 工作日志/2021年5月1日-五月份计划.md | 41 ++++++------ 工作日志/2021年7月9日-七月份安排.md | 86 ++++++++++++------------- 工作日志/2021年8月3日-八月份计划.md | 94 ++++++++++++++++++++++++++++ 工作日志/2021年8月3日-就业开始.md | 4 -- 工作日志/2021年8月7日-今日计划.md | 2 +- 工作日志/2021年8月7日-电话分享.md | 3 +- 工作日志/2021年8月9日-今日计划.md | 38 +++++++++++ 工作日志/每周总结.md | 40 ------------ 工作日志/毕业设计.md | 72 +++++++++++++-------- 工作日志/研究方向.md | 7 --- 11 files changed, 247 insertions(+), 144 deletions(-) create mode 100644 工作日志/2021年8月3日-八月份计划.md delete mode 100644 工作日志/2021年8月3日-就业开始.md create mode 100644 工作日志/2021年8月9日-今日计划.md delete mode 100644 工作日志/每周总结.md delete mode 100644 工作日志/研究方向.md diff --git a/工作日志/2021年3月19日-四月份计划.md b/工作日志/2021年3月19日-四月份计划.md index e2ed5deb..1d27d1e2 100644 --- a/工作日志/2021年3月19日-四月份计划.md +++ b/工作日志/2021年3月19日-四月份计划.md @@ -42,8 +42,8 @@ - [X] pysyft联邦学习实现 - fate - - [X]~~学习fate的使用~~ - - [X]~~使用fate完成开发~~ + - [X] ~~学习fate的使用~~ + - [X] ~~使用fate完成开发~~ - 复习(xmind+tutorial+api) - python系列复习 diff --git a/工作日志/2021年5月1日-五月份计划.md b/工作日志/2021年5月1日-五月份计划.md index 83619ed9..abfc26c1 100644 --- a/工作日志/2021年5月1日-五月份计划.md +++ b/工作日志/2021年5月1日-五月份计划.md @@ -2,14 +2,15 @@ > 通过撰写论文驱动自己执行接下来的任务。研究任务->工程任务 -- [ ] 1 数据预处理(研究任务),需要了解Android恶意软件的基础知识,并提取特征。 -- [ ] 2 阅读论文(研究任务),完成小论文和毕设论文的框架,以及大部分内容,实验和实验结果空着,等以后完成。 -- [ ] 3 继续实验(研究任务),找到一种衡量非独立同分布的方法(分布不平衡的程度。完成毕设论文中设计的半监督实验,非独立同分布的实验,并横向纵向对比实验结果。 +- [ ] 1 阅读论文(研究任务),主要包括四个方面的论文:恶意软件、联邦学习、非独立同分布、隐私保护。 +- [ ] 2 完成实验(实验任务),找到一种衡量非独立同分布的方法(分布不平衡的程度。完成毕设论文中设计的半监督实验,非独立同分布的实验,并横向纵向对比实验结果。 + +- [ ] 3 完成小论文和毕设论文的框架,以及大部分内容,实验和实验结果空着,等以后完成。 - [ ] 4 构建展示系统(工程任务)。做成一个可以用来展示的网站。可视化操作和训练过程。 ## 2 研究任务(完成毕设论文) -> 四月份计划主要进行基础知识的学习和复习。完成了初步的数据处理。接下来的主要任务是阅读论文并完成论文复习计划。 +> 四月份计划主要进行基础知识的学习和复习。完成了初步的数据处理。接下来的主要任务是阅读论文并完成论文复现计划。 > 开始执行五月份计划,与四月份计划进行衔接。完成工程上与学术上的推进工作。 > 别人都靠不住的,万事都要靠自己。接下来开始搞论文应该也能搞完。三个月实习加论文,搞完。五六七。 > 抓紧吧基础的工程弄完,然后开始搞论文,然后在搞回工程。实现最终的系统。 @@ -18,17 +19,9 @@ ### 2.1 阅读论文(两周) > (100篇计划)蒋师兄前前后后分享了估计也有一百篇了,现在重新开始读论文,在复现文章的同时进行广泛的阅读。利用citavi这个工具。 - -- [ ] DeepAMD -- [ ] CIC - +### 2.2 完成实验(四周) ### 2.2 撰写论文(四周) -- [ ] 论文结构完成 -- [ ] 论文引用完成 -- [ ] 论文撰写完成 -- [ ] 实验与实验结果补充。 - ## 3 工程任务(完成目标系统) > 需要确定最终实现到什么程度。如果还是单机多线程仿真的,大可不必进行大量修改。在本地通过socket多线程通信进行仿真即可。没有必要考虑网页端的训练(用户将模型下载到Chrome浏览器中,在Chrome浏览器中进行梯度下降?大可不必。第一步应该是首先实现本地浏览器调用本地后端的程序进行仿真。然后尝试远程浏览器,建立socket通信,进行真实系统仿真。而且远程系统,必须也有相关的Python环境才行,或者直接在浏览器中使用JavaScript进行梯度下降。) @@ -42,27 +35,33 @@ > 主要实现本地线程级别的仿真。用来完成研究中的实验和计划 > 该仿真实验主要是了验证论文,发论文。 -- [X] pysyft线程级别仿真 -- [ ] pysyft论文仿真实验 - - [ ] 针对联邦学习的仿真 - - [ ] 针对恶意软件的仿真 -- [ ] 尝试掌握最新的联邦学习框架(既然选择了pysyft,就不要考虑tensorflow了。pysyft的生态可能更好,而且做起来简单。主要是tensorflow框架过于庞大,很多东西虽然规范很好用起来方便,但是训练过程着实过于麻烦。使用Keras还好。如果想要修改底层必然会耗费大量精力。tensorflow能够使用js在网页中完成训练,pytorch也能够使用js在网页中完成训练。pytorch也能在android端完成训练。) -- [ ] 对pysyft框架进行优化和扩展。 +> 尝试掌握最新的联邦学习框架(既然选择了pysyft,就不要考虑tensorflow了。pysyft的生态可能更好,而且做起来简单。主要是tensorflow框架过于庞大,很多东西虽然规范很好用起来方便,但是训练过程着实过于麻烦。使用Keras还好。如果想要修改底层必然会耗费大量精力。tensorflow能够使用js在网页中完成训练,pytorch也能够使用js在网页中完成训练。pytorch也能在android端完成训练。) + +> pytorch本地仿真实验。因为最后要搭建一个联邦学习系统,所以这里存在一个严重的问题,如果使用pysyft中集成的远程调用方法。有很多细节没办法进行控制。而且pysyft最近的支持度明显下降,已经无法使用了。需要自己实现远程调用和容器部署方便进行论文答辩。在这里pytorch只作为一种计算核心。当然也可以完全脱离pytorch进行梯度下降。 + + +- [X] pysyft线程级别仿真。明白了其工作原理,并实现了多端异步训练。在自己实现多端仿真的时候可以借用一下这里边的实现方式。 +- [x] pytorch本地单线程仿真。也可以开启多线程进行异步训练。客户端和服务器之间通过共享内存实现数据传输。FedMetaMal工程。 +- [ ] 复现联邦学习的论文。完成所有的联邦学习相关的实验。用于小论文的发表。 ### 3.2 中级阶段(六月份) > 主要对pysyft框架中的内容进行理解和修改。 > 构建pysyft对联邦学习的远程仿真实现。实现多端协同仿真,实现可视化界面。 +> 主要对FedMetaMal进行扩展。实现多机版本的训练过程。 + +- [ ] FedMetaMal进行技术选型,实现多机训练的技术方案。主要是通过grpc等rpc框架进行远程调用。而非使用pysyft中集成好的远程调用。它那个过于难以理解。 - [ ] 使用docker容器和socket编程,实现多端协同训练。(从仿真向现实场景过渡。) - [ ] 使用docker容器,优化部署过程,实现windows/linux/android场景下的跨平台实验。(向现实场景过度。) ### 3.3 最终阶段(八月份) > 构建系统。主要是为了最终的毕业服务。 - -- [ ] 使用web服务器,实现可视化。包括可视化训练过程的控制、可视化展示训练过程和训练结果。(大概花一个月时间,本质上为了毕业,能够形成一个看起来很漂亮的系统) +- 技术选项 + - [ ] 使用web服务器,实现可视化。包括可视化训练过程的控制、可视化展示训练过程和训练结果。(大概花一个月时间,本质上为了毕业,能够形成一个看起来很漂亮的系统)。也可以不是CS模式。因为服务器和客户端不一定非得提供成web服务,也可以是其他的非web服务。尝试使用electron-js-python 实现本地客户端或者远程客户端。(优势是客户端可以在本地也可以在远程,相比webkit只能做本地训练有很强的优势)我觉得这个方案非常强。 + - [ ] 这个服务器既可以用来控制训练过程,参与到训练中。也可以用来展示训练过程。也可以用来测试训练模型。固化训练模型。使用统一的一套通信方案。也可以使用同一的rpc方案。或者不同的前后端分离技术。提供grpc接口而不是http接口!!! 在实现上应该差不多。 - 前端: diff --git a/工作日志/2021年7月9日-七月份安排.md b/工作日志/2021年7月9日-七月份安排.md index ccdcb885..99448d71 100644 --- a/工作日志/2021年7月9日-七月份安排.md +++ b/工作日志/2021年7月9日-七月份安排.md @@ -1,19 +1,22 @@ -## 任务 -### 毕设 -* √阅读论文(两周)(每天十篇可能读完!!!) - * 恶意软件相关的论文(20%) - * √联邦学习相关的论文(100%) - * √非独立同分布相关的文章(100%) -* 完成实验(四周)(7.25-8.8) - * √联邦学习针对非独立同分布(手写体数据实验实现)的实验(一周) - * 恶意软件特征提取的实验(一周) 什么样的数据集?怎样的方法提取特征?提取哪些特征用于实验?使用什么样的模型? - * 联邦学习针对恶意软件数据集的实验。(一周) - * 差分隐私应用的实验(一周) +## 任务——对五月份计划的回溯和修正 + +> 五月份大致计划(给出了计划索引)---->七月份的计划重述(主要根据这个任务进行计划的执行。五月份的计划用来参考和回溯完成进度)-----> 工程中的计划实现方案和细节(主要用来记录开发任务)。 + +### 毕设(详细计划参考五月份计划和工程内的计划) +* [ ] 阅读论文(两周)(每天十篇可能读完!!!) + * [ ] 恶意软件相关的论文(20%) + * [x] 联邦学习相关的论文(100%) + * [x] 非独立同分布相关的文章(100%) +* [ ] 完成实验(四周)(7.25-8.8) + * [x] 联邦学习针对非独立同分布(手写体数据实验实现)的实验(一周) + * [ ] 恶意软件特征提取的实验(一周) 什么样的数据集?怎样的方法提取特征?提取哪些特征用于实验?使用什么样的模型? + * [ ] 联邦学习针对恶意软件数据集的实验。(一周) + * [ ] 差分隐私应用的实验(一周) * 完成恶意软件检测展示系统(四周) - * 实现Python/linux下RPC通信模块 - * 实现算法训练模块(算法核心)-----联邦学习算法框架 - * 实现算法检测模块(算法核心)-----恶意软件检测结果 - * 实现前端控制模块(通过页面展示成果) + * [ ] 实现Python/linux下RPC通信模块 + * [ ] 实现算法训练模块(算法核心)-----联邦学习算法框架 + * [ ] 实现算法检测模块(算法核心)-----恶意软件检测结果 + * [ ] 实现前端控制模块(通过页面展示成果) ---------------------------------------------- @@ -28,31 +31,31 @@ ### 就业 -* 语言 - * C++ - * GO - * 数据结构 - * 算法 -* 基础 - * 操作系统 - * 数据库 - * 计算机网络 -* 拓展 - * C++/GO框架 - * 微服务框架 - * docker/k8s/kite -* 编程 - * 网络编程/web开发 - * 系统编程 - * 算法编程(力扣刷题) +* [ ] 语言 + * [ ] C++ + * [ ] GO + * [ ] 数据结构 + * [ ] 算法 +* [ ] 基础 + * [ ] 操作系统 + * [ ] 数据库 + * [ ] 计算机网络 +* [ ] 拓展 + * [ ] C++/GO框架 + * [ ] 微服务框架 + * [ ] docker/k8s/kite +* [ ] 编程 + * [ ] 网络编程/web开发 + * [ ] 系统编程 + * [ ] 算法编程(力扣刷题) -* 基础知识复习 -* 算法刷题 -* 参加招聘会。能在实习结束前,拿到三个offer。 +* [ ] 基础知识复习 +* [ ] 算法刷题 +* [ ] 参加招聘会。能在实习结束前,拿到三个offer。 -### 实习 +### ~~实习~~ * 每周实习 * 现在去字节的实习对自己来说的收益已经很低了,因为没有办法拿到转正的offer,最后的时长可能根本不够。 @@ -91,15 +94,12 @@ ## 收获 -1. 第一周:划水反思+阅读论文(非独立同分布) -2. 第二周: +1. 第一周7.12:划水反思+阅读论文(非独立同分布) +2. 第二周7.19: 1. 阅读论文。联邦学习非独立同分布的论文基本看完了。 2. 第一次开会,对论文阅读中的内容进行了讲解,对非独立同分布问题有了很深的认识 -3. 第三周: +3. 第三周7.26: 1. 搭建完成了基本的书写框架,方便实现算法和后续的开发 2. 实现了fedbase/fedavg/fedprox等方法。并进行了一些保证基本效果的实验。 -4. 第四周: +4. 第四周8.2: 1. 实现了fedmeta/fedamp/fedscaffold等方法。 - 2. 对工程进行重构,通过继承和模块化支持工程扩展。移植到Project当中。并进一步去掉冗余的代码 - 3. 对独立同分布问题进行探讨,数据集扩充、非独立同分布划分方式增加、衡量非独立同分布的方法 - 4. 实验设置,验证各个算法的优势,以及各个算法在不同参数(epoch等)影响下的表现 \ No newline at end of file diff --git a/工作日志/2021年8月3日-八月份计划.md b/工作日志/2021年8月3日-八月份计划.md new file mode 100644 index 00000000..a2652939 --- /dev/null +++ b/工作日志/2021年8月3日-八月份计划.md @@ -0,0 +1,94 @@ +# 八月份计划 + + +## 简历投递 + + + +------------------------------------------------- +互联网企业 + + +### 字节 + + +### 阿里 + + + +### 腾讯 + + + +### 百度 + +### 360 + +### 美团 + +### 网易 + + + +### 搜狐 + +### 新浪 + +### 携程 + +--------------------------------------------------------- +电商 + +### 京东 + +### 虾皮 + +### 唯品会 + +### 拼多多 +-------------------------------------------------------- +手机厂商 + + +### 华为 + +### oppo vivo + +### + +### 米哈游 + +-------------------------------------------------------- +国企研究所 + + + +### 中国银行 + +### 工商银行 + +### 农业银行 + +### 建设银行 + + +### 移动公司、联通公司、电信公司 + + +### 山东电网、国家电网、青岛电网 + +http://qingdao.offcn.com/html/gqzp/ + +http://qingdao.offcn.com/html/2021/08/79827.html +### 中电14所 + + + + +## 收获 +1. 第一周8.9 + 1. 对工程进行重构,通过继承和模块化支持工程扩展。移植到Project当中。并进一步去掉冗余的代码 + 2. 对独立同分布问题进行探讨,数据集扩充、非独立同分布划分方式增加、衡量非独立同分布的方法 + 3. 实验设置,验证各个算法的优势,以及各个算法在不同参数(epoch等)影响下的表现 + +2. 第二周 \ No newline at end of file diff --git a/工作日志/2021年8月3日-就业开始.md b/工作日志/2021年8月3日-就业开始.md deleted file mode 100644 index 7d272845..00000000 --- a/工作日志/2021年8月3日-就业开始.md +++ /dev/null @@ -1,4 +0,0 @@ -# 简历投递记录 - - -## \ No newline at end of file diff --git a/工作日志/2021年8月7日-今日计划.md b/工作日志/2021年8月7日-今日计划.md index 4018d011..bdd93364 100644 --- a/工作日志/2021年8月7日-今日计划.md +++ b/工作日志/2021年8月7日-今日计划.md @@ -1,6 +1,6 @@ ## 任务 -- [ ] 完成电话的PPT。能够有啥有意思的东西呢,无非就是推荐一两个科幻电影和科幻动漫。 +- [x] 完成电话的PPT。能够有啥有意思的东西呢,无非就是推荐一两个科幻电影和科幻动漫。 - [ ] 完成数据集的设置(加载其他类型的数据集、更多类型的非独立同分布划分和衡量方法) - [ ] 完成实验的设置(需要对比的地方,需要考虑到可能的影响)基本达到周二要求的水准了。 diff --git a/工作日志/2021年8月7日-电话分享.md b/工作日志/2021年8月7日-电话分享.md index 5ddb4400..af8b5e86 100644 --- a/工作日志/2021年8月7日-电话分享.md +++ b/工作日志/2021年8月7日-电话分享.md @@ -132,4 +132,5 @@ -* 科技的发展会放大人们自身的缺陷 \ No newline at end of file +* 科技的发展会放大人们自身的缺陷。因为永远没有机器速度快,记忆力好。之后这些东西就永远被替代了。人呢,开始做什么?帮助人们会议,计算。剥夺了现在人计算与回忆的能力。 +* 就像高考一样,不准带计算机进去,用计算机搜索资料的能力,可能比推导出数学最后一题要有用的多。人们也不断的想办法拒绝机器带来的“恐惧” \ No newline at end of file diff --git a/工作日志/2021年8月9日-今日计划.md b/工作日志/2021年8月9日-今日计划.md new file mode 100644 index 00000000..95e10419 --- /dev/null +++ b/工作日志/2021年8月9日-今日计划.md @@ -0,0 +1,38 @@ +## 问题分析 + +现在处于一种很矛盾的状态。中期答辩、秋招、两个实习,都交汇在了一块。如果能提前把实习的事情搞定,投投秋招提前批可能所有问题都解决了。果然,人生规划很重要。做好人生规划,能让自己的焦虑减少一半。准确的说,就是知道什么时候、该做什么收益最大。就像三四月份准备实习,五六七月份实习,八月份中期和就业,九十月份找工作。这才是正常的流程。 + +可惜,自己弄得一团糟。实习开始的时间晚了一些,实习到一半跑路,如今还要跟中期的事情交替进行,还要牺牲找工作的时间去实习。说实话,现在实习的收益太低了。太耽搁毕业和找工作的事情,有点不太可能。但是不去实习可以吗?不去实习存在哪些风险或者说哪些问题。我觉得我不能再言而无信了。 + +那么毕设呢?中期答辩需要你准备这么久吗?我觉得中期完成两个月内,估计你都没时间做毕设。你就只能趁中期之前,做一做毕设。九十月份大家都忙着找工作。 + +你现在不是鱼和熊掌的问题,是左臂和右臂的问题,两者都必须得保留,既要保证能够顺利毕业,又要保证能够找到工作都行,二者缺一个都不行。通过实习转正是一个手段,你已经错过了,接下来只能通过好好准备毕设和秋招,找到自己喜欢的工作了。已经跟阿里和字节的人说明了情况,不能再拖了。我这个人言而无信,感觉写代码能力一般,屁事很多,喜欢思考,但是准备工作太多,前摇时间太长。这些毛病我都要改一改。就像昨天,莫名其妙的紧张了一天,什么都没做,就很神奇。我想成为一个什么样的人?说道做到,就心无旁骛得做自己该做的事情就好!至于自己该做什么,这确实十个很难很难回答的问题,而我就经常会被这样的为击垮,我觉得我需要让自己养成一些习惯,那些可以受益终生的好习惯,用这些习惯或者说固定的套路来解决问题,而不是发了疯一样的焦虑。已经不是十几岁的小屁孩了,课程表上的计划,安排的清清楚楚。现在什么都没有,自由的时间,自由的工作,自己反而变得没那么热爱自由了。 + +如何能够保持自己高强度工作一周、一周呢?如何能够保证自己工作之余能够得到充足的休息呢?如何保证自己休息之后能够有充足的精力投入到自己的工作当中呢?不管平时如何高谈阔论人生理想,但是实践起来都是一个又一个的细节,如果每天都是粗糙的经营实践,永远都只是有产出,而不是高效的产出。我觉得,我的人生轨迹需要改变一下了。 + +总是记不住一些东西,从前自己有个小本子,上边会写下鼓励自己的话和人生的感悟,经常回溯,所以知道自己当前的“主题”是什么,存在的问题是什么,主要的任务是什么。但是现在这些东西下载这里的笔记上,那里的日记上,扔的到处都是,感悟太多,问题太多,从来没有回溯过,每次遇到都是一个新的问题,重新思考该做什么,该怎样做。着实比较蠢。每个月有自己的月计划,每一周有自己的周计划,每一天有自己的天计划。如果你不知道今天该做什么,就去回顾,回顾一周,回顾一个月两个月。每到一个时间节点,对之前的任务进行回溯。不能接受完不成任务的现实。工作很多,容不得由着性子来。 + +加油吧,已经决定要延毕了。吗?你会在秋招期间不断推进论文工作的进展。争取在十月份完成论文,但是也保留申请延毕的可能性。经过与老父亲的商量,我发现我的老父亲对时间安排,还是很有谱的,无论多少事情,总能够规划好,顺利的在时间节点前完成任务。但感觉也是靠拼命才能达成的目标。 + +我需要有在字节工作的工作状态。每天都要有规划,都要有产出。成为自己一种习惯。今天的思考就到此为止了。开始接下来的工作。 + + + +## 有挑战的事情 + +1. 作息时间。1点睡觉,8.30起床。带着你对明天的憧憬入睡。 +2. 每日运动。下午晚饭的时候,去奔跑吧,缓解你的焦虑紧张,好好思考晚上该如何大干一场。 +3. 进度回溯。月计划、周计划、日计划。不是写完了让他们躺在那里的,每个一小段时间,或者自己迷茫的时候,就回溯一下,自己应该干什么。 +4. 强制执行。计划不能太满,也就一位置,你一旦做出,就必须完成。周末负责弥补没有完成的内容。 + +## 给华芝的信 + + +华芝,我本希望自己能通过一段时间的赶工,做完毕设工作和秋招准备,但进度没有我想的快,我思考了两天,虽然我特别想去字节实习转正,但是最近确实没有时间去实习了。需要花一些时间准备秋招,和8月末的中期答辩,有点忙不过来。我重新规划了一下,打算在八九月分忙一下秋招的事情,申请在明年六月份进行毕设答辩。由于自己的规划的问题,给咱们部门造成了很多麻烦,十分抱歉。 +如果我下周去实习,还是会因为秋招与毕设的事分心,导致自己实习的状态不好,给大家留下不好的印象。我也想全身心的投入到实习的事情当中。如果可以的话,我想在秋招完成(10月)到毕业之前(5月)之间再去我们部门实习一次。如果不行的话,感觉只能申请离职,通过秋招尝试进入部门了。也感谢各位在实习期间的照顾。 + + +## 给寒少的信 + + +希望自己能够直接进入秋招,而不是通过实习转正,因为自己确实没有多少时间了。希望能够拿到跟实习生转正的中间值一样的工资。 \ No newline at end of file diff --git a/工作日志/每周总结.md b/工作日志/每周总结.md deleted file mode 100644 index 8a90c1c2..00000000 --- a/工作日志/每周总结.md +++ /dev/null @@ -1,40 +0,0 @@ -# 2020年9月 - -## 第一周(9.1-9.6) -* 阅读漏洞利用的相关知识,证明了漏洞利用的不可行。 -* 更换了开题的方向,转向联邦学习 - -## 第二周(9.7-9.13) - -* 对联邦学习进行了一周的调研,了解了联邦学习是什么。 -* 对情报利用的方式进行了讨论,对情报可能的利用方向进行了总结。 -* 与公司进行对话,了解了情报利用利于相关的内容。 - - -## 第三周(9.14-9.20) -* 完成了界面设计的一套方案。nodejs-electron-html/js/css-Cmake(make),打通了界面设计的技术路径。 - -## 第四周(9.21-9.27) -* 机器学习任务的开始。明确了机器学习的学习路径。 -* 完成了python3-numpy-scipy-matplotlib-pandas机器学习系列工具的学习。需要通过具体的编程项目进行熟练。 - -## 第五周(9.28-10.4) -* 吴恩达课程开始 -* 机器学习相关工具的熟练。 -* 完成了张小玉部分的界面。 - -## 第六周(10.5-10.11) - -* 吴恩达机器学习完成 -* 张小玉部分界面编程和报告完成。 - - -## 第七周(10.12-10.18) -* 吴恩达深度学习第一套视频 - -## 第八周(10.19-10.25) - -* 吴恩达深度学习完成 - - -# 2021年3月 \ No newline at end of file diff --git a/工作日志/毕业设计.md b/工作日志/毕业设计.md index 3ad8313b..d23f50c9 100644 --- a/工作日志/毕业设计.md +++ b/工作日志/毕业设计.md @@ -5,7 +5,7 @@ ### 研究背景和意义 1. 恶意软件检测。 - + 1. (巴拉巴拉介绍一对机器学习、深度学习在恶意软件检测领域的应用。)尽管机器学习服务取得了成功,但它们的有效性在很大程度上依赖于大量的数据 1. 数据成为限制机器学习算法的主要瓶颈。那么广大数据在哪里呢?肯定分散在用户设备上。所以我们提出了基于边缘学习联合学习的分布式机器学习方案。直接在拥有用户的本地设备上进行学习,获得机器学习模型,解决了数据量的问题和利用边缘设备的计算能力。 2. 同时传统的机器学习中,在数据搜集过程中侵犯隐私的问题。结合恶意软件来说。 3. 这种为了从数据角度对机器学习模型进行提升思想,需要解决如下三个数据问题或者满足以下三个数据方面的需求。 @@ -13,16 +13,14 @@ 1. 数据量扩充的需求 和 数据隐私保护的需求、(为什么要研究) 2. 数据隐私保护进一步提升(研究内容) - 3. 数据无标签问题(研究的内容) - 4. 数据非独立同分布的问题(研究内容) - 5. ~~数据动态变化问题(研究内容)~~ + 3. 数据非独立同分布的问题(研究内容) 3. 针对以上背景,研究基于机器学习的恶意软件检测模型构建方案有十分重要的意义。这种意义主要体现在以下几个方面: 1. 扩展了机器学习模型获取数据的范围。利用了边缘设备的计算能力。 2. 解决了集中式学习搜集数据困难、搜集数据过程中会侵犯用户隐私的问题。 -1. android+恶意软件---->恶意软件检测---->基于机器学习的恶意软件检测方案 -2. 数据的需求:数据隐私保护的需求、数据无标签问题的解决、数据非独立同分布训练模型、数据动态变化问题的解决 -3. 针对以上背景,研究基于深度学习的恶意软件检测模型构建方案有十分重要的意义 +4. android+恶意软件---->恶意软件检测---->基于机器学习的恶意软件检测方案 +5. 数据的需求:数据隐私保护的需求、数据无标签问题的解决、数据非独立同分布训练模型、数据动态变化问题的解决 +6. 针对以上背景,研究基于深度学习的恶意软件检测模型构建方案有十分重要的意义 > 说实话,我主要是解决联邦学习中的问题,而非解决恶意软件检测的问题。为了解决数据中存在的问题,而非恶意软件相关的问题。如何让解决的问题与恶意软件检测进行强相关?而非与联邦学习强相关。 > @@ -47,22 +45,20 @@ ### 对比基线 1. 恶意软件检测的机器学习和深度学习研究方案(第一层:针对恶意软件检测**领域**对比) 1. 恶意软件检测中数据扩展+隐私保护的研究方案(第二层:针对数据扩展和隐私保护等**需求**的对比) -1. 联邦学习的隐私保护、半监督学习、非独立同分布等开放问题的研究方案(第三层:针对隐私泄露问题、无标签问题、非独立同分布**问题**的对比) +2. 联邦学习的隐私保护、非独立同分布等开放问题的研究方案(第三层:针对隐私泄露问题、非独立同分布**问题**的对比) ### 研究内容和研究目标 1. 联邦隐私保护学习方案——差分隐私、同态加密 -2. 联邦半监督学习方案——半监督方案? -3. 联邦非独立同分布学习方案——某一个方案 +2. 联邦非独立同分布学习方案——联邦元学习 +3. 面向恶意软件检测的,基于联邦元学习和增强隐私保护能力的联邦学习框架 论文贡献(到时候再展开或者压缩内容。) 1. 实现了差分隐私,并通过实验验证了差分隐私对参数隐私的保护 -2. ~~实现了半监督学习方案。这个可以去掉,如果最后实现起来比较简单,则可以加上~~ -3. 使用了联邦元学习解决了非独立同分布问题 -4. 一个恶意软件特征提取和分析工具 -5. 完成了相关的实验验证。证明了balabala -6. 构建了联邦学习框架和恶意软件检测系统。能够使用半监督学习,差分隐私保护用户的隐私,能够针对非独立同分布场景,训练机器学习模型。恶意软件检测系统包括特征提取模块和模型检测模块。 -7. 提供了一个训练框架,以及一个可用的模型。 +2. 使用了联邦元学习解决了非独立同分布问题 +3. 一个恶意软件特征提取和分析工具 +4. 完成了相关的实验验证。证明了balabala +5. 构建了联邦学习框架和恶意软件检测系统。能够使用半监督学习,差分隐私保护用户的隐私,能够针对非独立同分布场景,训练机器学习模型。恶意软件检测系统包括特征提取模块和模型检测模块。提供了一个训练框架,以及一个可用的模型。 ### 论文结构 @@ -72,6 +68,7 @@ > 恶意软件主要分类、恶意软件主要分类的依据和数学表示(接口、行为?)、恶意软件主要的检测方法利用到的原理。 + ### 2 特征提取技术 > 特征提取技术,特征降维方法。动静态特征的提取方法。 @@ -84,28 +81,53 @@ > 差分隐私、同态加密方法。实现了多方安全计算。 -### 5 半监督学习原理 -> 半监督学习解决的问题。半监督学习的目标问题。 - -### 6 非独立同分布的原理 +### 5 非独立同分布的原理 > 非独立同分布的原理、表示方法(衡量标准)、产生的影响(论证非独立同分布是联邦学习解决问题中的关键问题。) > 对非独立同分布的数学的描述。 -## 第三章:基于差分隐私和联邦学习的恶意软件检测算法 -## 第四章:基于联邦半监督学习的恶意软件检测算法 +## 第三章:恶意软件特征提取方法 -## 第五章:针对非独立同分布问题的恶意软件检测算法 +### 静态特征的提取 -## 第六章:恶意软件检测算法的实验与结果 -## 第七章:恶意软件检测仿真系统构建 +### 动态特征的提取 + +## 第四章:针对非独立同分布问题的联邦学习框架 + +### 联邦学习框架的算法框架 + + +### 针对非独立同分布问题的联邦元学习算法 + + + +* 能够衡量用户的贡献度的方法 + +## 第五章:基于差分隐私和联邦学习的恶意软件检测算法 + +### 隐私保护的原理(数学公式推导) +### 隐私保护的框架(算法,加入到整体的联邦学习框架中) +### 隐私计算(从理论上证明,隐私保护的准确性) + + + + + +## 第六章:恶意软件检测仿真系统构建 + +### 系统架构图 + + +### 各个模块的设计方案 1. 训练控制模块 2. 网络通信模块 3. 训练展示模块 4. 实验结果对比模块 +## 第七章:恶意软件检测算法的实验与结果 + ## 结论 diff --git a/工作日志/研究方向.md b/工作日志/研究方向.md deleted file mode 100644 index 560d58fe..00000000 --- a/工作日志/研究方向.md +++ /dev/null @@ -1,7 +0,0 @@ -> 文章的研究方向,应该主要包括以下三个点。 - -## 数据的隐私性问题——联邦学习与隐私保护框架 - -## 数据的非独立同分布问题——非独立同分布&联邦学习算法 - -## 数据的标签缺失问题——半监督学习&联邦学习算法