Búsqueda visual de redes neuronales

La historia conoce muchos ejemplos de descubrimientos e invenciones prematuras. Quiero hablarte de uno de ellos.



Estamos hablando de un motor de búsqueda visual que recibió las primeras inversiones occidentales de capital riesgo en TI en Rusia, construido sobre la base de redes neuronales semánticas activas. Debajo del corte, te contamos sus principios básicos de funcionamiento y arquitectura.



Orígenes



Tuve mucha suerte en mi vida: estudié con Nikolai Mikhailovich Amosov , una persona destacada, cirujano cardíaco y cibernético. Estudié en ausencia: el colapso de la URSS no me dio la oportunidad de conocerme en persona.



imagen



Se puede decir mucho sobre Nikolai Mikhailovich, nació en una familia campesina en un pueblo cerca de Cherepovets y al mismo tiempo recibió el segundo lugar en el proyecto "Grandes ucranianos", cediendo el primer lugar a Yaroslav el Sabio. Destacado cirujano cardíaco e ingeniero cibernético que desarrolló de forma independiente la primera válvula artificial en la URSS. Calles, una escuela de medicina, una universidad, un barco que navega en el embalse de Ivankovskoye llevan su nombre.



Mucho se ha escrito sobre esto en Wikipedia y en otros sitios .



Quiero tocar el lado no tan iluminado de Amosov. Una mirada amplia, dos formaciones (médica e ingeniería) le permitieron desarrollar una teoría de las redes neuronales semánticas activas (M-networks), dentro de la cual, hace más de 50 años, se implementaron cosas que aún son sorprendentes por su singularidad.



Y si hubiera suficiente potencia informática en ese momento, tal vez ya se implementaría una IA fuerte hoy.



En sus obras, Amosov logró mantener un equilibrio entre la neurofisiología y las matemáticas, estudiando y describiendo los procesos informativos de la inteligencia. Los resultados de su trabajo se presentan en varias obras, la final fue la monografía "Algoritmos de la mente" , publicada en 1979.



Aquí hay una breve cita sobre uno de los modelos:



“… (Nosotros) llevamos a cabo un estudio, cuyo propósito era estudiar las posibilidades de las redes M en el campo de la neurofisiología y la neuropsicología, así como evaluar la importancia práctica y cognitiva de dichos modelos. Se desarrolló y estudió un M-autómata que simula los mecanismos del habla. El modelo presenta aspectos del habla oral como la percepción, la comprensión y la expresión verbal.



El modelo está diseñado para reproducir funciones de voz relativamente simples (!!!): respuestas a preguntas de tipo limitado, repetición, denominación. Contiene los siguientes bloques: percepción auditiva, habla sensorial, habla propioceptiva, conceptual, emocional, motivacional, habla motora, articulatoria y bloque SUT. Los bloques del modelo están correlacionados con ciertas formaciones cerebrales ...



... La entrada del modelo fueron las letras del alfabeto ruso combinadas en palabras y frases, así como objetos especiales correspondientes a las imágenes de objetos. En la salida del modelo, según el modo de su funcionamiento, se observaron secuencias de letras del alfabeto ruso, que eran respuestas a preguntas de entrada, o una repetición de palabras de entrada, o nombres de objetos.



El hecho de que los datos neurofisiológicos se utilizaran ampliamente en la creación del modelo hizo posible en experimentos simular una serie de lesiones cerebrales de naturaleza orgánica y funcional, lo que provocó un deterioro de las funciones del habla.



Y este es solo uno de los trabajos.



Otro es el control de un robot móvil. “… El sistema de control del robot asume la implementación de un movimiento intencionado garantizando su propia seguridad (evitando obstáculos, evitando lugares peligrosos, manteniendo los parámetros internos dentro de los límites especificados) y minimizando los costos de tiempo y energía”.



imagen



Además, la monografía describe los resultados de modelar el comportamiento libre de “un sujeto determinado en un entorno que contenía objetos útiles y peligrosos para él. Los motivos del comportamiento del sujeto estaban determinados por sentimientos de fatiga, hambre y deseo de autoconservación. El sujeto estudió el entorno, eligió el objetivo del movimiento, construyó un plan para lograr este objetivo y luego lo realizó realizando acciones-pasos, comparando los resultados obtenidos durante el movimiento con los planificados, complementando y ajustando el plan en función de las situaciones emergentes.



imagen



Características de la teoría



En sus trabajos, Amosov intentó crear un modelo informativo / algorítmico, como decimos ahora, de "inteligencia fuerte" y, en mi opinión, su teoría describe más de cerca lo que realmente sucede en el cerebro de los mamíferos.



Las principales características de las redes M, que las distinguen fundamentalmente de otros paradigmas de redes neuronales, son la carga semántica estricta de cada neurona y la presencia de un sistema de evaluación interna de su estado. Hay neuronas-receptores, neuronas-objetos, neuronas-sentimientos, neuronas-acciones.



imagen



El aprendizaje se lleva a cabo de acuerdo con la regla de Hebb modificada, teniendo en cuenta su estado interior. En consecuencia, la decisión se toma sobre la base de una distribución comprensible de la actividad de las neuronas designadas semánticamente.



La red aprende "sobre la marcha", sin repetición. Los mismos mecanismos funcionan con diferentes tipos de información, ya sea habla o percepción de datos visuales, actividad motora. Este paradigma simula tanto el trabajo de la conciencia como la subconsciencia.



Los interesados ​​pueden encontrar los libros de Amosov con una descripción más detallada de la teoría y las implementaciones prácticas de varios aspectos de la inteligencia, pero les contaré sobre nuestra experiencia en la construcción de un motor de búsqueda visual Quintura Search.



Quintura



imagen



La empresa Quintura fue fundada en 2005. Se implementó un prototipo de una aplicación de escritorio que demuestra nuestro enfoque con nuestro propio dinero. Con el dinero ángel de Ratmir Timashev y Andrey Baronov (más tarde fondo ABRT ), se finalizó el prototipo, se llevaron a cabo negociaciones y se recibieron inversiones del fondo luxemburgués Mangrove Capital Partners . Esta fue la primera inversión occidental en Rusia en el campo de las tecnologías de la información. Los tres socios del fondo acudieron a Sergiev Posad para mirarnos a los ojos y tomar una decisión sobre la inversión.



Durante seis años, los fondos recibidos se utilizaron para desarrollar la funcionalidad completa de un motor de búsqueda en la web: recopilar información, indexar, procesar consultas y emitir resultados. El núcleo era una red M, o más bien un conjunto de redes M (una red conceptual y redes para cada documento). La red fue entrenada en una pasada sobre el documento. Durante un par de ciclos de recálculo, se asignaron palabras clave, se encontraron documentos que coincidían con el significado de la consulta y se crearon sus anotaciones. La red entendió el contexto de la solicitud, más precisamente, permitió al usuario aclararlo agregando los significados necesarios para la búsqueda y eliminando documentos que tenían contextos irrelevantes de los resultados de búsqueda.



Principios y enfoques básicos



Como se señaló anteriormente, cada neurona de la red tiene su propia carga semántica. Para ilustrar las patentes, propusimos una imagen visual (pido disculpas por la calidad - los originales de las imágenes no se han conservado, de aquí en adelante usamos imágenes de escaneos de nuestras patentes y de artículos sobre nosotros de varios sitios):



imagen



Simplificado, una red conceptual es un conjunto de neuronas-conceptos relacionados entre sí por conexiones, en proporción a la frecuencia de su ocurrencia entre sí. Cuando el usuario ingresa la palabra de consulta, "tiramos" de la (s) neurona (s) de esta palabra y él, a su vez, extrae las asociadas con ella. Y cuanto más fuerte sea la conexión, más cercanas estarán otras neuronas a la neurona solicitante.



imagen



Si hay varias palabras en la solicitud, se extraerán todas las neuronas correspondientes a las palabras de la solicitud.



imagen



Si decidimos eliminar una palabra irrelevante, nos aferramos a ella como una carga que derriba tanto el concepto eliminado como los asociados con él.



Como resultado, obtenemos una nube de etiquetas, donde las palabras de consulta están en la parte superior (la fuente más grande) y los conceptos relacionados se ubican uno al lado del otro, cuanto más grande es el enlace, más grande es la fuente.



A continuación se muestra un mapa semántico de los documentos encontrados por la consulta "belleza".



imagen



Cuando pasa el mouse sobre la palabra "moda", el mapa se reconstruye:



imagen



si mueve el puntero del mouse sobre la palabra "viajar", obtenemos otro mapa: por lo



imagen



tanto, podemos refinar la consulta apuntando en la dirección que necesitamos, del contexto que necesitamos.



Simultáneamente con la reconstrucción del mapa, también recibimos los documentos que son más relevantes para el contexto dado, y excluimos las ramas innecesarias eliminando palabras irrelevantes.



Construimos el índice del documento de acuerdo con el siguiente principio:



imagen



Hay 4 capas de neuronas. Capa de palabras, capa de conceptos (se pueden combinar en una capa), capa de oraciones, capa de documentos.



Las neuronas pueden conectarse entre sí mediante dos tipos de conexiones: amplificadoras e inhibidoras. En consecuencia, cada neurona puede estar en tres tipos de estados: activo, neutral y suprimido. Las neuronas transmiten actividad a través de conexiones amplificadoras a través de la red, "anclas" inhibitorias. La capa de concepto es útil para trabajar con sinónimos, así como para resaltar conceptos "fuertes" o significativos sobre otros, definiendo categorías de documentos.



Por ejemplo, la palabra Apple en la palabra layer estaría asociada con los conceptos de fruta, término anatómico y empresa. Aceite - con aceite y aceite. La palabra rusa "trenza" con un peinado, un instrumento de trabajo, un arma, un alivio. Etc.



Establecemos comunicaciones bidireccionales, tanto directas como inversas. El aprendizaje (cambios en los enlaces) se produce en una sola pasada por el documento según la regla de Hebb: aumentamos los enlaces entre las palabras que están cerca unas de otras y, además, vinculamos las palabras que están en la misma oración, párrafo, documento con enlaces más pequeños. Cuanto más a menudo se encuentran las palabras una al lado de la otra, tanto dentro del mismo documento como dentro de un grupo de documentos, mayor es la conexión entre ellas.



Esta arquitectura le permite resolver eficazmente las siguientes tareas:



  • configurar y administrar el contexto de búsqueda;
  • buscar documentos que coincidan con el contexto de búsqueda (no solo que contengan palabras de consulta);
  • mostrar contextos semánticos de un conjunto de documentos (cuáles son las asociaciones del motor de búsqueda con las palabras de la consulta);
  • resaltando las palabras clave del documento / documentos;
  • anotar un documento;
  • buscar documentos con significados similares.


Consideremos la implementación de cada tarea.



Configurar y administrar el contexto de búsqueda



Este caso se ilustró anteriormente. El usuario ingresa las palabras de consulta, estas palabras excitan a todos los asociados con ellas, luego podemos seleccionar los conceptos más cercanos (que tengan la máxima excitación) o transmitir más excitación a través de la red desde todas las neuronas excitadas en el paso anterior, y así sucesivamente; en este caso, comienzan asociaciones laborales. En el mapa se muestran algunas de las palabras / conceptos más emocionantes (también puede elegir qué mostrar: una capa de palabras, conceptos o ambos). Si es necesario, se eliminan las palabras irrelevantes (eliminando los conceptos asociados del mapa), proporcionando así una descripción precisa del contexto de búsqueda requerido.



Encontrar documentos que coincidan con el contexto de búsqueda



El estado de las dos primeras capas de la red en este paso transmite su emoción a las siguientes capas, cuyas neuronas están clasificadas por excitación, y obtenemos una lista de documentos clasificados por relevancia no solo para las palabras de la consulta, sino para el contexto generado.



Por lo tanto, los resultados de la búsqueda incluirán no solo documentos que contengan las palabras de la consulta, sino también aquellos relacionados con ellas en su significado. Los documentos resultantes se pueden utilizar para cambiar el contexto de búsqueda, ya sea fortaleciendo los conceptos contenidos en los documentos "necesarios" para nosotros, o disminuyendo el peso de los conceptos asociados con documentos irrelevantes. De esta manera, puede refinar su consulta de manera fácil e intuitiva y administrar los resultados de búsqueda.



Visualización de contextos semánticos de un conjunto de documentos



La transferencia de excitación en la dirección opuesta, de neuronas-documentos a neuronas a conceptos / palabras, le permite obtener un mapa visual de qué contextos semánticos están presentes en el conjunto de documentos. Esta es una forma alternativa de obtener un mapa de etiquetas significativo y navegar por el espacio de significado. Este proceso se puede realizar de forma iterativa cambiando la dirección de la excitación, recibiendo documentos para contextos de búsqueda o cambiando el contexto de búsqueda para documentos activos.



Por lo general, el escenario del motor de búsqueda es el siguiente: el mapa inicial se forma sobre la base de las últimas noticias, artículos populares, consultas o una combinación de estos. Luego, el usuario puede comenzar a formar una solicitud haciendo clic en las palabras del mapa o creando una nueva solicitud ingresando las palabras de interés en el campo de entrada.



En nuestro servicio infantil Quintura Kids, incluso los niños que no sabían escribir (o que tenían dificultades) podían trabajar y buscar la información necesaria.



imagen

Así se veía el mapa inicial



y el usuario lo vio después de hacer clic en la palabra "Espacio".



imagen



El servicio para niños se construyó en sitios seleccionados y aprobados manualmente, por lo que el niño no podía ver nada de un adulto. Esto explica la pequeña cantidad de documentos encontrados. La versión en inglés contenía muchos más documentos, gracias al directorio de niños de Yahoo.



Resaltando las palabras clave del documento / documentos



En realidad, esas palabras y conceptos que se activan al transmitir emoción desde la capa de documentos o la capa de oraciones son las palabras clave. También se clasifican por actividad, luego se corta una cierta cantidad, que se muestra.



Aquí hemos aplicado otra solución. Creemos que la emoción total de todas las palabras o conceptos es del 100%. Luego, podemos controlar fácilmente la cantidad de palabras que consideraremos como palabras clave estableciendo el porcentaje de actividad como un umbral.



imagen



Por ejemplo, suponga que hay un documento que trata sobre un contrato de techo de Boeing. Cuando la excitación se transmitió desde la neurona de este documento a la capa de palabras / conceptos, las palabras presentadas en esta figura se emocionaron. La excitación total ponderada, reducida al 100%, nos dio un peso individual para cada palabra. Y si queremos obtener el 75% del "significado" de las palabras clave, entonces veremos las palabras "BOEING", "787", "DREAMLINER", y si queremos ver el 85% del "significado", entonces agregaremos "VENTAS" a estas palabras.



Este método le permite limitar automáticamente el número de palabras clave y frases / documentos mostrados.



Anote el documento.



La recepción de fragmentos también se llevó a cabo de la forma descrita anteriormente. Primero, obtenemos las palabras clave del documento, después de lo cual, mediante la distribución directa de la emoción de las palabras clave, obtenemos una lista de oraciones, llevamos el peso de estas oraciones al 100% y cortamos la cantidad requerida de "significado", después de lo cual mostramos estas oraciones en la secuencia en la que ocurrieron en el texto del documento. ...



Encontrar documentos de significado similar



La transferencia de excitación de la neurona correspondiente al documento para el que buscamos palabras / conceptos similares en significado a la capa de palabras y luego en la dirección opuesta a la capa del documento nos permite encontrar documentos que son similares al original en contexto o significado. Si hacemos varios latidos de transmisión de emoción en la capa de palabra / concepto, podemos expandir el contexto original. En este caso, podemos encontrar documentos que no contienen una coincidencia exacta en todas las palabras, pero tienen el mismo tema.



De hecho, este mecanismo se puede utilizar para determinar la similitud de cualquier cosa, por ejemplo, agregando una capa a la red donde el ID de usuario corresponderá a las neuronas, podemos encontrar personas con intereses similares. Reemplazando la capa de oraciones y documentos con índices de obras de música o video, obtenemos una búsqueda de música / video.



Continuará



Este artículo cubre solo los principios básicos del motor de búsqueda visual Quintura. Durante los seis años de vida de la Compañía, se han resuelto muchos problemas complejos, tanto relacionados con la arquitectura de las redes neuronales semánticas activas como con la construcción de un clúster expandible y tolerante a fallas. El índice de búsqueda consistió en muchas redes neuronales que operan en paralelo, los resultados de estas redes se combinaron y se construyó un mapa individual de los intereses del usuario.



En el marco del proyecto se implementó un servicio de búsqueda de sitios, un motor de búsqueda para niños, una herramienta de análisis de texto, se comenzó a trabajar en la formación de una ontología de la información del mundo, la construcción de una morfología de red neuronal, se obtuvieron 9 patentes estadounidenses.



Sin embargo, nunca pudimos monetizar nuestro sistema. En ese momento, todavía no había boom de las redes neuronales, no logramos estar de acuerdo con los grandes buscadores (como nos dijo el arquitecto de uno de ellos - “tenemos paradigmas demasiado diferentes y no entendemos cómo combinarlos”).



El proyecto tuvo que cerrarse.



Personalmente, todavía tengo un "eufemismo": tengo un gran deseo de darle una segunda vida a este proyecto. Saber que el ex director de publicidad de Google está construyendo un motor de búsqueda sin publicidad en el que los usuarios puedan "salir de la burbuja de los filtros de personalización de contenido y las herramientas de seguimiento" solo fortalece mi confianza en la relevancia de nuestros desarrollos.



Una vez más, enumeraré las características de las redes neuronales activas construidas sobre la base de la teoría de Nikolai Amosov:



  • aprendiendo sobre la marcha;
  • agregar nuevas entidades sin la necesidad de volver a capacitar a toda la red;
  • semántica clara: está claro por qué la red tomó tal o cual decisión;
  • arquitectura de red uniforme para diferentes aplicaciones;
  • arquitectura simple, como resultado - alto rendimiento.


Espero que este artículo sea el primer paso para abrir las tecnologías implementadas al público en general de desarrolladores y sirva como el comienzo del proyecto de código abierto de las redes neuronales semánticas activas de Amosov.



All Articles