Una red neuronal artificial (NN para abreviar) es un clasificador . En el aprendizaje automático supervisado , la clasificación es uno de los problemas más destacados. El objetivo es clasificar los objetos en clases (la terminología no debe confundirse con la programación orientada a objetos). La clasificación tiene un amplio dominio de aplicaciones, por ejemplo:
- en el procesamiento de imágenes, podemos tratar de distinguir imágenes que representen diferentes tipos (clases) de objetos (por ejemplo, automóviles, bicicletas, edificios, etc.) o diferentes personas,
- en el procesamiento del lenguaje natural (PNL) podemos buscar clasificar los textos en categorías (por ejemplo, distinguir textos que hablan de política, deportes, cultura, etc.),
- En el procesamiento de transacciones financieras, podemos tratar de decidir si una nueva transacción es legítima o fraudulenta.
El término “supervisado” se refiere al hecho de que el algoritmo está previamente entrenado con ejemplos “etiquetados” para cada categoría (es decir, ejemplos cuyas clases se dan a conocer a la NN) para que aprenda a clasificar ejemplos nuevos e invisibles en el futuro. Veremos en un momento exactamente qué significa el entrenamiento de un NN y cómo se realiza.
En términos simples, un clasificador acepta una cantidad de entradas, que se denominan características y describen colectivamente un elemento a clasificar (ya sea una imagen, texto, transacción o cualquier otra cosa como se discutió anteriormente), y genera la clase a la que cree que pertenece el elemento a. Por ejemplo, en una tarea de reconocimiento de imágenes, las características pueden ser la matriz de píxeles y sus colores. En un problema de PNL, las características son las palabras en un texto. En finanzas, varias propiedades de cada transacción, como el día, el nombre del titular de la tarjeta, las direcciones de facturación y envío, el monto, etc.
- ¿A qué libros puedo referirme si quisiera estudiar el aprendizaje automático sistemáticamente?
- ¿Cuál es la revisión más reciente sobre redes neuronales recurrentes para la clasificación de series de tiempo?
- ¿Se puede usar la suma de todo el conocimiento sobre Quora para la inteligencia artificial?
- ¿Cuáles son algunos usos interesantes de Open Mind Common Sense Reasoning ConceptNet?
- ¿Cómo se puede desarrollar un algoritmo de aprendizaje automático?
Es importante comprender que asumimos una relación real subyacente entre las características de un elemento y la clase a la que pertenece. El objetivo de ejecutar un NN es: dado una serie de ejemplos, intente crear una función que se parezca a esta relación real (por supuesto, dirá: ¡son geeks, son mejores con las funciones que con las relaciones!) Esta función se llama modelo predictivo o simplemente modelo porque es una versión práctica y simplificada de cómo los elementos con ciertas características pertenecen a ciertas clases en el mundo real. Póngase cómodo con el uso de la palabra “función”, ya que aparece con bastante frecuencia, es una abstracción útil para el resto de la conversación (sin matemáticas involucradas). Quizás le interese saber que una gran parte del trabajo que realizan los científicos de datos (los tipos que trabajan en tales problemas) es determinar exactamente cuáles son las características que mejor describen las entidades del problema en cuestión, que es similar a diciendo qué características parecen distinguir los elementos de una clase de los de otra. Este proceso se llama selección de características .
Un NN es una estructura utilizada para la clasificación. Consiste en varios componentes interconectados y organizados en capas. Estos componentes se denominan neuronas artificiales (AN), pero a menudo nos referimos a ellas como unidades . Cada unidad es en sí misma un clasificador, solo una más simple cuya capacidad de clasificar es limitada cuando se usa para problemas complejos. Resulta que podemos superar por completo las limitaciones de los clasificadores simples interconectando varios de ellos para formar potentes NN. Piense en ello como un ejemplo del principio Unir y liderar.
Esta estructura de una combinación de entradas que atraviesan la neurona artificial se asemeja a la funcionalidad de una neurona física en el cerebro, de ahí el nombre. En la siguiente imagen, se compara la estructura de una neurona física y una neurona artificial: la AN se muestra como dos nodos para ilustrar sus componentes internos: una AN combina las entradas y luego aplica lo que se llama la función de activación (representada como una curva S) , pero generalmente se representa como un nodo, como arriba.
- Las entradas de la AN corresponden a las dendritas,
- la AN misma (suma + activación) al cuerpo / núcleo y
- La salida al axón.
Además, en el cerebro, las neuronas también están conectadas en redes a través de sinapsis a las dendritas de las neuronas vecinas.
La analogía se profundiza a medida que se sabe que las neuronas proporcionan al cerebro humano un “algoritmo de aprendizaje genérico”: al volver a conectar varios tipos de datos sensoriales a una región del cerebro, la misma región puede aprender a reconocer diferentes tipos de entrada. Por ejemplo, la región del cerebro responsable de la audición puede aprender a ver con el cableado sensorial apropiado desde los ojos hasta la región de la audición. Esto ha sido confirmado experimentalmente en hurones [1].
Del mismo modo, los AN organizados en NN proporcionan un algoritmo genérico en principio capaz de aprender a distinguir cualquier clase. Entonces, volviendo a las aplicaciones de ejemplo al comienzo de esta respuesta, puede usar los mismos principios NN para clasificar imágenes, textos o transacciones. Para una mejor comprensión, sigue leyendo.
Sin embargo, no importa cuán profundas se sientan las analogías y cuán hermosas sean, tenga en cuenta que las NN son solo un algoritmo de inspiración biológica. Realmente no modelan el cerebro, cuyo funcionamiento es extremadamente complicado y, en gran medida, desconocido.
En este punto, debe preguntarse qué demonios es la función de activación que se mencionó anteriormente. Para entender esto, necesitamos recordar lo que un NN intenta calcular: una función de salida (el modelo) que toma un ejemplo descrito por sus características como una entrada y emite la probabilidad de que el ejemplo caiga en cada una de las clases. Lo que hace la función de activación es tomar como entrada la suma de estos valores de característica y transformarla en una forma que pueda usarse como un componente de la función de salida. Cuando se combinan múltiples componentes de todas las AN de la red, se construye la función de salida objetivo.
Históricamente, la curva S (también conocida como función sigmoi d) se ha utilizado como función de activación en NN, en cuyo caso estamos hablando de unidades de regresión logística (aunque ahora se conocen mejores funciones). Esta elección se relaciona con otra analogía de inspiración biológica. Antes de explicarlo, veamos primero cómo se ve (piense en lo que sucede cuando no puede obtener la temperatura correcta en la ducha: primero hace demasiado frío a pesar de los intentos de ajuste más grandes y luego se calienta demasiado rápidamente con los intentos de ajuste más pequeños) :
Ahora la bio analogía: las neuronas cerebrales se activan con mayor frecuencia a medida que aumentan sus estímulos de entrada eléctrica. La relación de la frecuencia de activación como resultado del voltaje de entrada es una curva en S. Sin embargo, la curva S es de naturaleza más penetrante que solo eso, es la curva de todo tipo de transiciones de fase.
Como se mencionó, un NN está organizado en capas de unidades interconectadas (en la siguiente imagen, las capas se representan con diferentes colores).
- Su capa de entrada consta de varias unidades que dependen de la cantidad de características de entrada. Las características están diseñadas para describir las instancias de clase, ya sean imágenes, textos, transacciones, etc., según la aplicación. Por ejemplo, en una tarea de reconocimiento de imágenes, las características pueden ser la matriz de píxeles y sus colores.
- Su capa de salida consiste a menudo en un número de unidades igual al número de clases en el problema. Cuando se le da un nuevo ejemplo invisible, cada AN de la capa de salida asigna una probabilidad de que este ejemplo pertenezca a cada clase en particular, en función de su entrenamiento.
- Entre las capas de entrada y salida, puede haber varias capas ocultas (por razones que se describen brevemente a continuación), pero para muchos problemas una o dos capas ocultas son suficientes.
El entrenamiento a menudo se realiza con el algoritmo de propagación hacia atrás . Durante BackProp, el NN se alimenta con ejemplos de todas las clases. Como se mencionó, se dice que los ejemplos de entrenamiento están “etiquetados”, lo que significa que el NN recibe tanto el ejemplo (como se describe por sus características) como la clase a la que realmente pertenece. Dados muchos de estos ejemplos de entrenamiento, el NN construye, durante el entrenamiento, lo que ahora conocemos como modelo, es decir, un mapeo probabilístico de ciertas características (entrada) a clases (salida). El modelo se refleja en los pesos de los conectores de la unidad (ver figura anterior); El trabajo de BackProp es calcular estos pesos. Basado en el modelo construido, el NN clasificará nuevos ejemplos sin etiquetar (es decir, casos que no ha visto durante el entrenamiento), es decir, predecirá la probabilidad de que un nuevo ejemplo pertenezca a cada clase. Por lo tanto, existen fundamentalmente dos fases distintas:
- Durante el entrenamiento, el NN se alimenta con varios ejemplos etiquetados a partir de los cuales construye su modelo.
- Durante las pruebas, el NN clasifica las instancias nuevas y desconocidas en las clases conocidas, según el modelo construido.
Las NN con múltiples capas de perceptrones ( redes neuronales profundas ) son clasificadores poderosos en el sentido de que podemos usarlas para modelar patrones de clasificación no lineales muy complejos de instancias que pueden describirse por varios miles de características. Dependiendo de la aplicación, tales patrones pueden o no ser detectables por los humanos (por ejemplo, el cerebro humano es muy bueno en el reconocimiento de imágenes, pero no es efectivo en tareas como hacer predicciones al generalizar datos históricos en contextos complejos y dinámicos).
Consulte mi blog si desea reproducir este material, gracias.
Notas al pie
[1] Hurones ‘recableados’ vuelcan las teorías del crecimiento cerebral