Después de resolver cientos de preguntas, llegué a la conclusión de que 10 entrevistas de ciencia de datos deben dominar conceptos ...


El texto completo es de 2614 palabras y el tiempo de aprendizaje esperado es de 7 minutos.

Fuente: Google

 

El aprendizaje profundo y las redes neuronales no son simples, pero afortunadamente, la cantidad de pruebas de entrevistas es limitada. Después de analizar cientos de preguntas de entrevistas sobre ciencia de datos, este artículo resume los 10 conceptos de aprendizaje profundo que ocurren con mayor frecuencia. No hay mucho que decir, ¡comencemos!

 

1. Funciones de activación

 

Si no tiene un conocimiento básico de las redes neuronales y su estructura, le sugiero que lea el artículo de Terence Shin "Una explicación para principiantes de cómo funcionan las redes neuronales".

 

Una vez que tenga una comprensión básica de las neuronas o los nodos, encontrará que las funciones de activación, como los interruptores de luz, pueden determinar si se activan las neuronas.

 

                            

Hay varios tipos de funciones de activación, pero la función de activación más popular es la función de unidad lineal rectificada, también conocida como función ReLU. La función ReLU es mejor que la función sigmoidea y la función tangente hiperbólica porque realiza un descenso de gradiente más rápido.

 

Tenga en cuenta que en la imagen, cuando x (o z) es grande, la pendiente es muy pequeña, lo que ralentizará significativamente el descenso del gradiente, pero esta situación no aparecerá en la función ReLU.

 

2. Función de costo (función de costo)

 

La función de costo de la red neuronal es similar a la función de costo de otros modelos de aprendizaje automático. Mide qué tan "bueno" se compara el valor predicho de la red neuronal con el valor real. La función de costo es inversamente proporcional a la calidad del modelo: cuanto mayor es la calidad del modelo, menor es la función de costo y viceversa.

 

La función de costo es el valor óptimo. Al reducir la función de costo de la red neuronal, se pueden obtener los pesos y parámetros óptimos del modelo, a fin de maximizar el rendimiento del modelo.

 

Hay varias funciones de costo de uso común, incluido el costo cuadrático, el costo de entropía cruzada, el costo exponencial, la distancia de Hellinger, la divergencia de Kullback-Leibler, etc.

 

3. Algoritmo de retropropagación (retropropagación)

 

El algoritmo de retropropagación es un algoritmo estrechamente relacionado con la función de costo. En concreto, es un algoritmo para calcular el gradiente de la función de coste. En comparación con otros algoritmos, la propagación inversa es rápida y eficiente, por lo que es muy popular.

 

En este algoritmo, el cálculo del gradiente comienza desde el gradiente de la última capa de pesos y luego se propaga de nuevo a la primera capa de pesos. Por lo tanto, el error de la capa k-ésima depende de la capa k + 1. "Retropropagación" también recibió su nombre.

 

Generalmente, el principio de funcionamiento de la retropropagación es el siguiente:

 

· Calcular la función de pérdida de cada par de entrada-salida en la fase directa

· Calcule la función de pérdida para cada par de fases inversas

· Combina los valores de gradiente de cada peso

· Actualice los pesos según la tasa de aprendizaje y el gradiente total

 

4. Redes neuronales convolucionales (redes neuronales convolucionales)

 

La red neuronal convolucional (CNN) es una red neuronal que extrae información de entrada (generalmente una imagen), clasifica diferentes características de la imagen según el grado de importancia y luego genera predicciones. La razón por la que CNN es superior a las redes neuronales feedforward es que puede capturar mejor la dependencia espacial (píxeles) de la imagen completa, lo que significa que puede comprender mejor la composición de la imagen.

 

CNN utiliza una operación matemática llamada "convolución". Wikipedia define la convolución de la siguiente manera: la operación matemática de dos funciones produce una tercera función, que representa cómo la forma de una función es modificada por otra función. Por lo tanto, CNN usa la convolución en al menos una de sus capas en lugar de la multiplicación de matrices general.

 

5. Redes neuronales recurrentes

 

 

La red neuronal recurrente (RNN) es otro tipo de red neuronal que puede capturar información de entrada de varios tamaños, por lo que se puede utilizar con datos de secuencia con excelentes resultados. RNN considera tanto la entrada actual como la entrada dada previamente, lo que significa que la misma entrada puede producir técnicamente diferentes salidas basadas en la entrada dada anteriormente.

 

Técnicamente hablando, RNN es un tipo de red neuronal en la que las conexiones entre los nodos forman un gráfico dirigido a lo largo de una serie de tiempo, de modo que pueden usar su memoria interna para procesar secuencias de entrada de longitud variable.

 

6. Redes de memoria a corto plazo

 

La red de memoria a corto y largo plazo (LSTM) es una red neuronal recurrente que puede compensar una gran desventaja de la RNN convencional: la memoria a corto plazo.

 

Específicamente, si la secuencia es demasiado larga, es decir, el tiempo de retraso es mayor de 5-10 pasos, el RNN tiende a ignorar la información proporcionada en el paso anterior. Por ejemplo, si ingresamos un párrafo en el RNN, puede ignorar la información proporcionada al principio del párrafo. Para resolver este problema, nació LSTM.

 

7. Inicialización de peso

 

El punto de inicialización del peso es asegurar que la red neuronal no converja en una solución no válida. Si todos los pesos se inicializan con el mismo valor (por ejemplo, cero), cada unidad obtendrá exactamente la misma señal y la salida de cada capa será la misma.

 

Por lo tanto, debe inicializar aleatoriamente los pesos para que estén cerca de cero, pero no iguales a cero. El algoritmo de optimización estocástica utilizado para entrenar el modelo debe lograr este efecto.

 

8. Descenso de gradiente por lotes y descenso de gradiente estocástico (descenso de gradiente por lotes frente a gradiente estocástico)

 

El descenso de gradiente por lotes y el descenso de gradiente estocástico son dos métodos diferentes para calcular gradientes.

 

El descenso de gradiente por lotes solo usa el conjunto de datos completo para calcular el gradiente. Especialmente para conjuntos de datos más grandes, es mucho más lento, pero funciona mejor para múltiples errores convexos o suaves.

 

En el caso del descenso de gradiente estocástico, se utiliza una sola muestra de entrenamiento a la vez para calcular el gradiente. Por tanto, su velocidad de cálculo es más rápida y el coste es menor. Sin embargo, cuando se alcanza el valor óptimo global en este caso, tiende a repuntar. Esto producirá una buena solución, pero no la solución óptima.

 

9. Hiperparámetros

 

Los hiperparámetros no son solo variables que ajustan la estructura de la red, sino también variables que controlan los métodos de entrenamiento de la red. Los hiperparámetros comunes incluyen:

 

· Parámetros de la arquitectura del modelo, como el número de capas, el número de unidades ocultas, etc ...

· Tasa de aprendizaje (alfa)

· Inicialización del peso de la red

· Número de períodos (definido como un período en todo el conjunto de datos de entrenamiento)

· Lote

· Otro

10. Tasa de aprendizaje

 

La tasa de aprendizaje es un hiperparámetro utilizado en la red neuronal. Cada vez que se actualiza el peso del modelo, la red neuronal controla el número de modelos de ajuste de error para la estimación de la respuesta del modelo.

Si la tasa de aprendizaje es demasiado baja, el entrenamiento del modelo procederá muy lentamente porque los pesos se actualizan al mínimo en cada iteración. Por lo tanto, se requieren múltiples actualizaciones antes de llegar al punto más bajo. Si la tasa de aprendizaje se establece demasiado alta, debido a la actualización brusca de los pesos, provocará un comportamiento de divergencia indeseable en la función de pérdida y es posible que no converja.

 

Los anteriores son los 10 conceptos que aparecen con más frecuencia en el aprendizaje profundo. Estudiar estos 10 conceptos con detenimiento le ayudará a establecer una base sólida en el campo del aprendizaje profundo. Espero que esto sea útil para su entrevista.


Temas de lectura recomendados

Deja un comentario, me gusta, envía un círculo de amigos

Compartamos los frutos secos del aprendizaje y el desarrollo de la IA

Equipo de compilación: Shi Xiaohan, Huang Xiaoxin

Enlaces relacionados:

https://towardsdatascience.com/ten-deep-learning-concepts-you-should-know-for-data-science-interviews-a77f10bb9662

Si va a reimprimir, deje un mensaje en segundo plano y siga las especificaciones de reimpresión

Lectura de artículos recomendada

50 interpretaciones de la colección de papeles ACL2018

Interpretación de 28 artículos en las actas de EMNLP2017

Enlaces completos a los logros académicos de China en las tres principales conferencias de inteligencia artificial de 2018

Actas ACL2017: 34 interpretaciones y productos secos están todos aquí

Revisión de 10 artículos clásicos de AAAI2017

Mantenga pulsado para identificar el código QR para llamar la atención

El lector principal te ama

Supongo que te gusta

Origin blog.csdn.net/duxinshuxiaobian/article/details/112551211
Recomendado
Clasificación