0%

Task2.2 实验报告 超参调优 NNI支持通过配置搜索空间自定义搜索结构,不仅能够运用SOTA的高效率算法进行自动超参调优,更能够在多个模型与超参中选择出性能更优的组合,从而提高模型准确率。 搜索空间配置文件如下: 1 2 3 4 5 { "lr":{"_type":"choice", "_value":[0.01, 0.001]}, "optimizer":{"_type":"choice", "_value":["Adadelta", "Adagrad", "Adam", "Adamax"]}, "model":{"_type":"choice", "_
Read more »

Task 3 进阶任务 特征工程简介 有这么一句话在业界广泛流传: 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。 数据是特征的来源,特征是给定算法下模型精确度的最大决定因素,可见提升特征质量意义重大。 特征工程(Feature Engineering)是机器学习的一个重要分支,指的是通过多种数据处理方法,从原始数据提取出若干个能优秀反映问题的特征,以提升最终算法与模型准确率的过程。 自动特征工程 自动特征工程是一种新技术,是机器学习发展的一大步。自动特征工程能够在降低时间成本的同时,生成更优秀的特征,从而构建出准确率更高的模型。 利用NNI的自动特征工程实现,我
Read more »

定义 特征的定义 feature就是从数据中提取出来的有用的属性。 特征工程的定义 特征工程(Feature Engineering)是机器学习中的一个重要分支,指的是通过运用多种数据处理方法,将把原始数据转化成更好的特征的过程。 特征有优劣之分,更好的特征更适合机器学习,意味着能够训练出更好的结果。 特征处理 去除异常数据 特征清洗即在数据中去除异常数据。常见的去除异常数据方式可以基于简单统计方法借助$3\delta$原则来去除,也可以用KNN算法等内容来处理。 处理缺失数据 拿数据来训练自然需要各类数据数量较均匀,有缺失会对模型准确度造成影响。 至于如何处理缺失数据,有几个原则:
Read more »

Definition of Convolution Neural Network Definition in Discrete Mathematics: Two-dimensional Definition(I: image, K: kernal, cross-correlation): However, our convolution here does not reverse kernal, which means actually: Without reversed kernal, the operation is exactly the matrix dot multiplica
Read more »

未完成任务 Task 2.2 -[] HPO -[] 在搜索空间中选择随机结构,并验证性能 -[] NAS Task 3.1 -[] 跑通NNI Feature Engineering Sample Task 3.2 Task 3.2.1 Task 3.2.2 Task 4 HPO 超参调优在NNI中比较好实现,只要有参数和模型的搜索空间,就可以利用NNI自带的tuner来做调参工作。 Assessor 在数据量较大的情况下,一般一个trial普遍会比较久,NNI支持Assessor,实现在调优过程中类似“剪枝”的功能,提供了提前终止某些trial的策略以节省实验时间。 需要添加ass
Read more »

axb_2019_fmt32 32位格式化字符串漏洞,有几个特点需要注意: 1. 测偏移的时候会发现没有完整四位四位的偏移,此时需要在最开始多补一位,这样保证后面都是从8的偏移开始。 2. 用格式化字符串漏洞泄露libc的时候用%s,然后第一个4位是got.plt表上的地址,第二个4位才是真正的地址。 3. fmtstr_payload填了四个参数,其中注意numbwritten参数,意思是格式化字符串中前面已有的字符数。0xa就是Repeater:A的位数。 4. 最后劫持了printf的got表,填个分号做命令分割,就直接拿shell了。 1 2 3 4 5 6 7 8 9 1
Read more »

今天顺带把attack lab做完了,算是小小地复习了下栈溢出和ROP吧。 使用方法 最开始我甚至都不知道这个lab要怎么开始做起,跑都跑不起来 hex2raw读入以空格作为分隔的一个个字节,编码成一个个机器码。就跟pwntools里面的u32、u64差不多的作用。不然直接输入是没有用的。 直接运行ctarget或rtarget会没办法运行,报了个Running on an illegal host的错误。 我们加个-q的参数就能跑了。或者-i然后加上文件名,从文件里读入。 运行的方法是这样: 1 2 $ ./hex2raw < levelx.txt | ./ctarget -
Read more »

学了好几天的堆,今晚把已经看过的堆的知识记录一下。 什么是堆 系统用堆(Heap)来动态管理内存,堆从低地址向高地址生长。 一直听到堆栈的说法,其实堆跟栈区别真的很大的好吧:比如栈从高地址向低地址生长,内存较为固定,地址一直是0x7ffff...开头的,不能跟堆混为一谈吧。 堆的实现就是时间与空间达到权衡(trade off)的生动案例。后面我们会体会到。 堆想要效率高,就应该提高单次分配和释放的速率,同时也要减少内存空间利用的碎片化。 glibc中堆的管理器是ptmalloc2。我们在pwn学堆的时候,就学习ptmalloc2的堆管理。 堆的两个C语言高级函数 在C++里面是ne
Read more »

手撕shellcode 最后的结果是: 1 \x31\xc0\x50\x68\x66\x69\x6c\x65\x68\x74\x65\x73\x74\x89\xe3\x50\x53\x31\xc9\xb1\x02\xb0\x05\xcd\x80\x89\xc3\x31\xc0\x50\x68\x6f\x72\x6c\x64\x68\x6f\x2c\x20\x77\x68\x68\x65\x6c\x6c\x89\xe1\x50\x51\x31\xd2\xb2\x0c\xb0\x04\xcd\x80\x31\xdb\x31\xc0\xb0\x01\xcd\x80 最初的思路 查了很久资料
Read more »

ciscn_2019_ne_5 傻了傻了,居然没想到用ROPgadget来找字符串,而只是在IDA Pro中看了而已。 system函数已经在Print函数中给出来了。只要有一个/bin/sh就够了。 但是这样也不准确,只需要sh就可以了。 以后找字符串的时候,直接用ROPgadget,不只能找gadget好吧。。。 1 2 3 4 ➜ ciscn_2019_ne_5 ROPgadget --binary pwn --string 'sh' Strings information ===================================================
Read more »