首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将softmax分类器分层为RNN自动编码器

将softmax分类器分层为RNN自动编码器
EN

Stack Overflow用户
提问于 2021-05-23 00:53:51
回答 1查看 183关注 0票数 1

我正在实现的论文是使用带有自动编码器的RNN对异常网络数据进行分类(二进制分类)。他们首先在没有监督的情况下训练模型,然后描述这个过程:

接下来,进行微调训练(监督训练),利用标记样本训练网络的最后一层。采用监督训练准则进行微调,可以进一步优化整个网络。我们使用在顶层有两个通道的软最大回归层

目前,我已经实现了自动编码器:

代码语言:javascript
复制
class AnomalyDetector(Model):
    def __init__(self):
        super(AnomalyDetector, self).__init__()
        self.encoder = tf.keras.Sequential([
            layers.Dense(64, activation="relu"),
            layers.Dense(32, activation="relu"),
            layers.Dense(16, activation="relu"),
            layers.Dense(8, activation="relu")])

        self.decoder = tf.keras.Sequential([
            layers.Dense(16, activation="relu"),
            layers.Dense(32, activation="relu"),
            layers.Dense(64, activation="relu"),
            layers.Dense(79, activation='relu')
        ])

如何在TensorFlow?中实现softmax回归层

我很难理解这个过程,是不是应该在自动编码器中再添加一个层呢?我应该给这个类添加另一个函数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-26 21:06:15

以防万一任何人在未来访问这个-你可以创建一个软最大层通过改变激活。在我的情况下,我选择了乙状结肠激活,因为sigmoid相当于一个双元素softmax。按照文档的说法。

代码语言:javascript
复制
class AnomalyDetector(Model):
    def __init__(self):
        super(AnomalyDetector, self).__init__()
        self.pretrained = False
        self.finished_training = False
        self.encoder = tf.keras.Sequential([
            layers.SimpleRNN(64, activation="relu", return_sequences=True),
            layers.SimpleRNN(32, activation="relu", return_sequences=True),
            layers.SimpleRNN(16, activation="relu", return_sequences=True),
            layers.SimpleRNN(8, activation="relu", return_sequences=True)])

        self.decoder = tf.keras.Sequential([
            layers.SimpleRNN(16, activation="relu", return_sequences=True),
            layers.SimpleRNN(32, activation="relu", return_sequences=True),
            layers.SimpleRNN(64, activation="relu", return_sequences=True),
            layers.SimpleRNN(79, activation="relu"), return_sequences=True])
            layers.SimpleRNN(1, activation="sigmoid")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67655287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档