Инженеры, программисты и философы всех направлений объединяйтесь:
нам нечего терять кроме Марковских цепей!
-----------------------------------------------------------------
Манифест строителя сильного ИИ.-----------------------------------------------------------------
Этот призыв – ответ на зимнее обострение, которое проявилось в темах на форуме GotAi:
• «Коллективный интеллект», автор sine nomine;
• «Создадим профессиональный форум ?», автор tac.
И так, я полагаю, что центром кристаллизации должна быть идея, а не форма, ибо, как сказано в сутре сердца: «Форма – это пустота… пустота – это форма…»
Идея практическая, а не философская, ибо всего должно быть в меру. А на данный момент философского и теоретического предостаточно.
Идей ИИ, как было сказано, у каждого есть, но каждый молчит в тряпочку в надежде быть первооткрывателем. Ну что же. Попробуйте оценить вот это.
И так, сначала практическая идея, потом форма.
Прежде всего, для общего понимания ознакомьтесь с этими статьями:
1. Путь отчаянного кибернетика 2. Дедукция Холмса, или от самого общего к частному 3. Начальные свойства саморазвивающейся системы4. «Геометрия» живой материи 5. Центральный орган. Свойства и функции 6. Целевая функция 7. Знания и информацияТеперь суть. Я попытаюсь изложить как ТЗ для программиста. Условное название эксперимента: Char-Agent. Весь проект можно назвать KnowTilus, от слова Наутилус. Почему станет ясно в конце.
Для простоты представьте себе Chat-Bot. На входе строка, на выходе строка, а посередине гвоздик… извините это из другой сказки.

Каждое поле: «От собеседника», «К собеседнику» и «CharInBeffer» - это array of byte;
У агента в «гвоздике» есть память, MemData:array of byte. Она пуста, априорной информации нет вообще. «Основа жизни господина ПЖ» - бесконечный цикл:
Procedure Life;
begin
Reaction; // активизируется, если CharInBuffer не пуст.
ReactionIdle; // активизируется, если CharInBuffer пуст.
SuperVision; // Здесь мы пишем логи, потому-что мы боги.
end;Так как о философии ни слова, то я вам и не скажу, что таким образом реализовано непрерывное взаимодействие агента с внешней средой.
Текстовая информация не интерпретируется как текст со словами, слогами и т.д. Она интерпретируется, как непрерывный поток, элементом которого является Char или байт.
Что делает «Гвоздик»? Он сравнивает поток от собеседника со своей памятью MemData.
Целевая функция «Гвоздика» искать новое.
Первый цикл: В памяти ничего нет и первая сказанная фраза запоминается как есть.
Второй цикл: ReactionIdle…
Третий цикл: ReactionIdle…
… // циклы крутятся быстрее, чем собеседник нажимает на клавиши
Цикл N: Собеседник очнулся и его вторая фраза анализируется на наличие новых букв, запоминаются только они.
Возможна ситуация, когда собеседнику лень нажимать на клавиши и цикл замыкается на ReactionIdle слишком часто. Плохо. Переменная Emotion уменьшается. Когда она достигает порогового значения включается процедура формирования до сих пор молчавшего буфера «К собеседнику». Что там будет? А что в памяти, то и выходит. И попадает, как показано в картинке опять в «CharInBeffer». Самоедство эдакое.
Так как о философии ни слова, то я вам и не скажу, что это обратная связь.
Собеседник увидел абракадабру и ответил типа: «Чего-чего…?!» А это новое и переменная Emotion пошла вверх.
Долго ли коротко шел Иван-Царевич, пардон это другая сказка… Через какое-то время MemData будет представлять из себя таблицу ASCII с пробелами, запятыми, точками и т.д.
Дальше собеседник пишет…а нового не поступает. Ну конечно, если китаец какой-либо не напишет иероглиф.
Нового нет, возбуждение потока «К собеседнику» не приводит к появлению новых букв, что делать?
А так как о философии ни слова, то я вам и не скажу, что надо активизировать фрактальное преобразование, сиречь копирование со смещением, сиречь самоподобие.
Средствами объектно - ориентированного языка, и я здесь на стороне уважаемого tac, Char-Agent[1] перешел в фазу акматическую и «родил» объект Char-Agent[2]. А что сместилось – то? А то, что теперь единым и неделимым элементом потока надо сделать два байта. И всё по новой. Поток от собеседника тот-же, а нового много. На сколько много? А вот здесь гляньте:
Заглавная_страницаСлова_из_2_букв Слов из двух букв в русском языке 126. (не путать с сочетанием из 32 по 2).
Дальше родился Char-Agent[3]. Больше всего слов в русском языке состоит из 8 букв и Char-Agent[8] будет долго радовать собеседника своими перлами…
Слова_из_8_буквНо и ему придет конец, захиреет. Что делать дальше? А надо делать свертку всех восьми агентов. Появятся агенты Char-Agent[12], Char-Agent[23] и т.д. вообщем конечное число.
Дальнейшие детали я пока не буду излагать, даже на этом уровне видно, что это пока конечный автомат. Но что надо усложнить в каждом агенте, какие связи и критерии создать, чтобы превратить его и всю свертку в бесконечный автомат я представляю… но это философия, о которой мы договорились не говорить пока. И здесь есть место для дискуссии о формировании памяти образов, потому-что двум буквам и более надо поставить в соответствие индекс. Можно детализировать процедуру ReactionIdle и смещать фокус внимания не на поступающую информацию, а на уже имеющуюся в памяти, лишь бы выкопать что-то новое и тем самым реализовать целевую функцию.
Можно и нужно предоставить возможность для последовательного запоминания событий, коими будут:
- возбуждение входного канала;
- выбор паттерна из памяти;
- результат сравнения: новое – хорошо; старое – плохо.
Эти события должны записываться в память, им надо предать форму с тем, чтобы и на них распространялся фокус внимания. Отсюда появляются две переменные:
Focus – координата в памяти или номер элемента
Field – ширина в элементах или количество элементов.
Изменение Field от 1 до 2 и есть действие, которое приводит к созданию новых субагентов.
Здесь еще много работы, именно по этой причине я сосредоточился на потоке Char, это несоизмеримо проще, нежели поток Sound или Image. А увидеть закономерности проще для байтового потока.
Теперь кратко.1. Char-Agent непрерывно взаимодействует с внешним миром, функцию которого реализует собеседник. На него возлагается задача говорить так, как если бы он говорил с ребенком.
2. Char-Agent реализует целевую функцию – находить новое и запоминать его. Для этого он усложняет свою структуру и плодит субагентов по своему подобию, реализуя фрактальное преобразование.
3. Реализуется потоковый принцип, который может быть основой не только Char-Agenta. Пока параллельно можно создавать Sound-Agent и Image-Agent. А потом сделать свертку. Радуйтесь любители нейронных сетей – это ваше, только в отличие от бинарного принципа здесь каждый нейрон – это целый агент, который связан с внешним миром и имеет свою задачу.
4. Реализован принцип иерархичности, об этом я пока не написал в своих эссе. Но здесь намечается такая картина, когда пямять образов от Char-Agenta и от Imge-Agenta устроена одинаково и оторвана уже от структуры сенсоров, это ли не принцип верхних слоев неокортекса о которых говорил Джефф Хокинс?
5. Никаких real, float, только longint, ибо весь функционал агента можно легко переложить в железо, а как это сделать я знаю. А так же никаких библиотек, ибо это непереносимо на другие платформы, а в железо тем более.
6. Все субагенты, ориентированные на формат сенсоров и объединяющие агенты, манипулирующие индексами существуют и действуют одновременно, поставляя верхнему на данный момент субагенту эмоциональное состояние (переменная Emotion), которое отражает новизну. Не говорю про энтропию, т.к. это философия.
Почему лозунг отрицает Марковские цепи, а вместе с ним вообще все математические методы? Потому что я придерживаюсь той мысли, что многое можно создать на простых алгоритмах, как RISC – архитектура процессора. В основе самого сложного гаджета, который крутится в руках студента, лежит логический элемент «И-НЕ», из него проистекает вся видимая сложность, просто иерархия элементов такова, что с вершины порнографического видео не распознать основ. Распознавание, о котором так «долго говорили большевики» тоже иерархическая задача. Её все почему-то хотят вырвать из контекста. Распознавание – это не заложенный заранее принцип, или процедура, а свойство, которое образуется в результате работы целевой функции и метода фрактального преобразования.
Если система ориентирована на поиск новизны, то распознавание в потоке объектов иерархической природы будет подчинено целевой функции. Так мы ответим на вопрос зачем распознавать? Система будет распознавать новизну. Можно возразить: шумящее с плохим отношением сигнал-шум видео будет поставлять кадр за кадром новую реализацию и система останется безучастна к структурному усложнению. Это так и было бы, если не учитывать иерархичность и связанное с ней существование субагентов, елементом рассмотрения которых является не шумящий пиксель, а область растра, которая уже имеет структурность и менее подвержена высокочастотному шуму. А чем выше субагент, тем его новизна ценнее.
Теперь о форме.Чтобы координировать этот проект не надо много людей. Все, кто видит в этом эксперименте что-то новое, пожалуйста. Поразмыслите об этом неспешно. Организационные действия по расширению проекта, просто как мысли вслух, мне видятся так:
1. Создается финансовый фонд, например, в Яndex деньгах. Аккаунт будет открыт для всех, чтобы все видели транзакции. Платежный код будет у координатора. Наполнение фонда – пожертвования. Цель фонда – поддержать программистов, и выход в реал: встречи, конференции.
2. Координатор проекта согласовывает всё вплоть до имен переменных. Каждый программист может быть ориентирован на конкретную задачу, объединение данных - задача координатора. Это как капитан Немо строил свой Наутилус: двигатель в одном месте, ходовая часть в другом. Вот почему проект носит название KnowTilus. В отличии от Немо мы строим не лодку, а знания.
3. Возможна некая структура: сайт для продвижения идей и координации участников.
Футурология.В результате эксперимента может и не родится ИИ. Но если появится в меру умный чат-бот, то это коммерческий продукт. Могут появится нестандартные алгоритмы распознавания. И может появится команда… А если развивать идею дальше, то с некоторого момента программисты будут не нужны, а нужны будут психологи, преподаватели, философы и филологи.