![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
自带buff
这个作者很懒,什么都没留下…
展开
-
自己动手实现深度学习框架-8 RNN文本分类和文本生成模型
代码仓库: https://github.com/brandonlyg/cute-dl目标 上阶段cute-dl已经可以构建基础的RNN模型。但对文本相模型的支持不够友好, 这个阶段的目标是, 让框架能够友好地支持文本分类和本文生成任务。具体包括:添加嵌入层, 为文本寻找高效的向量表示。添加类别抽样函数, 根据模型输出的类别分布抽样得到生成的文本。使用imdb-review数据集验证文本分类模型。使用一个古诗数据集验证文本生成模型。&n原创 2020-06-15 11:03:04 · 693 阅读 · 0 评论 -
自己动手实现深度学习框架-7 RNN层--GRU, LSTM
代码仓库: https://github.com/brandonlyg/cute-dl目标 这个阶段会给cute-dl添加循环层,使之能够支持RNN–循环神经网络. 具体目标包括:添加激活函数sigmoid, tanh.添加GRU(Gate Recurrent Unit)实现.添加LSTM(Long Short-term Memory)实现.使用基于GRU和LSTM的RNN模型拟合一个正余弦叠加函数.RNN原理原始的RNN 原创 2020-06-08 15:30:14 · 856 阅读 · 0 评论 -
自己动手实现深度学习框架-6 卷积层和池化层
代码仓库: https://github.com/brandonlyg/cute-dl(转载请注明出处!)目标 上个阶段使用MLP模型在在MNIST数据集上实现了92%左右的准确率,达到了tensorflow同等模型的水平。这个阶段要让cute-dl框架支持最简单的卷积神经网络, 并在MNIST和CIFA10数据上验证,具体来说要达到如下目标:添加2D卷积层。添加2D最大池化层。CNN模型在MNIST数据集上达到99%以上的准确率。CNN原创 2020-05-18 18:04:47 · 687 阅读 · 0 评论 -
自己动手实现深度学习框架-5 使用学习率优化器加快模型训练速度
代码仓库: https://github.com/brandonlyg/cute-dl目标增加学习率优化器, 加快模型在小学习率下模型的训练速度。使用MNIST数据集比较同一个模型使用不同学习率优化器的表现。常见的学习率优化算法 在上个阶段,我们使用固定学习率优化器训练识别MNIST手写数字模型。在后面的示例中将会看到: 如果学习...原创 2020-04-27 17:20:47 · 514 阅读 · 0 评论 -
自己动手实现深度学习框架-4 使用交叉熵损失函数支持分类任务
目录目标实现交叉熵损失函数数学原理分解交叉熵损失函数梯度推导交叉熵损失函数的特殊情况: 只有两个类别实现代码在MNIST数据集上验证总结代码仓库: https://github.com/brandonlyg/cute-dl目标增加交叉熵损失函数,使框架能够支持分类任务的模型。构建一个MLP模型, 在mnist数据集上执行分类任务准确率达到91%。实现交叉熵损失函数数学原理分解交...原创 2020-04-21 17:08:19 · 304 阅读 · 0 评论 -
自己动手实现深度学习框架-3 自动分批训练, 缓解过拟合
目录目标实现自动分批训练设计方案fit方法fit方法触发的事件训练历史记录(history)代码fit方法实现实现L2正则化参数优化器设计方案数学原理代码增强Optimizer功能实现L2正则化优化器在Session中支持广义参数优化器实现随机丢弃层: Dropout数学原理代码验证对比基准使用L2优化器缓解过拟合使用Dropout层缓解过拟合总结代码仓库: https://github.com...原创 2020-04-16 12:25:48 · 826 阅读 · 0 评论 -
自己动手实现深度学习框架-2 核心实现
目录目标框架代码简介层(Layer)和层参数(LayerParam)激活函数(Activation)模型(Model)训练上下文会话(Session)损失函数(Loss)学习率优化器(Optimizer)MLPS示例验证1: 使用线性模型拟合目标函数验证2:使用同样多参数的非线性模型拟合目标函数验证3: 增加模型复杂度减少训练数据验证3: 仍然使用较少的训练数据但降低模型的复杂度总结目标&n...原创 2020-04-13 11:59:51 · 653 阅读 · 0 评论 -
自己动手实现深度学习框架-1 架构设计
前言 随着tensorflow2的发布, 构建一个复杂的深度学习模型变得容易很多,与此同时更多的原理及细节被隐藏起来了,很容易让人知其然而不知其所以然。如果要了解那些隐藏在简单表象下的原理和细节,首先想到的是阅读它的代码。然而这并不是一件容易的事,核心原理相关代码淹没在大量工程优化代码中,让人很难抓出要点。例如tensorflow使用了GPU技术用来加速模型的训...原创 2020-04-10 17:20:13 · 1124 阅读 · 0 评论