学习笔记1:深度学习之LSTM神经网络

一、深度学习相关的基础概念

深度学习:基于数据集的质量训练模型

深度学习有三种:

        1、基于监督学习:所有的训练集和测试集都是有标签的,有标准答案的

        2、基于半监督学习:一部分有标签,一部分没有标签

        3、基于无监督学习:没有标签

深度学习的缺点:

        1、首先,深度学习作为一种端到端的解决方法,属于黑盒模型,解释性较差

        2、其次,为了获得满意的模型容量,深度模型包含数层神经网络,参数量往往十分庞大,训练时间长且消耗资源多。

深度神经网络有三种:

        1、前馈神经网络

        2、卷积神经网络CNN

        3、循环神经网络RNN

        其中,前馈神经网络应用最多,CNN适合用于图像处理,RNN适合处理诸如语言、音乐,股票曲线等序列类型的数据。

二、RNN与LSTM

        RNN(循环神经网络)连接存在着大量的环路,信息在传递的过程中有可能长期在网络保留,因此它比普通的前馈神经网络具有更好的记忆能力

        然而,即使加入了神经元之间的环路连接,由于普通人工神经元在处理信息时存在着信号的衰减,RNN的记忆能力仍然不足以应对真实序列中的长期依赖特性

        于是,提出了LSTM(Long Short-Term Memory 长短时记忆)网络模型,通过增加新的门控单元来尽可能长时间地保留信息。

        LSTM的内部结构:包括一个记忆细胞和3个门控开关,分别是输入门,遗忘门和输出门。

三、LSTM的具体结构和工作

推荐李宏毅老师的讲解,讲的很好:视频

        要存入cell里面的input是Z

        操控input gate 的signal是Zi

        操控forget gate 的signal是Zf

        操控output gate 的signal是Zo

        活化方程 f 通常是sigmoid方程(结果在0到1之间,代表gate的打开程度,1是打开/记得的状态,0则是关闭/遗忘

        输入层 xt 乘上相应的权重变成Z,Zi,Zf,Zo去操控相应的gate

四、LSTM模型代码

# LSTM网络
import torch as t

class LstmNet(t.nn.Module):
    def __init__(self,input_size,hidden_size,num_layers,num_classes):
    # input_size:输入元素个数,hidden_size:隐藏层元素个数,num_layers:隐藏层数
        super(LstmNet,self),__init__()
        self.hidden_size=hiddent_size
        self.num_layers=num_layers
        self.lstm=t.nn.LSTM(input_size,hidden_size,num_layers,batch_first=True)
        # batch_first=True主要决定几个参数的顺序。
        self.fc=t.nn.Linear(hidden_size,num_classes) # 输出的全连接网络
    def forward(self,x):
        # 通过x.size(0)获取batch中的元素个数
        # h0和c0的格式为:(层数*方向数,批次数,隐藏层数)
        b_size=x.size(0)
        h0=t.zeros(self.num_layers,b_size,self.hidden_size)
        c0=t.zeros(self.num_layers,b_size,self.hidden_size)
        lstm_out,_=self.lstm(x,(h0,c0))
        fc_out=self.fc(lstm_out[:,-1,:])
        return fc_out

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值