Está en la página 1de 5

Proyecto

Presentación

Diapositiva 1

Presentación de la materia y expositores.

Diapositiva 2

Definición simple tema principal.

Descenso del gradiente

El algoritmo más utilizado para entrenar redes neuronales es el descenso del gradiente. ¿Y qué
es eso del gradiente? El gradiente es un cálculo que nos permite saber cómo ajustar los
parámetros de la red de tal forma que se minimice su desviación a la salida.

Diapositiva 3

• Que es un algoritmo:
o En matemáticas, es un conjunto de instrucciones o reglas definidas y no-
ambiguas, ordenadas y finitas que permite, típicamente, solucionar un
problema.
o Características:
▪ Un algoritmo debe ser preciso: tiene que indicar el orden de
realización de cada paso.
▪ Un algoritmo debe estar definido: Si se sigue un algoritmo dos veces,
se debe obtener el mismo resultado cada vez.
▪ Un algoritmo debe ser finito: el algoritmo se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
▪ Un algoritmo debe ser legible: El texto que lo describe debe ser claro,
tal que permita entenderlo y leerlo fácilmente.
▪ Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
o Tipos:
▪ Los cualitativos son aquellos en los que se describen los pasos
utilizando palabras, lo ejecutan las personas.
▪ Los cuantitativos son aquellos en los que se utilizan cálculos numéricos
para definir los pasos del proceso.
• Que es inteligencia artificial:
o La Inteligencia artificial es el campo científico de la informática que se centra
en la creación de programas y mecanismos que pueden mostrar
comportamientos considerados inteligentes. En otras palabras, la IA es el
concepto según el cual “las máquinas piensan como seres humanos”.
o Técnicas principales de la Inteligencia artificial:
▪ Aprendizaje automático:
• Generalmente, el concepto de Aprendizaje automático se
confunde con el de “IA débil”. Es en este campo en donde los
avances más importantes de la IA se están llevando a cabo. En
términos prácticos, “el Aprendizaje automático es la ciencia
que se encarga de hacer que las computadoras realicen
acciones sin necesidad de programación explícita”. La idea
principal aquí es que se les puede proporcionar datos a los
algoritmos de Aprendizaje automático y luego usarlos para
saber cómo hacer predicciones o guiar decisiones.
• Algunos ejemplos de algoritmos de Aprendizaje automático
incluyen los siguientes: diagramas de decisiones, algoritmos
de agrupamiento, algoritmos genéticos, redes Bayesianas y
Aprendizaje profundo.
▪ Aprendizaje profundo:
• ¿Recuerda cuando Google anunció un algoritmo que
encontraba videos de gatos en YouTube? Pues bien, esto es
Aprendizaje profundo, una técnica de Aprendizaje automático
que utiliza redes neuronales (el concepto de que las neuronas
se pueden simular mediante unidades computacionales) para
realizar tareas de clasificación (piense en clasificar una imagen
de un gato, de un perro o personas, por ejemplo).
• Algunos ejemplos de aplicaciones prácticas del
Aprendizaje profundo son las siguientes: identificación
de vehículos, peatones y placas de matrícula de
vehículos autónomos, reconocimiento de imagen,
traducción y procesamiento de lenguaje natural.
▪ Descubrimiento de datos inteligentes:
• Es el próximo paso en soluciones de IE (Inteligencia
empresarial). La idea consiste en permitir la automatización
total del ciclo de la IE: la incorporación y preparación de datos,
el análisis predictivo y los patrones y la identificación de
hipótesis. Este es un ejemplo interesante de la recuperación
de datos inteligentes en acción. La información que ninguna
herramienta de IE había descubierto.
▪ Análisis predictivo:
• Piense en ese momento en el que está contratando un
seguro para auto y el agente le hace una serie de
preguntas Estas preguntas están relacionadas a las
variables que influyen en su riesgo. Detrás de estas
preguntas se encuentra un modelo predictivo que
informa sobre la probabilidad de que ocurra un
accidente con base en su edad, código postal, género,
marca de auto, etc. Es el mismo principio que se
emplea en los modelos predictivos de crédito para
identificar a los buenos y malos pagadores. Por lo
tanto, el concepto principal de análisis predictivo (o
modelado) significa que se puede utilizar un número
de variables (ingresos, código postal, edad, etc.)
combinadas con resultados (por ejemplo, buen o mal
pagador) para generar un modelo que proporcione una
puntuación (un número entre 0 y 1) que representa la
probabilidad de un evento (por ejemplo, pago,
migración de clientes, accidente, etc.).
• Los casos de uso en los negocios son amplios: modelos de
crédito, modelos de segmentación de clientes (agrupamiento),
modelos de probabilidad de compra y modelos de migración
de clientes, entre otros.
o Donde se aplica:
▪ Subcontratación de procesos empresariales
▪ Servicios financieros
▪ Salud
▪ Seguros
▪ Ciencias naturales
▪ Fabricación
▪ Sector público
▪ Telecomunicaciones
o Beneficios:
▪ Reduce errores humanos, eso significa que no se necesita una revisión
y que el cumplimiento es casi perfecto.
▪ Integra las distintas plataformas, funcionan con cualquier aplicación.
▪ La IA permite la automatización integral de los procesos a alta
velocidad
• Redes neuronales:
o es un modelo simplificado que emula el modo en que el cerebro humano
procesa la información: Funciona simultaneando un número elevado de
unidades de procesamiento interconectadas que parecen versiones abstractas
de neuronas.

Diapositiva 4
Explicación profunda del tema

El algoritmo cuenta con varias versiones dependiendo del número de muestras que
introduzcamos a la red en cada iteración:

Diapositiva 5

Descenso del gradiente en lotes (o batch): todos los datos disponibles se introducen de una
vez. Esto supondrá problemas de estancamiento, ya que el gradiente se calculará usando
siempre todas las muestras, y llegará un momento en que las variaciones serán mínimas.
Como regla general: siempre nos conviene que la entrada a una red neuronal tenga algo de
aleatoriedad.
Diapositiva 6

Descenso del gradiente estocástico: se introduce una única muestra aleatoria en cada
iteración. El gradiente se calculará para esa muestra concreta, lo que supone la introducción
de la deseada aleatoriedad, dificultando así el estancamiento. El problema de esta versión es
su lentitud, ya que necesita de muchas más iteraciones, y además no aprovecha los recursos
disponibles.

Diapositiva 7

Descenso del gradiente (estocástico) en mini-lotes (o mini-batch): en lugar de alimentar la red


con una única muestra, se introducen N muestras en cada iteración; conservando las ventajas
de la segunda versión y consiguiendo además que el entrenamiento sea más rápido debido a la
paralelización de las operaciones. Nos quedamos pues con esta modificación del algoritmo,
eligiendo un valor de N que nos aporte un buen balance entre aleatoriedad y tiempo de
entrenamiento (también que no sea demasiado grande para la memoria de la GPU disponible).

Diapositiva 8

Explicación del algoritmo

Diapositiva 9
Los 5 pasos del algoritmo

1. Introducimos un mini-lote de entrada con N muestras aleatorias provenientes de


nuestro data set de entrenamiento, previamente etiquetado (lo que significa que
conocemos la salida real).
2. Después de los cálculos pertinentes en cada capa de la red, obtenemos como
resultado las predicciones a su salida. A este paso se le conoce como forward
propagation (de las entradas).
3. Evaluamos la función de coste (también llamada función de pérdida) para dicho mini-
lote. Se trata de una función elegida previamente en base al tipo de problema
concreto, para poder evaluar de la forma más adecuada la diferencia entre las
predicciones de nuestra red y las salidas reales. El valor de esta función de coste es lo
que se trata de minimizar en todo momento mediante el algoritmo, y hacia ello se
orientan los siguientes pasos.
4. Calculamos el gradiente como la derivada multivariable de la función de coste con
respecto a todos los parámetros de la red. Gráficamente sería la pendiente de la
tangente a la función de coste en el punto donde nos encontramos (evaluando los
pesos actuales). Matemáticamente es un vector que nos da la dirección y el sentido en
que dicha función aumenta más rápido, por lo que deberíamos movernos en sentido
contrario si lo que tratamos es de minimizarla.
5. Una vez obtenido el vector gradiente, actualizaremos los parámetros de la red
restando a su valor actual el valor del gradiente correspondiente, multiplicado por una
tasa de aprendizaje que nos permite ajustar la magnitud de nuestros pasos. El término
de actualización se resta porque como ya hemos visto antes queremos avanzar en el
sentido contrario al del gradiente, para que la función de coste disminuya. Según nos
acerquemos al mínimo global, los pasos serán en teoría más pequeños porque la
pendiente de la función de coste será menor, pero mejor dejemos de pensar en el
ejemplo irreal en tres dimensiones: se suele optar igualmente por ir disminuyendo la
tasa de aprendizaje con el tiempo.

Referencias
• https://www.salesforce.com/mx/blog/2017/6/Que-es-la-inteligencia-artificial.html
• https://es.wikipedia.org/wiki/Algoritmo
• https://www.ibm.com/support/knowledgecenter/es/SS3RA7_sub/modeler_mainhelp
_client_ddita/components/neuralnet/idh_neuralnet_basics.html
• https://medium.com/metadatos/todo-lo-que-necesitas-saber-sobre-el-descenso-del-
gradiente-aplicado-a-redes-neuronales-19bdbb706a78

También podría gustarte