EDICIóN GENERAL
223 meneos
6437 clics
Reflexión sobre la Inteligencia Artificial en trabajos de informática

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

| etiquetas: informatica , trabajo , ia
Me recuerda un poco al algoritmo backtracking. Va probando hasta que tiene éxito.
#1 En realidad es lo que usamos nosotros también: ensayo y error. Luego lo único que hacemos es amoldar las nuevas situaciones a algunos de los ensayo/error previos para hacer una hipótesis de lo que puede suceder con la misma solución.

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.
#7 que es donde nos barre a corto plazo.
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.
#46 Ni de coña a largo plazo gana el cerebro humano, ni por asomo.
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.
#7 El problema es que sin tener que cagar, comer o dormir, tiene mucho más tiempo para hacer ensayo/error y por lo tanto no hace falta irse al largo plazo para que nos barra.
#1 El backtracking y los algoritmos generacionales son bastante más complejos. En el backtracking no sólo se prueba hasta tener éxito, sino que se introducen pequeños cambios y se prueban, volviendo al estado anterior a ese pequeño cambio en caso de no cumplir las expectativas. Y además puedes introducir técnicas de poda de ramas si puedes anticipar que un "experimento" no va a cumplir las expectativas.
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.
#1 se llama fuerza bruta. Y esta ya inventado. De hecho la mayoría de pen testing son automáticos

Donde tiene futuro la IA es en protección de ataques, usando deep learning por ejemplo
#24 desde la ignorancia: ¿por qué en protección de ataques sí?
#43 porque los sistemas pueden aprender lo que es un ataque y lo que es una petición válida
Qué pasará cuando se empleen estos recursos a áreas como la ciberseguridad

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.
#2: Y una de energía cuando nos peleemos con alguien. :-P
Bueno el tema de redes neuronales Mar.io esta bien para hacerse una idea visual. Pero los resultados más espectaculares y al mismo tiempo desconcertantes a medio plazo son los trabajos de Deep Mind con alphazero. Literamente barren a todo lo anterior en Go, Shogi y ajedrez. El match que ha tenido hace unas semanas con el módulo Stokfish es impresionante. una paliza a 100 partidas con 28 vicorias y 0 derrotas. Y yo que he visto las partidas es de un juego tan posicional, muy poco habitual en los materialistas modulos de ajedrez.
#3 Hype.
#3 y que tal de empates?
#3 Stockfish es GPL :-)

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.
No me parecen muy inteligentes esos investigadores de IA, más inteligente sería plantearse lo contrario: ¿podríamos hacer que la IA trabajara para jugar nosotros?
Es gracioso que el que escribe el artículo se plantee si debe seguir su carrera en Ciberseguridad. Chaval, tranquilo, que antes estamos todos los demás en la cola del paro. Los hacker utilizan técnicas previsibles pero es que el resto no anda mucho mejor :-)
Ingeniería en ciberseguridad mención mesero, a la segura.
Hielo negro, como en Neuromante.
Los programadores de a 800 euros seguirán el camino de los taxistas: la desaparicion.
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.
#11 hace muchísimo tiempo (los conocí en 1993) que existen ese tipo de programas, se les conoce como generadores de código y no necesitan inteligencia artificial. Esos generadores son muy buenos para CRUD, reportes básicos, menús pero hasta allí. Cualquier cosa nueva a nivel de casos de uso y los generadores no sirven.
#13 comparar un generador de codigo de 1993 con la IA es lo mismo que comparar el Dragon Voice Speaking (si eres tan viejo, lo conoceras) con el reconocimiento de voz de Google.
#14 quise decir que desde esa época conozco los generadores, hace un mes probé uno nuevo. No han cambiado, espectaculares formularios CRUD y reportes sencillos, pero de allí no pasan.
#14 Pues yo si que debo ser viejo, porque llegué a instalar el Dragon Dictate
#13 Parte de razón tiene. Pista: GCC optimiza hoy en día el código objeto en C o incluso ASM mejor que un humano en toda su vida.
#11 y del Bitcoin qué me dices? Y sobre mi salud? Qué hay del trabajo? Me saldrá trabajo pronto professor?
Es curioso que puede que la de la IA sea la última generación de ingenieros de software que exista.

P.D. Felices Fiestas y próspero año nuevo a todos
#12 Me gustaría ver a una IA lidiando con la última frontera: Los usuarios, que no saben ni lo que quieren ni luego cómo usarlo  media
#19 :palm: Tengo yo ahora un proyecto entre manos, que les digo a los 3 usuarios "¿cómo queréis que el programa haga esto, así, o asá?", y se queda balbuceando sin saber darme una respuesta. Es como comprarle la termomix para facilitarle cocinar a alguien que le cuesta usar el microondas.
#12 Felices!
Recomiendo a la audiencia que estudien inteligencia Artificial a nivel matemático, implementación con Python, después el uso de librerías como TensorFlow, y ya podrán tener idea real.

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.
#15 Elon Musk tiene un doctorado por la universidad de Yale en Ingeniería y otro en física, y participó directamente en el desarrollo del software de sus dos primeras empresas, que ofrecían servicios a través de internet (Zip2 y X.com), por lo que algo de desarrollo de software si que sabe (aunque no sea su principal especialidad).
#20 La IA no tiene nada que ver con desarrollo de software. El Machine Learning, que es a lo que se le llama IA hoy en día (la IA es más que machine learning), son matemáticas y algoritmica. Lo importante es saber las matemáticas y la lógica debajo de eso. Para desarrollar redes neuronales ya hay librerías como tensorflow.
#21 ¿Y si eso no es desarrollo de software qué es entonces?
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…   » ver todo el comentario
#25 No. Las redes neuronales son álgebra linea de la pesada.
#25 Al contrario, los algoritmos de redes neuronales (por poner un ejemplo) son relativamente sencillos. Con las matematicas adecuadas, puedes hacer que una máquina aprenda con unas cuantas líneas de código. Las ingentes capacidades de computación se necesitan porque estos algoritmos suelen tener complejidad exponencial en tiempo y memoria y por lo tanto cuanto más potente la maquina mejor. Más potencia computacional te permite aprender problemas más grandes y en menos tiempo.

De verdad te lo…   » ver todo el comentario
#50 Doctor en IA :-O

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 {0x1f607}
#50 ¿Y los doctores en IA tenéis algún permiso para acceder al código del AlphaGo? Porque que yo sepa no ha sido revelado al público y aventurar cuántas líneas de código puede tener con cero información y sin ninguna otra referencia con la que compararlo me parece poco propio de cualquiera que se anuncie experto en la materia.
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.
#58 el método que han usado para AlphaGo es público y esta publicado en artículos científicos. No es sólo para doctores. Te lo puedes bajar si quieres y si tienes el background necesario te podrás dar cuenta de que no se necesitan grandes algoritmos para que una máquina aprenda. Sólo el mecanismo adecuado.

Toma storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf
#61 Eso no es código. El problema es que el "mecanismo adecuado" no crece en los árboles, más bien consiste en un montón de código sobre el que corre el código "sencillo" del que hablas.
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.
#62 Revisa la conversación. Donde he dicho yo que sea sencillo de implementar como mecanismo o incluso entenderlo? He dicho que se requiere muy poco código, argumentando que IA no es equivalente al desarrollo de software.

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.
#65 Y eso es ingeniería de software, lo mires por donde lo mires. Tu argumentario es como decir que para crear un coche eléctrico no hacen falta conocimientos de automoción porque no usa gasolina.
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…   » ver todo el comentario
#66 Antes que científico en IA fui (y sigo siendo) ingeniero de software y un campo no tiene nada que ver con el otro. La IA no es ni mas difícil ni más sencilla, ni creo que alguien que programe una IA se haya de desmarcar de un ingeniero de software. Sencillamente son cosas diferentes. Puedes programar una red neuronal teniendo conocimientos muy básicos de programación, mientras entiendas el marco matemático subyacente. En cambio nunca podrás hacer ingeniería de software sin esos…   » ver todo el comentario
#67 He visto varios de esos cursos antes y aunque enseñan lo básico no puedes decir que con simplemente con esos conocimientos puedas llegar a hacer algo profesional. Los algoritmos son una parte importante pero no única ni suficiente para programar IAs. A tu carrera me remito: ¿Sabrías hacer lo que haces sin conocimientos de ingeniería de software?
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.
#15 Canal 3Blue1Brown en Youtube.
Yo creo que la IA será una ayuda enorme, pero no pensara sola como para sustituir el deseo humano. Quizá tome otros caminos. En mi cabeza es como un hada que cumple deseos... Tu pedirás y ella proveerá, cruzará los datos por ti, depurará tus ideas y buscará tus errores. Pero estará a nuestro servicio, como un mayordomo omnisciente capaz de interrelacionar las distintas áreas del pensamiento y la ciencia en una fracción de segundo para resolver los problemas que tú le plantees.
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.
#18 Yo estoy deseando tener mi propia IA para pedirle que adopte la forma de un unicornio y usar sus poderes mágicos para cruzar el océano. Qué gran invento que cumple todos tus deseos. No sé cómo no lo han inventado antes.
La cuestión no es si Inteligencia Artificial será o no capaz de superar los limites humanos y dejarnos sin trabajo a los informáticos. Ya existen IAs que controlan la calidad del código generado por humanos y aprenden a escribirlo automáticamente. La clave es cuándo serán capaces de crear sus propias funciones de utilidad (las que determinan los valores a maximizar) adaptadas al contexto del mundo real.

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.
#23 Edit: perdón por el tocho, si me lees, gracias por tu tiempo.
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…   » ver todo el comentario
#27 Mmm... las IAs toman muchas formas; desde simples árboles de decisión si/no, hasta redes neuronales capaces de autoconfigurarse y distribuir el procesamiento en varios equipos. Actualmente son relativamente simples, pero ya se usan a menudo para interpretar el mundo real (aunque por ahora con objetivos muy específicos como reconocimiento facial o de carreteras). En un futuro no muy lejano, no me cabe duda de seguirán mejorando (siendo mejoradas) y llegarán a "comprender" varios aspectos de la sociedad. No creo que alcancen un grado de consciencia como el humano, pero sí que podrán reemplazar la mayoría de los trabajos que hoy en día hacemos los humanos... incluido el de picar código y crear IAs.
#28 Salvo porque una IA no puede crear una aplicación más compleja que sí misma. De acuerdo en que algunas IAs están conectadas a sensores y procesan información del medio, pero tener un termómetro o muchas células fotosensibles no te dotan de intelecto.
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…   » ver todo el comentario
#59 Dota a cualquier IA de la capacidad de recrearse a sí misma (lo que no es tan difícil, dentro de un lenguaje interpretado), un factor aleatorio de mutación y una buena función de selección (eso sí es complicado) ... Y, básicamente, tienes un sistema evolutivo como el nuestro.

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…   » ver todo el comentario
#60 Facilísimo, oiga. Y para volar solo hay que dotar a los humanos de alas, incluir un factor genético de modificación para que aprendan a usarlas y esperar unas cuantas generaciones a que el sistema de perfeccione. Lo haría yo mismo, pero estoy resolviendo otros problemas fáciles como el hambre en el mundo y el calentamiento global, que no necesitan más que comida y frío, no sé por qué no lo han solucionado antes.
#63 Bueno... Al ritmo (cada vez más) acelerado al que vamos, no lo veo algo tan lejano. Difícil, desde luego, pero si hay pasta y egos de por medio, es algo perfectamente factible en unas pocas décadas. Y la primera fase, la de reemplazar a humanos es trabajos relativamente simples, ya está en marcha (la conducción autónoma capaz de responder ante cambios en la carretera, los asistentes virtuales capaces de entender frases simples, etc.).

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.
#27 Ojo que biologos dicen que las plantas intercambian información sobre depredadores :-D

Y lo de la fotosíntesis a nivel cuántico es flipante, pero es otro tema :-)
Septiembre de 2000: entro en la universidad, informática. Haces nuevos amigos y en los corrillos se habla del futuro. Todo el mundo coincide en que dentro de pocos años los ordenadores programarán solos sobre ordenadores cuánticos.
En una scasa que este implantado este sistema entre a robar multiples veces, dará tres opciones.

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.
Desde mi punto de vista:
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…   » ver todo el comentario
#31 Nuevos chips que no son 0 y 1 ni estúpidas vgas como trata de vender nvidia.
#32 sí cierto.
También hablar de de porcentajes y no de 1 y o 0.
#32 Las nuevas de NV ahora impiden según EULA usarlas en datacenter.
Año 1985, en el año 2000 los ordenadores hablarán. Año 2011, nace Siri...
#35 Los ordenadores ya hablaban en 1985 e incluso 1969 en Unix con un sintetizador de voz. Es mas viejo que el mear :-D
El propio Spectrum tenía un sintetizador de voz rudimentario con un cassete :-D
Los griegos tenian algo similar pero con tubos eólicos y máquinas de vapor :-) que "hablaban". O los minoicos, no recuerdo.
#42 Pues mira, igual de viejo que las IAs.
Qué pasará cuando se empleen estos recursos a áreas como matar personas?
Aquí dejo algo para leer sobre los fallos de las IAs en 2017, pongo el enlace para que sea traducido al castellano in situ y cualquiera lo pueda leer:

translate.google.es/translate?sl=en&tl=es&js=y&prev=_t&
24h para pasarse este nivel...  media
comentarios cerrados

menéame