生物信息学反卷积论文阅读

article/2025/9/19 22:33:12

文章目录

    • 反卷积的概念
    • 反卷积的具体方式
      • 反卷积预测RNA序列
        • 知识背景
        • 公式推导
      • 亚硫酸氢盐测序
        • 知识背景
        • 公式推导
    • R包的使用
      • RNA测序数据分析
      • 使用亚硫酸氢盐数据进行测序

反卷积的概念

由于许多组织样本不适合分解成单个细胞,因此不能利用单细胞RNA测序技术对它们的单个细胞进行测序。但是对于整个组织进行RNA测序是很容易的事情,而反卷积所做的就是由整体来探测局部,从而获知整个组织中的细胞类型,比如说了解实体肿瘤的特异性免疫细胞组成等等。

反卷积的具体方式

反卷积预测RNA序列

由于测序数据具有异方差性(对于不同的组织其线性模型中干扰项的方差不同)和呈离散分布的特性,因此线性模型不适合于进行预测。

负二项分布是统计学上一种描述在一系列独立同分布的伯努利试验中,失败次数到达指定次数(记为r)时成功次数的离散概率分布。

我们使用负二项模型来解释RNAseq数据中的二次均值 - 方差关系,并使用基因特异性方差估计。

知识背景

载体(Vector)

指在基因工程重组DNA技术中将DNA片段(目的基因)转移至受体细胞的一种能自我复制的DNA分子。三种最常用的载体是细菌质粒、噬菌体和动植物病毒。

基因文库

主要有两种基因文库:基因组文库和cDNA文库。

基因组文库:一个生物体的基因组DNA用限制性核酸内切酶部分酶切后,将酶切片段插入到载体DNA分子中,所有这些插入了基因组DNA片段的载体分子的集合体,将包含这个生物体的整个基因组,也就是构成了这个生物体的基因文库。

cDNA文库:是指某生物某发育时期所转录的全部 mRNA 经反转录形成的cDNA片段与某种载体连接而形成的克隆的集合体。

负二项分布

所有到失败r次时即终止的独立试验中,成功次数k的分布,在每次试验中,成功的概率为p,失败的概率为(1-p)。

  • 均值:

μ = r 1 − p p \mu = r\frac{1-p}{p} μ=rp1p

  • 方差:

σ 2 = r 1 − p p 2 = μ p \sigma^2 = r\frac{1-p}{p^{2}} = \frac{\mu}{p} σ2=rp21p=pμ

  • α:

α = 1 − p p \alpha = \frac{1-p}{p} α=p1p

  • 离散参数

    是指一个分布压缩和拉伸的程度,r越小,分布越集中,离散参数越大:
    k = 1 r k = \frac{1}{r} k=r1

  • 引入离散参数和α的方差:
    α = μ ∗ k , σ 2 = α ( 1 + α ) k = μ + μ 2 ∗ k \alpha = \mu*k, \sigma^2 = \frac{\alpha(1+\alpha)}{k} = \mu + \mu^2*k α=μk,σ2=kα(1+α)=μ+μ2k

测序片段计数矩阵(Count Matrix)

第一列是样本名称,之后依次是对应不同基因组的技术,计数即每个样品中映射到每个感兴趣的基因组特征上的reads数目。

TMM

TMM,DESeq的前提假设都是大多数基因的表达是没有差异的,然后,基于这个假设根据均值,或者中值,比例等提出一个标准化的因子进行标准化。对于TMM这种方法,比例的计算是根据每次测序的数据和参考数据(libsize)进行比较。

分析模块,采用edgeR的TMM(trimmed mean of M-values)方法对测序片段计数矩阵(Count Matrix)进行标准化处理。   如果不提供基因的长度信息文件,将只进行TMM标准化处理。果提供基因的长度信息文件,将使用TMM方法将Count数据转换为FPKM数据,输出FPKM矩阵。

输入:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
null model

零模型,也就是所有变量之间不相关的模型,或者可以说是没有引入协变量的模型。

协变量

我想知道温度对于降水量的影响,但是海拔高度、经纬度、当地湿度等变量也会影响降水量。

那么,在我的研究中,温度F检验(ANOVA)就是自变量,降水量是应变量,而海拔高度、经纬度和当地湿度就是协变量。

F检验(ANOVA)

F分布是两个卡方分布(具有不同的自由度)的比值。
方差分析(ANOVA),又叫F检验,简单来说,就是求得F统计量(组间方差/组内方差),然后查F表,如果大于临界值(一般是0.05显著性水平下)则拒绝原假设,即组间具有显著性的差异。

F统计量 = 组间方差/组内方差

这里的方差等于平方和除以自由度,组间的自由度为(组数-1),组内自由度为组数*(样本量-1),此样本量可以不一样,所以方差分析各组的样本量可以不一样;

实际中我们的主要问题是看组间是否有差异,ANOVA告诉我们组间的差异不仅要看组间的波动,还要看组内的波动,如果组内波动太大的话,很可能不存在差异,只是组内的数据乱而已,当然组间的波动越大,则组间的差异越大。

Replicate

在生物科学中,复制品是正在分析的样品的精确副本,例如细胞,生物体或分子,在其上完成相同的程序。这通常是为了检查实验或程序错误。在没有错误的情况下,重复应该产生相同的结果。然而,重复不是假设的独立测试,因为它们仍然是相同的样本,因此不测试样本之间的变化。

技术重复:同一个样本,重复三次。此时样本量=1

在这里插入图片描述

生物重复:取多个样本,进行多次实验。此时样本量=3

在这里插入图片描述

细胞周期

细胞周期(cell cycle)是指细胞从一次分裂完成开始到下一次分裂结束所经历的全过程,分为间期与分裂期两个阶段。间期又分为三期、即DNA合成前期(G1期)、DNA合成期(S期)与DNA合成后期(G2期)。

  • G1期(first gap) 从有丝分裂到DNA复制前的一段时期,又称合成前期,此期主要合成RNA和核糖体。该期特点是物质代谢活跃,迅速合成RNA和蛋白质,细胞体积显著增大。这一期的主要意义在于为下阶段S期的DNA复制作好物质和能量的准备。
  • S期(synthesis) 即DNA合成期,在此期,除了合成DNA外,同时还要合成组蛋白。DNA复制所需要的酶都在这一时期合成。
  • G2期(second gap)DNA合成后期,是有丝分裂的准备期。在这一时期,DNA合成终止,大量合成RNA及蛋白质,包括微管蛋白和促成熟因子等。

基因标识符

Entrze ID是美国NCBI数据库中的基因标识符,通常是由纯数字表示,比如人类TP53基因的Entrze ID是7157(注意,不同物种的基因ID是不同的);ensembl ID是欧洲生物信息数据库的基因标识符,都是以ENSG(ensembl gene)四个大写字母开始,后面跟着11位数字,所以ensembl ID的长度通常都是15位,比如人类TP53基因的ensembl ID是ENSG00000141510,值得注意的是ensembl ID不仅包含了两万多个蛋白质编码基因,同样也有很多的假基因、miRNA等,因此它的数量较多,有六万多个,比人类已知的基因数多得多;HGNC ID 是指由人类基因命名委员会(HUGO Gene Nomenclature Committee)指定的基因标识符,该委员会通常对基因赋予一个名字以及一个ID,比如人类TP53基因,其标准的symbol是TP53(相当于简称),标准的名称是tumor protein p53,HGNC ID 是11998。Refseq是美国NCBI提供的基因标准序列(参考序列)数据库,在该数据库中,人类TP53基因的ID是NG_017013。

公式推导

k表示基因,其取值由1变化到m;h代表细胞样本数,其取值由1变化到n0;j代表每个样本内的细胞类型,其取值从1变化到d0;令Nh代表基因文库的大小;λhk代表样本h的reads里面能够映射到基因k的比例的期望值;w0hj代表样本h中的细胞类型j,需要注意的是,由于每个细胞样本中只包含一种细胞类型,因此对于某一个h,假设包含j*类型的细胞,则w0hj*=1,而对取其它值的j都为0;令log函数为负二项分布的链接函数,用g表示;令B0是个计数矩阵,行为细胞类型,列为基因的读数,那么B0jk表示细胞类型j包含的基因k的片段长度。

令:

在这里插入图片描述

个人感觉上述公式计算的是样本h中基因k的长度的期望值。

在这里插入图片描述

对于负二项分布,令φ0k为离散参数,而μ0hk可以看做是期望值,其方差满足:

在这里插入图片描述

如果样本并不是全部样本,而是从1取到n1,令z1ij是样本i的协方差,有:

在这里插入图片描述
类似的,方差计算公式是:

在这里插入图片描述

其中,φ0k可以通过软件算出来。

定义样本h的samplewise offset为αh,计算公式为log(Mh),其中Mh为样本h经过TMM处理之后的library size。设D0是null model的方差,而Df是full model的方差,F是F统计量。

在这里插入图片描述
在这里插入图片描述

根据F统计量的大小,选取原始B0中的top r组基因,组成一个更小的新矩阵,称之为B0~,那么对于样本i,假设xji是其包含细胞类型j的比例,有:

在这里插入图片描述
在这里插入图片描述

接下来计算Xi的对数极大似然,f是负二项分布的函数:

在这里插入图片描述

亚硫酸氢盐测序

由于数据里的标准定量采用的是甲基化的碱基比例的形式,因此要使用Logit函数做预处理。同时,统计检验量更改为对数似然比,而不是F统计量。

选取一定的特征来构建投影矩阵

知识背景

亚硫酸盐定序

亚硫酸盐定序是一种利用亚硫酸盐处理,测定DNA甲基化情形的方法。DNA甲基化是最早被发现的表观遗传标记,也是被研究最为深入的表观遗传改变。原理在于亚硫酸盐可使DNA上的胞嘧啶(C)转变为尿嘧啶(U),同时已受甲基化的5-甲基胞嘧啶则不受影响。如此一来,就可以使实验者得知DNA序列上甲基化的情形。 对动物而言,DNA甲基化主要是指对CpG位点中胞嘧啶的五号碳上增加一个甲基的过程。DNA位点的甲基化可能对该基因的转录活性起到抑制作用。

对数似然比检验

似然比检验的思想是:如果参数约束是有效的,那么加上这样的约束不应该引起似然函数最大值的大幅度降低。也就是说似然比检验的实质是在比较有约束条件下的似然函数最大值与无约束条件下似然函数最大值。

甲基化

NA甲基化是最早发现的修饰途径之一,可能存在于所有高等生物中。DNA甲基化导致某些区域DNA构象变化,从而影响了蛋白质与DNA的相互作用,抑制了转录因子与启动区DNA的结合效率,能关闭某些基因的活性,去甲基化则诱导了基因的重新活化和表达。DNA甲基化的主要形式为5-甲基胞嘧啶,N6-甲基腺嘌呤和7-甲基鸟嘌呤。在真核生物中,5-甲基胞嘧啶主要出现在CpG和CpXpG中,原核生物中CCA/TGG和GATC也常被甲基化;没有甲基化的胞嘧啶发生脱氨基作用,就可能被氧化成为U,被DNA修复系统所识别和切除,恢复成C;已经甲基化的胞嘧啶发生脱氨基作用, 它就变为T, 无法被区分。因此, CpG序列极易丢失,甲基化胞嘧啶极易在进化中丢失,所以,高等真核生物中CG序列远远低于其理论值;哺乳类基因组中约存在4万个CG islands,大多位于转录单元的5’区。

CpG位点

CpG位点是指DNA的某个区域,其上的碱基序列以胞嘧啶接着鸟嘌呤出现。“CpG”是“—C—磷酸—G—”的缩写,指磷酸二酯键连接了胞嘧啶和鸟嘌呤,其中C位于5’端而G位于3’端。 在CpG位点中的胞嘧啶可以被甲基化为5-甲基胞嘧啶。

公式推导

令Y0hk和Y1ik代表甲基化比例,对数似然比检验公式为:

在这里插入图片描述

对数似然函数

在这里插入图片描述

在这里插入图片描述

R包的使用

RNA测序数据分析

  • 读取deconvSeq包中提供的两个单个样本的计数文件,并将它们组合成一个count matrix。

    file1 = system.file("extdata","sample1_genecounts.txt", package="deconvSeq")
    file2 = system.file("extdata","sample2_genecounts.txt", package="deconvSeq")
    countmat = getrnamat(filnames=c(file1,file2),sample.id=c("sample1","sample2"))
    

在这里插入图片描述

  • 从data_celltypes_rnaseq中加载单个细胞类型的数据,其中包括cnts.celltypes,每种细胞类型的计数矩阵;针对cnts.celltypes的设计矩阵design.rnaseqdge.celltypescnts.celltypes对应的dgelist对象;sample.id.rnaseq是列的名字。

    data("data_celltypes_rnaseq") 
    
    • cnts.celltypes

      500个基因,64种细胞类型,具体的数值是细胞类型包含的基因的长度。

在这里插入图片描述
在这里插入图片描述

  • design.rnaseq

    4个组织样本,每个组织样本对应包含64种细胞类型中的若干种,具体的数值是包含为1,不包含为0。并且每个细胞只会在每个样本中出现一次。

在这里插入图片描述
在这里插入图片描述

  • dge.celltypes

    跟cnts.celltypes差不多,多了一些补充的数据,比如每种细胞类型的library size。

在这里插入图片描述

  • sample.id.rnaseq

    就是64种细胞类型的名称

在这里插入图片描述

  • dge.celltypes的计算过程

    dge.celltypes = getdge(cnts.celltypes, design.rnaseq, ncpm.min=1, nsamp.min=4)
    
  • 计算投影矩阵b0,如果有一组预定的特征基因,可以在中指定sigg。默认sigg值为NULL。

    set.seed(1234)
    b0 = getb0.rnaseq(dge.celltypes, design.rnaseq, ncpm.min=1, nsamp.min=4, sigg=NULL)
    

在这里插入图片描述

  • 根据F统计量,选取top 50组基因构成签名集也就是预测细胞类型时所使用的特征基因。

    resultx1 = getx1.rnaseq(NB0=50,b0,dge.celltypes)
    

在这里插入图片描述
在这里插入图片描述
注意到每一行的和都是1,因此第x行y列的数值对应的生物学含义应该是第y个样本包含第x种细胞类型的概率。

  • 计算相关系数

x2 = as.data.frame(design.rnaseq,row.names=sample.id.rnaseq)
cr = getcorr(resultx1$x1,x2)
plot(cr, ylim=c(0,1), ylab=“Correlation”)


相关系数是按行计算的,因此最终结果是长为64的向量。![在这里插入图片描述](https://img-blog.csdnimg.cn/2019080719273919.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190807192748615.png)### 实际单细胞RNA测序分析- 加载数据```R
data("data_scrnaseq") 
  • cnts.scrnaseq是一个计数矩阵,列指的是基因类型,行指的是两种细胞类型的若干样本。prep_scrnaseq用于对rnaseq进行质量控制,genenametype参数用于指定基因名字的类型,cellcycle表示细胞周期,count.threshold表示要过滤掉的数据的平均读数的阈值

    cnts.sc = prep_scrnaseq(cnts.scrnaseq, genenametype = "hgnc_symbol",cellcycle=NULL,count.threshold=0.05)
    

在这里插入图片描述

基因和细胞都有被过滤的,细胞基因表达数过少或基因丰度过低都是剔除条件。

  • 过滤细胞周期阶段“G1”

    cnts.sc.G1 = getcellcycle(cnts.sc,"G1")
    

在这里插入图片描述

可以看到这次只对细胞进行了过滤。

  • 等量从HuTreg和HuTconv这两种细胞类型中选择数据,将数据划分为训练集和验证集。design.sc意在揭示组织样本和细胞类型之间的关系。

    cnts.sc.G1.train = cnts.sc.G1[,c(which(substr(colnames(cnts.sc.G1),3,6)=="Tcon")[1:250],which(substr(colnames(cnts.sc.G1),3,6)=="Treg")[1:150])]
    cnts.sc.G1.valid = cnts.sc.G1[,-which(colnames(cnts.sc.G1) %in% colnames(cnts.sc.G1.train))]
    tissue.sc = substr(colnames(cnts.sc.G1.train),3,6)
    names(tissue.sc) = colnames(cnts.sc.G1.train)
    sample.id.sc = colnames(cnts.sc.G1.train)
    design.sc = model.matrix(~-1+as.factor(tissue.sc))
    colnames(design.sc) = levels(as.factor(tissue.sc))
    rownames(design.sc) = names(tissue.sc)
    design.sc = design.sc[colnames(cnts.sc.G1.train),]
    

在这里插入图片描述在这里插入图片描述

  • 从计数矩阵cnts.sc.G1.train,获取DGEList对象dge.sc,和投影矩阵b0.sc
dge.sc = getdge(cnts.sc.G1.train,design.sc,ncpm.min=1, nsamp.min=4, method="bin.loess")
b0.sc = getb0.rnaseq(dge.sc, design.sc, ncpm.min=1, nsamp.min=4)
  • 将投影矩阵应用于验证集cnts.sc.G1.valid
tissue_s.sc = substr(colnames(cnts.sc.G1.valid),3,6)
names(tissue_s.sc) = colnames(cnts.sc.G1.valid)
sample.id_s.sc = colnames(cnts.sc.G1.valid)
design_s.sc = model.matrix(~-1+as.factor(tissue_s.sc))
colnames(design_s.sc) = levels(as.factor(tissue_s.sc))
rownames(design_s.sc) = names(tissue_s.sc)
design_s.sc = design_s.sc[colnames(cnts.sc.G1.valid),]
dge_s.sc = getdge(cnts.sc.G1.valid, design_s.sc, ncpm.min=1, nsamp.min=4, method="bin.loess")
resultx1_s.sc = getx1.rnaseq(NB0=1500,b0.sc, dge_s.sc)
  • 检查预测结果与实际细胞类型的相关性。
x2 = as.data.frame(design_s.sc,row.names=sample.id_s.sc)
sc = getcorr(resultx1_s.sc$x1,x2)
getmeancorr(sc)

在这里插入图片描述

使用亚硫酸氢盐数据进行测序

  • 加载样本数据,获取甲基化矩阵

    file1 = system.file("extdata","sample1_methratio.txt", package="deconvSeq")
    file2 = system.file("extdata","sample2_methratio.txt", package="deconvSeq")
    methmat = getmethmat(filnames=c(file1,file2), sample.id=c("sample1","sample2"))
    

在这里插入图片描述在这里插入图片描述

第一列表示cpg测序位点

chr列表示DNA位于哪个染色体上

strand为”-“,表示CpG在负链上;为”+”,表示CpG在正链上

numCs为C出现的次数,后面的数字应该表示的是细胞类型,共24种

numTs为T出现的次数

coverage列指的是,覆盖度 ,可以理解成是C和T的总数,而且coverage确实是这两者之和。因为亚硫酸氢钠处理后, 正常的C会转成T,甲基化的C不改变,所以用numCs除以coverage,就可以得到该位点发生甲基化的概率

  • 加载data_celltypes_rrbs单个细胞类型(T细胞,B细胞,单核细胞,粒细胞)的实例数据。这包括celltypes.rrbs,数据中的细胞类型;design.rrbs,设计矩阵;methmat,甲基化矩阵;sample.id.rrbs,样本ID。

    data("data_celltypes_rrbs") 
    
    • celltypes.rrbs

在这里插入图片描述

  • design.rrbs

在这里插入图片描述
24个样本,每个样本包含一种细胞

  • sample.id.rrbs,24个样本的id

在这里插入图片描述

  • 计算投影矩阵b0。可以指定预定的签名CpG集sigg。默认为siggNULL。

    set.seed(1234)
    b0 = getb0.biseq(methmat, design.rrbs, sigg=NULL)
    

在这里插入图片描述

在这里插入图片描述

- β值=来自甲基化珠粒类型的强度值/(来自甲基化的强度值+来自未甲基化珠粒类型的强度值+ 100)
- p值大于0.01的β值被认为低于最小强度,阈值显示为“NA”

在这里插入图片描述

  • mean.meth.diff:甲基化平均差异程度

  • 根据F统计量,选取top 250组cpg构成签名集也就是预测细胞类型时所使用的特征cpg。

    resultx1 = getx1.biseq(NB0=250,b0,methmat,sample.id.rrbs,celltypes.rrbs)
    

在这里插入图片描述

  • 将预测结果与实际细胞类型x2进行比较

    x2 = as.data.frame(design.rrbs,row.names=sample.id.rrbs)
    cr=getcorr(resultx1$x1,x2)
    plot(cr, ylim=c(0,1), ylab="Correlation")
    

在这里插入图片描述

  • 加载整个组织样本的数据data_tissue_rrbs。这包括methmat.tissue,全血的甲基化矩阵;sample.id.tissue,样品ID;cbc.rrbs,实际细胞组成的矩阵。

    data("data_tissue_rrbs")
    
    • methmat.tissue

在这里插入图片描述

在这里插入图片描述

共35个样本
  • sample.id.tissue

在这里插入图片描述

  • cbc.rrbs,细胞类型分别为淋巴细胞,单核细胞,中性粒细胞

在这里插入图片描述

  • 使用来自投影矩阵的250个特征CpG b0,我们计算整个组织样本的预测细胞类型resultx1.tissue

    resultx1.tissue = getx1.biseq(NB0=250,b0,methmat.tissue,sample.id.tissue,celltypes.rrbs)
    

在这里插入图片描述

  • 把预测的细胞类型混合物与组织样品的已知细胞类型混合物进行比较。(注意到淋巴细胞等于T细胞+B细胞)

    x1 = cbind(lymph=resultx1.tissue$x1[,1]+resultx1.tissue$x1[,2], mono = resultx1.tissue$x1[,3], gran = resultx1.tissue$x1[,4])
    x2 = as.matrix(cbc.rrbs/100)
    cr = getcorr(x1,x2)
    plot(cr, ylim=c(0,1), ylab="Correlation")
    

在这里插入图片描述


http://chatgpt.dhexx.cn/article/C7qe8TYI.shtml

相关文章

理解反卷积

先看看卷积,数字只是说明位置方便,不是具体数值,这里是valid卷积 ,stride1 由CNN基础我们知道 17 这个点是由前面1 2 5 6 和卷积核运算得到的,那么反卷积就是要从17 反推1,2,5,6 ,这是一个无穷解问题&#…

反卷积常用方法

反卷积 一个用于分类任务的深度神经网络通过卷积来不断抽象学习,实现分辨率的降低,最后得到一个较小的FeatureMap,即特征图,通常大小为 5 5 5\times5 55或者 7 7 7\times7 77。而图像分割任务需要恢复与原尺寸大小一样的图片&am…

声音反卷积matlab,用MATLAB做反卷积

关键词:反卷积 MATLAB fft 频移 分母中频谱零点 卷积核 % 代码如下: clear all;clc; h [1 1 1 1] % 要求 f [1 -2 3 -2] % 已知 g conv(h,f) % 已知 g h*f 这里卷积结果g知道,f知道,f视作卷积核,反卷积求h …

彻底搞懂CNN中的卷积和反卷积

前言 卷积和反卷积在CNN中经常被用到,想要彻底搞懂并不是那么容易。本文主要分三个部分来讲解卷积和反卷积,分别包括概念、工作过程、代码示例,其中代码实践部分主结合TensorFlow框架来进行实践。给大家介绍一个卷积过程的可视化工具&#x…

卷积与反卷积

1、卷积 上图展示了一个卷积的过程,其中蓝色的图片(4*4)表示的是进行卷积的图片,阴影的图片(3*3)表示的是卷积核,绿色的图片(2*2)表示是进行卷积计算之后的图片。在卷积操作中有几个比较重要的参数,输入图片的尺寸、步长、卷积核的…

反卷积原理

一 介绍 反卷积,可以理解为卷积操作的逆运算。这里千万不要当成反卷积操作可以复原卷积操作的输入值,反卷积并没有那个功能,它仅仅是将卷积变换过程中的步骤反向变换一次而已,通过将卷积核转置,与卷积后的结果再做一遍…

Tensorflow——反卷积

目标——主要用来进行上采样,使图像形状变大 函数:conv2d_transpose(value, filter, output_shape, strides, padding"SAME", data_format"NHWC", nameNone) Arg: value:指需要做反卷积的输入图像&#xff…

机器学习19:反卷积算法

机器学习19:反卷积算法(转载和整理) 在整理全卷积网络的过程中,被反卷积的概念困扰很久,于是将反卷积算法单独整理为一篇博客,本文主要转载和整理自知乎问题如何通俗易懂地解释反卷积?中的高票答案。 1.反…

卷积和反卷积详解

反卷积(deconvolution),也叫转置卷积,分部卷积(fractionally-strided convolution),在论文中也叫upconv。 1. Pytorch中2D卷积和反卷积的函数 class torch.nn.Conv2d(in_channels, out_channe…

什么是反卷积(快速理解)

什么是反卷积 参考博客 我们知道输入图像通过卷积神经网络(CNN)提取特征后,输出的尺寸往往会变小,而又是我们需要将图像恢复到原来的尺寸以便进行进一步的计算,整个扩大图像尺寸,实现图像由小分辨率到大分辨…

反卷积(Transposed Convolution, Fractionally Strided Convolution or Deconvolution)

反卷积(Deconvolution)的概念第一次出现是Zeiler在2010年发表的论文 Deconvolutional networks 中,但是并没有指定反卷积这个名字,反卷积这个术语正式的使用是在其之后的工作中( Adaptive deconvolutional networks for mid an…

反卷积详解

一.概述 反卷积又称转秩卷积(Transposed Convolution),上采样(Upsampled )。 其作用举例如下: 1.当我们用神经网络生成图片的时候,经常需要将一些低分辨率的图片转换为高分辨率的图片。 2.在语义分割中,会使用卷积层在编码器中…

反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释

文章目录 反卷积的作用卷积中padding的几个概念No PaddingHalf(Same) PaddingFull Padding 反卷积反卷积中的Padding参数反卷积的stride参数反卷积的output_padding参数 反卷积总结参考资料 反卷积的作用 传统的卷积通常是将大图片卷积成一张小图片,而反卷积就是反…

反卷积(Transposed conv deconv)实现原理(通俗易懂)

什么是卷积 卷积就是把卷积核放在输入上进行滑窗,将当前卷积核覆盖范围内的输入与卷积核相乘,值进行累加,得到当前位置的输出,其本质在于融合多个像素值的信息输出一个像素值,本质上是下采样的,所以输出的…

Mysql的基本使用——Mysql教案(一)

文章目录 Mysql的基本使用1. Mysql的安装2. Mysql基本操作数据库操作表操作SQL操作练习资源课堂练习 查询(SELECT)去重(distinct)别名(AS)限制查询数(limit)排序(ORDER BY)条件查询(WHERE)普通查询多条件的查询语句模糊查询BETWEEN AND 内连接查询(inner join)外连接查询(outer…

链表-双链表

双向链表应用实例 双向链表的操作分析和实现 使用带 head 头的双向链表实现 管理单向链表的缺点分析: 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。单向链表不能自我删除,需要靠辅助节点 ,而双向链表&…

八股文之mysql

1、MySQL性能优化解决思路 SQL优化 表结构优化 程序配置优化 架构设计优化 硬件和操作系统优化 SQL语句优化 索引失效情况 最左前缀匹配原则 索引下推 表结构优化 将字段很多的表分解成多个表 对于字段较多的表,如果有些字段的使用频率很低,可以将…

数据库-MySQL

1.数据库基础概念 1.查看数据库-SQLsever学习基础概念 2.MySQL数据类型 1.MySQL支持多种数据类型,大致可分为四类 1.数值类型2.日期和时间类型3.字符串(字符)类型4.二进制类型 1.数值类型 1.整数类型 1.TINYINT(小整型数&#xff…

【爆肝题解】❤️24❤️新手也能理解并学会的剑指offer题目❤️❤️剑指 Offer 24. 反转链表

本文章是❤️剑指 offer(第2版)❤️的内容,该专栏还有多篇优质内容在等待你观看,现在点击右上角点击这个————🚀订阅专栏🚀 🔆坚持刷算法 💎每天进步一点点 🚀冲冲冲冲…

mysql 表结构反转,【数据结构】单向链表的反转/倒置的一种实现方法

【背景】 单向链表由于其存储灵活,所有的元素位置是通过额外开辟的指针作为指向的,于是在复习过程中,不由得想象一下如何将链表进行反转。 参考网上的教程,大多是用改变指针的指向进行实现,当然也有利用递归栈的特殊性…