记忆神经网络

记忆神经网络

原来图片是这样的

原来蹄片是这样的

现在图片是这样的,就比较好理解了。(当然只是单层的实现)
在这里插入图片描述

keras 实现如下:

		input_base = layers.Input(shape=(self.sent_len*5,))
        input_question = layers.Input(shape=(self.sent_len,))

        x_base_embeding = layers.Embedding(input_dim=self.word_dic_len, output_dim=self.embeding_len)(input_base)
        x_q_embeding = layers.Embedding(input_dim=self.word_dic_len, output_dim=self.embeding_len)(input_question)

        x_base = layers.Bidirectional(layers.LSTM(units=self.unit_len, return_sequences=True))(x_base_embeding)
        x_q = layers.Bidirectional(layers.LSTM(units=self.unit_len, return_sequences=True))(x_q_embeding)

        x_base2 = layers.Bidirectional(layers.LSTM(units=15 ,return_sequences=True))(x_base_embeding)

        w2w_dot = layers.dot([x_base, x_q], axes=(2,2))
        w2w_dot_soft = layers.Dense(activation="softmax", units=30)(w2w_dot)

        base_sum = layers.add([x_base2, w2w_dot_soft])
        base_sum = layers.Permute((2,1))(base_sum)
        total = layers.concatenate([base_sum, x_q], axis=-1) #转换

        predict_lstm = layers.Bidirectional(layers.LSTM(units=128))(total)

        predict = layers.Dense(units=self.class_num, activation="softmax")(predict_lstm)

        model = Model([input_base, input_question], predict)
        model.compile(optimizer='rmsprop', loss='categorical_crossentropy',
                      metrics=['accuracy'])
        model.summary()

总结:
记忆网络可以看做一个框架,用于QA或者分类等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花咪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值