223 meneos
6449 clics
Reflexión sobre la Inteligencia Artificial en trabajos de informática
El programa Mar.io ha conseguido completar un nivel de Super Mario World tras 24 horas de evolución neuronal. Qué pasará cuando se empleen estos recursos a áreas como la ciberseguridad
|
comentarios cerrados
Deberían por ley obligar a añadir una barra de progreso tanto al atacante como al defensor, así por fin las películas de hackers de los 90 se convertirían en realidad.
Realmente ahí es donde reside nuestra superioridad sobre la máquina: tenemos un pensamiento abstracto que permite hacer símiles de cosas, en principio, no parecidas del todo o incluso podemos asumir la experiencia que hemos visto en otra persona, en nosotros mismos. La máquina sin embargo es capaz de hacer muchos más ensayos/error que nosotros, que es donde nos barre a largo plazo.
En los algoritmos generacionales no sólo se prueban cosas. Lo que se hace es escoger a los más "aptos" de esas pruebas y combinarlos entre sí para generar una nueva generación con lo mejor de cada ensayo.
En 5 años, no existirán picacódigos: le dirás a un ordenador que te haga un programa y este lo hará , sin necesidad de código fuente o compilador, porque lo hará directamente en ensamblador.
Por cortesía ,si se lo pides, te sacará un listado en pseudo-código, o python, por si acaso tienes curiosidad en saber un poco qué algoritmos ha inventado para resolver tu problema.
Algoritmos que serán mucho mas eficientes que los creados por los humanos y que os enseñan en la Facultad.
P.D. Felices Fiestas y próspero año nuevo a todos
Hay que bajarse del alarmismo.
La historia se repite, anteriormente las mismas voces con el tema de los virus informáticos, llegaron a escribir tonterías sobre estos y las películas eran cajas de resonancia... Casi todo falso.
Elon Musk es empresario, no desarrollador de software. Stephen Hawking es físico teórico, tampoco desarrollador de software. Ambos al hablar de IA no tienen las piezas.
La lucha, como se pinta en el artículo, de atacantes contra defensores, será manejada por personas que guiarán esa Ia ahorrando trillones de ciclos de proceso para ganar al de enfrente.
Hoy en día, las IAs son una maravilla para resolver problemas complejos para los que existe un ámbito definido... pero aún tenemos que ser los humanos quienes definamos el espacio del problema. El día que adquieran la capacidad de entender su función en el mundo físico... Démonos por jodidos.
Donde tiene futuro la IA es en protección de ataques, usando deep learning por ejemplo
En mi opinión es puro hype, reinventar la rueda. Toda esta misma superchería la oímos desde que se inventó la calculadora. Una learning machine no es más que un ordenador, y se crea con conocimientos de hardware y software. También hacen falta conocimientos de matemáticas, son proyectos multidisciplinares.
Pero lo que quiero decir es que no es cierto que las learning machines sean una cosa y las computadoras otra. Simplemente son computadoras muy grandes con cantidades ingentes de código y algoritmos enormes. Pero usan el mismo tipo de hardware, código y algoritmos que cualquier otra aplicación y necesita el mismo tipo de conocimientos técnicos. Ahí tienes la implementación en Python que mencionas. No funciona si no sabes programar, no llega con escribir unas fórmulas por muy matemático que seas.
La panacea que venden las IA es la máquina multipropósito definitiva que no necesite de conocimientos previos para darle instrucciones. Sin embargo la experiencia demuestra que son máquinas muy complejas, exageradamente específicas y que precisan de un montón de conocimiento para crearlas y hacerlas funcionar.
Las IAs, por lo menos las desarrolladas hasta la fecha, no tienen capacidad de entender su función en el mundo físico. Es una fantasía recurrente que hemos tenido los humanos desde que vemos tormentas, fuego, árboles, casas o coches. Nos imaginamos que son "entes", que piensan y sienten, incluso fantaseamos con ello y a veces escribimos buenas ficciones o escalofriantes relatos. Pero una IA es simplemente una computadora muy específica que no habla ni piensa. Decimos que una IA piensa o que un coche corre o una planta tiene sed, pero no es el pensar, correr o tener sed humanos.
Una IA es un programa que toma una serie de decisiones en base a unas reglas fijas (y por el momento extremadamente sencillas comparadas con el "mundo real") maximizando las posibilidades de conseguir un resultado esperado. Las learning machines (Lo que actualmente se llama IA. Aunque la palabra IA se lleva usando desde el principio de la computación, todas las generaciones de ordenadores han tenido programas llamados IA.) además almacenan una base de datos de intentos anteriores, descartando las decisiones que no le condujeron al resultado y repitiendo las que sí. Probando además pequeños cambios y matices para ver cómo se relacionan y quedarse con los mejores. Abstrayendo este proceso, digamos que la máquina es capaz de crear nuevas reglas (hasta un límite) para que le vaya mejor en futuras ocasiones. Esto es a lo que nos referimos cuando decimos que una máquina "aprende". Pero estas nuevas reglas surgen del mismo conjunto de reglas que tenía al principio y sus posibles permutaciones. Y aunque muchas veces sus métodos sorprenden no hay que olvidar que sus capacidades son específicas y limitadas, y sus resultados dependen de funciones matemáticas y no de una inteligencia real.
Una IA no es más que un montón de transistores recibiendo y emitiendo corriente y de ahí no puede brotar una conciencia. Podríamos decir que un cerebro humano es algo similar. Pero tampoco tenemos constancia de ningún ser humano con la capacidad de hayar su función en el mundo físico.
Para que una máquina fuese capaz de pensar como lo hacemos nosotros, tendríamos que programarla con las reglas que permiten el pensamiento. Y no sabemos cómo se hace eso porque nadie es capaz de escribir un manual de instrucciones sobre cómo pensar. Y menos aun fabricar una máquina que lo haga a partir de pura electrónica.
1.Hacer la casa sin ventanas y una puerta tipo baco americano.
2.Mudarse
3.Eliminar el problema (matar a todo ladrón o delincuente par que esto no se repita en el futuro)
y sinceramente la opción mas justa para el que busca vivir tranquilo en su casa (recuerdo que solo es un ejemplo concreto) es la opción 3.
Las Redes Neurales son una rama de Inteligencia Artificial, son un gran avance cualitativo - pero ni mucho menos tienen conciencia.
Cuando digo cualitativo me refiero a la forma de programa, antes sin estabas programando en estructurado y en objetos, básicamente deducias todos los casos posibles y los programabas ( programación deductiva ) con las Redes Neurales esto cambia a programación inductiva, no programas todos los casos posibles, suministras una gran cantidad de datos sobre el problema q quieres resolver y luego se diseña un algoritmo para que aprenda de esos datos con unos objetivos especificos, el cambio es brutal ( pero todo esto ya se propuso en los años 80 ) , la situación actual de datos ( bigdata y capacidad de cálculo ha permitido que esto explote desde hace 5 años ).
Con esto quiero decir que una IA actual no es consciente ni piensa por si sola. Todo esto es hasta donde yo sé - igual google amazon ibm y compañía tienen algo guardado...
También hablar de de porcentajes y no de 1 y o 0.
Sobre el Go, es mucho más complejo que el ajedrez. En el ajedrez puedes predecir una partida buena en pocas tiradas. Con el Go es muy dificil.
Y lo de la fotosíntesis a nivel cuántico es flipante, pero es otro tema
El propio Spectrum tenía un sintetizador de voz rudimentario con un cassete
Los griegos tenian algo similar pero con tubos eólicos y máquinas de vapor que "hablaban". O los minoicos, no recuerdo.
En corto plazo, tú no tienes la capacidad de cálculo de un ordenador. A ti te da tiempo a evaluar las 100 mejores opciones, mientras que la máquina evalúa 5 millones de opciones, entre las que se encuentran esas 100.
Con más tiempo, tú evalúas las 1000 mejores opciones, mientras que la máquina evalúa 50 millones de opciones, pero con eso quizás haya conseguido encontrar las 600 mejores, porque cada vez le cuesta más encontrar buenas soluciones.
A largo plazo, gana el cerebro humano.
De verdad te lo digo, tiene más código una página web como esta que un algoritmo para jugar al Go.
Te lo digo con conocimiento de causa, soy doctor en IA.
PS. Totalmente de acuerdo en lo que dices respecto a la especificidad de la IA y lo sobrevalorada que está. Sabemos hacer que una máquina juegue al Go, pero si no la has entrenado para otra cosa no le pidas más.
En el ejemplo que das diciendo que "cada vez más le cuesta encontrar buenas soluciones a la maquina es síntoma de que no entiendes o no sabes como funciona el deep learning o aprendizaje automático.
Iniciando solicitud de petición para que crees un artículo sin tecnicismo alguno que explique a los neófitos los avances de los distintos tipos de IAs.
Espero no haberte puesto en un aprieto
translate.google.es/translate?sl=en&tl=es&js=y&prev=_t&
El algoritmo de AlphaGo puede resumirse quizás en unas líneas, pero asumir que está al alcance de cualquiera que pueda escribir la fórmula matemática es como creer que vas a construir una catedral usando solo boli, papel y una calculadora.
Las IA no van a "comprender" la sociedad humana porque las IA no comprenden nada, solo saben hacer trabajos específicos de forma mecánica e incansable.
Si los chimpancés, que son muy similares a nosotros, no han demostrado tener conciencia, difícilmente la tendrán un puñado de transistores.
Otra cosa es que una IA pueda ayudar en el futuro a los humanos en el estudio de la sociedad, en materia de procesado de datos, pero eso no quiere decir que lo comprendan igual que una calculadora no comprende lo que es el espacio cuando la usas para calcular un volumen.
Ahora, dejas a esa IA aprender dentro de un espacio de problema del mundo real relativamente acotado (cocinar, conducir un vehículo, recolectar fruta, etc) y, tarde o temprano, tendrás un "experto" en ese área que será mejor que cualquier humano. Vale que las primeras IAs no llegarán a ser tan maleables como un cerebro humano, pero para realizar la mayoría de los trabajos actuales ya valdrán. Y, una vez se consiga juntar diferentes IAs dedicadas a diferentes tareas sociales (interpretar emociones en los rostros, evaluar el contexto del espacio físico, crear patrones conversacionales, etc.) se podra crear un sistema que no sólo pueda superar el test de Turin, sino reemplazar a los humanos completamente. Y no necesitarán consciencia, ni conciencia reales.
Sinceramente, no creo que se llegue pronto a ese extremo, pero todas las limitaciones son bastante asumibles con el nivel de desarrollo tecnológico actual.
Toma storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf
Decir que el código de AlphaGo es simple porque puedes reducirlo a un puñado de fórmulas es como decir que el código de circulación tiene pocas páginas porque las señales de tráfico son muy fáciles de entender.
Y los humanos podemos volar... sólo que resulta más cómodo y barato hacerlo en un aparato externo. El día (no tan lejano) en el que podamos usar CRISPR para dotarnos de alas (y salga rentable), muchos no dudarán en hacerlo.
Los algoritmos de aprendizaje son muu sencillos, en el sentido de cantidad de codigo y mantenimiento. Se necesita mucho más código para hacer un programa de gestión de empresas que hace cosas muy específicas y con muchos pasos y requisitos. El Machine Learning en el caso del Deep Learning se basa en algoritmos de aprendizaje general basados en teorías matemáticas y algoritmos de descenso del gradiente. No voy a perder más tiempo debatiendo contigo sobre algo que no tiene debate.
Para crear una IA hacen falta entender como funcionan los ordenadores y programar mucho.
Para empezar porque gran parte del hardware y el marco de trabajo en el que se desarrolla una IA no es reciclable para otros proyectos salvo que sean muy similares (y en ese caso te doy la razón, pero coger el programa de otro y cambiarle unos valores no es programar IAs, como mucho es adaptarlas).
Entiendo que los profesionales queráis desmarcaros para señalar la diferencia y exclusividad que caracteriza a la forma de trabajar con IAs. Lo que me parece exagerado es cuando oigo a alguno decir que no es un ingeniero que programa sino una especie de pedagogo que entrena aparatos.
Es como si yo soy técnico de sistemas en red y digo que a partir de ahora no quiero que me llamen informático, quiero ser domador de redes.
Para muestra un botón, hay cursos online de Machine Learning en Stanford orientados a cualquiera. Hacen prácticas con Matlab y no necesitas ser ingeniero de software para seguirlo y desarrollar una red neuronal. es.coursera.org/learn/machine-learning
Cualquiera puede picar código o rellenar una hoja de cálculo sin saber programar, pero eso no llega para crear la gran mayoría de aplicaciones.
¿Que el diseño de algoritmos es una disciplina distinta? De acuerdo, pero si no sabes implementarlos no te servirá de nada. Especialmente si quieres que tu máquina no tarde eones en encontrar la solución que buscabas.