Solicite la traducción al chino del texto completo de Deep learning Yann LeCun 1, 2, Yoshua Bengio 3 amp Geoffrey Hinton 4, 5.
Resumen original: El aprendizaje profundo permite que modelos computacionales con múltiples capas de procesamiento aprendan representaciones de datos con múltiples niveles de abstracción. Estos métodos han dado lugar a mejoras significativas en muchos aspectos, incluido el reconocimiento de voz de última generación, el reconocimiento visual de objetos, la detección de objetos y muchas otras áreas, como el descubrimiento de fármacos y la genómica. El aprendizaje profundo puede descubrir estructuras complejas en big data. Utiliza el algoritmo BP para completar este proceso de descubrimiento. El algoritmo BP puede indicarle a la máquina cómo obtener el error de la capa anterior y cambiar los parámetros internos de esta capa. Estos parámetros internos se pueden utilizar para calcular la representación. Las redes convolucionales profundas han aportado avances en el procesamiento de imágenes, vídeos, voz y audio, mientras que las redes recurrentes se han mostrado prometedoras en el procesamiento de datos de secuencia, como texto y voz.
La tecnología de aprendizaje automático ha demostrado funciones poderosas en todos los aspectos de la sociedad moderna: desde la búsqueda web hasta el filtrado de contenido de redes sociales y las recomendaciones de productos en sitios web de comercio electrónico. Y está apareciendo cada vez más en productos de consumo, como cámaras y teléfonos inteligentes.
Los sistemas de aprendizaje automático se utilizan para identificar objetos en imágenes, convertir voz en texto, relacionar elementos de noticias, ofrecer trabajos o productos basados en los intereses de los usuarios y seleccionar resultados de búsqueda relevantes. Cada vez más, estas aplicaciones utilizan una tecnología llamada aprendizaje profundo. La tecnología tradicional de aprendizaje automático tiene capacidades limitadas al procesar datos no procesados. Durante décadas, construir un sistema de reconocimiento de patrones o un sistema de aprendizaje automático requirió un motor sofisticado y una experiencia considerable para diseñar un extractor de características que convierta datos sin procesar (como los valores de píxeles de una imagen) en una representación interna apropiada o un vector de características. , un sistema de subaprendizaje, generalmente un clasificador, detecta o clasifica muestras de entrada. El aprendizaje de representación de características es un conjunto de métodos que introducen datos sin procesar en una máquina y luego descubren automáticamente expresiones que deben detectarse y clasificarse. El aprendizaje profundo es un método de aprendizaje de funciones que transforma datos originales en expresiones más abstractas y de mayor nivel a través de algunos modelos simples pero no lineales. Con suficientes combinaciones de transformaciones se pueden aprender funciones muy complejas. Para tareas de clasificación, la representación de alto nivel puede mejorar los aspectos discriminativos de los datos de entrada y al mismo tiempo debilitar los factores irrelevantes. Por ejemplo, si el formato original de una imagen es una matriz de píxeles, entonces la expresión de la característica de aprendizaje en la primera capa generalmente se refiere a si hay bordes en una posición y dirección específicas de la imagen. La segunda capa normalmente detecta patrones basados en ciertas emisiones de esos bordes, lo que ignora pequeñas perturbaciones en algunos bordes. Una tercera capa podría combinar esos patrones para que correspondan a partes de un objetivo familiar. Las capas posteriores recombinan estas partes para formar el objeto a detectar. El aspecto central del aprendizaje profundo es que las características de cada una de las capas anteriores no se diseñan mediante ingeniería manual, sino que se aprenden a partir de datos mediante un proceso de aprendizaje común.
El aprendizaje profundo está logrando avances significativos, resolviendo problemas que la comunidad de inteligencia artificial no ha podido lograr durante muchos años a pesar de sus mejores esfuerzos. Ha demostrado ser bueno para descubrir estructuras complejas en datos de alta dimensión, por lo que puede usarse en campos como la ciencia, los negocios y el gobierno. Además de batir récords en áreas como el reconocimiento de imágenes y el reconocimiento de voz, también supera otras técnicas de aprendizaje automático en otras áreas, incluida la predicción de la actividad de posibles moléculas de fármacos, el análisis de datos de aceleradores de partículas, la reconstrucción de circuitos cerebrales y la predicción de mutaciones en Codificación del ADN. Efectos sobre la expresión genética y las enfermedades. Quizás lo más sorprendente sea que el aprendizaje profundo haya producido resultados muy prometedores en diversas tareas de comprensión del lenguaje natural, especialmente la clasificación de temas, el análisis de sentimientos, la respuesta automática a preguntas y la traducción de idiomas. Creemos que el aprendizaje profundo tendrá más éxito en el futuro cercano porque requiere menos ingeniería manual y puede beneficiarse fácilmente de los aumentos en la potencia informática y los volúmenes de datos disponibles. Los nuevos algoritmos y arquitecturas de aprendizaje que se están desarrollando actualmente para redes neuronales profundas no harán más que acelerar este proceso.
Aprendizaje supervisado
En el aprendizaje automático, ya sea profundo o no, la forma más común es el aprendizaje supervisado. Imaginemos que queremos construir un sistema que pueda clasificar una imagen que contenga una casa, un automóvil, una persona o una mascota. Primero recopilamos un gran conjunto de datos de imágenes de casas, automóviles, personas y mascotas, y etiquetamos cada objeto con su categoría. Durante el entrenamiento, la máquina toma una imagen y produce una salida representada como un vector de puntuaciones, una para cada categoría. Queremos que la clase deseada tenga la puntuación más alta entre todas las clases, pero es poco probable que esto suceda antes del entrenamiento. El error (o distancia) entre la puntuación de salida y la puntuación del patrón deseado se obtiene calculando una función objetivo. Luego, la máquina modifica sus parámetros internos ajustables para reducir este error. Estos parámetros ajustables, a menudo llamados pesos, son números reales que pueden verse como "perillas" que definen las funciones de entrada y salida de la máquina. En un sistema de aprendizaje profundo típico, puede haber millones de muestras, pesos y muestras etiquetadas que se utilizan para entrenar la máquina. Para ajustar el vector de peso correctamente, el algoritmo de aprendizaje calcula un vector de gradiente para cada peso, que representa la cantidad en la que el error aumentará o disminuirá si el peso aumenta en una pequeña cantidad. Luego, el vector de peso se ajusta en la dirección opuesta al vector de gradiente. Nuestra función objetivo, el promedio de todas las muestras de entrenamiento, puede verse como un terreno variable en un espacio de pesos de alta dimensión. Un vector de gradiente negativo indica la dirección de descenso más rápida en ese terreno, acercándolo al mínimo, donde el error de salida promedio es más bajo.
En aplicaciones prácticas, la mayoría de los profesionales utilizan un algoritmo llamado descenso de gradiente estocástico (SGD). Consiste en proporcionar algunas muestras de vectores de entrada, calcular la salida y el error, calcular el gradiente promedio de estas muestras y luego ajustar los pesos en consecuencia. Este proceso se repite para entrenar la red proporcionando pequeños conjuntos de muestras hasta que la función objetivo deje de crecer. Se llama estocástico porque un conjunto de muestras pequeño tendrá una estimación ruidosa del gradiente promedio de toda la muestra. Este sencillo proceso suele encontrar un buen conjunto de pesos y es sorprendentemente rápido en comparación con otras técnicas de optimización bien diseñadas. Después del entrenamiento, el sistema mostrará el rendimiento del sistema a través de diferentes conjuntos de prueba y muestras de datos. Esto se utiliza para probar la capacidad de la máquina para generalizar: su capacidad para reconocer nuevas muestras en las que no ha sido entrenada.
Muchas técnicas de aprendizaje automático en aplicaciones actuales utilizan clasificadores lineales para clasificar características extraídas manualmente. Un clasificador lineal de 2 clases calcula una suma ponderada de vectores de características. Cuando la suma ponderada excede un umbral, la muestra de entrada se asigna a una categoría específica. Desde la década de 1960, sabemos que los clasificadores lineales sólo pueden dividir muestras en regiones muy simples, es decir, dividir el espacio en dos partes mediante un hiperplano.
Pero problemas como el reconocimiento de imágenes y voz requieren que la función de entrada-salida no sea demasiado sensible a cambios en factores irrelevantes en la muestra de entrada, como cambios en la posición, dirección o iluminación del objetivo. o Cambios en el tono o la entonación en el habla, etc., pero debe ser muy sensible a algunos pequeños cambios específicos (por ejemplo, la diferencia entre un lobo blanco y un perro parecido a un lobo blanco llamado Samoyedo). A nivel de píxeles, se puede decir que las imágenes de dos perros samoyedo en diferentes posturas y en diferentes entornos son muy diferentes. Sin embargo, un perro samoyedo y un lobo no son iguales en la misma posición. muy similar.
Figura 1 Red neuronal multicapa y algoritmo BP
La red neuronal multicapa (representada por puntos de conexión) puede integrar el espacio de entrada para que los datos (representados por rojo y azul muestra de líneas) es linealmente separable. Observe cómo la cuadrícula regular en el espacio de entrada (izquierda) es transformada por la capa oculta (la transformada está a la derecha). Este ejemplo solo utiliza dos nodos de entrada, dos nodos ocultos y un nodo de salida, pero las redes utilizadas para el reconocimiento de objetos o el procesamiento del lenguaje natural a menudo contienen docenas o cientos de dichos nodos.
Obtenido C.Olah (m) y Samsung están desarrollando chips de redes neuronales convolucionales para habilitar sistemas de visión en tiempo real en teléfonos inteligentes, cámaras, robots y vehículos autónomos.
Representación distribuida de funciones y procesamiento del lenguaje p>
En comparación con los algoritmos de aprendizaje clásicos que no utilizan representaciones distribuidas, la teoría del aprendizaje profundo muestra que las redes profundas tienen dos grandes ventajas diferentes. Estas ventajas provienen de las características de cada nodo en la red y dependen de la distribución. de los datos generados subyacentes con una estructura razonable. En primer lugar, el aprendizaje de representaciones de características distribuidas se puede generalizar a la combinación de valores de características recién aprendidos (por ejemplo, hay 2n combinaciones posibles de características n-arias). En segundo lugar, la capa de representación combinada. en la red profunda trae otra ventaja potencial exponencial (profundidad exponencial)
La capa oculta en la red neuronal multicapa utiliza la entrada de datos en la red para realizar el aprendizaje de características, lo que facilita la predicción de la salida objetivo. Aquí hay un buen ejemplo de demostración, como tomar el contenido del texto local como entrada y entrenar una red neuronal multicapa para predecir la siguiente palabra en la oración. Cada palabra del contenido se representa en la red. , es decir, cada componente tiene un valor de 1 y el resto son todos 0. En la primera capa, cada palabra crea un estado de activación diferente, o vector de palabra (Figura 4, las capas restantes en . La red aprende y convierte los vectores de palabras de entrada en vectores de palabras de salida para predecir la siguiente palabra de la oración. La red puede aprender prediciendo las palabras del vocabulario como la siguiente palabra de la oración de texto. y pueden interpretarse como características independientes de las palabras, como en el primer ejemplo de texto que aprende a representar símbolos literales. Estas características semánticas no están representadas explícitamente en la entrada. El uso de 'microreglas' (traducido literalmente como: microreglas). en este artículo) se descubrió durante el proceso de aprendizaje y sirve como una buena manera de descomponer la estructura de relaciones entre los símbolos de entrada y salida cuando las oraciones se derivan de una gran cantidad de oraciones de la vida real. Cuando el texto y las microrreglas individuales no son confiables, El aprendizaje de vectores de palabras también puede funcionar bien cuando se utiliza un modelo entrenado para predecir nuevas instancias, algunas palabras con conceptos similares son fáciles de confundir, como martes y miércoles (miércoles), Suecia y Noruega. sus elementos no son mutuamente excluyentes y su información de construcción corresponde a cambios en los datos observados. Estos vectores de palabras se construyen a partir de características aprendidas que no están determinadas por expertos pero que ahora son ampliamente descubiertas por redes neuronales. utilizado en lenguajes naturales.
Figura 4 Visualización del aprendizaje de vectores de palabras
El centro del debate sobre la representación de características se encuentra entre la comprensión de la heurística basada en la lógica y la comprensión basada en redes neuronales. En el paradigma inspirado en la lógica, una entidad simbólica representa algo porque sus propiedades únicas son iguales o diferentes de otras entidades simbólicas. La instancia del símbolo no tiene estructura interna y la estructura está relacionada con el uso. En cuanto a la comprensión de la semántica del símbolo, debe corresponder razonablemente a las reglas de inferencia cambiantes. Por el contrario, las redes neuronales utilizan una gran cantidad de vectores de actividad, matrices de peso y no linealidades escalares para lograr funciones "intuitivas" rápidas que puedan respaldar un razonamiento simple y fácil de sentido común.
Antes de presentar el modelo de lenguaje neuronal, describamos brevemente el método estándar, que es un modelo de lenguaje basado en estadísticas que no utiliza representación de características distribuidas. En cambio, la frecuencia de aparición de secuencias de símbolos cortas aumenta a N (N-gramos, N-gramas) según las estadísticas. El número de N-gramas posibles se acerca a VN, donde V es el tamaño del vocabulario, lo que requiere un corpus muy grande considerando que el contenido del texto contiene miles de palabras.
Los N-gramas tratan cada palabra como una unidad atómica y, por lo tanto, no pueden generalizarse a través de secuencias de palabras semánticamente relacionadas, mientras que los modelos de lenguaje de redes neuronales sí pueden hacerlo porque asocian cada palabra con un vector de valores de características reales y en el espacio vectorial se ubican palabras semánticamente relacionadas. cerca uno del otro (Figura 4).
Redes neuronales recurrentes
Cuando se introdujo por primera vez el algoritmo de retropropagación, lo más interesante fue el uso de redes neuronales recurrentes (en lo sucesivo, RNN) para el entrenamiento. Para tareas que implican entrada de secuencia, como el habla y el lenguaje, el uso de RNN puede lograr mejores resultados. Los RNN procesan elementos de secuencia de entrada uno a la vez, mientras mantienen un "vector de estado" implícito en las unidades implícitas en la red que contiene información histórica sobre elementos de secuencia en momentos pasados. Si se trata de la salida de diferentes neuronas en una red multicapa profunda, consideraremos la salida de esta unidad implícita en diferentes pasos de tiempo discretos, lo que aclarará cómo utilizar la retropropagación para entrenar RNN (Figura 5, derecha).
Figura 5 Red neuronal recurrente
Las RNN son sistemas dinámicos muy poderosos, pero entrenarlos ha resultado problemático porque el gradiente de retropropagación aumenta o disminuye en cada intervalo de tiempo, es decir, después de un período. de tiempo hará que los resultados aumenten o bajen a cero.
Debido a la arquitectura avanzada y los métodos de entrenamiento, se ha descubierto que los RNN son muy buenos para predecir el siguiente carácter en un texto o la siguiente palabra en una oración, y se pueden aplicar a tareas más complejas. Por ejemplo, después de leer las palabras de una oración en inglés en un momento determinado, se entrenará una red "codificadora" en inglés para que el vector de estado final de la unidad implícita pueda representar bien el significado o la idea que expresará la oración. Este "vector de pensamiento" se puede utilizar como un estado implícito de inicialización (o entrada adicional) para entrenar conjuntamente una red "codificadora" francesa, cuya salida es una distribución de probabilidad de la primera palabra de la traducción francesa. Si se selecciona una primera palabra particular de la distribución como entrada a la red de codificación, se generará la distribución de probabilidad de la segunda palabra en la oración traducida hasta que se detenga la selección. En general, este proceso genera secuencias de palabras francesas basadas en distribuciones de probabilidad de oraciones en inglés. El rendimiento de este sencillo método de traducción automática es incluso comparable a los métodos más modernos y también plantea dudas sobre si la comprensión de oraciones requiere la manipulación de representaciones simbólicas internas mediante reglas de inferencia. Esto coincide con la idea de que el razonamiento cotidiano también implica establecer analogías a partir de conclusiones razonables.
Las palabras restantes superan el límite de palabras...