Какой могла бы быть программа ИИ

в 6:35, , рубрики: искусственный интеллект

Ниже я написал небольшое рассуждение о том, какой могла бы быть компьютерная программа ИИ. Во-первых, на мой взгляд, нужно отделить собственно разум, который отвечает на вопрос «КАК достичь цели?», от желаний, которые определяют цель, иными словами, разум решает задачи, которые ставят эмоции. Далее под разумом понимается программа или алгоритм, который может находить ответы на вопросы, когда ответы заранее неизвестны. Но как могла бы работать эта программа, как она выясняет последовательность действий, нужных для достижения цели?

Здесь сразу нужно отметить, что для того, чтобы выработать самый простой алгоритм достижения цели, разум должен быть способен выявлять связи между событиями, причем автоматически. Под событиями понимаются некоторые скачкообразные изменения в окружающем мире, например, кружка разбилась или зазвучал звук.

В природе не самые умные животные обладают этой способностью: например кошка устанавливает связь между событием 1 (кличка) и событием 2 (кормлением). Но каким образом это происходит? И какие события записывать в память а какие нет? Ведь событий очень много, и все они, очевидно, не поместятся в память. Для живых существ видимо связи устанавливаются в двух случаях: либо при многократном повторении событий, либо если событие вызывает сильную эмоцию. Для ИИ в принципе можно задать самые разные критерии.

Как могло бы быть реализовано образование связей между событиями, объектами, в компьютерной программе? Если, например, программа принимает видео поток и аудио поток, то эти потоки должны представляться чередой событий. Например, видеокамера видит, как сначала загорается зеленая лампа, потом красная, потом снова зеленая и т. д. Это должно быть отображено в последовательности событий К-З-К-З-К… и т.д В этой ситуации в памяти должно закрепиться, что после события К следует событие З, а после события З следует К. Или такой пример: видеокамера видит, как при перемещении вверх рубильника загорается лампа, а при перемещении вниз тухнет. В памяти должно закрепиться, что движение рубильника вверх включает, а вниз выключает.

Но что это значит для компьютерной программы? А то, что в участке памяти, в котором сохранено событие «подьем рубильника», есть указатель на другое событие, а именно — на включение лампы. И т.п. Тут возникает вопрос: а как отделять события друг от друга в непрерывном потоке информации? Можно предположить, что простым вычитанием предыдущей картинки из текущей, например, попиксельно, и если есть разница, скажем, 10%, то принимать это за событие. Хотя критерии могут быть разные.

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

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

Здесь все просто: с одной стороны на один сенсор поступает изображения разных треугольников, а на другой — одно и то же обозначение. Т.е в ячейку памяти с именем «треугольник» должны сохраниться одинаковые признаки разных треугольников.

Конечно, разум оперирует информацией об окружающем мире сохраненной в памяти, но она сильно сжата и скорее всего переработана определенным образом. Т.е если в памяти сохранены картинки то это точно не формат BMP, а что то ближе к SVG. А если звук то не WAVE. А если это процессы, события, то это не видеозапись, а скорее короткая последовательность SVG картинок в каком-то смысле как gifка, хотя возможно и траектория изменений.

Теперь возникает вопрос: как все это должно работать? Разум ведь должен ПОНИМАТЬ вопрос, который ему задан. Но что это значит: понимать вопрос? Предположим, вопрос составлен на человеческом языке. Тогда ИИ должен понимать, что означают слова и фразы, из которых состоит вопрос. Но как это: понимать слова? Как компьютерная программа может понимать?

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

Однако многие слова, такие как «движение», «добавить», и т.д обозначают действия, процессы. На какую информацию они должны указывать? Здесь и нужна способность обобщать. Тогда со словом движение будет связано: изменение координат в пространстве чего-либо. И т.д. Таким образом, способность устанавливать взаимосвязи между событиями, объектами приведет к тому, что ИИ будет понимать слова.

Предположим такой пример: задаем ИИ вопрос: «как сделать жидкость слаще?» Для нас очевидно: Сделать слаще=увеличить параметр «сладость». Чтобы ИИ мог дать ответ, в памяти ИИ должны быть следующие взаимосвязи: сладость жидкости связана прямо с количеством сладкого вещества в ней. И фраза «сделать слаще» означала: увеличить параметр сладость.

Или другой вопрос: как сделать звук приемника громче? Для нас очевиден ответ: прокрутить ручку приемника, например, вправо. Чтобы ИИ дал ответ, нужно, чтобы у него в памяти были взаимосвязи: громкость зависит от положения ручки, вращение вправо=увеличение, сделать громче=увеличить громкость.

Итак, программа ИИ должна уметь примерно следующее:

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

Автор: waterandice

Источник

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


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