![](https://img.haomeiwen.com/i3775272/ac9bcf4d692cd72c.png)
![](https://img.haomeiwen.com/i3775272/6eab796cd3ba75e4.png)
![](https://img.haomeiwen.com/i3775272/392f9faad2d6886f.png)
代码
# 巧用or 当没有max_len(为None)时用后面一个,或者用max_len
max_len = max_len or max(map(len, names))
tf.stack
![](https://img.haomeiwen.com/i3775272/2c47062521ec1edb.png)
tf.transpose # 交换维度
from IPython.display import clear_output
Adversarial
对于对抗样本:
卷积网络对图像的识别的缺陷:下面三个有同样的L2损失。这就使一个熊猫的图片,对每一个像素点作肉眼几乎不可见的微调,会让系统认为其为长臂猿
![](https://img.haomeiwen.com/i3775272/e0e0ed73ead4bd0e.png)
我们需要将第二个和第三个作为对抗样本,让网络学习其为3
![](https://img.haomeiwen.com/i3775272/1d512f203101f229.png)
轻微更改样本的每一个像素点并尝试最大化损失函数,往往就很容易达到人肉眼觉得很相近,网络却给出其他标签的结果。
- 注意 对抗样本处在特定的空间,不是噪声!
如果随机在原样本上添加噪声,网络大概率仍旧识别正确
由于激活函数是分段线性的。网络在样本的特定领域空间可能会欠拟合,划分错误。
对于MNIST数据集,平均一个样本有25个维度会有这样的问题(总共32*32个维度)
![](https://img.haomeiwen.com/i3775272/ee370c6bbd504c7c.png)
对于自然环境下的照片,模型预测的不错。但是对于高斯噪音生成的有些照片,模型也会高确信度预测其为某一类照片
![](https://img.haomeiwen.com/i3775272/d4f3b8d00a83d0d0.png)
![](https://img.haomeiwen.com/i3775272/3a7d45933878e445.png)
![](https://img.haomeiwen.com/i3775272/206bf56082ea9614.png)
对于同样的训练集,用一个模型生成对抗样本让另一个模型来学习
![](https://img.haomeiwen.com/i3775272/4298840df0cddbf3.png)
或者采用非监督学习优化模型
不知道图片标签,但是让原图片与对抗生成图片预测结果一样(数值,MSE……)
![](https://img.haomeiwen.com/i3775272/990ac0933f43ffe9.png)
![](https://img.haomeiwen.com/i3775272/3428afd088f6d627.png)
![](https://img.haomeiwen.com/i3775272/82253dd42d1be35f.png)
两个出口,一个出口用于分类,另一个出口用于判断是否是训练数据(应该让其判断失误,才能保证模型没有过拟合)
![](https://img.haomeiwen.com/i3775272/45469e7b0771f87c.png)
![](https://img.haomeiwen.com/i3775272/6e39dba16c91ff59.png)
![](https://img.haomeiwen.com/i3775272/f8e0c6eb5c2edc3a.png)
![](https://img.haomeiwen.com/i3775272/f6f2522b9a685b6e.png)
网友评论