O "New Neural" é um projecto de motor de rede neural Open Source para a plataforma MetaTrader 5.

 
TheXpert:

A primeira coisa a fazer é ter um novo e simples fórum para o projeto.

Acho que precisamos de fazer um projecto sobre Sorsforge e mudar a discussão para lá imediatamente.

A primeira coisa a fazer é fazer um brainstorming, precisamos de uma base de dados de ideias, por mais surrealista que seja, e o tópico do fórum (devido à sua abertura) é a melhor forma de o fazer.

Todos podem invadir os fóruns, mesmo os não-especialistas. As sugestões de tempestade são melhor destacadas do resto do texto em cores.

Por exemplo: faça um motor gráfico para criar uma grade, antes de ligar o motor, defina o número de camadas, depois a janela de entrada para cada camada pelo número de neurônios, depois as linhas de tendência que o usuário adiciona definem as conexões.

 
TheXpert:

Andrei, importas-te que façamos uma sessão de brainstorming a partir deste fio?

Claro que sim. É para isso que serve este fio.
 

Temas da agressão:

-- Tipo de projeto (a forma como o usuário interage com o projeto)

-- Redes a serem implementadas no projeto

-- Pré-processamento e tudo o que está envolvido

-- Arquitetura, interfaces

-- Implementação, conectividade.

-- A testar, a depurar.

Proibido: criticar qualquer, mesmo a ideia mais ilusória, inundação. O nível de competência não importa. Se você está interessado e tem pensamentos, fale mais alto!

É bem-vindo: propor novas ideias, desenvolver ideias já existentes.

 
TheXpert:
...

Talvez eu deva acrescentar:

-- Pós-processamento

Na minha opinião, deve ser dada especial atenção às interfaces dos módulos individuais, com a expectativa de escalabilidade (ligar/desligar diferentes sinais, capacidade de criar comités de redes, etc.). Daí a necessidade de separar a própria rede (a própria rede, por exemplo, MLP com duas camadas ocultas leva apenas algumas dezenas de linhas, exemplo no atacha) do algoritmo de aprendizagem.

Arquivos anexados:
F_MLP.mqh  5 kb
 

normalização dos vectores, visualização dos dados de entrada e saída,

usar Neurosolutions construtor externo, usar DLL com Neurosolutions, niterface ...

interfaces para carregar e descarregar dados: vetores, pesos,

EDNA Evolutionary Design Network Architecture

A capacidade de seleccionar - personalizar as funções de activação, os algoritmos de aprendizagem,

 
njel:
Provavelmente um dos chips é que não vai haver uma dlloc.
 

...é o que parece:

Tipo de projeto: biblioteca de classes,

1) método de interação - usando (amplamente documentado) API no código dos seus sistemas .

Presumo que a aplicação prática da biblioteca será:

  1. Redação rápida de utilitários próprios ? (como devo chamá-lo) - especificar o tipo de rede necessária, formar sua configuração, prescrever o que vamos alimentar com ela (amostra de treinamento), etc.
    Cada uma dessas utilidades pode servir como uma aplicação separada com parâmetros de entrada. Execute-o no testador e obtenha uma rede treinada como um arquivo(FILE_COMMON)

  2. Como escrever EAs que podem utilizar arquivo( s) de redes treinadas?

2) segunda forma de interação. Aplicação GUI para simplificar a criação de utilitário de criação/treinamento de rede - até parâmetros de tipo, etc. - isso é fácil. mas tipos diferentes têm configurações diferentes? + como definir na IU o que alimentar a rede? é mais fácil defini-lo no código. É possível incorporar a criação de um modelo de utilidade de geração de rede no meta-editor, como um assistente de criação de rede neural? A saída é o código acabado, a única coisa que você precisa para especificar o que é alimentado na entrada da rede?


P.S. acima joo foi sugerido para usar "interfaces de módulos individuais com a expectativa de escalabilidade", eles só precisam ser gerados em meta-editor baseado no assistente, e o algoritmo de aprendizagem deve ser terminado

 
Joo:

Aqui, sugiro que se definam as metas e objectivos do projecto. Discutir detalhes e nuances.

Se bem entendi, a idéia é algo como FANN, só que muito mais ampla e geral? Mesmo sabendo avaliar as perspectivas de tal monstro, é uma enorme camada de imensidão) Tantos detalhes e nuances. Mesmo no pequeno pedaço de código postado joo, não fazia sem afiar para uma implementação em particular (o número 7 na função de ativação é provável a partir deste opus). As redes neurais consistem inteiramente em tais detalhes. Com interesse vou acompanhar o projeto e tentar não atrapalhar, mas até agora não tenho idéia - é possível, em princípio, por alguns entusiastas ....

 

Redes neurais modulares

É possível adicionar a capacidade de treinar uma grande rede em partes, na verdade é treinamento de comitês, mas sem os problemas de combinar redes em um único sistema.
Модулярні нейронні мережі — Вікіпедія
  • uk.wikipedia.org
Модулярна нейронна мережа (англ. ) — група нейронних мереж (які в даному випадку називаються модулями), що керуються певним посередником. Кожна нейронна мережа слугує модулем і оперує окремими входами для вирішення певних підзавдань із групи завдань, які повинна виконати модулярна нейронна мережа. [1] Посередник приймає вихідні сигнали кожного...
 
Figar0:

Se bem entendi, a idéia é algo como FANN, só que muito mais ampla e geral?

Muito "mais amplo" e "geral". :)

Por que se preocupar de outra forma?

Figar0:

Tantos detalhes e nuances. Mesmo no pequeno pedaço de código postado joo, não fazia sem afiar para uma implementação em particular (o número 7 na função de ativação é provável a partir deste opus). As redes neurais consistem inteiramente de tais partes.

Isto é exactamente onde não é. O dígito 7 na função de ativação é o fator de escala, de modo que o gráfico de curvatura sigmóide cai na faixa [-1,0;1,0].

Sugiro ainda a utilização desta gama para entradas e saídas de todos os tipos de grelha para evitar confusão e assegurar a mesma interface. É por isso que eu coloquei 7 lá - em antecipação aos meus projetos futuros.

No entanto, este coeficiente pode ser formado como variável, então torna-se possível ajustar a curvatura do sigmóide em todos os neurônios com FA (desde comutação lógica, até simples escalas lineares, incluindo uma seção intermediária com transformação não linear em S)