diff --git a/工作日志/2021年1月4日-一月份安排.md b/工作日志/2021年1月4日-一月份安排.md index 9784e5f7..0e96bb02 100644 --- a/工作日志/2021年1月4日-一月份安排.md +++ b/工作日志/2021年1月4日-一月份安排.md @@ -1,33 +1,32 @@ ## 第一周 ### 主要任务 + 1. 恶意软件相关论文阅读 1. 数据集 2. 数据集的处理方法 3. 模型 - 4.模型的训练方法 + 4. 模型的训练方法 2. 构建数据集 - - ## 第二周 ### 主要任务 + 1. 数据集处理 1. 处理方法 2. 自动处理 - ## 第三周 ### 主要任务 + 1. TensorFlow学习 2. 神经网络模型构建 3. 进行单机训练 - ## 第四周 ### 主要任务 -1. 模型训练调优 \ No newline at end of file +1. 模型训练调优 diff --git a/工作日志/2021年3月19日-四月份计划.md b/工作日志/2021年3月19日-四月份计划.md index 151cafbe..e2ed5deb 100644 --- a/工作日志/2021年3月19日-四月份计划.md +++ b/工作日志/2021年3月19日-四月份计划.md @@ -21,61 +21,67 @@ > 4. ->改进算法符合自己的预期目标。 - 机器学习分类 - - [x] 《机器学习实战》(算法原理+numpy 实现) -- sklearn - - [x] 学习基础用法 - - [x] 分类算法实现 - - [x] 恶意软件机器学习分类 -- tensorflow - - [x] 学习 TensorFlow2.0 基础 - - [x] TensorFlow 恶意软件神经网络分类 - - [x] tensorflow federated学习 - - [x] TensorFlow 联邦学习实现 -- pytorch - - [x] pytoch学习 - - [x] pytorch 恶意软件神经网络分类 - - [x] pysyft学习 - - [x] pysyft联邦学习实现 -- fate - - [x] ~~学习fate的使用~~ - - [x] ~~使用fate完成开发~~ -- 复习(xmind+tutorial+api) - - python系列复习 - - [x] python - - [x] numpy - - [x] matplotlib - - [x] pandas - - [x] sklearn复习 - - [x] pytorch复习 - - [x] tensorflow复习 + - [X] 《机器学习实战》(算法原理+numpy 实现) +- sklearn + + - [X] 学习基础用法 + - [X] 分类算法实现 + - [X] 恶意软件机器学习分类 +- tensorflow + + - [X] 学习 TensorFlow2.0 基础 + - [X] TensorFlow 恶意软件神经网络分类 + - [X] tensorflow federated学习 + - [X] TensorFlow 联邦学习实现 +- pytorch + + - [X] pytoch学习 + - [X] pytorch 恶意软件神经网络分类 + - [X] pysyft学习 + - [X] pysyft联邦学习实现 +- fate + + - [X]~~学习fate的使用~~ + - [X]~~使用fate完成开发~~ +- 复习(xmind+tutorial+api) + + - python系列复习 + - [X] python + - [X] numpy + - [X] matplotlib + - [X] pandas + + - [X] sklearn复习 + - [X] pytorch复习 + - [X] tensorflow复习 - 复习(**视频教程**) - - [x] pandas + + - [X] pandas - [ ] sklearn - [ ] pytorch - [ ] pysyft - - [x] tensorflow + - [X] tensorflow > 由于只是太多太乱,感觉需要二轮的复习。 +> > 1. 首先,学习完成所有的内容,大致会用,完成第一次开发。 > 2. 然后看论文,进行第二轮复习,完成第二轮开发。第二论复习主要使用xmind进行知识的整理和规划。第二轮开发主要是结合论文中的方法,对论文中方法进行复现。 - ### **恶意软件数据处理(四周)** > 针对恶意软件使用机器学习算法。尝试单机或者使用联邦学习解决恶意软件中的问题。 - 恶意软件数据的处理 - - [x] 静态数据处理 - - [x] 动态数据处理 + - [X] 静态数据处理 + - [X] 动态数据处理 - 恶意软件分类 - - [x] sklearn - - [x] TensorFlow - - [x] pytorch + - [X] sklearn + - [X] TensorFlow + - [X] pytorch - 恶意软件+联邦学习 - - [x] tensorflow federated - - [x] pysyft - + - [X] tensorflow federated + - [X] pysyft ## 安排 @@ -84,9 +90,10 @@ 3. 某天一篇联邦学习的文章。 4. 某天数据集处理一小步。 - ## 目标 + > 任务是目标的细化。 + ### 机器学习原理与实践教程 - 吴恩达机器学习教程 @@ -116,6 +123,7 @@ ## 计划 在笔记本上的阶段性安排: + 1. 第六周:机器学习技术栈的全部完成 2. 第七周:基本数据处理-工程实现完成 3. 第八周:彻底接受学弟的论文工作内容。完成基础三篇论文的复现工作。 @@ -125,4 +133,3 @@ * 第六周(4.5-4.11):本来应该完成的任务都没有完成。基础知识没有学习完,一直在准备面试笔试相关的东西。 * 第七周(4.12-4.18):已经收尾了本来应该完成的任务也一直没有完成。至少把之前的计划完成。四月份计划彻底解决。 * 第八周(4.19-4.25) - diff --git a/工作日志/2021年3月30日-今日计划.md b/工作日志/2021年3月30日-今日计划.md index 9c84c38a..1699523a 100644 --- a/工作日志/2021年3月30日-今日计划.md +++ b/工作日志/2021年3月30日-今日计划.md @@ -2,13 +2,12 @@ > 每日计划包括三方面的内容:数据结构与算法、基础知识与项目经历、联邦学习与恶意软件 -- [x] 数据结构与算法——分治法整理完成 -- [x] 基础知识与项目经历——操作系统整理完成part2 -- [ ] 联邦学习与恶意软件——TensorFlow学习开始part1 +- [X] 数据结构与算法——分治法整理完成 +- [X] 基础知识与项目经历——操作系统整理完成part2 +- [X] 联邦学习与恶意软件——TensorFlow学习开始part1 +- [X] 操作系统关键知识点记忆。进程、线程、IO、中断、同步异步、阻塞非阻塞、分段、分页等。 +- [X] 整理进程、线程同步与通信的方式。并对二者进行区别。 +- [X] 整理同步异步、阻塞非阻塞的知识。并找到主要的通信实现方式。如何实现阻塞、非阻塞通信、同步异步通信。 +- [X] 整理操作系统中涉及到的算法(页面调度、页面置换等) -- [x] 操作系统关键知识点记忆。进程、线程、IO、中断、同步异步、阻塞非阻塞、分段、分页等。 -- [x] 整理进程、线程同步与通信的方式。并对二者进行区别。 -- [x] 整理同步异步、阻塞非阻塞的知识。并找到主要的通信实现方式。如何实现阻塞、非阻塞通信、同步异步通信。 -- [x] 整理操作系统中涉及到的算法(页面调度、页面置换等) - -## 收获 \ No newline at end of file +## 收获 diff --git a/工作日志/会议记录.md b/工作日志/2021年4月12日-会议记录.md similarity index 100% rename from 工作日志/会议记录.md rename to 工作日志/2021年4月12日-会议记录.md diff --git a/工作日志/2021年5月1日-五月份计划.md b/工作日志/2021年5月1日-五月份计划.md index f869c1b5..83619ed9 100644 --- a/工作日志/2021年5月1日-五月份计划.md +++ b/工作日志/2021年5月1日-五月份计划.md @@ -1,4 +1,4 @@ -## 任务 +## 1 任务 > 通过撰写论文驱动自己执行接下来的任务。研究任务->工程任务 @@ -7,7 +7,7 @@ - [ ] 3 继续实验(研究任务),找到一种衡量非独立同分布的方法(分布不平衡的程度。完成毕设论文中设计的半监督实验,非独立同分布的实验,并横向纵向对比实验结果。 - [ ] 4 构建展示系统(工程任务)。做成一个可以用来展示的网站。可视化操作和训练过程。 -## 研究任务(完成毕设论文) +## 2 研究任务(完成毕设论文) > 四月份计划主要进行基础知识的学习和复习。完成了初步的数据处理。接下来的主要任务是阅读论文并完成论文复习计划。 > 开始执行五月份计划,与四月份计划进行衔接。完成工程上与学术上的推进工作。 @@ -15,22 +15,21 @@ > 抓紧吧基础的工程弄完,然后开始搞论文,然后在搞回工程。实现最终的系统。 > 我们是合作关系,而不是上下级关系。别懈怠了。 -### 阅读论文(两周) +### 2.1 阅读论文(两周) > (100篇计划)蒋师兄前前后后分享了估计也有一百篇了,现在重新开始读论文,在复现文章的同时进行广泛的阅读。利用citavi这个工具。 -- [ ] 待定 - -### 联邦学习论文复现(四周) - -> 阅读当前最新的联邦学习文章。使用别人的代码复现联邦学习的过程。复习和复现 - -### 恶意软件文章复现(四周) - - [ ] DeepAMD - [ ] CIC -## 工程任务(完成目标系统) +### 2.2 撰写论文(四周) + +- [ ] 论文结构完成 +- [ ] 论文引用完成 +- [ ] 论文撰写完成 +- [ ] 实验与实验结果补充。 + +## 3 工程任务(完成目标系统) > 需要确定最终实现到什么程度。如果还是单机多线程仿真的,大可不必进行大量修改。在本地通过socket多线程通信进行仿真即可。没有必要考虑网页端的训练(用户将模型下载到Chrome浏览器中,在Chrome浏览器中进行梯度下降?大可不必。第一步应该是首先实现本地浏览器调用本地后端的程序进行仿真。然后尝试远程浏览器,建立socket通信,进行真实系统仿真。而且远程系统,必须也有相关的Python环境才行,或者直接在浏览器中使用JavaScript进行梯度下降。) @@ -38,7 +37,7 @@ > 对于多机真实环境:前端直接下载模型,在浏览器中进行梯度下降,实现联邦学习过程。 -### 初级阶段(五月份) +### 3.1 初级阶段(五月份) > 主要实现本地线程级别的仿真。用来完成研究中的实验和计划 > 该仿真实验主要是了验证论文,发论文。 @@ -51,7 +50,7 @@ - [ ] 尝试掌握最新的联邦学习框架(既然选择了pysyft,就不要考虑tensorflow了。pysyft的生态可能更好,而且做起来简单。主要是tensorflow框架过于庞大,很多东西虽然规范很好用起来方便,但是训练过程着实过于麻烦。使用Keras还好。如果想要修改底层必然会耗费大量精力。tensorflow能够使用js在网页中完成训练,pytorch也能够使用js在网页中完成训练。pytorch也能在android端完成训练。) - [ ] 对pysyft框架进行优化和扩展。 -### 中级阶段(六月份) +### 3.2 中级阶段(六月份) > 主要对pysyft框架中的内容进行理解和修改。 > 构建pysyft对联邦学习的远程仿真实现。实现多端协同仿真,实现可视化界面。 @@ -59,7 +58,7 @@ - [ ] 使用docker容器和socket编程,实现多端协同训练。(从仿真向现实场景过渡。) - [ ] 使用docker容器,优化部署过程,实现windows/linux/android场景下的跨平台实验。(向现实场景过度。) -### 最终阶段(八月份) +### 3.3 最终阶段(八月份) > 构建系统。主要是为了最终的毕业服务。 @@ -87,31 +86,32 @@ - python django - pytorch pysyft websocket -## 计划 +## 4 计划(六月份开始) -### 每日计划 +### 4.1 每日计划 -* 上午:三篇论文 -* 下午:三篇论文 -* 晚上:四篇论文 +* 上午:1篇论文 +* 下午:1篇论文 +* 晚上:2篇论文 如何看论文: -### 每周计划 +[阅读论文的方法](2020年11月2日-论文阅读工具.md) -* 第九周(4.26-5.2)完成论文阅读计划。 -* 第十周(5.3-5.9)完成论文复现计划1——联邦学习论文复现 -* 第十一周(5.10-5.16)完成论文复现计划2——恶意软件论文复现 -* 第十二周(5.17-5.23)完成论文复现计划3——联邦学习+恶意软件 -* 第十四周(5.24-5.30)完成论文复现计划4——非独立同分布并准备中期答辩。 +### 4.2 每周计划 + +* 6月第1周:读论文 +* 6月第2周: +* 6月第3周: +* 6月第4周: > 这样一看似乎真的没有时间。自己不过也只剩一个月的时间做完毕设了。 -### 每月计划 +### 4.3 每月计划 * 五月份计划 * 六月份计划 * 七月份计划 * 八月份计划 -## 收获 +## 5 收获 diff --git a/工作日志/2021年5月31日-今日计划.md b/工作日志/2021年5月31日-今日计划.md new file mode 100644 index 00000000..63ebe438 --- /dev/null +++ b/工作日志/2021年5月31日-今日计划.md @@ -0,0 +1,24 @@ +# 本周计划 + +> 过多的思考,导致自己的工作停滞不前。 +> +> 应该学会从阅读中汲取灵感。阅读,才是本质工作。 +> +> 无论是工作上(读代码与思考如何写代码)、学术上(读论文与思考该怎么读论文)、生活上(读书与思考该如何生活)。我觉得这三个方面,我都犯了致命的错误。应该以读为主,辅助以思考,而不是每天思考该怎么做、该做什么,却从来没有尝试去做这些东西。从今天开始,将阅读与思考时间进行严格限制。3:1,3分阅读,1分思考。 +> +> 转眼已经五月末了。本月的计划执行地稀烂。还是自己的键盘打字舒服啊,太好用了。从今天开始,转入学习状态。计划也写了很久了,该去实践了。既然采取了一种更加稳扎稳打的习惯。就应该付出更多的努力。肿瘤发生的第31天。 + +- [ ] 阅读九月份以来的工作,完成毕业论文的框架。 +- [ ] 本周读完所有的论文。每天3~5篇。 +- [ ] 完成数据预处理工作,和对恶意软件的分析工作!!!(已经拖了两个月了) + +## 计划 + +- [ ] 阅读九月份以来的工作,完成毕业论文的框架。 +- [ ] A generic framework for privacy preserving deep learning +- [ ] Personalized Cross-Silo Federated Learning on Non-IID Data +- [ ] FEDFMC: SEQUENTIAL EFFICIENT FEDERATED LEARNING ON NON-IID DATA + +## 收获 + +* 不应该以学习语言为目的。不应该以掌握某一个技术为目的。应该将**产品** 作为最终的目标。围绕产品学习相关的技术。你可以有自己感兴趣的技术和方向。 diff --git a/工作日志/毕业设计.md b/工作日志/毕业设计.md index 3f515efa..1ab4673a 100644 --- a/工作日志/毕业设计.md +++ b/工作日志/毕业设计.md @@ -4,9 +4,9 @@ ### 研究背景和意义 -1. 恶意软件检测 +1. android+恶意软件---->恶意软件检测---->基于机器学习的恶意软件检测方案 2. 数据的需求:数据隐私保护的需求、数据无标签问题的解决、数据非独立同分布训练模型、数据动态变化问题的解决 -3. 针对以上背景,研究基于机器学习的恶意软件检测模型构建方案有十分重要的意义 +3. 针对以上背景,研究基于深度学习的恶意软件检测模型构建方案有十分重要的意义 > 说实话,我主要是解决联邦学习中的问题,而非解决恶意软件检测的问题。为了解决数据中存在的问题,而非恶意软件相关的问题。如何让解决的问题与恶意软件检测进行强相关?而非与联邦学习强相关。 > @@ -14,14 +14,13 @@ > > 通过概述训练算法,解决训练数据中的需求和存在的问题,从而改善训练模型的准确率。而非直接更改模型,增强恶意软件检测的结果。需要把这个东西说明。 -### 研究现状 +### 国内外研究现状 -1. 恶意软件检测的机器学习方案 -2. 恶意软件检测的联邦学习方案 -3. 恶意软件检测与半监督学习的方案 -4. 联邦学习的隐私保护、半监督学习、非独立同分布等开放问题的解决方案。 +1. 恶意软件检测的机器学习和深度学习研究方案(第一层:针对恶意软件检测**领域**对比) +2. 恶意软件检测中数据扩展+隐私保护的研究方案(第二层:针对数据扩展和隐私保护等**需求**的对比) +3. 联邦学习的隐私保护、半监督学习、非独立同分布等开放问题的研究方案(第三层:针对隐私泄露问题、无标签问题、非独立同分布**问题**的对比) -### 研究内容 +### 研究内容和研究目标 1. 联邦隐私保护学习方案 2. 联邦半监督学习方案 @@ -63,7 +62,6 @@ ## 第六章:恶意软件检测算法的实验与结果 - ## 第七章:恶意软件检测系统构建 1. 训练控制模块 @@ -71,5 +69,4 @@ 3. 训练展示模块 4. 实验结果对比模块 - ## 结论 diff --git a/工作日志/论文阅读.md b/工作日志/论文阅读.md deleted file mode 100644 index dd7d48b3..00000000 --- a/工作日志/论文阅读.md +++ /dev/null @@ -1,8 +0,0 @@ -# 论文阅读 - -## FEDFMC - -* 论文全称:FEDFMC:SEQUENTIAL EFFICIENT FEDERATED LEARNING ON NON-IID DATA -* 论文作者:Google -* 论文级别:无 -* 主要内容: diff --git a/工作日志/论文阅读.xls b/工作日志/论文阅读.xls new file mode 100644 index 00000000..e69de29b