Каркас сильного ИИ (общий алгоритм)

Аватар пользователя Shnyukas

Смогут ли роботы улыбаться?

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

 

Каким интеллектом обладает новорожденный ребенок? Очевидно, что весьма низким. Потенциально из этого маленького человечка может получиться новый Эйнштейн или Сенека, но пока что он ничего не знает и может действовать только инстинктивно.

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

Далее есть система обработки внешних сигналов. Компьютер получил сигнал о срабатывании датчика на входной двери и включил сигнализацию. Маленькому человеку мокро и он кричит.

Также есть система самодиагностики. Ноутбук отобразит предупреждение, если села батарейка или ресурс SSD исчерпан. Если неполадка серьезная, компьютер на этапе включения выдаст ошибку. У ребенка тоже все понятно — голоден, кричу.

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

 

А вот дальше начинаются нюансы. Компьютер будет делать ровно то, что записано в его программах и введено через интерфейс. Человек с самого рождения начинает сам создавать навыки для своей жизни («писать» некие инструкции). То есть в его «операционной системе» есть модуль, который пишет новые программы (микросервисы, причастные поймут) и эти микросервисы потом безусловно исполняются системой. Этакий «внутренний программист» (дальше так и буду его называть).

Как же человек это делает. Начнем с существующих в социуме схем обучения.

Первая схема - «делай как я». Школа, любые ВУЗы, колледжи, практика на работе. Один человек показывает, другой повторяет. Вторая схема — «отфильтруй информацию, сформируй полезный навык». Здесь навык формируется без стороннего обучения. Древний человек увидел огонь и погибших обугленных животных, попробовал мясо (ему скорее всего понравилось :)). Понял, что огонь можно приспособить и сам создал навык по переносу огня в пещеру и организации костра. Все новые навыки попадают под эту категорию. Есть также переходная ступень между ними — самообучение (пусть это будет третья схема). Пацан, наблюдающий, как играют в футбол старшие ребята, через пару дней сможет выйти на поле и играть вместе с ними. Ребенок, не умеющий говорить, находится в среде общающихся людей и со временем сам начинает разговаривать. Здесь человек также фильтрует информацию (его никто специально не учит) и овладевает навыком.

Так вот, первая схема очень похожа на классическое программирование. Инструкции записываются куда-то и затем выполняются.

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

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

 

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

 

Теоретически написать такую программу возможно. Робот видит, что ребята играют в футбол и его «внутренний программист» запускает навык обучения футболу (скачивает его с гитхаба, ага). Звучит неплохо, но маловато для сильного ИИ. И я дальше покажу, почему маловато.

 

Вернемся к нашему гипотетическому ребенку. Мы примерно поняли, как он мыслит сразу после рождения и как он учится (без деталей работы мозга).

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

Как же работает этот «модуль»? Он выбирает навыки исходя из описанных в системе целей и задач. У каждого человека есть комплекс целей, к которым он стремится. Начиная, от инстинктивных низкоуровневых (обеспечение возможности дышать, утоление жажды, питание, размножение, материнский инстинкт и пр.), до сложных целей, которые человек себе ставит сам (победить в игре, закончить институт по определенной специальности, пригласить симпатичную коллегу в кино, съездить отдохнуть, купить квартиру). Также нужно отметить, что все цели декомпозируются на более мелкие (сходить на пару, записать предложение в тетрадь, купить билет, позвонить коллеге и далее). Практически очевидно, что без постановки целей невозможно корректно получать навыки.

 

Второй тезис. При создании сильного человекоподобного ИИ нужно заложить в него некие глобальные цели, научить эти цели декомпозировать и на их основе выбирать перечень нужных навыков. Цепочка декомпозирования должна выглядеть примерно так «Помогать окружающим людям → Жителям этого района часто нужна помощь электрика → Но я этого не умею → Мне нужен навык электрика».

В простейшем случае можно заложить готовые цепочки в его программу (и обновлять прошивку периодически). Уровень выше — научить декомпозировать цели самостоятельно.

 

Вернемся к ребенку. Он ничего не умеет. Система чистая. И вот он начинает развивать навыки. С абсолютного нуля он учится говорить и понимать сказанное (я думаю, если у новорожденного есть какие-то мысли, то это что-то не имеющее словесной формы, в лучшем случае это зрительные образы, а возможно что-то более абстрактное, некий набор сигналов). Сначала он может на простейшем уровне сказать «мама», «баба», не вкладывая в эти слова ничего, кроме утверждения. Потом он учится просить — игрушку, воды. Он очень часто не понимает, когда его о чем-то просишь. Со временем он начинает откликаться очень по-простому на фразы взрослого, часто невпопад. Стоп, сделаем паузу! Понимаете, к чему я клоню? Современные нейросетки-говоруны и чат-боты — это именно тот самый уровень развития навыка говорения и понимания. Очень простая реакция на слова и минимум анализа. Я бы хотел сделать тут вывод, что через несколько лет мы получим условно разумную Алису, которая закажет тебе продукты по твоему вкусу, а с Сири можно будет обсудить творчество Достоевского. Но это будет лукавством. То, что человечество движется в этом направлении совершенно не означает, что мы достигнем когда-нибудь успеха. Но шаги определенно правильные и надо активно развивать «говорунов» дальше. Тьюринг с его критерием не даст соврать. И безусловно, нельзя говорить об ИИ, если мы не сможем научить его общаться.

 

Третий тезис. Сильный человекоподобный ИИ должен обладать развитым навыком говорения и анализа сказанного собеседником (должен уметь вести долгую и содержательную беседу, вычленять факты из речи, делать выводы).

 

Размышляем дальше. Вот есть у тебя 3000 декомпозированных целей на сегодня. В какой последовательности ими заняться? Нам срочно нужны приоритеты!

 

Четвертый тезис. Сильный человекоподобный ИИ должен адекватно ставить приоритеты для своих декомпозированных целей. Хотя, честно признаться, сами люди с этим не всегда справляются. Проблема выбора сложна даже для нас.

 

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

Этот робот реально может быть использован в качестве помощника по хозяйству, он даже может читать лекции в институте, водить машину. Он может переучивать свои нейросетки, адаптироваться к окружающему миру. Возможно такие роботы появятся в ближайшие десятилетия.

 

Но равнозначен ли он человеку (если отбросить «конструктив»)? Пока нет. Чтобы сравняться человеком, он должен:

- осознавать себя;

- осознавать окружающий мир;

- иметь эмоции;

- иметь возможность отклоняться от базовой цели, заложенной изначально.

 

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

 

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

 

И напоследок поговорим об эмоциях и отклонениях от базовых целей.

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

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

Гормональная система делает нам плохо при опасности, боли, потере кого-то или чего-то. Она же делает нам хорошо, когда, по ее мнению, мы сделали что-то полезное и правильное (сходил с девушкой в кино — молодец, глядишь потомство дашь, двуногий).

Этого избегай, это делай как можно чаще.

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

Также гормональная система тесно связана с целеполаганием. Ребенок помыл полы, мама его похвалила, дала 50 рублей на карманные расходы. У ребенка выделился эндорфин, мытье полов «помечается» как положительное действие, вносим его в цели. Мама твердит, что ты должен стать юристом. Тебе 17 лет и тебе нафиг не нужна профессию юриста. Но ты не хочешь расстроить маму (конечно, попробуй только, ага). Это поведение закреплено твоим многолетним с ней проживанием. Ты отказывался что-то делать, мама кричала, у тебя выделялся кортизол, тебе было некомфортно. Вот и сейчас ты покорно вносишь в свой виртуальный список цель «Поступить на юридический факультет», чтобы у тебя в очередной раз не выделился кортизол.

 

Шестой тезис (пока крайний). Для создания человекоподобного сильного ИИ нужна внутренняя система поощрения и наказания для отбраковки неправильных действий (в том числе она нужна для обучения нейросеток), и закрепления правильных действий. А как эту систему реализовать на компьютерной логике? Представляется, что задача решаема, нужна дополнительная программная надстройка, выдающая баллы (10 при абсолютно полезных действиях и 0 при абсолютно вредных действиях). Самая мякотка в том, чтобы это все корректно настроить. Без этого роботы не смогут улыбаться и не завоюют мир.

Авторство: 
Авторская работа / переводика
Комментарий редакции раздела Аналитика

Тезисы очень спорные, но вопрос для обсуждения интересный.

Комментарий редакции раздела Ресурсы колонии мнимые

Заблуждения людей по поводу сильного ИИ.

Комментарии

Аватар пользователя crackjack
crackjack(4 года 3 месяца)

Я бы предложил идти до конца и создать полный аналог этой матрицы - триллионы самоосознающих ии являющихся частью одного. Ведь обучение зависит от скармливаемого материала. И многое зависит от среды подобных. Генерирующих и поддерживающих некий тренд. То есть человек в животной среде - Маугли, не напишет война и мирь. То есть это задачка для суперкомпа. Цикл развития ии. Начинается все с простейшего односложно но и затем кусочки кодов или правильно слой нейроцепочки смешивается для создания многоуровневых и многоцентровых осознающих центров кристализации. По сути кубиты. Может это и проектируют. Один кубит одно сознание. В модели Одина.... Хотя вот тут конечный результат неизвестен. И возможен исход как у Р.Шекли в рассказе Битва....

Страницы