La inteligencia artificial está desempeñando una función cada vez mayor en las vidas de las naciones civilizadas, aunque la mayoría de los ciudadanos probablemente no lo reconocen. Ahora es un lugar común hablar con una computadora al llamar a un negocio. Facebook está terminando siendo aterrador preciso al reconocer caras en las fotos cargadas. La interacción física con los teléfonos sabios está terminando siendo una cosa del pasado … con el Siri de Apple, así como el discurso de Google, sin embargo, lentamente, sin embargo, seguramente terminó siendo más fácil simplemente hablar con su teléfono, así como decirlo qué hacer, escribir o tocar qué hacer. un icono. Pruebe esto si no lo ha hecho antes, si tiene un teléfono Android, indique “OK Google”, cumplido por “Lumos”. ¡Es magia!
Los anuncios de productos que estamos pensando en aparecer en nuestras cuentas de red social como si algo estuviera leyendo nuestras mentes. La realidad es que algo está leyendo nuestras mentes … aunque es difícil de precisamente, precisamente lo que es algo. Puede aparecer un anuncio para algo que queremos, aunque nunca nos dimos cuenta de que lo deseamos hasta que lo vemos. Esto no es coincidente, sin embargo proviene de un algoritmo AI.
En el corazón de muchas de estas aplicaciones AI se encuentra un proceso entendido como aprendizaje profundo. Ha habido una gran cantidad de conversación sobre el descubrimiento profundo últimamente, no solo aquí mismo en Hackaday, sin embargo, alrededor de los interwebs. Además, como la mayoría de las cosas asociadas a la AI, puede ser un poco desafiante, así como difícil de comprender sin un fondo fuerte en la informática.
Si está familiarizado con mis artículos de teoría cuántica, entenderá que me gusta tomar sujetos desafiantes, eliminar la complicación lo mejor que pueda, así como explicarlo en un método que cualquiera pueda entender. El objetivo de este artículo es aplicar un enfoque similar a este concepto de aprendizaje profundo. Si las redes neuronales lo hacen de ojos cruzadas, así como la máquina de descubrir, le proporcionan pesadillas, se registraron. Verá que “aprendizaje profundo” parece ser un sujeto desalentador, sin embargo, es realmente solo un término de $ 20 utilizado para explicar algo cuyos fundamentos son bastante simples.
Aprendizaje automático
Cuando programamos una máquina para realizar una tarea, componemos las instrucciones, así como la máquina las realiza. Por ejemplo, LED On … LED OFF … No hay ningún requisito para que la máquina entienda el resultado esperado después de que haya completado las instrucciones. No hay ninguna razón para que la máquina entienda si el LED está encendido o apagado. Simplemente hace lo que le dijiste que hiciera. Con el aprendizaje de la máquina, este proceso se revela. Le contamos la máquina el resultado que queremos, así como la máquina ‘aprende’ las instrucciones para llegar allí. Hay una serie de métodos para hacer esto, sin embargo, nos enfoquemos en un ejemplo simple:
Red Neural Early desde MIT
Si tuviera que pedirte que hiciera un poco de robot que pueda guiarse a sí mismo a un objetivo, un método simple para hacerlo sería poner al robot, así como el objetivo en un plano XY cartesiano, así como luego programar el robot para ir Tantas unidades en el eje X, así como también tantas unidades en el eje Y. Esta simple técnica tiene que el robot simplemente trae instrucciones, sin entender realmente dónde está el objetivo. Funciona solo cuando entiende las coordenadas para el punto de partida, así como el objetivo. Si alguno de los cambios, este enfoque no funcionaría.
La máquina de descubrimiento nos permite ofrecernos alterar las coordenadas. Le decimos a nuestro robot que descubra el objetivo, así como de que se quede a calcular, o aprender, sus propias direcciones para llegar allí. Un método para hacer esto es que el robot descubra la distancia al objetivo, así como luego moverse en una dirección aleatoria. Vuelva a calcular la distancia, retroceda a donde comenzó, así como registrar la medición de la distancia. Repetir este proceso nos proporcionará una serie de mediciones de distancia después de pasar de una coordenada fija. Después de que se toman la cantidad de medidas X, el robot se moverá en la dirección en la que la distancia al objetivo es más corta, así como repetir la secuencia. Esto finalmente le permitirá alcanzar el objetivo. En resumen, el robot solo está utilizando la prueba y el error para “aprender” exactamente cómo llegar al objetivo. ¡Mira, esta cosa no es tan difícil después de todo!
Este concepto de “aprendizaje por juicio y error” se puede representar de manera abstracta en algo que todos hemos oído hablar de una red neuronal.
Redes neuronales para maniquíes.
Las redes neuronales obtienen su nombre de la masa de las neuronas en su Noggin. Mientras que la red general es absurdamente compleja, la operación de una sola neurona es simple. Es una célula con una serie de entradas, así como una salida única, con señales de productos químicos que proporcionan la IO. La especificación de la salida está determinada por el número de entradas activas, así como la resistencia de esas entradas. Si hay suficientes entradas activas, se cruzará un umbral, así como la salida que terminará siendo activa. Cada salida de una neurona actúa como la entrada a una neurona más, produciendo la red.
Diagrama de Perceptron a través de exactamente cómo entrenar a Neuarl NETwork en Python por Prateek Joshi
Recrear una neurona (y, por lo tanto, una red neuronal) en Silicon también debería ser simple. Tienes una serie de entradas en una cosa de suma. Agregue las entradas hacia arriba, así como si superan a un umbral específico, salga de una. De lo contrario salga de un cero. ¡Bingo! Si bien esto nos permite sacar a una neurona, lamentablemente no es extremadamente útil. Para que nuestra broca neurona de silicona valga la pena almacenar en la memoria flash, los requisitos para hacer que las entradas, así como los productos menos binarios … Requisitos para proporcionarles fortalezas, o el título más comúnmente entendido: pesos.
A fines de la década de 1940, un chico con el nombre de Frank Rosenblatt inventó esta cosa llamada Perceptron. El Perceptron es como nuestra Neurona de Silicon que explicamos en el párrafo anterior, con algunas excepciones. El más importante de los cuales es que las entradas tienen pesos. Con la introducción de pesos, así como un poco de retroalimentación, obtenemos una capacidad más fascinante … la capacidad de aprender.
Fuente a través de kdnuggets
Rebornear de nuevo a nuestro bit robot que aprende exactamente cómo llegar al objetivo. Proporcionamos al robot un resultado, así como si lo hubiéramos redactado con sus propias instrucciones para descubrir exactamente cómo lograr ese resultado por un proceso de prueba y error de movimientos aleatorios, así como mediciones de distancia en un sistema de coordenadas XY. El concepto de un perceptrón es una abstracción de este proceso. La salida de la neurona artificial es nuestro resultado. Queremos que la neurona nos proporcione un resultado esperado para un conjunto específico de insumos. Logramos esto haciendo que la neurona cambie los pesos de las entradas hasta que logre el resultado que queremos.
Ajustar los pesos se realiza mediante un proceso llamado propagación, que es un tipo de retroalimentación. Así que tiene un conjunto de insumos, un conjunto de pesas, así como un resultado. Determinamos exactamente cuán lejos es el resultado de donde lo queremos, así como luego utilizar la diferencia (conocida como error) para cambiar los pesos que utilizan una idea matemática entendida como degradado decente. Este proceso de ‘ajuste de peso’ con frecuencia se llama entrenamiento, sin embargo, no es más que un proceso de prueba y error, al igual que con nuestro bit robot.
Aprendizaje profundo
El descubrimiento profundo parece tener más definiciones que IOT en estos días. Sin embargo, el más simple, más directo, uno que pueda descubrir es una red neuronal con una o más capas entre la entrada, así como la salida, así como la salida, así como la utilizada para resolver problemas complejos. Básicamente, el descubrimiento profundo es solo una red neuronal compleja utilizada para hacer cosas que son verdaderamente difíciles de hacer las computadoras tradicionales.
Diagrama de descubrimiento profundo a través de la guía de un maniquí para descubrir de profundidad por Kun Chen
Las capas entre la entrada, así como la salida se denominan capas ocultas, así como aumentan significativamente la complejidad de la red neuronal. Cada capa tiene un propósito específico, así como está dispuesto en una jerarquía. Por ejemplo, si tuviéramos una Web neural profunda capacitada para determinar un felino en una imagen, la primera capa puede buscar segmentos de línea específicos, así como arcos. Otras capas más altas en la jerarquía mirarán la salida de la primera capa, así como intentar determinar formas más complejas, como círculos o triángulos. Incluso las capas más altas buscarán objetos, como ojos o bigotes. Para obtener una explicación más detallada de las técnicas de clasificación jerárquica, asegúrese de inspeccionar mis artículos sobre las representaciones invariantes.
La salida real de una capa no se entiende precisamente, ya que se capacita a través de un proceso de prueba y error. Dos redes neuronales de descubrimiento profundo similares capacitadas con la misma imagen exactas crearán diferentes salidas de sus capas ocultas. Esto lleva a cabo algunos problemas incómodos, ya que MIT está descubriendo.
Ahora, cuando escuchas a alguien hablar sobre el aprendizaje de la máquina, las redes neurales, así como el aprendizaje profundo, debe tener al menos un concepto vago de lo que es y, lo que es más importante, exactamente cómo funciona. Las redes neuronales parecen ser las siguientes enormes, aunque han existido durante mucho tiempo ahora. Inspeccione el artículo [Steven Dufresne] sobre lo que ha alterado a lo largo de los años, además de saltar a su tutorial sobre la utilización de TensorFlow para probar su mano en el aprendizaje automático.