elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Una red neuronal es como un grafo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Una red neuronal es como un grafo?  (Leído 1,926 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.220


Superhacker (es broma xD )


Ver Perfil
¿Una red neuronal es como un grafo?
« en: 26 Enero 2024, 10:59 am »

GPT:
Citar
Sí, una red neuronal se puede representar como un grafo. En la teoría de grafos, un grafo es una estructura compuesta por nodos (también llamados vértices) y aristas (también llamadas bordes) que conectan los nodos. Las redes neuronales también se pueden representar como un grafo, donde los nodos representan las neuronas artificiales y las aristas representan las conexiones entre estas neuronas.

En una red neuronal, los nodos se organizan en capas, como la capa de entrada, capas ocultas y la capa de salida. Cada nodo en una capa está conectado a todos los nodos de la capa siguiente mediante aristas ponderadas. Estas aristas representan los pesos sinápticos, que determinan la fuerza y la dirección de la señal transmitida entre las neuronas.

La representación de una red neuronal como un grafo permite visualizar y comprender la estructura y las conexiones entre las neuronas. Además, los algoritmos de aprendizaje utilizados en las redes neuronales, como el algoritmo de retropropagación, se basan en la propagación de información a través de este grafo para ajustar los pesos sinápticos y mejorar el rendimiento de la red neuronal en tareas específicas.

Si el programa puede hacer crecer la cantidad de nodos, entonces me gusta la idea.

Las explicaciones que he visto respecto a qué es una red neuronal me han dejado siempre un mal sabor.

A GPT:
si hago un programa que averigue cómo es mejor actuar en ciertas situaciones y esa información se puede representar mediante un grafo ¿es una red neuronal?

Citar
No necesariamente. Si bien una red neuronal puede utilizarse para aprender y tomar decisiones en función de ciertas situaciones, la representación de la información mediante un grafo no implica automáticamente que estemos hablando de una red neuronal.

Un grafo puede utilizarse para representar cualquier tipo de estructura de datos o relaciones entre elementos. En tu caso, si estás desarrollando un programa que busca determinar la mejor acción en ciertas situaciones y esa información se puede representar mediante un grafo, es posible que estés utilizando un enfoque basado en grafos para resolver el problema. Esto implica que estás utilizando la estructura de grafo para modelar las relaciones y tomar decisiones.

Por otro lado, una red neuronal es un tipo específico de modelo de aprendizaje automático inspirado en el funcionamiento del cerebro. Consiste en una serie de capas de neuronas interconectadas, donde cada conexión tiene un peso asociado. La red neuronal utiliza algoritmos de aprendizaje para ajustar los pesos de las conexiones y aprender a tomar decisiones o hacer predicciones a partir de los datos de entrada.

En resumen, si estás utilizando un grafo para representar información y tomar decisiones, no necesariamente estás utilizando una red neuronal. La red neuronal es solo uno de los muchos enfoques posibles para resolver problemas de aprendizaje automático o toma de decisiones basados en datos.

un programa que aprenda usando una red neuronal ¿hace que ella aumente de tamaño o sólo cambia pesos?

Citar
Cuando un programa aprende usando una red neuronal, normalmente se refiere a que los pesos sinápticos de la red neuronal se ajustan a través de un algoritmo de aprendizaje, como la retropropagación del error. Durante el proceso de entrenamiento, los pesos se actualizan para mejorar el rendimiento de la red neuronal en una tarea específica.

En este proceso de aprendizaje, la red neuronal no aumenta de tamaño en términos de la cantidad de neuronas o capas. La arquitectura de la red neuronal, es decir, el número de capas y la cantidad de neuronas en cada capa, se define previamente y se mantiene constante durante el entrenamiento.

Lo que cambia son los valores de los pesos sinápticos, que se ajustan iterativamente para minimizar una función de pérdida o error. Estos pesos determinan la fuerza y la dirección de las conexiones entre las neuronas y son fundamentales para el funcionamiento de la red neuronal.

En resumen, el aprendizaje en una red neuronal implica actualizar los pesos sinápticos para mejorar el rendimiento de la red, pero no implica un aumento en el tamaño de la red neuronal en términos de su estructura o número de neuronas.

Bue, si conocen buenos videos sobre el tema quisiera que me digan, a ver por qué esa técnica es tan buena.


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.357


Ver Perfil
Re: ¿Una red neuronal es como un grafo?
« Respuesta #1 en: 6 Febrero 2024, 15:24 pm »

Digamos que una red es un grafo fuertemente interconexo.

No obstante una red neuronal tiene una topología fija durante su funcionamiento, es deicr mientras se usa, no se añaden o eliminan nodos.... y sí, solo varían los pesos (solo durante el entrenamiento).

Típicamente se distribuye en capas, y cada capa puede tener un número de nodos prefijado.
La topología definiría cuántas capas tiene y cuandos nodos tiene cada capa.
Nota que cada nodo de una capa se conecta a cada nodo de la siguiente capa, y siempre hay una capa que además conecta con otra más atrás para la retrolimentación y corrección de pesos.

Si has visto alguna vez un esquema de una celda de memoria (por ejemplo un flip-flop o un biestable tipo D), que usan varias puerta lógicas... pués una red neuronal tiene principios similares pero a una escala enormemente mayor y además no suelen operan con un solo bit (ni puertas lógicas), a la unidad se le llama nodo y maneja valores de coma flotante (valores entre 0 y 1).

Sin embargo es una simplificación teórica, en la realidad una red neuronal puede ser bastante más compleja, ya que es habitual que haya diferentes redes cooperando como una única red. Al total se le llama red, porque sin una de sus partes no lograría los mismos resultados, estaría 'incompleta' para realizar su cometido.

...por ejemplo, las redes generativas de transformer, usan 3 arrays de pesos en cada capa (no solo una como es lo habitual en la teoría), definidas como: Query, Key y Value (Q,K,V).

Si te interesa el tema, te recomiendo que busques por 'Gúguel' el pdf "Attention is all your need", lo que no entiendas puedes preguntarle a ChatGPT (como es un documento del 2017 y ChatGPT en la versión free (3.5), tiene info actualizada hasta enero de 2022, sin duda conocerá dicho paper).


p.d.: Nota además que un grafo, se usa típicamente para su recorrido, ir del nodo X al nodo Y, o buscar info en un nodo, etc...

En una red neuronal, mientras funciona, todos los nodos de una capa deben operar su peso con el valor de entrada para producir una salida, y esto para cada capa.
...es decir carece de sentido 'ir de un nodo a otro' ni 'buscar un nodo con determinada info' (salvo que sea para estudiar o verificar el comportamiento de la propia red). Los nodos de una red, simplemente calculan, en tanto que los de un grafo suelen mantener un dato (o varios), fijos, y cuyo valor es independiente del resto...


« Última modificación: 6 Febrero 2024, 15:33 pm por Serapis » En línea

Armando11

Desconectado Desconectado

Mensajes: 3


Ver Perfil WWW
Re: ¿Una red neuronal es como un grafo?
« Respuesta #2 en: 6 Marzo 2024, 22:10 pm »

Nunca habia pensado que eso fuera como un grafo pero tienes muy buenos puntos para considerarlo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Red Neuronal (BackPropagation)
Programación C/C++
brians444 2 12,029 Último mensaje 26 Enero 2012, 14:31 pm
por brians444
Como Crear un Grafo en SvG?
Programación C/C++
gasparenaide 0 2,353 Último mensaje 9 Abril 2013, 06:10 am
por gasparenaide
red neuronal
Foro Libre
AndreaSol 2 1,640 Último mensaje 6 Noviembre 2019, 01:09 am
por Markks
Entrenamiento de red Neuronal
.NET (C#, VB.NET, ASP)
rigorvzla 1 2,522 Último mensaje 30 Mayo 2020, 01:32 am
por Emertech
¿Cómo logro que este programa genere un grafo de lo que hace?
Programación General
Tachikomaia 0 3,548 Último mensaje 2 Octubre 2023, 07:06 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines