mirror of
https://github.com/Estom/notes.git
synced 2026-04-04 03:17:44 +08:00
中期结束
This commit is contained in:
108
.vscode/settings.json
vendored
108
.vscode/settings.json
vendored
@@ -80,4 +80,112 @@
|
||||
"xutility": "cpp"
|
||||
},
|
||||
"python.pythonPath": "/usr/bin/python3",
|
||||
"latex-workshop.latex.tools": [
|
||||
{
|
||||
"name": "latexmk",
|
||||
"command": "latexmk",
|
||||
"args": [
|
||||
"-synctex=1",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
"-pdf",
|
||||
"%DOC%"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "xelatex",
|
||||
"command": "xelatex",
|
||||
"args": [
|
||||
"-synctex=1",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
"%DOC%"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pdflatex",
|
||||
"command": "pdflatex",
|
||||
"args": [
|
||||
"-synctex=1",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
"%DOC%"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bibtex",
|
||||
"command": "bibtex",
|
||||
"args": [
|
||||
"%DOCFILE%"
|
||||
]
|
||||
}
|
||||
],
|
||||
"latex-workshop.latex.recipes": [
|
||||
{
|
||||
"name": "latexmk",
|
||||
"tools": [
|
||||
"latexmk"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "xelatex",
|
||||
"tools": [
|
||||
"xelatex"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pdflatex",
|
||||
"tools": [
|
||||
"pdflatex"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pdflatex -> bibtex",
|
||||
"tools": [
|
||||
"pdflatex",
|
||||
"bibtex"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pdflatex -> bibtex -> pdflatex*2",
|
||||
"tools": [
|
||||
"pdflatex",
|
||||
"bibtex",
|
||||
"pdflatex",
|
||||
"pdflatex"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "xelatex -> bibtex -> xelatex*2",
|
||||
"tools": [
|
||||
"xelatex",
|
||||
"bibtex",
|
||||
"xelatex",
|
||||
"xelatex"
|
||||
]
|
||||
}
|
||||
],
|
||||
"latex-workshop.latex.autoBuild.run":"never",
|
||||
"latex-workshop.view.pdf.viewer": "tab",
|
||||
"latex-workshop.latex.clean.fileTypes": [
|
||||
"*.aux",
|
||||
"*.bbl",
|
||||
"*.blg",
|
||||
"*.idx",
|
||||
"*.ind",
|
||||
"*.lof",
|
||||
"*.lot",
|
||||
"*.out",
|
||||
"*.toc",
|
||||
"*.acn",
|
||||
"*.acr",
|
||||
"*.alg",
|
||||
"*.glg",
|
||||
"*.glo",
|
||||
"*.gls",
|
||||
"*.ist",
|
||||
"*.fls",
|
||||
"*.log",
|
||||
"*.fdb_latexmk"
|
||||
],
|
||||
}
|
||||
59
Latex/algorithme_and_equation/test.tex
Normal file
59
Latex/algorithme_and_equation/test.tex
Normal file
@@ -0,0 +1,59 @@
|
||||
|
||||
\documentclass[11pt]{article}
|
||||
\usepackage{CJK}
|
||||
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
|
||||
\usepackage{algorithm}
|
||||
\usepackage{algorithmicx}
|
||||
\usepackage{algpseudocode}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\floatname{algorithm}{算法}
|
||||
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
|
||||
\renewcommand{\algorithmicensure}{\textbf{输出:}}
|
||||
|
||||
\begin{document}
|
||||
\begin{CJK*}{UTF8}{gkai}
|
||||
\begin{algorithm}
|
||||
\caption{用归并排序求逆序数}
|
||||
\begin{algorithmic}[1] %每行显示行号
|
||||
\Require $Array$数组,$n$数组大小
|
||||
\Ensure 逆序数
|
||||
\Function {MergerSort}{$Array, left, right$}
|
||||
\State $result \gets 0$
|
||||
\If {$left < right$}
|
||||
\State $middle \gets (left + right) / 2$
|
||||
\State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}
|
||||
\State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}
|
||||
\State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}
|
||||
\EndIf
|
||||
\State \Return{$result$}
|
||||
\EndFunction
|
||||
\State
|
||||
\Function{Merger}{$Array, left, middle, right$}
|
||||
\State $i\gets left$
|
||||
\State $j\gets middle$
|
||||
\State $k\gets 0$
|
||||
\State $result \gets 0$
|
||||
\While{$i<middle$ \textbf{and} $j<right$}
|
||||
\If{$Array[i]<Array[j]$}
|
||||
\State $B[k++]\gets Array[i++]$
|
||||
\Else
|
||||
\State $B[k++] \gets Array[j++]$
|
||||
\State $result \gets result + (middle - i)$
|
||||
\EndIf
|
||||
\EndWhile
|
||||
\While{$i<middle$}
|
||||
\State $B[k++] \gets Array[i++]$
|
||||
\EndWhile
|
||||
\While{$j<right$}
|
||||
\State $B[k++] \gets Array[j++]$
|
||||
\EndWhile
|
||||
\For{$i = 0 \to k-1$}
|
||||
\State $Array[left + i] \gets B[i]$
|
||||
\EndFor
|
||||
\State \Return{$result$}
|
||||
\EndFunction
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
\end{CJK*}
|
||||
\end{document}
|
||||
173
Latex/algorithme_and_equation/zhongqi.tex
Normal file
173
Latex/algorithme_and_equation/zhongqi.tex
Normal file
@@ -0,0 +1,173 @@
|
||||
|
||||
\documentclass[11pt]{article}
|
||||
\usepackage{CJK}
|
||||
\usepackage[top=2cm, bottom=2cm, left=3cm, right=3cm]{geometry}
|
||||
\usepackage{algorithm}
|
||||
\usepackage{algorithmicx}
|
||||
\usepackage{algpseudocode}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\floatname{algorithm}{算法}
|
||||
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
|
||||
\renewcommand{\algorithmicensure}{\textbf{输出:}}
|
||||
|
||||
\begin{document}
|
||||
\begin{CJK*}{UTF8}{gkai}
|
||||
$$
|
||||
hello = f(x)
|
||||
this is
|
||||
$$
|
||||
\renewcommand{\thealgorithm}{1}
|
||||
\begin{algorithm}[H]
|
||||
\caption{联邦平均算法Fedavg}
|
||||
\begin{algorithmic}[1]%每行显示行号
|
||||
\Require{$t,T,k,N,\eta,E,B, w_k^t,$}
|
||||
\Ensure {$w$}
|
||||
|
||||
\Function{ServerAggregate:}{}
|
||||
\For{$t = 0, \cdots , T-1$}
|
||||
\State select $S_t$ from $K$ device\
|
||||
\State send $w^t$ to device
|
||||
\For{client $k\in S_t$}
|
||||
\State $w^k_{t+1} \gets $ ClientUpdate($k,w_t$)
|
||||
\EndFor
|
||||
\State $w_{t+1} \gets \frac{1}{N}\sum_{k=1}^N w_{t+1}^k$
|
||||
\EndFor
|
||||
\EndFunction
|
||||
|
||||
\Function{ClientUpdate:}{$k,w_t$}
|
||||
\State $w_t^k \gets w_t$
|
||||
\For{epoch i from $1 to E$}
|
||||
\For{batch $b \in B$}
|
||||
\State $w_t^k \gets w_t^k - \eta\nabla l(w_t^k,b)$
|
||||
\EndFor
|
||||
\EndFor
|
||||
\EndFunction
|
||||
|
||||
\State return $w_{t}^k$;
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
|
||||
\begin{algorithm}[H]
|
||||
\caption{模型无关的元学习算法MAML}
|
||||
\begin{algorithmic}[1]%每行显示行号
|
||||
\Require{$p(T):$distribution over task}
|
||||
\Ensure {$\alpha,\beta:$step size hyperparameters}
|
||||
\State Randomly initialize $\theta$
|
||||
\While{not done}
|
||||
\State Sample batch of task $T_i\sim p(T)$
|
||||
\For{all $T_i$}
|
||||
\State Evalute $\nabla L_{T_i}(f_\theta)$ respect to $K$ example
|
||||
\State Compute adpated parameters with gradient descent
|
||||
\State $\theta_i' = \theta-\alpha\nabla_\theta L_{T_i}(f_\theta)$
|
||||
\EndFor
|
||||
\State Update $\theta \gets \theta-\beta\nabla_\theta\sum_{T_i\sim p_i}L_{T_i}(f_{\theta_i'})$
|
||||
\EndWhile
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
|
||||
\begin{algorithm}[H]
|
||||
\caption{基于贡献度和元学习的联邦学习算法}
|
||||
\begin{algorithmic}[1]%每行显示行号
|
||||
\Require{$t,T,k,N,\eta,E,B, w_k^t,$}
|
||||
\Ensure {$w$}
|
||||
|
||||
\Function{ServerAggregate:}{}
|
||||
\For{$t = 0, \cdots , T-1$}
|
||||
\State select $S_t$ from $K$ device\
|
||||
\State send $w^t$ to device
|
||||
\For{client $k\in S_t$}
|
||||
\State $w^k_{t+1} \gets $ ClientUpdate($k,w_t$)
|
||||
\EndFor
|
||||
\State $w_{t+1} \gets \sum_{k=1}^N C_k w_{t+1}^k$
|
||||
\EndFor
|
||||
\EndFunction
|
||||
|
||||
\Function{ClientUpdate:}{$k,w_t$}
|
||||
\State $w_t^k \gets w_t$
|
||||
\For{epoch i from $1 to E$}
|
||||
\State $\tilde{w_t^k} \gets w_t^k - \alpha\nabla_w l(w_t^k,D_{support})$
|
||||
\EndFor
|
||||
\State $w_{t+1}^k \gets w_t^k-\beta \nabla_w l(\tilde{w_t^k},D_{query})$
|
||||
\EndFunction
|
||||
|
||||
\State return $w_{t+1}^k$;
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
|
||||
|
||||
\begin{algorithm}[H]
|
||||
\caption{基于差分隐私的联邦学习算法}
|
||||
\begin{algorithmic}[1]%每行显示行号
|
||||
\Require{$t,T,k,N,\alpha,,E epoch,B batch, w_k^t,C$}
|
||||
\Ensure {$w_{t+1}^k$}
|
||||
|
||||
\Function{ServerAggregate:}{}
|
||||
\For{$t = 0, \cdots , T-1$}
|
||||
\State select $S_t$ from $K$ device\
|
||||
\State send $w^t$ to device
|
||||
\For{client $k\in S_t$}
|
||||
\State $w^k_{t+1} \gets $ ClientUpdate($k,w_t$)
|
||||
\EndFor
|
||||
\State $w_{t+1} \gets \sum_{k=1}^N C_k w_{t+1}^k$
|
||||
\EndFor
|
||||
\EndFunction
|
||||
\Function{ClientUpdate:}{$k,w_t$}
|
||||
\State $w_t^k \gets w_t$
|
||||
|
||||
\For{epoch i from $1 to E$}
|
||||
\State Compute gradient $g_t^k(w) \gets \nabla_w l(w_t^k,D)$
|
||||
\State Clip gradient $\overline{g_t^k}(w) \gets g_t^k(w)/max(1,\frac{||g_t^k(w)||_2}{C})$
|
||||
\State Add noise $\tilde{g_t^k}(w)\gets (\overline{g_t^k}(w)+N(0,\sigma^2C^2))$
|
||||
\State Descent $w_t^k \gets w_t^k-\alpha \tilde{g_t^k}(w_t^k)$
|
||||
\EndFor
|
||||
\State $w_{t+1}^k\gets w_t^k$
|
||||
\State return $w_{t+1}^k$;
|
||||
\EndFunction
|
||||
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
\begin{algorithm}
|
||||
\caption{用归并排序求逆序数}
|
||||
\begin{algorithmic}[1] %每行显示行号
|
||||
\Require $Array$数组,$n$数组大小
|
||||
\Ensure 逆序数
|
||||
\Function {MergerSort}{$Array, left, right$}
|
||||
\State $result \gets 0$
|
||||
\If {$left < right$}
|
||||
\State $middle \gets (left + right) / 2$
|
||||
\State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}
|
||||
\State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}
|
||||
\State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}
|
||||
\EndIf
|
||||
\State \Return{$result$}
|
||||
\EndFunction
|
||||
\State
|
||||
\Function{Merger}{$Array, left, middle, right$}
|
||||
\State $i\gets left$
|
||||
\State $j\gets middle$
|
||||
\State $k\gets 0$
|
||||
\State $result \gets 0$
|
||||
\While{$i<middle$ \textbf{and} $j<right$}
|
||||
\If{$Array[i]<Array[j]$}
|
||||
\State $B[k++]\gets Array[i++]$
|
||||
\Else
|
||||
\State $B[k++] \gets Array[j++]$
|
||||
\State $result \gets result + (middle - i)$
|
||||
\EndIf
|
||||
\EndWhile
|
||||
\While{$i<middle$}
|
||||
\State $B[k++] \gets Array[i++]$
|
||||
\EndWhile
|
||||
\While{$j<right$}
|
||||
\State $B[k++] \gets Array[j++]$
|
||||
\EndWhile
|
||||
\For{$i = 0 \to k-1$}
|
||||
\State $Array[left + i] \gets B[i]$
|
||||
\EndFor
|
||||
\State \Return{$result$}
|
||||
\EndFunction
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
\end{CJK*}
|
||||
\end{document}
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
今天(周二)
|
||||
|
||||
* [ ] 阅读他人的中期报告、完成中期报告的架构工作,想好每一部分些什么。
|
||||
* [ ] 阅读自己的开题报告、毕业设计、工作规划。补充每一部分已经完成的成果。
|
||||
* [x] 阅读他人的中期报告、完成中期报告的架构工作,想好每一部分些什么。
|
||||
* [x] 阅读自己的开题报告、毕业设计、工作规划。补充每一部分已经完成的成果。
|
||||
|
||||
|
||||
明天(周三)
|
||||
|
||||
|
||||
* [ ] 查阅相关的算法、技术。对报告内容进行完善。包括完成算法的描述、公式的输入输出和论证、技术的描述(参考学弟的论文)
|
||||
* [ ] 查阅软件设计绘图的资料。画完所有系统图、技术图。设计好系统和技术。
|
||||
|
||||
* [x] 第一轮,填充内容。复制相关的资料、自己的文档,根据其他人中期报告的句式进行修改。
|
||||
* [ ] 第二轮,公式、图片、算法输入完成。查阅相关的算法、技术。对报告内容进行完善。包括完成算法的描述、公式的输入输出和论证、技术的描述。查阅软件设计绘图的资料。画完所有系统图、技术图。设计好系统和技术。
|
||||
* [ ] 第三轮,添加文献引用。
|
||||
* [ ] 第四轮,修改格式。(将当前的问下,分解成两个自文献——中期报告和毕设论文。)
|
||||
|
||||
|
||||
|
||||
|
||||
99
工作日志/2021年8月27日-中期答辩ppt.md
Normal file
99
工作日志/2021年8月27日-中期答辩ppt.md
Normal file
@@ -0,0 +1,99 @@
|
||||
PPT的章节
|
||||
|
||||
# 论文研究计划
|
||||
|
||||
## 选题背景——提出基于联邦学习的恶意软件检测,解决需求
|
||||
|
||||
## 选题背景——存在的问题。在应用过程中存在问题。选题意义——能干嘛?解决问题被。解决问题后能有什么美好的未来。
|
||||
|
||||
## 研究目标——解决应用过程中存在的问题。目标是啥?解决问题呗?量化的解决问题。
|
||||
|
||||
## 研究内容——通过什么方法+什么技术实现研究目标。
|
||||
|
||||
## 研究计划——论文研究计划和完成情况
|
||||
|
||||
|
||||
# 已完成的工作
|
||||
|
||||
|
||||
|
||||
## 国内外研究现状分析
|
||||
|
||||
* 恶意软件的研究现状
|
||||
* 联邦学习应用过程的研究现状
|
||||
|
||||
## 理论基础研究
|
||||
|
||||
* 联邦学习的理论
|
||||
* 元学习的理论
|
||||
* 差分隐私的理论
|
||||
* 非独立同分布的理论
|
||||
|
||||
## 剩下的已完成的工作(人为加一页PPT强制分开)
|
||||
|
||||
* 实现了基于贡献度和元学习的联邦学习框架
|
||||
* 建立了基于差分隐私的联邦学习框架
|
||||
* 实验。验证和部分和实验结果的处理
|
||||
* 完成了系统的设计和系统的部分构件
|
||||
|
||||
# 关键技术和难点
|
||||
|
||||
|
||||
## 数据预处理技术
|
||||
|
||||
* 恶意软件特征提取
|
||||
* 数据非独立同分布的划分
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 基于贡献度和元学习的联邦学习框架
|
||||
* 非独立同分布衡量
|
||||
* 贡献度计算
|
||||
* 联邦元学习算法
|
||||
|
||||
## 基于差分隐私的联邦学习框架
|
||||
|
||||
* 威胁模型
|
||||
* 隐私保护算法
|
||||
* 隐私计算和实验验证
|
||||
|
||||
## 实验结果
|
||||
|
||||
## 基于微服务技术的联邦学习系统
|
||||
|
||||
|
||||
|
||||
# 下一阶段的计划
|
||||
|
||||
## 存在的问题
|
||||
|
||||
## 问题的解决方案
|
||||
|
||||
|
||||
## 时间安排
|
||||
|
||||
|
||||
# 第二版修改意见。
|
||||
1. 将有效内容压缩到15页PPT。总共包括五部分,每一部分两分钟
|
||||
1. 开始3页
|
||||
2. 数据处理 3页
|
||||
3. 算法1 3页
|
||||
4. 算法2 3页
|
||||
5. 系统 3页
|
||||
6. 结尾 1页
|
||||
|
||||
|
||||
2. 为什么、是什么。关键要讲清楚自己的思路,这么做思考的过程,让别人觉得你这样做很合理。
|
||||
1. 为什么提出这样的观点。(服务器端的调整,让他们有共同的方向。客户端的调整,让他们具有更强的泛化性,突出元学习强调各个任务的泛化性)
|
||||
2. 这个观点是什么。(如何计算得到弹性权重,如何将元学习融入到联邦学习中呢)
|
||||
3. 这样做能产生什么样的效果。(这样做产生的效果,弹性圈中,会导致,与大方向相同的权重获得更多的计算效果)
|
||||
4. 通过实验验证这么做的效果。(讲述一下自己复现的别人的算法,每个算法的优缺点,以及实验的设置和实验效果)
|
||||
|
||||
> 对于差分隐私部分也是如此。
|
||||
3. 系统设计上。也是如此。我们考虑到联邦学习落地困难的原因:
|
||||
1. 客户端服务器的协商机制,如何建立通信链接
|
||||
2. 客户端动态参与机制。能够弹性的实现加入与退出,实现服务注册与发现。
|
||||
3. 考虑面对新的训练业务应用场景,提供可扩展化的模块。
|
||||
|
||||
0
工作日志/2021年8月29日-今日计划.md
Normal file
0
工作日志/2021年8月29日-今日计划.md
Normal file
25
工作日志/毕业设计.md
25
工作日志/毕业设计.md
@@ -36,13 +36,22 @@
|
||||
|
||||
> 这里应该是本次研究对比的对象。
|
||||
|
||||
#### 恶意软件检测方法的研究现状
|
||||
|
||||
#### 联邦学习的研究现状
|
||||
|
||||
* 联邦学习与非独立同分布问题
|
||||
* 联邦学习与隐私保护问题
|
||||
* 联邦学习系统构建
|
||||
|
||||
|
||||
1. 恶意软件检测的机器学习和联邦学习方案。
|
||||
2. 当前解决恶意软件数据隐私保护问题的方案——传统的数据隐私保护方法的研究(差分隐私、数据加密)
|
||||
3. 当前解决恶意软件数据无标签问题的方案——恶意软件检测与半监督学习的方案(sephew、基准分类器)
|
||||
4. 当前解决恶意软件数据非独立同分布问题的方案——现有的非独立同分布数据方案(prox?)
|
||||
5. 联邦学习的隐私保护、半监督学习、非独立同分布等开放问题的解决方案。
|
||||
|
||||
### 对比基线
|
||||
#### 对比基线
|
||||
1. 恶意软件检测的机器学习和深度学习研究方案(第一层:针对恶意软件检测**领域**对比)
|
||||
1. 恶意软件检测中数据扩展+隐私保护的研究方案(第二层:针对数据扩展和隐私保护等**需求**的对比)
|
||||
2. 联邦学习的隐私保护、非独立同分布等开放问题的研究方案(第三层:针对隐私泄露问题、非独立同分布**问题**的对比)
|
||||
@@ -64,20 +73,24 @@
|
||||
|
||||
## 第二章:理论基础和相关技术
|
||||
|
||||
### 1 恶意软件检测原理
|
||||
### 1
|
||||
|
||||
|
||||
### 2 数据预处理
|
||||
|
||||
#### 恶意软件特征去提取
|
||||
|
||||
> 恶意软件主要分类、恶意软件主要分类的依据和数学表示(接口、行为?)、恶意软件主要的检测方法利用到的原理。
|
||||
|
||||
|
||||
### 2 恶意软件特征提取技术
|
||||
> 哪些内容能够表现恶意软件
|
||||
|
||||
> 特征提取技术,特征降维方法。动静态特征的提取方法。
|
||||
|
||||
|
||||
* 静态特征的提取
|
||||
* 动态特征的提取
|
||||
* 特征降维方法
|
||||
|
||||
####
|
||||
|
||||
### 3 联邦学习
|
||||
|
||||
> 联邦学习的基础原理。联邦学习的实现方案。联邦学习的分类和数学表示。联邦学习中的开放问题。
|
||||
|
||||
Reference in New Issue
Block a user