O "New Neural" é um projecto de motor de rede neural Open Source para a plataforma MetaTrader 5. - página 50

 
Urain:

Há uma nuance no problema do fluxo de trabalho, já que os métodos de processamento de dados dependem do tipo de neurônio, eles devem fazer parte de um objeto do tipo neurônio.

1) A novidade está no que se deve considerar como uma camada. Se tal formulação, como eu dei, seria difícil organizar os cálculos na GPU.

2) Se eu parasse na formulação do TheXpert , haveria problemas com o carregamento da GPU.

1) Porquê?

2) Porquê?

 
Urain:

Uma camada é uma amalgamação de neurônios não dependentes da mesma iteração e do mesmo tipo.

Como assim? Como você vai espremer o suco de uma GPU sem uma representação vetorial? Essa é uma das coisas que estou a considerar.
 
TheXpert:
Como é que se faz isso? Como você vai espremer o suco para fora da GPU sem representação vetorial? Essa é uma das coisas que estou a ter em conta.

Porquê sem vector? As matrizes de dados são externas, resta apenas especificar quais os dados que fazem o quê com quais.

Então, você tem dados sobre o que são neurônios em uma camada, e os envia para a GPU para calcular o vetor dessa camada e assim por diante através das camadas.

ZS ah sim no modelo de neurônio que eu desenhei, você precisa introduzir o conceito de dados para armazenar cálculos intermediários (bem para trabalhar com GPU eles devem ser externos também).

 
Joo:

1) Porquê?

2) Porquê?

1) Porque na minha formulação uma camada pode conter diferentes tipos de neurônios, e isso é uma tarefa atípica que não pode ser passada para a GPU

2) Porque na formulação de Andrew um neurônio pode ser uma camada e isso ameaça sobrecarregar a GPU.

ZS em geral escolhe-se o menor de dois males, a subcarga de GPU não é tão terrível quanto a potencial incapacidade de usar GPU.

 

é uma pena que o mql não tenha ponteiros para os dados, senão poderíamos apenas agregar dados de vetores em neurônios diretamente.

Halt, por que precisamos de agregação, se podemos simplesmente passar o índice vetorial de dados em vez disso? será a mesma ligação de acesso direto.

ZZI Criar um objeto de referência de dados em um neurônio, ao invés de um objeto de dados.

 
Urain:

2) porque na formulação de Andrei um neurônio pode ser uma camada e isso ameaça sobrecarregar a GPU

Se puder ser fundido... Então deve ser fundido.
 
TheXpert:
Se puder ser fundido... Então deve ser fundido.
Esse é o problema se ele pode, e pode depender de duas condições, independência em uma iteração e uniformidade com outros neurônios da camada (ou seja, como ele processa dados internamente).
 

Eu tenho pedaços de pensamentos sobre como organizar um gás neural crescente com tal motor, mas eles ainda não se formaram em palavras.

Uma tese: a reinicialização da rede será necessária. Essas inicializações propriamente ditas devem estar disponíveis para o algoritmo de aprendizagem.

Растущий нейронный газ - реализация на языке программирования MQL5
Растущий нейронный газ - реализация на языке программирования MQL5
  • 2010.09.24
  • Алексей
  • www.mql5.com
В статье приводится пример написания на языке MQL5 программы, реализующий адаптивный алгоритм кластеризации, называемый "Растущий нейронный газ" (Growing neural gas, GNG). Статья рассчитана на пользователей, изучивших документацию к языку, а также уже имеющих определенные навыки программирования и базовые знания в области нейроинформатики.
 
TheXpert:

O gerente de projeto pode ser gpwr. Parte poderia ser eu.

Obrigado pela sua confiança, mas não acho que eu seria um bom gestor do projecto. Vou explicar porquê.

  1. Programação não é a minha especialidade. Faço-o como um passatempo. Não estou familiarizado com muitas das nuances da coordenação de um grupo de programadores.
  2. Durante os últimos 15 anos, gerenciei vários projetos no trabalho. Descobri que o projeto que administro é implementado com sucesso em um ambiente onde os membros são obrigados a cumprir minhas ordens (ditadura) por medo de perder seus empregos e salários. Numa atmosfera democrática, como é o caso aqui, onde os membros do projeto não são pagos e não têm nenhuma vantagem em mantê-los na equipe do projeto, os métodos diktatura não são apropriados e o progresso é muito difícil sem eles.
  3. O próprio líder tem de estar interessado no projecto. O meu interesse, até agora, é como observador. Como já mencionei antes, não estou mais interessado em redes neurais clássicas, especialmente a questão da sua codificação em MQL5. Agora estou interessado em métodos de transformação de informação de entrada. Quando terminar a minha auto-formação nestes métodos e experimentar com eles a preços de mercado, o meu interesse mudará para outra coisa.
  4. A gestão deste projecto (bem como de qualquer outro projecto) requer tempo e dedicação, que não tenho neste momento (já tenho um projecto em curso).

De tudo o que foi dito, a minha recomendação é esta.

  1. Os MCs devem ser bem pagos para que haja um interesse financeiro em participar neste projeto e sua conclusão com sucesso. Como vivo nos EUA, meus padrões salariais são mais altos (provavelmente é por isso que os MCs nunca me pediram para escrever um artigo, mesmo quando eu mesmo o sugeri). Por exemplo, acredito que este projeto será bem sucedido se cada participante receber pelo menos $10000 no final do projeto.
  2. O líder do projeto deve ser representante da MC. Ele também deve definir os requisitos, prazos e seu pagamento. Muitos códigos abertos são criados nas universidades, por estudantes, cujos supervisores usam o diploma como motivação. Não se pode passar sem ele.
 
gpwr:
PM não tem que ser um programador. É uma pena que você recuse.