当前位置: 首页 > wzjs >正文

个人做的小网站需要备案新东方一对一辅导价格

个人做的小网站需要备案,新东方一对一辅导价格,网站开发 华景新城,新发地网站建设机器学习实操 第二部分 神经网路和深度学习 第11章 训练深度神经网络 内容概要 第11章深入探讨了训练深度神经网络(DNN)的技术和挑战。深度神经网络因其强大的表征学习能力而广泛应用于复杂问题,但训练这些网络并非易事。本章详细讨论了梯度…

机器学习实操 第二部分 神经网路和深度学习 第11章 训练深度神经网络

内容概要

第11章深入探讨了训练深度神经网络(DNN)的技术和挑战。深度神经网络因其强大的表征学习能力而广泛应用于复杂问题,但训练这些网络并非易事。本章详细讨论了梯度消失和爆炸问题、权重初始化、激活函数选择、批量归一化、预训练层的复用、优化器选择和正则化技术。通过这些内容,读者将掌握如何有效地训练深度神经网络。
在这里插入图片描述

主要内容

  1. 梯度消失和爆炸问题

    • 问题描述:梯度在反向传播过程中可能逐渐变小或变大,导致训练困难。
    • 解决方案:使用Glorot初始化、He初始化等权重初始化策略,以及选择合适的激活函数(如ReLU及其变体)。
  2. 权重初始化

    • Glorot初始化:通过调整权重的方差来平衡前向和反向传播的信号。
    • He初始化:适用于ReLU激活函数,通过调整权重的方差来避免梯度消失。
  3. 激活函数

    • ReLU及其变体:如Leaky ReLU、ELU、SELU等,用于引入非线性并缓解梯度消失问题。
    • GELU、Swish、Mish:新型激活函数,通常在复杂任务中表现更好。
  4. 批量归一化

    • 原理:通过标准化层输入并重新缩放和偏移来稳定训练过程。
    • 实现:在Keras中使用BatchNormalization层。
  5. 预训练层的复用

    • 迁移学习:复用预训练模型的底层特征提取器,减少训练数据和计算量。
    • 无监督预训练:使用自编码器或生成对抗网络(GAN)进行预训练,再用于目标任务。
  6. 优化器

    • Momentum:通过累积历史梯度加速收敛。
    • Nesterov加速梯度:在动量优化的基础上提前计算梯度。
    • AdaGrad、RMSProp、Adam:自适应学习率优化器,适用于不同场景。
  7. 正则化技术

    • L1和L2正则化:通过约束权重的大小来减少过拟合。
    • Dropout:随机丢弃神经元,增加模型的鲁棒性。
    • 批量归一化:兼具正则化效果,减少过拟合。
  8. 学习率调度

    • 功率衰减、指数衰减、分段常数衰减:动态调整学习率以加速收敛。
    • 1cycle调度:在训练过程中调整学习率和动量,提高训练效率。

关键代码和算法

11.1 使用Keras实现批量归一化

from tensorflow.keras import layers, Sequential# 构建模型
model = Sequential([layers.Flatten(input_shape=[28, 28]),layers.BatchNormalization(),layers.Dense(300, activation="relu", kernel_initializer="he_normal"),layers.BatchNormalization(),layers.Dense(100, activation="relu", kernel_initializer="he_normal"),layers.BatchNormalization(),layers.Dense(10, activation="softmax")
])# 编译模型
model.compile(loss="sparse_categorical_crossentropy",optimizer="sgd",metrics=["accuracy"])# 训练模型
history = model.fit(X_train, y_train, epochs=30,validation_data=(X_valid, y_valid))

11.2 使用Keras实现迁移学习

# 加载预训练模型
model_A = tf.keras.models.load_model("my_model_A")# 创建新模型并复用预训练层
model_B_on_A = tf.keras.Sequential(model_A.layers[:-1])
model_B_on_A.add(tf.keras.layers.Dense(1, activation="sigmoid"))# 冻结预训练层
for layer in model_B_on_A.layers[:-1]:layer.trainable = False# 编译模型
optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)
model_B_on_A.compile(loss="binary_crossentropy",optimizer=optimizer,metrics=["accuracy"])# 训练模型
history = model_B_on_A.fit(X_train_B, y_train_B, epochs=4,validation_data=(X_valid_B, y_valid_B))# 解冻预训练层并继续训练
for layer in model_B_on_A.layers[:-1]:layer.trainable = Trueoptimizer = tf.keras.optimizers.SGD(learning_rate=0.001)
model_B_on_A.compile(loss="binary_crossentropy",optimizer=optimizer,metrics=["accuracy"])history = model_B_on_A.fit(X_train_B, y_train_B, epochs=16,validation_data=(X_valid_B, y_valid_B))

精彩语录

  1. 中文:训练深度神经网络时,梯度消失和爆炸问题是主要挑战之一。
    英文原文:Training a deep neural network isn’t a walk in the park. Here are some of the problems you could run into: gradients often get smaller and smaller as the algorithm progresses down to the lower layers.
    解释:指出了深度网络训练中的主要挑战。

  2. 中文:批量归一化通过标准化层输入并重新缩放和偏移来稳定训练过程。
    英文原文:Batch normalization consists of adding an operation in the model just before or after the activation function of each hidden layer. This operation simply zero-centers and normalizes each input, then scales and shifts the result using two new parameter vectors per layer.
    解释:介绍了批量归一化的原理和作用。

  3. 中文:迁移学习通过复用预训练模型的底层特征提取器,减少训练数据和计算量。
    英文原文:Transfer learning is generally not a good idea to train a very large DNN from scratch without first trying to find an existing neural network that accomplishes a similar task.
    解释:强调了迁移学习的优势。

  4. 中文:Adam优化器结合了动量优化和RMSProp的优点,适用于大多数深度学习任务。
    英文原文:Adam combines the ideas of momentum optimization and RMSProp: just like momentum optimization, it keeps track of an exponentially decaying average of past gradients; and just like RMSProp, it keeps track of an exponentially decaying average of past squared gradients.
    解释:介绍了Adam优化器的核心思想。

  5. 中文:Dropout通过随机丢弃神经元来增加模型的鲁棒性和泛化能力。
    英文原文:Dropout is one of the most popular regularization techniques for deep neural networks. It was proposed in a paper by Geoffrey Hinton et al. in 2012 and further detailed in a 2014 paper by Nitish Srivastava et al.
    解释:描述了Dropout的基本原理和优势。

总结

通过本章的学习,读者将掌握训练深度神经网络的核心技术和方法。这些内容包括解决梯度消失和爆炸问题的策略、权重初始化、激活函数选择、批量归一化、迁移学习、优化器选择和正则化技术。这些技术能够显著提高深度神经网络的训练效率和模型性能,使其能够处理复杂的机器学习任务。

http://www.dtcms.com/wzjs/449874.html

相关文章:

  • 定制企业网站建设品牌运营包括哪些内容
  • seo网站怎么优化微信营销方式有哪些
  • 前台网站建设搜索引擎优化的方法
  • helium wordpressseo推广公司招商
  • 厦门做网站优化公司长春百度seo公司
  • 网站建设亇金手指专业今天特大新闻
  • 诗词门户网站福州百度seo排名
  • 做电影网站需要多打了服务器罗湖区seo排名
  • 做调研的网站一般有哪些如何推广小程序
  • 做网站的工作流程推广渠道怎么写
  • 循化县wap网站建设公司腾讯企点官网下载
  • 做国外网站选择vps西安企业seo外包服务公司
  • 编程基础知识大全石家庄百度搜索引擎优化
  • 个人求职简历模板济宁seo推广
  • 学校网站建设解决方案推广链接点击器安卓版
  • 怎么用dw做地图网站seo整站优化报价
  • 网站如何开通支付功能下载爱城市网app官方网站
  • c2c交易会被判刑嘛长沙网站优化效果
  • 企业怎么建设网站网站建设高端公司
  • 深圳本地网站建设域名注册商怎么查
  • 做网站怎么建立文件夹小广告网页
  • 政府网站制作方案宁波关键词优化企业网站建设
  • 长沙百度做网站多少钱百度推广免费
  • 免费的b2b网站网站内容优化方法
  • 怎么去建一个网站免费引流app下载
  • 怀化交警网站培训方案及培训计划
  • ftp网站地图怎么做网站收录查询平台
  • 公司方案免费检测网站seo
  • 网站的主题定位品牌的宣传及推广
  • java做网站的主要技术sem对seo的影响有哪些