首页 > 其他分享 >2022-10-27-各种Normallize的区别

2022-10-27-各种Normallize的区别

时间:2023-02-27 19:48:29浏览次数:37  
标签:10 27 compute saliency Normallize 课后 model logits

layout:     post
title:      CS231N-课后思考后笔记
subtitle:   CS231N-课后思考后笔记
description: CS231N-课后思考后笔记
date:       2022-10-26
categories: deeplearning
tags: notes
comments: true

2022-10-26 CS231N-课后思考后笔记

Assigment 1

Assigment 2

Network visualization

1、Saliency Maps

Saliency Maps 即显著图,用于分析图片的哪些pixel对最终结果产生了影响,或者说影响程度
计算方法:
1、计算正确分类的分数
2、然后计算梯度
3、取梯度的绝对值
4、取每个通道的最大值
code :

def compute_saliency_maps(X, y, model):

    """

    Compute a class saliency map using the model for images X and labels y.

  

    Input:

    - X: Input images; Tensor of shape (N, 3, H, W)

    - y: Labels for X; LongTensor of shape (N,)

    - model: A pretrained CNN that will be used to compute the saliency map.

  

    Returns:

    - saliency: A Tensor of shape (N, H, W) giving the saliency maps for the input

    images.

    """

    # Make sure the model is in "test" mode

    model.eval()

  

    # Make input tensor require gradient

    X.requires_grad_()

  

    saliency = None

    ##############################################################################

    # TODO: Implement this function. Perform a forward and backward pass through #

    # the model to compute the gradient of the correct class score with respect  #

    # to each input image. You first want to compute the loss over the correct   #

    # scores (we'll combine losses across a batch by summing), and then compute  #

    # the gradients with a backward pass.                                        #

    ##############################################################################

    # *****START OF YOUR CODE (DO NOT DELETE/MODIFY THIS LINE)*****

    logits = model.forward(X)

    logits = logits.gather(1, y.view(-1, 1)).squeeze() # 得到正确分类

    logits.backward(torch.FloatTensor([1., 1., 1., 1., 1.])) # 只计算正确分类部分的loss

    saliency = abs(X.grad.data) # 返回X的梯度绝对值大小

    saliency, _ = torch.max(saliency, dim=1)

    pass

  

    # *****END OF YOUR CODE (DO NOT DELETE/MODIFY THIS LINE)*****

    ##############################################################################

    #                             END OF YOUR CODE                               #

    ##############################################################################

    return saliency

2、Fooling Images

用一张来自于X的图片、来欺骗模型、使model以为这是Y
实现方法:

\(dX = learning_rate * g / ||g||_2\)

\(X = X+dX\)

3、随机噪声

通过一张随机生成的噪声图片、经过梯度更新、骗过model,认为是某个类别

Assigment 3

Self Supervised Learning

现象:
同样的模型、在通过自监督先学习抽取特征以后,在下游任务上(分类),比train from scratch 的效果要好很多。
思考:
1、模型通过自监督学习、本身已训练了更多的时间、而且是在更大的数据集上做的pretrain,直接比较略有不公
2、重新设置训练的参数、使自监督+fine tune的模型与train from scratch的模型在同样大的数据集上面、使用同样的训练策略、训练同样多的时间

发现自监督 + fine tune比直接训练的效果要好很多,说明前面的对比学习确实使模型学到了更好的特征表达能力

标签:10,27,compute,saliency,Normallize,课后,model,logits
From: https://www.cnblogs.com/cyinen/p/17161608.html

相关文章

  • 2022-10-26-CS231N-课后思考后笔记
    layout:posttitle:CS231N-课后思考后笔记subtitle:CS231N-课后思考后笔记description:CS231N-课后思考后笔记date:2022-10-26categories:deep......
  • 2.27每日总结
    今天是周一,下午有四节软件工程的课。前两节老师给我们讲了讲课。到三四节时出了一道题给我们做。题目要求在一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速......
  • 2.27每日博客
      今天上课讲了关于bug的相关知识,王老师用波音737飞机等案列讲解了bug的危害。此外,上课还测验了英语单词接龙的测试。计算最长英语单词链。一、题目内容:大家经常玩成......
  • 2.27今日总结
    今天下午上了建民老师的软件工程课,让我们从txt文档中弄一个单词接龙,什么都忘了,首先要进行文档的读入和输入文档内容。Filefile=newFile("E://3835.txt");fis=new......
  • 2.27每日总结6
    今天在软件工程下课后利用一个小时的时间进行了java语言中对文件的操作,然后对今天的课堂测试进一步做优化。学习参考网站:Java实例–读取文件内容|菜鸟教程(runoo......
  • 未记录的 笔记 2023-02-27 在豪哥聊天框里面
      这个路径没有在路由表看到既然没有看到就是没有经过数据库 没有经过数据库就是不会进过滤器那2个skil(1L)方法,那么就是手动在后端代码前面加sbgl就行  后......
  • 地址重写了,只是ip 没转发,应该是9999那个才对,rewrite /sbgl/(.*) http://127.0.0.1:
        地址重写了,只是ip 没转发,应该是9999那个才对,rewrite /sbgl/(.*)  http://127.0.0.1:9999/$1 permanent;,这样,http://127.0.0.1:9999,proxy_pass http:......
  • 北京智游科技(爱加密)-渗透测试实习生-2023-02-27
    一、面试问题环节1.先做个简单的自我介绍吧2.sql注入的原理、分类?3.sql注入的绕过?简单讲一些4.ssrf了解吗?能造成哪些危害?对应的用到的协议有哪些?5.提权了解吗?讲一讲Wi......
  • 2-27学习总结
    今天学习了英语单词接龙的代码程序。发现了打代码难的不是代码本身,而是打代码的思路。/**6.6实验:单词接龙*第一阶段:读取txt中简单的9个单词*第二阶段:判断1.如果只有......
  • 2023.2.27课堂测验
    今天在课堂上进行了,《飘》英文的最长单词链的计算。首先,我进行了流程的构思,先进行单词的首尾读取然后进行,第一个单词尾与第二单词的首进行比较。最后进行统计。在课堂......