Soy nuevo en programación, ¿qué significa entrenar una red neuronal?

Un campo de estudio en IA o aprendizaje automático se llama aprendizaje profundo. La idea principal detrás del aprendizaje profundo es poner una cantidad ridícula de imágenes clasificadas (asignadas a una etiqueta) en un programa de computadora y hacer que la máquina examine los píxeles y los ángulos. El programa examina las imágenes “profundamente” para tratar de comprender cómo las imágenes etiquetadas con la misma etiqueta son similares. El entrenamiento de un modelo para ayudar a la computadora a entender lo que está viendo se llama “entrenar una red neuronal”. Después de entrenar el modelo, se utiliza para crear un objeto al que puede pasar otras imágenes. El objeto determinaría si la imagen es o no parte de esa clasificación de imágenes.

Aquí hay un ejemplo de aprendizaje profundo: hay muchos tipos diferentes de gatos que se ven de maneras muy diferentes. ¿Cómo es posible que una computadora determine la diferencia entre un gato y un perro? Con aprendizaje profundo. Al examinar miles de imágenes de gatos y perros.

El aprendizaje profundo se utiliza para muchas cosas como el software de reconocimiento facial, el reconocimiento de voz y para leer palabras escritas a mano y determinar qué letra es cuál (ver OCR). En mi opinión, el aprendizaje profundo es el primer paso para enseñar a las computadoras a dar miedo. Imagine una computadora monitoreando cámaras de seguridad. Para determinar qué tipo de objeto utilizar para interpretar las acciones de una subclase de un objeto “ser” (es decir, LogicalHuman, MuslimLogicalHuman, PanentheistMysticHuman extiende HumanistAtheist), la computadora primero necesitaría clasificar el objeto. Ahí es donde entra en juego el aprendizaje profundo. Una computadora no puede comenzar a entender acciones hasta que sepa qué objeto está haciendo la acción. (Lo siento si esto no tiene sentido. Es difícil de explicar)

Nota: El software ya está disponible públicamente y puede clasificar imágenes en un video. (Busque un proyecto de frambuesa pi que haga análisis estadísticos sobre las tendencias del tráfico)

Si desea obtener más información sobre cómo escribir programas de IA, le recomiendo la introducción del curso de aprendizaje automático del estado de Washington. Los profesores son muy divertidos y súper inteligentes. El curso es sorprendentemente fácil si ya conoces Python. Fue el curso más fácil que he tomado en línea y probablemente sea mi favorito.

Las redes neuronales son una estructura muy simple. Hacen una decisión basada en el valor de las entradas entre estas entradas, son fórmulas de decisión juntas y forman el valor de salida (verdadero o falso). No es muy interesante saber exactamente cómo funcionan. Pero míralo así. La red tiene ajustes que los llamamos los pesos de la red y deben ajustarse para obtener la decisión correcta. Llega la pregunta de cómo establecer los pesos correctos. La solución para esto es un algoritmo que ajusta el peso en función de los valores de entrada y salida. Sin embargo, esto no sería suficiente, porque no sabemos cuál es la salida correcta. La solución para esto es el conjunto de capacitación, un conjunto de datos de los cuales ahora somos la solución correcta. El conjunto de entrenamiento se proporciona a la red neuronal y el algoritmo de entrenamiento ajusta el peso. Para que esto funcione, el conjunto debe ser lo suficientemente grande como para no entrenar a su red y no tan grande como para entrenar en exceso su red. Este proceso se llama para capacitar a su red . Establece los pesos de su red neuronal. Hay un poco más, pero esta es la idea básica. La próxima vez que proporcione otros datos a su red, puede tomar una decisión sobre falso o verdadero en función de este peso. Por lo tanto, tomará una decisión basada en los pesos que se ajustaron utilizando el conjunto de entrenamiento.

Espero que esto explique tu pregunta.

En el aprendizaje automático (de las cuales las redes neuronales son un ejemplo específico), entrenamos nuestros modelos en un conjunto de datos y ajustamos el modelo de prueba en otro (conjuntos de entrenamiento y prueba, respectivamente). Esto minimiza los problemas asociados con la adaptación de los modelos a los datos, y los parámetros del modelo se aprenden del conjunto de entrenamiento (“entrenar una red neuronal”). El conjunto de pruebas nos permite probar ese ajuste y su generalización a nuevos datos, lo cual es importante porque un modelo que solo se ajusta a los datos de entrenamiento no es muy útil para la predicción futura o la comprensión del problema (llamado sobreajuste del modelo).

Las redes neuronales se pueden usar para muchas tareas como reconocimiento de voz, reconocimiento de orador, reconocimiento facial, reconocimiento de caracteres y muchas más.

Para que una red neuronal realice estas tareas, primero debe estar capacitada para esa tarea en particular con un conjunto de datos (generalmente enorme). ¿Qué queremos decir con entrenamiento?

Por capacitación nos referimos a la identificación de valores de la red que se utilizarán durante cualquier tarea de reconocimiento. (El reconocimiento se llama inferencia o prueba). ¿Cuáles son los valores?

  1. Pesas
  2. Parcialidad

Entonces, el entrenamiento significa identificar los pesos y el sesgo de una red neuronal para una tarea de reconocimiento particular.

Estos valores que obtiene durante la capacitación se utilizan en tiempo real para la tarea de reconocimiento.

La capacitación es una tarea intensiva muy computacional.

La inferencia / prueba es muy simple en comparación con el entrenamiento.

Esta es una buena pregunta.

Cuando recién comencé, estaba convencido de que las redes neuronales artificiales eran alguna forma de hechicería. En mi opinión, tenía que sacrificar un pequeño mamífero sobre su teclado y cantar para configurar uno (no realmente, pero realmente sonaba como magia).

Por ahora, puede pensar en ANN como fórmulas matemáticas realmente geniales que pueden producir y evaluar la corrección de las fórmulas matemáticas.

Cuando lo ‘entrena’, lo que está haciendo es proporcionarle datos que se sabe que son verdaderos o falsos. Luego produce fórmulas que cuando la entrada dada produce una salida que coincide con los datos proporcionados con cierto grado de precisión. Llena los espacios en blanco, por así decirlo.

Un canal de YouTube llamado Welch Labs tiene una gran serie sobre el tema.

Redes neuronales desmitificadas – YouTube

Neural Network no significa programación, le aconsejaría que tome algunos recursos de MOOC y luego se haga esta pregunta, sabrá la respuesta de manera fácil y eficiente.

Como la pregunta parece tan vaga, no tienes claro el entrenamiento, las redes neuronales y también la programación.

Le recomendaría que vea cómo funciona la red neuronal y qué es el entrenamiento, luego un simple código de Python que hará las cosas de programación.

Lo alimentas con los datos para que “aprenda”. Le muestras una foto de un plátano. Dices ‘aquí tenemos una banana’. Ahora le muestras 10000 fotos diferentes de plátanos. Y vagabundo! Puede reconocer las bananas.

More Interesting

¿Qué es mejor, IBM Watson o Bank of America?

En el futuro, cuando los robots se vuelvan más avanzados, ¿requerirán derechos al igual que nosotros necesitamos derechos humanos? Si es así, ¿qué ves que necesitan?

¿Cómo se explica el aprendizaje de refuerzo inverso en términos simples?

¿Cuáles son las principales aplicaciones / juegos móviles de Android / iOS que utilizan ampliamente la inteligencia artificial?

¿Cuáles fueron los 10 problemas principales en Machine Learning para 2016?

¿Hay alguna justificación para crear una torreta automatizada con capacidades como la de este video?

¿Una colaboración IBM Watson-Wolfram | Alpha avanzará en el procesamiento del lenguaje natural?

Hay tantas tecnologías disruptivas al mismo tiempo, ¿qué hará su efecto combinado en la sociedad?

¿Puede la programación mejorar tu inteligencia?

¿Qué podría ser un buen proyecto para hacer que combine inteligencia artificial y química y física teórica / computacional?

¿Se puede usar la inteligencia artificial para crear nuevos algoritmos?

¿Cuál es la diferencia entre lineal y no lineal en redes neuronales?

¿Cuáles son los conceptos erróneos más comunes sobre la IA?

¿Puede la inteligencia artificial estar en camino de automatizar cada trabajo, o es solo otra exageración de Silicon Valley?

¿La IA es capaz de una conciencia autónoma sin programación? ¿Puede un sistema arrancar su propia programación para autorregularse y ser sabiamente equivalente a una conciencia formadora de vida?