rush 项目的时候,有些地方可以并行化,可以借助 C++ 的多线程来加速程序的执行。多线程的基本概念在一年前整过了,这里只是来看一下 C++ 的多线程该怎么写,顺便查漏补缺。
花样繁多的GAN
本文字数: 7.6k 阅读时长 ≈ 7 分钟
在做对抗样本的时候,我发现对抗防御和 GAN 在某种程度上很像:
- 对抗防御:内部生成对抗样本攻击分类器,分类器更新参数防御攻击;
- GAN:生成器 $G$ 生成样本欺骗判别器,判别器更新防御 $G$ 的欺骗。
所以说,这俩在某种程度上真的很像,所以决定整理一下 GAN 的知识,开拓一下思路,视频内容来自这里。警告:里面有大量数学公式的推导,而我就不一样了,不仅有公式推导还有代码。
一些对抗样本去噪算法
本文字数: 5.6k 阅读时长 ≈ 5 分钟
忙完了其它的,还是要回归科研做好整理,相当于论文笔记吧。对抗样本去噪算法算是告以段落,或者说叫对抗样本提纯。本文总结了一些近几年的、思路还行结果也还好的对抗样本去噪算法,就相当于写个类似的综述了,注意,并非详解。优缺点仅是个人分析,其实论文读多了或者看了代码,总会有一些想法。包含以下论文:
- Comdefend: An efficient image compression model to defend adversarial examples, CVPR 2019
- Feature denoising for improving adversarial robustness, CVPR 2019
- Defense against adversarial attacks using high-level representation guided denoiser, CVPR 2018
- A Self-supervised Approach for Adversarial Robustness, CVPR 2020
- Denoised Smoothing: A Provable Defense for Pretrained Classifiers, NIPS 2020
- Stochastic Security: Adversarial Defense Using Long-Run Dynamics of Energy-Based Models, ICLR 2021
- Online Adversarial Purification based on Self-Supervision, ICLR 2021
- Adversarial Purification with Score-based Generative Models, ICML 2021
从代码角度理解局部敏感哈希算法
本文字数: 3k 阅读时长 ≈ 3 分钟
因为开发图像检索系统的需要,需要学习局部敏感哈希算法。我在网上看了很多局部敏感哈希算法的讲解,也没有一个能讲清楚的。什么打乱表格、计数 1 最开始出现的索引、minHash 等没啥用的东西把人说的云里雾里。
而如何设计哈希函数、如何把相似内容放到同一个桶中、计算相似度则闭口不谈。所以,关于数学理论推导,本文就不描述了,网上其他博客多的是,本文从代码的角度来理解局部敏感哈希算法,相对更清晰,附 C++
程序实现。
Arch 折腾全记录,彻底告别 Windows
本文字数: 4.1k 阅读时长 ≈ 4 分钟
想来想去,以壮士断腕的决心决定抛弃垃圾 windows
了,实在是 TMD
卡的要死,但是以我电脑的配置,不可能卡的。加上 C
盘的无理由暴增,TMD
空间锐减,加上每次系统动不动更新,每次更新都 TMD
出 bug
直接卡死。我宁肯花一周的时间打造一款我的主力 Arch Linux
,再 TMD
也不向 windows
低头了。以本文记录 Arch Linux
的折腾全记录。
包括:代理、终端、字体、换源更新、软件、甚至是博客迁移等。最重要的是,关于向这个世界的妥协,如何使安装 QQ、微信和 word 等非必要但深入人心的软件。毕竟老板让你微信给他发文件还是很常见的,毕竟老板没手没脚,发一次不接收必须发第 $N$ 次,毕竟他用 LaTeX 也要手动编号。
C++踩坑记录:构造与析构函数
本文字数: 8.6k 阅读时长 ≈ 8 分钟
我是练习时长一年的 C++
个人练习生,喜欢野指针、模板报错和未定义行为(undefined behavior)。之前在写设计模式的『工厂模式』时,一脚踩到了构造、继承和 new
组合起来的坑,现在也有时间来整理一下了。
C++函数进阶:内联、重载和模板
本文字数: 6.4k 阅读时长 ≈ 6 分钟
C++ 细节逐步填坑中,还有几个大坑预计 8 月前结束。普通的函数没啥意思了,本文涉及函数的进阶使用,包括:函数的默认参数、内联函数、函数重载和函数模板。