Cómo sería construir una Inteligencia Artificial General




Una pregunta interesante no?
Explicaré la teoría que he desarrollado.

El ser humano, recibe información del medio y la conceptualiza, esos conceptos se traducen en reglas o lineas de código nuevas, o que modifican parcialmente anteriores.

Clasifiquemos la información en porcentual y absoluta.

- Información porcentual:
 Tomando la frase "Todos los pájaros vuelan" Los pinguinos o las gallinas no vuelan y son pájaros, por lo que resulta ser "El 90% de los pájaros vuelan"

- Información absoluta: "Todos los pájaro tienen pico" No se ha visto en ningún momento un pájaro que no tenga pico.

Al construir el concepto pájaro, le daremos la extensión significativa gracias a la información procesada o aprendida.

 <Pájaro> El 90% de los pájaros vuelan
                Todos los pájaros posen pico, plumas, alas, dos pies, dos ojos....
                Todos los pájaros son <ser vivo> en el caso en el que se muevan, si no presentan signos                        vitales, están muertos. (Lo que se presenta en una clave dicotómica con estas dos   
posibilidades)

Podríamos continuar hasta la saciedad, diciendo su velocidad, su tiempo estimado de vida (calculado en una media de todas las especies observadas), su tamaño máximo y mínimo... etc.

Ahora bien. Tenemos el sentido común, es decir, cosas como que están sometidos a la gravedad, que respiran,  que si se queman se mueren.... todos esos conocimientos que damos por sentados.

Programarlos sería largo y costoso, así que vamos a "encapsular los conceptos"

<Ser vivo> : <sujeto> que cumple las funciones nacer, crecer, reproducirse y morir. Dotado de conciencia y un cuerpo biológico. Necesitan comer, respirar y defecar, para seguir vivos. Si se les somete a un calor extremo de (x grados), si se les golpea muy fuerte (y newtons), si pasa mucho tiempo (z años)  (...) por lo que dejarán de estar vivos.

Estas variables x.y.z cambian según el <sujeto>,



<Sujeto>: cosa que al estar en <sitio> está sometido a calor <a> gravedad <b> (...)

Es decir, que con decir que es un ser vivo a un pájaro, automáticamente hemos escrito todo ese concepto sujeto a las variables, Es decir, un pinguino emperado er una <ave> (por lo que se escriben todos los datos del conceto ave (tiene pico, tiene plumas...) y la información porcentual de "puede que vuele" se concretará en si o no, en este caso, no. Además, al escribir el concepto <ser vivo> ya abarca que nace, crece, se reproduce , o que muere a los <x> años, estos <x> años son 20 en esta especie. (...)

La "cápsula" de información <sujeto> se escribe en <ser vivo> que a su vez en <ave>, <pinguino> y <pinguino emperador> Con todos los datos y variables que eso conlleva. Como por ejemplo su alimetación, edad media, temperatura ambiente para vivir...

Así podremos dotar de sentido común a las máquinas.



La información porcentual,  es decir, los patrones que sigue algo (por ejemplo, en una cara hay un 99 por ciento de que haya dos ojos, una nariz y una boca pero un tanto por ciento que la piel sea clara, que los ojos sean achinados...) Esto, se traduce en redes neuronales. (Leer artículo)

En cambio, la información absoluta se escribe en forma de lineas de código o claves dicotómicas.

Vamos a preparar un <maki de atún> (<sushi>,<comida>...)

 Paso 1.Tenemos el grupo de ingredientes que se necesita
 - Si --> Seguir al paso 2
 - No --> Comprarlos o no hacerlo depende de la necesidad (...)
Paso 2 . (...)

Esto siempre debe ser así, porque si en vez de salmón, usamos chocolate, ya no será un <maki de salmón> sino otra cosa.


A partir de observaciones se conceptualiza, al conceptualizar, se crean lineas de código.

De esa red neuronal especializada (solo se puede especializar en una cosa para que no ocurra el olvido catastrófico). De momento.

Entonces, en una red de reconocimiento de objetos. Si se reconoce una <cara> se pasa a la red de clasificación de caras, que te dirá la edad, género y raza del individuo.



Es decir, una red, a partir de la información del ambiente, genera una información que se debe convertir en una concepto a pasar a otra red.

Estos conceptos se guardan en la memoria. Por ejemplo, si se ve una cara que antes se ha visto, se reconocerá. Además si de esa persona vamos conociendo más cosas (trabaja de dependiente, se ha casado) se añadirán lineas de código al perfil de esa persona, conviertiendola en un concepto.

Cada red se especializa en una cosa, y se pasa la información de una red a otra en forma de conceptos y nueva información, que se guardará en la memoria.


Si le pedimos a un robot que cree un sustituto del silicio, buscará todos los materiales y se "imaginará" todas las posibilidades hasta dar con el que genere menos error.


La cosa es que la máquina se encargue de evaluar los errores él mismo. Eso se hará contrastando información de los medios o con una red adversaria (leer artículo de redes neuronales). Diferentes técnicas de machine learning, en concreto, la búsqueda del aprendizaje no supervisado y la creación de un espacio latente.

Por ejemplo, da con la conclusión de que un pinguino vuela, pues consultará en un libro que le dirá que no, ahora la máquina sabe que ningún pinguino vuela.

Ahora bien, hay códigos que le daremos nosotros y que no podrá cambiar. Un ejemplo es "No matarás a ningún humano o por inacción, dejarás que sufra daño" (Las leyes de Asimov)
U otro que le enseñe a construit frases gramaticalmente correctas.

El único problema es que no entenderá el sarcasmo y será literal, pero para qué...
 Escrbiré una continuación de robótica social.



           
             

Comentarios

Publicar un comentario

Entradas populares de este blog

Los robots sexuales

Prometeus

Trilogía "The Sprawl"