通过展开序列ISTA(SISTA)算法创建的递归神经网络(RNN)(Matlab代码实现)

news/2024/10/22 11:43:36/

 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

递归神经网络(recursive neural network)是具有树状阶层结构且网络节点按其连接顺序对输入信息进行递归的人工神经网络(Artificial Neural Network, ANN),是深度学习(deep learning)算法之一。

递归神经网络(recursive neural network)提出于1990年,被视为循环神经网络(recurrent neural network)的推广。当递归神经网络的每个父节点都仅与一个子节点连接时,其结构等价于全连接的循环神经网络。递归神经网络可以引入门控机制(gated mechanism)以学习长距离依赖。

递归神经网络具有可变的拓扑结构且权重共享,被用于包含结构关系的机器学习任务,在自然语言处理(Natural Language Processing, NLP)领域有受到关注。

本文包含通过展开序列ISTA(SISTA)算法创建的递归神经网络(RNN)的代码,用于序列稀疏编码。

📚2 运行结果

部分代码:

for a = 1:4

    for b = 1:2
        W2(a, b) = rand();
    end

end

for v = 1:2

    for s = 1:4
        W1(v, s) = rand();
    end

end

% Training patterns
training_sets = [
        1, 0, 0, 0;
        0, 1, 0, 0;
        0, 0, 1, 0;
        0, 0, 0, 1];

% Initialise bias values
b1 = [rand(), rand()];
b2 = [rand(), rand(), rand(), rand()];

% Training iterations
for q = 1:1000

    % Total error
    Err = 0.0;

    % Training each pattern
    for z = 1:4

        % Calculate the output values of input layer
        for k = 1:4
            oi(k, 1) = 1 / (1 + exp(-training_sets(k, z)));
        end

        % Calculate the input values of hidden layer
        ih = W1 * oi + b1';

        % Calculate the output values of hidden layer
        for a = 1:2
            oh(a, 1) = 1 / (1 + exp(-ih(a)));
        end

        % Calculate the input values of output layer
        io = W2 * oh + b2';

        % Calculate the output values of output layer
        for b = 1:4
            oo(b, 1) = 1 / (1 + exp(-io(b)));
        end

        % ---- Total error of each pattern through the MLP ----
        Eot = 0.0;

        for b = 1:4
            Eo(b) = 1/2 * (training_sets(b, z) - oo(b, 1))^2;
            Eot = Eot + Eo(b);
        end

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1] S. Wisdom, T. Powers, J. Pitton, and L. Atlas, “Building Recurrent Networks by Unfolding Iterative Thresholding for Sequential Sparse Recovery,” ICASSP 2017, New Orleans, LA, USA, March 2017

[2] S. Wisdom, T. Powers, J. Pitton, and L. Atlas, “Interpretable Recurrent Neural Networks Using Sequential Sparse Recovery,” arXiv preprint arXiv:1611.07252, 2016. Presented at NIPS 2016 Workshop on Interpretable Machine Learning in Complex Systems, Barcelona, Spain, December 2016


http://www.ppmy.cn/news/512817.html

相关文章

BLE蓝牙模块应用|蓝牙MAC地址二维码扫描打印解决方案

在智能穿戴、智能安防领域,用户需要通过蓝牙MAC地址来完成产品与APP的绑定。为简化产品的使用和管理,厂家会采用蓝牙MAC地址二维码扫描打印解决方案,将蓝牙MAC地址打印成二维码并贴在产品的包装盒或者产品外壳上。本篇带大家了解一下蓝牙MAC地…

BT TWS 听音乐无声问题

最近在调试TWS A2DP功能,发现在听音乐的时候只有一直耳机能听到声音,而另外一支耳机不能听到声音。 分析了一下代码,发现有CRC Error和HEC error,遂加log获取更急详细的信息,并无收获。后来查找data stream的通路&…

TWS耳机学习

1、蓝牙芯片 2、触摸控制 3、录音器 4、扬声器 5、电池(可充电)

BT TWS方案开发感悟

最近一直在开发TWS方案,要从无到有,绕过很多专利壁垒是一件不太容易的事情。 幸好在于原理不是那么复杂,经过一番钻研与探索,基本上成功开发出来了TWS。其中的感悟是,一些事情并不复杂,但是要是加上压力…

18、TWS和IB中的错误处理信息

错误处理 当客户端应用程序向TWS发送消息时,需要具有预期响应的响应(即下订单,请求市场数据,订阅帐户更新等),TWS几乎总是**1)响应相关数据或2)**向IBApi::EWrapper::error发送错误消息。 **可能发生无响应的异常:*如果在TWS v972之前的竞争会话期间(当模拟用户在与…

3、第三方软件中使用TWS API的相关问题

为了使用IB,第三方软件生产商会把TWS API整合到他们自己的平台中。正是由于TWS API的存在,一些知名的平台,比如Ninja Trader 或者 Multicharts可以和TWS进行交互,用于获取市场数据、下单和管理账户、组合的信息。 需要额外注意的是,很多的第三方API平台并不是对于所有的I…

Bes tws 架构

有人想一起学习吗

杰理之开 TWS 开硬件 EQ 在线调试声音变调【篇】

硬件 EQ:#define AUDIO_EFFECT_A2DP (AUDIO_EFFECT_TWS_SYNC | AUDIO_EFFECT_HW_EQ) 软件 EQ: #define AUDIO_EFFECT_A2DP (AUDIO_EFFECT_TWS_SYNC |AUDIO_EFFECT_SW_EQ) //不能开限幅 器