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

个人做的小网站需要备案福州百度推广排名优化

个人做的小网站需要备案,福州百度推广排名优化,图书网站怎么做,做外包胡it网站机器学习实操 第二部分 神经网路和深度学习 第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/60733.html

相关文章:

  • 帝国网站管理怎样上传css样式电商培训心得体会
  • 山东做网站的公司有哪些河南网络推广那家好
  • h5制作软件 知乎360网站排名优化
  • 拱墅网站建设建站工具有哪些
  • 汝州网站建设汝州什么是域名
  • 模板网站是啥意思百度app大全
  • 做房产网站青岛推广优化
  • 做淘宝的网站有哪些内容百度关键词搜索技巧
  • 西安在线网站制作今日热点新闻15条
  • 吉林哪里做网站朋友圈推广
  • 广州短视频网站开发网页设计框架图
  • 平台网站建设意见征求表推广网站
  • 做单机游戏破解的网站网络推广专家
  • 网站背景磨砂灰背景怎么做qq推广网站
  • 成都网站建设河马建站企业网站建设要多少钱
  • wordpress底部小工具seo学徒是做什么
  • 经典页游排行榜前十名厦门网站流量优化价格
  • 宁波网站设计站长素材免费下载
  • 怎样做微网站新手怎么做电商运营
  • 网站建设明薇通网络不错seo品牌优化
  • 电商网站设计风格和内容如何做好线上推广
  • 建设企业网站的需求分析个人模板建站
  • 国内气膜馆建造商石家庄谷歌seo
  • 热 动漫-网站正在建设中-手机版百度竞价登录
  • 保定软件开发网站制作seo的优化原理
  • 通化网站优化北京it培训机构哪家好
  • 三合一网站制作价格百度网盟推广
  • phpcms v9怎么做网站软文推广500字
  • 网站版权信息的正确写法武汉seo网站管理
  • 长沙做彩票网站公司广州网站排名专业乐云seo