admin

Categorías

Coobis

Software

Geoffrey Hinton, el padre del aprendizaje profundo (deep learning)

Geoffrey Hinton, el padre del aprendizaje profundo (deep learning)

La Inteligencia Artificial está de moda gracias al aprendizaje profundo (deep learning), las redes de neuronas artificiales multicapa entrenadas con un algoritmo de retropropagación (backprop). Mucha gente cree ver una revolución emergente en esta tecnología; sin embargo, casi nada ha cambiado desde que el padre del aprendizaje profundo, Geoffrey Hinton, junto a dos colegas, introdujera el algoritmo de retropropagación en 1986. No solo lo digo yo en mis charlas, también lo dice él mismo, quien ahora es el científico más citado en aprendizaje profundo con gran diferencia respecto al siguiente.

En 2012, Hinton y dos estudiantes demostraron que las redes de neuronas artificiales convolucionales podían reconocer imágenes con mayor precisión que cualquier otra técnica basada en inteligencia artificial. El secreto de estas redes era su número de neuronas por capa (la red tenía nueve capas): la primera capa tenía 150 528 neuronas (para recibir como entrada una imagen en color de 224 × 224 × 3 píxeles); tras aplicar 96 filtros de 11 × 11 × 3 se pasaba a la segunda capa con 253 440 neuronas; tras aplicar 256 filtros de 5 × 5 × 48 se pasaba a la tercera capa de 86 624 neuronas; tras 384 filtros de 3 × 3 × 256 se pasaba a la cuarta capa de 64 896 neuronas; tras aplicar 384 filtros de 3 × 3 × 192 se pasaba a la quinta capa de 64 896 neuronas; tras otros 256 filtros de 3 × 3 × 192 se pasaba a la sexta capa de 43 264 neuronas; finalmente, sin filtros, se encuentran tres capas de 4096, 4096, y 1000 neuronas. Esta última capa clasifica las imágenes de entrada en hasta 1000 clases diferentes.

Dibujo20171002 convolutaional network geoffrey hinton et al nature14539-f2

Puede parecer que cambiar cientos o miles de neuronas por millones de neuronas es un cambio pequeño. Sin embargo, la potencia lograda con el cambio sorprendió a muchos, lo que llevó a Hinton a volver a publicar en Nature (no lo hacía desde 1986) y a que muchas empresas (Google, Apple, Facebook, etc.) se apuntasen al carro del aprendizaje profundo. Sin embargo, los grandes problemas de las redes de neuronas artificiales entrenadas con retropropagación no han sido resueltos aún. Entre ellos el problema del cuello de botella de la información (information bottleneck), descubierto en 1999.

El propio Hinton dice que “la mayoría de las conferencias sobre aprendizaje profundo solo presentan pequeñas variaciones de los algoritmos, sin plantearse problemas profundos sobre estos algoritmos”. En la inteligencia artificial hay más ingeniería que ciencia básica. Los avances futuros requieren una comprensión básica de cómo funcionan los sistemas de aprendizaje profundo y qué relación tienen con el funcionamiento de la mente humana.

Ampliar en: NAUKAS

El lenguaje Smalltalk podría ser el Nikola Tesla de la industria de TI

El lenguaje Smalltalk podría ser el Nikola Tesla de la industria de TINikola Tesla fue un inventor brillante y visionario que murió olvidado en gran medida.

Sus contribuciones al mundo fueron enormes, pero la gente todavía recuerda a Edison y Franklin y da Vinci y Bell. Durante décadas, los intentos de honrar a Tesla con un museo de Nueva York (EE.UU.) en Wardenclyffe fracasaron repetidamente. Solo recientemente han dado sus frutos

Aquí están algunas de las contribuciones de Tesla:

– inventó el primer motor de corriente alterna (AC)
– desarrolló la generación de CA y tecnología de transmisión
– creó la bobina Tesla, un transformador de alto voltaje que llegó a ser la génesis del tubo de rayos catódicos, radiotransmisor, radar y muchas otras tecnologías
– inventó la tecnología de rayos X
– inventó los dínamos y el motor de inducción
– inventó la primera radio operativa
– inventó la bombilla de luz fluorescente
– inventó el mando a distancia
– inventó la transmisión inalámbrica de electricidad
– diseñó la primera central hidroeléctrica de las Cataratas del Niágara

En 1887 y 1888, se le concedieron más de 30 patentes por sus invenciones.

Cuando Tesla faclleció en 1943, murió sin dinero y olvidado.

Smalltalk fue la creación de Alan Kay, un verdadero visionario que lideró un equipo brillante en Xerox PARC

Hoy en día, Smalltalk está muy subestimado. Aunque Kay nunca pensó que Smalltalk fuera el foco central de su visión, sigue siendo una poderosa fuerza para el avance de la tecnología de programación. Más de cuatro décadas después, ningún lenguaje de programación ha alcanzado a Smalltalk en términos de simplicidad y elegancia, mínima fricción cognitiva, pureza orientada a objetos, elegante codificación y depuración en vivo, enorme productividad de programador y respeto profesional.

En Slant and StackOverflow, Smalltalk es reverenciado: lee La Sabiduría de la muchedumbre.

Capers Jones de Namcook Analytics ha demostrado la tremenda ventaja de Smalltalk cuando se trata de la productividad de los programadores.

El IDE de codificación en vivo de Smalltalk y el runtime son increíblemente potentes sin la complejidad arcana que se encuentra en los IDEs modernos como Visual Studio, Eclipse y Xcode.

Smalltalk continúa evolucionando y mejorando de manera notable a través del proyecto Pharo. He aquí algunas grandes innovaciones:

– NativeBoost – tener un ensamblador en línea definitivamente no es una característica común en un lenguaje dinámico. NativeBoost ha evolucionado desde entonces a la Interfaz Unificada de Función Extranjera (o UFFI).
– Moose es un conjunto de herramientas de visualización de códigos que contiene muchos medios para visualizar y analizar el código.
– Amber, que utiliza Pharo como lenguaje de referencia, es una fantástica herramienta de programación web de primera línea.
– PharoJS es otra herramienta de programación web excelente.
– Continuations: son una característica maravillosa en el marco web de Seaside.
– Fuel: una forma de serializar objetos vivos y de transportar sus objetos.
– Oz – permite que una imagen manipule otra. Muy bueno para depurar una imagen que se ha bloqueado y no puede abrir/cargar.
– Pharo Launcher te permite gestionar tus imágenes Pharo (lanzar, renombrar, copiar y eliminar) y descargar plantillas de imágenes (es decir, archivos zip) de muchas fuentes diferentes para crear nuevas imágenes a partir de cualquier plantilla.
– SmalltalkHub es el Github de Pharo, pero a diferencia de Github es totalmente open source y todo Smalltalk.
– Phratch es un puerto de Scratch a Pharo – esto es importante porque Scratch ha sido transferido a HTML5 y esto es un esfuerzo para mantener basado en Scratch Smalltalk. Phratch es una plataforma excelente para enseñar a los niños a codificar.
– Shampoo – buen soporte para Pharo en Emacs; puedes reemplazar la GUI Pharo con Emacs y disfrutar de los beneficios de este poderoso editor.

Legado

Como Tesla, Smalltalk tiene un legado maravilloso. Su bella implementación de programación orientada a objetos ha influido directamente en el diseño de casi todos los lenguajes orientados a objetos que usamos hoy en día: Java, Python, C#, PHP, Ruby, Perl, Objective-C, Groovy, Scala, Dart, Erlang, CLOS.

Smalltalk introdujo al mundo a la máquina virtual de lenguajes. (No, no fue el primero, pero fue el más conocido.) Esta es la misma tecnología que soporta Java y. NET.

Smalltalk fue pionera en la recopilación JIT (just-in-time).

De Smalltalk surgió el primer IDE moderno (entorno de desarrollo integrado), que incluía un editor de texto, un navegador de sistemas o clases, un inspector de objetos o propiedades y un depurador.

Smalltalk fue la primera herramienta de lenguaje que soportó programación en vivo y técnicas avanzadas de depuración tales como inspección sobre la marcha y cambios de código durante la ejecución en una forma fácilmente utilizable.

Desde que Smalltalk-80 (en 1980), tenía funciones y clausuras de primera clase que, curiosamente, hacen que Smalltalk sea bastante bueno para la programación funcional. Bastante notable para un lenguaje «puro» orientado a objetos. (¿Cuánto tiempo tardó Java, Python, C# y C++ en obtener esta función?

Smalltalk introdujo el patrón arquitectónico de software MVC (Model-View-Controller).

En gran medida, Smalltalk es responsable de proporcionarnos un desarrollo basado en pruebas (o TDD) y una programación extrema (o XP), que son ambos muy influyentes en las prácticas ágiles estándar de hoy en día.

Smalltalk hizo de «teclear el pato» una palabra familiar. La escritura de tipo de pato es donde la «comprobación de tipo» se aplaza hasta el tiempo de ejecución – cuando se utilizan las capacidades de reflexión para asegurar un comportamiento correcto. Hoy en día, encontramos el mecanografiado de patos en muchos idiomas, incluyendo Java, Python, Go, Groovy, Objective-C y PHP.

Smalltalk ha sido pionera en el desarrollo de bases de datos de objetos de las que GemStone/S es un gran ejemplo.

Smalltalk nos dio el primer navegador de refactoring.

Smalltalk fue fundamental en el desarrollo de la interfaz gráfica de usuario (o GUI) y la interfaz de usuario «lo que ves es lo que obtienes» (WYSIWYG).

La gente no se da cuenta de esto, pero Smalltalk es tan extensible como Lisp! Lee Lisp, Smalltalk, y el Poder de la Simetría. ¿Quién necesita las macros Lisp?

El éxito de Apple debe mucho a Smalltalk. Es verdad!

El objetivo C ha sido la base de macOS e iOS, y el objetivo C es esencialmente un cruce entre C y Smalltalk.
MacOS evolucionó a partir de NeXTStep, que se construyó con el Objetivo-C.

Steve Jobs se inspiró en la GUI y WIMP de Xerox PARC para realinear completamente la estrategia de Apple; la GUI fue una salida directa del trabajo de Smalltalk.

¡Uf! ¡Nikola Tesla habría estado orgullosa!

Ampliar en: Hackernoon

DeepL instruye a otros traductores en línea con aprendizaje automático inteligente

Comparación traductores automáticos

Los gigantes tecnológicos Google, Microsoft y Facebook están aplicando las lecciones de aprendizaje automático (machine learning) a la traducción, pero una pequeña empresa llamada DeepL las ha superado a todas y ha elevado el listón en este campo. Su herramienta de traducción es tan rápida como la competencia, pero más precisa y matizada que cualquiera de las que se conocen.

Mientras que Google Translate a menudo busca una traducción muy literal que no tiene en cuenta algunos matices y expresiones idiomáticas (o que la traducción de estas expresiones idiomáticas es un error), DeepL a menudo proporciona una traducción más natural que se acerca más a la de un traductor capacitado.

Algunas pruebas de mi propia experiencia con alguna literatura francesa que conozco lo suficientemente bien como para juzgar que DeepL gana habitualmente. Menos errores de tensión, intención y concordancia, además de una mejor comprensión y despliegue del lenguaje hacen que la traducción sea mucho más legible. Nosotros pensamos que sí, y también los traductores en las pruebas ciegas de DeepL.

Si bien es cierto que el significado puede transmitirse con éxito a pesar de los errores, como lo demuestra la utilidad que todos hemos encontrado en las traducciones automáticas más pobres, está lejos de garantizar que cualquier traducción valga.

Linguee evolucionado

DeepL nació de Linguee, una herramienta de traducción que existe desde hace años y, aunque popular, nunca llegó a alcanzar el nivel de Google Translate, esta última tiene una enorme ventaja en marca y posición. El cofundador de Linguee, Gereon Frahling, solía trabajar para Google Research, pero en 2007 abandonó la empresa para dedicarse a esta nueva empresa.

El equipo ha estado trabajando con el aprendizaje automático durante años, para tareas adyacentes a la traducción principal, pero fue sólo el año pasado que comenzaron a trabajar en serio en un sistema y una empresa completamente nuevos, que llevarían el nombre de DeepL.

Frahling dijo que había llegado el momento:»Hemos construido una red de traducción neuronal que incorpora la mayoría de los últimos desarrollos, a los que hemos añadido nuestras propias ideas».

Una enorme base de datos de más de mil millones de traducciones y consultas, además de un método de traducción mediante la búsqueda de fragmentos similares en la web, sirvió para una base sólida en el entrenamiento del nuevo modelo. También armaron lo que dicen que es el 23º superordenador más poderoso del mundo, convenientemente ubicado en Islandia.

Los desarrollos publicados por universidades, agencias de investigación y competidores de Lingueee demostraron que las redes neuronales convolucionales eran el camino a seguir, en lugar de las redes neuronales recurrentes que la empresa había estado utilizando anteriormente. Este no es realmente el lugar para entrar en las diferencias entre las CNNs y las RNNs, por lo que debe ser suficiente decir que para una traducción precisa de largas y complejas cadenas de palabras relacionadas, la primera es una mejor opción siempre y cuando se pueda controlar sus debilidades.

Por ejemplo, de una CNN podría se puede decir que aborda una palabra de la oración a la vez. Esto se convierte en un problema cuando, por ejemplo, como sucede comúnmente, una palabra al final de la oración determina cómo debe formarse una palabra al principio de la oración. Es un desperdicio repasar toda la oración sólo para encontrar que la primera palabra que la red escogida está equivocada, y luego empezar de nuevo con ese conocimiento, así que DeepL y otros en el campo de aprendizaje automático aplican «mecanismos de atención» que monitorean esos posibles tropiezos y los resuelven antes de que la CNN pase a la siguiente palabra o frase.

Hay otras técnicas secretas en juego, por supuesto, y su resultado es una herramienta de traducción que personalmente usaré por fefecto. Espero con impaciencia ver a los demás mejorar su juego.

Google Transformer resuelve un problema complicado en la traducción automática

El aprendizaje automático ha resultado ser una herramienta muy útil para la traducción, pero tiene algunos puntos débiles. La tendencia de los modelos de traducción a hacer su trabajo palabra por palabra es una de ellas, y puede llevar a errores graves. Google detalla la naturaleza de este problema, y su solución, en un interesante post en su blog de Investigación.

El problema se explica bien por Jakob Uszkoreit, del departamento de procesamiento del lenguaje natural de la empresa. Considere las dos oraciones siguientes:

Llegué al banco después de cruzar la calle.

Llegué al banco después de cruzar el río.

Obviamente,»banco» significa algo diferente en cada oración, pero un algoritmo que mastica su camino podría fácilmente escoger el equivocado, ya que no sabe qué «banco» es el correcto hasta que llega al final de la oración. Esta clase de ambigüedad está en todas partes una vez que empiezas a buscarla.

Yo, yo sólo reescribiría la oración (Strunk and White advirtió sobre esto), pero por supuesto que no es una opción para un sistema de traducción. Y sería muy ineficaz modificar las redes neuronales para traducir básicamente toda la oración y ver si está pasando algo raro, y luego intentarlo de nuevo si lo hay.

La solución de Google es lo que se llama un mecanismo de atención, integrado en un sistema que llama Transformer. Compara cada palabra con cada palabra de la oración para ver si alguna de ellas afectará la una a la otra de alguna manera clave – para ver si «él» o «ella» está hablando, por ejemplo, o si una palabra como «banco» significa algo en particular.

Cuando la oración traducida está siendo construida, el mecanismo de atención compara cada palabra como se agrega a cada otra. Este gif ilustra todo el proceso. Bueno, más o menos.

Traductor Google

Una empresa de traducción competidora de Google, DeepL, también utiliza un mecanismo de atención. Su co-fundador citó este problema como uno en el que también habían trabajado duro, e incluso mencionó queestá basado en el artículo de Google  (atención es todo lo que necesitas), aunque obviamente hicieron su propia versión. Y una muy efectiva, quizás incluso mejor que la de Google.

Un efecto secundario interesante del enfoque de Google es que da una ventana a la lógica del sistema: porque Transformer le da a cada palabra una puntuación en relación con cada otra palabra, se puede ver qué palabras «piensa» que están relacionadas, o potencialmente relacionadas:

Google Transformer

Este es otro tipo de ambigüedad, donde «él» podría referirse a la calle o al animal, y sólo la última palabra lo delata. Lo resolveríamos automáticamente, pero las máquinas deben ser enseñadas.

Block-chain en la cadena de suministros alimentarios

Block-chain, IBMIBM anunció hoy que está trabajando con un consorcio que incluye Dole, Golden State Foods, Kroger, McCormick y Company, Nestlé, Tyson Foods, Unilever y Walmart para llevar el beneficio de las cadenas de bloques (block-chains) a la cadena de suministro de alimentos.

IBM, al igual que la mayoría de sus competidores en el espacio de computación en la nube pública, ha estado trabajando en varios proyectos de cadenas de bloques en los últimos meses.

Dada la complejidad de la cadena de suministro de alimentos de productor a consumidor, block-chains podría encontrar un nicho muy interesante aquí porque permitiría más transparencia y trazabilidad (especialmente cuando las cosas van mal). La idea detrás de este proyecto y la colaboración entre estas diferentes empresas es averiguar dónde exactamente puede beneficiar el ecosistema de alimentos.

«La tecnología de Blockchain permite una nueva era de transparencia de extremo a extremo en el sistema alimentario mundial», escribe Frank Yiannas, vicepresidente de seguridad alimentaria de Walmart. «También permite a todos los participantes compartir información rápidamente y con confianza a través de una sólida red de confianza».

No es de sorprender que la Plataforma Blockchain de IBM constituya la base de gran parte de este trabajo. Soporta las tecnologías Hyperledger Fabric y Hyperledger Composer de Linux Foundation para la creación de aplicaciones basadas en cadenas de bloques.

Es interesante ver cómo una serie de grandes jugadores están trabajando para llevar block-chains a las empresas. A principios de este mes, por ejemplo, Microsoft lanzó un nuevo proyecto para hacer block-chains listos para la empresa, también, por ejemplo. A principios de este año, un estudio de IBM también encontró que un tercio de las empresas están buscando en cómo esta tecnología puede beneficiar a su negocio.

Lenguaje de programación completamente en español

Actualidad Informática.Lenguaje de programación completamente en español. Rafael Barzanallana

 

 

 

Con este lenguaje de programación en español puede que te resulte más fácil aprender a programar, pero ¿no será perjudicial?

El inglés es el idioma dominante en la informática, no importa dónde vivas. Es el idioma estándar de facto, y prácticamente nadie se ha planteado usar otro idioma.

No es de extrañar, teniendo en cuenta que muchas de las innovaciones que usamos hoy en día fueron inventadas en su momento en países de habla inglesa, o con una fuerte influencia de ese idioma. Incluso en países con otras lenguas predominantes, el inglés suele ser la primera opción, o como mucho la segunda.

Latino“,  es un lenguaje de programación completamente en español, que básicamente cambia el nombre de las funciones, variables y otros elementos por palabras en español.

Por ejemplo, la función de imprimir en pantalla sería así:

imprimir("Hola Mundo")

Por lo tanto, Latino puede ser un buen lenguaje para aprender a programar, sobre todo si no sabemos inglés y queremos algo más familiar; al escribir en nuestro idioma materno, comprenderemos mejor qué es lo que hace cada función y comprenderemos mejor la estructura del programa.

Ayuda también que Latino sea un lenguaje bastante simple, similar en algunos aspectos a PHP en el sentido de que es más un lenguaje de scripts que un intérprete ejecutará, y no un lenguaje que tengamos que compilar como C.

Además, Latino es un lenguaje de alto nivel, lo que significa que no tendremos que gestionar aspectos más complicados como la memoria; sólo tenemos que escribir lo que queremos que el programa haga.

Ampliar en: Latino

El futuro de Adobe Flash

Actualidad Informática. El futuro de Adobe Flash. Rafael Barzanallana

¿Por qué la gente participa en la creación de software libre?

Actualidad Informática. ¿Por qué la gente participa en la creación de software libre?. Rafael Barzanallana

No debemos entorpecer el desarrollo de cosas como el software de código abierto, en el que a muchos de los participantes se les remunera por trabajar en el proyecto, pero a muchos otros no y, a pesar de ello, contribuyen de forma gratuita.

El éxito del software libre y de código abierto no cesa de desconcertar a los economistas. ¿Cómo es posible que un software producido en gran medida por voluntarios que no son propietarios del mismo ni obtienen beneficios del código que crean, sea mejor que un software elaborado por desarrolladores que cobran por ello?

La razón más habitual que aducen los que colaboran de forma altruista en estos proyectos de código abierto es que lo hacen por el placer o el disfrute intelectual. Concretamente ofrecen esta respuesta el 44% de los entrevistados en un estudio clásico elaborado por Karim Lakhani y Robert Wolf. La segunda razón más importante consistía en mejorar sus conocimientos. Otra razón ampliamente citada era más normativa o ideológica: los códigos deberían ser abiertos.

Por lo tanto, la gente aporta su tiempo y su esfuerzo de manera gratuita porque creen que es lo correcto, que contribuir es justo, porque ello intensifica su sentimiento de identidad y comunidad, y, sencillamente, porque es divertido.

Ampliar en: XATAKA Ciencia

Licencia CC

Qué lenguaje de programación es adecuado para aprender

Actualidad Informática. Qué lenguaje de programación es adecuado para aprender. Rafael Barzanallana

Infografía: historia programación de ordenadores

Actualidad Informática. Infografía: historia programación de ordenadores. Rafael Barzanallana

Related Posts with Thumbnails

Calendario

noviembre 2024
L M X J V S D
« Nov    
 123
45678910
11121314151617
18192021222324
252627282930  

Spam

Otros enlaces

  • Enlaces

    Este blog no tiene ninguna relación con ellos, ni los recomienda.


  • Paperblog

    autobus las palmas aeropuerto cetona de frambuesa