Tipos de redes neuronales (Clasificación)

Tipos de redes neuronales (Clasificación)

A la hora de clasificar las redes neuronales, lo podemos realizar a partir de varios tipos de redes. Las formas de clasificarlas pueden variar y entre los tipos de clasificación más populares, están: clasificación por número de capas, clasificación por el tipo de conexiones y clasificación por el grado de conexiones. A la vez que también existen diferentes formas de hacer redes neuronales, basadas en algoritmos y desarrollos diversos.

Los tipos de redes neuronales son los siguientes: percepción multicapa, redes neuronales convuncionales, redes neuronales recurrentes y redes neuronales de base radial.

Clasificación por el número de capas.

En esta clasificación podemos dividir las redes neuronales, en dos principales tipos:

  • Redes neuronales monocapas: generalmente son las más sencillas de hacer, la capa de entrada también podría considarse una capa, pero al no hacer cálculos no se tiene en cuenta a la hora de clasificarse. La capa de entrada se conectan a la capa de neuronas de salida que realizan determinados cálculos.
  • Redes neuronales multicapas: entre las conexiones de entrada y de salida, existen diversas capas de neuronas que hacen de intermediarias, denominadas capas ocultas. Estas capas de neuronas, pueden conectarse entre ellas o no.
Clasificación de redes neuronales por número de capas
Clasificación de redes neuronales por número de capas

Clasificación por los tipos de conexiones.

Las conexiones también nos pueden ayudar a clasificar los tipos de redes neuronales o elegir que tipo de red neuronal nos conviene desarrollar, para determinadas tareas. Entre los tipos de conexiones existen:

  • Redes neuronales no recurrentes: se descubrieron en el año 1980, la información de las redes neuronales trabaja en un solo sentido. No existe una realimentación y también carecen de memoria. Este tipo de red neuronal no es tan utilizada. Sin embargo las redes neuronales recurrentes y no recurrentes, también utilizan algoritmos en común como por ejemplo en la fase de entrenamiento.
  • Redes neuronales recurrentes: las neuronas tienen la posibilidad de realizar conexiones realimentación, ya sea entre neuronas de una misma capa o de diferentes capas. La realimentación permite que las redes neuronales recurrentes, tengan memoria. Las redes neuronales recurrentes tienen mayores ventajas en general y suelen ser más potentes, que las redes neuronales no recurrentes.
Representación gráfica de red neuonal recurrente.
Representación gráfica de red neuronal recurrente.

Clasificación por grado de conexiones.

Algo que asimila el funcionamiento del cerebro al funcionamiento del software de inteligencia artificial, es la gran capacidad de conexión. Mientras que los datos en el silicio se transportan más rápido que el cerebro biológico, el cerebro, tiene un mayor número de conexiones como ventaja. Los tipos de redes neuronales también se pueden clasificar por el grado de conexiones.

  • Redes neuronales totalmente conectadas: las capas anteriores y las capas posteriores, están totalmente conectadas. La totalidad de las neuronas están conectadas entre ellas.
  • Redes parcialmente conectadas: no todas las neuronas están totalmente conectadas entre ellas.

A la hora de conectar redes neuronales, se pueden realizar estructuras realmente complejas, en las que diferentes redes tienen determinadas jerarquías y trabajan en procesos diferentes.

¿Qué son las redes neuronales convuncionales?

La mayor ventaja de las redes neuronales convuncionales, respecto a otros tipos de redes neuronales como las multicapa comunes, es que diferentes partes de la red neuronal, se pueden entrenar para tareas diversas. Con esto se consigue aumentar la velocidad de entrenamiento e identificar patrones de una forma más avanzada. Gracias al uso de algoritmos para redes convuncionales, se reduce el número de conexiones y de parámetros, por lo que requiere de menor entrenamiento. Algunos de los cálculos que se utilizan en este tipo de redes neuronales son: sigmoide RLU, Maxout y Leaky ReLu.

¿Qué son las redes neuronales de base radial?

En la Inteligencia Artificial y matemáticas de le denomina a las redes neuronales de base radiales, a las que aplican funciones de base radial como funciones de activación. La salida de la red es una combinación lineal de funciones de base radial y parámetros neuronales. Las aplicaciones son diversas, como por ejemplo la aproximación de funciones, la predicción de series de tiempo y la clasificación. Esto no quita que también se pueda aplicar para otros casos de uso.

La capa oculta aplica una función RBF No Lineal. Este tipo de redes neuronales se aplican con resultados muy positivos en tareas de clasificación. Las redes neuronales de base radial se descubrieron en el año 1988.

¿Qué algoritmos son los más utilizados para hacer redes neuronales?

En esta web ya hemos hablado otras veces sobre algoritmos de aprendizaje automático, sin embargo se trataba de un post más generalista, para la inteligencia artificial en general. A la hora de hacer redes neuronales, existen infinidad de algoritmos. Algunos de los algoritmos y cálculos que más se aplican, son los siguientes.

  • Descenso de gradiente: se trata de un algoritmo de optimización y el método con el que las redes neuronales consiguen aprender, basado en alcanzar el punto mínimo de un error. Además de utilizarse para redes neuronales, también es compatible con cálculos de regresión lineal, regresión logística o máquinas de vectores de soporte, haciendo que sean más complejos. Existen varios tipos de descenso de gradiente, como Batch Gradient, Mini-Batch o descenso de gradiente estocástico.
  • Sigmoid (Función sigmoide): se puede observar en procesos de aprendizaje automático e incluso en procesos naturales y se utiliza para trazar la evolución de un proceso en un determinado un espacio de tiempo. Por ejemplo en la inteligencia artificial, se utiliza para la evolución en la que un sistema algorítmico, consigue llegar a una tasa de errores más baja y mejorar las predicciones. A la regresión logística, también se le llama función sigmoide.
  • BackPropagation (Propagación hacia atrás): este cálculo se utiliza para trabajar en diversas capas de una red neuronal. El algoritmo se propaga desde las capas de entrada hasta las de la salida; al llegar a la capa de salida, se calcula un margen de error con el resultado de la salida y el resultado deseado; la señal de error se propaga a las capas anteriores, comenzando por las de salida, hasta las capas ocultas (intermediarias) De forma que se ajusta el peso de las neuronas artificiales. Al reducir el margen de error, se consigue una predicción más exacta. Con la función sigmoide se puede observar la evolución en la que el margen de error baja. Definición muy resumida: este cálculo interpreta patrones, gracias a cálculos de error, a partir de los datos de entrada que los que se entrena.
  • Método de Newton: es una aplicación del cálculo diferencial que se aplica para encontrar los ceros y raíces de una función derivable de enésimo grado. En las redes neuronales se utiliza para la optimización.
  • Aprendizaje de cuantificación vectorial: a partir de la creación de un diccionario de prototipos, se realizan entrenamientos de las capas supervisadas de una red neuronal. Esta técnica aprende a interpretar diversos patrones.

¿Qué hardware necesita un equipo para trabajar con redes neuronales? (Deep Learning)

Para programar en Python o R, se puede comenzar con cualquier ordenador antiguo y desfasado. Sin embargo, esto cambia cuando lo que intentamos es desarrollar software de Deep Learning. En este caso es necesario tener un equipo potente, en especial un buen procesador GPU/Gráfica y una buena ram para procesar todos los datos.

  • Tarjetas gráfica de NVIDIA: algunas de las más recomendadas son RTX 2070(8GB) y RTX 2020. Sin embargo también son compatibles otras tarjetas gráficas de NVIDA, sobretodo si son más nuevas. Resumiendo, tener una buena gráfica de NVIDIA, cuanto más potente mejor. Lo malo de las tarjetas gráficas es que están muy caras debido al minado de criptomonedas y al auge del gaming.
  • Tarjeta RAM y placa base: 32GB o más, cuanta más RAM mejor, también hay que tener en cuenta la capacidad que aguanta la placa base o placa madre. En este caso, cuanto más aguante mejor.
  • Procesadores Intel: los procesadores de i9 9900K y Intel i7-8750H, ofrecen buenos rendimientos entre los desarrolladores y científicos que trabajan en Deep Learning. Intel hace poco ha adquirido una empresa especializada en procesadores de Inteligencia Artificial (Habana Labs), que no están al alcance del consumidor medio.
  • Portátiles y sobremesas especializados: algunas empresas han visto oportunidad de negocio en montar ordenadores especialmente para los profesionales de la Inteligencia Artificial. Por lo que podemos encontrar portátiles como el “Tensorbook” o “Nvidia Data Science Workstation”.

Mientras que para otras profesiones, la mayoría de hardware sobra al comprar un equipo nuevo, en el desarrollo de software para Inteligencia Artificial, pasa totalmente lo contrario. Por lo que se requiere de una mayor inversión.

¿Qué ventajas tiene el Deep Learning vs Machine Learning?

  • Trabaja mejor con datos sin estructurar: para trabajar con Machine Learning, los datos deben de estar bien ordenados, etiquetados y estructurados. Mientras que con Deep Learning no siempre es necesario. Por ejemplo un algoritmo de Deep Learning podría trabajar aprendiendo con varios tipos de archivos a la vez y datos desordenados. Con Deep Learning es posible saltarse la parte en la que un científico de datos o desarrollador, se encarga pasar y ordenar datos en Json, Csv etc…
  • Aplicar algoritmos con personal menos cualificado: al tener una mejor capacidad para aprender con datos desordenados, una vez desarrollado el software, se puede utilizar con personal menos cualificado. Esto no siempre es así, pero está entre las ventajas principales de Dee Learning.
  • Realizar técnicas más complejas y perfeccionar técnicas de Machine Learning: gracias a las redes neuronales, es posible perfeccionar técnica que antes se hacían con Machine Learning. Por ejemplo, perfeccionar que un algoritmo no confunda el reconocimiento de objetos por parecerse mucho.

¿Qué desventajas tiene el Deep Learning?

  • Se requiere de mejor hardware: se requiere de un mayor consumo de GPU y potencia en general a nivel de hardware. Esto significa que es más caro de aplicar y puede ser una desventaja económica.
  • Es peor para el medioambiente: al consumir más energía y requerir de más potencia, contamina más. Algunos procesos de grandes corporaciones que aplican el Deep Learning, han sido criticados por ello. Para entrenar un robot de alta capacidad, basado en Deep Learning, se contamina lo mismo que 4 o 5 vehículos durante toda su vida. Esto ha sido estudiado por la Universidad de Massachusetts, reconocida entre las mejores universidades de Inteligencia Artificial del mundo.
  • Necesita más datos que el Machine Learning: necesita grandes volúmenes de datos en la fase del entrenamiento, mientras que el Machine Learning puede trabajar con un número de datos menor.

Información interesante sobre redes neuronales:

Frank Rosenblatt es uno de los pioneros en el Deep Learning, creando el “perceptrón“, elaborando el primer modelo matemático en implementar redes neuronales artificiales. Nacio en New York en el año 1928. Creó el primer ordenador capaz de aprender de forma automática con pruebas de error. En el año 1960 ya inventó una máquina capaz de hacer reconocimiento de imágenes y diferenciar fotos de hombres y mujeres. Algo que todavía sigue siendo complejo a partir de código, para un programador medio.

Frank Rosenblatt en uno de sus descubrimientos
Frank Rosenblatt en uno de sus descubrimientos

También descubrió que inyectando partes del cerebro a ratas entrenadas, en otras ratas no entrenadas, estas aprendían sin entrenamiento previo, en el año 1966. Desgraciadamente, en el año 1971 tuvo un accidente de Bote y falleció. A pesar de que hayan pasado 50 años desde su fallecimiento, el aumento del estudio en el capo del Deep Learning, le está dando la fama en la actualidad y es una de las personas más importantes de la Inteligencia Artificial, la psicología y Ciencias Biológicas.

Descargar PDF sobre tipos de redes neuronales.

Si necesitas descargar un PDF con los tipos de redes neuronales y más información en general sobre Deep Learning, a continuación tienes un enlace para descargar pdf con varias formas de clasificar redes neuronales y sus tipos:

Descargar: https://mega.nz/file/NqwRAYAQ#qlxSWREft99FCXfBUGP0q5DvZz0YMLGpVEGEStQsGt8

Recuerda que si tienes alguna duda sobre algunas de las partes de este contenido, puedes dejar un comentario o hacer la pregunta desde el foro: https://inteligencia-artificial.dev/foro. En el que puedes hacer preguntas sobre diferentes temas o que no tengan que ver directamente con el Deep Learning, pero sí con el desarrollo de software.

Nota:

La popularidad del Deep Learning está creciendo mucho en estos últimos 3 años, por lo que también podría considerarse una ventaja el hecho de que cada vez tengamos a nuestra disposición mayor contenido académico sobre el tema, respecto a otras tecnologías y especializaciones.

boton entrar

Deja un comentario