Table des matières
#1. ¿Qué son las redes neuronales?
#2. ¿Cómo funciona una red neuronal?
#3. Principales tipos de redes neuronales
#4. Beneficios de las redes neuronales
#5. Desventajas de las redes neuronales
#6. Breve conclusión
// Neural Networks
#1. ¿Qué son las redes neuronales?
#2. ¿Cómo funciona una red neuronal?
#3. Principales tipos de redes neuronales
#4. Beneficios de las redes neuronales
#5. Desventajas de las redes neuronales
#6. Breve conclusión
En los últimos años, las redes neuronales se han convertido en algo así como una nueva electricidad, una tecnología revolucionaria que ha penetrado en todas las esferas de la actividad humana. Y esto no es sorprendente, ya que las soluciones tecnológicas basadas en redes neuronales pueden realizar una gama extremadamente amplia de tareas, desde tratar las enfermedades más complejas hasta recomendar una serie de televisión para la noche. Sin embargo, esta tecnología no es perfecta, tiene sus pros y sus contras que debes conocer y considerar si decides crear tu producto basado en redes neuronales.
Redes neuronales (NN) o redes neuronales artificiales (ANN) es un nombre generalizado para modelos y programas matemáticos basados en el principio de organización y funcionamiento de redes neuronales biológicas: redes de neuronas en el cerebro humano. La característica principal de las redes neuronales artificiales, por la que se han vuelto tan populares, es la capacidad de aprender y actuar en función de la experiencia pasada, y no solo de acuerdo con algoritmos preescritos.
Las redes neuronales a menudo se perciben como algo nuevo y revolucionario. Sin embargo, los desarrollos en esta área comenzaron en la primera mitad del siglo pasado, luego de que Warren McCulloch y Walter Pitts lograran en 1943 crear el primer modelo matemático de los principios de la neurona. En su trabajo "Representación de eventos en redes nerviosas y autómatas finitos", los científicos describieron en forma de funciones un modelo matemático simple que funciona como una neurona biológica: toma entradas, las procesa y devuelve el resultado.
El siguiente avance significativo en el campo de las RNA no se produjo hasta 60 años después: en 2006, Geoffrey Hinton describió algoritmos de aprendizaje profundo para RNA multicapa basados en la máquina de Boltzmann restringida, o RBM (máquina de Boltzmann restringida). Al mismo tiempo, Hinton también formuló el concepto básico de entrenamiento de algoritmos de redes neuronales: para obtener una solución rápida y lista para resolver un problema específico, NN necesita ser entrenado en muchos ejemplos reales (por ejemplo, fotografías de varios gatos en diferentes poses y contra diferentes fondos).
La arquitectura de una red neuronal artificial consta de tres o más capas: entrada, salida y uno o más nodos ocultos. Actualmente , el aprendizaje profundo se usa de forma predeterminada para crear una NN , por lo que generalmente hay varios nodos ocultos. Cada capa NN consta de unidades informáticas ("neuronas") que reciben datos de la capa anterior, los procesan realizando cálculos simples y pasan estos datos a la siguiente capa.
La capa de entrada acepta entrada en varios formatos diferentes, como brillo, contraste, color, líneas u otras características de una imagen si es una fotografía. La capa oculta es responsable de encontrar patrones y características ocultos a través de cálculos simples. La capa de salida, por así decirlo, resume todos los cálculos y emite una respuesta en forma de conclusión, acción y/o pronóstico. Si la respuesta es correcta o simplemente está por encima de un cierto umbral de "corrección", entonces la red neuronal, por así decirlo, "amplifica" esos cálculos ("neuronas") que la dieron. Y viceversa.
Funciona de la siguiente manera. Digamos que necesita un programa para reconocer si una foto contiene un perro o un lobo. Luego, su red neuronal: analizará la imagen en diferentes detalles usando la capa de entrada, buscará señales de perros y gatos entre estos detalles usando capas ocultas y resumirá (hay un gato o un lobo en la foto) usando la capa de salida.
Dependiendo de la arquitectura, las redes neuronales artificiales se dividen en varios tipos, que se utilizan para diferentes propósitos. A continuación se muestran los tipos más comunes de redes neuronales que probablemente encontrará si desea desarrollar su solución basada en NN.
perceptrón . La red neuronal más antigua creada por Frank Rosenblatt allá por 1957. Consiste en una sola neurona y es la forma más simple de una red neuronal artificial.
Autoaprendizaje . Esta es la principal característica y ventaja de las redes neuronales artificiales, que son tan populares entre los programadores y empresarios de todo el mundo. Simplemente cree un algoritmo básico, luego aliméntelo con ejemplos para entrenar (por ejemplo, fotos de personas, si desea que su red neuronal busque personas en una foto) y mire los resultados. Al mismo tiempo, el propio algoritmo decide cómo lograr el objetivo deseado, encontrando a menudo soluciones que no son obvias (para las personas).
Además, la red neuronal no es solo de autoaprendizaje, está diseñada para autoaprender continuamente y mejorar sus resultados. Una vez que se entrena el sistema, el programa o la aplicación se vuelve más fácil de usar a medida que se usa. Por eso, el sistema de recomendaciones de Google Translate, Netflix o TikTok mejora cada año.
Filtrado eficiente de ruido en los datos . Imagine cualquier lugar razonablemente ruidoso, como un mercado o un estadio. La gente habla, la música suena fuerte, los autos pasan por algún lado y los pájaros gritan: hay ruido en todas partes, pero a pesar de esto, puede comunicarse tranquilamente con las personas cercanas. Tus oídos captan toneladas de sonidos innecesarios, pero tu cerebro los filtra y percibe solo lo que dice tu interlocutor. Esta propiedad también se encuentra en las redes neuronales artificiales. Después del entrenamiento, pueden aislar solo la información que necesitan de un enorme flujo continuo de datos, ignorando todo el ruido extraño.
Esta es una función muy útil si necesita buscar patrones en grandes cantidades de datos heterogéneos, como investigaciones médicas no clínicas, pronósticos del tiempo, análisis de mercados económicos o traducción de textos.
Adaptarse al cambio . Otra ventaja de las redes neuronales artificiales es la capacidad de adaptarse a los cambios en los datos de entrada. Como analogía, podemos dar un ejemplo con la actualización de aplicaciones. Digamos que ha estado desconectado durante mucho tiempo y durante ese tiempo Instagram y TikTok se han actualizado con algunas funciones nuevas. Después de tomarse un par de minutos para leer las instrucciones, se familiarizará con todas las funciones nuevas y seguirá usando Instagram y TikTok. Lo mismo ocurrirá con las redes neuronales. Tras un breve periodo de adaptación a los cambios, seguirá funcionando con la misma eficacia.
Tolerancia a fallas . Las soluciones basadas en redes neuronales siguen operativas incluso después del fallo de parte de las neuronas. Sí, esto puede afectar la precisión y/o la velocidad del algoritmo, pero sus respuestas seguirán siendo lógicas, racionales y correctas. Esta es una propiedad muy útil si un dispositivo con una red neuronal a bordo debe funcionar en un entorno agresivo (zonas radiactivas, en guerra, en edificios o espacios destruidos).
Grandes oportunidades . Otra ventaja clave de las ANN es su amplia gama de aplicaciones. Las redes neuronales funcionan como un cerebro humano, lo que significa que una vez entrenadas, pueden realizar una variedad de tareas en una variedad de áreas, desde aumentar las conversiones en una tienda en línea hasta encontrar planetas similares a la Tierra en el espacio. Lo principal es que haya suficientes conjuntos de datos reales o sintéticos para el entrenamiento.
Velocidad de trabajo . Otra ventaja importante de las redes neuronales es su enorme velocidad, tanto en comparación con los algoritmos informáticos convencionales como en comparación con el cerebro humano. Las redes neuronales artificiales no se cansan y no tienen pausas para el almuerzo. La velocidad de su trabajo está determinada únicamente por la potencia informática disponible para ellos (tarjeta de video, servidor en la nube o centro de datos). Esto generalmente significa que emiten una solución casi al instante.
El problema de la caja negra . Quizás la deficiencia más notoria de todas las NN es su naturaleza de "caja negra". En pocas palabras, no sabe cómo y por qué su red neuronal llega a un determinado resultado. Por ejemplo, cuando pones una foto de un gato en una red neuronal y te dice que es un avión, es muy difícil entender qué lo llevó a esa conclusión. Simplemente no sabes lo que está pasando dentro del "cerebro" de la red neuronal.
Lo mismo se aplica a sitios como YouTube, Facebook, TikTok o Quora. Si un algoritmo de aprendizaje automático elimina una cuenta de usuario, la plataforma tendrá que explicar por qué. Es poco probable que esté satisfecho con la frase: "La computadora nos lo dijo". Esto está plagado de demandas.
Carácter probabilístico de las respuestas . Pero eso no es todo. Si introduce una imagen en una red neuronal y luego le pregunta: "¿Es un gato, un perro o algo más?", probablemente quiera que la respuesta sea: ¿es un gato, un perro o algo más? . Pero en realidad, incluso una red neuronal muy bien entrenada no producirá resultados tan limpios. Lo más probable es que sea algo como: gato - 0,97, perro - 0,01, otra cosa - 0,02. Estos resultados pueden interpretarse como probabilidades. En nuestro caso, esto significa que la probabilidad de que la foto muestre un gato es del 97%, para un perro esta probabilidad es del 1%, para otra cosa, del 2%.
Duración del desarrollo . Aunque hay muchas bibliotecas como NeuroLab, ffnet, SciPy, TensorFlow, Scikit-Neural Network, Lasagne, pyrenn, NumPy, Spark MLlib, Scikit-Learn, Theano, PyTorch, Keras que ayudan a ahorrar tiempo y esfuerzo al desarrollar redes neuronales artificiales , no siempre son aplicables. Por ejemplo, si necesita crear una solución nueva o bastante compleja que requiera más control sobre los detalles del algoritmo.
La cantidad de datos . La siguiente desventaja de las redes neuronales es que su entrenamiento generalmente requiere muchos más datos que los algoritmos tradicionales de aprendizaje automático. Y como dijimos antes, si se trata de datos únicos o difíciles de recopilar, entonces esto puede ser un desafío serio para los desarrolladores. Y muchas veces mucho más que escribir el código de una red neuronal artificial.
Es por eso que ahora las nuevas redes neuronales artificiales (soluciones de IA) están siendo desarrolladas principalmente por grandes empresas (Google, Microsoft, IBM), que no solo tienen mucho dinero y acceso a programadores de alto nivel, sino también a big data. Las pequeñas y medianas empresas no son su competidor aquí.
Computacionalmente caro . Los algoritmos modernos de aprendizaje profundo basados en redes neuronales artificiales requieren varias semanas, y a veces años, para aprender desde cero. Mientras que la mayoría de los algoritmos de aprendizaje automático tradicionales requieren mucho menos tiempo para entrenar: de varios minutos a varias horas. Por ejemplo, una red neuronal con 50 capas será mucho más lenta que un algoritmo de bosque aleatorio (un método de aprendizaje conjunto para clasificación, regresión y otros problemas) con solo 10 árboles.
Esto vuelve a complicar el desarrollo de soluciones basadas en redes neuronales y dificulta su integración en los negocios, y más aún en el sector sin ánimo de lucro.
Las redes neuronales artificiales son excelentes para algunas tareas y no tan buenas para otras. Sin embargo, pocas personas entienden cuándo pueden realmente aportar un valor real a su negocio y cuándo es mejor recurrir a otras opciones para implementar la inteligencia artificial. Merehead es una de esas empresas. Conocemos bien el desarrollo de soluciones basadas en inteligencia artificial, aprendizaje automático y redes neuronales, por lo que si estás planeando lanzar un proyecto similar, contáctanos, estaremos encantados de ayudarte.
Commentaires de nos clients
Développement d'un écosystème complexe basé sur la technologie blockchain
Avez-vous des questions? Tu peux nous ecrire.
TelegramDepuis 2015, nous aidons à apporter votre idée au produit de qualité.