Boosting Adversarial Training with Hypersphere Embedding
2024-10-19 18:22:20
概
在最后一层, 对weight和features都进行normalize有助于加强对抗训练.
主要内容
一般的神经网络可以用下式表示:
\[f(x) = \mathbb{S}(W^Tz + b),
\]
\]
其中\(z=z(x;\omega)\)是encoder部分提取的特征, \(W=(W_1, W_2,\ldots, W_L), b\)分别是最后的权重和偏置, \(\mathbb{S}\)表示softmax.
hypersphere embedding (HE):
\[\widetilde{W}_l = \frac{\widetilde{W}_l}{\|W_l\|}, \widetilde{z} = \frac{z}{\|z\|} \\
\widetilde{f}(x) = \mathbb{S}(\widetilde{W}^T\widetilde{z})=\mathbb{S}(\cos\theta).
\]
\widetilde{f}(x) = \mathbb{S}(\widetilde{W}^T\widetilde{z})=\mathbb{S}(\cos\theta).
\]
进一步添加一些margin:
\[\mathcal{L}_{ce}^m (\widetilde{f}(x), y) = -1_y^T \log \mathbb{S}(s\cdot (\cos\theta -m \cdot \mathbb{1}_y)).
\]
\]
为什么要这么做呢? 作者觉得, 生成对抗样本最有效的途径是旋转角度, 即图中的蓝线. 如果你不限制\(z\)或者\(W\), 那么梯度会同时在模的大小的上下功夫, 这并不高效.
代码
最新文章
- javascript中函数的3个高级技巧
- 读深入了解c++内核对象模型小结(1/3/4)
- Bootstrap – 1.认识
- C++ 文件读取
- 149. Max Points on a Line *HARD* 求点集中在一条直线上的最多点数
- JSP如何在servlet将一个数据模型对象传递给jsp页面
- linux命令(12)uniq去重
- file_get_contents函数和curl函数不能用
- Swift 算法实战之路:基本语法与技巧
- C# 通过扩展WebBrowser捕获网络连接错误信息
- mysql 中文字段排序( UTF8按拼音首字母排序)
- 2017ecjtu-summer training #2 POJ2503
- AngularJS复习------表单验证
- Spring Kafka和Spring Boot整合实现消息发送与消费简单案例
- 【BZOJ1013】【JSOI2008】球形空间产生器 高斯消元
- php算法题
- 初学lua --lua嵌入c++的一个问题(初始化lua出错,版本问题)
- 浅谈EM算法的两个理解角度
- svn忽略文件后缀
- HDU 3068 最长回文 manacher 算法,基本上是O(n)复杂度