Redes Neurais em IA e Deep Learning - página 54

 

Lección 4.2 — Una breve desviación hacia la ciencia cognitiva



Lección 4.2 — Una breve desviación hacia la ciencia cognitiva [Redes neuronales para el aprendizaje automático]

En la ciencia cognitiva, ha habido un debate de larga data sobre la relación entre las representaciones de vectores de características y las representaciones relacionales de conceptos. Este debate no es de mucho interés para los ingenieros, por lo que pueden saltarse esta discusión.

La teoría de características postula que los conceptos están definidos por un conjunto de características semánticas, lo cual es útil para explicar similitudes entre conceptos y para el aprendizaje automático. Por otro lado, la teoría estructuralista sostiene que el significado de un concepto radica en sus relaciones con otros conceptos, favoreciendo una representación gráfica relacional.

En la década de 1970, Marvin Minsky utilizó las limitaciones de los perceptrones para argumentar a favor de las representaciones gráficas relacionales. Sin embargo, ambos lados del debate se consideran incorrectos porque ven las teorías como rivales cuando en realidad pueden integrarse.

Las redes neuronales pueden implementar gráficos relacionales utilizando vectores de características semánticas. En el caso de aprender árboles genealógicos, la red neuronal transmite información sin reglas explícitas de inferencia. La respuesta es intuitivamente obvia para la red debido a la influencia de las microcaracterísticas probabilísticas y sus interacciones.

Si bien las reglas explícitas se utilizan para el razonamiento consciente, gran parte de nuestro sentido común y razonamiento analógico implica "solo ver" la respuesta sin pasos intermedios conscientes. Incluso en el razonamiento consciente, existe la necesidad de una forma de identificar rápidamente las reglas aplicables para evitar la regresión infinita.

Implementar un gráfico relacional en una red neuronal no es tan sencillo como asignar neuronas a nodos de gráficos y conexiones a relaciones binarias. Los diferentes tipos de relaciones y las relaciones ternarias plantean desafíos. El método preciso para implementar el conocimiento relacional en una red neuronal aún es incierto, pero es probable que múltiples neuronas estén involucradas en la representación de cada concepto, formando una representación distribuida donde existen mapeos de muchos a muchos entre conceptos y neuronas.

En una representación distribuida, es probable que se utilicen múltiples neuronas para representar cada concepto, y cada neurona puede estar involucrada en la representación de múltiples conceptos. Este enfoque, conocido como representación distribuida, permite una codificación más flexible y eficiente del conocimiento conceptual en redes neuronales.

Sin embargo, los detalles de implementación específicos de cómo representar el conocimiento relacional en una red neuronal aún están bajo investigación. La suposición de que una neurona corresponde a un nodo en el gráfico relacional y las conexiones representan relaciones binarias no es suficiente. Las relaciones vienen en diferentes tipos y sabores, y las conexiones neuronales solo tienen fuerza, sin la capacidad de capturar diversos tipos de relaciones.

Además, también deben considerarse las relaciones ternarias, como "A está entre B y C". El enfoque óptimo para integrar el conocimiento relacional en una red neuronal aún es incierto, y la investigación en curso tiene como objetivo abordar este desafío.

No obstante, la evidencia sugiere que una representación distribuida está involucrada en la representación de conceptos de las redes neuronales. Este enfoque permite la flexibilidad y la capacidad para manejar varios conceptos y sus relaciones, allanando el camino para un modelado y una comprensión cognitivos más sofisticados en el campo de la ciencia cognitiva.

 

Lección 4.3 — La función de salida softmax [Redes neuronales para el aprendizaje automático]



Lección 4.3 — La función de salida softmax [Redes neuronales para el aprendizaje automático]

Ahora, profundicemos en el tema de la función de salida softmax. La función softmax es una técnica utilizada para garantizar que las salidas de una red neuronal sumen uno, lo que les permite representar una distribución de probabilidad entre alternativas mutuamente excluyentes.

Antes de continuar discutiendo cómo se aprenden los vectores de características para representar palabras, tomemos una desviación técnica. Hasta ahora, hemos utilizado la medida del error cuadrático como criterio de entrenamiento para redes neuronales, que es adecuada para neuronas lineales. Sin embargo, la medida del error cuadrático tiene sus limitaciones.

Por ejemplo, si la salida deseada es 1, pero la salida real de una neurona es extremadamente cercana a cero, hay muy poco gradiente disponible para facilitar las actualizaciones de peso. Esto se debe a que la pendiente de la salida de la neurona es casi horizontal, lo que da como resultado ajustes de peso lentos a pesar de un error significativo.

Además, cuando se asignan probabilidades a etiquetas de clase mutuamente excluyentes, es crucial que la salida sume uno. Una respuesta como asignar una probabilidad de tres cuartos tanto a la Clase A como a la Clase B no tiene sentido. Por lo tanto, debemos proporcionar a la red el conocimiento de que estas alternativas son mutuamente excluyentes.

Para abordar estos problemas, necesitamos una función de costo diferente que pueda manejar clases mutuamente excluyentes de manera apropiada. La función softmax nos permite lograr este objetivo. Es una versión continua de la función máxima, lo que garantiza que las salidas del grupo softmax representen una distribución de probabilidad.

En el grupo softmax, cada unidad recibe una entrada acumulada, denominada logit, de la capa inferior. La salida de cada unidad, denotada como yi, depende no solo de su propio logit sino también de los logit acumulados por otras unidades en el grupo softmax. Matemáticamente, la salida de la i-ésima neurona se calcula usando la ecuación e^zi dividida por la suma de la misma cantidad para todas las neuronas en el grupo softmax.

Esta ecuación softmax garantiza que la suma de todos los yi es igual a uno, lo que representa una distribución de probabilidad. Además, los valores de yi se encuentran entre cero y uno, lo que impone la representación de alternativas mutuamente excluyentes como una distribución de probabilidad.

La derivada de la función softmax tiene una forma simple, similar a la unidad logística, lo que la hace conveniente para los cálculos. La derivada de la salida con respecto a la entrada de una neurona individual en el grupo softmax viene dada por yi veces (1 - yi).

Es crucial determinar la función de costo apropiada cuando se usa un grupo softmax para las salidas. La probabilidad logarítmica negativa de la respuesta correcta, también conocida como función de costo de entropía cruzada, se usa comúnmente. Esta función de costo tiene como objetivo maximizar la probabilidad logarítmica de dar la respuesta correcta.

Para calcular la función de costo de entropía cruzada, sumamos todas las respuestas posibles, asignando un valor de cero a las respuestas incorrectas y un valor de uno a la respuesta correcta. Al calcular la probabilidad logarítmica negativa, obtenemos el costo asociado con la respuesta correcta.

Una ventaja clave de la función de costo de entropía cruzada es su gran gradiente cuando el valor objetivo es 1 y la salida es cercana a cero. Incluso pequeños cambios en la producción mejoran significativamente el valor de la función de costo. Por ejemplo, un valor de uno en un millón es considerablemente mejor que un valor de uno en mil millones, aunque la diferencia sea mínima.

Para ilustrar mejor este punto, imagina hacer una apuesta basada en la creencia de que la respuesta es una en un millón o una en un billón. Apostar a probabilidades de uno en un millón y equivocarse resultaría en perder un millón de dólares. Por el contrario, si la respuesta fuera una entre mil millones, la misma apuesta llevaría a perder mil millones de dólares.

Esta propiedad de la función de costo de entropía cruzada garantiza una derivada pronunciada cuando la respuesta es significativamente incorrecta, lo que equilibra la uniformidad del cambio de salida a medida que cambia la entrada. Al multiplicar estos factores, obtenemos la derivada de la función de costo de entropía cruzada con respecto al logit que entra en la unidad de salida i. La regla de la cadena se emplea para este cálculo.

La derivada de la función de costo con respecto a la producción de una unidad, multiplicada por la derivada de la producción con respecto al logit zi, da como resultado la producción real menos la producción objetivo. La pendiente de esta diferencia es uno o menos uno cuando los resultados y los objetivos son significativamente diferentes, y la pendiente es cercana a cero solo cuando son casi idénticos, lo que indica que se está produciendo una respuesta correcta.

La función de salida softmax se utiliza para garantizar que las salidas de una red neuronal representen una distribución de probabilidad entre alternativas mutuamente excluyentes. Al emplear la ecuación softmax, las salidas están restringidas para sumar uno, lo que indica probabilidades para diferentes clases.

Sin embargo, usar la medida del error cuadrático como función de costo para entrenar redes neuronales tiene inconvenientes, como ajustes de peso lentos cuando la salida deseada está lejos de la salida real. Para abordar este problema, se introduce la función de costo de entropía cruzada. Calcula la probabilidad logarítmica negativa de la respuesta correcta y produce un gradiente mayor cuando el valor objetivo es 1 y la salida es cercana a cero. Esta propiedad permite un aprendizaje más eficiente y evita asignar probabilidades iguales a alternativas mutuamente excluyentes.

La función softmax, junto con la función de costo de entropía cruzada, proporciona una poderosa combinación para entrenar redes neuronales para producir resultados probabilísticos. Al ajustar los pesos y sesgos a través de la retropropagación y el descenso de gradiente estocástico, la red puede aprender a hacer predicciones precisas y representar relaciones complejas entre los datos.

Es importante tener en cuenta que estos conceptos y técnicas forman la base del entrenamiento de redes neuronales y son aplicables en varios dominios, incluido el procesamiento del lenguaje natural, la visión artificial y el reconocimiento de patrones. La investigación y los avances continuos en estas áreas contribuyen a mejorar el rendimiento y las capacidades de las redes neuronales para resolver problemas del mundo real.

 

Lección 4.4 — Modelos de lenguaje neuroprobabilísticos



Lección 4.4 — Modelos de lenguaje neuroprobabilísticos [Redes neuronales para el aprendizaje automático]

En este video, exploramos una aplicación práctica de vectores de características que representan palabras, específicamente en sistemas de reconocimiento de voz. Tener una buena comprensión de lo que alguien podría decir a continuación es crucial para reconocer con precisión los sonidos que hacen.

El reconocimiento de voz enfrenta desafíos para identificar los fonemas con precisión, especialmente en el habla ruidosa donde la entrada acústica suele ser ambigua y varias palabras pueden adaptarse a la señal igualmente bien. Sin embargo, normalmente no notamos esta ambigüedad porque confiamos en el significado del enunciado para escuchar las palabras correctas. Este proceso inconsciente de reconocimiento del habla destaca la necesidad de que los reconocedores del habla predigan las próximas palabras probables.

Afortunadamente, las palabras se pueden predecir de manera efectiva sin comprender completamente el contenido hablado. El método del trigrama es un enfoque estándar para predecir las probabilidades de las diferentes palabras que pueden seguir. Implica contar las frecuencias de los triples de palabras en un corpus de texto grande y usar estas frecuencias para estimar las probabilidades relativas de la siguiente palabra dadas las dos palabras anteriores.

El método del trigrama ha sido un enfoque de vanguardia hasta hace poco, ya que proporciona probabilidades basadas en dos palabras anteriores. El uso de contextos más grandes daría como resultado una explosión de posibilidades y, en su mayoría, cero recuentos. En los casos en los que no se ve el contexto, como "pizza de dinosaurio", el modelo recurre a predicciones de palabras individuales. Es importante no asignar probabilidades cero solo porque no se ha encontrado un ejemplo antes.

Sin embargo, el modelo de trigramas pasa por alto información valiosa que puede ayudar a predecir la siguiente palabra. Por ejemplo, comprender las similitudes entre palabras como "gato" y "perro" o "aplastado" y "aplanado" puede mejorar la precisión de la predicción. Para superar esta limitación, las palabras deben transformarse en vectores de características que capturen sus características semánticas y sintácticas. Mediante el uso de las características de las palabras anteriores, se puede utilizar un contexto más amplio (por ejemplo, 10 palabras anteriores) para la predicción.

Joshua Bengio fue pionero en este enfoque utilizando redes neuronales, y su modelo inicial se parece a la red de árboles genealógicos pero se aplicó al modelado de lenguaje con mayor complejidad. Al ingresar el índice de una palabra y propagar la actividad a través de capas ocultas, la red puede aprender representaciones distribuidas de palabras como vectores de características. Estos vectores luego se usan para predecir las probabilidades de varias palabras usando una capa de salida softmax.

Una mejora adicional es el uso de conexiones de salto de capa que conectan directamente las palabras de entrada con las palabras de salida. Las palabras de entrada individuales contienen información valiosa sobre las posibles palabras de salida. El modelo de Bengio inicialmente funcionó un poco peor que los trigramas, pero se mostró prometedor cuando se combinó con trigramas.

Desde el trabajo de Bengio, los modelos de lenguaje que utilizan vectores de características para palabras han mejorado y superado significativamente los modelos de trigramas. Sin embargo, surge un desafío cuando se trata de una gran cantidad de palabras de salida, ya que la capa de salida de softmax puede requerir una cantidad considerable de pesos (por ejemplo, cientos de miles). El sobreajuste puede ocurrir si la última capa oculta es demasiado grande, pero reducir su tamaño conduce a la predicción precisa de un gran número de probabilidades.

En el próximo video, exploraremos enfoques alternativos para manejar la gran cantidad de palabras de salida, considerando que tanto las probabilidades grandes como las pequeñas son relevantes para los sistemas de reconocimiento de voz.

 

Lección 4.5 — Tratar con muchos resultados posibles



Lección 4.5 — Tratar con muchos resultados posibles [Redes neuronales para el aprendizaje automático]

En este video, exploraremos diferentes enfoques para evitar la necesidad de un número excesivo de unidades de salida en un softmax cuando se trata de un vocabulario extenso. En lugar de tener cientos de miles de unidades de salida para obtener probabilidades de palabras, podemos usar arquitecturas alternativas.

Un enfoque es una arquitectura en serie, donde ingresamos palabras de contexto y una palabra candidata. Al atravesar la red, generamos una puntuación que indica la idoneidad de la palabra candidata en ese contexto. Este enfoque requiere ejecutar la red varias veces, pero la mayoría de los cálculos solo deben realizarse una vez. Podemos reutilizar las mismas entradas del contexto para diferentes palabras candidatas, y la única parte que necesita ser recalculada son las entradas específicas de la palabra candidata y el resultado de la puntuación final.

Para aprender en esta arquitectura en serie, calculamos puntajes para cada palabra candidata y aplicamos una función softmax para obtener probabilidades de palabra. Al comparar las probabilidades de las palabras con sus probabilidades objetivo (generalmente una para la palabra correcta y cero para las demás), podemos obtener derivadas de área de entropía cruzada. Estos derivados guían los ajustes de peso para aumentar el puntaje de la palabra candidata correcta y disminuir los puntajes de los rivales de alto rango. Para optimizar la eficiencia, podemos considerar un conjunto más pequeño de palabras candidatas sugeridas por otro predictor en lugar de evaluar todos los posibles candidatos.

Otro método para evitar un softmax grande es organizar las palabras en una estructura de árbol binario. Esto implica organizar todas las palabras como hojas en el árbol y usar el contexto de las palabras anteriores para generar un vector de predicción. Al comparar este vector con un vector aprendido para cada nodo del árbol, podemos determinar la probabilidad de tomar la rama derecha o izquierda. Atravesando recursivamente el árbol, podemos llegar a la palabra objetivo. Durante el aprendizaje, solo necesitamos considerar los nodos a lo largo de la ruta correcta, lo que reduce significativamente la carga computacional.

Un enfoque diferente para el aprendizaje de vectores de características de palabras es aprovechar el contexto pasado y futuro. Usando una ventana de palabras, colocamos la palabra correcta o una palabra aleatoria en el medio de la ventana. Al entrenar una red neuronal para generar puntajes altos para la palabra correcta y puntajes bajos para palabras aleatorias, podemos aprender vectores de características que capturan distinciones semánticas. Estos vectores de características son útiles para varias tareas de procesamiento de lenguaje natural.

Para visualizar los vectores de características aprendidos, podemos mostrarlos en un mapa bidimensional utilizando técnicas como t-SNE. Esta visualización ayuda a identificar palabras y grupos similares, proporcionando información sobre la comprensión de los significados de las palabras por parte de la red neuronal. Los vectores aprendidos pueden revelar relaciones y distinciones semánticas, lo que demuestra el poder de la información contextual para determinar los significados de las palabras.

Aquí hay otro ejemplo de la representación de mapa bidimensional de vectores de características aprendidos. En esta sección del mapa podemos observar un cúmulo de palabras relacionadas con los juegos. Palabras como partidos, juegos, carreras, jugadores, equipos y clubes se agrupan, lo que indica su similitud de significado. Además, identifica los elementos asociados de los juegos, incluidos premios, copas, tazones, medallas y otras recompensas. La capacidad de la red neuronal para capturar estas relaciones semánticas le permite inferir que si una palabra es adecuada para un contexto particular, es probable que otras palabras dentro del mismo grupo también sean apropiadas.

Pasando a otra parte del mapa, nos encontramos con un grupo dedicado a lugares. En la parte superior, encontramos varios estados de EE. UU., seguidos de ciudades, predominantemente las ubicadas en América del Norte. Además, el mapa muestra otras ciudades y países, lo que demuestra la comprensión de las relaciones geográficas por parte de la red neuronal. Por ejemplo, conecta Cambridge con Toronto, Detroit y Ontario, todos pertenecientes al Canadá de habla inglesa, mientras que agrupa a Quebec con Berlín y París, asociándolo con el Canadá de habla francesa. Del mismo modo, sugiere una similitud entre Irak y Vietnam.

Exploremos otro ejemplo en el mapa. Esta sección se centra en los adverbios y muestra palabras como probable, probablemente, posiblemente y quizás, que comparten significados similares. Del mismo modo, identifica las similitudes semánticas entre totalmente, completamente, totalmente y en gran medida. Además, reconoce otros patrones de similitud, como cuál y aquello, quién y qué, y cómo, si y por qué.

El aspecto fascinante de estos vectores de características aprendidos es que capturan matices semánticos sutiles únicamente mediante el análisis de secuencias de palabras de Wikipedia, sin ninguna guía explícita. Esta información contextual juega un papel crucial en la comprensión del significado de las palabras. De hecho, algunas teorías sugieren que es uno de los principales mecanismos a través de los cuales adquirimos la semántica de las palabras.

En conclusión, estos diferentes enfoques para manejar vocabularios extensos y aprender representaciones de palabras ofrecen alternativas eficientes a la arquitectura softmax tradicional. Al aprovechar las arquitecturas en serie, las estructuras de árbol o la información contextual, las redes neuronales pueden generar representaciones de palabras significativas y similares. Estas representaciones resultan valiosas en varias tareas de procesamiento del lenguaje natural, mostrando la capacidad de la red para capturar relaciones semánticas y distinciones entre palabras.

 

Lección 5.1 — Por qué el reconocimiento de objetos es difícil



Lección 5.1 — Por qué el reconocimiento de objetos es difícil [Redes neuronales para el aprendizaje automático]

Reconocer objetos en escenas reales plantea varios desafíos que a menudo se pasan por alto debido a nuestra habilidad innata en esta tarea. Convertir intensidades de píxeles en etiquetas de objetos es un proceso complejo que implica varias dificultades. Un obstáculo importante es segmentar el objeto de su entorno, ya que carecemos de las señales de movimiento y estéreo disponibles en el mundo real. Esta ausencia dificulta determinar qué partes pertenecen al mismo objeto. Además, los objetos pueden quedar parcialmente ocultos por otros objetos, lo que complica aún más el proceso de reconocimiento. Curiosamente, nuestras habilidades visuales excepcionales a menudo enmascaran estos problemas.

Otro desafío significativo en el reconocimiento de objetos surge de la influencia de la iluminación en las intensidades de los píxeles. La intensidad de un píxel depende no solo del objeto en sí, sino también de las condiciones de iluminación. Por ejemplo, una superficie negra bajo una luz brillante produce píxeles más intensos en comparación con una superficie blanca con poca luz. Para reconocer un objeto, debemos convertir estas intensidades de píxeles variables en etiquetas de clase, pero estas variaciones pueden ocurrir debido a factores no relacionados con la naturaleza o la identidad del objeto.

Los objetos también pueden sufrir deformaciones, lo que aumenta la complejidad del reconocimiento. Incluso para objetos relativamente simples como dígitos escritos a mano, existe una amplia gama de formas asociadas con el mismo nombre. Por ejemplo, el número "2" puede aparecer en cursiva con una cúspide o tener un lazo más grande y una forma más redondeada. Además, la clase de un objeto a menudo se define por su función más que por su apariencia visual. Considere las sillas, donde existen innumerables variaciones, desde sillones hasta diseños modernos con estructura de acero y respaldo de madera. Las características visuales por sí solas pueden no ser suficientes para determinar la clase.

Las variaciones del punto de vista agravan aún más las dificultades del reconocimiento de objetos. La capacidad de reconocer un objeto tridimensional desde múltiples perspectivas crea cambios de imagen que los métodos convencionales de aprendizaje automático tienen dificultades para manejar. La información sobre un objeto puede cambiar a través de diferentes píxeles cuando el objeto se mueve mientras nuestra mirada permanece fija. Esta transferencia de información entre dimensiones de entrada, que normalmente corresponde a píxeles en tareas visuales, no se encuentra comúnmente en el aprendizaje automático. Abordar este problema, a menudo denominado "salto de dimensión", es crucial para mejorar la precisión del reconocimiento. Un enfoque sistemático para resolver este problema es muy deseable.

En resumen, reconocer objetos en escenas reales conlleva numerosos desafíos. Superar estas dificultades requiere abordar cuestiones relacionadas con la segmentación, las variaciones de iluminación, la oclusión, las deformaciones, los cambios de punto de vista y la definición semántica de los objetos. El desarrollo de métodos sólidos y sistemáticos que tengan en cuenta estos factores mejorará la precisión y la fiabilidad de los sistemas de reconocimiento de objetos.

 

Lección 5.2 — Cómo lograr la invariancia del punto de vista



Lección 5.2 — Cómo lograr la invariancia del punto de vista [Redes neuronales para el aprendizaje automático]

En este video, profundizaré en el concepto de invariancia del punto de vista y exploraré varios enfoques para abordar este desafío en el reconocimiento de objetos. Las variaciones del punto de vista representan un obstáculo importante porque cada vez que vemos un objeto, aparece en diferentes píxeles, lo que hace que el reconocimiento de objetos sea distinto de la mayoría de las tareas de aprendizaje automático. A pesar de nuestra aptitud natural para esta tarea, todavía tenemos que encontrar soluciones ampliamente aceptadas en ingeniería o psicología.

El primer enfoque sugiere el uso de características invariantes redundantes. Estas características deben ser capaces de soportar transformaciones como traslación, rotación y escalado. Por ejemplo, se ha propuesto un par de líneas aproximadamente paralelas con un punto rojo entre ellas como una característica invariable utilizada por las gaviotas argénteas para identificar dónde picotear en busca de comida. Al emplear un gran conjunto de características invariantes, podemos ensamblarlas de manera única en un objeto o imagen sin representar explícitamente las relaciones entre las características.

Sin embargo, el desafío surge cuando se trata de tareas de reconocimiento. La extracción de características de múltiples objetos puede dar como resultado características compuestas de partes de diferentes objetos, lo que genera información engañosa para el reconocimiento. Por lo tanto, se vuelve crucial evitar formar características a partir de partes de diferentes objetos.

Otro enfoque, denominado "normalización juiciosa", consiste en colocar un cuadro alrededor del objeto. Al definir un marco de referencia dentro de este cuadro, podemos describir las características del objeto en relación con él, logrando la invariancia. Asumiendo que el objeto tiene una forma rígida, este enfoque elimina efectivamente el impacto de los cambios de punto de vista, mitigando el problema del salto de dimensión. La caja no necesariamente tiene que ser rectangular; puede tener en cuenta la traslación, la rotación, la escala, el corte y el estiramiento. Sin embargo, seleccionar la casilla adecuada presenta desafíos debido a posibles errores de segmentación, oclusión y orientaciones inusuales. Determinar la caja correcta se basa en nuestro conocimiento de la forma del objeto, creando un problema del huevo y la gallina: necesitamos reconocer la forma para obtener la caja correcta, pero necesitamos la caja correcta para reconocer la forma.

Un enfoque de normalización de fuerza bruta implica el uso de imágenes verticales bien segmentadas durante el entrenamiento para definir juiciosamente cajas alrededor de los objetos. Durante las pruebas, cuando se trata de imágenes desordenadas, se exploran todos los cuadros posibles en varias posiciones y escalas. Este enfoque se usa comúnmente en la visión por computadora para tareas como detectar rostros o números de casas en imágenes no segmentadas. Sin embargo, es más eficiente cuando el reconocedor puede manejar alguna variación en la posición y la escala, lo que permite el uso de una cuadrícula gruesa para probar diferentes cajas.

La invariancia del punto de vista es un desafío importante en el reconocimiento de objetos. Los enfoques como el uso de características invariantes, la normalización juiciosa con cuadros delimitadores y la normalización de fuerza bruta ayudan a mitigar los efectos de las variaciones de punto de vista. Sin embargo, la selección de características apropiadas, la determinación de la caja correcta y el manejo de posiciones y escalas variables siguen siendo esfuerzos de investigación en curso en el campo de la visión artificial.

 

Clase 5.3 — Redes convolucionales para el reconocimiento de dígitos



Lección 5.3 — Redes convolucionales para el reconocimiento de dígitos [Redes neuronales para el aprendizaje automático]

En este video, analizamos las redes neuronales convolucionales (CNN) y su aplicación en el reconocimiento de dígitos escritos a mano. Las CNN fueron un gran éxito en la década de 1980, en particular las redes convolucionales profundas de Yan LeCun, que se destacaron en el reconocimiento de escritura a mano y se implementaron en la práctica. Estas redes se encontraban entre las pocas redes neuronales profundas de esa época que podían entrenarse en las computadoras disponibles y funcionar excepcionalmente bien.

Las CNN se basan en el concepto de características replicadas. Dado que los objetos pueden aparecer en diferentes posiciones dentro de una imagen, es probable que un detector de características útil en un lugar también lo sea en otros lugares. Para aprovechar esta idea, se crean varias copias del mismo detector de características en diferentes posiciones de la imagen. Estos detectores de características replicados comparten pesos, lo que reduce significativamente la cantidad de parámetros que deben aprenderse. Por ejemplo, tres detectores replicados con 27 píxeles solo requieren nueve pesos diferentes.

En las CNN, se emplean múltiples mapas de características, cada uno de los cuales consta de características replicadas. Estas características replicadas están restringidas para ser idénticas en varios lugares, mientras que diferentes mapas aprenden a detectar diferentes características. Este enfoque permite diferentes tipos de características para representar cada parche de imagen, lo que mejora las capacidades de reconocimiento. Las funciones replicadas se alinean bien con la retropropagación, ya que es fácil entrenarlas con este algoritmo. La retropropagación se puede modificar para incorporar restricciones lineales entre pesos, lo que garantiza que los detectores de características replicados se aprendan de manera efectiva.

A menudo hay confusión con respecto a los logros de los detectores de características replicadas. Si bien algunos afirman que logran la invariancia de traducción, esto no es del todo exacto. Las características replicadas logran equivalencia, no invariancia, en las actividades de las neuronas. Por ejemplo, cuando se traduce una imagen, las neuronas activadas también se desplazan en consecuencia. Sin embargo, el conocimiento capturado por las características replicadas es invariable. Si se sabe que una característica se detecta en una ubicación, se puede detectar en otra. Para introducir cierta invariancia traslacional, las salidas de los detectores de características replicadas se pueden agrupar, ya sea promediando o tomando el máximo de los detectores vecinos. Sin embargo, la información espacial precisa se puede perder a través de este proceso de agrupación, lo que afecta las tareas que dependen de relaciones espaciales precisas.

Jan Lecun y sus colaboradores demostraron el poder de las CNN en el reconocimiento de dígitos escritos a mano y lograron resultados impresionantes con su arquitectura LeNet-5. LeNet-5 constaba de múltiples capas ocultas y mapas de funciones, junto con la agrupación entre capas. Podía manejar caracteres superpuestos y no requería segmentación antes de la entrada. La metodología de capacitación empleó un enfoque de sistema completo, generando códigos postales como salida de los píxeles de entrada. La capacitación se llevó a cabo utilizando un método similar al margen máximo, incluso antes de su introducción formal. LeNet-5 demostró ser muy valioso en la lectura de cheques en América del Norte.

La inyección de conocimientos previos en el aprendizaje automático, específicamente en las redes neuronales, se puede realizar a través del diseño de redes, la conectividad local, las restricciones de peso o las actividades neuronales apropiadas. Este enfoque sesga la red hacia un enfoque particular de resolución de problemas. Otro método es generar datos de entrenamiento sintéticos basados en conocimientos previos, lo que proporciona a la red más ejemplos de los que aprender. A medida que las computadoras se vuelven más rápidas, este último enfoque se vuelve cada vez más viable. Permite la optimización para descubrir formas efectivas de utilizar redes de múltiples capas, lo que podría lograr soluciones superiores sin una comprensión completa de los mecanismos subyacentes.

Utilizando datos sintéticos, se han realizado varios avances en el reconocimiento de dígitos escritos a mano. Al combinar trucos como la generación de datos sintéticos, el entrenamiento de grandes redes en unidades de procesamiento de gráficos (GPU) y la creación de modelos de consenso, se han logrado mejoras significativas. Por ejemplo, un grupo dirigido por Jurgen Schmidhuber en Suiza redujo la tasa de error a aproximadamente 25 errores, probablemente acercándose a la tasa de error humano. Evaluar el rendimiento de diferentes modelos requiere considerar qué errores cometen en lugar de confiar únicamente en métricas numéricas. Las pruebas estadísticas como la prueba de McNemar brindan más sensibilidad al analizar errores específicos, lo que permite una mejor evaluación de la superioridad del modelo.

Por lo tanto, al comparar modelos en función de sus tasas de error, es importante tener en cuenta los errores específicos que cometen y realizar pruebas estadísticas como la prueba de McNemar para determinar si las diferencias son estadísticamente significativas. La simple observación de las tasas de error generales puede no proporcionar suficiente información para emitir un juicio seguro.

El trabajo realizado por el grupo de Jurgen Schmidhuber en Suiza mostró la efectividad de inyectar conocimiento a través de datos sintéticos. Pusieron un esfuerzo significativo en generar datos sintéticos instructivos mediante la transformación de casos de capacitación reales para crear ejemplos de capacitación adicionales. Al entrenar una gran red con muchas unidades por capa y muchas capas en una unidad de procesamiento de gráficos (GPU), pudieron aprovechar la potencia computacional y evitar el sobreajuste.

Su enfoque combinó tres técnicas clave: generar datos sintéticos, entrenar una gran red en una GPU y usar un método de consenso con múltiples modelos para determinar la predicción final. A través de este enfoque, lograron resultados impresionantes, reduciendo la tasa de error a alrededor de 25 errores, que es comparable a la tasa de error humano.

Surge una pregunta interesante al comparar modelos con diferentes tasas de error: ¿cómo determinamos si un modelo con 30 errores es significativamente mejor que un modelo con 40 errores? Sorprendentemente, depende de los errores específicos cometidos por cada modelo. Simplemente mirar los números no es suficiente. La prueba de McNemar, una prueba estadística que se centra en los errores específicos, proporciona una mayor sensibilidad en la comparación de modelos.

Por ejemplo, considerando una tabla de 2x2, podemos examinar los casos en los que un modelo acierta mientras que el otro no. Al analizar las proporciones de estos casos, podemos determinar la importancia de las diferencias entre los modelos. En algunos casos, un modelo puede tener una tasa de error más baja pero funcionar peor en las instancias específicas en las que el otro modelo tiene éxito, lo que hace que la comparación sea menos significativa.

Por lo tanto, al evaluar y comparar modelos, es crucial considerar tanto las tasas de error como los errores específicos cometidos. Las pruebas estadísticas como la prueba de McNemar pueden proporcionar información más precisa sobre las diferencias de rendimiento entre los modelos. Esto nos ayuda a tomar decisiones informadas sobre la selección y mejora del modelo.

Además de considerar las tasas de error y los errores específicos, hay otros factores a considerar al evaluar y comparar modelos.

  1. Calidad y cantidad de datos: la calidad y la cantidad de datos de entrenamiento pueden tener un impacto significativo en el rendimiento del modelo. Los modelos entrenados en conjuntos de datos grandes, diversos y representativos tienden a generalizar mejor. Es importante asegurarse de que los datos utilizados para el entrenamiento y la evaluación reflejen con precisión los escenarios del mundo real que encontrará el modelo.

  2. Recursos computacionales: los recursos computacionales necesarios para entrenar e implementar un modelo son consideraciones esenciales. Algunos modelos pueden requerir una gran potencia computacional, como GPU de alto rendimiento o hardware especializado, lo que puede afectar su practicidad y escalabilidad.

  3. Interpretabilidad: Dependiendo de la aplicación, la interpretabilidad de las predicciones del modelo puede ser crucial. Algunos modelos, como las redes neuronales profundas, a menudo se consideran cajas negras, lo que dificulta comprender el razonamiento detrás de sus decisiones. En cambio, otros modelos, como los árboles de decisión o los modelos lineales, ofrecen más interpretabilidad. La elección del modelo debe alinearse con los requisitos del problema y las partes interesadas.

  4. Robustez y generalización: el rendimiento de un modelo debe evaluarse no solo en los datos de entrenamiento sino también en datos no vistos para evaluar su capacidad de generalización. Un modelo sólido debe funcionar bien en diversas muestras de datos y ser resistente al ruido, los valores atípicos y los ataques de los adversarios.

  5. Escalabilidad y eficiencia: según los requisitos de la aplicación, la escalabilidad y la eficiencia del modelo son consideraciones importantes. Los modelos que pueden procesar grandes cantidades de datos de manera eficiente o hacer predicciones en tiempo real pueden ser preferibles en ciertos escenarios.

  6. Consideraciones éticas: es esencial tener en cuenta las implicaciones éticas al seleccionar e implementar modelos. Se debe tener en cuenta el sesgo en los datos o las predicciones del modelo, la equidad, la privacidad y las preocupaciones de seguridad para garantizar un uso responsable y equitativo de los sistemas de IA.

  7. Comentarios de los usuarios y experiencia en el dominio: la recopilación de comentarios de los usuarios finales y los expertos en el dominio puede proporcionar información valiosa sobre el rendimiento y la idoneidad de un modelo. Su aporte puede ayudar a identificar áreas específicas para mejorar o descubrir limitaciones que podrían no ser capturadas por las métricas de evaluación automatizadas.

Al considerar estos factores además de las tasas de error y los errores específicos, podemos tomar decisiones más completas e informadas al evaluar y comparar modelos.

 

Clase 5.4 — Redes convolucionales para el reconocimiento de objetos



Lección 5.4 — Redes convolucionales para el reconocimiento de objetos [Redes neuronales para el aprendizaje automático]

La cuestión de si las redes desarrolladas para reconocer dígitos escritos a mano podrían ampliarse para reconocer objetos en imágenes en color de alta resolución siempre ha sido un tema de especulación. Se consideró una tarea desafiante debido a varios factores, como lidiar con escenas abarrotadas, segmentación, punto de vista 3D, múltiples objetos y variaciones de iluminación. En el pasado, los investigadores se centraron en mejorar la capacidad de las redes para reconocer dígitos escritos a mano, lo que llevó a algunos a dudar de la generalización de sus hallazgos a imágenes en color reales.

Para abordar esta pregunta, se llevó a cabo una competencia reciente llamada ImageNet, donde los sistemas de visión por computadora se probaron en un subconjunto de 1,2 millones de imágenes en color de alta resolución. La tarea consistía en etiquetar correctamente las imágenes con mil clases diferentes. A los sistemas se les permitió hacer cinco predicciones y se consideraron correctas si una de las predicciones coincidía con la etiqueta asignada por una persona. Además, había una tarea de localización en la que los sistemas tenían que colocar un cuadro alrededor del objeto reconocido.

Los principales grupos de visión por computadora de varias instituciones participaron en la competencia, empleando sistemas complejos de múltiples etapas que combinaron etapas tempranas ajustadas a mano con algoritmos de aprendizaje en la etapa superior. Sin embargo, la tarea resultó ser muy desafiante, con tasas de error que oscilaban entre el 26 % y el 27 % para los mejores sistemas. En contraste, la red neuronal profunda de Alex Krizhevsky logró una tasa de error significativamente menor del 16%.

La red de Alex Krizhevsky, basada en redes neuronales convolucionales profundas, utilizó siete capas ocultas y unidades lineales rectificadas como funciones de activación. La red empleó la normalización competitiva dentro de una capa para manejar las variaciones de intensidad. Se utilizaron varias técnicas para mejorar la generalización, incluido el aumento de datos con transformaciones, como la reducción de muestreo y los reflejos, y el uso de la regularización de abandonos en las capas superiores. La red se entrenó en un hardware potente, específicamente en los procesadores gráficos Nvidia GTX 580.

Los resultados de la competencia mostraron que la red de Alex Krizhevsky superó a otros sistemas de visión artificial por un margen sustancial. Su éxito demostró el potencial de las redes neuronales profundas para el reconocimiento de objetos en imágenes en color real. Estas redes pueden aprovechar el conocimiento previo y manejar conjuntos de datos y cálculos a gran escala. El uso de hardware eficiente y la posibilidad de distribuir redes en múltiples núcleos mejoran aún más sus capacidades. En consecuencia, se espera que las redes neuronales profundas continúen avanzando y se conviertan en el enfoque estándar para el reconocimiento de objetos en imágenes estáticas.

Del mismo modo, las redes neuronales profundas han mostrado un rendimiento impresionante en varios otros dominios. Por ejemplo, han tenido éxito en tareas de procesamiento de lenguaje natural, como traducción de idiomas, análisis de sentimientos y respuesta a preguntas. En estas tareas, las redes aprenden a comprender la semántica y el contexto del texto, lo que les permite generar respuestas precisas y significativas.

Además, las redes neuronales profundas también se han aplicado al reconocimiento de voz, donde han superado a los métodos tradicionales. Al aprender de grandes cantidades de datos de voz etiquetados, estas redes pueden reconocer y transcribir palabras habladas con gran precisión.

En el campo de la atención médica, las redes neuronales profundas han demostrado capacidades notables en el análisis de imágenes médicas. Pueden ayudar a diagnosticar enfermedades a partir de imágenes médicas como radiografías, resonancias magnéticas y tomografías computarizadas. Al aprender de una vasta colección de imágenes médicas etiquetadas, estas redes pueden detectar anomalías, tumores y otras afecciones médicas con un nivel de precisión comparable al de los expertos humanos.

El éxito de las redes neuronales profundas se puede atribuir a su capacidad para aprender automáticamente representaciones jerárquicas de datos. Mediante la extracción progresiva de características en múltiples niveles de abstracción, estas redes pueden capturar patrones y relaciones complejos en los datos. Este proceso de aprendizaje de características, combinado con la disponibilidad de grandes conjuntos de datos y poderosos recursos computacionales, ha allanado el camino para avances significativos en varios dominios.

En conclusión, las redes neuronales profundas han demostrado ser muy eficaces en una amplia gama de tareas, incluido el reconocimiento de objetos, el procesamiento del lenguaje natural, el reconocimiento del habla y el análisis de imágenes médicas. Su capacidad para aprender de grandes conjuntos de datos y extraer automáticamente representaciones significativas ha revolucionado muchos campos. A medida que los recursos computacionales continúan mejorando, podemos esperar logros aún más impresionantes y más avances en las capacidades de las redes neuronales profundas.

 

Clase 6.1 — Descripción general del descenso de gradiente en mini lotes



Lección 6.1 — Descripción general del descenso de gradiente de mini lotes [Redes neuronales para el aprendizaje automático]

En este video, analizaremos el aprendizaje de descenso de gradiente estocástico para redes neuronales, centrándonos en la versión de mini lotes, que se usa ampliamente en redes neuronales grandes. La superficie de error de una neurona lineal forma un cuenco cuadrático, donde los ejes horizontales representan los pesos y el eje vertical representa el error. Para redes no lineales multicapa, la superficie de error es más compleja pero se aproxima localmente por una fracción de un cuenco cuadrático.

Cuando se utiliza el aprendizaje por lotes completo, es posible que descender a lo largo de la dirección de la pendiente más pronunciada no conduzca al destino deseado. La dirección del descenso más empinado suele ser casi perpendicular a la dirección deseada, lo que provoca problemas de convergencia. Este problema persiste en las redes multicapa no lineales, ya que las superficies de error tienden a ser muy curvadas en algunas direcciones y menos curvas en otras.

Para abordar esto, se emplea el descenso de gradiente estocástico (SGD). En lugar de calcular el gradiente en todo el conjunto de datos, SGD calcula el gradiente en subconjuntos o mini lotes de datos. Este enfoque ofrece varias ventajas, como un cálculo reducido para las actualizaciones de peso y la capacidad de paralelizar los cálculos de gradiente para múltiples casos de entrenamiento.

El uso de mini lotes ayuda a evitar el exceso de peso innecesario. Es importante tener mini lotes que sean representativos de todo el conjunto de datos y evitar los que no son característicos, como tener todos los ejemplos de una sola clase. Si bien hay algoritmos de gradiente completo disponibles, el aprendizaje de mini lotes generalmente se prefiere para conjuntos de entrenamiento grandes y redundantes debido a su eficiencia computacional.

El algoritmo básico de aprendizaje de descenso de gradiente de mini lotes implica adivinar una tasa de aprendizaje inicial y monitorear el rendimiento de la red. Si el error empeora u oscila, la tasa de aprendizaje se reduce. Si el error disminuye demasiado lentamente, se puede aumentar la tasa de aprendizaje. Es beneficioso automatizar el ajuste de la tasa de aprendizaje en función de estas observaciones. Hacia el final del aprendizaje, a menudo es útil disminuir la tasa de aprendizaje para suavizar las fluctuaciones en los pesos causadas por los gradientes de mini lotes. Los conjuntos de validación se utilizan para evaluar cuándo disminuir la tasa de aprendizaje y determinar cuándo el error deja de disminuir de manera constante.

Al ajustar cuidadosamente la tasa de aprendizaje y ajustarla a lo largo del proceso de entrenamiento, el descenso de gradiente de mini lotes proporciona un enfoque efectivo para entrenar grandes redes neuronales en conjuntos de datos redundantes.

Además, vale la pena señalar que existen dos tipos principales de algoritmos de aprendizaje para redes neuronales: algoritmos de gradiente completo y algoritmos de mini lotes. Los algoritmos de gradiente completo calculan el gradiente utilizando todos los casos de entrenamiento, lo que permite varias técnicas de optimización para acelerar el aprendizaje. Sin embargo, estos métodos desarrollados para funciones no lineales suaves pueden requerir modificaciones para funcionar de manera efectiva con redes neuronales multicapa.

Por otro lado, el aprendizaje de mini lotes es ventajoso para conjuntos de entrenamiento grandes y altamente redundantes. Si bien es posible que los minilotes deban ser relativamente grandes, ofrecen eficiencia computacional. El uso de mini lotes permite el cálculo paralelo de gradientes para múltiples casos de entrenamiento simultáneamente, aprovechando las capacidades de los procesadores modernos, como las unidades de procesamiento de gráficos (GPU).

A lo largo del proceso de formación, es importante lograr un equilibrio con la tasa de aprendizaje. Los ajustes a la tasa de aprendizaje deben realizarse en función del rendimiento de la red y el comportamiento observado del error. Hacia el final del aprendizaje, la reducción de la tasa de aprendizaje puede ayudar a lograr un conjunto final de pesos que sea un buen compromiso, suavizando las fluctuaciones causadas por los gradientes de mini lotes.

Los conjuntos de validación juegan un papel crucial en el seguimiento del progreso de la red. Al medir el error en un conjunto de validación separado, se puede evaluar si el error deja de disminuir constantemente y determinar el momento apropiado para ajustar la tasa de aprendizaje. Estos ejemplos de validación no se utilizan para entrenamiento o pruebas finales.

El algoritmo de aprendizaje de descenso de gradiente de mini lotes proporciona un enfoque práctico y eficiente para entrenar grandes redes neuronales en conjuntos de datos redundantes. El ajuste cuidadoso de la tasa de aprendizaje, la supervisión del rendimiento de la red mediante conjuntos de validación y el uso de minilotes representativos contribuyen a obtener resultados de capacitación exitosos.

 

Lección 6.2 — Una bolsa de trucos para el descenso de gradiente en mini lotes



Lección 6.2 — Una bolsa de trucos para el descenso de gradiente en mini lotes [Redes neuronales para el aprendizaje automático]

En este video, analizaremos varios problemas que surgen al usar el descenso de gradiente estocástico con mini lotes. Existen numerosos trucos que pueden mejorar significativamente el rendimiento, a menudo denominados "arte negro" de las redes neuronales. Cubriré algunos de los trucos clave en este video.

Comencemos con el primer problema: inicialización de peso en una red neuronal. Si dos unidades ocultas tienen los mismos pesos y sesgos, siempre recibirán el mismo gradiente y nunca se diferenciarán entre sí. Para permitirles aprender diferentes detectores de características, necesitamos inicializarlos con diferentes pesos. Esto normalmente se hace usando pequeños pesos aleatorios para romper la simetría. Es importante tener en cuenta que el tamaño de los pesos iniciales no debe ser el mismo para todas las unidades. Las unidades ocultas con fan-in más grande (conexiones entrantes) tienden a saturarse con pesos más grandes, por lo que se prefieren pesos más pequeños en tales casos. Por otro lado, las unidades ocultas con ventilador de entrada más pequeño se benefician de pesos más grandes. El tamaño de los pesos iniciales debe ser proporcional a la raíz cuadrada del fan-in.

Otro factor importante es cambiar las entradas. Agregar un valor constante a cada componente de entrada puede tener un impacto significativo en la velocidad de aprendizaje. Cambiar las entradas es particularmente efectivo cuando se usa el descenso más pronunciado. Se recomienda cambiar cada componente de entrada para que, en promedio a través de los datos de entrenamiento, tenga un valor medio de cero.

A continuación, consideremos la superficie de error y cómo se relaciona con los pesos y los casos de entrenamiento. En algunos casos, cuando los pesos satisfacen diferentes casos de entrenamiento, la superficie de error puede alargarse, dificultando el aprendizaje. Sin embargo, al restar un valor constante de cada componente de entrada, podemos transformar la superficie de error en una forma circular, lo que facilita el aprendizaje.

Otro factor a considerar es la función de activación de unidades ocultas. Las tangentes hiperbólicas, que oscilan entre -1 y 1, suelen preferirse porque conducen a actividades de unidades ocultas con un valor medio cercano a cero. Esto puede facilitar un aprendizaje más rápido en capas posteriores. Sin embargo, las funciones de activación logística tienen ventajas, ya que proporcionan una salida de cero para entradas negativas pequeñas, lo que permite que la red ignore las fluctuaciones en esas entradas. Las tangentes hiperbólicas requieren entradas más grandes para ignorar tales fluctuaciones.

Escalar las entradas también es crucial para un aprendizaje efectivo. Al transformar los componentes de entrada para que tengan una varianza unitaria en todo el conjunto de entrenamiento, con un valor típico de uno o menos uno, podemos mejorar la superficie de error. Escalar las entradas garantiza que los cambios en los pesos tengan efectos similares en todos los componentes de entrada, lo que conduce a un proceso de aprendizaje más equilibrado.

Para acelerar el aprendizaje de mini lotes, hay cuatro métodos principales a considerar:

  1. Impulso: en lugar de cambiar directamente los pesos en función del gradiente, el impulso utiliza el gradiente para acelerar la velocidad de los pesos. Este enfoque permite que los pesos retengan información de gradientes anteriores.

  2. Tasas de aprendizaje adaptativo: Usar una tasa de aprendizaje adaptativo separada para cada parámetro y ajustarla en función de mediciones empíricas puede mejorar el aprendizaje. Si el gradiente sigue cambiando de signo, la tasa de aprendizaje se reduce. Si el gradiente permanece constante, la tasa de aprendizaje aumenta.

  3. RMSprop: este método divide la tasa de aprendizaje por un promedio móvil de las magnitudes de gradiente recientes. Maneja de manera efectiva una amplia gama de gradientes al escalarlos apropiadamente.

  4. Aprendizaje por lotes completo: este enfoque implica el uso de todo el conjunto de entrenamiento para el aprendizaje y el empleo de técnicas de optimización avanzadas que tienen en cuenta la información de la curvatura. Si bien puede ser efectivo, puede requerir una mayor adaptación para trabajar con mini lotes.

Estas son solo algunas de las técnicas que pueden mejorar significativamente el rendimiento del descenso de gradiente estocástico con mini lotes.

En resumen, hemos discutido varias cuestiones y técnicas importantes relacionadas con el descenso de gradiente estocástico con mini lotes en redes neuronales. Estas técnicas sirven como el "arte negro" de las redes neuronales y pueden mejorar mucho su rendimiento. Recapitulemos los puntos principales:

  1. Inicialización de peso: para permitir que las unidades ocultas aprendan diferentes detectores de características, es crucial inicializar sus pesos de manera diferente. Mediante el uso de pequeños pesos aleatorios que rompen la simetría, podemos asegurarnos de que cada unidad comience siendo distinta a la otra. El tamaño de los pesos iniciales debe ser proporcional a la raíz cuadrada del fan-in, lo que ayuda a lograr un buen punto de partida.

  2. Cambio de entradas: cambiar las entradas agregando una constante a cada componente puede tener un impacto significativo en la velocidad de aprendizaje. Es beneficioso cambiar cada componente para que, en promedio, la entrada tenga un valor de cero. Esto se puede lograr restando la media de los valores de entrada a través de los datos de entrenamiento.

  3. Entradas de escala: Escalar los valores de entrada es otra técnica útil en el descenso de gradiente estocástico. Transformar las entradas de modo que cada componente tenga una variación unitaria en todo el conjunto de entrenamiento simplifica el proceso de aprendizaje. Cambiar la escala de las entradas ayuda a crear una superficie de error circular, lo que hace que el descenso de gradiente sea más eficiente.

  4. Descorrelacionar los componentes de entrada: Descorrelacionar los componentes de los vectores de entrada mejora el aprendizaje al eliminar las correlaciones entre las características. El análisis de componentes principales es un método valioso para lograr esto. Al eliminar los componentes con valores propios pequeños y escalar los componentes restantes, podemos obtener una superficie de error circular, lo que facilita el descenso del gradiente.

  5. Problemas comunes: algunos problemas comunes que se encuentran en el entrenamiento de redes neuronales incluyen grandes tasas de aprendizaje iniciales que provocan que las unidades ocultas se atasquen, un aprendizaje lento cuando se comienza con pesos pequeños y una reducción prematura de la tasa de aprendizaje. Es importante lograr un equilibrio al ajustar la tasa de aprendizaje para garantizar un aprendizaje óptimo.

  6. Aceleración del aprendizaje en minilotes: existen cuatro métodos principales para acelerar el aprendizaje en minilotes diseñados explícitamente para un aprendizaje más rápido: impulso, tasas de aprendizaje adaptativo, RMSprop y aprendizaje por lotes completo con información de curvatura. Estas técnicas aprovechan varios mecanismos, como el impulso, los ajustes adaptativos y las magnitudes de gradiente, para acelerar el proceso de aprendizaje.

Si bien estas técnicas mejoran significativamente el rendimiento del descenso de gradiente estocástico con mini lotes en redes neuronales, es esencial considerar el problema específico en cuestión y experimentar con diferentes enfoques para lograr los mejores resultados. El campo de la optimización ofrece más métodos avanzados que vale la pena explorar para un aprendizaje aún más eficiente en redes neuronales.

Eso concluye los puntos principales cubiertos en este video con respecto a los desafíos y técnicas relacionadas con el descenso de gradiente estocástico con mini lotes en redes neuronales.