Inteligencia artificial - Redes neuronales
Otra área de investigación en IA, las redes neuronales, se inspira en la red neuronal natural del sistema nervioso humano.
¿Qué son las redes neuronales artificiales (ANN)?
El inventor de la primera neurocomputadora, el Dr. Robert Hecht-Nielsen, define una red neuronal como:
"... un sistema informático compuesto por una serie de elementos de procesamiento sencillos y altamente interconectados, que procesan la información mediante su respuesta de estado dinámico a las entradas externas".
Estructura básica de las ANN
La idea de las RNA se basa en la creencia de que el funcionamiento del cerebro humano al hacer las conexiones correctas se puede imitar utilizando silicio y cables como seres vivos. neurons y dendrites.
El cerebro humano está compuesto por 86 mil millones de células nerviosas llamadas neurons. Están conectados a otras miles de células por Axons.Las dendritas aceptan los estímulos del entorno externo o las entradas de los órganos sensoriales. Estas entradas crean impulsos eléctricos, que viajan rápidamente a través de la red neuronal. Luego, una neurona puede enviar el mensaje a otra neurona para manejar el problema o no lo envía.
Las ANN se componen de múltiples nodes, que imitan biológicos neuronsdel cerebro humano. Las neuronas están conectadas por enlaces e interactúan entre sí. Los nodos pueden tomar datos de entrada y realizar operaciones simples en los datos. El resultado de estas operaciones se transmite a otras neuronas. La salida en cada nodo se llama suactivation o node value.
Cada enlace está asociado con weight.Las RNA son capaces de aprender, lo que tiene lugar al alterar los valores de peso. La siguiente ilustración muestra un ANN simple:
Tipos de redes neuronales artificiales
Hay dos topologías de redes neuronales artificiales: FeedForward y Feedback.
FeedForward ANN
En esta RNA, el flujo de información es unidireccional. Una unidad envía información a otra unidad de la que no recibe ninguna información. No hay ciclos de retroalimentación. Se utilizan en la generación / reconocimiento / clasificación de patrones. Tienen entradas y salidas fijas.
Retroalimentación ANN
Aquí, se permiten bucles de retroalimentación. Se utilizan en memorias direccionables de contenido.
Funcionamiento de las ANN
En los diagramas de topología que se muestran, cada flecha representa una conexión entre dos neuronas e indica el camino para el flujo de información. Cada conexión tiene un peso, un número entero que controla la señal entre las dos neuronas.
Si la red genera una salida "buena o deseada", no es necesario ajustar los pesos. Sin embargo, si la red genera una salida "mala o no deseada" o un error, entonces el sistema altera los pesos para mejorar los resultados posteriores.
Aprendizaje automático en ANN
Las RNA son capaces de aprender y necesitan recibir formación. Hay varias estrategias de aprendizaje:
Supervised Learning- Se trata de un profesor que es más erudito que la propia ANN. Por ejemplo, el profesor alimenta algunos datos de ejemplo sobre los que el profesor ya conoce las respuestas.
Por ejemplo, reconocimiento de patrones. A la ANN se le ocurren conjeturas mientras reconoce. Luego, el maestro le da las respuestas a la ANN. Luego, la red compara lo que adivina con las respuestas "correctas" del maestro y hace ajustes de acuerdo con los errores.
Unsupervised Learning- Se requiere cuando no hay un conjunto de datos de ejemplo con respuestas conocidas. Por ejemplo, buscando un patrón oculto. En este caso, la agrupación, es decir, la división de un conjunto de elementos en grupos de acuerdo con algún patrón desconocido se lleva a cabo basándose en los conjuntos de datos existentes presentes.
Reinforcement Learning- Esta estrategia se basó en la observación. La ANN toma una decisión observando su entorno. Si la observación es negativa, la red ajusta sus pesos para poder tomar una decisión requerida diferente la próxima vez.
Algoritmo de propagación hacia atrás
Es el algoritmo de entrenamiento o aprendizaje. Aprende con el ejemplo. Si envía al algoritmo el ejemplo de lo que desea que haga la red, cambia los pesos de la red para que pueda producir la salida deseada para una entrada en particular al finalizar el entrenamiento.
Las redes de propagación hacia atrás son ideales para tareas simples de reconocimiento de patrones y mapeo.
Redes Bayesianas (BN)
Estas son las estructuras gráficas que se utilizan para representar la relación probabilística entre un conjunto de variables aleatorias. Las redes bayesianas también se llamanBelief Networks o Bayes Nets. Los BN razonan sobre el dominio incierto.
En estas redes, cada nodo representa una variable aleatoria con proposiciones específicas. Por ejemplo, en un dominio de diagnóstico médico, el nodo Cáncer representa la proposición de que un paciente tiene cáncer.
Los bordes que conectan los nodos representan dependencias probabilísticas entre esas variables aleatorias. Si de dos nodos, uno afecta al otro, deben estar conectados directamente en las direcciones del efecto. La fuerza de la relación entre variables se cuantifica mediante la probabilidad asociada con cada nodo.
Existe una única restricción en los arcos en un BN que no puede regresar a un nodo simplemente siguiendo arcos dirigidos. Por lo tanto, los BN se denominan gráficos acíclicos dirigidos (DAG).
Los BN son capaces de manejar variables de varios valores simultáneamente. Las variables BN se componen de dos dimensiones:
- Rango de preposiciones
- Probabilidad asignada a cada una de las preposiciones.
Considere un conjunto finito X = {X 1 , X 2 ,…, X n } de variables aleatorias discretas, donde cada variable X i puede tomar valores de un conjunto finito, denotado por Val (X i ). Si hay un enlace dirigido desde la variable X i a la variable X j , entonces la variable X i será un padre de la variable X j mostrando dependencias directas entre las variables.
La estructura de BN es ideal para combinar conocimientos previos y datos observados. La BN se puede utilizar para conocer las relaciones causales y comprender varios dominios de problemas y para predecir eventos futuros, incluso en caso de que falten datos.
Construyendo una red bayesiana
Un ingeniero del conocimiento puede construir una red bayesiana. Hay una serie de pasos que el ingeniero del conocimiento debe seguir al crearlo.
Example problem- Cáncer de pulmón. Un paciente ha estado sufriendo dificultad para respirar. Visita al médico, sospechando que tiene cáncer de pulmón. El médico sabe que, salvo el cáncer de pulmón, existen otras posibles enfermedades que el paciente podría tener, como tuberculosis y bronquitis.
Gather Relevant Information of Problem
- ¿El paciente es fumador? Si es así, entonces hay altas posibilidades de cáncer y bronquitis.
- ¿Está el paciente expuesto a la contaminación del aire? Si es así, ¿qué tipo de contaminación del aire?
- Tomar una radiografía positiva La radiografía indicaría tuberculosis o cáncer de pulmón.
Identify Interesting Variables
El ingeniero del conocimiento intenta responder a las preguntas:
- ¿Qué nodos representar?
- ¿Qué valores pueden tomar? ¿En qué estado pueden estar?
Por ahora, consideremos los nodos, con solo valores discretos. La variable debe tomar exactamente uno de estos valores a la vez.
Common types of discrete nodes are -
Boolean nodes - Representan proposiciones, tomando valores binarios VERDADERO (T) y FALSO (F).
Ordered values- Un nodo de contaminación puede representar y tomar valores de {bajo, medio, alto} que describen el grado de exposición de un paciente a la contaminación.
Integral values- Un nodo llamado Edad podría representar la edad del paciente con posibles valores de 1 a 120. Incluso en esta etapa temprana, se están tomando decisiones de modelado.
Posibles nodos y valores para el ejemplo del cáncer de pulmón:
Nombre del nodo | Tipo | Valor | Creación de nodos |
---|---|---|---|
Contaminación | Binario | {BAJO, ALTO, MEDIO} | |
Fumador | Booleano | {VERDADERO, FASLE} | |
Cáncer de pulmón | Booleano | {VERDADERO, FASLE} | |
Radiografía | Binario | {Positivo negativo} |
Create Arcs between Nodes
La topología de la red debe capturar relaciones cualitativas entre variables.
Por ejemplo, ¿qué causa que un paciente tenga cáncer de pulmón? - Contaminación y tabaquismo. Luego agregue arcos desde el nodo Contaminación y el nodo Fumador al nodo Cáncer de pulmón.
De manera similar, si el paciente tiene cáncer de pulmón, el resultado de la radiografía será positivo. Luego agregue arcos desde el nodo Lung-Cancer al nodo X-Ray.
Specify Topology
De manera convencional, los BN se colocan de manera que los arcos apunten de arriba hacia abajo. El conjunto de nodos padres de un nodo X viene dado por Padres (X).
El nodo de cáncer de pulmón tiene dos padres (motivos o causas): contaminación y fumador , mientras que el nodo fumador es unancestorde rayos X del nodo . De manera similar, X-Ray es un hijo (consecuencia o efectos) del ganglio de cáncer de pulmón ysuccessorde nodos Fumador y Contaminación.
Conditional Probabilities
Ahora cuantifique las relaciones entre los nodos conectados: esto se hace especificando una distribución de probabilidad condicional para cada nodo. Como aquí solo se consideran variables discretas, esto toma la forma de unConditional Probability Table (CPT).
Primero, para cada nodo necesitamos mirar todas las posibles combinaciones de valores de esos nodos padres. Cada una de estas combinaciones se llamainstantiationdel conjunto de padres. Para cada instanciación distinta de los valores del nodo padre, necesitamos especificar la probabilidad que el hijo tomará.
Por ejemplo, los padres del nodo de cáncer de pulmón son contaminación y tabaquismo. Toman los valores posibles = {(H, T), (H, F), (L, T), (L, F)}. El CPT especifica la probabilidad de cáncer para cada uno de estos casos como <0.05, 0.02, 0.03, 0.001> respectivamente.
Cada nodo tendrá una probabilidad condicional asociada de la siguiente manera:
Aplicaciones de las redes neuronales
Pueden realizar tareas que son fáciles para un ser humano pero difíciles para una máquina.
Aerospace - Aviones de piloto automático, detección de averías de aeronaves.
Automotive - Sistemas de guiado de automóviles.
Military - Orientación y dirección de armas, seguimiento de objetivos, discriminación de objetos, reconocimiento facial, identificación de señales / imágenes.
Electronics - Predicción de secuencia de código, diseño de chip IC, análisis de falla de chip, visión artificial, síntesis de voz.
Financial - Tasación de bienes raíces, asesor de préstamos, evaluación de hipotecas, calificación de bonos corporativos, programa de negociación de carteras, análisis financiero corporativo, predicción del valor de la moneda, lectores de documentos, evaluadores de solicitudes de crédito.
Industrial - Control de procesos de fabricación, diseño y análisis de productos, sistemas de inspección de calidad, análisis de calidad de soldadura, predicción de calidad de papel, análisis de diseño de productos químicos, modelado dinámico de sistemas de procesos químicos, análisis de mantenimiento de máquinas, licitación de proyectos, planificación y gestión.
Medical - Análisis de células cancerosas, análisis de EEG y ECG, diseño de prótesis, optimizador de tiempo de trasplante.
Speech - Reconocimiento de voz, clasificación de voz, conversión de texto a voz.
Telecommunications - Compresión de imágenes y datos, servicios de información automatizados, traducción de idiomas hablados en tiempo real.
Transportation - Diagnóstico del sistema de frenos de camiones, programación de vehículos, sistemas de enrutamiento.
Software - Reconocimiento de patrones en reconocimiento facial, reconocimiento óptico de caracteres, etc.
Time Series Prediction - Las RNA se utilizan para hacer predicciones sobre poblaciones y catástrofes naturales.
Signal Processing - Las redes neuronales se pueden entrenar para procesar una señal de audio y filtrarla adecuadamente en los audífonos.
Control - Las RNA se utilizan a menudo para tomar decisiones de conducción de vehículos físicos.
Anomaly Detection - Dado que las ANN son expertas en reconocer patrones, también se les puede capacitar para generar un resultado cuando ocurre algo inusual que no se ajusta al patrón.