深度学习模型中的多样性采样与异常值检测
1. 从 PyTorch 隐藏层获取信息
在深度学习模型中,有时我们需要从隐藏层获取 z 值(对数几率,即 logits),这可以帮助我们更好地理解模型的内部工作机制,同时也有助于进行异常值检测。在 PyTorch 中,实现这一目标的代码并不复杂。
1.1 原始前向传播代码
首先,回顾一下第 2 章中用于训练的前馈步骤以及推理时生成置信度和标签预测的代码:
def forward(self, feature_vec):
# Define how data is passed through the model
hidden1 = self.linear1(feature_vec).clamp(min=0) # ReLU
output = self.linear2(hidden1)
return F.log_softmax(output, dim=1)
这个函数定义了数据如何通过模型,并且返回经过 log_softmax 处理后的输出。
1.2 修改代码以返回所有层
为了能够获取隐藏层的信息,我们可以修改 forward 函数,添加一个参数 return_all_layers 来决定是否返回所有层的信息:
def forward(self, fea
超级会员免费看
订阅专栏 解锁全文
684

被折叠的 条评论
为什么被折叠?



