hero image

Huahuatii's Blog

Huahuatii tried to set up his own blog to record all his stupid behavior.

project name
project detailed description
link name
link detailed description
book name
Detailed description of the book
article name
Detailed description of the article
friend name
Detailed description of friend
custom item
custom item
Detailed description of this custom item
Page Config

Content before more comment is regarded as page excerpt.


Ms.HopeLess than 1 minuteGuidePage configGuide
SAN

文献阅读(3)SAN

标题:Partial Transfer Learning with Selective Adversarial Networks

清华大学龙明盛团队 2018 年发表在计算机视觉顶级会议 CVPR 上的文章提出了一个选择性迁移网络 (Partial Transfer Learning)。作者认为,在大数据时代,通常我们会有大量的源域数据。这些源域数据比目标域数据,在类别上通常都是丰富的。比如基于 ImageNet训练的图像分类器,必然是针对几千个类别进行的分类。我们实际用的时候,目标域往往只是其中的一部分类别。这样就会带来一个问题:那些只存在于源域中的类别在迁移时,会对迁移结果产生负迁移影响。

这种情况通常来说是非常普遍的。因此,就要求相应的迁移学习方法能够对目标域,选择相似的源域样本 (类别),同时也要避免负迁移。但是目标域通常是没有标签的,不知道和源域中哪个类别更相似。作者指出这个问题叫做 partial transfer learning。这个 partial,就是只迁移源域中那部分和目标域相关的样本。下图展示了部分迁移学习的思想。

image-20230418192557331

作者提出了一个叫做 Selective Adversarial Networks (SAN) [Cao et al., 2017] 的方法来处理 partial transfer 问题。在 partial 问题中,传统的对抗网络不再适用。所以就需要对进行一些修改,使得它能够适用于 partial 问题。因为不知道目标域的标签,也就没办法知道到底是源域中哪些类是目标域的。为了达到这个目的,作者对目标域按照类别分组,把原来的一整个判别器分成了个:,每一个子判别器都对它所在的第 k 个类进行判别。作者观察到了这样的事实:对于每个数据点来说,分类器的预测结果其实是对于整个类别空间的一个概率分布。因此,在进行对抗时,需要考虑每个样本属于每个类别的影响。这个影响就是由概率来刻画。所以作者提出了一个概率权重的判别器:


HuahuatiiAbout 3 min文献阅读ArticleTransfer Learning
DrugBAN

文献阅读

标题:{Interpretable bilinear attention network with domain adaptation improves drug–target prediction}

1 亮点

2 模型示意图

3 实验内容

4 方法

5 代码


HuahuatiiLess than 1 minute文献阅读ArticleTransfer Learning
范数

1 向量范数

1.1 范数定义

  1. 范数0范数

  2. 范数和范数1范数

  3. 范数范数范数范数是使用最为广泛的范数

  4. 范数极大范数


HuahuatiiAbout 2 min深度学习范数
CODE-AE

文献阅读(1)CODE-AE

标题:A context-aware deconfounding autoencoder for robust prediction of personalized clinical drug response from cell-line compound screening**

1 亮点

  1. CODE-AE既可提取不同样本间的共享生物信号,也可以提取它们特有的私有生物信号,从而分离出数据模式之间的混杂因素;
  2. CODE-AE通过将药物反应信号与混杂因素分离,进而实现局部对齐(大多方法只能实现在全局上的对齐)。

HuahuatiiAbout 9 min文献阅读ArticleTransfer Learning
从0开始搭建Auto-Encoder

从0开始搭建Auto-Encoder

搭建Auto-Encoder模型的时候,选择了更加结构化的搭建模式:

  1. 搭建base_ae:这一步用来确定一个ae模型的基本结构会有哪些(其中有部分未必会用到)

1 搭建base_AE模型

  • 初始化
  • 编码函数
  • 解码函数
  • 采样函数
  • 生成函数
  • 前向传播(抽象方法)
  • 损失函数(抽象方法)
'base_ae.py'
from torch import nn
from abc import abstractmethod  # 定义抽象方法
from typing import TypeVar  # 定义数据类新的接口
from typing import List, Any
Tensor = TypeVar('torch.tensor')  # 定义泛型变量,表示一个 PyTorch 的 tensor


class BaseAE(nn.Module):
    def __init__(self) -> None:  # 初始化神经网络模型的各个组件
        super(BaseAE, self).__init__()

    def encode(self, input: Tensor) -> List[Tensor]:  # 定义一个编码过程
        raise NotImplementedError

    def decode(self, input: Tensor) -> List[Tensor]:  # 定义一个解码过程
        raise NotImplementedError

    def sample(self, batch_size: int, current_device: int, **kwargs) -> Tensor:  # 定义一个采样方法
        raise RuntimeWarning()

    def generate(self, x: Tensor, **kwargs) -> Tensor:  # 定义一个生成方法
        raise NotImplementedError
        
    def initialize_weights(self) -> None:  # 定义初始化权重方法
        raise NotImplementedError

    @abstractmethod  # 装饰器,声明下面的方法为抽象方法
    def forward(self, *inputs: Tensor) -> Tensor:  # 定义前向传播过程
        pass

    @abstractmethod
    def loss_function(self, *inputs: Any, **kwargs) -> Tensor:  # 定义损失函数
        pass

HuahuatiiAbout 9 min深度学习搭建模型Deep LearningModel PracticeMLP
Argparse模块

Argparse

1 示例

import argparse  #导入argparse模块

parser = argparse.ArgumentParser(description='argparse learning')  # 创建解析器
parser.add_argument('--integers', type=int, default=0, help='input an integer')  # 添加参数

args = parser.parse_args()  # 解析参数
print(args)

HuahuatiiLess than 1 minutepythonArgparse
Numpy & Pandas技巧

Numpy

np.random.shuffle():改变原始数组的顺序,使得数组中的元素随机打乱,从而实现随机采样等操作。

np.random.shffle()
import numpy as np

# 创建一个一维数组
a = np.array([1, 2, 3, 4, 5])

# 将数组中的元素随机排列
np.random.shuffle(a)

# 打印排列后的数组
print(a)

HuahuatiiAbout 1 min数据处理pythonNumpy
Loss Function

Loss Function分类

1 均方误差(Mean Squared Error, MSE)

MSE(均方误差)损失是机器学习中使用的数学函数,用于衡量预测输出与真实输出之间的平均平方差。它通常用作回归问题的损失函数,目标是预测连续的目标变量。

定义:


HuahuatiiAbout 1 min深度学习损失函数Deep LearningLoss Function
2
3

This is a blog home page demo.

To use this layout, you should set both layout: BlogHome and home: true in the page front matter.

For related configuration docs, please see blog homepageopen in new window.