论文精读2:Training-Free Layout Control with Cross-Attention Guidance
1 Abstract最近基于扩散的生成器可以从文本提示生成高质量的图像。然而,他们经常忽略指定组合空间布局的文本指令。我们提出了一种实现鲁棒布局控制的简单方法,而不需要对图像生成器进行训练或微调。我们的技术操纵模型使用的交叉注意力层来连接文本和视觉信息,并在给定的期望方向上引导生成,例如用户指定的布局。
为了确定如何最好地指导注意力,我们研究了注意力图的作用,并探索两种替代策略:前向和后向指导。我们在三个基准上彻底评估了我们的方法,并对两种策略进行了比较分析,证明了后向引导与前向引导以及先前的工作相比的优越性。我们通过将布局引导扩展到编辑真实图像布局和上下文等应用程序来进一步演示布局引导的通用性。
2 Introduction生成 AI 是过去几年出现的最具创新性的技术之一。在计算机视觉中,新的文本到图像生成方法,如DALL-E[37]、Imagen[43]和Stable Diffusion[39],已经证明机器能够生成足够高质量的图像,用于许多应用,提高专业艺术家和非专业人士的生产力。
然而,尽管取得了这一成功,但图像生成的许多实际应用,特别是在专业环境中,都需要这种方法所缺乏的高 ...
计组面经3:指令系统和CPU
1 指令流水线的基本概念1.1 流水线基本原理流水线技术是一种显著提高指令执行速度与效率的技术。方法是:指令取指完成后,不等该指令执行完毕即可取下一条指令。如果把一条指令的解释过程进一步细分,例如分成取指、译码、访存、执行和写回五个子过程,并用五个子部件分别处理这五个子过程。
这样只需在上一指令的第一子过程处理完毕进入第二子过程处理时,在第一子部件中就开始对第二条指令的第一子过程进行处理。随着时间推移,这种重叠操作最后可达到五个子部件同时对五条指令的子过程进行操作。
1.2 典型的五级流水线的数据通路
1.3 流水线方式的特点与传统的串行执行方式相比,采用流水线方式具有如下特点:
把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来执行,并依靠多个功能部件并行工作来缩短程序的执行时间。
流水线每个功能段部件后面都要有一个缓冲寄存器,或称锁存器,其作用是保存本流水段的执行结果,供给下一流水段使用。
流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。
只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。在 ...
计组面经2:存储系统
1 多级存储系统?为了解决存储系统大容量、高速度和低成本 3 个相互制约的矛盾,在计算机系统中,通常采用多级存储器结构,在图中由上至下,位价越来越低,速度越来越慢,容量越来越大, CPU 访问的频度也越来越低。
实际上,存储系统层次结构主要体现在“Cache-主存”层次和“主存-辅存”层次。前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储系统的容量问题。在存储体系中, Cache 、主存能与 CPU 直接交换信息,辅存则要通过主存与CPU 交换信息;主存与CPU 、Cache 、辅存都能交换信息。
存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。从 CPU 的角度看,”Cache—主存”层次速度接近于Cache,容量和位价却接近千主存。从“主存—辅存”层次分析,其速度按近于主存,容址和位价动接近于辅存。这就解决了速度、容量、成本这三者之间的矛盾。
在“主存—辅存”这一层次的不断发展中,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。对具有虚拟存储器的计算机系统而言,编程时可用的地址空间远大于主存间。
2 半导体随 ...
信息安全实验8:漏洞利用
1 实验环境
操作系统版本:Windows 11 家庭中文版23H2
VMware® Workstation 16 Pro:16.2.3 build-19376536
Metasploitable2虚拟机版本:2.6.24-16-server
Kali虚拟机版本:6.6.9-amd64
2 实验内容2.1 系统信息收集使用命令nmap -sV -P 192.168.160.136是使用Nmap工具进行的一次服务版本探测扫描,扫描结果如图2.1所示。
图2.1 服务及版本侦测
2.2 笑脸漏洞后门利用笑脸漏洞(Smiling Face vulnerability)是一个网络安全术语,用来描述一种特定类型的安全漏洞,通常发生在软件或系统的用户界面(UI)设计中。这种漏洞的本质是,用户界面或提示信息通过图标、符号或文字表达了一种错误的信息或安全状态,导致用户错误地认为系统或应用程序处于安全状态,而实际上存在安全风险。
2.2.1 手动漏洞利用(1)连接目标主机
如图2.2所示,在Kali终端使用ftp协议连接目标主机,输入任意用户名并添加笑脸符号“:)并输入任意密码。
图2.2 ...
计组面经1:计算机系统概述和数据的表示
1 冯诺依曼机和存储程序的概念?冯·诺依曼在研究EDVAC机时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机,其特点如下:
计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5 大部件组成。
指令和数据以同等地位存储在存储器中,并可按地址寻访。
指令和数据均用二进制代码表示。
指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。现代计算机以存储器为中心。
“存储程序”的概念是指将指令以代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
冯诺依曼结构的模型机:
2 计算机的工作过程?计算机的工作过程分为以下三个步骤:
把程序和数据装入主存储器
将源程序转换成可执行文件
从可执行文件的首地址开 ...
信息安全实验7:情报收集
1 实验环境
操作系统版本:Windows 11 家庭中文版23H2
VMware® Workstation 16 Pro:16.2.3 build-19376536
Metasploitable2虚拟机版本:2.6.24-16-server
Kali虚拟机版本:6.6.9-amd64
2 实验内容2.1 系统信息收集2.1.1 whois
图2.1 使用whois命令查询
图2.1所示是从使用whois命令查询到的IP地址范围的结果,具体来说是192.168.0.0到192.168.255.255这个范围,以下是各个字段的解释:
NetRange(网络范围):192.168.0.0~192.168.255.255,表示这个地址范围从192.168.0.0到192.168.255.255,共计65536个IP地址。
CIDR(无类域间路由):192.168.0.0/16,这是用CIDR表示法表示的同样的地址范围,其中/16表示了子网掩码为255.255.0.0。
NetName(网络名称):PRIVATE-ADDRESS-CBLK-RFC1918-IANA ...
信息安全实验6:SQL注入(数字注入)
1 实验环境
操作系统版本:Windows 11 家庭中文版23H2
VMware® Workstation 16 Pro:16.2.3 build-19376536
Metasploitable2虚拟机版本:2.6.24-16-server
Kali虚拟机版本:6.6.9-amd64
2 实验内容2.1 判断注入点与注入类型(1)分别测试输入:1、1”和1’。
图2.1 判断注入类型:输入1
图2.2 判断注入类型:输入1”
图2.3 判断注入类型:输入1’
由图2.1所示,从url可知,页面采用GET方法提交数据。由图2.2和图2.3可知,输入1”和1’后不能正确得到查询结果,所以推测注入类型为数字型注入,同时输入的单引号和双引号均被转义,可以推测数据库为MySQL。
(2)测试输入:2 and 2 = 2和2 or 2 = 2
图2.4 判断注入类型:输入2 and 2 = 2
由图2.4可知,当输入“2 and 2 = 2”时,其中后面的and条件始终成立,所以查询的条件还是前面的1起作用,所以查询的结果即为查询id是1 ...
数据结构面经3:栈、队列和串
1 栈和队列的区别和存储结构1.1 栈定义:只允许在表尾(栈顶)进行插入和删除的线性表,“先进后出”
顺序栈:数组(存放栈中元素)、栈顶指针
链栈:栈顶是一个指针
1.2 队列定义:只允许在表的一端(队尾)插入,在另一端(队首)删除的线性表,“先进先出”
顺序队列:数组(存放队列中元素)、头指针、尾指针
链式队列:队首指针、队尾指针
两个栈模拟一个队列:队列是先进先出,栈的是先进后出。同一组数据连续执行两次先进后出之后再出栈就可以实现队列的先进先出。
2 共享栈利用栈底位置相对不变的特性,让两个顺序栈共享一个一维数组空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸。这样能够更有效的利用存储空间,防止上溢。
3 如何区分循环队列是队空还是队满?一般情况,队空和队满的判断条件都是Q.front == Q.rear,可以使用以下2种方法来进行区分:
(1)方法1:牺牲一个单元(即最后一个单元不存数据)来区分队空和队满
队空:Q.front == Q.rear
队满:(Q.rear + 1) % MaxSize == Q.front
元素个数:(Q.r ...
Diffusion Model
1 Diffusion Model原理1.1 整体实现
首先要生成一个和要生成图片相同大小的杂讯的图,然后每通过一个 Denoise Network 就把噪音过滤掉一些,把这个过程做很多次,就可以得到想要的图片。其中 Denoise 进行的步骤是实现规定好的,对每个 Denoise 分配一个编号,越靠近最终的图片,编号越小。想要的图片其实就在噪音中,只不过把不想要的部分去除,
上述过程称为 reverser process,把同一个 Denoise Model 使用很多次。但是由于每次输入的图片差异较大,因此如果是同一个模型,可能不一定做的很好。
所以这个 model 除了会接收图片的输入,还会接收一个当前这个图片 noise 的程度的输入,1000 代表现在 noise 部分很大,而 1 代表现在噪音占比很小。
1.2 Denoise内部实现
Noise Predicter:预测这张图片中杂讯的分布,先学习加噪,再进行减噪
把Noise Predicter输出预测的杂讯剪掉一开始的输入,就得到去掉部分噪音之后的图片。
为什么要这么设计:因为产生满足噪声分布的数据更简单,因此学习 ...
数据结构面经2:线性表
1 各种线性表1.1 优缺点顺序表
优点:可以随机存取,快;存储密度大
缺点:插入、删除效率低;存储空间固定,分多了浪费,分少了又不足
单链表
优点:插入、删除效率高;空间可动态分配
缺点:不能随机存取,要顺序存取,慢;存储密度不大(有指针域)
静态链表:融合顺序表和单链表的优点,既能快速访问元素,又能快速插入、删除元素
1.2 对比1.2.1 存取(读写)方式顺序表可以顺序存取,也可以随机存取,链表只能从表头顺序存取元素。例如在第i个位置上执行存或取的操作,顺序表仅需一次访问,而链表则需从表头开始依次访问i次。
1.2.2 逻辑结构与物理结构采用顺序存储时,逻辑上相邻的元素,对应的物理存储位置也相邻。而采用链式存储时,逻辑上相邻的元素,物理存储位置则不一定相邻,对应的逻辑关系是通过指针链接来表示的。
1.2.3 查找、插入和删除操作对于按值查找,顺序表无序时,两者的时间复杂度均为$O(n)$;顺序表有序时,可采用折半查找,此
时的时间复杂度为$O(log_2n)$ 。
对于按序号查找,顺序表支持随机访问,时间复杂度仅为$O(1)$, 而链表的平均时间复杂度为$O(n)$ 。 ...