Aplicação usando AutoEnconders

Home Fóruns Fórum Deep Learning de A à Z com PyTorch e Python Aplicação usando AutoEnconders

Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #43748

    Tenho um projeto onde disponho de 96 sensores acústicos, dispostos linearmente, que geraram leituras em tempo real durante 120 segundos. Tenho uma base de dados em que esses dados acústicos foram amostrados numa frequência de amostragem = 25600Hz. Assim, tenho 120 valores, 1 para cada segundo de aquisição do sistema, uma matriz 120×96 de valores, que definem a natureza do sinal que foi gravado. Minha dúvida é: posso usar AutoEncoders para reproduzir na saída um sinal fiel ao da entrada? Se sim, eu irei injetar 120 valores em cada um dos 96 neurônios de entrada do meu AutoEncoder? Se sim, caso eu tenha ruído inserido nesses AutoEncoders, ou caso algum deles dê defeito e eu introduza um valor zero em seu neurônio de entrada, é possível que na saída eu tenha um valor próximo do que deveria obter, com esse sensor funcionando normalmente?  Por fim, gostaria de saber se o uso de AutoEncoders é indicado para esse tipo de aplicação e qual configuração eu deva tentar (Denoising, Stack, Convolutional, etc.)  Há algum outro tipo de técnica de self supervising que se aplicaria a esse tipo de aplicação?

    #43757
    Denny Ceccon
    Moderador

      Olá Edmilson,

      Seu problema é muito específico, exigiria um pouco mais de contexto, mas infelizmente nós não temos como fornecer este tipo de assessoria no momento.

      #43762

      vou tentar dar mais subsídios. imagina que vc tenha 96 sensores que captam 120 pontos cada, sendo 1 a cada segundo. Se plotarmos 96 gráficos com esses pontos, teríamos t(seg) nas abcissas e x(valor medido) nas ordenadas. Considerando que queiramos saber se esses gráficos estão corretos, bastaria criar um autoencoder com 96 entradas e 96 saídas, e injetar em cada nó os 120 valores correspondentes, e calcular a perda em relação aos valores obtidos nas 96 saídas? Essa é a questão: Essa é uma aplicação válida utilizando AutoEncoders?

       

      #43763
      Denny Ceccon
      Moderador

        Se os sensores têm funcionamento similar e são caracterizados pelas 120 medidas, me parece fazer mais sentido treinar uma rede com 120 neurônios de entrada e saída. Já se cada sensor funciona de forma diferente, você precisaria de 96 redes neurais, uma para cada sensor. Não tenho familiaridade com este tipo de dado, como eu disse te dar uma orientação mais assertiva demandaria conhecer melhor os detalhes do sistema. Te recomendo procurar na literatura se alguém já tratou este tipo de dado com esta abordagem.

        #43764

        Obrigado Denny. Realmente são 96 sensores, que, são dispostos em forma circular, para fins de um rastreamento em 360º, assim, 360/96 = 3,75º de cobertura para cada sensor. Ao compor os 96 valores, tenho, a cada instante, uma leitura de um ponto por segundo, compondo 120 valores, lidos em 120 segundos.  Logo, cada gráfico  valor do sensor x tempo, gera um gráfico de 120 valores. E, ao compor os 96 gráficos, tenho um mapa que descreve as trajetórias dos possíveis alvos se deslocando. Assim, creio que a segunda opção que você descreveu corresponde a essa realidade. Mas, meus dilemas são:  Se eu criar um Autoencoder com 96 nós de ent e 96 nós de saída, e injetar esses 120 valores correspondentes a cada sensor, eu estou tendo alguma coerência na saída obtida? Se sim, então posso usar essa “rede” para ver como se comportaria esse Autoencoder: a) com ruído em alguns valores de entrada , b) desligando algum(ns) sensores de entrada.   É um uso CORRETO de Autoencoders?

        #43766
        Denny Ceccon
        Moderador

          O ruído provavelmente seria suavizado, esta é uma das aplicações dos autoencoders, mas se um sensor for desligado você não tem sinal de entrada então a rede provavelmente não produziria nada, ela tentaria codificar e depois decodificar o sinal zerado.

          #43768

          entendi. mas preciso tirar uma dúvida crucial. Faz sentido usar autoencoders quando somente disponho de um conjunto de pontos de um gráfico? por exemplo, se eu injeto os pares (0,0), (1,1), (2,2), (-3,-3), etc…. eu sei que se trata de uma reta. Eu posso injetar isso num nó de entrada de um autoencoder? é um tipo de aplicação que faz sentido?  Estou pensando em 96 nós, onde cada um tem um conjunto de 120 pontos… isso está de acordo com a teoria de autoencoders?

          #43770
          Denny Ceccon
          Moderador

            Poder pode, mas se você sabe que é uma reta, faz mais sentido usar uma regressão linear de uma vez, é mais econômico computacionalmente e o erro será menor.

            #43771

            entendi. mas a intenção é primeiro rodar desse jeito.  num segundo momento, injetar esse mesmo sinal com ruído e ver se a saída vai sair “limpa” ou bem próxima da original sem ruído. e num terceiro momento desligar alguns sensores e verificar se o mesmo efeito acontece.

             

             

            #44650
            Jones Granatyr
            Moderador

              Esperamos que tenha sucesso no projeto!

            Visualizando 10 posts - 1 até 10 (de 10 do total)
            • Você deve fazer login para responder a este tópico.