Redes neuronales: lo hiciste tan fácil

Las redes neuronales están de moda hoy en día con un número creciente de piratas informáticos, estudiantes, investigadores y empresas. El último avivamiento tuvo lugar en los años 80 y 90, cuando hubo poca o ninguna retirada total y pocas herramientas neuronales. El resurgimiento actual comenzó alrededor de 2006. Desde la perspectiva de un hacker, ¿qué herramientas y otros recursos estaban disponibles entonces, qué está disponible ahora y qué debemos esperar para el futuro? Para mí, una GPU en la Raspberry Pi sería buena.

Los 80 y los 90

Libros y revistas de redes neuronales de los años 80/90

Para los jóvenes que leen esto y se preguntan cómo los viejos nos las arreglamos para hacer algo antes de la World Wide Web, las revistas en papel jugaron un papel importante en hacernos conscientes de cosas nuevas. Y así fue el número especial de septiembre de 1992 del American Scientific Journal of Mind and Brain que me introdujo en las redes neuronales y las especies biológicas y artificiales.

Luego tenía la opción de escribir sus propias redes neuronales desde cero u ordenar el código fuente de otra persona que recibiría a través de un disquete por correo. Incluso encargué un disquete de la sección The Amateur Scientist de ese número científico-estadounidense. También puede comprar una biblioteca neuronal en línea que pueda hacer por usted todas las matemáticas complejas de bajo nivel. También había un simulador gratuito llamado Xerion de la Universidad de Toronto.

Una mirada a la sección de Ciencias de la librería hizo que apareciera algún libro sobre el tema. El clásico fue Investigations in Parallel Distributed Processing, en dos volúmenes, de Rumelhart, McClelland y otros. Mi favorito fue Computación neuronal y mapas autoorganizados: una introducción, útil si estaba interesado en las redes neuronales que dominan un brazo robótico.

También hubo cursos cortos y conferencias a las que pudo asistir. La conferencia a la que asistí en 1994 fue una presentación gratuita de dos días de Geoffrey Hinton, entonces de la Universidad de Toronto, entonces y ahora líder del departamento. La conferencia anual mejor reportada en ese momento fue la conferencia de procesamiento de información neuronal, que todavía está en pleno apogeo hoy.

Y por último, recuerdo haber buscado en las bibliotecas artículos publicados. Mi pila de ponencias de conferencias y de cursos, fotocopias y notas escritas a mano de ese período es de aproximadamente 3 de espesor.

Entonces las cosas se calmaron relativamente. Si bien las redes neuronales se han utilizado en una serie de aplicaciones, no han cumplido su exaltación y desde la perspectiva del mundo, fuera de una comunidad de investigación limitada, han dejado de importar. Las cosas se mantuvieron tranquilas a medida que se hicieron mejoras graduales, junto con algunos avances, y finalmente alrededor de 2006 volvieron a explotar en todo el mundo.

Llega el presente

Aquí nos centramos en las herramientas, pero de manera concisa, esos avances han sido principalmente:

  • nuevas técnicas para entrenar redes que tienen más de tres o cuatro capas de profundidad, ahora llamadas redes neuronales profundas
  • el uso de GPU (unidades de procesamiento de gráficos) para acelerar el entrenamiento
  • la disponibilidad de datos de entrenamiento que contienen múltiples muestras
  • Tramas de redes neuronales

    En la actualidad, existen muchas bibliotecas de redes neuronales, generalmente llamadas marcos, que se pueden descargar de forma gratuita con varias licencias, muchas de ellas marcos de código abierto. La mayoría de los más populares le permiten operar sus redes neuronales a través de GPU y son lo suficientemente flexibles para admitir la mayoría de los tipos de redes.

    Aquí están la mayoría de los más populares. Todos tienen soporte para GPU excepto FNN.

    TensorFlow

    Idiomas: Python, C ++ funciona

    TensorFlow es el marco de trabajo de red neuronal más nuevo de Google. Está diseñado para distribuir redes en muchas máquinas y GPU. Se puede considerar de bajo nivel, ofreciendo una gran flexibilidad pero también una mayor curva de aprendizaje que los de alto nivel como Keras y TFLearn, de los cuales hablamos a continuación. Sin embargo, están trabajando para producir una versión de Keras integrada en TensorFlow.

    Vimos esto en un truco en La-Tecnologia ya en este robot de reconocimiento de martillo y botella de cerveza e incluso tenemos una introducción sobre el uso de TensorFlow.

    Theano

    Idiomas: Python

    Esta es una biblioteca de código abierto para realizar cálculos numéricos eficientes con matrices multidimensionales. Es de la Universidad de Montreal y se ejecuta en Windows, Linux y OS-X. Theano ha existido durante mucho tiempo, 0.1 se lanzó en 2009.

    Cafetería

    Idiomas: línea de comandos, Python y MATLAB

    Caffe es desarrollado por Berkeley AI Research y colaboradores de la comunidad. Los modelos pueden definirse en un archivo de texto simple y luego procesarse usando una herramienta de línea de comandos. También hay interfaces Python y MATLAB. Por ejemplo, puede definir su modelo en un archivo de texto simple, dar detalles sobre cómo entrenarlo en un segundo archivo de texto simple llamado solucionador y luego transferirlos a la herramienta de línea de comandos caffe, que luego entrenará una red neuronal. Luego puede cargar esta red entrenada con un programa Python y usarla para hacer algo, como la clasificación de imágenes.

    CNTK

    Idiomas: Python, C ++, C #

    Este es Microsoft Cognitive Toolkit (CNTK) y funciona con Windows y Linux. Actualmente están trabajando en una versión para usar con Keras.

    Keras

    Idiomas: Python

    Escrito en Python, Keras usa TensorFlow o Theano a continuación, lo que facilita el uso de esos marcos. También planea apoyar a CNTK. El trabajo comienza para integrar Keras en TensorFlow, lo que resulta en una versión separada de Keras solo para TensorFlow.

    TF Lernu

    Idiomas: Python

    Al igual que Keras, esta es una biblioteca avanzada construida sobre TensorFlow.

    FANN

    Idiomas: admite más de 15 idiomas, no admite GPU

    Esta es una biblioteca avanzada de código abierto escrita en C. Se limita a redes neuronales completamente conectadas y mal conectadas. Sin embargo, se ha vuelto popular a lo largo de los años e incluso se ha incluido en las distribuciones de Linux. Simplemente aparece aquí en La-Tecnologia en un robot que ha aprendido a caminar reforzando el aprendizaje, una técnica de aprendizaje automático que a menudo usa redes neuronales.

    Antorcha

    Idiomas: Lua

    Una biblioteca de código abierto escrita en C. Curiosamente, dicen en la primera página de su sitio web que Torch se puede construir, con puertos para backlinks de iOS, Andoid y FPGA.

    PyTorch

    Idiomas: Python

    PyTorch es relativamente nuevo, su sitio web dice que está en una versión beta temprana, pero parece estar muy interesado en él. Se ejecuta en Linux y OS-X y usa Torch a continuación.

    Definitivamente hay otros que extrañé. Si tiene un favorito en particular que no está aquí, háganoslo saber en los comentarios.

    Cual usas? A menos que el lenguaje de programación o el sistema operativo sean un problema, otro factor a considerar es su nivel de habilidad. Si no se siente cómodo con las matemáticas o no quiere profundizar en los matices de la red neuronal, elija una avanzada. En ese caso, manténgase alejado de TensorFlow, donde tiene que aprender más sobre la API que Kera, TFLearn u otros avanzados. Los marcos que enfatizan su función matemática generalmente requieren que trabaje más para crear la red. Otro factor es si hará una investigación básica o no. Es posible que un marco avanzado no le permita acceder a los interiores lo suficiente como para comenzar a crear redes locas, tal vez con conexiones que abarcan múltiples capas o dentro de capas, y con datos fluyendo en todas las direcciones.

    Servicios de Internet

    ¿Está buscando agregar algo que una red neuronal ofrecería a su truco, pero no quiere tomarse el tiempo para aprender las complejidades de las redes neuronales? Para ello, los servicios están disponibles conectando su truco a Internet.

    Hemos visto innumerables ejemplos utilizando Alexa de Amazon para el reconocimiento de voz. Google también tiene sus servicios de aprendizaje automático en la nube, que incluyen visión y habla. Su servicio visual apareció aquí usando Raspberry Pi para pedir dulces y leer las emociones humanas. Wekinator se dirige a artistas y músicos que hemos visto acostumbrados a entrenar una red neuronal para responder a varios gestos para cambiar las cosas en la casa, así como para hacer un violín menor de un mundo virtual. No es sorprendente que Microsoft también tenga sus API de servicios cognitivos, que incluyen: visión, habla, lenguaje y más.

    GPU y TPU

    Repitiendo a través de una red neuronal

    Entrenar una red neuronal requiere repetir a través de la red neuronal, hacia adelante y luego hacia atrás, mejorando cada vez la precisión de la red. Hasta cierto punto, cuantas más repeticiones pueda hacer, mejor será la precisión final cuando se detenga. El número de repeticiones podría ser de cientos o incluso miles. Con las computadoras de las décadas de 1980 y 1990, obtener suficientes iteraciones podría llevar una cantidad de tiempo inaceptable. Según el artículo Deep Learning in Neural Networks: An Overview, en 2004 se logró un aumento de 20 veces en la velocidad con una GPU para una red neuronal completamente conectada. En 2006 creció 4 veces para una red neuronal conversacional. Para 2010, los aumentos fueron incluso más de 50 veces más rápidos al comparar el entrenamiento de la CPU con la GPU. Como resultado, las precisiones fueron mucho mayores.

    Tarjeta gráfica Nvidia Titan Xp. Crédito de la imagen: Nvidia

    ¿Cómo ayudan las GPU? Gran parte del entrenamiento de redes neuronales implica realizar una multiplicación de matrices, algo que se hace mucho más rápido en una GPU que en una CPU. Nvidia, líder en la fabricación de tarjetas gráficas y GPU, ha creado una API llamada CUDA, que utiliza software de red neuronal para usar la GPU. Señalamos esto porque verá mucho el término CUDA. Con la expansión del aprendizaje profundo, Nvidia ha agregado más API, incluido CuDNN (CUDA para redes neuronales profundas), una biblioteca de primitivas de redes neuronales finamente ajustadas y otro término que verá.

    Nvidia también tiene su propia tableta, la Jetson TX2, diseñada para ser el cerebro de los vehículos autónomos, los drones autónomos, etc. Sin embargo, como el nuestro [Brian Benchoff] señaló que el precio es un poco alto para el hacker promedio.

    Google también ha estado trabajando en su propia aceleración de hardware en forma de su Unidad de procesamiento de tensores (TPU). Es posible que haya notado la similitud con el nombre del marco de Google anterior, TensorFlow. TensorFlow usa mucho tensores (piense en matrices unidimensionales y multidimensionales en programas). Según el artículo de Google sobre la TPU, está diseñado para la fase final de las redes neuronales. La inferencia se refiere no al entrenamiento de redes neuronales sino al uso de la red neuronal después de haber sido entrenada. Todavía no lo hemos visto utilizado por ningún cuadro, pero es algo para recordar.

    Uso de otro hardware popular

    ¿Tiene una red neuronal que tardará mucho en entrenarse, pero no tiene una GPU compatible o no desea vincular sus recursos? En ese caso, hay hardware que puede usar en otras máquinas accesibles a través de Internet. Uno de ellos es FloydHub, que, para un individuo, cuesta solo un centavo por hora sin pago mensual. Otro es Amazon EC2.

    Bases de datos

    Entrenamiento de redes neuronales con datos etiquetados

    Dijimos que uno de los avances en las redes neuronales ha sido la disponibilidad de datos de entrenamiento que contienen muchas muestras, en decenas de miles. Entrenar una red neuronal utilizando un algoritmo de entrenamiento controlado implica entregar los datos a la red en sus entradas, pero también decirle cuál debería ser la salida esperada. En ese caso, los datos también deben estar etiquetados. Si le das una imagen de un caballo a las entradas de la red, y sus salidas dicen que parece un guepardo, entonces debe saber que el error es grande y requiere más entrenamiento. La salida esperada se llama etiqueta y los datos son 'datos etiquetados'.

    Muchos de estos conjuntos de datos están disponibles en línea con fines de formación. MNIST es uno de ellos para el reconocimiento de caracteres escritos a mano. ImageNet y CIFAR son dos conjuntos de datos diferentes de imágenes etiquetadas. Muchos más se enumeran en esta página de Wikipedia. Muchos de los marcos enumerados anteriormente tienen tutoriales que incluyen las bases de datos necesarias.

    Eso no significa que absolutamente necesites uno grande base de datos para obtener una precisión respetable. El robot caminante que mencionamos anteriormente, que usó el marco FNN, usó las posiciones del servomotor como datos de entrenamiento.

    Otros recursos

    A diferencia de los años 80 y 90, aunque todavía puedes comprar libros de bolsillo sobre redes neuronales, hay muchos en línea. Dos libros en línea que he disfrutado son MIT Press Deep Learning y Neural Networks and Deep Learning. Todos los marcos enumerados anteriormente tienen tutoriales para ayudarlo a comenzar. Y luego hay muchos otros sitios web y videos de YouTube sobre cualquier tema que esté buscando. Encuentro muy útiles los videos de YouTube de conferencias grabadas y discursos de conferencias.

    El futuro

    Raspberry Pi 7 con GPU

    Sin duda, el futuro verá más marcos por delante.

    Durante mucho tiempo hemos visto placas y chips neuronales especializados en el mercado, pero nadie ha encontrado un gran mercado, ni siquiera en los años 90. Sin embargo, estos no están diseñados específicamente para servir al área de crecimiento real, el programa de red neuronal en el que todos están trabajando. Las GPU sirven a ese mercado. Porque redes neuronales con millones de enlaces para procesamiento de imágenes y voz, lenguaje, etc. Al ir a dispositivos de consumo más y más pequeños, la necesidad de más GPU o procesadores adaptados a ese software resultará en algo que pueda convertirse en un elemento nuevo en una placa Raspberry Pi o Arduino. Aunque existe la posibilidad de que el procesamiento siga siendo un servicio en línea. EDITAR: Resulta que hay una GPU en la Raspberry Pi; vea los comentarios a continuación. Sin embargo, eso no significa que todos los altos ejecutivos lo utilizarán. Por ejemplo, TensorFlow solo admite tarjetas Nvidia CUDA. Pero aún puede usar la GPU para su propio código de red neuronal personalizado. También hay varios enlaces en los comentarios sobre esto.

    Ya existe competencia para las GPU ASIC como las TPU y tal vez veamos más de esas, tal vez impulsando por completo las GPU de las redes neuronales.

    En cuanto a nuestra nueva regla de computadora, las redes neuronales como parte de nuestra vida diaria están aquí para quedarse esta vez, pero la emoción que es la inteligencia artificial general disminuirá hasta que alguien haga descansos significativos solo para explotar nuevamente en el escenario, pero esta vez de verdad. .

    Mientras tanto, ¿qué marco neuronal usaste y por qué? ¿O escribiste tú mismo? ¿Hay alguna herramienta que le gustaría ver? Háganos saber en los comentarios a continuación.

    • Michael Engel dice:

      Bueno, la Raspi ya tiene GPU, claro. Así que no es de extrañar que alguien (ab?) Lo haya usado para ejecutar NN: https://petewarden.com/2014/06/09/deep-learning-on-the-raspberry-pi/ (desafortunadamente, no parece haber ningún código fuente disponible )

      • Steven Dufresne dice:

        No esperaba eso, pero tiene sentido debido a lo popular que es el Pi en el juego.
        Desafortunadamente, TensorFlow solo admite tarjetas gráficas Nvidia CUDA.

      • Alasdair Allan dice:

        El código fuente para el puerto de Deep Belief está en Github en https://github.com/jetpacapp/DeepBeliefSDK/tree/master/RaspberryPiLibrary.

    • Paul Klemstine dice:

      Utilizo Deep Learning para Java (https://deeplearning4j.org/) para hacer esto: https://www.youtube.com/watch?v=fa9AgQbow-o

    • paulklemstine dice:

      Utilizo Deep Learning para Java (https://deeplearning4j.org/) para hacer esto: https://www.youtube.com/watch?v=fa9AgQbow y esto: https://www.youtube. Com / look? v = 2V63YBjovDU

    • Julia Longtin dice:

      También es posible lanzar código en la GPU de la raspberry pi.

      https://github.com/christinaa/rpi-open-firmware/tree/master

      Linux arranca en el brazo, pero la mayor parte del hardware aún no se ha iniciado, desafortunadamente. parches bienvenidos!

    • dcfusor2015 dice:

      En el pasado, los libros de Timothy Masters me parecieron muy informativos y agradables de leer (es la combinación más inusual de un matemático que también puede escribir inglés) y C ++.
      Él predijo / diagnosticó correctamente todas las quejas actuales sobre NN a principios de los años 90, que ahora están apareciendo debido a que no se siguieron sus consejos y pautas de "cuándo". Como "no profundice demasiado hasta que demuestre que lo necesita": ahora tenemos un aprendizaje profundo como la rabia que a menudo es engañada por el ruido más simple. "Utilice matemáticas de alta precisión para encontrar el gradiente de error cuando es plano", por lo que ahora (para promover el "aprendizaje profundo del doo doo, o um, mal utilizado") hemos reducido los flotadores de precisión.
      Solo tengo que reírme, aquí hay otro caso en el que los nuevos chicos no son conscientes de lo que pasó antes, reinventando la rueda (y por supuesto, dándole crédito) y perdiendo lo que ya han aprendido con gran esfuerzo. Adivina, las cosas siguen funcionando igual que siempre.
      "Recetas prácticas de redes neuronales en C ++" ISBN 0-12-479040-2
      Bases de la red neuronal de MLFF, así como Kohonen y otros, con historial, consejos y código de trabajo.
      "Procesamiento de señales e imágenes con redes neuronales, libro de consulta C ++", donde Timothy extiende la teoría NN al dominio de los números complejos (también con el código fuente). ISBN 0-471-04963-8
      Ambos de Timothy Masters (que también tiene un sitio web, pero los enlaces se publican aquí durante demasiado tiempo).
      Ahora * realmente * lo tienes fácil. El primer libro es muy divertido de leer ...

      Regresó con este cambio porque el inicio de sesión de WordPress está bloqueado y cree que esto ya está publicado, pero no lo está.

      • MDude dice:

        Desde mi punto de vista, parece que hacer algo desde tu cabeza y ejecutarlo podría ser una forma confiable de obtener muy buenas recomendaciones de libros. Si tan solo hubiera una forma igualmente confiable de encontrar dicho material al principio del proceso.

    • martinmuunk dice:

      Hay un canal de YouTube llamado "Two Minute Papers". Destaca muchas cosas de NN fascinantes e inspiradoras: https://www.youtube.com/watch?v=rAbhypxs1qQ

    • RoGeorge dice:

      Este es un buen lugar para comenzar, ya que solo tiene una página y tiene ejemplos interactivos en una página web:
      https://cloud.google.com/blog/big-data/2016/07/understanding-neural-networks-with-tensorflow-playground

    • mramsey dice:

      Es curioso cómo se han desarrollado cosas que percibimos como nuevas desde mucho antes de que la mayoría de los lectores nacieran aquí. Nosotros, los viejos, sabemos que los años 80 y 90 fueron en realidad el segundo resurgimiento de las redes neuronales artificiales. El primero comenzó con la invención de Perceptrons a fines de la década de 1950: https://en.wikipedia.org/wiki/Perceptron

      • Igualdad dice:

        El motivo de los ciclos:
        1. Aparece una nueva generación, lee sobre el pasado y se pregunta "¿por qué nunca terminaron esto? En ese momento no tiene que ser lo suficientemente bueno, es decir, tecnología ..." comienza a trabajar en ello, comienza una nueva moda.
        2. La nueva moda genera muchas ideas nuevas, fomentando la ciencia
        3. Las empresas gigantes compran los derechos de propiedad intelectual de esas ideas y luego las cancelan porque no pueden utilizarse fácilmente para forzar una transferencia masiva de riqueza mientras se viola la dignidad de los consumidores.
        4. Los innovadores e inventores se derrumban y ya no pueden permitirse comida y alojamiento.
        5. Ideas y aliento a los pocos supervivientes que sufren unos años.
        6. Regrese al primer paso.

    • RoGeorge dice:

      También el canal de YouTube DeepLearning.TV es un buen canal para una descripción general:
      https://www.youtube.com/channel/UC9OeZkIwhzfv-_Cb7fCikLQ

    • Somun dice:

      Quiero que más y más ejecutivos comiencen a admitir OpenCL, que es compatible con muchos proveedores (GPU y CPU). CUDA es específico de nVidia.

    • sebastianfoerster86 dice:

      Gracias, por esta descripción general ...!

      • Steven Dufresne dice:

        De nada. ¡Gracias por mencionar ese genial robot andante y por publicar todos los detalles sobre cómo lo entrenó!

    • Gravis dice:

      El problema con las redes neuronales es que no creamos los algoritmos para convertir sus acciones en código o viceversa. Si haces eso, las redes neuronales serán una sensación repentina.

    • ruido accidental del abismo dice:

      ¿Cognimem ni siquiera merece ser mencionado? http://www.cognimem.com/index.php
      Sus chips de red neuronal basados ​​en Asic son increíblemente fáciles de trabajar.

      • Steven Dufresne dice:

        Bela. Veo que hablamos de eso antes de https://la-tecnologia.com/2012/07/17/finger-recognition-on-the-kinect/.
        Parece que trabajaste con ellos tú mismo. ¿Qué hiciste?

    • ruido accidental del abismo dice:

      Mi primera introducción a la electrónica vino de Radio Electronics Magazine. https://archive.org/details/radioelectronicsmagazine?&sort=-downloads&page=2 Hice muchos de mis primeros proyectos electrónicos con esta revista. Era mi HAD en los 80.

      Los libros TAB tenían un "club de libros electrónicos" anunciado en él. Uno de esos $ 4.95 por sus primeros 5 libros y luego cada mes otro libro mostraría que podía regresar si no lo deseaba, pero lo pagaría porque era más fácil que regresar ... como el .99c clubes de cd. Bueno, un mes en mi paquete contenía “Experimentos sobre redes neuronales artificiales” de Edward Rietman 1988 ... Tengo que admitir que a los 14 años excedió mi habilidad o interés, así que lo devolví. Pero esta es la primera vez que expongo el concepto ... como referencia histórica.

    • halherta dice:

      Otra herramienta realmente excelente para analizar y entrenar redes neuronales es la biblioteca de Python sciKit-learn.

      Mi primer uso del software Neural Networking fue con una caja de herramientas Scilabs ANN. https://atoms.scilab.org/toolboxes/ANN_Toolbox
      Era la única herramienta científica accesible capaz de entrenar redes neuronales en ese momento de forma gratuita. ¡Funcionó muy bien! y me ayudó mucho a comprender cómo funcionaban las redes neuronales y el algoritmo de descenso de gradientes.

    • Elliot Williams dice:

      Para una introducción moderadamente rigurosa, me gusta mucho "Redes neuronales para el reconocimiento de patrones" de Bishop. Es un poco anticuado, pero maneja muy bien los conceptos básicos.

      La mayoría de la “red neuronal en conflicto” y el “aprendizaje profundo”, etc., solo ajustan el marco básico en los bordes: preprocesando los datos de manera inteligente o simplificando las funciones de transferencia para facilitar las redes de entrenamiento. respectivamente. Una buena comprensión de los conceptos básicos le permite leer muchas palabras.

      • Steven Dufresne dice:

        Me gustan esas fuentes "anticuadas". A menudo, recibirá explicaciones detalladas de cosas nuevas en ese momento, pero que ya no se pueden explicar en los textos actuales.

    • Un dron dice:

      No está sucediendo mucho "Terremoto" ahora con el tema "Redes neuronales", simplemente está progresando como siempre. Pero la visibilidad del tema se está volviendo más expuesta / impresionante debido a los avances en el mayor procesamiento de dispositivos portátiles de consumo. La mayor parte de lo que ve hoy sobre las redes neuronales es una exaltación de la tecnología. "Tipos de marketing / MBA" ignorantes que intentan espiarte más y mover más hardware durante el proceso.

      ¿Recuerda los días de la “lógica difusa”, cuando todos los fabricantes de electrodomésticos promovían esta tecnología, pero la implementaban de manera muy deficiente? Lo único que surgió del éxito "Fuzzy Logic" fue un tesoro de patentes frívolas emitidas por la USPTO que solo se espera que estén acompañadas por jóvenes y corruptos abogados de trol de patentes, después de que, por supuesto, entendieron mi comentario; -)

      NB, esta publicación de comentarios NO tiene la intención de menospreciar a los ingenieros y científicos que están haciendo una investigación REAL sobre redes neuronales. Ustedes son Heros IMO.

    • Joe Q. dice:

      Muy buena descripción. Un amigo y yo escribimos nuestro propio programa NN para un proyecto de informática de la escuela secundaria a principios de la década de 1990 ... en Turbo Pascal. Usamos el artículo Hinton como guía. Lo entrenamos para filtrar el ruido de la música simulada (ondas sinusoidales). Funcionó bastante bien.

Victoria Prieto
Victoria Prieto

Deja una respuesta

Tu dirección de correo electrónico no será publicada.