Discussão do artigo "Redes neurais em trading: Transformer parâmetro-eficiente com atenção segmentada (PSformer)"

 

Novo artigo Redes neurais em trading: Transformer parâmetro-eficiente com atenção segmentada (PSformer) foi publicado:

Apresentamos o novo framework PSformer, que adapta a arquitetura do Transformer puro para resolver tarefas de previsão de séries temporais multivariadas. O framework é baseado em duas inovações principais: o mecanismo de compartilhamento de parâmetros (PS) e a atenção aos segmentos espaço-temporais (SegAtt).

Os autores do trabalho "PSformer: Parameter-efficient Transformer with Segment Attention for Time Series Forecasting" investigam desenvolvimentos inovadores de modelo baseados no Transformer para resolver tarefas de previsão de séries temporais multivariadas, considerando a ideia de compartilhamento de parâmetros.

Eles propõem um codificador baseado na arquitetura Transformer com uma estrutura de atenção segmentada em dois níveis, sendo que cada nível do modelo inclui um bloco com parâmetros compartilhados. Esse bloco contém três camadas totalmente conectadas com conexão residual, o que permite manter o número total de parâmetros em um nível baixo, garantindo uma troca eficiente de informações entre as partes do modelo. Para focar a atenção nos segmentos, é aplicado o método de patching, que divide as séries das variáveis em patches separados. Em seguida, os patches que ocupam a mesma posição em variáveis diferentes são agrupados em segmentos. Assim, cada segmento representa uma extensão espacial de um patch de uma variável, o que permite dividir uma série temporal multivariada em vários segmentos.

A atenção dedicada a cada segmento visa aprimorar a identificação de conexões espaço-temporais locais, enquanto a integração das informações entre segmentos contribui para aumentar a precisão geral das previsões. A aplicação do método de otimização SAM permite que os autores do framework reduzam ainda mais o overfitting sem comprometer a eficácia do treinamento. Extensos experimentos realizados pelos criadores do PSformer com dados para previsão de séries temporais de longo prazo demonstram a alta eficácia da arquitetura proposta. O PSformer apresenta resultados competitivos em comparação com modelos de ponta, alcançando o melhor desempenho em 6 de 8 tarefas-chave de previsão de séries temporais.


Autor: Dmitriy Gizlyk

 

Observei que o segundo parâmetro 'SecondInput' não é usado, pois o método feedForward do CNeuronBaseOCL com dois parâmetros chama internamente a versão de parâmetro único. Você pode verificar se isso é um bug?

class CNeuronBaseOCL : public CObject

{

...

virtual bool feedForward(CNeuronBaseOCL *NeuronOCL);

virtual bool feedForward(CNeuronBaseOCL *NeuronOCL, CBufferFloat *SecondInput) { return feedForward(NeuronOCL); }

..

}

Actor.feedForward((CBufferFloat*)GetPointer(bAccount), 1, false, GetPointer(Encoder),LatentLayer); ??

Encoder.feedForward((CBufferFloat*)GetPointer(bState), 1, false, GetPointer(bAccount)); ???