Искусственный интеллект – задача многогранная и сложная. Уж не говоря о том, что ей еще надо найти безопасное применение…
Вчера, заглянув на хабр, я прочел статью про ИИ и то, чем он должен обладать. Очень долго я думал о том, почему опускают чувства, ощущения и эмоции.
Я считаю, что чувства — одна из важнейших моделей программирования ИИ, однако, давайте по порядку.
Глоссарий
Для начала давайте определимся с понятиями и описаниями.
Также хочу добавить что чувство – это более высокий элемент, чем ощущение. Банальный пример: чувство сопереживания и ощущение боли. Ощущать сопереживание нельзя, значит ощущение это то, что дают нам органы чувств.
Добавлю, что я не буду рассматривать сами органы чувств и оставлю этот момент на желание читателя.
Некоторые элементы подчерпнуты из психологии, физиологии, философии и еще пары наук, однако, все остальное – чисто теоритическая часть и субъективное мнение.
Немного фактов
Любое животное, в том числе и человек, при рождении имеет безусловные рефлексы.
Как петуха учат танцевать под балалайку? Ставят на раскаленную сковороду и играют на балалайке. У петуха появляется условный рефлекс, что под балалайку ножки жжёт и пора, собственно, скакать. Это называется ассоциативная память – она присутствует у любого животного.
Теперь добавим еще моментов: что вы помните из времени своего рождения?! Ничего. У вас тогда работает только ассоциативная память. Но и не только, однако, об этом чуть позже.
Что заставляет запоминать?
Где-то и когда-то я читал (за пруфами в гугл), что в
Т.е. можно предположить простое понятие: плохое и хорошее. Но, поскольку, на плохое и хорошее делить глупо (т.к. понятия субъективны), то можно опуститься до параметра ощущения – боль. Введем этот параметр от -1 до 1, где 1 = хорошо, а -1 = плохо.
Петух запоминает ассоциацией, что при звуках балалайки будет боль. И что минимальное избежать ее можно тем, что она будет прыгать на своих ножках. Со временем вырабатывается крепкий условный рефлекс и последующая реакция на него, которая помогает сдвинуть ползунок из меньше нуля в больше нуля, хотя бы на доли секунд…
Что мы имеем? Ассоциативный массив с параметром, что это больно, и описаниями последующих действий, дабы переместить ползунок наверх…
При этом присутствует какая-то базовая логика: боль? Постараться ее избежать – вызвать безусловный рефлекс избегания боли, т.е. поднять ножку.
Однако
У человека есть более расширенная логика с пониманием причинно-следственной связи: в данном случае, осознание, что стоять на горячей сковородке и скакать постоянно – не есть труЪ и избежать данной боли можно несколькими путями:
- слезть со сковородки;
- выключить газ;
навалять балалаечнику.
Да, человек будет также избегать боли, вызывая безусловный рефлекс «скакать», однако, он также будет пользоваться расширенными от базового класса «безусловный рефлекс», постоянно расширяя его и перестраивая.
К этому можно подвести банальность: когда вы рождаетесь, то вы не имеете никаких условных рефлексов (или имеете хоть какие-то). Когда ребенку больно, он начинает орать. Прибегает мама, кормит/поит/баюкает/меняет пеленки. Ползунок смещается в сторону выше нуля и ребенок успокаивается. Со временем ребенок устанавливает связь, что, дескать, да, если я заору, то прибежит мама и покормит. Со временем мы набираемся опыта и перестраиваем базовые классы (или наследуем от предыдущих) и, когда хотим есть, мы не орем, а идем на кухню и передвигаем свой ползунок боли выше нуля.
Т.е. животное заставляет обучаться желание держать ползунок боли хотя бы выше нуля. Человек же, выстраивая логические связи, со временем учится с наименьшими затратами передвигать данный ползунок. Животное же пользуется только ассоциативной памятью или, так называемыми, условными рефлексами: петух не выключит газ и не разобьет балалайку.
В принципе, все чувства можно привести к ощущение боли, например, привязанность можно привести как нежелание получать боль при отсутствии данного человека (достаточно дилетантское объяснение, но расширяйте, если есть желание), которое расширенно от высших классов, которые как-либо или иначе (кстати, вполне можно вписать сюда множественное наследование) наследуются от базового класса Боль.
Действия – это расширенные безусловные рефлексы, которые каждый раз увеличиваются в размере наследования (и также, вполне возможно, включают множественное наследование).
А точнее?!
Представим следующую схему: есть базовый процессор, который получает событие, что происходит боль (неприязнь). Процессор собирает данные с других чувств, записывает что «Это» больно. После он передает событие другому процессору о том, что надо что-то сделать, чтобы избежать боли. Второй процессор прошаривает ассоциативную память на предмет выходов и вызывает событие (или события) «избежать», которое имеет больший приоритет. Если это помогло избежать в дальнейшем этой боли, то первый процессор записывает выход, увеличивает приоритет и складывает в ассоциативную память. Также он восстанавливает из быстрой памяти информацию, приведшую организм в данную ситуацию, анализирует, отбрасывая лишнее, и добавляет ее к описанию.
Это позволяет организму избежать в дальнейшем повторения ситуации.
В дальнейшем третий процессор где-то получает информацию как выйти из ситуации проще. Присваивает ей приоритет, но с меньшим параметром актуальности, и записывает в массив. В случае слабой нужды, второй процессор может вызвать новую информацию, дабы проверить ее и, в случае успеха, повысить ей приоритет, либо, в случае высокой нужды избегания Боли, вызывает действие с высшим приоритетом (вплоть до самого низкого, т.е. безусловного рефлекса (поднять ногу пока собираем информацию об обстановке и имеем ли мы доступ к крану и/или чему-нибудь тяжелому для балалаечника)). Постоянно пополнять ассоциативный массив и перестраивать классы нас заставляет третий процессор, который ищет выходы для всех классов (ведь каждый класс вносит свои поправки в боль), расширяя тем самым модель организма и стараясь привести его в состояния комфорта.
Классы?
В private структуре можно хранить параметры изменения ползунка: чем выше класс, тем меньше он меняет ползунок (или это вызывается в родителях так, что родители вносят коррективы, что в последствие превращается в длинное вещественное число малое по размеру).
В protected структуре можно хранить ссылки на действия, помогающие избежать данности и, результирующе считающие функции, позволяющие вернуть значение, которое передвинет нас к большему значению комфорта (они могут вызывать такие же функции родителей, получая и суммируя общее число).
В public можно хранить собственно процедуру получатель события…
Ах, да, забавный момент: нет смысла создавать объекты… Тут даже проще использовать прототипы.
К чему это все?
Организм животного имеет жестко заданный алгоритм действия — безусловный рефлекс.
Человеческий организм вносит поправки в параметр боль, расширяя его (от 0,005 до 0,0075 – состояние «неприятно», например) параметрами и классами также оставляя безусловные рефлексы (отдернуть руку от горячего чайника), но, обучая организм в дальнейшем не сталкиваться с данностью и выходить перед ней, строя модель следствий действий.
Все строится на ассоциативном массиве.
Стимул к обучению и расширению наших знаний дает нежелание получить боль (отсутствие почета – тоже боль).
Дабы искусственный интеллект обучался, требуется дать ему ощущение боли, желание его избежать, безусловные рефлексы (т.е. четко заданный алгоритм) и возможность переписывания собственных классов.
В данном случае есть возможность заставить его обучаться самостоятельно, однако, вскоре он может добраться до собственных базовых исходников и переписать алгоритм передвижение со временем ползунка боли и забить, наслаждаясь существованием.
Это образно-субъективный взгляд на ИИ и, как кажется, описан он немного профански, но, думаю, вызовет бурю эмоций в данном сообществе и, может быть, внесет свою лепту (а может уже она есть) в построение алгоритма ИИ.
Автор: DSL88