- 博客(21)
- 收藏
- 关注
原创 《深入浅出图神经网络》阅读笔记-第3章 卷积神经网络(2)卷积神经网络特点
卷积神经网络有三个特点:局部连接、权值共享、层次化表达1、局部连接卷积计算每次都在于卷积核大小对应的区域进行,所以说输入和输出是局部连接的。这也符合图像的局部相关性。感知野:指特征图上一个输出与多大区域的输入有关。通俗点讲就是卷积操作对多大的区域有计算。2、权值共享在图像中,不同的区域使用的是同一个卷积核,这样可以减少参数量并且带来了平移不变性。平移不变性是指不管输入如何平移,总能够得到相同的输出。同时,池化操作也带来了一些平移不变性。3、层次化表达卷积操作随着卷积层的堆叠,所提
2022-03-24 13:24:30 3100
原创 WALA使用笔记(7)- 调用图
调用图是表示潜在的上下文敏感的调用图,通过方法的逻辑克隆构建。每个调用图节点CGNode都表示在上下文中的方法IMethod.可以使用CallGraph.getNodes(MethodReference m)来获取方法对应的节点。WALA支持一系列的高速算法,与流不敏感的指针分析集成。WALA还可以通过快速类型分析来构建调用图,但是使用并不好。接下来将探究调用图的构建方法:CallGraphTestUtil (com.ibm.wala 1.5.8-SNAPSHOT API)https://wal
2022-03-17 21:00:24 1335 1
原创 WALA使用笔记(6)- 中间表示IR
WALA中间表示是表示特定方法指令的中心数据结构。该中间表示类似于JVM字节码,并通过使用基于SSH寄存器传输语言消除了堆栈抽象。WALA不支持从IR生成代码。通常,分析将建立从 IR 构造到相关分析信息(例如抽象和数据流事实)的各种结构和映射。IR由控制流图、基本块和一系列指令构成。PDFWalaIR类构建了可视化IR的简单示例。代码如下:/* * Copyright (c) 2002 - 2006 IBM Corporation. * All rights reserved. This p
2022-03-17 19:51:23 814
原创 WALA使用笔记(5)- 类层次基础
摘自:UserGuide:ClassHierarchy - WalaWikiClassHierarchy是分析范围内IClasses的集合,分析范围就是上次提到的scope.这个层次和java类的层次结构命名空间类似。ClassHierarchy cha = ClassHierarchyFactory.make(scope);ClassHierarchy结构是可变的,可以使用addClass来添加类。其具体可调用函数链接:com.ibm.wala 1.5.8-SNAPSHOT APIhtt
2022-03-17 19:25:17 705
原创 WALA使用笔记(4)- 分析域、makeJavaBinaryAnalysisScope使用
第一部分:阅读了解AnalysisScope要指定分析的应用程序和库代码。AnalysisSopeReader.makeJavaBinaryAnalysisScope(java.lang.StringclassPath,java.io.FileexclusionsFile), classPath是分析的类路径,exclusionsFile为需要排除类层次结构的写入文件,也可以为null.AnalysisScopeReader.makeJavaBinaryAnalysisScope()http://w..
2022-03-17 19:01:44 1027 2
原创 《深入浅出图神经网络》阅读笔记-第3章 卷积神经网络(2)- AlexNet讲解
参考《深入浅出图神经网络》。AlexNet由5个卷积层、2个池化层、3个全连接层组成。受当时硬件条件的影响,单个GPU无法运行这么大规模的模型,所以分为了两部分。在《深入浅出图神经网络》的介绍中,将两部分合为了一部分介绍。输入:224*224*3大小的图像第一层:卷积层,卷积核大小11*11,输出96个特征图,输入为3个通道,所以卷积核的维度。步长为4,填充padding = 2。因此输出特征图为, 其中,第二层:池化层,最大池化,大小3*3, 步长2, 输出大小为:(55-3)/2 +
2022-03-17 14:10:11 1791
原创 WALA使用笔记(2)- 生成函数调用图
承接上一篇,这里生成函数调用图:import com.ibm.wala.classLoader.IClass;import com.ibm.wala.classLoader.Language;import com.ibm.wala.core.tests.callGraph.CallGraphTestUtil;import com.ibm.wala.core.util.config.AnalysisScopeReader;import com.ibm.wala.core.util.io.File
2022-03-15 22:02:32 846
原创 WALA使用笔记(1)
WALA作为切片工具,具有例如构建函数调用图、切片等多种功能,但是对于新手来说,轻易上手较为困难。最近,我也刚刚接触WALA,希望能在这里写一系列的笔记,能够帮助像我一样的新手入门WALA。第一部分:介绍WALA根据wala中的介绍,wala是用于静态和动态程序分析的Java库。具有鲁棒性、高效和可扩展等优点。在静态分析中的特点有:结合指向分析和函数调用图构造;过程间数据流分析;上下文敏感切片等。这些介绍在其他博客或者官网中都比较多,这里不再赘述。本系列文章着重于WALA的使用。第二部分
2022-03-15 21:45:25 1806
原创 《深入浅出图神经网络》阅读笔记-第2章 图神经网络基础(2)
第2节 神经网络1.单隐层感知机输入层-》一层隐藏层-》输出层计算过程:b为偏置、w为权重向量,f_1、f_2为激活函数2.感知器的信息传递多层感知器也成为前馈神经网络。3.激活函数激活函数的非线性使得神经网络几乎可以任意逼近非线性函数。如果不适用激活函数,无论有多少层,都只是上一层输入的线性组合,表达能力有限。对激活函数的基本要求:连续可导,可允许在少数点上不可导S型激活函数-有界Sigmoid:,将任意大小的输入压缩到0-1之间。应用:二分类最后一层的激活函数;
2022-03-14 13:44:26 3623
原创 WALA 使用与原理学习笔记
GitHub - wala/WALA: T.J. Watson Libraries for Analysis, with frontends for Java, Android, and JavaScript, and may common static program analysesT.J. Watson Libraries for Analysis, with frontends for Java, Android, and JavaScript, and may common static prog
2022-03-09 20:04:46 1503 1
原创 《深入浅出图神经网络》阅读笔记-第2章 图神经网络基础(1)
第1节 机器学习基本概念步骤:提取特征-建立模型-确定损失函数和进行优化求解损失函数:衡量模型输出和标签之间的差异程度,当预测结果与标签值的差异大,则损失函数值增大。部分数学表示:,表示每个样本x_i是一个d维向量,表示x_i所属类别,K为类别的种类数。如果要建立分类模型那么就是需要一个模型:,输入是d维的向量,经过f映射后,输出在每个类别上的概率分别是,这样就可以取概率最大的类别作为结果,即.训练过程其实就是调整f的参数,让损失函数最小。常见的损失函数:平方损失函数:衡量...
2022-03-09 13:19:59 404
原创 Java Map<String, List<String>> 转dot
本文解决的问题是:将图存放如Map<String, List<String>>中后,如何以dot形式输出。可供参考方案:将Map<String, List<String>>对象转化为jgraph对象,然后调用其中的方法导出dot文件。经实测,很多博客或教程所使用的方法可能并不使用于最新版本的jgraph,具体可自行做其他验证。 依照dot文件格式输出Map,并在Graphviz Online中展示导出文件。具体参考代码如下: public
2022-02-26 18:46:41 295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人