计划说明

This commit is contained in:
estomm
2022-01-05 19:10:54 +08:00
parent 1035d04d82
commit d95a4fab28
12 changed files with 107 additions and 27 deletions

View File

@@ -188,3 +188,16 @@ ps -aux > ps001.txt
输出指定的字段
### tips
常用的两个命令
* 查看所有的进程,以及其静态结构关系。-e是所有-f添加静态关系的列。
```
ps -ef
```
* 查看所有的进程,以及其动态的执行情况。-a该终端的进程、-x非该终端的进程、u显示CPU、memory等信息。
```
ps -aux
```

View File

@@ -10,4 +10,22 @@
## 学习方式
* 看网络教程,做好初步的笔记。然后根据自己感兴趣的方面进行深入。
* 本教程的网络版
* 本教程的网络版
## 关于Linux命令行的是那种风格
* UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符
```
ps -a
```
* BSD 风格,选项可以组合在一起,但是选项前不能有“-”连字符
```
ps a
```
* GNU 风格的长选项,选项前有两个“-”连字符
```
ps --all
```

View File

@@ -1,7 +1,7 @@
## 任务
* [x] 论文阅读Drebin
* [X] 论文阅读Androzoo
* [ ] 论文阅读CIC
* [x] 论文阅读CIC
* [ ] 论文阅读图神经网络

View File

@@ -1,2 +0,0 @@
## 任务
* [ ] 完成第一个工程androguard

View File

@@ -62,15 +62,16 @@
2. 横滑降。使用横滑向山下运动。可以在教小玉的时候使用横滑降。
3. 斜滑降:有一个斜的方向。下陡坡。
4. 一千只脚:单脚横滑。都用山上侧的刃。斜桦或者横滑。
5. 海浪湾:双脚平行,加速减速,像波浪一样。小角度转弯,尝试平行的加减速。平行向下加速,平行垂直滚落线减速
6. J弯更大角度的海浪湾。向下加速更快,垂直滚落线减速的时候,更大角度,朝上。
7. 平行刹车:更大角度的J弯。迅速转换成刹车状态J的收尾动作变成停止称为更小的弯。
8. 冰球刹车,利用平行刹车减速,不需要完全刹停有一点速度,可以继续启动。涉及到双板加压,释放压力的过程
9. C弯/S弯双板平行。平行式的最终版联系。尝试让双腿记住平行式的外侧刃和内测刃感觉
10. 上下分离:横拿雪仗。让上半身保持静止,控制中心的稳定性。下半身的腿部动作,实现方向的转换
11. 压力释放cross over主要练习的是平行双板下**重心的上下分配**。加压的时候,降低重心,引身向下。释放压力的时候,升高重心,向上引申。可以通过冰球刹车练习,甚至可以让双板离地
12. cross under完全通过腿的动作伸腿、曲腿实现加压和释放
13. 点杖:手部力量。这个,根本不用学好吧,
5. 鹤弯:单脚下滑联系,让外侧退承重,抬起内测退
6. 海浪湾:双脚平行,加速减速,像波浪一样。小角度转弯,尝试平行的加减速。平行向下加速,平行垂直滚落线减速
7. J弯:更大角度的海浪湾。向下加速更快,垂直滚落线减速的时候,更大角度,朝上。
8. 平行刹车更大角度的J弯。迅速转换成刹车状态J的收尾动作变成停止称为更小的弯
9. 冰球刹车,利用平行刹车减速,不需要完全刹停有一点速度,可以继续启动。涉及到双板加压,释放压力的过程
10. C弯/S弯双板平行。平行式的最终版联系。尝试让双腿记住平行式的外侧刃和内测刃感觉
11. 上下分离:横拿雪仗。让上半身保持静止,控制中心的稳定性。下半身的腿部动作,实现方向的转换
12. 压力释放cross over主要练习的是平行双板下**重心的上下分配**。加压的时候,降低重心,引身向下。释放压力的时候,升高重心,向上引申。可以通过冰球刹车练习,甚至可以让双板离地
13. cross under完全通过腿的动作伸腿、曲腿实现加压和释放。
14. 点杖:手部力量。这个,根本不用学好吧,

View File

@@ -1,3 +0,0 @@
## 任务
* [ ] 完成第二个工程(学妹)

View File

@@ -1,6 +0,0 @@
## 任务
* [ ] 学习图神经网络
* [ ] 完成第三个工程师兄分享的工程
##

View File

@@ -1,5 +0,0 @@
## 任务
* [ ] 在第三个工程的基础上进行图神经网络的改进
##

View File

@@ -0,0 +1,34 @@
# 入门
## 简介
### 概念
图表示学习即图网络嵌入Network Embedding、图嵌入Graph Embedding用于得到网络中节点的低维、稠密、实值的向量表示该向量表示形式在向量空间中具有表示以及推理的能力可作为机器学习模型的输入进而运用到网络问题领域下的常见任务中如节点关系可视化任务、节点类别检测任务、链路预测以及社交网络发现等任务等。
简单来说,就是将图转换成特征向量。
### 目的
图表示学习是表示学习技术的分支领域表示学习的目的是要得到对数据的广义特征表示如邻接矩阵是对网络结构的表示链表是对列表结构的表示TFIDF 特征是对文本的特征表示。向量表示可以通过多种手法得到,手法区分形式也不同,如最经典的以是否为监督学习进行区分,是否以只进行局部表示学习而区分,以及利用表示学习过程中所采用的方法是否为线性方法而区分。而图表示学习则专注于对图网络的表示,如图 2-8 所示,它能够以更加直观、高效的方式还原原始空间中节点的关系。
![](image/2022-01-04-10-01-00.png)
### 分类
表示学习方法包括四类主流方法:基于矩阵分解的方法、基于随机游走的方
法、基于深度编码器的方法以及基于邻域聚合的方法。
* 基于矩阵分解的方法主要以矩阵分解的方式将原始的𝑛 × 𝑚大小的邻接矩阵降维表示成一个𝑛 × 𝑘大小的矩阵,其中𝑘 ≪ 𝑛典型的有基于谱的图表示学习算法如拉普拉斯特征映射Laplacian Eigenmaaps算法[46],以及基于最优化的图表示学习算法如多维量表算法 MDS[47]等。
* 基于随机游走的方法主要是将 word2vec 方法引入到图表示学习过程,通过在网络随机游走形成大量“语列”信息,再将“语列”使用自然语言处理下的经典方法进行向量表示学习,得到能够体现节点间相互关系的、稠密的向量表示,典型的有 DeepWalk 算法[48]node2vec 算法[49]等。
* 基于深度自编码器[50]的方法主要是使用神经网络来构建图自编码器,从而压缩节点邻居信息,典型如 SDNE 算法[34]。
* 而基于邻域聚合的方法主要是将卷积神经网络中的“卷积”运算拓展到了图网络,通过邻域聚合的方式在不规则的图网络中进行特征聚合,从而得到节点嵌入表示。
基于矩阵分解的方法、基于随机游走的方法和基于深度编码器的方法都具有很大的局限性,它们的学习目标是从一个固定的图中得到节点的嵌入表示,因此旦图结构发生改变或者有新的节点出现,就必须重新训练模型得到节点的嵌入表示。基于邻域聚合的方法属于归纳式学习方法[51],它的学习目标是得到为每个节点产生能够进行嵌入表示的映射函数,所以即使节点之间的边关系发生改变或者有新的节点出现,它都能很快得到节点的嵌入表示而无须重新训练模型。
而恶意软件检测正是一个需要用已知预测未知的问题,给定已知的恶意样本和良性样本的相关行为数据,需要能够基于这些已知的数据去检测未知样本的性质,而未知样本中可能很可能含有未知节点以及在训练样本中未曾出现过的函数调用关系。因此,本文采用了基于邻域聚合的图表示学习方法对函数调用行为进行嵌入表示学习,并将得到的函数节点嵌入表示输入到分类模型进行端到端的训练,从而实现对恶意软件的检测。
![](image/2022-01-04-10-04-46.png)

View File

@@ -0,0 +1,30 @@
# 基于邻域聚合的图表示学习方法
## 概念
基于邻域聚合的图表示学习方法通过聚合本地邻居节点的信息得到当前节点的嵌入表示,该方法与计算机视觉领域中的“卷积”操作类似,因此基于邻域聚合的图表示学习方法也被称为基于卷积的图表示学习方法。基于邻域聚合的图表示学习方法过程如下所示,包括三个步骤:
```
输入:𝐺(𝑉, 𝐸, 𝑥); W𝑡, ∀𝑡 𝜖 [1, 𝑇]
输出:节点嵌入表示𝑧𝜈, ∀𝜈 𝜖 𝑉
初始化 𝜈0 ← 𝑥𝜈, ∀𝜈 𝜖 𝑉
for 𝑡 = 1 to 𝑇 do
for 𝜈 𝜖 𝑉 do
𝑁(𝜈) 𝑡 ← AGGREGATE𝑡({𝑢𝑡1, ∀𝑢 𝜖 𝑁(𝜈)})
𝜈𝑡𝜎 (W𝑡 ∙ COMBINE(𝜈𝑡1, 𝑁(𝜈) 𝑡 ))
end
𝜈𝑡 ← NORMALIZE(𝜈𝑡 , ∀𝜈 𝜖 𝑉)
end
𝑧𝜈𝜈𝑇, ∀𝜈 𝜖 𝑉
```
1. 信息发送。节点𝜈将自身的特征信息进行抽取变换,并发送给邻居节点𝑁(𝜈)。在初始时刻,节点𝜈的自身特征信息ℎ𝜈𝑘即为传入的节点特征𝑥𝜈;在接下来的时刻,节点的特征信息会随着每一轮信息聚合过程而发生改变。
2. 信息聚合。节点𝜈通过信息聚合函数将邻域范围内的邻居节点的特征信息{$_𝑢^{𝑡1}$, ∀𝑢 𝜖 𝑁(𝜈)}聚合起来,从而实现邻域内的结构信息融合。
3. 信息变换。节点𝜈将上个时刻的节点特征𝜈𝑡1与当前聚合到的邻居节点特征 $_{𝑁(v)}^t$结合,并进行非线性变换。
## 算法
基于邻域聚合的思路研究者们提出了大量的图表示学习算法如图卷积神经网络算法GCN[52]、GraphSAGE 算法[51]等,这些算法之间的主要区别在于信息聚合与信息变换所采用的方法不同,如 GraphSAGE 设计了通用的聚合函数框架,支持均值聚合、最大池化聚合与 LSTM 聚合等方法并采用了特征向量拼接的方式进行信息变换GCN 则设计了带权均值聚合函数,并采用了加权求和的方式进行信息变换,但是由于 GCN 依赖于矩阵分解运算,因此 GCN 并不具备和其它基于邻域聚合思路的图表示学习算法的同等程度的泛化能力,一旦网络中有新的节点出现,就必须重新训练模型得到新节点的嵌入表示。

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB