Присоединяйтесь к нам в социальных сетях!

Следите за обновлениями и получайте порцию позитива каждый день:

Facebook Telegram Pinterest ВКонтакте

Creación de inteligencia artificial



Como resultado de mi investigación, dejé de usar la frase “inteligencia artificial” para mí mismo como demasiado vaga y llegué a otra formulación: un algoritmo para el autoaprendizaje, investigación y aplicación de los resultados encontrados para resolver cualquier problema posible.

Lo que es AI, mucho ha sido escrito al respecto. Puse la pregunta de otra manera, no “qué es AI”, pero “¿por qué necesita AI?” Necesito que haga mucho dinero, entonces necesito que la computadora haga todo lo que no quiero hacer por mí, luego construir una nave espacial y volar a las estrellas.

Aquí describiré cómo conseguir que el ordenador cumpla con nuestros deseos. Si usted espera ver una descripción o mencionar aquí cómo funciona la conciencia, qué conciencia es, qué significa pensar o razonar, entonces este no es el caso. Pensar no es sobre computadoras. Las computadoras calculan, calculan y ejecutan programas. Así que pensaremos en cómo hacer un programa que pueda calcular la secuencia necesaria de acciones para realizar nuestros deseos.

En qué forma nuestra tarea entra en el ordenador - a través del teclado, a través del micrófono, o de sensores implantados en el cerebro - no importa, es secundaria. Si podemos conseguir que el ordenador cumpla los deseos escritos en el texto, entonces podemos pedirle que haga un programa que también cumpla los deseos, pero a través de un micrófono. El análisis de imágenes también es superfluo.

Para argumentar que para que AI reconozca imágenes y sonido, estos algoritmos deben ser incorporados inicialmente en él es como decir que todos los que los crearon sabían desde el nacimiento cómo funcionaban tales programas.

Aquí está el axioma:
1. Todo en el mundo puede ser contado según algunas reglas.
(Se discutirá la incertidumbre cuántica e inexactitudes).
2. El cálculo según la regla es una dependencia inequívoca del resultado de los datos iniciales.
3. Cualquier dependencia inequívoca puede encontrarse estadísticamente.
Y ahora las afirmaciones:
4. Hay una función de convertir las descripciones de texto en reglas, para que no necesite buscar conocimientos que se han encontrado desde hace mucho tiempo.
5. Hay una función de transformar las tareas en soluciones (esto es el cumplimiento de nuestros deseos).
6. La regla de predicción de los datos arbitrarios incluye todas las demás reglas y funciones.

Vamos a traducir esto en lenguaje de programación:
1. Todo en el mundo puede ser calculado por algoritmos.
2. El algoritmo siempre da el mismo resultado cuando se repiten los datos originales.
3. Si hay muchos ejemplos de los datos y resultados iniciales para ellos, con un tiempo de búsqueda infinito, usted puede encontrar todos los muchos algoritmos posibles que implementan esta dependencia de los datos iniciales y el resultado.
4. Hay algoritmos para convertir las descripciones de texto en algoritmos (o cualquier otro dato de información) para no buscar los algoritmos necesarios estadísticamente, si alguien ya los ha encontrado y descrito.
5. Es posible crear un programa que satisfaga nuestros deseos, ya sea en texto o voz, siempre y cuando estos deseos se realicen físicamente y dentro del plazo requerido.
6. Si usted puede crear un programa que pueda predecir y aprender cómo predecir a medida que llegan nuevos datos, después de un tiempo infinito, tal programa incluirá todos los posibles algoritmos en nuestro mundo. Bueno, con tiempo no infinito para uso práctico y con algún error, puede ser forzado a ejecutar los algoritmos del programa reclamar 5 o cualquier otro.

Y IMHO:
7. No hay otra forma de completamente independiente e independiente del aprendizaje de una persona, excepto buscando reglas y comprobando estadísticamente el pronóstico. Sólo tienes que aprender a usar esta propiedad. Este es el principio en el que funciona nuestro cerebro.

Qué predecir. En el cerebro humano desde el nacimiento comienza a fluir información de los ojos, oídos, táctiles, etc. Todas las decisiones se toman sobre la base de datos previamente recibidos. Por analogía, hacemos un programa que tiene la entrada de nueva información por un byte - el flujo de byte de entrada. Todo lo que vino antes se presenta como una sola lista. De 0 a 255 se recibirá información externa, y más de 255 serán utilizados como marcadores de control especiales. Es decir, la entrada le permite escribir decir hasta 0xFF dimensión de un número. Y es este flujo, o más bien la siguiente cantidad agregada de información, que usted necesita aprender a predecir, basado en los datos que llegaron antes. Es decir, el programa debe tratar de adivinar cuál será el próximo número.

Por supuesto, otras opciones para presentar datos son posibles, pero para fines cuando una variedad de formatos se reciben en la entrada, simplemente rellenamos varios html con descripciones allí al principio, este es el más óptimo. Aunque los marcadores pueden ser reemplazados con secuencias de escape para fines de optimización, explicarlos es menos conveniente. (También digamos que todo está en ASCII, no en UTF).

Así que, primero, al igual que al nacer, ponemos todas las páginas web con descripciones allí en una fila y las compartimos con un marcador de nuevo texto -
Pronosticando, me refiero a un algoritmo que sabe no sólo qué patrones ya han sido, sino que está constantemente buscando nuevos. Por lo tanto, si envía una secuencia a tal programa
■begiera
■beg tituladagrass
■beg tituladaCeiling
, entonces debe entender que el marcador нелиных sigue el color del objeto previamente indicado, y en el lugar de la elipsis predice el color más probable del techo.

Le repetimos varios ejemplos para que entienda qué función aplicar dentro de estas etiquetas. Y el color mismo, por supuesto, no debería inventar, pero ya debería saberlo de forma independiente estudiando los patrones de pronóstico.

Cuando el algoritmo es necesario para responder, cuál fue la predicción del paso anterior se alimenta a la entrada de los próximos pasos. Tipo autopredicción (similar a la palabra autocorrelación).

La otra opción es poner una pregunta después del primer marcador, y luego la segunda respuesta, y luego si este algoritmo es super-mega-cool, debe comenzar a dar respuestas a incluso las preguntas más difíciles. De nuevo, dentro de los hechos ya estudiados.

Usted todavía puede encontrar muchos trucos diferentes con marcadores de control alimentados a la entrada del mecanismo predictivo, y obtener cualquier función deseada. En particular, se puede cruzar con el algoritmo de aprendizaje q y obtener secuencias de instrucciones necesarias para controlar cualquier mecanismo. Volveremos a los marcadores de control más tarde.

¿De qué está hecha esta caja negra? En primer lugar, vale la pena mencionar que es imposible hacer un cien por ciento de pronóstico siempre y en todas las situaciones. Por otro lado, si el resultado es siempre un número de cero, entonces este es el mismo pronóstico. Con un margen absoluto de error. Ahora vamos a calcular con qué probabilidad, qué número, qué número sigue. Para cada número, lo siguiente es lo más probable. Así podemos predecirlo un poco. Este es el primer paso de un viaje muy largo.

La muestra inequívoca de los datos iniciales en el resultado según el algoritmo, esto corresponde a la definición matemática de la función palabra, excepto que la definición del algoritmo no impone certeza en la cantidad y colocación de datos de entrada y salida. Como ejemplo, que haya una pequeña tableta: color objeto, traerá muchas líneas: azul cielo, verde hierba, blanco techo. Esto resultó ser una pequeña función de visualización única local. Y no importa que en realidad no sea raro que los colores sean diferentes – habrá tablas diferentes. Y cualquier base de datos que contenga propiedades recordadas de algo es un conjunto de funciones, y muestra identificadores de objetos por sus propiedades.

Para la simplicidad, más adelante en muchas situaciones, en lugar del término algoritmo, utilizaré la función de término, como un parámetro, a menos que se indique lo contrario. Y todas estas referencias, tienes que pensar en la extensibilidad a algoritmos.

Y daré una descripción ejemplar, porque en realidad implementaré todo esto por ahora. Pero tiene sentido. Cabe señalar también que todos los cálculos son realizados por coeficientes, no verdad o falsedad.

Cualquier algoritmo, especialmente uno que opera en enteros, puede ser descompuesto en múltiples condiciones y transiciones entre ellos. Las operaciones de adición, multiplicación, etc. también se descomponen en poligorímicos de condiciones y transiciones. Y el operador de resultados. No es un operador de retorno. El operador de una condición toma un valor desde algún lugar y lo compara con una constante. Y el operador de resultados pone un valor constante en alguna parte. La ubicación de la toma o el pliegue se calcula en relación con el punto base o los pasos anteriores del algoritmo.

struct t_node { int type; // 0 is a condition, 1 is the result of union { struct {/ operator of the condition t_node* source_get; t_value* compare_value; t_node* next_if_then; t_node* next_if_else; }; struct {/ operator of the result t_node* dest* Fuera del gancho, algo así. Y de estos elementos, se construye el algoritmo.

Cada punto predicho se calcula por una función. Una condición se adjunta a la función que prueba la aplicabilidad de la función a ese punto. Un acoplamiento común devuelve, ya sea una mentira no es aplicable, o el resultado de un cálculo de la función. Y la previsión continua del flujo es otra prueba de la aplicabilidad de todas las funciones ya inventadas y su cálculo, si es cierto. Y así por cada punto.

Además de la aplicabilidad, hay distancias. Entre los datos iniciales y el resultado, y esta distancia es diferente, con la misma función, dependiendo de la condición. (Y de la condición a la inicial o predicho es la misma distancia, será implícita, pero omitida en explicaciones.)

Con la acumulación de un gran número de funciones, el número de condiciones que prueban la aplicabilidad de estas funciones aumentará. Pero, en muchos casos, estas condiciones se pueden organizar en forma de árboles, y el corte de muchas funciones ocurrirá en proporción a la dependencia logarítmica.

Cuando hay una creación inicial y medición de la función, en lugar del operador de resultados, hay una acumulación de la distribución de los resultados reales. Después de la acumulación de estadísticas, la distribución es reemplazada por el resultado más probable, y la función es precedida por una condición, así como probar la condición para la máxima probabilidad del resultado.

Esta es una búsqueda de datos de correlación únicos. Habiendo acumulado muchos de estos solteros, tratamos de combinarlos en grupos. Consideramos la condición general y la distancia total del valor inicial al resultado. También comprobamos que en tales condiciones y distancias, en otros casos en que se repite el valor inicial, no hay una amplia distribución del resultado. Es decir, en usos frecuentes conocidos, es altamente idéntico.

Coeficiente de identidad. (Aquí hay una identidad bidireccional. Pero a menudo es unidireccional. Repensaré la fórmula más tarde.
El número de cada par XY en un cuadrado y añadir.
Divide por: la suma de las cantidades cuadradas de cada valor de X más la suma de las cantidades cuadradas Y menos divisible.
Es decir, SUM(XY^2) / (SUM(X^2) + SUM(Y^2) - SUM(XY^2).
Esta relación es de 0 a 1.

Y como resultado, lo que sucede. Hemos visto de hechos de alta frecuencia que bajo estas condiciones y distancias, estos hechos son inequívocos. Y los raros restantes, pero en total habrá mucho más que frecuentes, tienen el mismo error que los hechos frecuentes en estas condiciones. Es decir, podemos acumular una base de pronóstico sobre hechos aislados en estas condiciones.

Que haya una base de conocimientos. El cielo es a menudo azul, y tropical-rare-shit en algún lugar vio que es gris-borough-raspberry. Y recuerda, porque revisamos la regla - es confiable. Y el principio no depende del idioma, ya sea chino o extranjero. Y más tarde, después de entender las reglas de la traducción, se puede entender que una función se puede montar de diferentes idiomas.

Además, como resultado de la enumeración de las reglas, encontramos que bajo otros arreglos y condiciones surge la antigua identidad. Y ahora no necesitamos ganar una base grande para confirmar la identidad, es suficiente para escribir una docena de hechos individuales, y ver que dentro de estos diez, el mapeo se produce en los mismos valores que la función anterior. Es decir, la misma función se utiliza en otras condiciones. Esta propiedad forma que en la descripción podemos describir la misma propiedad en diferentes expresiones. Y a veces simplemente se enumeran en tablas en páginas de Internet. Además, la recopilación de datos sobre esta función se puede llevar a cabo para varios casos de uso.

Hay una acumulación de posibles condiciones y lugares diferentes con respecto a las funciones, y también puede tratar de encontrar patrones en ellos. No con frecuencia, las reglas de muestreo son similares para diferentes funciones, difieren sólo por alguna característica (por ejemplo, una palabra identificando propiedad o un título en una tabla).

En general, encontramos un montón de funciones de un parámetro. Y ahora, como en la formación de hechos individuales en uno-paramétricos, tratemos también aquí de agrupar las condiciones un-paramétricas y parte de la distancia. La parte que es común es una nueva condición, y la que difiere es el segundo parámetro de la nueva función, el dos parámetro, donde el primer parámetro será un parámetro de un parámetro.

Resulta que cada nuevo parámetro en multiparametría es con la misma linealidad que la formación de hechos únicos en un solo paramétrico (bueno, casi igual). Es decir, encontrar N-parametric proporcionaal a N. Que en la búsqueda de muchos parámetros se convierte casi en una red neuronal. (El que quiera lo entenderá.)

Funciones de conversión.

Por supuesto, es maravilloso cuando se nos proporcionó muchos ejemplos correspondientes, por ejemplo, pequeños textos de traducción del ruso al inglés. Y puedes empezar a intentar encontrar patrones entre ellos. Pero en realidad, todo está mezclado en el flujo de información de entrada.

Así que tomamos una función, y encontramos un camino entre los datos. Dos y tres. Ahora vemos si podemos encontrar una parte común entre ellos. Trate de encontrar estructuras X-P1-(P2)-P3-Y. Y luego, encontrar otras estructuras similares, con los gustos de X-P1 y P3-Y, pero diferentes P2. Y luego podemos concluir que estamos tratando con una estructura compleja que tiene dependencias. Un conjunto de reglas encontradas, menos la parte media, se combinan en grupos y llaman a la función de conversión. Así, se forman la traducción, la compilación y otras entidades complejas.

Tome una hoja con texto ruso, y con su traducción a un idioma desconocido. Sin un tutorial, es extremadamente difícil encontrar una comprensión de las reglas de traducción de estas hojas. Pero es posible. Y lo mismo que harías, necesitas convertirlo en un algoritmo de búsqueda.

Cuando comprendo las funciones simples, entonces continuaré deslumbrando la búsqueda de la conversión, hasta que llegue el boceto, y el entendimiento de que esto también es posible.

Además de la búsqueda estadística de funciones, es posible formarlas de descripciones, convirtiendo funciones en reglas. Ejemplos para la búsqueda inicial de tal función se pueden encontrar abundantemente en línea en los libros de texto — correlaciones entre las descripciones y reglas aplicadas a los ejemplos en esas descripciones. Es decir, resulta que el algoritmo de búsqueda debe igualmente ver tanto los datos fuente como las reglas aplicadas a ellos, es decir, todo debe estar situado en una especie de gráfico de datos homogéneos. Desde el mismo principio, sólo lo contrario se pueden encontrar reglas para la conversión inversa de reglas internas en descripciones externas o programas externos. Además de entender el sistema lo que sabe y lo que no sabe, puede preguntar antes de solicitar una respuesta si el sistema conoce la respuesta - sí o no.

Las funciones de las que he estado hablando no son sólo una sola pieza de algoritmo que encuentras, pero pueden consistir en una secuencia de otras funciones. Por ejemplo, describí a la vez palabras y frases predecibles. Pero para obtener una predicción de sólo un símbolo, usted necesita aplicar la función de tomar este único carácter a esta frase.

Además, la evaluación de la probabilidad está influenciada por la repetibilidad de un conjunto en diferentes funciones - forma tipos (es todavía pensar en cómo utilizar).

Y también debe mencionarse que no algunos conjuntos del mundo real, no páginas web, son ordenados y posiblemente continuos, o con otras características de conjuntos, que de alguna manera mejora los cálculos de probabilidades.

Además de medir directamente la regla encontrada en los ejemplos, asumo la existencia de otros métodos de evaluación, como un clasificador de reglas. O quizás el clasificador de estos clasificadores.

Más matices. El pronóstico consiste en dos niveles. El nivel de reglas encontradas y el nivel de búsqueda de nuevas reglas. Pero encontrar nuevas reglas es esencialmente el mismo programa con sus propios criterios. No tengo duda de que puede ser más fácil. Lo que se necesita es un nivel cero que buscará posibles algoritmos de búsqueda en toda su diversidad, que a su vez creará reglas finales. O tal vez es una recursión multinivel o fractal.

Volver a los marcadores de control. Como resultado de todos estos argumentos sobre el algoritmo, resulta que a través de ellos pedimos a esta caja negra que continúe la secuencia, y dar un cálculo sobre una función determinada por la similitud. Hazlo de la forma en que se mostró antes.

Hay otra manera de definir una función en este mecanismo, a través de definiciones. Por ejemplo:
"Seguido"Translate in English
*Respondiendo a la pregunta *
"Crear un programa para TK seleccionaparam]Quiero inteligencia artificial implicados. .

Y muchos otros casos de uso. Ni siquiera quiero pensar en ellos hasta que se construya el algoritmo, jugaremos con este juguete.

En general, las instrucciones finales para la producción aún no están disponibles. Hay muchas preguntas, tanto sobre el algoritmo en sí como sobre el uso (y sobre la multivariancia de los textos). Con el tiempo, refinaré y detallaré la descripción.

Algunos dirán que la fuerza bruta para encontrar cualquier patrón será demasiado larga. En cambio, un niño aprende a hablar durante varios años. ¿Cuántas opciones podemos calcular en pocos años? Las reglas encontradas y listas se aplican rápidamente, y para computadoras mucho más rápido que los humanos. Pero la búsqueda de nuevo y hay un largo tiempo, pero si el ordenador será más largo que una persona, no lo sabremos hasta que hagamos tal algoritmo. Además, note que bruteforce está perfectamente paralelizado, y hay millones de entusiastas que encenderán sus PCs caseros con este propósito. Y resulta que estos pocos años todavía pueden dividirse en un millón. Y las reglas encontradas por otros ordenadores serán estudiadas instantáneamente, a diferencia de un proceso similar en humanos.

Otros argumentarán que el cerebro tiene miles de millones de células paralelas. Entonces la pregunta es, ¿cómo se utilizan estos miles de millones al intentar aprender un idioma extranjero sin un libro de texto? Una persona se sentará sobre las impresiones durante mucho tiempo y escribirá palabras correlativas. Al mismo tiempo, una computadora lo hará en paquetes en un segundo partido.

Y análisis de imágenes – mueve una docena de bolas de billar y cuenta cuántas colisiones habrá. Y dos docenas o tres... ¿Y qué hay de miles de millones de células? En general, la velocidad cerebral y la multiparalidad es un problema muy controvertido.

Una dirección alternativa de la ejecución de la predicción es el uso de redes neuronales recurrentes (por ejemplo, red Elman). En esta dirección, usted no necesita pensar en la naturaleza de la previsión, pero hay muchas dificultades y matices. Pero si esta dirección se implementa, entonces el resto del uso sigue siendo el mismo.

Cuando voy a tratar de programar esto de nuevo, voy a entrar en más detalle sobre el algoritmo. Si alguien está interesado en discutir esta dirección, o puede haber una implementación conjunta, usted puede escribir en persona o por correo.

Y no me preguntes qué fumé. Será mejor que ofrezcas tu propia alternativa.

Fuente: geektimes.ru/post/247572/