martes, 25 de mayo de 2010

Inteligencia Artificial

QUÉ ES LA INTELIGENCIA ARTIFICIAL

Se denomina inteligencia artificial (IA) a la rama de las Ciencias de la Computación dedicada al desarrollo de agentes racionales no vivos.
Para explicar la definición anterior, entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la [racionalidad] como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado (este concepto de racionalidad es más general y por ello más adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina).
Por lo tanto, y de manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura.
Existen distintos tipos de conocimiento y medios de representación del conocimiento. El cual puede ser cargado en el agente por su diseñador o puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje.
También se distinguen varios tipos de procesos válidos para obtener resultados racionales, que determinan el tipo de agente inteligente. De más simples a más complejos, los cinco principales tipos de procesos son:
• Ejecución de una respuesta predeterminada por cada entrada (análogas a actos reflejos en seres vivos).
• Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles.
• Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN).
• Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos).
• Razonamiento mediante una lógica formal (análogo al pensamiento abstracto humano).
También existen distintos tipos de percepciones y acciones, pueden ser obtenidas y producidas, respectivamente por sensores físicos y sensores mecánicos en máquinas, pulsos eléctricos u ópticos en computadoras, tanto como por entradas y salidas de bits de un software y su entorno software.
Varios ejemplos se encuentran en el área de control de sistemas, planificación automática, la habilidad de responder a diagnósticos y a consultas de los consumidores, reconocimiento de escritura, reconocimiento del habla y reconocimiento de patrones. Los sistemas de IA actualmente son parte de la rutina en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia como ajedrez de computador y otros videojuegos

APLICACIONES DE LA INTELIGENCIA ARTIFICIAL

APLICACIÓN DE LA INTELIGENCIA ARTIFICIAL EN LOS SISTEMAS PRODUCTIVOS
La incorporación de agentes de decisión inteligente, redes neuronales, sistemas expertos, algoritmos genéticos y autómatas programables para optimización de sistemas de producción es una tendencia activa en el ambiente industrial de países con alto desarrollo tecnológico y con una gran inversión en investigación y desarrollo. Dichos componentes de la Inteligencia Artificial tienen como función principal controlar de manera independiente, y en coordinación con otros agentes, componentes industriales tales como celdas de manufactura o ensamblaje, y operaciones de mantenimiento, entre otras.

Existe una tendencia creciente a la implementación de sistemas de manufactura/ensamblaje más autónomos e inteligentes, debido a las exigencias del mercado por obtener productos con niveles muy altos de calidad; lo cual con operaciones manuales se hace complicada y hace que los países subdesarrollados como el nuestro no alcance niveles competitivos a nivel mundial. Al diseñar un sistema de producción integrado por computadora se debe dar importancia a la supervisión, planificación, secuenciación cooperación y ejecución de las tareas de operación en centros de trabajo, agregado al control de los niveles de inventario y características de calidad y confiabilidad del sistema. Los factores mencionados determinan la estructura del sistema y su coordinación representa una de las funciones más importantes en el manejo y control de la producción.

Muy frecuentemente, la razón para construir un modelo de simulación es para encontrar respuestas a interrogantes tales como ¿Cuáles son los parámetros óptimos para maximizar o minimizar cierta función objetivo? En los últimos años se han producido grandes avances en el campo de la optimización de sistemas de producción. Sin embargo, el progreso en el desarrollo de herramientas de análisis para resultados de modelos de simulación ha sido muy lento. Existe una gran cantidad de técnicas tradicionales de optimización que sólo individuos con gran conocimiento estadístico y de conceptos de simulación han logrado aportes significativos en el área.

Debido al auge de los algoritmos de búsqueda meta-heurísticos, se ha abierto un nuevo campo en el área de optimización con simulación. Nuevos paquetes de software, tales como OptQuest (Optimal Technologies), SIMRUNNER (Promodel Corporation) y Evolver (Palisade Software), han salido al mercado brindando soluciones amigables de optimización de sistemas que no requieren control interno sobre el modelo construido, sino sobre los resultados que dicho modelo arroja bajo diferentes condiciones. Además, nuevas técnicas de inteligencia artificial aplicadas a problemas de optimización estocástica, han demostrado su eficiencia y capacidad de cómputo y aproximación.

El Aprendizaje Reforzado (Reinforcement Learning) es un conjunto de técnicas diseñadas para dar solución a problemas cuya base son los procesos de decisión markovianos. Los procesos markovianos son procesos estocásticos de decisión que se basan en el concepto de que la acción a tomar en un estado determinado, en un instante determinado, depende sólo del estado en que se encuentre el sistema al momento de tomar la decisión.

Una de las áreas que puede tener mayor incidencia directa en los procesos productivos de la industria nivel mundial, es el diseño de sistemas de soporte para la toma de decisiones basados en la optimización de los parámetros de operación del sistema. Para tal efecto, el uso de técnicas inteligentes paramétricas y no paramétricas para el análisis de datos es de gran interés.

Sin embargo, a juicio de los autores en la mayoría de las arquitecturas propuestas hasta el momento para manufactura integrada por computadora, carecen de un factor de integración fundamental. La comunicación entre los diversos niveles jerárquicos de una planta de producción es muy poca, ya que cada departamento se limita a realizar su función sin buscar una integración de toda la planta productiva a excepciones de empresas como ABB con su software Baan, etc.
APLICACIONES DE LA VISIÓN ARTIFICIAL
La visión artificial tiene cabida practicamente todos los sectores industriales.
Las capacidades de la visión artificial son hoy en día realmente poderosas. Existen en el mercado cámaras capaces de capturar 1.000.000 imágenes por segundo, cámaras sensibles a infrarojos y ultravioleta, cámaras térmicas...
Gracias al avanzado estado de madurez de esta tecnología podemos llegar a casi cualquier aplicación sin estar limitados por la velocidad, sensibilidad etc...
A continuación se incluye un resumen de las posibles aplicaciones de la visión en los principales sectores industriales ilustrados con algunos ejemplos de proyectos realizados en nuestra empresa.

ALIMENTACIÓN
•discriminación de piezas por calibre y tonalidad
•contaje
•descarte por defectos
•marcado de caducidad (tintas alimentarias)...

AUTOMOCIÓN
•verificación de partes
•medición
•calibres
•presencia / ausencia
•acabados
•tonalidades
•OCR
•posicionado de piezas para brazo robot...

Aplicación de ejemplo: Termosellado



ENVASES - METALGRÁFICO
•comprobación láminas hojalata (vetas, agujeros, impurezas)
•corte lámina de hojalata
•detección en tapa y bote de golpes, rayas, defectos, goma
•abrefacil
•contaje de producción
•acabado de litografía...

Aplicación de ejemplo: Tapas Ovaladas







ENVASES - PLÁSTICOS, CRISTALES, MADERA
•detección agujeros
•comprobación rosca
•medición de calibres
•texturas
•acabados
•serigrafía
•ensamblado...

PACKAGING Y ENVASADO
•control de llenado
•sellado
•empaquetado
•etiquetado
•verficacion de fecha caducidad
•código de trazabilidad
•código de barras
•data matrix
•empaquetado automático del producto (brazo robot)
•paletizado...

Aplicación de ejemplo: Tapón



COMPONENTES ELÉCTRICOS Y ELECTRÓNICOS
•asistencia al Pick and place
•comprobación de soldadura
•comprobación de circuitos integrados (serigrafía, pines, golpes...)
•medición de precisión
•soldaduras
•conectores...

METALURGIA Y DERIVADOS
•medición de precisión
•taladrado
•mecanizado
•laminado...

FARMACIA Y EQUIPOS MÉDICOS
•comprobación pipetas
•presencia en blisters
•marcas de seguridad ultravioleta
•fechas de caducidad
•etiquetado
•medición precisión (herramientas médicas)...

FABRICACIÓN TEXTIL Y CALZADO
•control tapicería
•estampación
•urdidos
•hilatura
•tintura
•acabado
•pegado de suela
•cosido
•color
•lijado de hormas...

Aplicación de ejemplo: Calzado



MECANIZADOS INDUSTRIALES
•radios
•taladrado
•superficie
•medición
•OCR
•selección automática
•colores
•acabado
•asistencia robots...

Aplicación de ejemplo: Pieza Circular

lunes, 24 de mayo de 2010


RED NEURONAL ARTIFICIAL

Las redes de neuronas artificiales (denominadas habitualmente como RNA o en inglés como: "ANN"1 ) son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.

A grandes rasgos, se recordará que el cerebro humano se compone de decenas de billones de neuronas interconectadas entre sí formando circuitos o redes que desarrollan funciones específicas.

Una neurona típica recoge señales procedentes de otras neuronas a través de una pléyada de delicadas estructuras llamadas dendritas. La neurona emite impulsos de actividad eléctrica a lo largo de una fina y delgada capa denominada axón, que se escinde en millares de ramificaciones.

Las extremidades de estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen conexión llamada sinapsis, que transforma el impulso eléctrico en un mensaje neuroquímico mediante liberación de unas sustancias llamadas neurotransmisores que excitan o inhiben sobre la neurona, de esta manera la información se transmite de neuronas a otras y va siendo procesada a través de las conexiones sinápticas y el aprendizaje varía de acuerdo a la efectividad de la sinapsis.

Un psicólogo D Hebb [1949], introdujo dos ideas fundamentales que han influido de manera decisiva en el campo de las redes neuronales. La hipótesis de Hebb, basadas en investigaciones psicofisiológicas, presentan de manera intuitiva el modo en que las neuronas memorizan información y se plasman sintéticamente en la famosa regla de aprendizaje de Hebb ( también conocida como regla de producto). Esta regla indica que las conexiones entre dos neuronas se refuerza si ambas son activadas. Muchos de los algoritmos actuales proceden de los conceptos de este psicólogo.

Widrow [1959], publica una teoría sobre la adaptación neuronal y unos modelos inspirados en esta teoría, el Adaline (Adaptative Linear Neuron) y el Madaline (Múltiple Adaline). Estos modelos fueron usados en numerosas aplicaciones y permitieron usar, por primera vez, una red neuronal en un problema importante del mundo real: filtros adaptativos que eliminan ecos en las línea telefónicas.

Hopfield [1980], elabora un modelo de red consistente en unidades de proceso interconectadas que alcanzan mínimos energéticos, aplicando los principios de estabilidad desarrollados por Grossberg. El modelo resultó muy ilustrativo sobre los mecanismos de almacenamiento y recuperación de la memoria. Su entusiasmo y claridad de presentación dieron un nuevo impulso al campo y provocó el incremento de las investigaciones.

Otros desarrollos destacables de esta década son la máquina de Boltzmann y los modelos Bam (Bi-directinal Associative Memory).

Analogía de redes neuronales biológicas y artificiales

Según Herrera Fernandez

Las neuronas se modelan mediante unidades de proceso, caracterizadas por una función de actividades que convierte la entrada total recibida de otras unidades en un valor de salida, el cual hace la función de tasa de disparo de la neurona.

Las conexiones sinápticas se simulan mediante conexiones ponderadas, la fuerza o peso de la conexión cumple el papel de la efectividad de la sinapsis. Las conexiones determinan si es posible que una unidad influya sobre otra.

Una unidad de proceso recibe varias entradas procedentes de las salidas de otras unidades de proceso de entrada total de una unidad de proceso y se suele calcular como la suma de todas las entradas ponderadas, es decir, multiplicadas por el peso de la conexión. El efecto inhibitorio o excitatorio de la sinapsis se logra usando pesos negativos o positivos respectivamente
Las redes neuronales deben tener como estructura varias capas las cuales son: primera capa como buffer de entrada, almacenando la información bruta suministrada en la red ó realizando un sencillo preproceso de la misma, la llamamos capa de entrada; otra capa actúa como interfaz o buffer de salida que almacena la respuesta de la red para que pueda ser leída, la llamamos capa de salida; y las capas intermedias, principales encargadas de extraer, procesar y memorizar la información, las denominan capas ocultas.