La complejidad de una red neuronal depende del número de parámetros sobre los que se entrena. Si tiene n capas, incluidas las capas de entrada y salida, y la capa i-ésima tiene X (i) número de nodos, entonces el número de parámetros para una red neuronal de avance es Sum ((X (i) +1) * X (i + 1)) para todas las capas excepto la salida ya que no continúa.
Ahora, en general, el número es enorme y debería requerir una gran cantidad de datos (algunas personas dicen que al menos el cuadrado (P) donde P es el número de parámetros . Pero, ha habido muchos experimentos que encuentran un giro interesante sobre este problema.
Las capas más profundas de una red neuronal se entrenan muy lentamente y las características que extraen estas capas funcionan como clasificadores débiles que las capas superiores refinan y utilizan para dar una predicción mucho mejor mediante el uso de la sabiduría colectiva. Entonces, en realidad, una red neuronal converge a un mínimo mucho más rápido entrenando solo la última capa usando las salidas de la última capa oculta como clasificadores débiles y hace el mejor uso de ellas y lentamente se hace aún mejor al entrenar estas capas también para obtener características más significativas en el capas ocultas anteriores.
- Cómo escribir una aplicación de IA que lea todos los tipos de registros de miles de servidores, enviar de vuelta a un cerebro de análisis de ML y proporcionar respuesta a cada servidor
- ¿Acabaría con los hackers?
- Si las redes neuronales artificiales se rediseñaran desde cero basándose en nuestro conocimiento actual del cerebro humano, ¿cuáles serían las diferencias importantes?
- Al sintonizar una red neuronal, ¿cuánto tiempo suele esperar mientras entrena antes de cambiar los hiperparámetros y probar otra configuración?
- ¿Qué pasaría realmente si una IA oye una paradoja?
En la práctica, incluso un pequeño conjunto de datos puede proporcionar un buen rendimiento si utiliza las mejores prácticas, como la regularización y el abandono.
Entrené solo el 3% de los datos elegidos al azar de la traducción al inglés de Mahabharat (An Indian Epic) en el modelo skipgram de word2vec que involucraba una red neuronal de tamaño 10000 * 1024 * 10000 (número de parámetros = 10000 * 1024 + 1024 * 10000 = 20480000) con un conjunto de datos de 3221078 (2% de los cuales son solo 96k) y los resultados fueron bastante sorprendentes.
Fue capaz de obtener los significados sintácticos correctos de las palabras, las predicciones fueron gramaticalmente correctas y las salidas del vector de palabras se agruparon correctamente de acuerdo con la similitud de significado y contextos. Por ejemplo, de la palabra “krishna” las palabras más cercanas fueron “keshava”, “janardana” y “madhusudana” (en minúscula todo el documento antes de entrenar).
Entonces, prácticamente dependiendo de la cantidad de nodos de la capa de salida, incluso una cantidad considerablemente pequeña de datos puede entrenar las redes neuronales para que funcione con una precisión significativa.