• Domingo 22 de Diciembre de 2024, 02:13

Autor Tema:  Mi Primer Script De Ia  (Leído 5099 veces)

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Mi Primer Script De Ia
« en: Sábado 13 de Agosto de 2005, 02:12 »
0
Hola, no hace mucho que estoy investigando sobre IA, digamos unas dos semanas más o menos y programé algo como esto, lo que necesitaría saber es... si realmente estoy hablando de IA.

Lo que hice fue lo siguiente:

Todo orientado a objetos, armé varios objetos con mcuhas funciones dentro (que llamo neuronas) éstas funciones devuelven en su mayoría true o false, estos objetos sólo cumplen con tareas matemáticas por ejemplo tengo una función que me devuelve true si su argumento es un número par, otra si es impar....

Bueno, cuando pongo en práctica esta estructura de objetos yo puedo decirle "Múltiplos de 6" y después de que le envío varios números que cumplen con esta característica, los objetos van encontrando las propiedades que tienen los números que le pasé y almacena los datos que le devuelven sus neuronas (funciones).

Eso sería la etapa de aprendizage, ahora bien, cuando yo quiero testear todo eso, le envío un número y lo compara con los datos almacenados, una vez hecho esto me dice si efectivamente es múltiplo de 6 o no.

Dado a que puedo poner una cantidad indefinida de neuronas, el mismo código puede identificar muchas cosas, hasta patrones en números primos por ejemplo.

Mi pregunta es:

Esto es realmente IA ? Es un sistema experto ?

Saludos.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Mi Primer Script De Ia
« Respuesta #1 en: Viernes 19 de Agosto de 2005, 09:13 »
0
Hola:

Iré por partes. No parece muy correcto que llames neuronas a tus clases. Tanto desde el punto de vista fisiológico como desde el informático, una neurona es algo que se limita a responder a unos estímulos. Las neuronas artificiales responderán true o false dependiendo de cuantos true o false reciban de otras neuronas y de su peso calculado durante la fase llamada entrenamiento o aprendizaje.

Por lo que me ha parecido entender, tus clases contienen unas funciones matemáticas, pero parece que tienen alguna forma de saber a que función tienen que llamar cuando envías al programa la expresión "múltiplos de 6". Es decir, parece que el programa no sabe por si mismo cual es la función que tiene que utilizar. Me explico.

Un sistema experto, a grandes rasgos, se compone de una serie de operaciones o fucniones y unas reglas que indican que funciones y cuando hay que llamarlas. Por ejemplo, un sistema experto sobre diagnóstico de infecciones recibirá unos datos iniciales por parte del médico humano y en base a dichos datos, el sistema experto hace sus preguntas para refinar su respuesta. Es decir, no es el médico el que le dice que reglas tienen que aplicarse, sino el sistema experto basándose en los primeros datos el que dice que operaciones tienen que darse. Tu programa no parece funcionar así.

Pero tampoco parece una red neuronal artificial por lo que he mencionado al principio. Las neuraonas solamente calculan un true o false (o un número decimal, depende de como se definan las neuronas) ponderadas por un peso que se calcula en la fase de entrenamiento. Es decir, un red neuronal que indique multiplos de 6 es esencialmente la misma que una que calcule numeros primos, solamente se diferenciaran despues de la fase de entrenamiento. Me parece entender que cuando tu entrenas a tu progrma, le especificas "multiplos de 6" e introduces multiplos de 6 que se almacenan en algún lugar de tu programa pero, ¿saben si es un multiplo de 6 un número que no hayas introducido durante el aprendizaje? Una red neuronal bien entrenada te dará la respuesta correcta para cualquier mútiplo de 6 que no hayas introducido en el programa.

Si lo he entendido bien, creo que tu programa no es IA pero tampoco proporcionas suficiente información para asegurarlo

Saludos
n.

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Mi Primer Script De Ia
« Respuesta #2 en: Domingo 21 de Agosto de 2005, 22:51 »
0
Citar
Una red neuronal bien entrenada te dará la respuesta correcta para cualquier mútiplo de 6 que no hayas introducido en el programa

Eso es exáctamente lo que hace mi programa, yo cuando le enseño dos múltiplos de 6 "positivos" el sistema es capaz de identificar a cualquiero múltiplo de 6, pero se "equivoca" cuando pongo -6 por ejemplo, entonces le enseño que -60 es múltiplo de 6 y el sistema ya sabe diferenciar perfectamente a todos los números.

El sistema por dentro es muy estadístico, es decir, los números que le paso como múltiplos de 6 son checkeados por todas las funciones miembro y los resultados (true/false) que devuelven estas funciones son almacenados en la base de datos, como si fueran patrones. Cuando ya finalizó la etapa de aprendizage el sistema compara los patrones de los números que ingreso con los patrones almacenados en la base de datos, de esta manera puede determinar si un número específico cumple con los patrones que tienen los múltiplos de 6.

De una manera pienso que esto podría indicar el "peso" de las neuronas, es decir:
- La funcion que identifica a números negativos no es determinante, ya que los múltiplos de 6 pueden ser tanto positivos como negativos, esto indica que esta funcion pierde peso cuando se intenta identificar a los números múltiplos de 6 no ? Con esos datos podría hacer que el sistema determine qué funciones deben ser utilizadas para determinar el resultado de la evaluación (vendrían a ser las funciones determinantes).
- En la fase de entrenamiento se podrían utilizar todas las funciones, y a medida que le valla proporcionando muchos ejemplos, el sistema debería ir descartando las funciones que no son determinantes o que siempre devuelven distintos resultados. Pero a un humano cuando le enseñamos una multiplicación o división, éste sabe que le estamos enseñando matemáticas porque se lo hemos dicho, o bien, porque ya lo sabe.

Para hacer esto me basé en el comportamiento de un ser humano, es decir, cuando aprendí a multiplicar por 2 me dijeron: 2 x 2 = 2 veces 2, como yo sabía sumar supe encontrar el resultado de esa multiplicación, una vez que aprendí eso ya tenía facultades para calcular muchas multiplicaciones sensillas.

Realmente no sé cómo funcionan las neuronas de una persona, tengo algunas ideas volando pero nada concreto, tampoco sé cómo podría aplicarlas...

Me serviría mucho ver algún ejemplo, aunque sea en pseudo-código, de una pequeña red de neuronas que pueda identificar a los números múltiplos de 6 por ejemplo. (yo en mi caso tengo 2 neuronas determinantes, una que identifica a los múltiplos de 2 y otra de 3, cuando la evaluación de estas dos funciones es TRUE, es suficiente para afirmar que el número en cuestión es múltiplo de 6).

Saludos y gracias por responder.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Mi Primer Script De Ia
« Respuesta #3 en: Lunes 22 de Agosto de 2005, 12:42 »
0
Redes Neurales
Aquí tienes muchos ejemplos de distintos tipos de redes neurales

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Mi Primer Script De Ia
« Respuesta #4 en: Sábado 27 de Agosto de 2005, 01:30 »
0
Muchísimas gracias.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.