02-25:RNN算法

RNN算法

1、RNN算法原理

单个序列
多个序列
整体介绍
循环神经网络工作原理

(1)RNN变种GRU

1
2
3
4

(2)RNN变种LSTM

LSTM模型架构
1
2
3

LSTM缺点分析:

4

todo:

1、残差网络原理

2、RNN部分解决梯度消失问题,但记住的序列长度仍有限的深度理解


参考资料4:

【个人整理】长短是记忆网络LSTM的原理以及缺点

https://blog.csdn.net/qq_27825451/article/details/89015513


2、一个实例代码

class RNN(tf.keras.Model):

    def __init__(self, num_chars, batch_size, seq_length):

        super().__init__()

        self.num_chars = num_chars

        self.seq_length = seq_length

        self.batch_size = batch_size

        self.cell = tf.keras.layers.LSTMCell(units=256)

        self.dense = tf.keras.layers.Dense(units=self.num_chars)


    def call(self, inputs, from_logits=False):

        inputs = tf.one_hot(inputs, depth=self.num_chars)      # [batch_size, seq_length, num_chars]

        state = self.cell.get_initial_state(batch_size=self.batch_size, dtype=tf.float32)

        for t in range(self.seq_length):

            output, state = self.cell(inputs[:, t, :], state)

        logits = self.dense(output)

        if from_logits:

            return logits

        else:

            return tf.nn.softmax(logits)


参考资料:

1、人人都能看懂的GRU

https://zhuanlan.zhihu.com/p/32481747

2、人人都能看懂的LSTM

https://zhuanlan.zhihu.com/p/32085405

3、循环神经网络(RNN)

https://www.bookstack.cn/read/TensorFlow2.0/spilt.4.c868281a01ad8ec0.md

4、【个人整理】长短是记忆网络LSTM的原理以及缺点

https://blog.csdn.net/qq_27825451/article/details/89015513

你可能感兴趣的:(02-25:RNN算法)