Programación Específica > Inteligencia Artificial
La Eterna Discusión
nausea:
En realidad todo esto es una versión del antiguo debate sobre la influencia del ambiente o el condicionamiento genético como conformación del ser humano.
En 1969, Truffaut hizo una película basándose en un hecho real. En 1800, apareció en Aveyron, Francia, un chavalín de 1m 35 de altura que aparentaba 12 años de edad que "como un animal acostumbrado a vivir en la selva, el chico parecía insensible al frío y al calor extremos, y rasgaba la ropa que la gente trataba de ponerle. Parecía evidente que había perdido a sus padres desde muy pequeño o lo habían abandonado, pero de esto hacía tanto tiempo que era imposible saberlo" (Victor, , el niño salvaje de Aveyron)
Jean-Marc-Gaspard Itard, un médico francés interesado en la nueva ciencia de la mente (eran los tiempos de los primeros psicólogos y psiquiatras) y pionero de la educación especial consiguió en "El chico logró un progreso notorio: aprendió los nombres de muchos objetos y pudo leer y escribir frases simples, expresar deseos, seguir órdenes e intercambiar ideas. Demostró afecto, especialmente hacia el ama de casa de Itard, la señora Guérin, al igual que emociones de orgullo, vergüenza, remordimiento y deseo de complacer" (Victor, , el niño salvaje de Aveyron).
Sin embargo, Victor nunca cosiguió hablar. Podemos decir que ya era muy tarde para "programarle" el habla aunque no otras tareas. En efecto, programar un cerebro no es tan directo como programar un ordenador pero, desde luego, es algo que se "programa" o, si parece sonar mejor, educar.
(Os amenazo con continuar)
Amilius:
"Entrenar" diría que es una mejor palabra que "programar" para este caso. :D
Por ejemplo para preparar gimnastas para las olimpiadas: Su entrenamiento debe comenzar a temprana edad, existe un tiempo adecuado. Pasado este tiempo no digo que no sea imposible pero sin duda será necesario muchísima mayor cantidad de trabajo y esfuerzo comparándo al caso anterior y los resultados no serán tan buenos.
nausea:
Entrenar, enseñar, amaestrar y un montón de sinónimos aproximados que vienen a querer decir lo mismo: Proporcionar conocimiento a otro ser. Podría tratarse de otra persona (entonces decimos enseñar), de un animal (decimos amaestrar) pero también podemos aplicarlo a un máquina y entonces decimos programar.
En efecto. Pero ya no solamente se trata de gimnastas olímpicos. Enseñar una segunda lengua a un niño es mucho más sencillo que a un adulto. El niño, al no estar ya completamente "programado", puede modificar sus estructuras mentales (o cerebrales) con mucha mayor facilidad que un adulto. Un ordenador es infinitamente modificable (bueno, no tanto) pero hay que especificarle todo por lo que es más cantidad de trabajo pero muchas veces no es más difícil.
Amilius:
Es que una cosa es PROGRAMAR un "ej. un simulador da redes neuronales artificiales" y otra cosa es ENTRENAR una determinada "ej. una red neuronal artificial".
Lo digo por que existe una diferencia fundamental: AL programar uno especifica cada paso, instrucción, orden, operación etc que seguirá la máquina. Es como armar un Árbol navideño de plástico. Al entrenar cuidas de hacer saber a la entidad que estás entrenando cuando está equivocándose y cuando lo está haciendo bien, de forma que eventualmente vaya perfeccionándose. Es como cultivar un árbol ornamental, podarlo y colocar puntos de apoyo para que el árbol vaya tomando la forma que quieres.
P.D.
"Amaestrar" implica una relación amo-esclavo que no me gusta para nada. :ph34r:
nausea:
Ya. Lo sé y estoy de acuerdo contigo.
En realidad estoy hablando de todas las acciones que implican un trasvase de conocimiento o información.
Es decir, cuando le hablo a un ninño pequeño y le digo que es un triángulo rectángulo, que tiene dos lados que se llaman catetos y uno más largo que se llama hipotenusa y que se relacionan mediante una ley llamada Teorema de Pitágoras que dice que la suma de los cuadrados de los catetos es igual al cuadrado de la hipotenusa, y aunque suene un poco fuerte, le estoy programando para que realice una tarea.
Pero yo no le puedo decir eso a una máquina. A un ordenador tengo que decirle algo como
--- Código: Text --- triangulo(){ int cateto1, cateto2; int hipotenusa; hipotenusa = pitagoras(cateto1,cateto2)} hipotenusa(lado1,lado2){ return sqrt(lado1 * lado1 + lado2 * lado2);}
¿Que diferencia hay? Bueno, el niño puede haberlo aprendido o no, quere usarlo o no y la máquina tiene menos posibilidad de elección. Aunque eso también puede discutirse: ¿que pasa si el niño sabe que si no hace bien los deberes será castigado sin la Play Station (Por ejemplo)? Pues puede que tampoco lo haga pero porque puede haber algo que le interese más. Por ejemplo, no molestarse en hacer los deberes podría ser suficiente.
Entrenar es lo mismo. Cuando programas una red neural, no estás transfiriendo información sobre el problema a resolver, solamente esta creando una estructura lógica para enseñarla o entrenarla o amaestrarla (No creo que tengas problemas en considerar una red neural como un esclavo, por lo menos de momento). Es cuando entrenas la red neural cuando estas enseñandola a resolver el problema que te interesa. De hecho, dos problemas completamente diferentes puedes resolverlos con la misma red neural. Es luego, cuando la entrenas para asignarles los pesos a los nodos cuando hay diferencias... y no muchas, porque la estructura es la misma.
Espero seguir esta animada charla. saludos
n.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa