Создание искусственного интеллекта

в 11:07, , рубрики: Алгоритмы, искусственный интеллект, машинное обучение, прогнозирование, технологии

В результате своих изысканий я перестал для себя использовать фразу «искусственный интеллект» как слишком неопределенную и пришел к другой формулировке: алгоритм самообучения, исследования и применения найденных результатов для решения любых возможных к реализации задач.

Сформулируем аксиомы:
1. Все в мире можно посчитать по каким-нибудь правилам.
2. Расчет по правилу, это однозначная зависимость результата от исходных данных.
3. Любые однозначные зависимости можно находить статистически.

А теперь утверждения:
4. Существует функция преобразования текстовых описаний в правила — что бы не нужно было искать уже давно найденные знания.
5. Существует функция преобразования задач в решения (это исполнялка наших желаний).
6. Правило прогнозирования произвольных данных включает в себя все остальные правила и функции.

Не углубляясь в объяснения, переведем это на язык программиста:
1. Все в мире можно посчитать по каким-нибудь алгоритмам.
2. Алгоритм всегда при повторении исходных данных дает одинаковый результат.
3. При наличии множества примеров исходных данных и к ним результатов, при бесконечном времени поиска можно найти все множество возможных алгоритмов, реализующих эту зависимость исходных данных и результата.
4. Существует алгоритмы конвертации текстовых описаний (или любых других помогающих данных) в алгоритмы — чтобы не искать потребные алгоритмы статистически, если их уже кто-то когда-то нашел.
5. Можно создать программу, которая будет исполнять наши желания, будь они в текстовом или голосовом виде, при условии, что эти желания реализуемы физически и в потребные рамки времени.
6. Если умудриться создать программу, которая умеет прогнозировать и учиться прогнозированию по мере поступления новых данных, то по истечении бесконечного времени такая программа будет включать все возможные в нашем мире алгоритмы. Ну а при не бесконечном времени для практической пользы и с некоторой погрешностью ее можно заставить выполнять алгоритмы программы п.5 или любые другие.

Под прогнозированием я понимаю такой алгоритм, который знает не только какие закономерности уже были, но и ищет постоянно новые. И потому если на вход такой программе послать последовательность «небосиниетравазеленнаяпотолок...», то она должна сообразить, что за тегом следует цвет от указанного ранее объекта, и на месте многоточия спрогнозирует наиболее вероятный цвет потолка. Другой вариант, можно в начальном теге указывать вопрос, а во втором ответ, и тогда будь этот алгоритм супер-мега-крутым, он должен начать давать ответы даже на самые сложные вопросы. Можно еще много придумать разных закономерностей с такими искусственными тегами, поданными на вход прогнозирующего механизма, и получать любые желаемые функции. В частности, его можно скрестить с алгоритмом q-learning и получать последовательности команд, необходимых для управления какими-либо механизмами.

Понимание всей картины в виде функций и всевключающего алгоритма прогнозирования началось с понимания следующей штуки. Я пытался понять, какие знания можно получить из произвольных текстов. Как статистически из текста составлять базу данных свойств всех упоминаемых в нем сущностей. Получилось, что свойствами сущностей будут такие структуры из текста, которые имеют высокую корреляцию входящих в нее значений. Т.е. при повторном нахождении первого значения структуры второе значение будет таким же, как и в прошлый раз. И получается, что на высокочастотных упоминаемых фактах правило этой структуры проверяется и удостоверяется, что оно имеет высокую корреляцию. А после уже для всех прочих, даже если с этим правилом впервые встретилась какая-то новая пара значений первое-второе, то его перепроверять уже не нужно, т.к. проверено само правило. Получается, что пара «небо синее» встречается часто и на нем выверяем правило, а пара «редкая-тропическая-фигня серо-буро-малиновая» встретится один раз, но оно соответствует проверенному шаблону и этого достаточно. Такому принципу и отвечают все возможные свойства сущностей из текста, и, таким образом, создается база данных со свойствами сущностей из произвольных текстов. Причем этому определению соответствуют все разговорные языки. Такое определение так же соответствует определению функции. Функция — это то, что однозначно отображает исходные множества на результатирующие.

Конечно, описанный выше способ разбора текста далеко не окончателен, там гораздо больше сложностей. И все это является подмножеством для создания прогнозирующего механизма. Т.е. при попытке прогнозировать тексты в том числе будет создаваться база данных. И в том числе статистически будут найдены алгоритмы конвертации текстов в алгоритмы — корреляция описаний и следующих за ними примеров, которыми изобилуют учебники.

На текущий момент я предполагаю три возможных направления реализации алгоритма прогнозирования. Статистический поиск алгоритмов — от статистики создается алгоритм. Методом прямого перебора алгоритмов — перебираются все подряд алгоритмы и проверяются статистически. И через рекуррентные нейронные сети.

Эффективность развития алгоритма прогнозирования растет экспоненциально при рекурсивном применении к самому себе в помощи в поиске, впрочем, как и сложность оставшихся не найденных закономерностей. Эффективность растет в совершенствовании алгоритмов поиска в виде возможности самораспараллеливания и в виде нахождения новых технологий и автоматизации их производства, которые при определенном уровне развития будут находиться уже самим алгоритмом. Которая из кривых — сложности или эффективности — будет обгонять, сложно сказать. Но по любому уже найденные алгоритмы даже на настольных ПК выполняются не медленней, а подчастую и в миллионны раз быстрее, чем их решает человек. И в отличие от человека, обучаться программа должна лишь один раз, а не каждый раз заново при новом поколении.

В заключении скажу, что если бы я до конца понимал все детали описанного алгоритма, я бы молча его создавал, но не публиковал бы здесь эти фантазии.

Автор: victor79

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js