经典神经网络架构参考 v1.0(4)

简介: 经典神经网络架构参考 v1.0

经典神经网络架构参考 v1.0(3)https://developer.aliyun.com/article/1489285

4.4 卷积自编码器

主体:

digraph ConvAutoEncoder {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
  
  
  inp         [label="输入\n[BatchSize,\n W=256, H=256, C=3]", shape="Mrecord"]
  conv1       [label="ConvBlock1\n[In=3, Out=16]"]
  featmap_e1  [label="[BatchSize,\nW=128, H=128, C=16]", shape="Mrecord"]
  conv2       [label="ConvBlock2\n[In=16, Out=32]"]
  featmap_e2  [label="[BatchSize,\nW=64, H=64, C=32]", shape="Mrecord"]
  conv3       [label="ConvBlock3\n[In=32, Out=32]"]
  featmap_e3  [label="[BatchSize,\nW=32, H=32, C=32]", shape="Mrecord"]
  upconv3     [label="UpConvBlock3\n[In=32, Out=32]"]
  featmap_d2  [label="[BatchSize,\nW=64, H=64, C=32]", shape="Mrecord"]
  upconv2     [label="UpConvBlock2\n[In=32, Out=16]"]
  featmap_d1  [label="[BatchSize,\nW=128, H=128, C=16", shape="Mrecord"]
  upconv1     [label="UpConvBlock1\n[In=16, Out=3]"]
  tanh        [label="Tanh"]
  oup         [label="输出\n[BatchSize,\n W=256, H=256, C=3]", shape="Mrecord"]
  inp -> conv1 -> featmap_e1 -> conv2 -> featmap_e2
        -> conv3 -> featmap_e3 -> upconv3 -> featmap_d2
        -> upconv2 -> featmap_d1 -> upconv1
        -> tanh -> oup 
}

卷积块:

digraph CAEConvBlock {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
  
  
  inp         [label="输入\n[BatchSize,\n W=BlockW,\n H=BlockH,\n C=BlockIn]", shape="Mrecord"]
  conv        [label="Conv2D\n[K=3, P=1,\n In=BlockIn,\n Out=BlockOut]"]
  batchnorm   [label="BatchNorm(BlockOut)"]
    relu        [label="Relu"]
    maxpool     [label="MaxPool2D\n[K=2, S=2]"]
  oup         [label="输出\n[BatchSize,\n W=BlockW/2,\n H=BlockH/2,\n C=BlockOut]", shape="Mrecord"]
  inp -> conv -> batchnorm -> relu -> maxpool -> oup 
}

反卷积块:

digraph CAEDeconvBlock {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
  
  
  inp         [label="输入\n[BatchSize,\n W=BlockW,\n H=BlockH,\n C=BlockIn]", shape="Mrecord"]
    upsamp      [label="UpSample x2"]
  conv        [label="Conv2D\n[K=3, P=1,\n In=BlockIn,\n Out=BlockOut]"]
  batchnorm   [label="BatchNorm(BlockOut)"]
    relu        [label="Relu"]
  oup         [label="输出\n[BatchSize,\n W=BlockW*2,\n H=BlockH*2,\n C=BlockOut]", shape="Mrecord"]
  inp -> upsamp -> conv -> batchnorm -> relu -> oup 
}

五、循环神经网络

5.1 时序 RNN

digraph TimeRNN {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
  
  
  inp      [label="输入\n[BatchSize,\n SeqLen, NFeature]", shape="Mrecord"]
    rnn1     [label="RNNCell1\n[NFeature, NHidden]"]
    rnn_rest [label="RNNCell x (NLayers-1)\n[NHidden, NHidden]"]
    hidst    [label="[BatchSize,\n SeqLen, NHidden]", shape="Mrecord"]
  ll       [label="Linear\n[NHidden, NLabels]"]
  oup      [label="输出\n[BatchSize,\n SeqLen, NLabels]", shape="Mrecord"]
  
  inp -> rnn1 -> rnn_rest -> hidst -> ll -> oup
}

5.2 NLP RNN

digraph NLPRNN {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
  
  
  inp      [label="输入(单词ID)\n[BatchSize, SeqLen]", shape="Mrecord"]
  emb      [label="Embedding\n[VocabSize, NHidden]"]
  inp_emb  [label="[BatchSize,\n SeqLen, NHidden]", shape="Mrecord"]
    rnn      [label="RNNCell x NLayers\n[NHidden, NHidden]"]
    hidst    [label="[BatchSize,\n SeqLen, NHidden]", shape="Mrecord"]
  emb_w_t  [label="@ Embedding.w.T\n[NHidden, VocabSize]"]
  oup      [label="输出(单词概率)\n[BatchSize,\n SeqLen, VocabSize]", shape="Mrecord"]
  
  inp -> emb -> inp_emb -> rnn -> hidst -> emb_w_t -> oup
}
• 1
• 2
• 3
• 4
• 5
• 6
• 7
• 8
• 9
• 10
• 11
• 12
• 13
• 14
• 15
• 16
• 17
• 18
• 19
• 20
• 21
• 22
• 23
• 24

5.3 RNN 单元

digraph RNNCell {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
    x [label="X[t](输入)\n[BatchSize, NIn]", shape="Mrecord"]
    his [label="H[t-1](历史)\n[BatchSize, NOut]", shape="Mrecord"]
    w_x [label="W(参数)\n[NIn, NOut]", shape="Mrecord"]
    w_h [label="U(参数)\n[NOut, NOut]", shape="Mrecord"]
    b   [label="b(参数)\n[1, NOut]", shape="Mrecord"]
    σ   [label="Sigmoid"]
    matmul1 [label="@"]
    matmul2 [label="@"]
    plus  [label="+"]
    h   [label="H[t](输出)\n[BatchSize, NOut]", shape="Mrecord"]
    x -> matmul1
    w_x -> matmul1
    his -> matmul2
    w_h -> matmul2
    matmul1 -> plus
    matmul2 -> plus
    b -> plus
    plus -> σ
    σ -> h
}

5.4 LSTM 单元

digraph GRUCell {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
    x [label="X[t](输入)\n[BatchSize, NIn]", shape="Mrecord"]
    his_h [label="H[t-1](短期历史)\n[BatchSize, NOut]", shape="Mrecord"]
    his_c [label="C[t-1](长期历史)\n[BatchSize, NOut]", shape="Mrecord"]
    
    calc_f [label="σ(X[t] @ W[f]\n + H[t-1] @ U[f]\n + b[f])"]
    calc_i [label="σ(X[t] @ W[i]\n + H[t-1] @ U[i]\n + b[i])"]
    calc_c_cand [label="tanh(X[t] @ W[c]\n + H[t-1] @ U[c]\n + b[c])"]
    calc_o [label="σ(X[t] @ W[o]\n + H[t-1] @ U[o]\n + b[o])"]
    
    f   [label="F[t](遗忘门)\n[BatchSize, NOut]", shape="Mrecord"]
    i   [label="I[t](记忆门)\n[BatchSize, NOut]", shape="Mrecord"]
    c_cand   [label="CCand[t](长期候补)\n[BatchSize, NOut]", shape="Mrecord"]
    o   [label="O[t](输出门)\n[BatchSize, NOut]", shape="Mrecord"]
    calc_c [label="F[t] * C[t-1]\n + I[t] * CCand[t]"]
    calc_h [label="C[t] * tanh(O[t])"]
    h [label="H[t](输出&短期记忆)\n[BatchSize, NOut]", shape="Mrecord"]
    c [label="C[t](长期记忆)\n[BatchSize, NOut]", shape="Mrecord"]
    x -> calc_f
    x -> calc_i
    x -> calc_c_cand
    x -> calc_o
    his_h -> calc_f -> f
    his_h -> calc_i -> i
    his_h -> calc_c_cand -> c_cand
    his_h -> calc_o -> o
    f -> calc_c
    i -> calc_c
    c_cand -> calc_c
    calc_c -> c
    c -> calc_h
    o -> calc_h
    calc_h -> h
}

5.5 GRU 单元

digraph LSTMCell {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=5, height=2,
    shape="box",
  ]
    x [label="X[t](输入)\n[BatchSize, NIn]", shape="Mrecord"]
    his_h [label="H[t-1](历史)\n[BatchSize, NOut]", shape="Mrecord"]
    
    calc_z [label="σ(X[t] @ W[z]\n + H[t-1] @ U[x]\n + b[z])"]
    calc_r [label="σ(X[t] @ W[r]\n + H[t-1] @ U[r]\n + b[r])"]
    calc_h_cand [label="tanh(X[t] @ W[h]\n + (H[t-1] * R[t]) @ U[h]\n + b[h])"]
    
    z   [label="Z[t](更新门)\n[BatchSize, NOut]", shape="Mrecord"]
    r   [label="R[t](复位门)\n[BatchSize, NOut]", shape="Mrecord"]
    h_cand   [label="HCand[t](候补)\n[BatchSize, NOut]", shape="Mrecord"]
    calc_h [label="(1 - Z[t]) * H[t-1]\n + Z[t] * HCand[t]"]
    h [label="H[t](输出)\n[BatchSize, NOut]", shape="Mrecord"]
    x -> calc_z
    x -> calc_r
    x -> calc_h_cand
    his_h -> calc_z -> z
    his_h -> calc_r -> r
    his_h -> calc_h_cand
    r -> calc_h_cand -> h_cand
    z -> calc_h
    h_cand -> calc_h
    calc_h -> h
}
• 1
• 2
• 3
• 4
• 5
• 6
• 7
• 8
• 9
• 10
• 11
• 12
• 13
• 14
• 15
• 16
• 17
• 18
• 19
• 20
• 21
• 22
• 23
• 24
• 25
• 26
• 27
• 28
• 29
• 30
• 31
• 32
• 33
• 34
• 35
• 36
• 37
• 38
• 39
• 40
• 41


相关文章
|
6天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
91 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
20天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
52 3
图卷积网络入门:数学基础与架构设计
|
1月前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
66 5
|
1月前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
122 1
|
1月前
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
|
1月前
|
监控 安全 网络安全
网络安全新前线:零信任架构的实践与挑战
网络安全新前线:零信任架构的实践与挑战
32 0
|
2月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
3月前
|
边缘计算 人工智能 安全
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
210 6
|
3月前
|
存储 安全 网络安全
网络安全与信息安全:构建安全防线的多维策略在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的关键要素。本文旨在探讨网络安全漏洞的本质、加密技术的重要性以及提升公众安全意识的必要性,以期为构建更加坚固的网络环境提供参考。
本文聚焦于网络安全领域的核心议题,包括网络安全漏洞的现状与应对、加密技术的发展与应用,以及安全意识的培养与实践。通过分析真实案例,揭示网络安全威胁的多样性与复杂性,强调综合防护策略的重要性。不同于传统摘要,本文将直接深入核心内容,以简洁明了的方式概述各章节要点,旨在迅速吸引读者兴趣,引导其进一步探索全文。