![](https://img-blog.csdnimg.cn/61cbb051731e45cb890a4391c7788a92.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习
文章平均质量分 90
记录深度学习领域的相关方法,以及PyTorch框架对于深度学习的代码实现。
Training.L
我思故我在
展开
-
强化学习模型研讨班
强化学习的模型:马尔科夫决策过程1. 强化学习的定义强化学习(Reinforcement Learning. RL)又称为鼓励学习、评价学习或增强学习,是机器学习的重要组成部分之一,用于描述和解决智能体(Agent)在与环境(Enviroment)交互过程中通过学习策略(Policy)以达到回报(Reward)最大化或实现特定目标的问题。2、强化学习和其他机器学习领域的区别和联系强化学习是和监督学习、非监督学习并列的第三种机器学习方法。强化学习和监督学习的区别:强化学习不需要事先准备好训练数据,原创 2022-04-13 14:13:01 · 1194 阅读 · 0 评论 -
深度学习远程服务器配置
深度学习远程服务器配置 在深度学习的科研任务中,很多模型的运行都会用到 GPU 和显存,如果个人计算机的配置有限,我们通常会在单位提供的算力更高、性能更好的服务器上跑大型的模型代码。当然,在正式使用服务器之前,需要向服务器的管理员申请个人账号,然后在自己的工作目录下进行深度学习的环境配置。1. 服务器安装 Anaconda 我们配置深度学习的 Python 环境时,一般会用到 Anaconda 包管理工具(里面自带 Python 和很多模块),可以在清华的镜像网站 https://repo.ana原创 2022-02-27 00:02:35 · 2450 阅读 · 1 评论 -
详解深度学习之 Embedding
深入理解深度学习之 Embedding1. 从 one-hot 编码引入 Embedding在正式介绍 Embedding 之前,我们必须先理解它提出的背景,也就是说研究者提出 Embedding 是为了解决什么问题。首先我们有一个 one-hot 编码的概念。我们知道神经网络是不能处理字符数据的,所以在文本预处理中对一句话进行数值编码,比如对于一句话“我 从 哪 里 来 要 到 何 处 去”,我们可能会很直观的对每个字进行 从 0 到 N(N 表示所有不同字符的个数) 这样的索引编码,于是就有:[原创 2021-12-09 15:30:21 · 16339 阅读 · 4 评论 -
从交叉熵角度理解困惑度(perplexity)
从交叉熵理解困惑度我们通常使用**困惑度(perplexity)来评价语言模型的好坏。通过理解困惑度,也可以让我们更加深入的理解交叉熵(CrossEntropy)**的意义,也可以轻易量化模型的性能。回顾交叉熵以及多分类问题的损失函数。假设现有 NNN 个数据样本,其中样本的标签为 Yi(i=1,2,⋯ ,N)Y_i(i=1,2,\cdots,N)Yi(i=1,2,⋯,N),而模型对样本的预测值记为 Yi^(i=1,2,⋯ ,N)\widehat{Y_i}(i=1,2,\cdots,N)Yi(i=原创 2021-12-08 17:13:30 · 3412 阅读 · 0 评论 -
现代循环神经网络
现代循环神经网络1. 深度循环神经网络目前为止介绍的循环神经网络只有一个单向的隐藏层,在深度学习应用里,我们通常会用到含有多个隐藏层的循环神经网络,也称作深度循环神经网络。下图中展示了一个有 LLL 个隐藏层的深度循环神经网络,每个隐藏状态不断传递至当前层的下一时间步和当前时间步的下一层。具体来说,在时间步 ttt 里,设小批量的输入 Xt∈Rn×dX_t \in R^{n \times d}Xt∈Rn×d (样本数为 nnn, 输入特征维度为 ddd) ,第 lll 隐藏层 (l=1,2,⋯ ,原创 2021-12-06 11:14:25 · 950 阅读 · 0 评论 -
循环神经网络之LSTM、GRU
循环神经网络之LSTM、GRU1. 什么是 LSTM?LSTM(Long short-term memory,长短期记忆)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单而言,LSTM是相比与普通RNN在更长序列数据中表现更好的一类循环神经网络。2. 深入理解 LSTM 结构首先使用 LSTM 的当前输入状态 xtx_txt 和上一个传递下来的状态 ht−1h_{t-1}ht−1 拼接得到 4 个门控状态。zf=σ(Wf⋅[ht−1,x]+bf)=σ(Wf⋅h原创 2021-12-06 10:10:57 · 1379 阅读 · 0 评论 -
RNN的时间反向传播原理
RNN的时间反向传播原理 本节将介绍循环神经网络中梯度的计算和存储方法,即通过时间反向传播(back-propagation through time)。正向传播在循环神经网络中比较直观,而通过时间反向传播其实是反向传播在循环神经网络中的具体应用。我们需要将循环神经网络按时间步展开,从而得到模型变量和参数之间的依赖关系,并依据链式求导法则应用反向传播计算并存储梯度。1. 定义模型简单起见,我们考虑一个无偏置项的循环神经网络,且激活函数简化为恒等映射 ϕ(x)=x\phi(x)=xϕ(x)=x。设时间原创 2021-12-05 15:26:54 · 2326 阅读 · 0 评论 -
基于字符级循环神经网络的语言模型
本节我们介绍如何应用循环神经网络来构建一个语言模型。设小批量中样本数为 1,文本序列为 "h"、"e"、"l"、"l"、"e"。如何使用循环神经网络基于当前和过去的字符来预测下一个字符。在训练时,我们对每个时间步的输出层输出使用 softmax 运算,然后使用交叉熵损失函数来计算它与标签的误差。原创 2021-12-04 14:02:30 · 940 阅读 · 0 评论 -
使用PyTorch实现简单的RNN
使用PyTorch实现简单的RNN假设 Xt∈Rn×dX_t \in R^{n \times d}Xt∈Rn×d 是序列中时间步 ttt 的小批量输入,Ht∈Rn×hH_t \in R^{n \times h}Ht∈Rn×h 是该时间步输入的隐藏变量。计算过程如下::Ht=ϕ(XtWdh+Ht−1Whh+bh)H_{t}=\phi(X_tW_{dh}+H_{t-1}W_{hh}+b_h)Ht=ϕ(XtWdh+Ht−1Whh+bh)其中,隐藏层的权重 Wdh∈Rd×hW_{dh} \原创 2021-12-03 21:23:47 · 4946 阅读 · 1 评论 -
从多层感知机理解RNN
多层感知机引入RNN 本节将介绍循环神经网络处理时序类型的数据,它并非刚性地记忆所有固定长度的序列,而是通过隐藏状态来存储之前的时间步信息。首先我们回顾一下多层感知机,然后描述如何添加隐藏状态了将它变成循环神经网络。1.1 不含隐藏状态的神经网络我们先考虑一个含单隐藏层的多层感知机。给定样本数为 nnn、输入个数(特征数或特征向量维度)为 ddd 的小批量数据样本 X∈Rn×dX \in R^{n \times d}X∈Rn×d 。设隐藏层的激活函数为 ϕ\phiϕ,那么隐藏层的输出 H∈Rn×原创 2021-12-03 10:23:42 · 323 阅读 · 0 评论