【PyTorch深度学习-龙龙老师】-测试版202112
https://github.com/dragen1860/Deep-Learning-with-PyTorch-book/issues ❑ 本书主页,以及源代码,电子书下载,正式版也会在此同步更新: https://github.com/dragen1860/Deep-Learning-with-PyTorch-book ❑ 姊妹书《TensorFlow 深度学习—深入理解人工智能算法设计》: 则指向函数值减少的方向。利用这一性质,只 需要按照 ?′ = ? − ? ∙ ∇? (2.1) 来迭代更新?′,就能获得越来越小的函数值,其中?用来缩放梯度向量,一般设置为某较小 的值,如 0.01、0.001 等。特别地,对于一维函数,上述向量形式可以退化成标量形式: ?′ = ? − ? ∙ d? d? 通过上式迭代更新?′若干次,这样得到的?′处的函数值?′,总是更有可能比在?处的函数值? 小。 通过式(2 通过式(2.1)方式优化参数的方法称为梯度下降算法,它通过循环计算函数的梯度∇?并 更新待优化参数?,从而得到函数?获得极小值时参数?的最优数值解?∗。值得注意的是, 在深度学习中,一般?表示模型输入,模型的待优化参数一般用?、?、?等符号表示。 现在利用速学的梯度下降算法来求解?∗和?∗参数。这里要最小化的目标是均方误差函 数ℒ: ℒ = 1 ? ∑(??(?) + ? − ?(0 码力 | 439 页 | 29.91 MB | 1 年前3动手学深度学习 v2.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 11.4.1 随机梯度更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 11.4.2 动态学习率 . . 16.2.3 运行和停止实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749 16.2.4 更新Notebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749 16.3 使用Amazon 我们着手创建的资源可以:(1)每个人都可以免费获得;(2)提供足够的技术深度,为真正成为一名应用机 器学习科学家提供起步;(3)包括可运行的代码,向读者展示如何解决实践中的问题;(4)允许我们和社区 的快速更新;(5)由一个论坛2作为补充,用于技术细节的互动讨论和回答问题。 这些目标经常是相互冲突的。公式、定理和引用最好用LaTeX来管理和布局。代码最好用Python描述。网页 原生是HTML和Jav0 码力 | 797 页 | 29.45 MB | 1 年前3机器学习课程-温州大学-02深度学习-神经网络的编程基础
梯度下降的每一步中,用到一个样本,在每一次计算之后 便更新参数 ,而不需要首先将所有的训练集求和 小批量梯度下降(Mini-Batch Gradient Descent,MBGD) 梯度下降的每一步中,用到了一定批量的训练样本 12 梯度下降的三种形式 批量梯度下降(Batch Gradient Descent) 梯度下降的每一步中,都用到了所有的训练样本 参数更新 ??: = ?? − ? 1 ? ?=1 ? ℎ ?(?) − ?(?) ⋅ ?? (?) (同步更新?? ,(j=0,1,...,n )) 梯度 学习率 13梯度下降的三种形式 随机梯度下降(Stochastic Gradient Descent) ? = ? − ? ⋅ ??(?) ?? = ? ??? 1 2 ℎ ? ? − ? ? 2 = 2 ⋅ 1 2 ℎ ? ? − ? ? ⋅ ? 梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数,而不 需要首先将所有的训练集求和 参数更新 ??: = ?? − ? ℎ ?(?) − ?(?) ??(?) (同步更新?? ,(j=0,1,...,n )) 15 梯度下降的三种形式 小批量梯度下降(Mini-Batch Gradient Descent) 梯度下降的每一步中,用到了一定批量的训练样本 每计算常数?次训练实例,便更新一次参数 ? ?=1(随机梯度下降0 码力 | 27 页 | 1.54 MB | 1 年前3Keras: 基于 Python 的深度学习库
N 个样本的集合。每一个 batch 的样本都是独立并行处理的。在训练时, 一个 batch 的结果只会用来更新一次模型。 - 一个 batch 的样本通常比单个输入更接近于 总体输入数据的分布,batch 越大就越近似。然而,每个 batch 将花费更长的时间来处理, 并且仍然只更新模型一次。在推理(评估/预测)时,建议条件允许的情况下选择一个尽可 能大的 batch,(因为较大的 batch validation_split=0.2) print(hist.history) 快速开始 33 3.3.14 如何「冻结」网络层? 「冻结」一个层意味着将其排除在训练之外,即其权重将永远不会更新。这在微调模型或使 用固定的词向量进行文本输入中很有用。 您可以将 trainable 参数(布尔值)传递给一个层的构造器,以将该层设置为不可训练的: frozen_layer = Dense(32 Model(x, y) # 在下面的模型中,训练期间不会更新层的权重 frozen_model.compile(optimizer='rmsprop', loss='mse') layer.trainable = True trainable_model = Model(x, y) # 使用这个模型,训练期间 `layer` 的权重将被更新 # (这也会影响上面的模型,因为它使用了同一个网络层实例)0 码力 | 257 页 | 1.19 MB | 1 年前3机器学习课程-温州大学-02机器学习-回归
梯度下降的每一步中,用到一个样本,在每一次计算之后 便更新参数 ,而不需要首先将所有的训练集求和 小批量梯度下降(Mini-Batch Gradient Descent,MBGD) 梯度下降的每一步中,用到了一定批量的训练样本 14 梯度下降的三种形式 批量梯度下降(Batch Gradient Descent) 梯度下降的每一步中,都用到了所有的训练样本 参数更新 ??: = ?? − ? 1 ? ?=1 ? ℎ ?(?) − ?(?) ⋅ ?? (?) (同步更新?? ,(j=0,1,...,n )) 梯度 学习率 15梯度下降的三种形式 随机梯度下降(Stochastic Gradient Descent) ? = ? − ? ⋅ ??(?) ?? = ? ??? 1 2 ℎ ? ? − ? ? 2 = 2 ⋅ 1 2 ℎ ? ? − ? ? ⋅ ? 梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数,而不 需要首先将所有的训练集求和 参数更新 ??: = ?? − ? ℎ ?(?) − ?(?) ??(?) (同步更新?? ,(j=0,1,...,n )) 17 梯度下降的三种形式 小批量梯度下降(Mini-Batch Gradient Descent) 梯度下降的每一步中,用到了一定批量的训练样本 每计算常数?次训练实例,便更新一次参数 ? ?=1(随机梯度下降0 码力 | 33 页 | 1.50 MB | 1 年前3机器学习课程-温州大学-08机器学习-集成学习
12 Adaboost算法 算法思想 • 初始化训练样本的权值分布,每个样本具有相同权重; • 训练弱分类器,如果样本分类正确,则在构造下一个训练集中,它的权值 就会被降低;反之提高。用更新过的样本集去训练下一个分类器; • 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分 类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。 13 AdaBoost算法 带权重1的训 练集 训练 数据 结合 策略 弱学习器1 基于学习的误差率1 更新学习器权重1 弱学习器2 基于学习的误差率2 更新学习器权重2 弱学习器n 基于学习的误差率n 更新学习器权重n 根据权重1更新样本权重2 根据权重n-1更新样本权重n 强学 习器 相同方式更新…… 15 GBDT算法 GBDT(Gradient Boosting Decision = 0 2 对? = 1,2, … ? (?)计算残差 ??? = ?? − ??−1 ?? , ? = 1,2, … , ? ? 拟合残差???学习一个回归树,得到?(?: ??) ? 更新??(?) = ??−1 ? + ? ?: ?? 3 得到回归提升树 ?? ? = ?=1 ? ?(?: ??) GBDT算法 21 min ? min ?1 (?? − ?1)20 码力 | 50 页 | 2.03 MB | 1 年前3从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱
训练框架—基于参数服务器架构的分布式训练框架 TB级模型 分⽚ 存储/更新 百TB数据 分⽚训练 Feature 1: 动态空间 Feature 2.1:短时间内只有部分item和user 被命中,只有部分参数被⽤到 参数按需 获取/更新 Storage 异步训练流⽔线和多级存储:提升性能,降低内存成本 � 问题: � Learner线程中参数拉取和参数更新对性能影响⼤ � 内存成为主要资源瓶颈。由于需要等待全部参数 参数拉 取 训练 参数更新 查询Sparse Table 查询Dense Tensor Reader Learner Worker 返回参数 Request Handler Parameter Server 查询Sparse Table 查询Dense Tensor 更新参数 � 常规训练流⽔线 样本读取 样本解析 参数拉取 参数更新 查询Sparse Table Reader Learner Worker 返回参数 Request Handler Parameter Server 更新参数 � 异步参数处理流⽔线 参数 预准备 Batch⼊队列 Batch⼊队列 � 效果: � 在不影响训练效果的情况下,降低参数准备与更新耗时,提 ⾼训练速度。训练耗时下降超50% � 异步storage线程,⽀持基于冷热数据的多级存储。内存消 耗下降30%-70%0 码力 | 22 页 | 6.76 MB | 1 年前3机器学习课程-温州大学-06深度学习-优化算法
梯度下降的每一步中,用到了一定批量的训练样本 每计算常数?次训练实例,便更新一次参数 ? ?=1(随机梯度下降,SGD) ?=m(批量梯度下降,BGD) ?=batch_size,通常是2的指 数倍,常见有32,64,128等。 (小批量梯度下降,MBGD) 参数更新 ??: = ?? − ? 1 ? ?=? ?+?−1 ℎ ?(?) − ?(?) ?? (?) (同步更新?? ,(j=0,1,...,n )) + (1 − ?)??2,再说一次,平 方是针对整个符号的操作。 接着RMSprop会这样更新参数值,?: = ? − ? ?? ???,?: = ? − ? ?? ???, 12 ADAM Adam优化算法基本上就是将Momentum和RMSprop结合在一起 最后更新权重,所以?更新后是?: = ? − ???? corrected ??? corrected+? (如果你只是用 (如果你只是用 Momentum,使用???或者修正后的???,但现在我们加入了RMSprop的 部分,所以我们要除以修正后???的平方根加上?)。 根据类似的公式更新?值,?: = ? − ??db corrected ?db corrected+? 。 13 学习率衰减 加快学习算法的一个办法就是随时间慢慢减少学习率,我们将之称为学习率衰减 可以将?学习率设为? = 10 码力 | 31 页 | 2.03 MB | 1 年前3pytorch 入门笔记-03- 神经网络
定义包含一些可学习的参数(或者叫权重)神经网络模型; 2. 在数据集上迭代; 3. 通过神经网络处理输入; 4. 计算损失(输出结果和正确值的差值大小); 5. 将梯度反向传播回网络的参数; 6. 更新网络的参数,主要使用如下简单的更新原则: weight = weight - learning_rate * gradient 原文链接:pytorch 入门笔记 -03- 神经网络 定义网络 开始定义一个网络: 点,每一个Tensor 的操作都会创建一个接到创建Tensor 和编码其历史 的函数的Function 节点。 重点如下: ● 定义一个网络 ● 处理输入,调用 backword 还剩: ● 计算损失 ● 更新网络权重 原文链接:pytorch 入门笔记 -03- 神经网络 损失函数 一个损失函数接受一对 (output, target) 作为输入,计算一个值来估计网络的输出和目标值相差多少。 译者注:output 0018]) 如何使用损失函数 稍后阅读: nn 包,包含了各种用来构成深度神经网络构建块的模块和损失函数,完整的文档请查看 here。 剩下的最后一件事: ● 新网络的权重 更新权重 在实践中最简单的权重更新规则是随机梯度下降(SGD): weight = weight - learning_rate * gradient 我们可以使用简单的 Python 代码实现这个规则: learning_rate0 码力 | 7 页 | 370.53 KB | 1 年前3机器学习课程-温州大学-15深度学习-GAN
的判别准确率最大化; 然后固定判别器 D, 优化生成器 G, 使得 D 的 判别准确率最小化. 当且仅当????? = ??时达到全局最优解. 训练 GAN 时, 同一轮参数更新中, 一般对 D 的参数更新 k 次再对 G的参数更新 1 次. 2. GAN的理论与实现模型 17 GAN的衍生模型 GAN的理论与实现模型 CGAN EBGAN Info GAN DCGAN Improved GAN 来表征对话之间的隐式关联性,从而生成对话文本。 b. 用 CNN 作为判别器, 判别器基于拟合 LSTM 的输出,用矩匹配来解决优化 问题;在训练时,和传统更新多次判别器参数再更新一次生成器不同, 需要多 次更新生成器再更新 CNN 判别器。 SeqGAN 基于策略梯度来训练生成器。 c. 用GAN 基于文本描述来生成图像,文本编码被作为生成器的条件输入,同 时为了利用文本编码信息,0 码力 | 35 页 | 1.55 MB | 1 年前3
共 30 条
- 1
- 2
- 3