Las Matemáticas detrás de la IA

sammas24
30 Aug 202314:39

Summary

TLDREste video explica de manera sencilla el concepto de redes neuronales artificiales, comenzando con las primeras ideas en los años 50, como el perceptrón de Rosenblatt. Utiliza ejemplos para ilustrar cómo estas redes funcionan con entradas, salidas y pesos, y cómo pueden aprender ajustando estos pesos. Además, describe cómo evolucionaron los modelos multicapa, incorporando la función sigmoide para suavizar las salidas. También se aborda el proceso de minimización de errores utilizando el gradiente descendente. Finalmente, se ejemplifica cómo una red neuronal aprende a representar una función matemática compleja.

Takeaways

  • 🤖 Las primeras ideas sobre redes neuronales surgieron en los años 50, con Frank Rose y los trabajos previos de Warren McCulloch y Walter Pitts.
  • 🔧 Un perceptrón es un modelo simple basado en neuronas biológicas, con entradas y una única salida.
  • ⚙️ El perceptrón utiliza pesos para determinar la importancia de cada entrada en la salida, y estos pueden ajustarse según los resultados esperados.
  • 🧠 Las redes neuronales aprenden ajustando los pesos a través de algoritmos para reducir los errores en las salidas.
  • 🎛️ El modelo de perceptrón multicapa introduce varias capas de neuronas, conectadas entre sí, con funciones de activación como la sigmoide.
  • 📊 La función de coste mide qué tan cerca está la salida obtenida de la salida esperada, y se minimiza para mejorar el aprendizaje.
  • ⚡ La derivada direccional y el gradiente son herramientas clave para ajustar los pesos y minimizar la función de coste.
  • 📉 Al desplazarse en la dirección inversa del gradiente, el sistema puede reducir el error y optimizar la red neuronal.
  • 🧩 Las redes neuronales modernas utilizan la función sigmoide para suavizar las transiciones en los valores de salida, mejorando la precisión.
  • 🔍 Aunque las redes neuronales pueden aprender patrones complejos, calcular el gradiente de la función de coste puede ser complicado y requiere más análisis.

Q & A

  • ¿Qué significó la tecnología de las redes neuronales en los últimos tiempos?

    -La tecnología de las redes neuronales ha representado un avance significativo en el ámbito de la inteligencia artificial, permitiendo a las máquinas aprender y realizar tareas de manera autónoma.

  • ¿Quién fue Frank Rosen y qué aportó a la creación de las redes neuronales?

    -Frank Rosen fue un investigador que, inspirado por trabajos anteriores de Warren Sturgis McCulloch y Walter Pitts, creó las primeras ideas de las redes neuronales basadas en un modelo llamado perceptrón.

  • ¿Qué es un perceptrón y cómo funciona?

    -Un perceptrón es un modelo de red neurál artificial que se basa en neuronas biológicas. Funciona como una caja con entradas y salidas, donde se pueden modificar los controles centrales para alterar la salida según los valores de entrada.

  • ¿Cuál es la diferencia entre una red neuronal simple y una multicapa?

    -Una red neuronal simple es un perceptrón que procesa la información de entrada directamente a una salida. Una red multicapa, por otro lado, es un conjunto de percepciones donde cada capa está conectada a la siguiente y cada neurona comparte su salida con todas las neuronas de la capa siguiente.

  • ¿Qué son los pesos en el contexto de las redes neuronales y para qué sirven?

    -Los pesos son valores reales que representan la importancia de cada entrada en la producción de la salida esperada. Sirven para ajustar la salida de la red neuronal de acuerdo con la configuración de los controles.

  • ¿Cómo se determina si un perceptrón debe activarse o no?

    -Un perceptrón se activa si la suma del producto de los pesos y las entradas supera un umbral determinado. De lo contrario, no se activa.

  • ¿Qué es la función sigmoide y cómo se utiliza en las redes neuronales?

    -La función sigmoide es una función matemática que transforma la salida de un perceptrón simple en un número real entre 0 y 1. Se utiliza para suavizar la salida y proporcionar una salida continua en lugar de un cambio brusco de 0 a 1.

  • ¿Cómo se aprende una red neuronal a minimizar los errores?

    -Las redes neuronales aprenden minimizando la función de coste, que es una medida de la diferencia entre la salida obtenida y la esperada. Se hace ajustando los pesos de la red neuronal en la dirección inversa al gradiente de la función de coste.

  • ¿Qué es el gradiente descendente y cómo ayuda en el aprendizaje de las redes neuronales?

    -El gradiente descendente es un método para encontrar el mínimo de una función, en este caso, la función de coste de la red neuronal. Consiste en desplazarse en la dirección opuesta al gradiente, lo que lleva a una disminución de la función de coste y, por tanto, a un aprendizaje más eficiente.

  • ¿Por qué es importante minimizar los errores en el aprendizaje de las redes neuronales?

    -Minimizar los errores es fundamental para que las redes neuronales aprendan patrones y realicen predicciones con alta precisión. Menos errores significan que la salida de la red neuronal se acerca más a la salida esperada.

Outlines

00:00

🤖 Introducción a las Redes Neuronales Artificiales

El video comienza describiendo cómo surgió la idea de las redes neuronales en los años 50, inspirado en modelos biológicos de neuronas. Explica cómo una red neuronal artificial imita el funcionamiento del cerebro humano a través de ejemplos simples, como una caja con entradas y salidas que pueden modificarse mediante controles. La explicación avanza hacia la idea del perceptrón, un modelo simple propuesto por Rosenblatt, que utiliza pesos para modificar las entradas y producir una salida, lo que permite tomar decisiones en función de ciertos criterios como en el ejemplo de darle 'like' a un video según varias variables.

05:02

⚙️ Cómo las Redes Neuronales Aprenden

Esta sección explora cómo las redes neuronales ajustan los pesos de las entradas para aprender patrones, como en una compuerta lógica OR. Se introduce la idea de modificar los pesos en cada iteración según el error producido entre la salida real y la esperada. A medida que el modelo ajusta estos pesos, mejora su precisión y se adapta mejor al problema que se está resolviendo, aprendiendo con el tiempo. Se menciona el uso de perceptrones multicapa, que conectan múltiples neuronas entre sí para mejorar la capacidad de aprendizaje, y cómo este modelo permite entrenar funciones más complejas.

10:03

🔢 Minimización de Errores y Función de Coste

Aquí se aborda cómo se minimizan los errores en una red neuronal usando una función de coste que calcula la diferencia entre la salida real y la esperada. Se explica que el objetivo es minimizar esta función moviendo los pesos hacia una dirección que reduzca el error. Se introduce la noción de gradiente y cómo, al calcular el gradiente de la función de coste, se puede ajustar la red neuronal para mejorar su desempeño. Este proceso se compara con una pelota que se desplaza por una pendiente hacia el punto más bajo, representando el error mínimo.

Mindmap

Keywords

💡Red neuronal

Una red neuronal es un modelo matemático inspirado en las neuronas biológicas que busca replicar cómo funciona el cerebro humano para resolver problemas complejos. En el video se explica que una red neuronal consta de entradas, pesos y salidas, y que puede 'aprender' ajustando estos pesos en base a la salida que desea obtener.

💡Perceptrón

El perceptrón es el modelo más básico de red neuronal, compuesto por una sola capa de neuronas con múltiples entradas y una salida. En el video, se describe como un 'artefacto de decisión' que puede aprender a clasificar datos ajustando sus pesos en función de la entrada y la salida esperada.

💡Pesos

Los pesos en una red neuronal son números que determinan la importancia de cada entrada en el cálculo de la salida. El video los presenta como los 'controles' que permiten modificar la salida de la red para obtener resultados diferentes, y su ajuste es fundamental en el proceso de aprendizaje.

💡Función de activación

La función de activación define cómo una neurona convierte la suma ponderada de sus entradas en una salida. En el video se menciona la función sigmoide, que suaviza el cambio brusco entre los valores 0 y 1, permitiendo que la salida sea más precisa al estar entre estos valores.

💡Umbral

El umbral es el valor que determina si una neurona se activa o no. En el perceptrón simple, si la suma de las entradas ponderadas supera el umbral, la salida es 1, de lo contrario es 0. El video usa el ejemplo de un 'like' en un video para ilustrar cómo funciona el umbral en la toma de decisiones.

💡Función de coste

La función de coste mide qué tan bien la salida de la red neuronal se ajusta a la salida esperada. El objetivo es minimizar esta función para que la red aprenda correctamente. El video explica que se calcula como la media de los errores, y que al reducir el error, la red mejora su desempeño.

💡Gradiente

El gradiente es una herramienta matemática que indica la dirección de mayor incremento de una función. En el contexto del aprendizaje en redes neuronales, el gradiente se utiliza para ajustar los pesos en la dirección opuesta para minimizar la función de coste, lo que se conoce como descenso de gradiente.

💡Aprendizaje

El aprendizaje en redes neuronales es el proceso mediante el cual la red ajusta sus pesos para minimizar el error en la salida. El video describe cómo las redes pueden aprender patrones lógicos, como el operador OR, modificando sus pesos con base en el error entre la salida esperada y la real.

💡Perceptrón multicapa

El perceptrón multicapa es una extensión del perceptrón simple que incluye varias capas de neuronas. Esto permite a la red neuronal resolver problemas más complejos. En el video se menciona cómo cada neurona en una capa comparte su salida con todas las neuronas de la siguiente capa, creando una estructura interconectada.

💡Función sigmoide

La función sigmoide es un tipo de función de activación que convierte la salida de una neurona en un valor entre 0 y 1, lo que suaviza el impacto de pequeños cambios en las entradas. El video explica cómo esta función permite que el perceptrón multicapa tenga una mayor precisión en la salida.

Highlights

Las primeras ideas sobre redes neuronales fueron propuestas en los años 50, inspiradas por trabajos anteriores de Warren McCulloch y Walter Pitts.

Frank Rosenblatt creó el modelo de perceptrón, basado en neuronas biológicas, que se considera una de las primeras redes neuronales artificiales.

El perceptrón simple tiene entradas, cada una con un peso, y una única salida. La salida depende de si la suma ponderada de las entradas supera un umbral determinado.

El perceptrón puede utilizarse como un modelo de toma de decisiones basado en evidencia, como en el ejemplo de darle 'like' a un video basado en tres factores: calidad, duración y colores.

Los algoritmos permiten modificar los pesos del perceptrón para ajustar los resultados y mejorar la precisión, un proceso que se denomina 'aprendizaje'.

El modelo del perceptrón simple es limitado, ya que solo puede resolver problemas lineales. Esto dio lugar a la creación del perceptrón multicapa.

El perceptrón multicapa incluye varias capas de neuronas conectadas entre sí, donde cada capa toma la salida de la anterior como entrada.

Las neuronas en el perceptrón multicapa utilizan una función sigmoide para suavizar el impacto de pequeñas variaciones, mejorando la precisión del modelo.

El entrenamiento de redes neuronales implica minimizar una función de coste, que mide qué tan cerca está la salida obtenida de la esperada.

El gradiente de la función de coste se usa para ajustar los pesos en las redes neuronales y minimizar el error durante el proceso de aprendizaje.

Se utiliza un método llamado 'descenso de gradiente' para ajustar los pesos moviéndose en la dirección inversa al gradiente, minimizando así el error.

Las redes neuronales pueden entrenarse para aprender funciones complejas, como la de x^3 - x, ajustando sus pesos tras múltiples iteraciones.

El objetivo del entrenamiento es minimizar la función de coste, que a su vez reduce el error en las predicciones de la red neuronal.

El modelo multicapa permite aprender patrones no lineales, algo que el perceptrón simple no puede hacer.

A medida que la red neuronal se entrena más, su precisión mejora y se aproxima mejor a la función esperada, como se muestra en ejemplos gráficos.

Transcripts

play00:06

[Música]

play00:08

The Final

play00:13

[Música]

play00:18

[Música]

play00:26

todos conocemos lo que últimamente ha

play00:29

supuesto esta nueva tecnologia pero muy

play00:31

pocos saben que todo esto comenzó en los

play00:33

50 las primeras ideas creadas por Frank

play00:36

Rose inspirado por trabajos anteriores

play00:38

de Warren MC cuyo can Walter Pitt se

play00:41

basan en un tipo de red neurland

play00:42

artificial llamada percepttran un modelo

play00:44

basado en neuronas biológicas

play00:47

pero que es una red neuronal

play00:49

para entender la idea detrás de las

play00:52

redes neuronales vamos a ver el

play00:54

siguiente ejemplo supongamos que tenemos

play00:56

una caja y esta tiene una serie de

play00:59

entradas y una serie de salidas como

play01:02

pueden ver el lado izquierdo y en el

play01:03

lado derecho por la parte de las

play01:05

entradas le podemos introducir cualquier

play01:07

número y esta nos va a devolver otro

play01:11

numeritos en este caso que le

play01:13

introducimos tres números y nos saca

play01:14

otros tres números sin embargo esta caja

play01:17

es peculiar ya que cuenta con una serie

play01:19

de controles en el centro que nos

play01:21

permiten modificar la salida Según como

play01:25

los acomodemos obtendremos resultados

play01:27

distintos como podemos ver aquí lo

play01:29

giramos y en la salida aparecen números

play01:31

totalmente distintos a los anteriores Y

play01:34

gracias a esta peculiaridad podemos

play01:36

hacer que la caja devuelva el valor que

play01:38

queramos sólo haría falta saber cómo

play01:40

mover los controles

play01:43

de hecho estas fueron algunas de las

play01:45

primeras ideas que surgieron sobre el

play01:47

tema rosen Black por su parte propuso el

play01:49

siguiente modelo mucho más simplificado

play01:51

donde ahora cambiamos las cajas por

play01:53

flechita y circulita la flecha de la

play01:56

izquierda son las entradas o los inputs

play01:58

que vamos a anotar por x y o en este

play02:00

caso x1 x2 X3 y la parte de la derecha

play02:03

representan las salidas o el output Este

play02:06

modelo vamos a denotar al circulito azul

play02:10

como neurona que se caracteriza por

play02:13

tener una única salida y distintas

play02:15

entradas en este caso y tres entradas y

play02:17

una única salida y a este conjunto lo

play02:20

vamos a llamar percepción simple

play02:22

rosembrad planteó también una forma para

play02:25

calcular la salida pero para eso

play02:28

introduce omegas es decir numeritos

play02:31

reales llamados pesos que de alguna

play02:33

forma representan la importancia que

play02:35

tiene cada entrada a la hora de producir

play02:38

la salida esperada de ahí el nombre de

play02:40

peso la salida puede tomar los valores

play02:43

de 10 dependiendo si la suma del

play02:46

producto de pesos y entradas supera un

play02:48

umbral como podemos ver en esta

play02:50

formulita de aquí

play02:52

[Música]

play02:54

también se puede escribir esta misma

play02:58

fórmula de la siguiente forma en donde

play03:00

se añade un más b y el B representa o

play03:04

denota el menos el umbral Y si ese es el

play03:09

funcionamiento básico del perceptrón una

play03:12

forma de pensar Este modelo es como un

play03:15

artefacto de decisión basado en

play03:17

evidencia supongamos que hay que decidir

play03:19

si darle like a este video no por

play03:21

ejemplo like Es un 1 no darle like Es un

play03:24

cero para eso tenemos en cuenta tres

play03:27

variables calidad del contenido duración

play03:29

del contenido y los colores utilizados

play03:31

que los vamos a ordenar de esta forma la

play03:33

calidad es más importante que la

play03:35

duración y la duración a su vez más

play03:37

importante que los colores Sabiendo esto

play03:40

a cada una de las entradas las denotamos

play03:42

por un grado de relevancia del 1 al 10 a

play03:45

la calidad Vamos a ponerle un 8 porque

play03:46

es lo más importante la duración un 3 y

play03:49

los colores un 3 entonces tomamos un

play03:51

vídeo al azar y a la calidad del

play03:54

contenido lo valorar con un número del 1

play03:56

al 10 por ejemplo un 8 a la duración con

play03:58

un 1 indicando que es inferior a 10

play04:00

minutos en caso contrario el video te es

play04:03

pesado y pondríamos un cero y a los

play04:06

colores con un uno indicando que no te

play04:08

rompió los ojos y cero en caso contrario

play04:10

en este caso le ponemos un uno y

play04:13

decidimos que a todo video que supere un

play04:15

valor de 60 le darás like Entonces el

play04:18

umbral es 60 y si hacemos los cálculos

play04:20

te sale que para este esta misma entrada

play04:23

tenemos un valor de 70 por lo tanto esto

play04:26

significa que le tendrás que dar like al

play04:28

vídeo

play04:31

pero que tiene de especial esto por qué

play04:34

se dice que las redes neuronales

play04:36

aprenden

play04:37

porque resulta que existen algoritmos

play04:40

para modificar los pesos o como

play04:42

anteriormente lo dijimos para mover los

play04:43

controles dentro de la caja según la

play04:45

salida que queramos por ejemplo

play04:47

supongamos que tenemos esa tabla que es

play04:50

una compuerta lógica ord y queremos que

play04:52

cada vez que se pasen las entradas el

play04:54

perceptrón de perceptrón devuelva la

play04:56

correspondiente salida en este caso

play04:58

tendríamos un perceptrón simple de dos

play05:01

entradas a y b y la salida q cada uno

play05:04

con su peso correspondiente

play05:06

para que nos devuelva las salidas

play05:08

esperada que queremos en cada caso según

play05:11

las entradas hay que modificar los pesos

play05:13

de una forma determinada Y entonces así

play05:15

decimos que el sistema aprende el patrón

play05:18

el patrón or

play05:20

rosemblack también propuso una forma de

play05:22

calcular esto que es la siguiente como

play05:26

podemos ver la modificación del peso es

play05:30

equivale al peso que había antes que es

play05:32

el que causa error más su entrada

play05:34

correspondiente por el error a que Delta

play05:37

es la salida esperada y output como la

play05:40

salida real que emite el perceptrón

play05:43

entonces lo que va a hacer es ajustar

play05:45

cada uno de los pesos que hay en la red

play05:48

neuronal Y a medida que van pasando las

play05:50

iteraciones el modelo se ajusta cada vez

play05:52

mejor Y aprende cada vez mejor y tiene

play05:55

menos errores esto lo podemos ver en un

play05:58

ejemplo de código en python como Tenemos

play05:59

aquí

play06:03

el perceptrón simple Tiene un gran

play06:05

problema y es que es muy limitada

play06:10

por ese mismo motivo surgen Este modelo

play06:14

que como podemos ver Es un conjunto de

play06:17

percepciones en donde cada capa contiene

play06:20

un número de neuronas o percepciones y

play06:23

todas las neuronas de una capa tienen

play06:25

como entrada la salida de cada una de

play06:27

las neuronas de la capa anterior es

play06:30

decir cada neurona comparte su salida

play06:32

con todas las neuronas de la capa

play06:33

siguiente por lo tanto dos capas

play06:35

adyacentes están conectadas entre sí

play06:38

cada una cada neurona con todas las de

play06:40

la siguiente y a este modelo lo vamos a

play06:43

llamar perceptrón multicapa Pero además

play06:46

estos tienen una nueva característica y

play06:49

que cada percepción está formado por una

play06:52

neurona sigmoide no es un percepción

play06:54

simple sino que es un perceptrón

play06:56

sigmoide y funciona Exactamente igual

play06:59

que el anterior tenemos las mismas

play07:01

entradas y una salida igual con sus

play07:04

pesos lo que pasa es que esta le aplica

play07:07

una función a la salida del perceptor

play07:11

simple si el percepción simple produce

play07:13

una salida pero la neurona sigmoide le

play07:16

aplica una función

play07:18

esto lo que hace Entonces será cambiar

play07:21

el output a un número real entre 0 y 1

play07:26

y a la función la vamos a definir de la

play07:29

siguiente forma que es la función

play07:30

sigmoide que se ve tal que así Y por qué

play07:34

hacemos Esto bueno vamos a ver cómo se

play07:36

ve la otra función que es la función de

play07:39

paso que es lo que hace la neurona

play07:41

simple como podemos ver hay un cambio

play07:43

muy brusco del 0 al 1 entonces Nuestro

play07:46

objetivo al poner esta función es

play07:49

intentar de suavizar ese impacto que

play07:51

tiene cerca del origen para minimizar

play07:55

los casos caóticos Es decir para no

play07:57

tener pequeñas variaciones en los pesos

play08:00

y que la salida sea un valor totalmente

play08:02

distinto entre 0 y 1 con esto lo que

play08:05

hacemos Es tener más precisión en la

play08:08

salida

play08:08

[Música]

play08:10

vamos a entrenarla para que aprenda una

play08:13

función por ejemplo x elevado a 3 - x Es

play08:16

decir para que dibuje esa función en el

play08:18

plano si le metemos un uno Esperamos que

play08:20

la red neuronal devuelva un 0 ya que es

play08:23

la función evaluada en uno sí Entonces

play08:25

vamos a entrenar este mismo modelo que

play08:27

hemos recibido un percepción multicapa

play08:29

en este caso a la salida la vamos a

play08:32

visualizar como un vector Aunque en este

play08:34

caso como hay una salida no es necesario

play08:36

pero en otros modelos hay distintas

play08:40

salidas y varias salidas Entonces es

play08:42

útil verlas de esta forma en primer

play08:45

lugar es común definir una función

play08:47

objetivo o de coste para cuantificar que

play08:50

también la salida obtenida se acerca la

play08:53

esperada y la vamos a definir de la

play08:55

siguiente forma y si se dan cuenta es la

play08:57

media de la diferencia entre la salida

play08:59

esperada y la obtenida para cada entrada

play09:02

es decir la media de los errores por

play09:05

cada entrada y salida y la multiplicamos

play09:08

por un medio para simplificar los

play09:10

cálculos más tarde pero eso ya lo

play09:13

entenderemos después

play09:15

si se dan cuenta Esta función cuadrática

play09:18

objetivo función de costes siempre es

play09:20

mejor a cero y se aproxima cero cuando

play09:23

la salida real tiende a o sea el output

play09:27

tiende a las salidas esperada para cada

play09:30

entrada Entonces qué queremos hacer

play09:32

queremos encontrar un conjunto de omegas

play09:35

y b que minimicen la función y entonces

play09:38

Cómo podemos hacer esto aquí vemos

play09:41

visualizado cómo sería lo que queremos

play09:43

hacer queremos que la distancia entre la

play09:45

salida obtenida y la esperada sea lo

play09:47

mínimo posible Así diríamos que el

play09:49

sistema aprende

play09:52

entonces para hacerlo lo que vamos a la

play09:56

idea que vamos a tener es minimizar la

play09:58

función de coste pero como vimos recién

play10:00

depende de mucha variables Entonces el

play10:03

cálculo no lo podemos utilizar entonces

play10:05

imaginemos que empezamos en un punto al

play10:08

azar y justo ahí hay una pelota lo vamos

play10:10

a ver en r3 por para ser más simple

play10:13

Entonces si tenemos una pelota en un

play10:17

punto de r3 sobre la Gráfica que tenemos

play10:20

ahí Hacia dónde se va a desplazar

play10:22

obviamente hacia abajo por la pendiente

play10:25

tal vez podríamos utilizar esta idea

play10:27

para encontrar un mínimo de la función

play10:29

no entonces veamos los con más

play10:32

detenimiento Qué pasa si movemos la

play10:35

pelota una pequeña cantidad en una

play10:36

dirección determinada bueno Esto

play10:40

recurriendo el cálculo sería la derivada

play10:42

direccional que si recordamos se define

play10:45

como el siguiente Límite

play10:47

y además si F es diferenciable lo

play10:50

podemos definir de la siguiente forma a

play10:53

que existen sus derivadas parciales

play10:55

donde recordemos Claro que la derivada

play10:59

direccional es con respecto a un vector

play11:00

unitario

play11:02

Entonces esto recordemos que se puede

play11:06

volver a reescribir como un producto

play11:08

escalar de El vector u por el gradiente

play11:11

de F donde el gradiente DF lo vamos a

play11:14

definir como el vector de derivadas

play11:17

parciales

play11:19

entonces volviendo ahora a la función de

play11:22

coste y generalizando para todas

play11:23

nuestras variables lo podemos escribir

play11:25

de la siguiente forma recordemos que

play11:27

esto es válido porque la función de

play11:28

coste es diferenciable entonces podemos

play11:30

hacer esto Y definir el gradiente de la

play11:33

función de coste de la siguiente forma

play11:36

y si se dan cuenta y recordamos de

play11:38

cálculo que el gradiente de la función

play11:41

indica la dirección de Máximo

play11:44

crecimiento de c y esto es muy fácil de

play11:46

demostrar ya que como definimos a la

play11:50

derivada direccional como un producto

play11:51

escalar Bueno lo reescribimos así

play11:53

también lo podemos reescribir como la

play11:56

norma de F por la norma u por el coseno

play11:58

del ángulo que forman la norma de u es 1

play12:01

entonces la función será máxima siempre

play12:04

y cuando el coseno de tita sea 1 y

play12:07

mínima cuando el coseno de tita sea

play12:10

-1 entonces nos tenemos que desplazar en

play12:14

la dirección inversa al gradiente y

play12:16

bueno cómo hacemos esto Bueno podemos

play12:19

definir un vector que lo que haga es

play12:22

multiplicar el gradiente de la función

play12:24

de coste por algún numerito real inverso

play12:27

y resulta que esto es totalmente válido

play12:30

a que podemos seleccionar cualquier

play12:33

punto por ejemplo comenzamos en el X

play12:36

y el siguiente punto lo que hará es

play12:39

desplazarse a en el sentido inverso el

play12:42

gradiente por ejemplo x1 lo vamos a

play12:44

definir como el punto anterior

play12:47

desplazado en la dirección inversa de

play12:49

gradiente Y esto es lo que estamos

play12:51

haciendo con el ejemplo de la pelota si

play12:54

se dan cuenta nos estamos desplazando

play12:56

hacia abajo

play13:00

y esto lo podemos demostrar fácilmente a

play13:03

que bueno vamos a sustituir el vector en

play13:06

la definición y si se dan cuenta nos

play13:10

queda que

play13:11

la derivada direccional es el menos el

play13:15

numerito que habíamos elegido por la

play13:17

norma del gradiente de Sep y el

play13:20

gradiente de c siempre es un número

play13:22

positivo por lo tanto la expresión final

play13:24

siempre es negativa con lo que siempre

play13:26

estaremos desplazándonos hacia abajo

play13:28

estaremos minimizando la función eso

play13:31

Tiene ciertas limitaciones a que no

play13:34

vamos a encontrar siempre un mínimo

play13:35

global sino que mínimo locales pero nos

play13:40

garantiza y nos ayuda un poco para

play13:42

minimizar el error de la red neuronal

play13:45

Entonces generalizando los pesos los

play13:47

podemos reescribir de la siguiente forma

play13:49

[Música]

play13:54

Este es un ejemplo de red neuronal que

play13:56

aprende la función de X elevado a tres

play13:58

menos x la función roja es lo que dibuja

play14:01

la red neuronal la azul es la función

play14:05

esperada a medida que pasan las

play14:08

iteraciones el sistema aprende y la

play14:09

dibuja mejor

play14:11

[Música]

play14:21

Pero qué pasa con el gradiente de c Cómo

play14:25

se calcula

play14:27

eso ya es más complicado y digno de otro

play14:30

video

play14:30

[Música]

Rate This

5.0 / 5 (0 votes)

Related Tags
Redes neuronalesPerceptrónAprendizaje automáticoAlgoritmosInteligencia artificialNeurona sigmoideFunción de costeModelos multicapaCálculo gradienteErrores en redes
Do you need a summary in English?