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

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

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

下卷积块:

!

digraph ResNet18DownConvBlock {
  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,\nW=BlockW, \nH=BlockH, C=BlockIn]", shape="Mrecord"]
    conv1 [label="Conv2D#1\n[K=3, S=2, P=1,\n In=BlockIn,\n Out=BlockOut]"]
    relu1 [label="Relu"]
    conv2 [label="Conv2D#2\n[K=3, P=1,\n In=BlockOut,\n Out=BlockOut]"]
    downconv [label="Conv2D#0\n[K=1, S=2,\n In=BlockIn,\n Out=BlockOut]"]
    add   [label="+"]
    relu2 [label="Relu"]
    inp -> conv1 -> relu1 -> conv2 -> add -> relu2 -> oup
    inp -> downconv -> add
}

3.5 DenseNet

主体:

digraph DenseNet {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=7, height=2,
    shape="box",
  ]
    inp [label="输入\n[BatchSize, W=224,\n H=224, C=3]"]
    conv0 [label="Conv2D#0\n[K=7, S=2, P=3,\nIn=3, Out=64]"]
    bn0 [label="BatchNorm2D(64)"]
    relu0 [label="Relu"]
    maxpool0 [label="MaxPool2D#0\n[K=3, S=2, P=1]"]
    featmap0 [label="[BatchSize,\nW=56, H=56, C=64"]
    dense1 [label="DenseBlock1\n[NLayers=6, BNSize=4,\n GrowthRate=32]"]
    featmap11 [label="[BatchSize, W=56, H=56,\n C=64+6*32=256]"]
    trans1 [label="Trasition1\n[CompRate=0.5]"]
    featmap12 [label="[BatchSize, W=28, H=28, C=128]"]
    dense2 [label="DenseBlock2\n[NLayers=12, BNSize=4,\n GrowthRate=32]"]
    featmap21 [label="[BatchSize, W=28, H=28,\n C=128+12*32=512]"]
    trans2 [label="Trasition2\n[CompRate=0.5]"]
    featmap22 [label="[BatchSize, W=14, H=14, C=256]"]
    dense3 [label="DenseBlock3\n[NLayers=24, BNSize=4,\n GrowthRate=32]"]
    featmap31 [label="[BatchSize, W=14, H=14,\n C=256+24*32=1024]"]
    trans3 [label="Trasition3\n[CompRate=0.5]"]
    featmap32 [label="[BatchSize, W=7, H=7, C=512]"]
    dense4 [label="DenseBlock4\n[NLayers=16, BNSize=4,\n GrowthRate=32]"]
    featmap4 [label="[BatchSize, W=7, H=7,\n C=512+16*32=1024]"]
    avgpool [label="AvgPool2D\n[K=7, S=7]"]
    featmap5 [label="[BatchSize, W=1, H=1, C=1024]"]
    reshape [label="reshape([1024])"]
    linear [label="Linear\n[1024, 1000"]
    softmax [label="Softmax"]
    oup [label="输出\n[BatchSize, 1000]"]
    inp -> conv0 -> bn0 -> relu0 -> maxpool0 ->  featmap0 ->
        dense1 -> featmap11 -> trans1 -> featmap12 ->
        dense2 -> featmap21 -> trans2 -> featmap22 ->
        dense3 -> featmap31 -> trans3 -> featmap32 ->
        dense4 -> featmap4 -> avgpool -> featmap5 ->
        reshape -> linear -> softmax -> oup
}

密集块:

digraph DenseBlock {
  rankdir=BT
    node [
    style=filled, 
    color=Black
    fontcolor=White, 
    fillcolor="#30638e", 
    fontname="SimHei",
    fontsize=32,
    width=7, height=2,
    shape="box",
  ]
    inp [label="输入\n[BatchSize, W=BlockW,\n H=BlockH, C=LayerIn]"]
  DenseLayers [label="DenseLayer x NLayers\n[In=BlockIN+#Layer*GrowthRate]"]
  oup [label="输出\n[BatchSize,\n W=BlockW, H=BlockH,\n C=LayerIn+NumLayer*GrowthRate ]"]
  inp -> DenseLayers -> oup
}

密集层:

digraph DenseLayer {
  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, W=BlockW,\n H=BlockH, C=LayerIn]"]
    bn1 [label="BatchNorm1(LayerIn)"]
    relu1  [label="Relu"]
    conv1 [label="Conv2D#1\n[K=1, In=LayerIn,\n Out=BNSize*GrowthRate]"]
    bn2 [label="BatchNorm2\n(BNSize*GrowthRate)"]
    relu2  [label="Relu"]
    conv2 [label="Conv2D#1\n[K=3, P=1,\n In=BNSize*GrowthRate,\n Out=GrowthRate]"]
    cat [label="cat(axis=1)"]
    oup [label="输出\n[BatchSize,\n W=BlockW, H=BlockH,\n C=LayerIn+GrowthRate]"]
    inp -> bn1 -> relu1 -> conv1 -> bn2 -> relu2 -> conv2 -> cat -> oup
    inp -> cat
}

过渡块:

digraph TransitionLayer {
  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, W=LayerW,\n H=LayerH, C=LayerIn]"]
    bn [label="BatchNorm1(LayerIn)"]
    relu  [label="Relu"]
    conv [label="Conv2D\n[K=1, In=LayerIn,\n Out=LayerIn*CompRate]"]
    maxpool [label="MaxPool2D\n[K=2, S=2]"]
    oup [label="输出\n[BatchSize,\n W=BlockW/2,\n H=BlockH/2,\n C=LayerIn*CompRate]"]
    inp -> bn -> relu -> conv -> maxpool -> oup
}

四、自编码器

4.1 栈式自编码器

digraph StackAutoEncoder {
  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 NFeature(768)]", shape="Mrecord"]
  ll1     [label="Linear\n[NFeature(768),\n NHidden1(512)]"]
    σ1      [label="Sigmoid"]
    ll2     [label="Linear\n[NHidden1(512),\n NHidden2(256)]"]
    σ2      [label="Sigmoid"]
    ll3     [label="Linear\n[NHidden2(256),\n NHidden1(512)]"]
    σ3      [label="Sigmoid"]
    ll4     [label="Linear\n[NHidden1(512),\n NFeature(768)]"]
  oup     [label="输出\n[BatchSise,\n NFeature(768)]", shape="Mrecord"]
  
  inp -> ll1 -> σ1 -> ll2 -> σ2
        -> ll3 -> σ3 -> ll4 -> oup
}

4.2 去噪自编码器

digraph DenoiseAutoEncoder {
  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 NFeature(768)]", shape="Mrecord"]
  noise     [label="AddNoise\n+ 0.5 * randn(\nBatchSize,\n NFeature(768))"]
  ll1       [label="Linear\n[NFeature(768),\n NHidden1(512)]"]
    σ1        [label="Sigmoid"]
    ll2       [label="Linear\n[NHidden1(512),\n NHidden2(256)]"]
    σ2        [label="Sigmoid"]
    ll3       [label="Linear\n[NHidden2(256),\n NHidden1(512)]"]
    σ3        [label="Sigmoid"]
    ll4       [label="Linear\n[NHidden1(512),\n NFeature(768)]"]
  oup       [label="输出\n[BatchSize,\n NFeature(768)]", shape="Mrecord"]
  
  inp -> noise ->  ll1 -> σ1 -> ll2 -> σ2
        -> ll3 -> σ3 -> ll4 -> oup
}

4.3 变分自编码器

digraph VariationAutoEncoder {
  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 NFeature(768)]", shape="Mrecord"]
  ll1           [label="Linear\n[NFeature(768),\n NHidden1(512)]"]
    σ1            [label="Sigmoid"]
    ll2           [label="Linear\n[NHidden1(512),\n NHidden2(256)]"]
    σ2            [label="Sigmoid"]
  ll3_mean      [label="Linear\n[NHidden2(256),\n NHidden3(128)]"]
  ll3_log_var   [label="Linear\n[NHidden2(256),\n NHidden3(128)]"]
  z_mean        [label="μ\n[BatchSize,\n NHidden3(128)]", shape="Mrecord"]
  z_log_var     [label="logσ²\n[BatchSize,\n NHidden3(128)]", shape="Mrecord"]
  eps           [label="ε\nrandn(BatchSize,\n NHidden3(128))", shape="Mrecord"]
  sample        [label="μ + exp(logσ² / 2) * ε", width=7]
  z             [label="z\n[BatchSize,\n NHidden3(128)]", shape="Mrecord"]
    ll4           [label="Linear\n[NHidden3(128),\n NHidden2(256)]"]
    σ4            [label="Sigmoid"]
    ll5           [label="Linear\n[NHidden2(256),\n NHidden1(512)]"]
    σ5            [label="Sigmoid"]
    ll6           [label="Linear\n[NHidden1(512),\n NFeature(768)]"]
  oup           [label="输出\n[BatchSize,\n NFeature(768)]", shape="Mrecord"]
  
  inp -> ll1 -> σ1 -> ll2 -> σ2
    σ2 -> ll3_mean -> z_mean -> sample
  σ2 -> ll3_log_var -> z_log_var -> sample
  eps -> sample -> z -> ll4 -> σ4 -> ll5 -> σ5 -> ll6 -> oup
}

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

相关文章
|
1天前
|
机器学习/深度学习 计算机视觉 网络架构
是VGG网络的主要特点和架构描述
是VGG网络的主要特点和架构描述:
9 1
|
24天前
|
运维 安全 网络架构
【计算巢】网络模拟工具:设计与测试网络架构的有效方法
【6月更文挑战第1天】成为网络世界的超级英雄,利用网络模拟工具解决复杂架构难题!此工具提供安全的虚拟环境,允许自由设计和测试网络拓扑,进行性能挑战和压力测试。简单示例代码展示了创建网络拓扑的便捷性,它是网络设计和故障排查的“魔法棒”。无论新手还是专家,都能借助它探索网络的无限可能,开启精彩冒险!快行动起来,你会发现网络世界前所未有的乐趣!
【计算巢】网络模拟工具:设计与测试网络架构的有效方法
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
深度揭秘:深度学习框架下的神经网络架构进化
从感知机到深度学习的革命,神经网络经历了从简单到复杂的演变。反向传播使多层网络实用化,深度信念网络(DBN)和卷积神经网络(CNN)的兴起,尤其是AlexNet在ImageNet竞赛中的胜利,开启了深度学习黄金时代。ResNet的残差学习解决了深度梯度消失问题。循环神经网络(RNN)、LSTM和GRU改进了序列处理,Transformer模型(如BERT和GPT)引领了自然语言处理的变革。超大规模模型如GPT-3和通义千问展示惊人能力,影响医疗、自动驾驶等多个领域。未来,平衡模型复杂度、计算成本与应用需求将是关键。
26 2
|
7天前
|
机器学习/深度学习 网络架构 计算机视觉
VGG深度卷积神经网络架构
VGG深度卷积神经网络架构
|
19天前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
1月前
|
安全 网络协议 网络安全
网络安全笔记整理,你花了多久弄明白架构设计
网络安全笔记整理,你花了多久弄明白架构设计
|
25天前
|
安全 网络安全 API
构建高效微服务架构的五大关键策略网络安全与信息安全:防范网络威胁的关键策略
【5月更文挑战第31天】 在现代软件开发领域,微服务架构已经成为实现灵活、可扩展及容错系统的重要解决方案。本文将深入探讨构建高效微服务架构的五个核心策略:服务划分原则、API网关设计、服务发现与注册、熔断机制以及持续集成与部署。这些策略不仅有助于开发团队提升系统的可维护性和可伸缩性,同时也确保了高可用性和服务质量。通过实践案例和性能分析,我们将展示如何有效应用这些策略以提高微服务的性能和稳定性。
|
1月前
|
监控 网络协议 安全
计算机网络概述及 参考模型
计算机网络概述及 参考模型
|
1月前
|
机器学习/深度学习 安全 网络安全
数字堡垒的构筑者:网络安全与信息安全的深层剖析构建高效微服务架构:后端开发的新趋势
【4月更文挑战第30天】在信息技术高速发展的今天,构建坚不可摧的数字堡垒已成为个人、企业乃至国家安全的重要组成部分。本文深入探讨网络安全漏洞的本质、加密技术的进展以及提升安全意识的必要性,旨在为读者提供全面的网络安全与信息安全知识框架。通过对网络攻防技术的解析和案例研究,我们揭示了防御策略的关键点,并强调了持续教育在塑造安全文化中的作用。
|
1月前
|
存储 网络协议 安全
【专栏】30 道初级网络工程师面试题为广大网络工程师提供参考。
【4月更文挑战第28天】本文为初级网络工程师提供了30道面试题,涵盖OSI七层模型、TCP/IP协议栈、IP地址分类、ARP、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN、网络拓扑、广域网、以太网、网络存储、网络拥塞、流量监控、延迟、网络安全、网络攻击防范、协议分析、性能优化、故障排查、网络虚拟化和云计算等基础知识。这些问题旨在帮助面试者准备并提升网络工程领域的知识和技能。

热门文章

最新文章