As redes neurais sonham com dinheiro elétrico?

TL; DR: Não



Na vastidão da Web, ela é cheia de materiais, manuais, soluções prontas, montagens e outras coisas dedicadas a prever os preços da criptomoeda e dos ativos de troca tradicionais, cheirando a renda rápida e fácil com o mínimo de esforço. E embora pessoas diferentes as escrevam, com abordagens diferentes, em plataformas diferentes e com paradigmas diferentes, todas elas têm um atributo comum imutável - elas não funcionam .

Por quê? Vamos acertar.

Introdução


Vamos nos familiarizar, meu nome é Denis e, no meu tempo livre, faço pesquisas no campo da inteligência artificial e, em particular, das redes neurais artificiais.


Neste artigo, tentarei descrever os problemas encontrados que criam pesquisadores iniciantes em redes neurais artificiais na busca da independência financeira, gastando um tempo precioso com eficiência quase nula.

Espero que, dentro da estrutura deste artigo, seja possível manter um equilíbrio suficiente entre a complexidade do material e a facilidade de percepção, para que o texto seja moderadamente simples, compreensível e interessante para as pessoas que não estão relacionadas a esse campo e para quem há muito tempo se dedica à pesquisa. esta indústria. Devo dizer imediatamente que não haverá fórmulas aqui, terminologia específica também é minimizada.

Eu não trabalho para o Google. Eu não tenho vinte graus. Eu não estagiei na NASA. Não estudei em Stanford e me arrependo amargamente. No entanto, ainda espero entender o que estou falando quando se trata de sistemas de previsão e, ao mesmo tempo, estar bastante ligado ao mundo das criptomoedas em geral e ao projeto Cardano em particular.

É claro que eu, como um entusiasta de cripto envolvido em redes neurais, simplesmente não pude deixar de entrar no campo nebuloso de aplicação da IA ​​em relação a criptomoedas.


A essência do problema


Como mencionado anteriormente, existem tantos materiais que parecem ter sido elaborados e aparentemente profundos, com exemplos sobre esse assunto, tanto que seus olhos se arregalam. E os autores têm tanta certeza de que seu experimento, ao contrário das poucas centenas anteriores, é bem-sucedido, que se pergunta por que o próximo artigo não termina com fotos com um “cordeiro” em uma ilha pessoal e uma lista de autores de “kaggle kernels” relacionados à previsão de preços bitcoins, não duplica as listas da Forbes.

Espera-se que existam artigos sobre Habré dedicados a essas questões. E, curiosamente, independentemente do local e idioma da publicação, todos esses artigos terminam com aproximadamente o mesmo texto: "Bem, o resultado é muito bom, tudo quase funciona , você só precisa apertar alguns hiperparâmetros e tudo ficará bem".

E, é claro, os gráficos nos quais a rede neural indica idealmente o preço, como:








.

E, para não ser infundado, eis alguns exemplos de tais artigos: um , dois , três .

Como tudo começou


A idéia de prever novos preços no passado está longe de ser nova. De fato, isso se aplica não apenas às criptomoedas. Aconteceu que eles estão mais próximos de mim pessoalmente, mas a pátria do que é chamado de "análise técnica" é, afinal, trocas tradicionais. Esses são os que, de acordo com os filmes, estão todos em trajes caros, mas ao mesmo tempo gritam como garotas em um show de sua banda favorita.

Tentando ver o futuro de acordo com o passado, as pessoas inventaram um grande número de todos os tipos de osciladores, indicadores, dispositivos de sinalização baseados em estatísticas matemáticas, teoria das probabilidades e, às vezes, franca pareidolia .

Talvez o mais popular seja a busca por figuras. Quinze minutos de leitura na Internet, e mesmo agora em Wall Street! É tão simples - você só precisa encontrar "a cabeça de Bart Simpson", "borboleta", "bandeira (não confunda com a cunha! 11)", "azul caindo em uma torre de vácuo", construir muitas, muitas linhas e, abertamente , interprete-o para sua vantagem!


Quase todas essas soluções têm uma desvantagem pequena, mas muito densa e severa - elas capturam perfeitamente as tendências ... após o fato . E se algo é declarado como não fixo, mas preditivo, é interpretado com tanta liberdade que dez pessoas, olhando para o mesmo gráfico com o mesmo indicador, fornecerão dez previsões independentes. E, o que é característico, pelo menos um deles provavelmente estará certo!

Mas também será estabelecido após o fato. E o resto simplesmente dirá "ah, bem, nós lemos de forma desatenta os sinais incorretamente".

Não me entenda mal. É bem possível que um verdadeiro comerciante de Wall Street, que tenha 20 gritos e 200 tentativas de suicídio ao longo dos anos, possa sobrepor uma pilha de indicadores e osciladores um ao outro e, como o operador do filme "The Matrix", seja útil lá dados com sabor suficiente, aguardando uma transação bem-sucedida. Eu até admito que especificamente você, o leitor, também sabe como. Sem uma gota de sarcasmo, eu admito. No final, por algum motivo, eles estão sendo inventados, aprimorados, esses indicadores ...

Problemas modernos exigem soluções modernas!


Até o ano de 2015, todo mundo já tinha ouvido redes neurais. Rosenblatt nem imaginou o quanto eles seriam ouvidos. Graças a pessoas responsáveis, profissionais e com conhecimento de mídia, a humanidade aprendeu que as redes neurais são a versão mais eletrônica do cérebro humano que pode resolver qualquer tarefa mais rápida e melhor, com potencial ilimitado e, em geral, aqui vamos pular diretamente para a luz através de uma singularidade futuro sombrio. Aqui está a sorte.

Mas havia um "mas". Por enquanto, as redes neurais viviam apenas em pacotes matemáticos reservados, em uma forma de nível muito muito baixo, apoiando matemáticos e cientistas com gráficos no MatLabs.

Mas a popularização fez seu trabalho e atraiu muita atenção de desenvolvedores de vários graus de independência para a indústria. Esses mesmos desenvolvedores, sendo, diferentemente dos matemáticos comuns, pessoas dotadas de nobre preguiça, começaram a encontrar maneiras de lançar vários níveis de abstração sobre esse assunto, facilitando a vida para si e para todos, mostrando ao mundo ferramentas de alto nível muito convenientes e de alta qualidade, como Keras ou FANN. Nesse zelo, eles conseguiram tanto que levaram o trabalho com redes neurais ao nível de “apenas uma vez e funciona”, abrindo caminho para todos os que chegavam ao mundo dos milagres e da magia.

São milagres e magia, não matemática e fatos.


O nascimento de uma lenda


As redes neurais tornaram-se disponíveis, próximas e facilmente usadas para todos. Sério, a implementação da FANN é válida para PHP. Além disso, está incluído na lista de extensões básicas .

E o Keras? Em 10 linhas, você pode coletar uma rede convolucional de recorrência, sem entender como funcionam as convoluções ou como o LSTM difere do GRU! Inteligência artificial para todos e todos! E não deixe ninguém ficar ofendido!

Eu acho que, em parte, a terminologia fez a piada mais cruel. Como são chamadas as saídas de rede neural? Sim. Previsões. Previsões. Uma rede neural prevê um dado sobre outro. Parece exatamente o que você precisa .

Manuais para bibliotecas de alto nível protegem o usuário de termos complexos, matrizes, vetores, transformações, cálculo diferencial, significados matemáticos desses gradientes, regressões e perdas de regularização.

E, mais importante, eles protegem a imagem romântica do "modelo eletrônico do cérebro humano capaz de tudo" da dura realidade, na qual as redes neurais são apenas um aproximador, que, grosso modo, nada mais é do que um passo evolutivo um pouco acima do classificador linear comum.

Mas não importa quando você monta o seu primeiro solucionador para o CIFAR-10 a partir das listagens da documentação, sem fazer nenhum esforço, sem entender realmente o que está acontecendo. Há apenas um pensamento em mente:


O que posso dizer, o que posso dizer, as pessoas estão tão dispostas ...


Aqui está, um milagre tecnológico! Você apenas fornece alguns dados na entrada, outros na saída, mas ele mesmo encontra uma conexão e aprende a prever as saídas pelas entradas. Quantos problemas podem ser resolvidos! Quantas tarefas podem ser niveladas!

Tanta coisa para prever ! Curiosamente, outras pessoas em geral sabem? Com este kit de ferramentas, minhas possibilidades são infinitas! ILIMITADO!


Mas e se você alimentar a rede neural com velas da bolsa de criptomoedas / bolsa de valores / forex, fornecendo uma vela a partir do próximo período de tempo para sair? Ela aprenderá a prever novos valores dos anteriores! Afinal, é para isso que foi feito! Uma rede neural pode prever qualquer coisa, haveria dados, e dados sobre o histórico de citações são um centavo a uma dúzia! Oh, inspiração, apenas um momento, mas tão bonito!

Por que não?


Porque em um mundo real diferente do mundo criado pela mídia, ele não funciona assim. As redes neurais não são uma máquina para previsões. Redes neurais são aproximadores. Muito bons aproximadores. Acredita-se que as redes neurais podem se aproximar de quase tudo. Com apenas uma condição - se é "algo" se presta a aproximação .

E então um pesquisador iniciante cai no gancho da distorção cognitiva. O primeiro e principal erro é que os dados históricos das cotações parecem ser mais do que apenas estatísticas. Nelas, você pode desenhar tantos triângulos e flechas após o fato de que apenas uma pessoa cega ao olhar para ela não será óbvia que tudo isso tenha uma certa lógica que simplesmente não poderia ser contada a tempo. Mas o que a máquina pode saber.

Olhando para as estatísticas , uma pessoa vê uma função . A armadilha bate.
Qual é o segundo erro / viés cognitivo? Mas aqui está a coisa.

E funciona com o clima!


Esse é um argumento muito frequente que ouço em comunidades de criptografia, em diálogos sobre as possibilidades de prever algo a partir de dados históricos usando métodos de análise estatística. Funciona com o clima. A essência da distorção é que "se A funciona para B, mas me parece que B é igual a C, então A também deve funcionar para C". Uma espécie de pseudo-transitividade, que repousa em uma compreensão insuficiente dos processos subjacentes às diferenças entre B e C.

Com o mesmo sucesso, podemos supor, por exemplo, que os pedais no cockpit da aeronave são freio e gás durante uma transmissão automática, e não um volante horizontal. Infelizmente, a percepção intuitiva de algumas coisas nem sempre é correta, porque nem sempre se baseia em um conjunto bastante completo de dados sobre a situação / sistema / objeto. Oi Bayes! Como você está?

Vamos nos aprofundar um pouco mais na teoria.

Caos e a lei


Aconteceu que todos os processos e eventos em nossa realidade podem ser classificados em dois grupos: estocástico e determinístico. Enquanto me esforço para evitar uma terminologia sombria, vamos substituí-los por termos mais simples: imprevisível e previsível.


Como Obi-Wan nos diz com razão, não é tão simples. O fato é que, no mundo real, não no teórico, tudo é um pouco mais complicado e completamente previsível e processos completamente imprevisíveis simplesmente não existem. No máximo, existem quase previsíveis e quase imprevisíveis. Bem, isto é, aqui são quase imprevisíveis e quase previsíveis. Quase quase, mas não.

Por exemplo, a neve cai quase previsivelmente de cima para baixo. Em quase 100% dos casos observados. Mas não na janela da minha cozinha! Neva de baixo para cima, devido às características do fluxo de ar e à forma da casa. Mas não sempre! Também em quase 100% dos casos, mas nem sempre. Às vezes na janela da minha cozinha também cai. Parece que uma coisa tão simples, mas para o mesmo observador em dois casos diferentes, se comporta de maneira completamente diferente, e ambos os comportamentos são normais e quase previsíveis com quase 100% de probabilidade, embora se contradigam completamente . Não é ruim? O evento quase previsível acabou sendo ... quase imprevisível? Além disso.

Nesse momento, nosso amigo Bayes começa a rir. E os eventos imprevisíveis? Não vou usar o prefixo "quase", ok? Todo mundo já entende que eu falo sério. Então aqui. Tome algo completamente imprevisível. Movimento browniano? Um ótimo exemplo de um sistema completamente imprevisível. É assim? Vamos perguntar aos físicos quânticos:


O fato é que, teoricamente, mesmo um sistema tão complexo como o movimento browniano em escala real, em teoria, pode modelar e prever o estado desse sistema a qualquer momento no futuro ou no passado. Em teoria. Sobre quanto cálculos, capacidades, tempo e sacrifícios para os Deuses das Trevas são necessários para isso, mantemos em tato o silêncio.

E um sistema previsível, no caso geral, que se torna imprevisível se você abaixar a escala para o nível de casos particulares, é realmente bastante previsível se você expandir o escopo de observação de um caso específico para incluir fatores externos, obtendo uma descrição mais completa do sistema nesse caso muito particular.

Bem, a verdade é que, conhecendo as especificidades dos fluxos de ar em um determinado local, você pode prever facilmente a direção do vôo da neve. Conhecendo as especificidades do "relevo" de um determinado local, pode-se prever a direção do fluxo de ar. Conhecendo as especificidades do terreno, é possível prever as especificidades do terreno. E assim por diante. Ao mesmo tempo, começamos a ampliar novamente, mas agora para um evento específico. Separando-o da definição "geral" do comportamento deste evento. Alguém, pare Bayes, ele tem um ataque!

Então o que temos? Qualquer sistema é simultaneamente previsível e imprevisível em um grau ou outro, a diferença está apenas na escala de observações e na integridade dos dados iniciais que a descrevem.

O que a previsão do tempo e o comércio de câmbio têm a ver com isso?


Como descobrimos anteriormente, a linha entre um sistema previsível e imprevisível é extremamente pequena. Mas forte o suficiente para traçar uma linha que divide a previsão do tempo e o comércio.

Como já sabemos, até o sistema mais imprevisível de fato consiste em fragmentos completamente previsíveis. Para modelá-lo, basta descer à escala desses fragmentos, expandir o escopo de observação, entender os padrões e aproximar-se deles, por exemplo, usando uma rede neural. Ou obtenha uma fórmula bastante específica que permita calcular os parâmetros desejados.

E aqui está a principal diferença entre a previsão do tempo e a previsão do preço - a escala do maior componente simulado previsível. Para previsão do tempo, a escala desses componentes é tal que eles estão bem ... eles podem ser vistos da órbita da Terra a olho nu. E o que não é visível, por exemplo, temperatura e umidade, pode ser, graças às estações meteorológicas, medidas em tempo real também em todo o planeta. Para o comércio, essa escala ... mais sobre isso mais tarde.

O ciclone não diz "Estou cansado, estou indo embora", desaparecendo do nada em um momento imprevisível. A quantidade de calor recebida do Sol por um hemisfério específico do planeta varia com o mesmo padrão. O movimento das massas de ar em escala planetária não requer simulação atômica e é bastante simulado no nível macro. Um sistema chamado "clima", que é um evento aleatório na escala de um ponto específico da Terra, é bastante previsível em escalas mais globais. E, ainda assim, a precisão dessas previsões deixa muito a desejar a distâncias superiores a alguns dias. O sistema, embora previsível, é muito complexo, para que possa ser modelado com razoável precisão a qualquer momento.

E aqui chegamos a outra propriedade importante dos modelos preditivos.

Autossuficiência ou autonomia de previsões


Essa propriedade, em geral, é bastante simples - um sistema de previsão auto-suficiente, ou um sistema de previsão ideal , pode ficar sem dados externos, sem contar o estado inicial.

Ela é perfeitamente precisa. Para prever as propriedades do sistema no estado N, basta obter os dados calculados no estado N-1. E conhecendo o estado de N, você pode obter N + 1, +2, + m.

Tais sistemas incluem, por exemplo, qualquer progressão matemática. Conhecendo o estado no ponto de referência e o número desse ponto em uma série de eventos, é possível calcular facilmente o estado em qualquer outro ponto. Legal!


E essa também é a resposta para a pergunta: por que a precisão da previsão do tempo cai drasticamente em uma longa distância no tempo? Olhando para o futuro, criamos uma previsão baseada não no estado real do sistema, mas no previsto. Além disso, infelizmente não com 100% de precisão. Como resultado, obtemos o efeito de acumular erros de previsão . Mas isso apesar do fato de sabermos quase todas as "variáveis" significativas e a descrição do sistema poder ser chamada quase "completa".

E as citações?


E entre aspas, as coisas são muito piores. O fato é que, na previsão do tempo, quase todos os dados recebidos e previstos são a causa e o efeito dos eventos. A conseqüência dos eventos da etapa anterior, a causa dos eventos da próxima etapa. Além disso, esses dados significativos e eventos que não são tanto causa e efeito é mais provável simplesmente causar e transportar uma carga poderosa. Por exemplo, a quantidade de calor recebido do sol em um ponto no tempo. E é invariável. É isso que aumenta o indicador de auto-suficiência de tais previsões. A conseqüência flui para o motivo dos eventos na próxima etapa. Este é um processo completamente não Markov que pode ser descrito por equações diferenciais.

Enquanto as estatísticas das citações são principalmente apenas consequências ou 50 \ 50 . O crescimento de cotações pode desencadear um aumento adicional nas cotações e se tornar uma causa. E isso não pode provocar e causar. E pode provocar lucros e, como resultado, uma queda nos preços. Os dados históricos das trocas parecem sólidos. Volumes, preços, "óculos", tantos números! A grande maioria delas não serve para nada, sendo apenas o resultado, eco de eventos e causas, muito além do plano dessas estatísticas . Em uma escala completamente diferente. Em um escopo completamente diferente.

Ao modelar cotações futuras, contamos apenas com as consequências de eventos muito mais complexos do que apenas o desvio percentual do volume de compras.O preço não se molda . Não pode ser diferenciado por si só. Se o mercado é expresso como um lago metafórico, o gráfico de ações é apenas ondulações na água. Talvez esse vento soprasse, talvez eles jogassem uma pedra na água, talvez o peixe espirrasse, talvez Godzilla pule 200 quilômetros em um trampolim. Vemos apenas ondulações. Mas nesta onda, estamos tentando prever a força do vento em 4 dias, o número de pedras que serão jogadas na água em um mês, o humor do peixe depois de amanhã, ou talvez a direção que Godzilla irá quando estiver cansado de pular. Ele vai se aproximar e implantar o trampolim novamente - as ondulações ficarão mais fortes! Pegue a tendência, hop hop hop!



Este é um ponto muito importante:
, , , .
Em outras palavras, você não pode modelar o sistema suficientemente bem sem ter uma descrição suficientemente completa dele.

Infelizmente, a escala do máximo possível componente simulado do sistema, no caso do mercado, se resume ao homem. Nem mesmo para uma pessoa, mas para seu estado psicofísico, do qual depende a reação ao comportamento do mercado e que, por essa mesma reação, influenciará ele próprio o mercado. A própria razão que flui para a consequência! Apenas milhares, se não milhões de pessoas únicas e individuais, terão que ser modeladas. Com problemas pessoais, sentimentos, antecedentes hormonais, interações, atividades cotidianas.

E não se trata apenas de traders no mercado em escala global. É também sobre as pessoas por trás de projetos específicos. É sobre os problemas e sucessos dos projetos no futuro. É sobre eventos importantes no mesmo futuro. Eventos, às vezes extremamente imprevisíveis. Acontece que, para prever o futuro, precisamos conhecer o futuro.


No total, precisamos de uma esfera de condições observadas, que é completamente inacessível para nós. A escala da simulação, que para nós é completamente inatingível.

Bem, isso é, em teoria, é claro, realizável. O movimento browniano, em teoria, também é um sistema muito simulado e previsível, lembra? Então lembre-se do preço da implementação prática de tal simulação. Esse preço é proibitivamente mais alto do que o processo de alimentar uma rede neural com troca de velas. Pelo menos no momento da redação deste texto.

Mas e os gráficos?


Realmente. No início deste artigo, apresentamos gráficos com uma precisão de previsão extremamente alta, fazendo fronteira com locais com 100%.

Vamos olhar para eles novamente:








O que você vê? Olhe mais de perto. Grande coincidência, não é? Perfeito, simplesmente perfeito. E no primeiro e no segundo gráficos, a rede neural naturalmente à frente das aspas um passo à frente!

Lembre-se de que mencionei bibliotecas de alto nível para trabalhar com redes neurais e, em seguida, isso não teve nenhum desenvolvimento no texto do artigo? Agora pegue. A ampla disponibilidade de qualquer coisa, certamente reduz a barra de treinamento para o usuário médio. O mesmo acontece com as redes neurais. "Kaggle kernels" é um recorde. Qualquer seção de seção não estreita é simplesmente enterrada em toneladas de soluções, cujos autores, na grande maioria, não têm idéia do que estão fazendo. E a partir de baixo, cada decisão é apoiada por pilares de comentários elogiosos de pessoas que entendem a questão ainda menos. “Ótimo trabalho, o que você precisa!”, “Estou procurando um kernel adequado para minhas tarefas há tanto tempo, aqui está ele! E como usá-lo? etc.

Encontrar entre isso algo realmente interessante e bonito é muito, muito difícil.
<esnobismo frenético>
Como resultado, temos um fenômeno como pessoas que operam facilmente com um aparato matemático bastante complicado, mas não conseguem ler gráficos .
</ esnobismo raivoso>

Afinal, o tempo na escala X se move para a direita e uma previsão, idealmente, deve ser obtida antes do evento.

Simplesmente os hiperparâmetros ainda não estão torcidos


Todos ficamos felizes quando nossa rede neural mostra sinais de convergência. Mas existem nuances. Na programação como tal, existe uma regra "iniciado não significa ganho". Quando começamos a estudar programação, estamos imensamente satisfeitos com o fato de que o compilador / intérprete foi capaz de entender o que inserimos nele e não nos lançou erros. Nesse nível de formação, acreditamos que os erros de um programa são apenas sintáticos.

No design de redes neurais, tudo é o mesmo. Somente em vez de compilação é convergência. Funcionou - não significa aprender exatamente o que precisamos. Então, o que aprendeu?

Um pesquisador inexperiente, olhando para gráficos tão bonitos, provavelmente sairá. Mas mais ou menos experiente, alerta, porque não existem muitas opções:

  1. A rede é explicitamente reciclada (no sentido de "redundante" em vez de "reutilização")
  2. A rede explora uma falha nos métodos de ensino
  3. A rede se aproximou do Exchange Graal e é capaz de prever o estado do mercado a qualquer momento, “espalhando” um gráfico interminável de apenas uma vela

O que você acha, qual opção está mais próxima da realidade? Infelizmente, não o terceiro . Sim, a rede realmente aprendeu. Ela realmente dá resultados com precisão incrível, mas por quê?

Embora as redes neurais artificiais não sejam um "modelo eletrônico do cérebro humano", elas ainda exibem algumas propriedades da "mente". Basicamente, isso é "preguiça" e "truque". E ao mesmo tempo. E essas não são as consequências do surgimento em algumas centenas de "neurônios" da autoconsciência. Essas são as consequências do fato de o termo "otimização" estar realmente oculto por trás do termo populista "educação".

Uma rede neural não é um estudante que está estudando, tentando entender o que estamos explicando a ele, pelo menos no momento da redação deste artigo. Uma rede neural é um conjunto de pesos cujos valores precisam ser ajustados ou otimizados de forma a minimizar o erro do resultado da rede neural em relação ao resultado de referência.

Damos uma tarefa à rede neural e depois pedimos que ela "passe no exame". De acordo com os resultados do “exame”, decidimos como é bem-sucedido, acreditando, com razão, que no processo de preparação para o “exame”, nossa rede adquiriu conhecimentos, habilidades e experiência suficientes.

Veja o problema? Não? Sim, aqui está, na superfície! Embora seu objetivo seja ensinar habilidades úteis à sua rede, na sua opinião, o objetivo é passar no exame .


A qualquer custo. Por qualquer meio. Talvez, no entanto, com alguns alunos ela tenha mais em comum do que o exposto nos dois parágrafos anteriores ...

Então, como você passa no notório exame?

Memorizar


A primeira opção na lista de possíveis razões para uma precisão tão incrível. Quase todo pesquisador iniciante de redes neurais artificiais certamente sabe que quanto mais neurônios nela, melhor. E, melhor ainda, quando há muitas camadas nele.

Mas não leva em conta o fato de que o número de neurônios e camadas aumenta não apenas o potencial da rede no campo do "pensamento abstrato", mas também a quantidade de sua memória. Isto é especialmente verdade para redes recorrentes, porque a capacidade de memória delas é realmente monstruosa.

Como resultado, durante o processo de otimização, verifica-se que o melhora opção de aprovação no exame é ... formação regular ou "sobreajuste", "sobreajuste". A rede simplesmente aprenderá todas as "respostas corretas" de cor. Absolutamente não entendendo os princípios pelos quais eles são formados. Como resultado, ao testar a rede em uma amostra de dados que nunca havia visto antes, a rede começa a carregar bobagens.

Por esse motivo, para treinar redes profundas / amplas, é necessário muito mais dados, regularização, controle sobre o limite mínimo de erros, que deve ser pequeno, mas não muito. E, melhor ainda, encontre o equilíbrio certo entre o tamanho da rede e a qualidade da solução.

Boa. Vamos considerar. Vamos jogar fora as camadas extras. A arquitetura é simplificada. Vamos implementar todo tipo de truques diferentes. Será que vai funcionar agora? Não é um fato. Afinal, o número dois na lista de opções fáceis para exames:

Seja mais esperto que o professor


Como a classificação de uma rede neural não é válida para o processo, mas para o resultado, o processo pelo qual ele alcança esse resultado pode diferir ligeiramente do que o desenvolvedor pretendia. Este é um dos momentos mais vis de trabalhar com esses lindos animais - quando a rede aprendeu, mas não isso.

Quando vir gráficos com previsões de curso que repetem perfeitamente o curso real, pense no que ensinou à rede neural? Super preciso para prever preços? Ou talvez apenas repeti-los como um papagaio?

Certifique-se de que a rede, que tem quase 100% de precisão no conjunto de treinamento e o mesmo no conjunto de testes, repita tudo o que vê. As redes nas quais o gráfico de previsão é deslocado uma etapa para a direita (exemplos dos gráficos 1 e 2) simplesmente repetem o valor do preço da etapa anterior, que é passada a eles em uma nova. Os gráficos, é claro, parecem muito encorajadores e combinam quase perfeitamente, mas não têm poder preditivo. Você é capaz de anunciar o preço de ontem hoje, por isso não precisa estudar em Hogwarts ou polir Palantir, certo?

Mas isso é se você fornecer os valores da etapa anterior, comparando com o valor da etapa atual. Às vezes, as pessoas apenas dão um valor da etapa atual, comparando-a com a próxima etapa. Nesse caso, obtemos belos gráficos que correspondem quase perfeitamente aos originais (exemplos dos gráficos 3 e 4).

Às vezes, você pode ver gráficos que não correspondem perfeitamente, mais macios, como se estivessem suavizados, interpolados . Geralmente, isso é um sinal claro de uma rede recursiva que está tentando vincular um novo resultado a um resultado anterior (exemplo 3 do gráfico).

Todos esses resultados têm apenas uma coisa em comum - a rede neural aprendeu a passar no exame de mais de 5. Mas ela não aprendeu a resolver a tarefa que lhe foi atribuída da maneira exigida e não traz nenhum benefício prático para o pesquisador. Assim como um estudante, mas com uma folha de dicas, certo?

Por que a rede repete os valores anteriores e não tenta gerar novos? Sim, simplesmente durante o treinamento, ela chega à conclusão razoável de que, geralmente, o ponto mais próximo do próximo ponto no gráfico é o anterior. Sim, a magnitude do erro nesse caso flutua, mas, em uma amostra grande, é consideravelmente menor que a magnitude do erro ao tentar prever o próximo estado em um processo quase aleatório .

As redes neurais podem generalizar perfeitamente. Uma generalização desse tipo é uma excelente solução para o problema.

Infelizmente, não importa como você gire os hiperparâmetros, o futuro não se abrirá para ela. O gráfico não recuará um passo no tempo. Sim, o Graal está tão perto, mas até agora.


Pare. Não não não. Mas e quanto à negociação algorítmica? Ela existe!


Exatamente. Claro que existe. Mas o ponto principal é que essa negociação algorítmica não é a mesma que adivinhação algorítmica . A negociação algorítmica baseia-se no fato de o sistema de negociação analisar o mercado no momento atual, tomando a decisão de abrir e fechar uma transação com base em um grande número de parâmetros objetivos e sinais indiretos.

Sim, isso, tecnicamente, também é uma tentativa de prever o comportamento do mercado, mas, diferentemente das previsões de dias e meses de antecedência, o sistema de negociação tenta trabalhar nos pequenos intervalos de tempo mais permitidos.

Lembra da previsão do tempo? Lembre-se de que sua precisão cai drasticamente em longas distâncias? Funciona nos dois sentidos. Quanto menor a distância, maior a precisão. Você, olhando pela janela, mesmo sem ser meteorologista, pode prever qual será a temperatura do ar em um segundo, certo?

Mas como isso funciona? Isso não é contrário a tudo o que foi dito? Mas e as ondulações na água, e a falta de dados? E o Godzilla, afinal!?

Mas não, não há contradições. Enquanto o bot de negociação trabalha em intervalos muito pequenos, muito pequenos, de um minuto a frações de segundo, dependendo do tipo, ele não precisa saber o futuro e não precisa ter uma imagem completa do mercado. É o suficiente para ele entender como o sistema ao seu redor funciona. Em que circunstâncias é melhor abrir um acordo para fechar. Um bot de negociação opera em uma escala tão pequena que seu campo de visão é capaz de cobrir fatores suficientes para tomar uma decisão bem-sucedida em uma curta distância aceitável. E para fazer isso, ele absolutamente não precisa conhecer o estado global do sistema.

Conclusão


O artigo acabou sendo grande. Mais do que eu esperava. Espero que seja útil para alguém e ajude a economizar tempo para alguém que decidiu tentar a sorte em busca do Santo Graal do Comércio.

Vamos destacar os principais pontos:

  1. Godzilla tem um trampolim
  2. Você precisa entender como as ferramentas com as quais você resolve o problema
  3. É necessário entender os limites de aplicabilidade e avaliar adequadamente a resolubilidade do problema como tal
  4. É importante poder interpretar corretamente os resultados do kit de ferramentas
  5. Redes neurais são aproximadores de função, não preditores do futuro
  6. f(x)=xe f(xn)=xn-1 1- estas também são funções
  7. Para simular o estado de um sistema, você precisa ter uma descrição completa ou completa desse sistema
  8. Estatísticas - apenas uma descrição parcial e seletiva das consequências do sistema
  9. Um bom sistema de previsão deve ser moderadamente auto-suficiente
  10. As redes neurais não podem ser consideradas uma palavra, são insidiosas, astutas e preguiçosas
  11. Quer que a IA o ajude a negociar? Ensine-o a negociar

Obrigado a todos que leram até o fim!

PS Não, este não é um artigo sobre a "análise fundamental da técnica VS". Este artigo é sobre "não há milagres".

All Articles