Hace 3 años | Por robustiano a francis.naukas.com
Publicado hace 3 años por robustiano a francis.naukas.com

El aprendizaje automático con redes de neuronas artificiales se puede usar para optimizar algoritmos, la llamada inducción neuronal de programas. Se publica en arXiv un algoritmo de ordenación diseñado mediante aprendizaje con refuerzo que parece ser más eficiente que el algoritmo quicksort de C. A. R. Hoare; por supuesto, su complejidad computacional es la misma, O(n log n) operaciones, pero en los experimentos realizados con 100 secuencias aleatorias de 100.000 números el nuevo algoritmo requiere ~ 92 % del tiempo de ejecución de qu

Comentarios

muaddib76

#14 me acabo de hacer fan de esta mierda lol

saqueador

Leyendo el paper me parece que no es exactamente correcto decir que la IA diseña el algoritmo, sino que más bien la IA es el algoritmo. Es decir, aplica la mejor operación en función de la entrada y de su entrenamiento, logrando una pequeña mejora en el tiempo total, y siempre para vectores de la misma longitud que los usados en su entrenamiento. La demostración matemática debería ser sobre el algoritmo en sí, por lo que se debería incluir el propio algoritmo de la red neuronal en la demostración, cosa que ya se me escapa pero parece bastante complicado, aunque como dice el artículo, no imposible.

D

#28 el mérito es poder entrenar una red neuronal para alterar algoritmos. El que haya conseguido resultados o no es secundario, no invalida el valor del trabajo.
Bueno, lo matiza ahora #30 . Mi gozo en un pozo.

meneandro

#53 Realmente tampoco, dado que dicen que usan "aprendizaje automático", o sea, se les da entradas, se les dice cuál tiene que ser el resultado y la red neuronal se ajusta internamente hasta que el porcentaje de error con datos del conjunto de validación es lo suficientemente pequeño. Si acaso el mérito es darle un conjunto de datos de prueba y validación de suficiente calidad y en suficiente cantidad.

EspañoI

#44 un algoritmo de caja negra es uno que funciona, pero no sabes lo que hace, o no puedes describir su funcionamiento formalmente.

Una Red neuronal si se puede describir, pero el proceso interno por el que un valor x le corresponde la posición n, es totalmente opaco al investigador.

Es el gran problema al que nos estamos enfrentando en la informática teórica, quizá nuestra frontera actual: tenemos una herramienta eficaz que no sabemos cómo funciona.

D

Habría que comprarlo también con Timsort, el cual a día de hoy es muy utilizado y en muchos casos más rápido que Quicksort.

Esto se debe a que supone que los datos generados por la naturaleza o por los humanos no son 100% aleatorios, sino que puede tener partes ya ordenadas las cuales no hay que tratarla.

Si con ésto se consigue no sólo un algoritmo de ordenación, sino una forma de conseguir tales algoritmos dependiendo del tipo de datos usados, quizá podría ser sería un gran avance (que alguien que sepa más me corrija si no estoy en lo cierto).

p

#17 diría que con una red neuronal siempre vas a poder conseguir también algoritmos más específicos. Eso sí, tendrías que entrenarla con secuencia de datos de esa índole.

La cuestión es si existe un algoritmo de ordenación general tan óptimo, que prácticamente le de igual el tipo de datos a tratar/secuencia de inserción.

L

La aportación del artículo original no es el algoritmo de ordenación, sino la forma de llegar a él.

D

El futuro

ronko

Las redes neuronales, el grafeno de menéame 2020.

D

#10 Comentario cuñado del día lol

La implantación de las redes neuronales hoy en día son enormes, de hecho es probable que en tu día a día te sirvan y no lo sepas, cuando se use el grafeno un 1% en comparación con las redes neuronales ya será un auténtico éxito para los grafe fan boys.

Ainur

#41 y así es como skynet tomará cociencia

juvenal

Podría admitirse una demostración como la del Teorema de los Cuatro Colores.

D

#11 no se como se hace. De hecho, en vez de editarla me ha publicado los dos comentarios.

D

#22 Pero en que menú? En privados no va. Además ya dijeron hace tiempo que no se podía eliminar comentarios.
@McLaud_

D

#56 lo he dicho bien. Si hay dependencia probabilistica es mayor.
No merece la pena, obviamente.

D

#46 tampoco. Si la posibilidad de fallo de cada uno es 1/ 1000, la posibilidad de que fallen los dos a la vez es 1/1000000 o incluso mayor.

D

#54 Dirás, o incluso menor. Por tanto, hay más probabilidad de que sea correcta.

meneandro

#35 No, dos algoritmos con dos coches

Era por poner un ejemplo manejable, hombre, no conozco hasta qué punto estás en el mundillo o no lol

R

Empieza a peligrar mi curro

D

#26 Logística ?

p

#26 tu curro consiste en ordenar números? de ser así te diría que lleva unas cuantas décadas peligrando ^_^'

hormiga_cartonera

Propuesta de mejora a los admin: se desactiven automáticamente los comentarios éstos dumies de "es el año de linux en el escritorio", " se viene skynet", etc.
Coñazo siempre la misma gracieta. Parecen el Nelson de los Simpsons con el "HA HA!!"
No aportan nada de valor a la información de la noticia y como gracieta ya...

Aurum.Turbo

Del articulo...
"Sin embargo, hay un pero. Por desgracia, no se puede demostrar matemáticamente que el nuevo algoritmo funcione de forma correcta (los autores prometen intentar lograrlo en el futuro). " ... sensacionlaista

mecha

¿No lo habrán probado con listas casi ordenadas?

uxxx

que le pasen la ia a la web de renfe a ver si la optimiza

R

#18 no podrían garantizar que funcione, pero en este caso no es un problema

Siento aguar la fiesta, pero hay una demostración matemática que confirma que la forma más rápida de ordenar implica un coste de N*log(N) .

Quicksort no es el único algoritmo que puede ordenar en ese tiempo, aunque sí es de los más usados.

Así que la cosa suena un pelín sensacionalista.

Y para dejarlo claro, soy programador desde hace más de una década, también me dedico al aprendizaje automatico.

D

#48 el artículo así lo indica.

kucho

en matematicas no hay parecidos. o es mas rapido, o no lo es.

meneandro

#19 Formalmente, "ambos juegan en la misma liga" de velocidades, ambos son capaces de ordenar a una velocidad que es proporcional a la cantidad de datos (en otros algoritmos, por ejemplo, la velocidad decrece mucho más rápido que el aumento de la cantidad de datos). Por eso se dice que son parecidos.

Luego, en la photo finish, parece que el algoritmo "inventado" es un pelín más rápido que el quicksort, pero ni se sabe por qué, ni se sabe si siempre dará resultados correctos (dos cosas que si se conocen y se pueden demostrar en el quicksort). Sería como comparar dos F1 de la misma escudería y con los mismos reglajes, luego resulta que uno es una miseria más rápido que el otro pero no se sabe por qué (¿quizá tiene algo más de pintura en la carrocería? ¿algún filo o reborde está perjudicando la aerodinámica?) ni se puede probar cuál es la razón.

D

#28 De verdad comparas un algoritmo con un coche? lol lol lol

xenko

#5 #19 esto no son matemáticas, es deep learning. Un conjunto de recetas de cocina que, combinadas con un aprendizaje basado en pseudo-fuerza bruta, funcionan algo mejor que todo lo que se había hecho hasta ahora.

Ya no necesitamos demostraciones formales en aprendizaje computacional, como pasaba en los viejos tiempos de grandes como Vladimir Vapnik y Alexey Chervonenkis.

tranki

Está en un idioma raro, lástima (y paso del traductor en estos ámbitos)

tranki

#21@theolokun me has votado negativo sin contestar o comentar en contra a mi comentario. No me parece nada bien.
Yo no he faltado a nadie, simplemente he dado una opinión ya que me cuesta mucho entender temas de programación y matemáticas en otras lenguas, mira chico que le vamos a hacer...
Te devuelvo el negativo, pero si quieres podemos contrastar opiniones y aquí no ha pasado nada.

JungSpinoza

#34 ni me he dado cuenta que te he votado negativo. No era mi intencion. Toma te doy un positivo para compensar

tranki

#37 Joder, ahora me siento fatal, disculpa, yo hago lo mismo y perdona, que mal me sabe...

o

Parece = no noticia.

EspañoI

#8 a mi me da la impresión de que el algoritmo ha aprendido a cambiar de criterio de ordenación en función de la muestra o de la iteración que se encuentra.

Pero como es caja negra... Quien sabe!!!

r

#43 La muestra se supone que es aleatoria. Pero si no recuerdo mal quickshort usaba un pivote aleatorio, puede haber cambiado los parámetros o jugar con algo.
Caja negra entiendo que no, si es una red neuronal es un conjunto de valores. Otra cosa es que sí es un lío sacar una lógica de qué hace dentro.

p

#44 cualquier red neuronal multicapa con un numero decente de neuronas = no la vas a entender. Estoy con #43 el que prácticamente cualquier red neuronal ya entrenada es como una caja negra.

Para poder entenderla mas o menos, tendrias que tirar mas de la parte de aprendizaje y retropropagacion. Sinceramente, te seria más viable entender un ejecutable entero de 10MB desensamblandolo y analizando el ensamblador... que entender la mayoría de redes neuronales con uso practico/real (no usos de ejemplo académicos con tres capas y 5 neuronas...).

D

#6 Teniendo en cuenta que el 99,9% de los humanos usan/usamos la tecnología sin entender en profundidad cómo funciona, creo que no saber qué narices hace el algoritmo importa bien poco. El caso es que es útil.

kaostias

#41 El problema es otro. Al no haber una demostración matemática de que el algoritmo funciona sólamente disponemos de datos experimentales. El algoritmo de Hoare está comprobado y demostrado. Funciona. Sin una demostración matemática que prueba de forma irrefutable que el algoritmo hace lo que debe en un tiempo óptimo, puede ser que el día de mañana se encuentre un extraño caso en el que no funcione o su tiempo sea terrible, por ejemplo podría fallar si resulta que no ordena correctamente cuando los números son primos salteados con potencias de dos y están ordenados de mayor a maenor. Sin una demostración matemática, ese algoritmo no se debería utilizar en sistemas críticos ya que no sabes si va a funcionar. como dice #42, es un algoritmo caja negra, que hasta ahora se ha comportado como un algoritmo de ordenacion pero del que, en principio, no tenemos certeza de que siga haciéndolo

D

#45 Vale. Hagamos 2 algoritmos caja negra, con IAs para una misma tarea. En procesos críticos usaremos ambos, y si el resultado coincide, lo damos por bueno.
Imagino que la primera réplica es que tardamos el doble, y estoy de acuerdo. Pero y si no existe ningún otro algoritmo disponible para esa tarea en particular?

frankiegth

#41. Es como si la propia evolución biológica hubiera escrito tu comentario. Los cinco sentidos humanos son buena prueba de lo que afirmas si no se estudia medicina (y ni con esas).
(CC #6)

EspañoI

#6 es el problema de los algoritmos de caja negra.

Yo no lo considero ni siquiera un algoritmo de ordenación, sino un algoritmo que se comporta COMO un algoritmo de ordenación.

Efectivamente, un algoritmo de ordenación es un constructo matematico al servicio de la computación, y no al revés.

xyria

#5 Eso me pareció a mi.

J

#5 Es una noticia.
Hay una teoría que demuestra la complejidad de un algoritmo común y de forma empírica se ha demostrado que tal complejidad podría ser menor lo que lleva a la siguiente pregunta para averiguar el porqué pues experimentalmente se debería haber llegado a la misma conclusión que lo que la teoría dice, y no es el caso.

robustiano

#1 Gambas es un lenguaje de programación, pero no veo la relación...

D

#3 era la noticia de despues. Le he dado a editar pero se lo pasa por el forr* y no se como eliminar comentarios

D

#9 llama a un@admin

neo1999

#15 Creo que para avisar a un admin tienes que llamarlo así:@admin.