Falcon heavy: прожиг прошел
Огневые испытания прошли успешно, пуск назначен на 6 февраля. Ура, товарищи!! !
Огневые испытания прошли успешно, пуск назначен на 6 февраля. Ура, товарищи!! !
после предыдущего поста о моем подходе к реализации ИИ человеческого уровня пришло несколько сообщений с просьбой уточнить детали подхода к реализации. итак, тезисно и по пунктам:
1. ИИ как искусственный, так и человеческий - оперирует не визуальными образами, звуками, словами (или иными элементами языка), а смыслами. Которые в свою очередь могут быть извлечены из образов, звуков, слов. В дальнейшем обработаны, преобразованы и опять же переведены в аудио-визуальную или текстовую форму.
2. Смысл - это модель конкретной ситуации, которая воссоздается из общей базовой картины мира. Эта модель включает в себя перечень всех действующих объектов, их качеств и связей между ними, с возможностью анализа, прогнозирования и предсказания.
Пример: фраза "в дверь постучали" создает модель ситуации, которая включает в себя объекты "дверь" , "тот кто постучал", "тот кто услышал", "звук стука", "комната в которую ведет дверь", "помещение снаружи" итд итп. Связи "тот кто постучал" - "пришел откуда-то" в "комнату", "хочет чтобы ему открыли" саму "дверь", "стоит в коридоре" и ожидает реакции "того, кто услышал" итд итп. В свою очередь объекты разбиваются на подмножества с разной степенью вероятности: "тот кто постучал" - гость, член семьи, почтальон, чужой человек итд. Качества "Двери" - деревянная, железная, стеклянная. Разные качества - формируют разные связи.
Причем вся эта модель выстраивается из знания общей базовой картины мира, которая УЖЕ включает в себя базовые понятия и связи между ними, как бы надкласс. Т.е. все объекты обладают массой, двери куда-то ведут, люди могут стучать и стоять итд итп.
3. Смысл, хоть и может быть выражен в знаках сигнальной системы человека, например визуально, текстом или произнесен вслух на любом языке - является по своей сути гораздо более общим понятием. Ближайшая аналогия - n-мерное векторное представление по типу представления предложений при нейросетевом переводе.
Т.е. если каждому понятию, каждому объекту мира соотнести свою координату, например люди - координата X, автомобили - координата Y, то плоскость ХY будет представлять собой пространство из взаимодействия людей и автомобилей, в котором их связи будут являться векторами. Например если по оси X идут такие качества людей, как "масса", "рост", "интеллект", "пол", а по оси Y такие качества автомобилей, как "размер", "модель", "маневренность", то вектор "размер автомобиля"-"масса человека" будет представлять собой некую функцию, которую можно выразить в численном виде на основе статистических данных. Если добавить координату Z и соотнести ее с понятием "дорога", то пространство ХУZ будет представлять собой возможные варианты взаимодействия людей, автомобилей и дорог и четко описываться например, правилами ПДД, или какими-то еще (например межличностными итд)
*** Небольшое примечание: можно сказать, что если на дороге появится например лошадь или фура с пейзажем на борту, или надувная фигура Дональда Трампа, то мы не сможем описать конкретную модель ситуации в пространстве XYZ. Именно это кстати и происходит с автопилотами. Что и приводит к авариям типа той, когда автопилот Тесла принял фуру с нарисованным на борту небом за небо и допустил аварию. Естественный интеллект в подобных ситуациях автоматически добавляет еще одну координату и ищет прогноз развития ситуация уже в новом 4,5, ... n -мерном пространстве. Причем верное решение - это вполне конкретный вектор (или их подгруппа), лежащий в этом пространстве.
4. Если для некоторого количества координат, например машины-дороги-люди все варианты взаимодействий можно прописать вручную или использовать простые нейросетевые алгоритмы, то в общем случае задача ИИ не решена и с использованием нынышних подходов решена быть не может. Почему так происходит?
Интеллект - это пространство доступных решений. Даже если собрать миллион первоклашек и дать им одну задачку второго класса (я утрирую) - задача не будет решена. То же самое, из миллиона лаборантов и простых ученых не получится второго Эйнштейна. Т.е. рост интеллекта это не линейная величина, это добавление новых измерений в пространство решений с параллельным изменением всего его содержимого.
Современные походы к ИИ предполагают использование нейросетей, основная функция которых - линейное преобразование входного сигнала в выходной. Т.е. нейросети очень хорошо работают в заданном координатном пространстве и реально просчитывают все вектора-взаимосвязи (т.е. внутренние взаимодействия и закономерности) этого пространства. Но при попытке long life learning'a, т.е. попытке добавления новых координат - наступает такой эффект как катастрофическое забывание. Нейросеть не может добавить еще одну координату (т.е. новое понятие) в n-мерную область, описывающую нашу реальность и правильно пересчитать все свое содержимое. Правильно - я имею в виду человеческим образом, т.е. способом, поддающимся человеческой логике и объяснению, позволяющим делать логически непротиворечивые выводы и прогнозировать ситуацию так, как она развивается в реальном мире.
Почему же нейросеть на это не способна? Ровно потому же, почему на это не способен человек, который не вырос в человеческом обществе, например люди-маугли. Они лишены всего логического аппарата и способности к абстрактному мышлению, потому что воспитывались и обучались ВНЕ ДОСТУПНОГО ЧЕЛОВЕЧЕСТВУ материалу об устройстве мира. Модель обучения для человека воспитанного волками включала в себя базовые понятия, нужные для выживания в волчьей стае и не требовала развития абстрактного мышления, как способа добавления новых координат в n-мерное пространство реальности и логики, как способа преобразования материала внутри этого пространства.
5. Так же, как обучение человека идет поэтапно, через освоение элементов сигнальных систем, визуальной, слуховой, символьной с дальнейшим переходом к обучению по книгам, как источникам знаний об устройстве мира с точки зрения человека, так же и ИИ должен идти по такому же пути. Но начать следует с обучения по книгам. Объясню почему: есть методики развития слепоглухонемых детей до уровня обычного человека и выше, например есть такая женщина, Елена Келлер, стала слепоглухонемой в возрасте около года. Написала 7 книг, прожила 87 лет. Независимость и глубина суждений, сила воли и энергия завоевали ей уважение множества самых разных людей, в том числе видных государственных деятелей, писателей, ученых. Так что доступ к аудио-визуальным системам обучения как мы видим - в принципе необязателен.
6. Как можно реализовать практически ИИ околочеловеческого уровня? Как мне кажется, следует начать с ручной разработки ядра. Ядром может стать простая семантическая сеть, включающая базовые понятия и представления о мире, к которым могут быть сведены новые понятия. Далее эта сеть должна быть преобразована в n-мерное пространство, т.е. матрицу, где оси координат - понятия, конкретные значения координат - качества понятий, а вектора, их соединяющие - их связи.
Берется большое количество книг, в основном художественная литература и преобразуется следующим образом. Выбрасываются все красивости и остается точное и конкретное перечисление объектов и последовательности их действий с четким хронометражом. Т.е. без прыжков взад-вперед по сюжетной линии, а четко и конкретно: 12 часов дня: Раскольников убил старушку, старушка умерла, Порфирий Петрович допросил 1 свидетеля: 12:05: Раскольников вытер кровь с топора, старушка начала холодеть, Порфирий Петрович отпустил 1 свидетеля итд... Т.е. книги приводятся к полуматричной форме, по типу простых детских рассказов из букваря "Коля уронил чашку, чашка упала и разбилась", но без упрощения, то есть остаются все понятия, все связи, вся логическая суть книги.
Нейросеть преобразует подобным образом отредактированную книгу в матричное n-мерное пространство и сверяет с ядром. Например если в ядре прописано "все живое что-то ест", а в книге встречает фраза "Раскольников съел булку" - то "раскольников" добавляется к понятию "все живое". Если потом встречается фраза "раскольников был человеком высоким и красивым", то "раскольников"добавляется в понятие "человек", "человек" добавляется в понятие "все живое", к понятию "человек" добавляются качества "высокий" и "красивый" Если противоречий нет, то ядро остается структурно без изменений, идет пересчет только базовых понятий. Если же появляется новое понятие, не прописанное в ядре, например "топор", то системой выдвигается ряд гипотез, к какой группе понятий его можно отнести и проверяется их соответствие базовой модели. Та гипотеза, которая набрала наибольшую вероятность принимается за истину ( с пометкой гипотетически), "топор" улетает во все соответствующие группы понятий и в матрицу добавляется новая координата n+1. Добавляющая вектора-смыслы каким может быть топор и его связи с другими понятиями.
Т.е. после проработки книжки мы имеем расширенное семантическое ядро и матрицу, приросшую несколькими новыми измерениями. Далее в дело вступают соревновательные нейросети и перерабатывают эту матрицу, наполняя ее ВСЕМ ВОЗМОЖНЫМ содержимым. Например выстраиваются вектора-смыслы по ВСЕМ возможным качествам топора и ВСЕМ возможным связям с другими объектами. Например, появляется вектор "стеклянный топор, которым старушка процентщица себя удовлетворяла по ночам в закрытой комнате", которому присваивается определенная вероятность. ВСЕ ЧТО ТОЛЬКО ВОЗМОЖНО . Все связи между всеми понятиями по всем пространствам.
После проработки n-ного количества книжек мы имеем расширенную базу, описывающую реальность максимально полно.
продолжение следует
пост - приглашение к обсуждению. не претендую на истину в последней инстанции, интересуют мнения специалистов в области нейросетей, возможно ли то, что я предлагаю, в принципе, или это уже где-то реализуется. для начала несколько тезисов
1. сильный ИИ человеческого уровня принципиально реализуем, поскольку сам человеческий мозг представляет собой физический/биологический механизм, подчиняющийся физическим и химическим закона нашего мира. Т.е. мозг представляет собой условную "нейросеть", позволяющую получать сырую информацию, сигнал нулевого уровня, извлекать из него смысл или наборы смыслов, формировать из них сигналы 1,2....n уровней, преобразовывать определенным образом, выполняя заданные условия, диктуемые ситуацией, контекстом, внутренними целями и окружающим миром и получать выходной сигнал. Соответствие выходного сигнала критериям максимизации/минимизации всего ряда целевых функций - является главным и основным условием его осмысленности. Т.е. ИИ человеческого уровня - получая ту же информацию, что и человек, должен формировать из нее выводы как минимум не хуже по степени их адекватности, соответствии ситуации и преследуемым целям, и общей осмысленности, чем средний человек.
2. нейросети сами по себе не способны создать сильный ИИ, хотя являются одним из основных инструментов его создания. нейросети - механизм по поиску внутренних статистических или иных закономерностей, позволяющих выполнить преобразование входного сигнала в выходной в соответствии с заданными целями и условиями, определяемыми косвенно в процессе обучения. они не ищут смысл, не выделяют его и не связывают с другими смыслами - они находят некие закономерности и используя их производят ряд линейных преобразований.
пример: если загрузить статистику предпочтений в еде, статистику ДТП и на основании этой информации сделать нейросетью прогноз о вероятности погибнуть в дтп для конкретного человека, любящего соленые огурцы - прогноз будет неутешительный. потому что практически 100% людей погибших в ДТП хотя бы раз в жизни ели соленые огурцы!!! Эта закономерность не имеет смысла, как и миллионы других, но нейросеть будет пытаться делать на основе нее выводы, вместо того, чтобы проанализировать цепочку смыслов и определить, что осмысленной взаимосвязи здесь нет. Т.е. нейросеть не может связать понятия человека и ДТП связями "вождение", "неисправность транспортного средства", "несчастный случай" итд, и сделать выводы что ни на одну из этих связей огурцы значимо не влияют.
3. для создания сильного ИИ требуется полноценная база данных, воссоздающая модель мира и внутренне глубоко взаимосвязанная. Смысл возникает из связи понятий и контекста, в котором они находятся. Т.е. смысл - это внутренне непротиворечивая общая модель конкретной ситуации, воссоздаваемая из поступающего сигнала на основе общей картины мира.
пример:
возьмем фразу "за окном орали кошки". наиболее вероятный смысл этой фразы - что человек находится в комнате, на дворе месяц март, время действия скорее всего ночь и кошек (скорее всего котов) как минимум 2. второй возможный смысл - время действия любое, кошки дерутся/ кошек рвут собаки/ кошек давит каток итд итп. Т.е. ИИ должен создать список из объектов, максимально возможного количества связей между ними и проставить каждой такой связи определенный уровень вероятности. Получив на вход следующее предложение он должен скорректировать список объектов, связи и вероятности. Если следующее предложение "дул холодный ветер, мерцали звезды" - значит вероятность марта и ночи вырастает, остальные пропорционально уменьшаются. Исходя из перечня объектов и связей с наибольшей вероятностью на текущий момент времени делаются прогнозы на новые объекты и связи и отсекаются маловероятные варианты. Т.е. если третья фраза будет "окно открылось" можно сделать ряд предсказаний по смыслу развития ситуации: человек-ночь-орут появляется новая связь "мешают спать", которая подгружает список эмоций и действий объекта "человек" и в список прогнозируемых объектов подгружается "объектX" с таким перечнем связей, который позволит устранить объект "кошки" и связь "мешают спать". И пошел новый пересчет модели ситуации.
4. создать полноценную базу данных окружающего мира, хотя бы с таким количеством объектов и связей между ними, которая доступна обычному человеку - для конкретного человека невозможно. это то же самое, что для сороконожки начать управлять каждой из своих ног. Умение создавать модель конкретной ситуации из общей картины мира и доступной базы смыслов - умение для человека нерациональное, инстинктивное и сложно алгоритмизуемое. Оно основано на ряде врожденных представлений, которые не из чего логически не выводятся, кроме собственного опыта. Например то, что все вещи падают на землю, вода мокрая, а лед скользкий. Но то, что нельзя создать из опыта конкретного человека, можно создать из объединенного опыта человечества, т.е. из культуры и науки.
5. Промежуточный вывод: смысл - это модель конкретной ситуации, состоящая из объектов и связей между ними, где связям присвоены веса вероятностей в зависимости от ранней ситуации модели и предположительные веса вероятностей по прогнозируемой ситуации модели. Т.е. конкретная ситуация - конкретный смысл в человеческом понимании - это своего рода виртуальная нейронная сеть, вычисляющая саму себя на основе общей базовой картины мира.
Среди ученых бытует мнение, что мир - это квантовый компьютер, вычисляющий сам себя. Возможно так оно и есть и при достаточно большой предыистории, предварительной истории взаимодействий - прогноз для ситуации однозначен. Т.е. если взять ситуацию, где две машины едут друг к другу на скорости 200 км/ч и расстояние 10 метров - то столкновение произойдет обязательно. То же самое касается любых объектов и любых взаимодействий между ними. Т.е. при достаточно полном моделировании ситуации, определении всех объектов, связей между ними и истории взаимодействий, и самое главное, при действующей системе проставления вероятностей - мы с точностью 90-100% можем спрогнозировать следующую итерацию системы. Когда эта точность становится равна точности человеческого мозга, мы автоматически получаем сильный ИИ.
6. Т.е. нам нужна нейронная сеть, которую прогнали и обучили на огромном количестве внутренне непротиворечивых ситуаций (в принципе возможных в этом мире) с большим количеством объектов и связей между ними, которая впоследствии научится при получении вводных данных о конкретной ситуации (объекты-связи) проставлять вероятность возникновения новых объектов и связей.
Вспоминаем, где можно найти огромное количество реально существующих объектов, реально существующих связей между ними и постоянное развитие ситуации во времени, т.е. возможность самообучения по прогнозированию ситуации. Правильно - это книги. В основном художественная литература.
7. Каким образом можно извлечь смысловые паттерны из книг и создать общую картину мира? Идти по чисто лексическому пути, выделять слова-объекты и статистически определять вероятность возникновения связей между ними - это путь, по которому мы придем к экспертным системам и семантическим сетям. Это тупик. Здесь скорее всего должны использоваться методы, используемые сейчас при нейросетевом переводе. Когда предложение на одном языке переводится в n-мерный вектор, а уже этот вектор переводится на другом языке. Кстати, наталкивался на любопытную статью - что при анализе гугловского нейросетевого переводчика разработчики определили зоны, в которых начинали кучковаться фразы, обороты и предложения на разных языках, которые, используя разные слова несут один смысл. Т.е. этот переводчик разработал внутри себя систему, позволяющую кучковать предложения, которые абсолютно различны лексически и синтаксически, но значат одно и то же. Практически речь идет о начальном этапе выделения смысла.
Как я вижу процесс обучения по книгам в идеале? Каждая книга по аналогии с предложениями при переводе преобразуется в n-мерный вектор. Из этого вектора по определенным правилам могут вычленяться вектора меньшей размерности, которые являются ответами на конкретные вопросы по книге. Вплоть до развернутого ответа на вопрос: почему герасим утопил му-му или зачем раскольников грохнул старушку.
Вначале, конечно, эти вектора-ответы будут очень маленькими, например "небо днем синее", "ночью кошки трудноразличимы" итд итп. Каждый из этих векторов будет нести конкретный смысл для конкретной ситуации. В дальнейшем, при большом наборе этих векторов запускаются соревновательные сети, формирующие из этих векторов вектора чуть большей размерности, несущие ответы на более развернутые вопросы, определяющие модель мира чуть более полно. Корректность этих векторов проверяется соответствием по всем векторам-книгам. Есть совпадения смыслов - оставляем, нет - удаляем. Пример: в какой-нибудь книге вычленяется смысловой вектор "кошки любят сырую рыбу" - проверяем его по другим векторам-книгам, все верно, оставляем в базе как проверенный мини-вектор, "кошки любят грызть кирпичи" - проверяем, фуфло, на выброс. В итоге мы получаем ситуацию, когда на любой вопрос, заданный нами (т.е. на любой входящий сигнал), система формирует сколь угодно подробный ответ в виде n-мерного вектора, ИМЕЮЩЕГО СМЫСЛ В ЧЕЛОВЕЧЕСКОМ ПОНИМАНИИ. И получаем сильный ИИ.
Жду Ваших комментариев. Возможна ли такая реализация искусственного интеллекта, может быть кто-то движется по этому пути?