Interpretación semiautomática del lenguaje de señas mediante redes neuronales
170
0
0
Texto completo
(2) UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL FACULTAD DE CIENCIAS DE LA INGENIERÍA CARRERA DE INFORMÁTICA Y CIENCIAS DE LA COMPUTACIÓN. TEMA: “INTERPRETACIÓN SEMIAUTOMÁTICA DEL LENGUAJE DE SEÑAS MEDIANTE REDES NEURONALES ". TESIS DE GRADO: PREVIA LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN INFORMÁTICA Y CIENCIAS DE LA COMPUTACIÓN AUTOR: NATALIA CAROLINA TRUJILLO UTRERAS DIRECTOR DE TESIS: ING. VICENTE SIMBAÑA NOVIEMBRE 2009 QUITO - ECUADOR. II.
(3) DECLARACIÓN Del contenido del presente trabajo se responsabiliza el autor.. ___________________________________________ Sra. Natalia Carolina Trujillo Utreras C.I. 1720284403. III.
(4) CARTA DEL DIRECTOR DE TESIS Certifico que el contenido de la presente tesis ha sido elaborado bajo mi supervisión y dirección por la Sra. Natalia Carolina Trujillo Utreras.. _____________________________________ Ing. Vicente Simbaña Director de Tesis. IV.
(5) AGRADECIMIENTO En primer lugar deseo expresar mi agradecimiento a mis padres quienes me infundieron que la perseverancia y el esfuerzo son el camino para lograr objetivos. A mi esposo por su cariño, comprensión y apoyo incondicional. A mi hijo por su paciencia y por enseñarme a enfrentar los obstáculos con alegría. A mi hermano por confiar en mí. Al director de esta tesis, Ing. Vicente Simbaña, por la dedicación y apoyo que ha brindado a este trabajo, por el respeto a mis sugerencias e ideas y por la dirección y el rigor que ha facilitado a las mismas. Y a todos los ingenieros que durante el transcurso de la carrera me brindaron todo su conocimiento para lograr la realización de esta tesis.. V.
(6) DEDICATORIA Quiero dedicar esta tesis a toda mi familia: A mis padres que me han dado todo lo que soy como persona, mis valores, mis principios, mi perseverancia y mi empeño, y todo ello con una gran dosis de amor y sin pedir nunca nada a cambio. A mi esposo y a mi hijo quienes son la razón de mi vida, los que me dan un motivo para seguir adelante cada día. A mi hermano por ser un ejemplo de superación y dedicación. A mis suegros y cuñados por todo el apoyo que me han brindado. A todos ellos muchas gracias de todo corazón. Y sobre todo a Dios por permitir que mi familia se encuentre junto a mí.. VI.
(7) ÍNDICE DE CONTENIDO CARÁTULA……………………………………………………………………...I DECLARACIÓN............................................................................................... III CARTA DEL DIRECTOR DE TESIS ...............................................................IV AGRADECIMIENTO ........................................................................................ V DEDICATORIA ................................................................................................VI ÍNDICE GENERAL ....................................................................................... VIII ÍNDICE DE DIAGRAMAS............................................................................. XII ÍNDICE DE FIGURAS................................................................................... XIII ÍNDICE DE TABLAS .................................................................................... XIV ÍNDICE DE FOTOS ........................................................................................ XV ÍNDICE DE ECUACIONES........................................................................... XVI ÍNDICE DE IMÁGENES ..............................................................................XVII ÍNDICE DE ANEXOS ................................................................................... XIX RESUMEN...................................................................................................... XX SUMMARY ..................................................................................................XXII. VII.
(8) ÍNDICE GENERAL. CAPÍTULO I ....................................................................................................... 2 1. PLANTEAMIENTO DEL PROBLEMA...................................................... 2 2. OBJETIVOS. ............................................................................................... 3 2.1 OBJETIVO GENERAL ......................................................................... 3 2.2 OBJETIVOS ESPECÍFICOS ................................................................. 3 3. JUSTIFICACIÓN. ....................................................................................... 3 4. ALCANCE .................................................................................................. 4 5. FACTIBILIDAD TÉCNICA ........................................................................ 4 6. FACTIBILIDAD ECONÓMICA ................................................................. 5 CAPÍTULO II...................................................................................................... 8 2. MARCO TEÓRICO..................................................................................... 8 2.1 LENGUAJE DE SEÑAS........................................................................ 8 2.1.1 Origen de las lenguas de señas......................................................... 8 2.1.2 Clasificación de las lenguas de señas ............................................... 9 2.1.3 Malentendidos y mitos sobre las lenguas de señas.......................... 10 2.1.4 Lingüística..................................................................................... 12 2.1.5 El alfabeto manual ......................................................................... 13 2.2 REDES NEURONALES...................................................................... 14 2.2.1 Funcionamiento ............................................................................. 14 2.2.2 Diseño y programación de una RNA.............................................. 15 2.2.3 Estructura ...................................................................................... 16 2.2.4 Ventajas......................................................................................... 17. VIII.
(9) 2.2.5 Comparación entre los diferentes tipos de redes neuronales ........... 17 2.2.7 Red Backpropagation..................................................................... 19 2.2.7.1 Regla Delta generalizada......................................................... 20 2.2.7.2 Estructura y aprendizaje de la red Backpropagation................ 26 2.2.7.3 Pasos para aplicar el algoritmo de entrenamiento ................... 27 2.2.7.4 Consideraciones sobre el algoritmo de aprendizaje.................. 33 2.2.7.5 Control de convergencia ......................................................... 33 2.2.7.6 Dimensionamiento de la red. Número de neuronas ocultas ...... 34 2.2.7.7 Aplicaciones de la red Backpropagation.................................. 34 2.3 TRATAMIENTO DIGITAL DE IMÁGENES ..................................... 36 2.3.1 Imágenes Digitales ....................................................................... 36 2.3.1.1 Obtención ............................................................................... 37 2.3.1.2 Visualización .......................................................................... 37 2.3.1.3 Estructura ............................................................................... 38 2.3.2 Color ............................................................................................. 38 2.3.2.1 Manejo del color por el computador........................................ 40 2.3.2.2 Tipos de imagen...................................................................... 42 2.3.3 Iluminación ................................................................................... 44 2.3.4 Segmentación de imágenes ............................................................ 45 2.3.5 Filtrado espacial ............................................................................ 47 2.4 MATLAB ............................................................................................ 50 2.4.1 Procesamiento de imágenes en Matlab........................................... 50 2.4.1.1 Lectura de imágenes a través de archivo.................................. 54 2.4.1.2 Escritura de imágenes a un archivo ......................................... 55. IX.
(10) 2.4.2 Red Backpropagation utilizando MATLAB ................................... 57 2.5 METODOLOGÍA DE DESARROLLO DE SOFTWARE .................... 64 2.5.1 Análisis y Requerimientos ............................................................. 66 2.5.1.1 Análisis................................................................................... 66 2.5.1.2 Requerimientos ....................................................................... 66 2.5.2 Diseño ........................................................................................... 66 2.5.2.1 Arquitectura Modular.............................................................. 67 2.5.3 Construcción ................................................................................. 68 2.5.4 Pruebas.......................................................................................... 68 CAPÍTULO III .................................................................................................. 71 3. DESARROLLO DEL SISTEMA ............................................................... 71 3.1 ANÁLISIS Y REQUERIMIENTOS..................................................... 71 3.1.1 Análisis ......................................................................................... 71 3.1.2 Requerimientos.............................................................................. 72 3.1.2.1 Requerimientos del usuario ..................................................... 72 3.1.2.2 Requerimientos del sistema..................................................... 72 3.2 DISEÑO............................................................................................... 73 3.2.1 Diagramas de casos de uso............................................................. 74 3.2.1.1 Procesamiento de la imagen .................................................... 74 3.2.1.2 Red entrenada ......................................................................... 75 3.2.1.3 Nuevo entrenamiento .............................................................. 76 3.2.2 Diagramas de flujo......................................................................... 78 3.2.2.1 Subproceso fotos para entrenamiento de la red........................ 80 3.2.2.2 Subproceso procesamiento de la imagen ................................. 82. X.
(11) 3.2.2.3 Subproceso toma de fotos a interpretar.................................... 84 3.2.2.4 Subproceso Interpretación....................................................... 86 3.2.3 Diseño físico del sistema ............................................................... 88 3.3 CONSTRUCCIÓN............................................................................... 89 3.3.1 Captura de la imagen ..................................................................... 89 3.3.2 Procesamiento de la imagen........................................................... 91 3.3.3 Reconocimiento mediante la red neuronal.................................... 104 3.4 PRUEBAS ......................................................................................... 112 3.4.1 Pruebas de unidad........................................................................ 112 3.4.1.1 Captura de la imagen............................................................. 112 3.4.1.2 Procesamiento de la imagen .................................................. 113 3.4.1.3 Reconocimiento mediante la red neuronal ............................. 113 3.4.2 Pruebas de integración ................................................................. 114 3.4.3 Pruebas de aceptación.................................................................. 114 CAPÌTULO IV ................................................................................................ 116 4. CONCLUSIONES Y RECOMENDACIONES ........................................ 116 4.1 CONCLUSIONES ............................................................................. 116 4.2 RECOMENDACIONES .................................................................... 118 BIBLIOGRAFÍA ............................................................................................. 120 GLOSARIO DE TERMINOS .......................................................................... 122. XI.
(12) ÍNDICE DE DIAGRAMAS. DIAGRAMA 1. Procesamiento de la imagen ..................................................... 74 DIAGRAMA 2. Red entrenada .......................................................................... 75 DIAGRAMA 3. Nuevo entrenamiento ............................................................... 77 DIAGRAMA 4. Proceso completo..................................................................... 79 DIAGRAMA 5. Subproceso toma de fotos para entrenamiento de la red............ 81 DIAGRAMA 6. Subproceso procesamiento de la imagen .................................. 83 DIAGRAMA 7. Subproceso toma de fotos a interpretar..................................... 85 DIAGRAMA 8. Subproceso Interpretación........................................................ 87. XII.
(13) ÍNDICE DE FIGURAS. FIGURA 1. Alfabeto Dactilológico Universal.................................................... 11 FIGURA 2. Conexión entre neurona de capa oculta con neurona de salida......... 22 FIGURA 3. Conexiones entre neuronas de capa de entrada, oculta y de salida ... 23 FIGURA 4. Representación de una imagen a escala de grises en MATLAB....... 51 FIGURA 5. Representación de una imagen a color RGB en MATLAB.............. 53 FIGURA 6. Imagen mostrada al utilizar la función imshow. .............................. 56 FIGURA 7. F. unción de transferencia log-sigmoidal ..................................... 58. FIGURA 8. Función de transferencia tan-sigmoidal ........................................... 59 FIGURA 9. función de transferencia lineal ........................................................ 59 FIGURA 10. Etapas de modelo espiral............................................................... 65. XIII.
(14) ÍNDICE DE TABLAS. TABLA 1. Costo de materiales ............................................................................ 5 TABLA 2. Costo de recursos humano y servicios básicos .................................... 6 TABLA 3. Comparación Entre Redes Neuronales.............................................. 18 TABLA 4. Explicación de la profundidad del color............................................ 41 TABLA 5. Formatos y extensiones soportadas por MATLAB ........................... 54. XIV.
(15) ÍNDICE DE FOTOS. FOTO 1. Cámara Genius Messenger.................................................................. 89 FOTO 2. Posiciones de la cámara ...................................................................... 90. XV.
(16) ÍNDICE DE ECUACIONES. ECUACIÓN 1. Método de la regla delta ............................................................ 21 ECUACIÓN 2.Conexión de la salida ................................................................. 22 ECUACIÓN 3. Salida Deseada.......................................................................... 23 ECUACIÓN 4. Cálculo del error ....................................................................... 24 ECUACIÓN 5. Incremento de pesos.................................................................. 25 ECUACIÓN 6. Resumen de algoritmo............................................................... 25 ECUACIÓN 7. Cálculo de entradas ................................................................... 27 ECUACIÓN 8. Salida de neuronas ocultas......................................................... 28 ECUACIÓN 9. Salida de neuronas .................................................................... 28 ECUACIÓN 10. Valor de delta.......................................................................... 29 ECUACIÓN 11. Primera forma de la función de salida...................................... 29 ECUACIÓN 12. Segunda forma de la función de salida..................................... 29 ECUACIÓN 13. Términos de la salida lineal ..................................................... 30 ECUACIÓN 14. Términos de la salida sigmoidal .............................................. 30 ECUACIÓN 15. Expresión obtenida.................................................................. 31 ECUACIÓN 16. Pesos de la capa de salida........................................................ 31 ECUACIÓN 17. Pesos de capa oculta................................................................ 32. XVI.
(17) ÍNDICE DE IMÁGENES. IMAGEN 1. Lectura de la imagen a color .......................................................... 92 IMAGEN 2. Imagen en niveles de gris............................................................... 93 IMAGEN 3. Marcado los objetos de la superficie .............................................. 95 IMAGEN 4. Apertura por reconstrucción........................................................... 96 IMAGEN 5. Cierre de la reconstrucción ............................................................ 97 IMAGEN 6.Dilatación....................................................................................... 98 IMAGEN 7. Calcula las regiones ....................................................................... 99 IMAGEN 8. Se superpone el primer plano....................................................... 100 IMAGEN 9. Elimina las manchas .................................................................... 101 IMAGEN 10. Marcas del fondo ....................................................................... 102 IMAGEN 11. Vector correspondiente a la letra................................................ 104 IMAGEN 12.Almacenamiento de las letras...................................................... 105 IMAGEN 13. Vector General .......................................................................... 107 IMAGEN 14. Creación de la red neuronal........................................................ 108 IMAGEN 15.Entrenamiento de la red neuronal................................................ 109 IMAGEN 16. Simulación de la red neuronal.................................................... 111 IMAGEN 17. Pantalla principal ....................................................................... 136 IMAGEN 18. Previsualizar la imagen .............................................................. 137 IMAGEN 19. Explicación de procedimiento para captura de la imagen ........... 138 IMAGEN 20. Procesamiento de imagen........................................................... 139 IMAGEN 21. Explicación de botón verificar letras .......................................... 140 IMAGEN 22. Pantalla de verificar letras.......................................................... 141. XVII.
(18) IMAGEN 23. Explicación de botón almacenar................................................. 142 IMAGEN 24. Explicación de botón procesar ................................................... 143 IMAGEN 26. Pantalla de entrenamiento de la red neuronal ............................. 145 IMAGEN 27. Explicación de botón interpretar ................................................ 146 IMAGEN 28. Pantalla de resultado .................................................................. 147. XVIII.
(19) ÍNDICE DE ANEXOS. ANEXO A ....................................................................................................... 124 MANUAL TÉCNICO.................................................................................. 124 1. Requerimientos del sistema ................................................................. 124 1.1. Requerimientos de Software .......................................................... 124 1.2 Requerimientos de Hardware.......................................................... 124 2. Módulos............................................................................................... 124 2.1. Captura de la imagen ..................................................................... 125 2.2. Entrenamiento de la red ................................................................. 129 2.3 Interpretación de la imagen............................................................. 132 ANEXO B ....................................................................................................... 136 MANUAL DE USUARIOS ......................................................................... 136. XIX.
(20) RESUMEN. Esta tesis es realizada con el objetivo de crear un sistema el cual sea útil para las personas con discapacidad de habla y auditiva. El mismo que realiza la interpretación del lenguaje de señas utilizado por las personas con discapacidad para facilitar su comunicación con personas que no conocen su lenguaje, logrando así que exista una mejor comunicación entre ellos y abriendo campos y nuevas oportunidades a las personas que poseen la discapacidad.. Como primer paso es necesario conocer un poco el lenguaje de señas para así familiarizarse con su uso, para lo cual fue necesario investigar todos los tipos de lenguaje de señas existentes para así seleccionar el más adecuado y el más utilizado y así poder generalizar su uso, por esta razón fue escogido para la creación de este sistema el alfabeto dactilológico universal ya que es el más simple para su interpretación y el más utilizado universalmente.. Luego de conocer y aprender todo lo necesario sobre el lenguaje de señas, el paso siguiente fue investigar y seleccionar el programa adecuado para la creación del sistema, tomando en cuenta las necesidades para el tratamiento de imágenes y el manejo de redes neuronales se seleccionó el programa Matlab por su gran agilidad y capacidad para poder manejar todos los aspectos necesarios para la creación del sistema.. Utilizando matlab y redes neuronales se realiza la construcción del programa que permite la interpretación del lenguaje de señas únicamente con imágenes tomadas por una cámara. XX.
(21) obteniendo así la fotografía de la mano del locutor que en este caso se le llamará a la persona quien realizará la interpretación, con las fotografías obtenidas y el manejo de tratamiento de imágenes se obtendrá el vector necesario para poder entrenar la red neuronal y de esta manera la red neuronal aprenderá y así realizar la interpretación de la fotografía con lo cual se obtendrá como resultado una letra en texto indicando a que letra pertenece la señal realizada.. XXI.
(22) SUMMARY. This thesis is undertaken with the aim of creating a system which is useful for people with speech and hearing disabilities. The same one that makes the interpretation of sign language used by people with disabilities to facilitate their communication with people who do not know their language, thereby achieving better communication exists between them and opening new fields and opportunities for people with disability .. As a first step we need to know a little sign language so familiar with its use, for which it was necessary to investigate all types of existing sign language in order to select the most appropriate and most widely used and well able to generalize its use, therefore was chosen for the creation of this system dactylological universal alphabet as it is the simplest interpretation and the most universally used.. After getting to know and learn everything you need on sign language, the next step was to investigate and select the right program for creating the system, taking into account the needs for image processing and neural network handling the program was selected Matlab for his great agility and ability to handle all aspects needed for building the system.. Using matlab and neural networks is done building the program that allows the sign language interpretation only with images taken by a camera and getting a photograph of the speaker's hand in this case will be called to the person who made the interpretation, with the photographs and the image processing operation will give the vector needed to. XXII.
(23) train the neural network and thus the neural network to learn and thus make the interpretation of the picture thus obtained as a result a letter in text indicating point belongs to the signal made.. XXIII.
(24) CAPÍTULO I.
(25) CAPÍTULO I 1. PLANTEAMIENTO DEL PROBLEMA. Redes neuronales es uno de esos términos que se están poniendo de moda rápidamente en la era de la tecnología. La mayoría de la gente los ha oído, pero pocos saben lo que significan.. Hay muchas buenas razones para el uso de redes neuronales y los avances en este campo incrementarán su popularidad.. Son excelentes como clasificadores / reconocedores de patrones, y pueden ser usadas donde las técnicas tradicionales no funcionan. Las redes neuronales pueden manejar excepciones y entradas de datos anormales, muy importante para sistemas que manejan un amplio rango de datos.. Muchas redes neuronales son biológicamente plausibles, lo que significa que pueden proveer pistas de como trabaja el cerebro según progresen. Avances en la neurociencia también ayudarán al avance en las redes neuronales ¡hasta el punto en que sean capaces de clasificar objetos con la precisión de un humano y la velocidad de una computadora!. 2.
(26) Las redes neuronales pueden ser útiles para todo tipo de persona y situación, por ésta razón la unifico con el lenguaje de señas para poder obtener un provecho notable de su uso. 2. OBJETIVOS. “Objetivo no es más que la expresión de un deseo mediante acciones concretas para conseguirlo”. 2.1 OBJETIVO GENERAL Desarrollar un prototipo que realiza la interpretación semiautomática del lenguaje de señas para la ayuda en la comunicación de personas con discapacidad auditiva y del habla. 2.2 OBJETIVOS ESPECÍFICOS -. Capturar las señales del lenguaje mediante un medio digital. -. Realizar un tratamiento digital de la imagen. -. Aplicar una red neuronal para la interpretación de las imágenes. -. Presentación de resultados obtenidos de la interpretación. 3. JUSTIFICACIÓN. Hoy en día la comunicación de las personas con discapacidad auditiva y de habla es complicada de entender por personas que no tienen conocimiento sobre el lenguaje de señas, por esta razón el objetivo es crear un prototipo de comunicación para las personas con dicha discapacidad y quienes de esta manera tendrán mejor comunicación, lo que logra que las personas con esta discapacidad no sean rechazadas por la sociedad.. 3.
(27) 4. ALCANCE El prototipo se encuentra basado en la captura de la imagen de la señal realizada por la persona con discapacidad, ésta imagen es tratada para obtener los patrones de características de las imágenes. El prototipo es estático, tomando en cuenta que la comunicación con señas tiene una rapidez significativa la cual no podrá ser utilizada como tal ya que el procesamiento de la imagen demorará, por esta razón no se analizan secuencias de video, únicamente se realiza con imágenes tomadas por una cámara digital.. Se utiliza una red neuronal para realizar la interpretación de la imagen procesada.. El prototipo presenta los resultados de la interpretación en un formato de texto. Limitación. La interpretación del lenguaje de señas se realiza con imágenes tomadas por una WebCam, su reconocimiento no es con movimiento, la interpretación es de imágenes estáticas. Esto se debe a que para un estudio de imágenes en movimiento se necesitaría de varias tomas simultáneas y el análisis sería más complejo. 5. FACTIBILIDAD TÉCNICA. Hoy día existen equipos altamente sofisticados y software que pueden ser instalados para llevar a cabo el nuevo sistema.. 4.
(28) Existen diferentes tipos de cámaras las cuales pueden ser usadas en el sistema sin ningún tipo de inconveniente. 6. FACTIBILIDAD ECONÓMICA. El costo que representará la elaboración de la tesis no es alta ya que es sistemas es basado en programación. Los costos generados por mi sistema fueron:. Costos de material TABLA 1. Costo de materiales. Articulo. Precio ($). Cámara Fotográfica Genius Messenger. 100. Computador con características básicas. 800. Licencias de software. 3500. Suministros y material de oficina. 30. Material bibliográfico. 150. Varios. 80. TOTAL. 4460. Fuente: Sommerville, lan. Ingeniería del Software. 7ma edición Espafla: Pearson Addison Wesley, 2005.. Elaborado por: Natalia Trujillo. 5.
(29) Costo de Recurso Humano y servicios básicos TABLA 2. Costo de recursos humano y servicios básicos. Servicio. Costo mensual (12 meses) Subtotal. Servicios básicos. 40. 480. Internet. 50. 600. TOTAL. 90. 1080. Fuente: Sommerville, lan. Ingeniería del Software. 7ma edición Espafla: Pearson Addison Wesley, 2005.. Elaborado por: Natalia Trujillo. 6.
(30) CAPÍTULO II.
(31) CAPÍTULO II 2. MARCO TEÓRICO Grupo central de conceptos y teorías que uno utiliza para formular y desarrollar una tesis. 2.1 LENGUAJE DE SEÑAS Las lenguas de señas son lenguas naturales que tienen estructuras gramaticales perfectamente definidas, e independientes de las lenguas orales con las que cohabitan. La lengua de señas, o lengua de signos, es una lengua natural de expresión y configuración gesto-espacial y percepción visual (o incluso táctil por ciertas personas con sordo ceguera), gracias a la cual las personas sordas pueden establecer un canal de información básica para la relación con su entorno social, ya sea conformado por sordos u oyentes. Mientras que con el lenguaje oral la comunicación se establece en un canal vocal-auditivo, el lenguaje de señas lo hace por un canal gesto-viso-espacial. 2.1.1 Origen de las lenguas de señas Aun cuando las lenguas de señas sean actualmente usadas casi exclusivamente entre las personas con sordera, su origen es tan antiguo como las lenguas orales o incluso más, en la historia de la aparición de la Humanidad, y también han sido y siguen siendo utilizadas por comunidades de oyentes.. 8.
(32) 2.1.2 Clasificación de las lenguas de señas Las lenguas de señas modernas al igual que las lenguas orales están sujetas al proceso universal de cambio lingüístico que hace que evolucionen con el tiempo y eventualmente una misma lengua puede evolucionar en lugares diferentes hacia variedades diferentes. De hecho, muchas de las lenguas modernas de señas pueden ser clasificadas en familias de lenguas de señas: Lenguas originadas en la antigua lengua de señas francesa. Estas lenguas se remontan a las formas estandarizadas de lenguas de señas usadas en Italia y Francia desde el siglo XVII y sobre todo a partir del siglo XVIII en la educación de los sordos. Lenguas de señas ibéricas, que muestran similitudes con la antigua lengua de señas francesa pero cuyo origen no es bien conocido. Existen tres lenguas diferentes con cierta inteligibilidad mutua, la lengua de signos española (LSE), la lengua de signos catalana (LSC) y la Lengua de signos valenciana (LSCV) Lenguas originadas en la lengua de señas británica (BSL), que se diversificó durante el siglo XIX dando lugar a la lengua de señas australiana o Auslan, la lengua de señas de Nueva Zelanda (NZSL) y la lengua de señas de Irlanda del Norte. Lenguas originadas en la lengua de señas alemana (DGS), que se considera relacionada con la lengua de señas de la Suiza alemana (DSGS), la lengua de señas austriaca (ÖGS) y probablemente la lengua de señas israelí (ISL).. 9.
(33) Lenguas originadas en la antigua lengua de señas de Kent, usada durante el siglo XVII, que dio lugar a la lengua de señas usada en Martha's Vineyard (Massachusetts) y que influyó de manera importante en la lengua de señas americana. 2.1.3 Malentendidos y mitos sobre las lenguas de señas El escaso conocimiento de este tipo de lenguas ha conducido a que comúnmente se asuman ciertas ideas preconcebidas sobre ellas, que se han demostrado como erróneas:. •. Las lenguas de señas no son auténticamente lenguas, sino códigos. mnemotécnicos para designar objetos y conceptos. Las lenguas de señas son lenguas naturales que tienen estructuras gramaticales perfectamente definidas. De hecho, existen personas, incluso oyentes, cuya lengua materna es una lengua de señas. El proceso de adquisición lingüística estudiado en niños que tienen por lengua materna una lengua de señas sigue etapas totalmente análogas a la adquisición de las lenguas orales (balbuceo, etapa de una palabra). Además, los procesos de analogía morfológica, la elipsis, los cambios fonéticos o la asimilación también se dan de idéntica forma en las lenguas de señas. •. La lengua de señas española, la lengua de señas francesa o la lengua de señas. británica, son maneras de codificar el español, el francés o el inglés mediante signos gestuales. A veces la lengua de señas de ciertos países y la lengua oral más usada en esos mismos países difieren gramaticalmente en muy diversos parámetros, como la posición del núcleo sintáctico o el orden sintáctico de los constituyentes. Algunas versiones de este malentendido, es que las lenguas de señas tienen alguna clase de dependencia de las lenguas orales, por ejemplo, que utilizan básicamente un deletreo de las palabras de una lengua oral mediante símbolos gestuales. 10.
(34) •. Todas las lenguas de señas son parecidas. Las lenguas de señas difieren entre sí,. tanto en el léxico (conjunto de signos gestuales) como en la gramática, tanto como difieren entre sí las lenguas orales. En las lenguas de señas se utiliza el alfabeto manual o dactilológico, generalmente para los nombres propios o técnicos, si bien es sólo una más de las numerosas herramientas que poseen. Antiguamente, el uso de la dactilología en las lenguas de señas era una presupuesta evidencia de que sólo eran una pobre o simplificada versión de las lenguas orales, lo que también es falso. La Federación Mundial de Sordos ha fijado un alfabeto dactilológico universal, que es un verdadero Alfabeto Manual. FIGURA 1. Alfabeto Dactilológico Universal. Fuente: http://4.bp.blogspot.com. Elaborado por : Natalia Trujillo. 11.
(35) 2.1.4 Lingüística El estudio científico de las lenguas de señas, ha revelado que poseen todas las propiedades y complejidades propias de cualquier lengua natural oral. A pesar de la generalizada y errónea concepción de que son "lenguas artificiales". En concreto se han encontrado los siguientes hechos relativos a las lenguas de señas que proporcionan los lingüísticos necesarios para clasificarlas como unas lenguas naturales:. •. Poseen una fonología abstracta, analizable en términos formales en rasgos de. posición, orientación, configuración, en un modo análogo a como son analizados los fonemas de las lenguas orales. Además la realización de cada signo está sujeto al mismo tipo de variedad que los sonidos de las lenguas orales (variación dialectal, asimilación, cambio lingüístico). •. Poseen una sintaxis que obedece los mismos principios generales que las otras. lenguas naturales, y tienen algunos mecanismos de formación de palabra productivos que permiten afirmar la existencia de procesos morfológicos. •. La adquisición de una lengua de señas por parte de bebés (sordos u oyentes). sigue un proceso paralelo a la adquisición de una lengua oral por parte de un niño oyente. •. Existen comunidades estables de hablantes, cuya lengua presenta tanto. variaciones dialectales, modismos propios de cada comunidad, y está sujeto al mismo tipo de cambio lingüístico universalmente detectado en todas las lenguas naturales (las lenguas artificiales carecen de estas características). •. Las lenguas de señas, al igual que las orales, se organizan por unidades. elementales sin significado propio.. 12.
(36) 2.1.5 El alfabeto manual Las personas sordas instruidas (que sepan leer y escribir) de casi todo el mundo usan un grupo de señas para representar las letras del alfabeto con el que se escribe la lengua oral del país. Es esto lo que se denomina alfabeto manual o alfabeto dactilológico. En el caso de los países de habla hispana, donde se usa el alfabeto latino, las personas sordas usan un mismo alfabeto manual, común para todos los países (con algunas variaciones de índole menor en la forma de algunas letras). En Inglaterra se usa un alfabeto manual distinto, bi manual. En los países que usan alfabetos distintos al latino (alfabetos hebreo, árabe, amhárico, etc.) existen otras formas de representación entre las personas sordas. Lo mismo se aplica a los países donde se usan sistemas de escritura no alfabéticos (como es el caso de Japón, China, etc.).. 13.
(37) 2.2 REDES NEURONALES Las redes de neuronas artificiales (denominadas habitualmente como RNA o en inglés como: "ANN" ) 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. 2.2.1 Funcionamiento. Unas redes neuronales consisten en simular las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de válvulas). El objetivo es conseguir que las máquinas den respuestas similares a las que es capaz de dar el cerebro que se caracterizan por su generalización y su robustez.. Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones:. 1.. Una función de propagación (también conocida como función de excitación),. que por lo general consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.. 14.
(38) 2.. Una función de activación, que modifica a la anterior. Puede no existir, siendo. en este caso la salida la misma función de propagación.. 3.. Una función de transferencia, que se aplica al valor devuelto por la función de. activación. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el intervalo [-1,1]). 2.2.2 Diseño y programación de una RNA Con un paradigma convencional de programación en ingeniería del software, el objetivo del programador es modelar matemáticamente (con distintos grados de formalismo) el problema en cuestión y posteriormente formular una solución (programa) mediante un algoritmo codificado que tenga una serie de propiedades que permitan resolver dicho problema. En contraposición, la aproximación basada en las RNA parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda automáticamente las propiedades deseadas. En este sentido, el diseño de la red tiene menos que ver con cuestiones como los flujos de datos y la detección de condiciones, y más que ver con cuestiones tales como la selección del modelo de red, la de las variables a incorporar y el preprocesamiento de la información que formará el conjunto de entrenamiento. Asimismo, el proceso por el que los parámetros de la red se adecuan a la resolución de cada problema no se denomina genéricamente programación sino que se suele denominar entrenamiento.. 15.
(39) 2.2.3 Estructura La mayoría de los científicos coinciden en que una RNA es muy diferente en términos de estructura de un cerebro animal. Al igual que el cerebro, una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en términos de escala, un cerebro es muchísimo mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales también son más simples que su contrapartida animal. Biológicamente, un cerebro aprende mediante la reorganización de las conexiones sinápticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un gran número de procesadores virtuales interconectados que de forma simplificada simulan la funcionalidad de las neuronas biológicas. En esta simulación, la reorganización de las conexiones sinápticas biológicas se modela mediante un mecanismo de pesos, que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el problema para el que la RNA ha sido entrenada. Por otra parte, en una RNA, además de los pesos y las conexiones, cada neurona tiene asociada una función matemática denominada función de transferencia. Dicha función genera la señal de salida de la neurona a partir de las señales de entrada. La entrada de la función es la suma de todas las señales de entrada por el peso asociado a la conexión de entrada de la señal. Algunos ejemplos de entradas son la función escalón de Heaviside, la lineal o mixta, la sigmoidea y la función gaussiana, recordando que la función de transferencia es la relación entre la señal de salida y la entrada. 16.
(40) 2.2.4 Ventajas Las redes neuronales artificiales (RNA) tienen ventajas debido a que están basadas en la estructura del sistema nervioso, principalmente el cerebro.. •. Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que. se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le indica cuál es la salida esperada. •. Auto organización: Una RNA crea su propia representación de la información. en su interior, descargando al usuario de esto. •. Tolerancia a fallos: Debido a que una RNA almacena la información de forma. redundante, ésta puede seguir respondiendo de manera aceptable aun si se daña parcialmente. •. Flexibilidad: Una RNA puede manejar cambios no importantes en la. información de entrada, como señales con ruido u otros cambios en la entrada. •. Tiempo real: La estructura de una RNA es paralela, por lo cuál si esto es. implementado con computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en tiempo real. 2.2.5 Comparación entre los diferentes tipos de redes neuronales Existen diferentes tipos de redes neuronales, cada uno de los cuales tiene una aplicación particular más apropiada a continuación se observa una comparación entre las tres principales y más utilizadas.. 17.
(41) TABLA 3. Comparación Entre Redes Neuronales. PERCEPTRON. ADALINE. BACKPROPAGATION. Salida es binaria. Salida es real. Salida deseada. Medida si se ha equivocado o no la red. Medida de cuanto se ha equivocado la red. Calcula el error.. La diferencia entre entrada y salida es 0 si es misma categoría +1 si es diferente categoría.. Se calcula la diferencia real entre entrada y salida.. Se ve la diferencia obtenida entre la salida generada y la deseada. Es una red lineal. Es una red lineal. Incluye función de transferencia no lineal. No contienen capas ocultas. No contienen capas ocultas. Contiene varias capas ocultas que no corresponden a la capa de entrada ni de salida. Fuente: Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por: Natalia Trujillo. 18.
(42) Luego de realizar una comparación entre los principales tipos de redes neuronales he escogido la red neuronal Backpropagation ya que esta red es muy eficaz para resolver fundamentalmente problemas de reconocimiento de patrones. Ya que ésta red, interconecta varias unidades de procesamiento en capas, las neuronas de cada capa no se interconectan entre sí. Sin embargo, cada neurona de una capa proporciona una entrada a cada una de las neuronas de la siguiente capa, esto es, cada neurona transmitirá su señal de salida a cada neurona de la capa siguiente y esto hace que el entrenamiento de la misma sea más rápida y segura. 2.2.7 Red Backpropagation En 1986, Rumelhart, Hinton y Williams, formalizaron un método para que una red neuronal aprendiera la asociación que existe entre los patrones de entrada y las clases correspondientes, utilizando varios niveles de neuronas. El método backpropagation (propagación del error hacia atrás), basado en la generalización de la regla delta, a pesar de sus limitaciones, ha ampliado de forma considerable el rango de aplicaciones de las redes neuronales. El funcionamiento de la red backpropagartion (BPN) consiste en el aprendizaje de un conjunto predefinido de pares de entradas-salidas dados como ejemplo: primero se aplica un patrón de entrada como estímulo para la primera capa de las neuronas de la red, se va propagando a través de todas las capas superiores hasta generar una salida, se compara el resultado en las neuronas de salida con la salida que se desea obtener y se calcula un valor de error para cada neurona de salida. A continuación, estos errores se transmiten hacia atrás, partiendo de la capa de salida hacia todas las neuronas de la capa intermedia que contribuyan directamente a la salida, recibiendo de error aproximado a 19.
(43) la neurona intermedia a la salida original. Este proceso se repite, capa por capa, hasta que todas las neuronas de la red hayan recibido un error que describa su aportación relativa al error total. Basándose en el valor del error recibido, se reajustan los pesos de conexión de cada neurona, de manera que en la siguiente vez que se presente el mismo patrón, la salida esté cercana a la deseada. La importancia de la red backpropagation consiste en su capacidad de auto adaptar los pesos de las neuronas de las capas intermedias para aprender la relación que existe entre un conjunto de patrones de entrada y sus salidas correspondientes. Es importante la capacidad de generalización, facilidad de dar salidas satisfactorias a entradas que el sistema no ha visto nunca en su fase de entrenamiento. La red debe encontrar una representación interna que le permita generar las salidas deseadas cuando se le dan entradas de entrenamiento, y que pueda aplicar, además, a entradas no presentadas durante la etapa de aprendizaje para clasificarlas. 2.2.7.1 Regla Delta generalizada La regla delta propuesta por Widrow en 1960 ha sido extendida a redes con capas intermedias con conexiones hacia adelante (feedforward) y cuyas células tiene funciones de activación continuas (lineales o sigmoidales), dando lugar al algoritmo Backpropagation. Estas funciones continuas son no decrecientes y derivable, a diferencia de la función escalón que se utiliza en el Perceptrón, que no es derivable en el punto de discontinuidad.. 20.
(44) Funcionamiento del algoritmo Este algoritmo utiliza una función de error asociada a la red, buscando el estado estable de mínima energía o de mínimo error a través del camino descendente de la superficie del error. Por ello realimenta el error del sistema para realizar la modificación de los pesos en un valor proporcional al gradiente decreciente de dicha función de error. El error es la diferencia cuadrática media entre las salidas de la red con los pesos actuales y las salidas deseadas. El método que sigue la regla delta generalizada para ajustar los pesos es actualizarlos de forma proporcional a la delta o diferencia entre la salida deseada y la obtenida: ECUACIÓN 1. Método de la regla delta (δ = salida deseada − salida obtenida) FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. Dada una neurona Ui y la salida que produce yi el cambio que se produce en el peso de la conexión que une la salida de dicha neurona con la unidad Uj (wji) para un patrón de aprendizaje p determinado es:. 21.
(45) ECUACIÓN 2.Conexión de la salida ∆W ji (t + 1) = α δ pj Y pi FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. En donde el subíndice p se refiere al patrón de aprendizaje concreto y (alfa) es la constante o tasa de aprendizaje.. FIGURA 2. Conexión entre neurona de capa oculta con neurona de salida.. Fuente: Computational intelligence and bioinspired systems: 8th International Work-Conference on Artificial Neural Networks. Elaborado por : Natalia Trujillo. En redes multinivel en principio no se puede conocer la salida deseada de las neuronas ocultas para poder determinar los pesos en la función de error cometido. Inicialmente podemos conocer la salida deseada de las neuronas de salida. Según esto, si consideramos la unidad. de salida, entonces definimos:. 22.
(46) ECUACIÓN 3. Salida Deseada. FUENTE. : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. donde. es la salida deseada de la neurona j para el patrón p y. es la entrada neta. que recibe la neurona j. Esta fórmula es como la de la regla delta, excepto a lo que se refiere a la derivada de la función de transferencia. Este término representa la modificación que hay que realizar en la entrada que recibe la neurona j. En caso de que dicha neurona no sea de salida, el error que se produce estará en función del error que se cometa en las neuronas que reciban como entrada la salida de dicha neurona. Esto es lo que se denomina como procedimiento de propagación de error hacia atrás.. FIGURA 3. Conexiones entre neuronas de capa de entrada, oculta y de salida. Fuente : Computational intelligence and bioinspired systems: 8th International Work-Conference on Artificial Neural Networks. Elaborado por : Natalia Trujillo. 23.
(47) Según esto, en el caso de que. no sea una neurona de salida, el error que se produce. está en función del error que se comete en las neuronas que reciben como entrada la salida de. : ECUACIÓN 4. Cálculo del error. δ pj = (∑ δ pk wkj ) . f ' (net j ) k. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. donde el rango de k cubre a todas las neuronas a las que está conectada la salida de. .. De esta forma el error que se produce en una neurona oculta es la suma de los errores que se producen en las neuronas a las que está conectada la salida de ésta, multiplicado cada uno de ellos por el peso de la conexión.. Adición de un momento en la regla delta generalizada El método de retropopagación del error requiere un importante número de cálculos para lograr el ajuste de los pesos de la red. En la implementación del algoritmo, se toma una amplitud de paso que viene dada por la tasa de aprendizaje. A mayor tasa de aprendizaje, mayor es la modificación de los pesos en cada iteración, con lo que el aprendizaje será más rápido, pero por otro lado, puede dar lugar a oscilaciones. Rumelhart, Hinton y Williams sugirieron que para filtrar estas oscilaciones se añada en la expresión de incremento de los pesos un término (momento), expresión quede: 24. , de manera que dicha.
(48) ECUACIÓN 5. Incremento de pesos. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. donde. es una constante que determina el efecto t+1 del cambio de los pesos en el. instante t. Con este momento se consigue la convergencia de la red en menor número de iteraciones, ya que si en t el incremento de un peso era positivo y en t+1 también, entonces el descenso por la superficie de error en t+1 es mayor. Sin embargo, si en t era positivo y en t+1 es negativo, el paso que se da en t+1 es más pequeño, lo cual es adecuado, ya que significa que se ha pasado por un mínimo y que los pesos deben ser menores para poder alcanzarlo. Resumiendo, el algoritmo Backpropagation queda finalmente: ECUACIÓN 6. Resumen de algoritmo w ji (t + 1) = w ji (t ) + [ ∆w ji (t + 1)]. w ji (t + 1) = w ji (t ) + [αδ pj y pi + β∆w ji (t )] donde:. 25.
(49) si. es una neurona de salida.. δ pj = (∑ k δ pk wkj ) f ' (net j ) si. no es una neurona de salida.. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. 2.2.7.2 Estructura y aprendizaje de la red Backpropagation En una red Backpropagation existe una capa de entrada con n neuronas y una capa de salida con m neuronas y al menos una capa oculta de neuronas internas. Cada neurona de una capa (excepto las de entrada) recibe entradas de todas las neuronas de la capa anterior y envía su salida a todas las neuronas de la capa posterior (excepto las de salida). No hay conexiones hacia atrás feedback ni laterales entre las neuronas de la misma capa. La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás. Durante la primera fase el patrón de entrada es presentado a la red y propagado a través de las capas hasta llegar a la capa de salida. Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose éstos valores con la salida esperada para obtener el error. Se ajustan los pesos de la última capa proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del error, ajustando los pesos y continuando con este proceso hasta llegar a la primer capa. De esta manera se han modificado los pesos de las conexiones de la red para cada patrón de aprendizaje del problema, del que conocíamos su valor de entrada y la salida deseada que debería generar la red ante dicho patrón.. 26.
(50) La técnica Backpropagation requiere el uso de neuronas cuya función de activación sea continua, y por lo tanto, diferenciable. Generalmente, la función utilizada será del tipo sigmoidal.. 2.2.7.3 Pasos para aplicar el algoritmo de entrenamiento Paso 1 Inicializar los pesos de la red con valores pequeños aleatorios. La inicialización aleatoria consiste en elegir los pesos de manera aleatoria entre -0.5 y 0.5 o entre -1 y 1 .. Paso 2 Se presenta un patrón de entrada: Xp=xp1,xp2,...,xpn y se especifica la salida deseada: d1,d2,...,dM.. Paso 3 Calcular la salida actual de la red. Para se presenta las entradas a la red y se calcula la salida que presenta cada capa hasta llegar a la capa de salida, ésta será la salida de la red.. Los pasos son los siguientes: Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada. Para una neurona j oculta: ECUACIÓN 7. Cálculo de entradas N. net kih = ∑ w hji x pi + θ jk i =1. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. 27.
(51) en donde el índice h se refiere a magnitudes de la capa oculta; el subíndice p, al p-ésimo vector de entrenamiento, y j a la j-ésima neurona oculta. El término. puede ser. opcional, pues actúa como una entrada más. Se calculan las salidas de las neuronas ocultas: ECUACIÓN 8. Salida de neuronas ocultas. y pj = f jh (net hpj ) FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida: ECUACIÓN 9. Salida de neuronas. y pk = f k0 (net 0pk ) FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. en donde el índice o se refiere a magnitudes de la capa oculta; el subíndice p, al p-ésimo vector de entrenamiento, y k a la k-ésima neurona oculta. El término opcional, pues actúa como una entrada más.. 28. puede ser.
(52) Paso 4 Calcular los términos de error para todas las neuronas. Si la neurona k es una neurona de la capa de salida, el valor de la delta es: ECUACIÓN 10. Valor de delta. δ pk0 = (d pk − y pk ) f ko (net opk ) FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. La función f debe ser derivable. En general disponemos de dos formas de función de salida: ECUACIÓN 11. Primera forma de la función de salida. La función lineal : f k ( net jk ) = net jk FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. ECUACIÓN 12. Segunda forma de la función de salida. La función sigmoidal : f k (net jk ) =. 1 1+ e. − net jk. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. 29.
(53) La selección de la función depende de la forma que se decida representar la salida: si se desea que las neuronas de salida sean binarias, se utiliza la función sigmoidal, en otros casos, la lineal. Para una función lineal, tenemos:. , mientras que la derivada de una función. sigmoidal es: f k0' = f ko (1 − f ko ) = y pk (1 − y pk ) por lo que los términos de error para las neuronas de salida quedan: ECUACIÓN 13. Términos de la salida lineal. δ pko = (d pk − y pk ) para la salida lineal. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. ECUACIÓN 14. Términos de la salida sigmoidal. δ pko = (d pk − y pk ) y pk (1 − y pk ) Para la salida sigmoidal. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. Si la neurona j no es de salida, entonces la derivada parcial del error no puede ser evaluada directamente, por tanto se obtiene el desarrollo a partir de valores que son conocidos y otros que pueden ser evaluados.. 30.
(54) La expresión obtenida en este caso es: ECUACIÓN 15. Expresión obtenida. δ kjh = f jh ' (net hpj )∑ δ pko wkjo k. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. donde observamos que el error en las capas ocultas depende de todos los términos de error de la capa de salida. De aquí surge el término propagación hacia atrás.. Paso 5 Actualización de los pesos: para se utiliza un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma: Para los pesos de las neuronas de la capa de salida: ECUACIÓN 16. Pesos de la capa de salida. ∆wij = y i * y j o ∆wkjo (t + 1) = αδ pk y kj. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. 31.
(55) Para los pesos de las neuronas de la capa oculta: ECUACIÓN 17. Pesos de capa oculta. w hji (t + 1) = w hji (t ) + w hji (t + 1) ∆w hji (t + 1) = αδ pjh x pi FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término momento.. Paso 6 El proceso se repite hasta que el término de error ECUACIÓN 18. Error. Ep =. 1 M 2 ∑ δ pk 2 k =1. FUENTE : Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera, González y Víctor José Martínez Hernando. Elaborado por : Natalia Trujillo. resulta aceptablemente pequeño para cada uno de los patrones aprendidos.. 32.
(56) 2.2.7.4 Consideraciones sobre el algoritmo de aprendizaje El algoritmo encuentra un valor mínimo de error (local o global) mediante una aplicación de pasos (gradiente) descendentes. Cada punto de la superficie de la función corresponde a un conjunto de valores de los pesos de la red. Con el gradiente descendente, siempre que se realiza un cambio en todos los pesos de la red, se asegura el descenso por la superficie del error hasta encontrar el valle más cercano, lo que puede hacer que el proceso de aprendizaje se detenga en un mínimo local de error. Uno de los problemas del algoritmo es que en busca de minimizar la función de error, puede caer en un mínimo local o en algún punto estacionario, con lo cual no se llega a encontrar el mínimo global de la función de error. Sin embargo, no tiene porqué alcanzarse el mínimo global en todas las aplicaciones, sino que puede ser suficiente con un error mínimo preestablecido.. 2.2.7.5 Control de convergencia En las técnicas de gradiente decreciente es conveniente avanzar por la superficie del error con incrementos de pesos pequeños. Esto se debe a que tenemos una información local de la superficie y no se sabe lo lejos o cerca que se está del punto mínimo. Con incrementos grandes se corre el riesgo de pasar por encima del punto mínimo sin conseguir estacionarse en él. Con incrementos pequeños, aunque se tarda más en llegar, se evita que ocurra esto. El incremento del paso adecuado influye en la velocidad de convergencia del algoritmo. La velocidad se controla con la tasa de aprendizaje. . Normalmente. , debe ser un. número pequeño (del orden de 0,05 a 0,25), para asegurar que la red llegue a asentarse en una solución. 33.
(57) Lo habitual es aumentar el valor de. a medida que disminuye el error de la red durante. la fase de aprendizaje. Así aceleramos la convergencia aunque sin llegar nunca a valores de. demasiado grandes, que hicieran que la red oscilase alejándose del mínimo.. En la práctica, si una red deja de aprender antes de llegar a una solución aceptable, se realiza un cambio en el número de neuronas ocultas o en los parámetros de aprendizaje, o simplemente, se vuelve a empezar con un conjunto distinto de pesos originales y se suele resolver el problema.. 2.2.7.6 Dimensionamiento de la red. Número de neuronas ocultas No se pueden dar reglas concretas para determinar el número de neuronas o número de capas de una red para resolver un problema concreto. Respecto al número de capas de la red, en general tres capas son suficientes (entrada oculta-salida). Sin embargo, hay veces que un problema es más fácil de resolver con más de una capa oculta. El tamaño de las capas, tanto de entrada como de salida, suelen venir determinado por la naturaleza de la aplicación. En cambio, decidir cuántas neuronas debe tener una capa oculta no suele ser tan evidente. El número de neuronas ocultas interviene en la eficiencia de aprendizaje y de generalización de la red. No hay ninguna regla que indique el número óptimo, en cada problema se debe ensayar.. 2.2.7.7 Aplicaciones de la red Backpropagation Actualmente, este tipo de redes se están aplicando en distintas clases de problema debido a la naturaleza general del proceso de aprendizaje. Algunos de los campos generales de aplicación son: 34.
(58) Codificación de Información. Traducción de texto a lenguaje hablado. Reconocimiento de lenguaje hablado. Reconocimiento óptico de caracteres (OCR).. 35.
(59) 2.3 TRATAMIENTO DIGITAL DE IMÁGENES Todo lo concerniente a la imagen tratada mediante un ordenador ha cobrado una enorme importancia en los últimos tiempos. La proliferación de equipos y medios de captura han hecho habitual este fenómeno.. Por otra parte, en la sociedad actual también tienen una enorme importancia el lenguaje de la imagen. Los mensajes de contenido icónico y visual se utilizan frecuentemente para transmitir todo tipo de información, desde las señalizaciones de grandes espacios públicos hasta el formato ágil y certero de la publicidad.. Sin embargo esta proximidad de mensajes gráficos que pretenden captar la atención, el manejo habitual de aparatos de captura o la obtención de imágenes a través de la red, no siempre traducen en un mejor conocimiento del fenómeno. En la mayoría de los casos suele ocurrir paradójicamente lo contrario.. 2.3.1 Imágenes Digitales Una imagen digital, también llamada gráfico digital, es una representación bidimensional de una imagen utilizando bits (unos y ceros). Dependiendo de si la resolución de la imagen es estática o dinámica, puede tratarse de un gráfico rasterizado o de un gráfico vectorial. A menos que se indique lo contrario en general por imagen digital se entiende gráfico rasterizado.. 36.
(60) 2.3.1.1 Obtención Las imágenes digitales se pueden obtener de varias formas:. •. Por medio de dispositivos de conversión analógica-digital como los escáneres y. las cámaras digitales. •. Directamente mediante programas informáticos, como por ejemplo realizando. dibujos con el ratón (informática) o mediante un programa de renderización 2D. Las imágenes digitales se pueden modificar mediante filtros, añadir o suprimir elementos, modificar su tamaño, etc. y almacenarse en un dispositivo de grabación de datos como por ejemplo un disco duro.. 2.3.1.2 Visualización Para visualizar una imagen digital se requiere un programa de visualización que convierta la información binaria contenida en un archivo en puntos de color perceptibles por el ojo humano, llamados píxels y un dispositivo que permita su randerización, típicamente una pantalla de ordenador. En Internet los formatos de imágenes digitales más extendidos son:. •. JPG, GIF y PNG para imágenes rasterizadas.. •. SVG para gráficos vectoriales, formato estándar del W3C (World Wide Web. Consortium).. 37.
(61) 2.3.1.3 Estructura La mayoría de formatos de imágenes digitales están compuestos por una cabecera que contiene atributos (dimensiones de la imagen, tipo de codificación, etc.), seguida de los datos de la imagen en sí misma. La estructura de los atributos y de los datos de la imagen es distinta en cada formato. Además, los formatos actuales añaden a menudo una zona de meta datos que sirve para precisar información adicional sobre la imagen, como por ejemplo:. •. la fecha, la hora y el lugar donde se tomó la imagen. •. las características físicas de la fotografía (fotosensibilidad ISO, velocidad de. obturación, flash, etc.) Estos meta datos se utilizan muy a menudo en el formato Exif (extensión del formato JPG), que es el formato más utilizado en las cámaras digitales.. 2.3.2 Color Al descomponer la luz se ve que está compuesto por siete colores. Básicamente los colores se descomponen en dos tipos: primarios o colores luz y complementarios o colores pigmento.. Primarios O Colores Luz Son los tres colores principales de la composición de la luz, son también llamados los RGB (Red, Green, Blue).. 38.
(62) Estos colores son sustractivos, es decir que al interponerse uno contra otro reducen o cambian su color es por eso que la suma de estos tres colores luz Rojo Verde y Azul da origen al Blanco (LUZ). Ejemplo: Rojo + Verde + Azul = Blanco (LUZ) Rojo + Azul = Amarillo Cuando el ojo humano percibe un color, los colores que realmente están actuando son los que le hacen falta a este para convertirse en luz(blanco). Así por ejemplo cuando se observa el color rojo, en realidad los colores luz que actúan son Verde y Azul ; esto nos enseña que el efecto que producen los colores luz es opuesto a la realidad. Los monitores de computador son máquinas RGB y reproducen el color en 16.7 millones. Usa 3 canales que contienen 24 bit por pixel (8x3).. Colores Complementarios Estos son los llamados colores pigmento o de impresión, son los que se manejan usualmente, y se forman a partir de las combinaciones de los colores luz, estos son: azul, rojo y amarillo en su forma original en donde se llaman CYAN , MAGENTA y AMARILLO; también son llamados los colores puros. Del CYAN MAGENTA y YELLOW nace la sigla CMYK con la que se maneja la imagen de impresión; la letra K adicional representa el color negro que haría falta para completar una gama completa de colores.. 39.
(63) Los colores CMYK son usados para impresión y separación de colores. Usan 4 canales que contienen 32 bit por pixel (8 x 4).. 2.3.2.1 Manejo del color por el computador El software gráfico manipula imágenes utilizando uno o varios canales los cuales representan información acerca de uno de los elementos del color en la imagen. El uso de canales hace posible manipular imágenes en sofisticadas formas. El usuario puede ajustar un solo elemento de color en una imagen, comparar el color en las imágenes separadas analizando y ajustando sus respectivos canales y usar canales para adicionar detalle a una imagen que fácilmente puede modificar y remover después. Para el manejo de imagen se hace importante conocer los diferentes tipos en los que el computador almacena y transporta imágenes. Un concepto muy importante en los mapas de bits es la profundidad de color: la cantidad de colores que puede tener una imagen por cada píxel. La denominación se suele hacer por medio de bits, pues se refiere a cuantos bits (unos o ceros) por píxel utiliza la imagen para representar los colores: 2 bits, 8 bits, 16 bits.. 40.
Documento similar