¿Qué es una Red Neuronal? | Aprendizaje Profundo. Capítulo 1

3Blue1Brown Español www.youtube.com

Resumen Breve

Este video explora cómo el cerebro humano reconoce números a través del aprendizaje automático y las redes neuronales. Se enfoca en la estructura de una red neuronal que puede aprender a identificar dígitos escritos a mano, destacando cómo las neuronas están conectadas y funcionan en capas para procesar información y generar salidas.

  • Se introducen redes neuronales y su importancia actual y futura.
  • Se detalla la estructura de la red, incluyendo neuronas de entrada y salida, así como capas ocultas.

Introducción a las Redes Neuronales

El video comienza con ejemplos de cómo diferentes representaciones del número 3 pueden ser fácilmente reconocidas por el cerebro humano, subrayando la capacidad de identificación sin esfuerzo. Se plantea el reto de escribir un programa que evalúe estas representaciones a través de una red neuronal que reconozca dígitos del 0 al 9. El objetivo es mostrar la estructura detrás de una red neuronal y qué significa que una red "aprenda".

Estructura de una Red Neuronal

Se explica que una red neuronal comienza con una imagen de 28x28 píxeles, lo que equivale a 784 neuronas en la capa de entrada. Cada neurona almacena un número que representa la intensidad de cada píxel en una escala de grises. Se menciona la existencia de una capa de salida con 10 neuronas, correspondientes a cada dígito, y se minimizan las capas ocultas. La red ya entrenada puede procesar una imagen de entrada y generar un patrón de activaciones que indica qué número representa.

Conexiones y Activaciones

La red neuronal tiene dos capas ocultas con 16 neuronas cada una. Cada neurona en la capa oculta presenta conexiones a las neuronas de la capa de entrada, con cada conexión teniendo un peso asociado. Es fundamental entender cómo la activación de una capa influye en la siguiente y cómo se activa una neurona dependiendo de la suma ponderada de las activaciones.

Por Qué Funciona

Se explora el funcionamiento interno de las capas ocultas. La red busca patrones como bordes y formas que conforman dígitos. Esta estructura permite que la red identifique componentes cruciales, como la forma de un 9 o un 4, mediante la detección de bordes y patrones. Se menciona la expectativa sobre la funcionalidad de estas neuronas al aprender a partir de diferentes patrones de entrada.

Funciones de Activación y Pesos

Para que se active una neurona, se suman los pesos asignados a sus conexiones. Si la suma supera un umbral, la neurona se activa y produce un valor entre 0 y 1 a través de la función sigmoide. El video explica cómo se estructuran estos pesos y sesgos, siendo esencial tanto para el aprendizaje como para hacer que la red funcione de manera efectiva.

Representación Compacta y Comprensión

Se discute cómo representar matemáticamente las conexiones entre neuronas, usando notación de matrices y vectores. La red puede ser vista como una función matemática, tomando 784 entradas y generando 10 salidas a través de múltiples parámetros. La complejidad de esta función refleja la capacidad de la red para reconocer patrones y aprender de los datos.

Opiniones sobre Funciones Modernas

Lisa Lee, especialista en aprendizaje profundo, menciona que, aunque la función sigmoide fue común en las primeras redes neuronales, muchas redes modernas han cambiado a funciones como la ReLU (unidad lineal rectificada) por su eficacia en entrenamientos profundos. Se presenta el desafío y las ventajas del uso de diversas funciones de activación en las redes neuronales contemporáneas.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the App Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 [Música] este es un 3 que está escrito de manera descuidada y renderizado en una resolución extremadamente baja de 28 por 28 píxeles pero tu cerebro no tiene problemas reconociéndolo como un 3 quiero que te tomes un momento para pensar en cuan loco es que el cerebro humano pueda hacer esto sin esfuerzo lo que digo es que este este y este son también reconocibles como 3 incluso si el valor de cada pixel es muy diferente de una imagen a la otra las células fotosensibles en específico que se están disparando en tu ojo cuando ves este tres son muy diferentes de las que se disparan cuando ves este tres pero algo dentro de esa loca e inteligente corteza visual tuya identifica que éstos representan la misma idea mientras que al mismo tiempo

0:47 reconoce otras imágenes como ideas propias y distintas pero qué pasa si te digo y siéntate y escribe un programa que tome una rejilla de 28 por 28 píxeles como esta y arroje un número en particular entre 0 y 9 diciendo cuál número piensa que es bueno la tarea pasa de loco micamente fácil hasta lo intimidante mente difícil a menos que vivas en una cueva creo que en realidad no necesito motivar la relevancia e importancia del aprendizaje automático o aprendizaje de máquinas y las redes neuronales tanto en el presente como en el futuro así que lo que quiero hacer aquí es mostrarte qué es realmente una red neuronal sin asumir conocimientos previos y ayudarte a visualizar cómo funciona entendiendo la red neuronal como una pieza matemática

1:34 mi esperanza es que sientas que esta estructura en sí es inspiradora y que tengas la sensación de que sabes a qué se refieren en realidad cuando lees o escuchas que una red neuronal entre comillas aprende este vídeo será dedicado a la parte de la estructura y el siguiente abordará la parte del aprendizaje lo que vamos a hacer es analizar una red neuronal que puede aprender a reconocer dígitos escritos a mano este es en cierto modo un ejemplo clásico para empezar a abordar el tema y me da gusto a pegarme al status quo porque al final de los vídeos quiero que veas algunos buenos enlaces donde puedes aprender más descargar el código que hace esto y jugar con él en tu computadora hay muchas muchas variantes de una red neuronal y en años recientes ha habido una especie de apogeo en las

2:20 investigaciones sobre estas variantes pero en estos dos vídeos introductorios tú y yo solo vamos a ver la forma simple y ordinaria sin consideraciones añadidas pues esto es algo así como un requisito para entender cualquiera de las variantes modernas más poderosas y créeme aún así de esta forma está llena de complejidad y merece la pena darle vueltas en nuestra mente y es que incluso en esta forma simple la red puede aprender a reconocer dígitos escritos a mano lo cual es una cosa muy genial para que una computadora sea capaz de realizar y al mismo tiempo verás cómo se queda corta en algunos detalles que esperaríamos que pudiera cumplir como el nombre sugiere las redes neuronales están inspiradas por el cerebro pero examinemos eso en partes más pequeños qué son las neuronas y en qué sentido están conectadas entre sí

3:06 cuando digo neurona en todo lo que quiero que pienses es en una cosa que almacena un número específicamente un número entre 0 y 1 nada más que eso por ejemplo la red empieza con un montón de neuronas correspondientes a cada uno de los 8 x 28 píxeles de la imagen de entrada lo cual es 784 neuronas en total cada una de estas alberga un número que representa un valor en la escala de grises del correspondiente píxel oscilando en un rango desde cero para píxeles negros hasta 1 para píxeles blancos este número dentro de la neurona se conoce como su activación y la imagen que debes tener es que cada neurona es iluminada cuando su activación es un número alto de modo que todas estas 784

3:53 neuronas forman la primera capa de nuestra red ahora saltando a la última capa esta tiene 10 neuronas cada una representando uno de los dígitos la activación en estas neuronas es de nuevo un número entre 0 y 1 que representa que tanto el sistema cree que una imagen dada corresponde a un dígito dado también hay un par de capas en medio llamadas las capas ocultas que por ahora las dejaremos como una gran interrogante para indicar como rayos será posible que este proceso de reconocer dígitos vaya a ser factible en esta red escogí dos capas ocultas cada una con 16 neuronas y admito que ese es una elección aleatoria

4:39 para ser honesto escogí dos capas basándome en la forma en la que quiero presentarte la estructura más adelante y 16 bueno esa fue una buena cantidad para colocar en la pantalla en la práctica hay mucho espacio para experimentar con una estructura específica la manera en la que la red trabaja con las activaciones en una capa determina las activaciones en la siguiente capa y por supuesto la esencia de la red como un mecanismo que procesa información se reduce a como exactamente es que repercute en las activaciones de una capa en las activaciones de la siguiente capa en esto hay una ligera analogía con una red biológica de neuronas un grupo de neuronas activando se provoca que otras se activan ahora bien la red que

5:24 muestra aquí ya ha sido entrenada para reconocer dígitos y permíteme explicarte lo que quiero decir con eso significa que si pones una imagen y activas cada una de las 784 neuronas de la capa de entrada de acuerdo al brillo de cada pixel en la imagen ese patrón de activación causa un patrón específico en la siguiente capa el cual causa un patrón en la siguiente que finalmente da un patrón en la capa de salida y la neurona más iluminada de esa capa de salida es la digamos elección de la red para decir qué números representa la imagen y antes de entrar en la parte matemática para entender cómo una capa influye a la siguiente o cómo funciona el entrenamiento hablemos de por qué siquiera tiene sentido espera y una

6:10 estructura de capas como ésta puede comportarse de forma inteligente que es lo que esperamos que ocurra cuál es nuestra mejor suposición de lo que podrían estar haciendo a esas capas de enmedio bueno cuando tú o yo reconocemos dígitos lo que hacemos es juntar varios componentes un 9 en la parte superior tiene una forma circular un aro o bucle y del lado derecho tiene una línea recta 18 también tiene un bucle arriba pero también tiene un bucle en la parte de abajo un 4 básicamente se descompone en tres líneas específicas y cosas así ahora en un mundo perfecto podríamos esperar que cada neurona en la penúltima capa se correspondiera con uno de estos sub componentes que cada vez que pones

6:56 una imagen digamos con un bucle arriba como en un 9 o en un 8 hubiera alguna neurona específica cuya activación fuera cercana a uno y no me refiero a este bucle de píxeles en específico sino que la expectativa sería que cualquier patrón semi ovalado posicionado más o menos arriba pusiera en marcha esta neurona de esa manera ir de la tercera capa a la última sólo requeriría aprender qué combinación de sus componentes corresponde a cuál dígito [Música] por supuesto eso no resuelve nuestro problema porque faltaría saber cómo podrá identificar los subcomponentes o incluso aprender cuáles deberían de ser los subcomponentes y todavía ni siquiera he mencionado cómo influye una capa en

7:42 la siguiente pero sigue conmigo en esto por un momento identificar un bucle puede dividirse en sus problemas una manera razonable de hacer esto sería primero reconociendo los pequeños bordes distintos que lo forman similarmente una línea larga como la que podrás ver en el dígito uno o cuatro o siete en realidad es sólo un borde largo o podrías considerarlo como un cierto patrón de bordes pequeños así que quizás la expectativa sería que cada neurona de la segunda capa de la red corresponda con los relevantes y diversos bordes pequeños quizás cuando una imagen como ésta aparezca active todas las neuronas asociadas con unos de 8 a 10 bordes pequeños específicos que a su vez después activen las neuronas asociadas

8:28 con el bucle superior y una larga línea vertical y que esas neuronas activan la neurona asociada con el 9 si es esto o no lo que nuestra red final haga en realidad es otra pregunta a la cual regresaré a una vez que veamos cómo entrenar a la red pero esta es una expectativa que podríamos tener un tipo de meta con una estructura de capas como ésta por otra parte puedes imaginar cómo el ser capaz de detectar bordes y patrones como estos sería realmente útil para otras tareas de reconocimiento de imágenes e incluso más allá del reconocimiento de imágenes hay todo tipo de cosas interesantes que podrías considerar hacer que se pueden dividir en capas de abstracción el análisis gramatical del habla por ejemplo involucra tomar un audio sin procesar y recolectar distintos sonidos que combinados forman ciertas sílabas que

9:15 combinados forman palabras que combinados hacen oraciones y que juntas forman pensamientos más abstractos etcétera pero regresemos a entender cómo funciona esto visualízate a ti diseñando la forma en la que la activación en una capa debería determinar la activación en la siguiente el objetivo es tener algún mecanismo que pudiera de algún modo combinar píxeles en bordes o bordes en patrones o patrones en dígitos y para ver de cerca un ejemplo muy específico digamos que lo que esperamos que haga una neurona en particular de la segunda capa es detectar ya sea si la imagen tiene un borde en esta región de aquí o no la pregunta que surge es qué parámetros debería tener la red qué botones y perillas deberías poder maniobrar en la red para que

10:00 potencialmente capturen este patrón o cualquier otro patrón de píxeles o el patrón de varios bordes que pueden hacer un bucle y otras cosas similares bien lo que haremos será asignar un peso a cada una de las conexiones entre nuestra neurona y las neuronas de la primera capa estos pesos son sólo números luego toma todas esas activaciones de la primera capa y calcula la suma ponderada de acuerdo con estos pesos personalmente me parece útil pensar en estos pesos como si estuvieran organizados en una pequeña cuadrícula exclusiva para ellos usaré píxeles verdes para indicar los pesos positivos y píxeles rojos para indicar pesos negativos y la luminosidad de cada pixel es una baja descripción

10:46 del del peso ahora si hiciéramos que los pesos asociados con casi todos los píxeles fueran 0 es cierto para algunos pesos positivos en esta región que nos interesa entonces tomar la suma ponderada de todos los valores de los píxeles en realidad sería igual a simplemente sumar los valores de cada pixel que se encuentra en la región que nos interesa y si en verdad quisieras detectar si hay un borde o no lo que podrías hacer es tener algunos pesos negativos asociados a los píxeles alrededor por lo tanto la suma será máxima cuando esos píxeles de enmedio estén muy iluminados y los píxeles alrededor estén muy oscuros cuando evalúas una suma ponderada como ésta podrías tener como resultado cualquier número pero para esta red lo que

11:32 queremos son activaciones que tengan algún valor entre 0 y 1 por lo que una cosa que se hace comúnmente consiste en meter esta suma ponderada en una función que comparte toda la recta de los números reales a un rango entre 0 y 1 y una conocida función que hace esto es la llamada función sigmoide también conocida como la curva logística básicamente los valores de entrada muy negativos terminan siendo cercanos a 0 y los valores muy positivos terminan cercanos a 1 además la función crece constantemente alrededor del valor de entrada a 0 así que la activación de la neurona en cuestión es básicamente una medida para saber qué tan positiva es la suma ponderada pero puede ser que tú no quieras que se ilumine la neurona cuando

12:17 la suma ponderada es mayor que 0 quizás solo quieras que esté activada cuando la suma ponderada sea mayor que digamos 10 es decir quieres un sesgo donde esté inactiva lo que haremos en este caso será simplemente sumar otro valor como menos 10 a esta suma o poner a antes de poner el valor dentro de la compact tante y aplastante función sigmoide ese número adicional es llamado el sesgo entonces los pesos te dicen qué patrón de píxeles se está captando esta neurona en la segunda capa y el sesgo te dice qué tan alta necesita hacer la suma para que la neurona empiece a activarse significativamente y eso es sólo para una neurona cualquier otra neurona en esta capa va a estar conectada a todos los 784 píxeles de la primera capa y

13:04 cada una de esas 784 conexiones tiene su propio peso asociado a ella también cada una tiene un sesgo el cual es otro número que también añades a la suma ponderada antes de compactar la con la función sigmoide y todo eso son muchas cosas a considerar con esta capa oculta de 16 neuronas nos da un total de 784 por 16 pesos junto con 16 sesgos y todo eso son solo las conexiones de la primera capa con la segunda las conexiones entre las otras capas también tienen un montón de pesos y sesgos asociados con ellas habiendo dicho todo eso esta red tiene casi exactamente 13.000 pesos y sesgos 13.000 botones y perillas que pueden ser girados y maniobra 2 para que esta red se comporte de diferentes maneras así que cuando

13:51 hablamos acerca del aprendizaje a lo que se refiere es hacer que la computadora encuentre una configuración válida para todos estos muchos muchos números de manera que la red pueda verdaderamente resolver este problema en cuestión un experimento mental que es a la vez divertido y terrorífico consiste en imaginar que te pones a definir a mano todos estos pesos y sesgos manipulando los números intencionalmente para que la segunda capa identifique bordes la tercera identifique patrones etcétera personalmente esto me parece algo satisfactorio más que simplemente leer la red como si fuera una caja negra de esta manera cuando la red no actúa en la forma que esperas si has construido esta relación entre pesos y sesgos y tienes una buena noción de lo que en realidad representan tienes un punto de partida para experimentar con la estructura para

14:38 mejorarla o cuando la red funciona pero no por las razones que esperabas indagar en lo que están haciendo los pesos y los sesgos es una buena manera para poner a prueba tus suposiciones iniciales y poner al descubierto el espacio completo de todas las posibles soluciones por cierto la verdadera función aquí es un poco incómoda de escribir no crees así que déjame enseñarte una anotación más compacta en la que se pueden representar estas conexiones así es como lo vería si eliges leer más de las redes neuronales organiza todas las activaciones de una capa en una columna como un vector luego organiza todos los pesos como una matriz donde cada fila de esa matriz corresponde a las conexiones entre una capa y una neurona en particular en la siguiente capa lo que eso quiere decir es que tomar las una ponderada de las

15:25 activaciones en la primera capa de acuerdo con estos pesos corresponde a uno de los términos del producto matriz vector de todo esto que tenemos a la izquierda por cierto gran parte del aprendizaje automático consiste en tener un buen entendimiento del álgebra lineal así que para los que quieren un entendimiento visual de las matrices y quieran saber qué significa la multiplicación de matrices y vectores echen un vistazo a la serie que hice de álgebra lineal especialmente el capítulo 3 regresando a nuestra expresión en vez de tener que sumar el sesgo a cada uno de estos valores de forma independiente lo representamos al organizar todos estos sesgos en un vector luego sumamos el vector completo al producto matriz vector anterior luego como paso final

16:11 ponemos todo en la función sigmoide de esta manera y lo que se supone que representa es que hay que aplicar la función signo idea cada componente en específico del vector resultante así que una vez que hayas escrito esta matriz de pesos y estos vectores mediante sus propios símbolos puedes comunicar toda la transición completa de activaciones desde una capa a la siguiente en una expresión muy reducida y ordenada y esto hace que la parte relevante del código sea mucho más simple y mucho más rápido ya que muchas librerías optimizan el infierno de la multi entre matrices recuerdas que al principio dije que estas neuronas son simplemente cosas que almacenan números bueno por supuesto los números específicos que almacenan dependen de la imagen que pones al inicio así que en realidad es más

16:57 preciso pensar en cada neurona como una función una que toma todas las salidas de todas las neuronas de la capa anterior y arroja un número entre 0 y 1 realmente la red completa es una función una que toma 784 números como entrada y arroja 10 números como salida es una función absurdamente complicada que involucra 13.000 parámetros en la forma de pesos y sesgos que identifican ciertos patrones y que requieren muchas iteraciones de productos de matrices y la compaq tante función sigmoide pero a pesar de todo es sólo una función y de cierta manera es alentador que se vea complicada lo que quiero decir es que si fuera más simple que esperanza tendríamos de que esté a la altura del reto de reconocer dígitos y como aborda

17:42 el reto como aprende esta red los apropiados pesos y sesgos sólo viendo los datos bien eso es lo que mostrar en él vídeo y también profundizar un poco más en lo que esta red en particular está realmente haciendo ahora es el momento donde debo decir suscríbete para estar notificado cuando algún nuevo vídeo esté disponible pero en realidad la mayoría de ustedes no reciben notificaciones de youtube o sí mejor debería decir suscriban para que las redes neuronales que forman la base del algoritmo que está detrás de las recomendaciones de youtube crea que quieres ver contenido de este canal y aparezca en tus recomendaciones de cualquier manera mantente al tanto para más información muchas gracias a todos los que ayudaron a través de page john para que el vídeo original en inglés fuera posible

18:30 para finalizar me acompaña lisa lee quien hizo su doctorado en el aspecto teórico del aprendizaje profundo quien ahora trabaja para amplified partners quienes amablemente apoyaron la versión en inglés de este vídeo así que lisa una cosa que deberíamos explicar es esta función sigmoide según la entiendo las primeras redes neuronales usaban la función para aplastar la suma ponderada para llevarla a un intervalo entre 0 y 1 ya sabes de cierta forma motivadas por este tipo de analogía biológica de las neuronas siendo activas o inactivas exacto pero relativamente pocas de las redes modernas siguen usando esta función sigmoide cierta es algo de la vieja escuela verdad cierto o más bien reloj es algo que parece ser más fácil

19:17 de entrenar y reluz significa unidad lineal rectificada por sus siglas en inglés si es ese tipo de función donde tomas un máximo entre 0 y un valor a donde a está dado por lo que explica en el vídeo y creo que esto fue de cierta forma motivado parcialmente por una analogía biológica de cómo las neuronas estarían o no activadas y si éstas pasan un cierto límite esta sería la función identidad pero si no simplemente no serían activadas y serían 0 así que es un tipo de simplificación usar sigmoides no ayudo en los entrenamientos o mejor dicho fue muy difícil en cierto punto y la gente mejor uso reloj y sucede que funciona muy bien para estas redes neuronales increíblemente profundas ok gracias lisa para su conocimiento

20:05 amplio y partners trabaja con expertos construyendo las próximas compañías que se enfocan en aplicaciones de la inteligencia artificial si tú o alguien ha pensado en iniciar una compañía algún día o si estás trabajando en una ahora a la gente de amplified le gustaría escucharte incluso designaron un correo específico para la versión original en inglés y el que ves en pantalla así que siéntete libre de escribirles a esa dirección [Música]

Share

YouTube Video Summaries