O "New Neural" é um projecto de motor de rede neural Open Source para a plataforma MetaTrader 5. - página 73
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
O Pré-Processador é para este mesmo fim
Quer você tenha 2 ou 100 neurônios, o arquivo parece o mesmo.
Bem, ninguém o impede de o fazer graficamente - basta escrever uma GUI e usá-la.
Bem, não vamos cortar o ombro, vamos colocá-lo em linhas claras. Não é um facto que seja o mesmo para os outros, mas para mim a forma de carregamento que expus acima é óbvia em termos de algoritmo de carregamento:
ler uma string, inicializar objetos do tipo 3 camadas,
lemos a primeira linha, depois chamamos o objecto da primeira camada, construímos a entrada tipo camada, inicializamos a matriz de 2 neurónios.
ler a segunda linha, depois chamar a segunda camada de objeto, construir a camada tipo mlp, inicializar a matriz de 2 neurônios.
ler a terceira linha, depois chamar o objeto da segunda camada, construir o tipo de camada mlp, inicializar a matriz de neurônios de 1.
Como o número de camadas é de 3, terminamos a construção na terceira linha e atribuímos as ligações.
para fazer isso, nós vamos através da tabela e chamamos os neurónios necessários, dizendo-lhes os links se a tabela contém 1.
E como funcionaria o algoritmo em xml?
ZS e a principal vantagem é que, como a mesa de conexão é binária, é perfeitamente ligável. A mesa para 8 neurônios cabe em um ulong. É verdade que, quanto mais longe na floresta, mais grossos os partidários em geral, o tamanho com um grande número de neurónios é calculado como
X=N*N/8
onde N é o número de neurónios,
X é o número de bytes.
Desvantagens
Proponho o XML como padrão para armazenar configurações, redes, configurações, ...
E só é necessário nas fases de inicialização/armazenamento.
No processo de fluxo de trabalho, e mais ainda no processo de aprendizagem, não há a questão do XML
Peço desculpa pelo plágio.
Sim, mas por alguma razão monstros como Oracle, Microsoft, ... ranger os dentes para afastar os seus padrões "binários" (geralmente comerciais) e virar-se para padrões abertos
Subtrair 10 MBytes de XML não é um problema para os computadores modernos
MS Word .docx documento de 100 MBytes não é intimidante ?
Se o problema é baixar uma rede de um arquivo XML, então treiná-lo em tal hardware é simplesmente irrealista - as tarefas são incomparáveis em complexidade.
Proponho o XML como padrão para armazenar configurações, redes, configurações, ...
E só é necessário nas fases de inicialização/armazenamento.
No processo de fluxo de trabalho e ainda mais na fase de aprendizagem, não se trata de XML
Considere o seguinte: seu arquivo em xml é 916 bytes e em representação binária, 64 bytes mesmo que você não clique no cabeçalho.
7 variáveis de cabeçalho + 1 por tabela = 8 ulong * 8 bytes = 64
O seu arquivo xml é 916 bytes, enquanto a representação binária é 64 bytes, mesmo que você não clique no cabeçalho.
7 variáveis de cabeçalho + 1 por tabela = 8 ulong * 8 bytes = 64
Para abrir esta página do fórum, estou bombeando pela Internet pelo menos cem kilobytes.
Estamos em 2012 e eu não uso essa unidade de medida como byte durante muito tempo ))
P.S.
Eu só sugeri o meu caminho - cabe ao público decidir
Proponho o XML como padrão para armazenar configurações, redes, configurações, ...
E só é necessário nas fases de inicialização/armazenamento.
No processo de workflow, e ainda mais no processo de formação, não se trata de XML.
Para otimizar a estrutura da rede, é necessário (na hora) alterar o número de neurônios e conexões.
É possível fazer isto?
Se você não se importa, por favor comente seus códigos, você sabe que o código das outras pessoas pode levar muito tempo para ser lido sem comentários. Obrigado.
Para otimizar a estrutura da rede é necessário (na hora) alterar o número de neurônios e conexões.
É possível fazer isso?
Se não for difícil, por favor comente os seus códigos, sabe, demora muito tempo a compreender os códigos dos outros sem comentários. Obrigado.
Isto é uma questão de treino. Potencialmente, é possível, mas eu não o usei na prática.
Normalmente, no processo de aprendizagem, a estrutura da rede não se altera - apenas os parâmetros adaptativos são alterados.
Sua definição do problema já é um meta-nível, para treinar um arquiteto a mudar a estrutura da rede, de modo que a rede resultante seja mais bem sucedida na aprendizagem do que outras
Códigos postados "como está" - feitos para mim mesmo e, como sempre, com pressa, por isso, desculpem-me.
De uma boa maneira, tudo deve ser reconstruído pelos ossos depois de todo o projeto ser trabalhado.
Eu descarrego pelo menos cem kilobytes para abrir esta página do fórum.
Estamos em 2012 e eu não uso essa unidade de medida como byte durante muito tempo ))
P.S.
Eu acabei de oferecer a minha versão - cabe ao público decidir.
Vamos fazer um experimento, criar um carregador xml para 1000 neurônios com 100 links por neurônio, e postar o tamanho do arquivo, estruturar o que você quiser.
Posso apenas calcular de joelhos quanto espaço a minha variante 1000*1000/8=~125KB, e a sua não pode, por isso não posso comparar...
Se a sua versão terá dimensões aceitáveis porque não.
Não é o ponto, memória, e na GPU será difícil implementar as voltas da lógica de objetos, eu tenho uma boa idéia de como implementar o NS, como uma interação complexa de objetos dentro dos quais existem funções de cálculos da GPU (isto é sobre o nível micro), mas eu não posso imaginar como esse objeto complexo codifica todo esse NS para deslizar a GPU como vários FF com diferentes conjuntos de pesos (nível macro) ????
A questão é retórica, mas se alguém a apresentar, não me importava de ouvir falar dela.
É por isso que a escolha foi feita para a CUDA em vez do OpenCL mais comum.
O código CUDA é orientado ao objeto e você pode passar um objeto gerado na CPU
Há algumas subtilezas, mas todas elas podem ser resolvidas
É por isso que a CUDA foi escolhida em vez do mais comum OpenCL
O código em CUDA é orientado ao objeto e você pode passar o objeto formado na CPU
Há subtilezas, mas todas elas podem ser resolvidas