04-07 Tensorflow2.0深度神经网络+批归一化+激活函数selu+Dropout

本文介绍了Tensorflow2.0中深度神经网络DNN的使用,探讨了深度学习层数过多可能导致的问题,如梯度消失。接着讨论了批归一化BatchNormalization在缓解梯度消失中的作用,以及新型激活函数Selu带来的训练效率和性能提升。此外,还讲解了如何利用Dropout防止过拟合,特别是AlphaDropout的优化效果,保持了归一化的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.深度神经网络DNN

指多个全连接层进行连接而形成的网络,层数太多不一定性能会更优,反而会下降,这是因为

  • 层数太多,参数太多
  • 导致了梯度消失
2.批归一化BatchNormalization
  • 缓解梯度消失
3.新的激活函数selu
  • 训练时间更短
  • 训练性能更高
4.Dropout防止过拟合

一般在全连接层的最后几层进行使用

  • Dropout
  • AlphaDropout:性能更优:
    1. 均值和方差不变
    2. 归一化性质不变
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import sklearn
import pandas as pd
import os
import sys
import time
import tensorflow as tf
from tensorflow import keras
# 输出库的名字和版本
print(sys.version_info)
for module in tf, mpl, np, pd, sklearn, tf, keras:
    print(module.__name__, module.__version__)
 
# 指定GPU
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = '1'
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.compat.v1.Session(config=config)

# 导入数据集 fashion_mnist
fashion_mnist = keras
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值