SQL квалии. SQL.. SQL. искусственный интеллект.. SQL. искусственный интеллект. Квалии.. SQL. искусственный интеллект. Квалии. сознание.

Есть мнение, что принципиальной точкой в развитии ИИ станет обретение им сознания. Что такое со-знание, как оно появляется и “работает” (у Жизни, у нас, у ИИ) разговор отдельный. Но говоря о сознании нельзя пройти мимо темы т.н. “квалий”, на использовании которых в качестве своеобразной базы данных как считается сознание и основывает свою работу. Конечно же есть множество литературы на эту тему, в т.ч. и Д. Чалмерс, однако к.м.к. всё же имеет смысл схематически показать что такое квалии, как они получаются и работают на краткой, простой и понятной модели с использованием ПК и языка SQL.

Начнем с формальностей, с определения:

“Квалиа – феноменальные качественные характеристики сознательного опыта” (Большая Российская энциклопедия)

Что ж, давайте возьмём всеми любимый красный цвет и попробуем понять, как же он “появляется” у нас в голове. Естественно, человек и его мозг всё же слишком сложен, с ним пока и все учёные мира не разобрались до конца, и мы будем делать это на упрощенной модели (давая иногда аналогию с мозгом). И качестве простейшей модели используем парочку обычных однотипных компьютеров (ПК) на которых крутиться одинаковая операционка, пока пустая однотипная база данных (БД) с собственной системой управления (СУБД), однотипные датчики (цвета и звука), и некая программа для связи датчика и БД (ПО).

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

В БД будет пока одна таблица “входной лог цвета” с пока одним полем “цвет”, в котором будет содержаться его, целое для упрощения, значение.

CREATE TABLE log_свет_цвет (цвет INT);
(строки SQL-запросов даны лишь в демонстрационных целях, без привязки к опред. СУБД, их точность и выполнение не гарантируется)

Далее подключаем аналоговый датчик цвета всего спектра (человека) к ПК. И вот тут уже начинаются пока ещё мелкие проблемы, т.к. аналог в цифровой ПК не пишется напрямую, нужно его обработать аналогово-цифоровым преобразователем (АЦП) (допустим от 0 – черный до 255 – белый), причём отметим, что если сам цвет света мы можем замерить прибором, т.е. “на входе” вроде всё с т.з. измеримости и исчислимости нормально (возможные проблемы и ошибки пока оставим в стороне), то вот уже для “измерения” цифрового сигнала нужно понимать алгоритм преобразования АЦП… ну да ладно…

Приступим:

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

Что произойдет: датчик сработает и создаст кодированный АЦП в соотв. цифру (например 200) сигнал.

Далее ПО, которое постоянно сканирует порт с датчиком, получив данный сигнал запишет его значение в БД.

INSERT INTO log_свет_цвет VALUES (200);

В результате у нас будет логическая запись в таблицу значения 200 и физическая запись в двоичном коде в долговременную память ПК (перемещения сигнала по ПК пропустим) в собственном формате некого кодированного (базой данных, файловой системой операционки, контроллером накопителя, конкретными магнитными доменами HDD/ячейками SSD (а там опять аналоговое значение, чуть больше чуть меньше)) аналога этого числа.

Т.е. у нас в БД ПК появилась некое значение (но это пока не квалиа) связанное (для ПК, который у нас типа “мозг”) с датчиком “цвета”.

И в процессе этого происходят чудеса.
Во-первых, как мы помним, у нас два ПК, и хотя они одинаковы, но не абсолютно же, то же касается и датчиков (могут выдать чуть разное значение около 200, + есть некая разница в работе “железа”/софта) – так что и запись в БД может произойти не строго по одному логическому “адресу” диска, и (даже если адрес одинаковый) не в одну и ту же физическую ячейку памяти /домен (ибо первичное форматирование может быть разным и само “железо” то же “физически” разное, хоть “логически” одинаково), и даже записанное может быть разного (магнитного потенциала головки/“блина” диска/микрухи) (ну и не исключен запись в “плохой сектор” и т.п.) – вот вам и пошла уникальность…

И это только первый и пока единственный сигнал для одинаковых ПК… В биоПК не найти абсолютно одинаковых, и сигналов у них огромное число… так что вопрос об уникальности уже вырисовывается вполне ясно.

Но это ладно, прямо тут возникает второе чудо: наш, ранее измеримый приборами в системе СИ сигнал, превращается в некую “информацию”, которую хотя и пока ещё можно напрячься и отследить и даже как-то измерить, но вот сопоставить эту “информацию” с другими такими же ПК уже проблематично, она становиться уникальной для данного (т.е. проблемно будет физически, “один в один”, перенести данные на другой диск другого ПК и при этом на нём получить абсолютно ту же информацию, что и на первом (да, для ПК можно переставить диск, но для биосистем такое невозможно, пока)). Т.е. тут произошло преобразование в собственное внутреннее представление (и не первое, как мы помним) некоего “физического”, измеряемого явления в “логическое”, абстрактное и “кодированное”(дополненное), согласно неким особенностям и правилам для данной системы. Это не совсем уникальное преобразование (всё же и ПК и ОС и СУБД у нас однотипные), оно в целом имеет некий (общий) алгоритм, но в совокупности с другими уникальностями ПК( организма), (разными) начальными условиями и влияния среды – уже близко к тому.

Ну и до кучи наша пока единственная таблица это на самом деле “первичный лог” и там долго ничего не храниться (образно: от пробуждения до пробуждения) и данные из неё сводятся в другие таблицы (оперативного/временного/постоянного/архивного хранения)) или стираются. В частности, (мы сделаем так, что) для “постоянного хранения” все “новенькие” цвета попадают в таблицу всех известных цветов света с “присвоением” им уже уникального внутреннего идентификатора. Причём присутствуют они там лишь в единственном экземпляре и соотв. единственном идентификаторе (т.е. в этой таблице будет только одно значение красного цвета = 200 из всех когда-либо попавших в первичный лог (а близкие уже или “именные” типа “бурый”, либо оттенками, либо сводим к красному)).

CREATE TABLE все_цвета (MyID int PRIMARY KEY AUTO_INCREMENT, цвет INT); INSERT INTO все_цвета (цвет) SELECT DISTINCT log_свет_цвет.цвет FROM log_свет_цвет WHERE NOT EXISTS (SELECT цвет FROM все_цвета WHERE log_свет_цвет.цвет = все_цвета.цвет);

А что у нас с квалией “красного цвета” – мы её получили? Нет конечно же. У нас в БД просто некое число от датчика света и всё. Оно кое-как связано с понятием цвет (датчиком и “названием таблицы” – областью памяти), но никак не связано с понятием “красный”.

Тааак…, “красный” это ж у нас слово, т.е. некий определенный набор (отцифрованных) звуков от паузы до паузы (для наглядности мы это преобразуем в буквенное значение).

CREATE TABLE log_звук_слово (слово CHAR(255));

Тогда что, подключаем микрофон, в ПО вносим изменения для разделения потоков, а в БД отдельную таблицу лога входных звуков, где пусть поле “значение” будет уже “сборным”, “очищеным” от эмоций, распознанным и преобразованным в слово.
Ну и наговорим туда слово “красный”.

INSERT INTO log_звук_слово VALUES (“красный”);

Так же как и с цветом, добавим новые и уникальные слова из временного лога в постоянную таблицу всех слов со своими уникальными идентификаторами (морфологический/эмоциональный/и пр. “разбор” слов “в мозге” тут для простоты не будем учитывать).

CREATE TABLE все_слова (MyID int PRIMARY KEY AUTO_INCREMENT, слово CHAR(255));
INSERT INTO все_слова (слово) SELECT DISTINCT log_звук_слово.слово FROM log_звук_слово WHERE NOT EXISTS (SELECT слово FROM все_слова WHERE log_звук_слово.слово = все_слова.слово);

Появиться ли у нас после этого квалия “красного цвета”? Опять нет, с чего бы?

Для получения из отдельных “феноменов” квалии нам нужно как-то подсказать ПО, что они имеют нечто общее и выделяются из прочих других. Т.е. нам нужно получить некую связь между ними, ассоциировать, связать между собой цвет и слово. Как это сделать?

А как в реальности ребенку (да и у взрослого, например при создания примет) формируют такую (подобную) связь?* Это все знают: привлекают внимание ребенка, показывают цвет и говорят слово, и так много дней много раз. Ну или он (точнее его инф. система мозга сама) не особо внимательно, но замечает некие совпадения (а так же может сама их нащупывать из уже созданных квалий), но такое будет “ниже уровнем” значимости, чем с привлечением внимания, специальное, много за раз и с закреплением (после закрепления система отключается, до существенных ошибок и необходимости реассоциаций).
* это пример ассоциации цвета и слова уже для что-то сознающего ребенка, где-то от 2х лет. Однако надо понимать, что набор квалий мозгом идет практически сразу от рождения, как только это будет возможно, инстинктивно, и база, %90, закладывается как раз в первые годы…(так что определение спорное), да и ассоциирование возможно и по другим критериям, например похожести, близким свойствам, случаю, ошибке… а затем (хоть как-то) подтверждено, пока нет или опровергнуто…

Так мы и поступим: введём в обе таблицы поля “значение времени” начала и конца события и будем их заполнять от таймера ПК при поступлении данных, а так же поле для регистрации факта привлечения внимания в данный момент.

ALTER TABLE log_свет_цвет ADD моё_локальное_время_старт TIMESTAMP, моё_локальное_время_стоп TIMESTAMP, внимание INT;
ALTER TABLE log_звук_слово ADD моё_локальное_время_старт TIMESTAMP, моё_локальное_время_стоп TIMESTAMP, внимание INT;

А в БД заведем новую табличку “Ассоциации” с полями “слово”, “цвет” (пока только их, но так-то и феноменов много всяких может быть, и предположительных связей между ними) и кол-во совпадений.

CREATE TABLE ассоциации (myid_цвет INT, myid_слово INT, совпадения INT );

В алгоритм же ПО добавим отдельную функцию (хотя их там много, в.ч.: экстренная, связанная с опасностью/вознаграждением; с “я”; реального времени для “кратковременных ассоциаций”; не реального, “во сне” – для долговременной памяти…), сравнения совпадения времени опред. набора звуков и опред. цвета (и заданный (или просто максимальный из всех на момент запроса результата) максимум совпадений это и будет ассоциация). И, говоря далее о функции для долговременного запоминания, на некоем этапе ассоциация фиксируется, а программа сравнения выключается, совсем уж неустойчивые ассоциации вытесняются, остаются наиболее близкие.

— получаем идентификатор цвета света
— выбираем идентификатор цвета 200 (это упрощенная версия, только для красного цвета, а так-то перебираются все совпадения, особенно когда в фокусе внимания (и значимости, но пропустим))

DECLARE @tmp_ID_color INT;
SET @tmp_ID_color = (SELECT myID FROM все_цвета WHERE цвет=200);

— декларируем идентификатор слова
DECLARE @tmp_ID_word INT;
— задаем лаг
DECLARE @lag1 INT;
SET @lag1= 50;

— задаем минимум повторов в логе для ассоциации
DECLARE @min_duble INT;
SET @min_duble= 3;

— задаем коэф. “внимания” (но там не только внимание проверяется, но и готовность, и энергия, и “статус”: альфа/омега, и экстренность).
DECLARE @k_v1 INT;
SET @k_v1= 10;

— создаем временные переменные
DECLARE @counter1, @counter2, @counter3, @counter4 INT;
DECLARE @word1 CHAR(255);

— создаем временную таблицу, куда выбираем из лога слов все слова, которые были услышаны во время, когда фиксировался красный цвет, ± лаг
CREATE TEMPORARY TABLE temp_table (id INT IDENTITY(1,1), слово CHAR(255), внимание INT);
INSERT INTO tmp_table (слово, внимание)

SELECT log_звук_слово.слово, log_свет_цвет.внимание
FROM log_свет_цвет
INNER JOIN log_звук_слово
ON log_звук_слово.моё_локальное_время_старт >= log_свет_цвет.моё_локальное_время_старт - @lag1
AND log_звук_слово.моё_локальное_время_старт =< log_свет_цвет.моё_локальное_время_стоп + @lag1)
WHERE log_свет_цвет.цвет=200;

— в этой таблице:
— считаем ко-во строк

@counter1=(SELECT COUNT * FROM tmp_table);

— для каждого слова в таблице
WHILE @counter1 > 0
BEGIN
— проверяем что было внимание или что его упоминание было больше заданного минимума если нет – игнорируем
@word1=(SELECT слово FROM tmp_table WHERE id=@counter1);
@counter2=(SELECT внимание FROM tmp_table WHERE id=@counter1);
IF (@counter2=0) {
— если внимания не было вычисляем кол-во повторов
@counter3=(SELECT DISTINCT (слово) FROM tmp_table);
— если их меньше заданного – игнорируем это совпадение
— если больше – найденное слово записываем в таблицу слов (если его там не было), а в ассоциации заносим его идентфикатор (если не было) и увеличиваем счетчик совпадений

IF (@counter3>@min_duble {
IF NOT EXISTS (SELECT FROM все_слова WHERE слово = @word1) INSERT INTO все_слова (слово) VALUES (@word1);

@tmp_ID_word=(SELECT myID FROM все_слова WHERE слово=@word1);
IF NOT EXISTS (SELECT FROM ассоциации WHERE слово = @word1) INSERT INTO ассоциации (myid_цвет, myid_слово,совпадения) VALUES (@tmp_ID1, @tmp_ID_word, @min_duble);

@counter4=(SELECT совпадения FROM ассоциации WHERE myid_цвет=@tmp_ID_color AND myid_слово =@tmp_ID_word; )
UPDATE ассоциации SET совпадения = (@counter4 + @min_duble) WHERE myid_цвет=@tmp_ID_color AND myid_слово =@tmp_ID_word;

}
}
— если внимание было
— найденное слово записываем в таблицу слов (если его там не было) а в ассоциации заносим его идентфикатор (если не было) и увеличиваем счетчик совпадений с коэф. внимания

ELSE {
IF NOT EXISTS (SELECT FROM все_слова WHERE слово = @word1) INSERT INTO все_слова (слово) VALUES (@word1);
@tmp_ID_word=(SELECT myID FROM все_слова WHERE слово=@word1);
IF NOT EXISTS (SELECT FROM ассоциации WHERE слово = @word1) INSERT INTO ассоциации (myid_цвет, myid_слово,совпадения) VALUES (@tmp_ID_color, @tmp_ID_word, @k_v1);

@counter4=(SELECT совпадения FROM ассоциации WHERE myid_цвет=@tmp_ID_color AND myid_слово =@tmp_ID_word; )
UPDATE ассоциации SET совпадения = (@counter4 + @k_v1) WHERE myid_цвет = @tmp_ID_color AND myid_слово =@tmp_ID_word;

}
SET @counter -= 1;
END

– временную табличку удаляем
DROP TABLE temp_table;
— и очищаем лог
TRUNCATE TABLE log_свет_цвет;
TRUNCATE TABLE log_звук_слово;

И вот тут происходит третье, особо лютое колдунство.
Во-первых, сами имеющиеся в логе значения “как есть” в эту таблицу не копируются, а попадают только уникальные, из таблиц все_цвета и все_слова, да не значениями, а ссылками на значения, т.е. там будут идентификаторы цвета и света присвоенных им. Причём, для каждого цвета туда (сначала) попадают все слова, произнесенные при появлении этого цвета (а уж потом отбрасываются случайные, но остаются не только “максимальные” но и близкие к ним), то же и для звука.
Во-вторых, если первичные таблицы ну хоть как-то связанны с реальностью (областью памяти для датчика), то эта уже никак, и “найти”, и “измерить” её уже не получиться вот так напрямую, только косвенно.
И в-третьих, если в первичке кодирование всё же как-то коррелирует с реальностью (датчиком, его диапазоном), то как именно кодировать идентификаторы и ассоциативные значения (которые и сами уже абстрактны) – это уже фантазии (датчик случайных чисел – т.е. уже конкретная конструкция, потенциалы и связи мозга) БД и они формируются случайным образом (но по опред. алгоритмам, лишь бы сильно не дублировались).

Ну вот, теперь, включаем красный свет и одновременно, ± лаг, произносим слово “красный” (но можно и другие цвета/слова, даже не цвета тогда тож сработает, но по другим принципам, которые сложнее (и надо менять ПО) и тут не будем) наберем заданный минимум для того, что б создать и закрепить ассоциацию.

И вуаля! – теперь (но не сразу, а по мере отработки функции, а в мозге “прорастания” и укрепления (ассоциативных) связей нейронов, у нас есть квалиа красного цвета.

DECLARE @tmp_ID1 INT;
SET @tmp_ID1 = (SELECT myID FROM все_слова WHERE слово=“красный”);
DECLARE @tmp_ID2 INT;
SET @tmp_ID2 = (SELECT max(совпадения) FROM ассоциации WHERE myid_слово=@tmp_ID1);
DECLARE @tmp_ID3 INT;
SET @tmp_ID3 = (SELECT myid_цвет FROM ассоциации WHERE myid_слово=@tmp_ID1 AND совпадения=@tmp_ID2);

SELECT цвет FROM все_цвета WHERE myid_цвет=@tmp_ID3;

…единственно заметим, что мы тут для упрощения использовали понятие «= равно», но в «БД организма» его нет так как «в Природе нет прямых линий» и всё не «цифровое», а «аналоговое», то есть вместо знака «равно» стоит оператор «LIKE» с некоторым условием на количество выбранного (LIMIT) (что кстати позволяет как оперативно реагировать на срочность результата, так и заниматься «фокусами», выдавая «наверх» результат, который ну очень слабо связан с вопросом — нехай там «вышестоящие» отдуваются как‑то это всё связывая воедино)… Эта особенность помогает в выживании, творчестве и гениальности…

Так что отныне (если надо) при произнесении слова можно выборкой из БД получить «воображаемый» цвет без его физического «включения» — по слову (как в примере SQL) и наоборот: цвет — слово (конечно же если они уже есть в базе и ассоциированы). Или несколько близких по ассоциациям значения цвета/слова. А можно даже и не имея внешних цветов/слов, представить их в полной тишине и темноте — «внутри себя», в т.ч. «перебором» или по иной ассоциации (например не звука, а через запах или «всплывший» в голове текст: «красный цвет» — но под это надо уже снова всё модифицировать и тренировать и ассоциировать…).

Для наглядности вы прямо сейчас можете мысленно представить например светофор, его работу (в частности зажигая соотв. цвет по мысленному «красный» и наоборот зажигая свет и улавливая слово) и даже «поиграть» им, например как цветомузыкой.
А кто не может представить, но видел работающий — тот философский зомби!:)

Однако это ещё низкоуровневая квалиа. Сознание на такой низкий уровень выходит редко. Но и «выше» принцип будет тот же, разве что часть будет ассоциирована уже с самими квалиами то есть «внутри», без феноменов (но иногда с проверкой в реальности).

Такая вот крайне упрощённая схема. Естественно показан простейший и единственный «кирпичик», в реальности их черезвычайно много (только феноменальные: свет, звук… а есть «вычислимые», «ложные», «симулякры квалий»… ), разнообразно связаннх друг с другом. И теперь (под)сознание для моделирования ситуаций, как «второй контур управления» может оперировать феноменальной информацией без самих феноменов (что намного быстрее, безопаснее, разнообразнее (включая и выдумки, и нелепости, и глупости, и малореальное, и невозможное)), всячески «прокручивая» её (в своих моделях (вкл. и опыты на реальности), комбинируя, объединяя, вычисляя и подчас получая системный эффект нового знания), порой вызывая те же связанные с этим ощущения (но со «звёздочкой», что бы отличать) что и с ними:

  • ну, если (под)сознание «включено» и если «мощности» хватает все эти волны и эхо от «запросов» «прочувствовать»;

  • да и организм не понимает разницы между реальным и квалиальным феноменом и может отреагировать не хорошо, как на настоящий (см. например эксперимент с фальшивым ожогом);

  • впрочем, бывают и приятные воспоминания (лучше активности, там больше феноменов будет а значит и «квалий»), которые стоит «копить», что бы вновь пережить (почти) те же чувства потом: «Они поминают минувшие дни И битвы, где вместе рубились они»[А.С.Пушкин] — когда старики вспоминают и переживают в единении те свои чувства, как бы снова становясь молодыми.

Т.е. квалии имеют «сцепление» и с гормональной системой, причём до некой степени «управляемое» сознанием (например можно что‑то хорошее/плохое вспомнить более/менее детально, додумать… даже попробовать «изменить»).

Так что в (под)сознании обычно такой процесс будет в «песочнице», «защищенном режиме» — сильно урезанном /ускоренном /абстрагированном виде ). Конечно же и до сознания инстинкт тож как‑то минимально собирал, запоминал, анализировал и использовал инфу, но понятно что несколько иначе, не осознавая, а «ближе к телу», не тратя ресурсов без фактического (пред)наличия феномена, да и объемом и «выводами» сильно поскромнее…

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

Что ж, как мы увидели, действительно, в нашей БД (как и в нейронах мозга) нет никакого реального, физического «красного цвета», а есть информация о нём: ряд запущенных процессов (при нештатной остановке которых (травма, инсульт, bed blocks) возможны различные пропажи и обрывы связей… но есть способы (частичного)восстановления), полученных, хранящихся, модифицируемых, «объединенных» ассоциациями‑связями и используемых электро(хим) потенциалов в некой внутренней кодировке (в целом заданной общим (био)«алгоритмом», но с внесением уникальных особенностей и разными «начальными условиями») — которые БД/организмом/мозгом определяются как информация о красном цвете (причем не обязательно полная или достоверная) и все процессы (не только для (адекватного) существования в Среде, но и для своих «выдумок») связанные с цветом и словом так или иначе проходят/используют через эти таблицы/области/сети (для создания картины мира и/или действий).

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

Вот как‑то так… Ну а несколько более подробно о квалиях (и не только о них) можно прочесть в книге «Естественный интеллект», https://samlib.ru/j/jurewich_d_p/ei.shtml в соотв. приложении.

Автор: DJP

Источник

Rambler's Top100