← Дневник | Не замутить ли ИИ?..
Комментарии
Так это можно делать и не как заказ. Запустил в сеть химеру - и пусть она себе там растет, а ты наблюдай и думай дальше. По поводу сложности и времени - если делать понемногу каждый день, через год будет сделано очень много.
Я всегда полагал, что без прототипа все разговоры об ИИ - просто трескотня, даже если она и адекватная. Кроме того, прототип придаст смысл всей твоей многолетней деятельности. Ты же не для того столько килотонн инфы перемолотил, чтобы просто умничать где сознание начинается, а где кончается.
По поводу значимости - согласен. Все начинается с определения базовых постулатов, что такое хорошо и что плохо. А это думается никак не возможно без имитации искуственного гомеостаза, так же закрученного на жизни и смерти. Что продлевает жизнь хорошо, что укорачивает плохо. Для бота "пища" - это информация, пища продлевает жизнь, голод укорачивает. Но еда бывает разная. Стало быть, надо икуственно заложить свойства продукта продлевающего/укорачивающего жизнь. То есть сделать информацию съедобной/не съедобрной - вплоть до ядовитой. Что именно считать ядом - не суть. Но это задаст вектор развития бота, его первичный центр рая и ада, от которого потом можно выстроить сколь угодно сложную рефлексию.
Для меня пока более менее очевидны 2 начальных слоя формирования первичных примитивов: на первом происходит дефрагментация проецируемых объектов по логике И, на втором группировка фрагментов по логике ИЛИ. Все делается полностью автоматически при условии одновременного показа на матрице однотипных макроэлементов. То есть проецируя на нее квадраты разных размеров и повернутыми под разными углами дефрагментированные вертикальные/горизонтальные прямые определятся на втором слое как принадлежащими одной группе. Но вот как потом определить, что активация этих прямых означает именно квадраты, а не прямоугольники, решетки или просто закрашенный сплошной фон? Для этого нужны допонительные маркеры типа опорных точек, фиксация координатной сетки, активация определенных узлов которой и покажет вероятность, что фигуры скорее квадраты чем прямоугольники.
Так же очевидна необходимость обратной связи, регулирующей параметры нейросети: порог возбуждения, тормозные связи, и возможно коэфф. веса связей, имитирующий электротонический способ передачи возбуждения в сетчатке.
Кроме того, я думаю модель зрительного анализатора универсальна и наглядна для описания любой другой сенсорной матрицы. То есть все принципы распознавания графических фигур справедливы и для распознавания текстов, звуков и прочего потому, что все это можно представить в виде графических примитивов.
А проблема с латеральным торможением до сих пор не решена? Приходится довольствоваться циклом?
Её не возможно в принципе решить централизованным расчётом в децентрализованной нейросети. Нужно запараллелить расчёты для каждого элемента, число ядер процессора сделать по числу узлов решётки.
Решение - только в создании сети на дискретных элементах, а не программной эмуляции.
Все упирается в огранизацию системы значимости у бота и я пока не вижу достаточно приемлемого решения.
Т.к. на него воздействуют только слова, то нет сдвигов его "гомеостата", а чтобы добраться до смысла слов, нужна именно базовая значимость. Яндекс для Алисы распознает эмоциональный контекст, точнее тему по фразам, т.е. там заранее задаются возможные темы, для которых пишутся "навыки" Алисы. Это, конечно, неприемлемо.
Зато ясно каким должен быть сенсор, вот тут просто. Это - массив с индексами в виду слов и со значениеми - просто порядкового номера сло. Т.е. - матрица, активирующаяся при появлении слов в воспрнимаемой фразе. Тут и начинается нейросеть.
Не очень понятно - бот должен воспринимать по человечески (иметь личный гомеостаз) или оценивать гомеостаз как результат коммуникации с человеком ? Значимость для чего ?
Живые организмы подвержены воздействию внешней среды, что запускает адаптацию. В природе заложены физические законы, например если сунуть руку в огонь она сгорит. Возникает адаптация не делать этого. Надо создать виртуальный мир для бота со своими законами. Если вся его вселенная это буквы и слова, значит они должны обладать свойствами повышающими или понижающими степень комфорта бота. Они для него не абстракция, а реальные сущности. Чтобы стать абстракциями во вселённую бота надо ввести сущности более высокого порядка, например картинки. Тогда слова станут описаниями картинок и например слово яд станет просто словом, а картинка яд - настоящим ядом. И так далее, все более углубляя вселённую бота, ты будешь провоцировать его создавать все более глубокие абстракции.
Вообщем у бота должны быть проблемы при взаимодействии с объектами. В реальности ведь так и есть. В раю не может быть интеллекта в принципе.
Это кстати ещё один довод в пользу физического прототипа. Там то проблемы с базовыми значимостями нет. Не зарядил вовремя аккумулятор - сдох, полез куда то по лестнице и свалился, поломав манипуляторы - опять не камильфо. У бота ничего этого изначально нет. Создавать виртуальный ИИ без виртуальной вселенной это значит отправить его в пустоту.
По-видимому нужно сделать пустую шкалу гомеостаза и на нее обучать глубокую сетку - нужен всего лишь миллион китайцев для тестовой выборки с разметкой вручную.) Но это все равно топорная эмуляция.
Никакой глубокой сетки с обучением сразу всей, только послойное развие.
Не все так страшно на самом деле. Если речь о простейшем боте, то и мир его восприятия простейший. Например забить ему в параметры вселенной алфавит из 33 букв, поделив их на две группы: плохие и хорошие. У каждой буквы свой уровень плохости/хорошести. И пусть он глотая слова переваривает их, определят вкусовые оттенки и получая соответствующие степени комфорта/дискомфорта. Это позволит создать ему свои абстракции и выработать стили поведения. То есть для начала можно попытаться сделать примитивную амебу. Потому как сто пудов по ходу дела вылезет множество любопытных неожиданностей, которые надо будет осмыслить. Поэтому сразу эволюционно прыгать вперёд не стоит.
Нет, не алфавит, а ~5000 выбранных слов. У меня уже есть прога для такой выборки. И то невозможно отнести какие-то слова к плохому и хорошему. А важно, чтобы уже при формирования второго слоя были такие привязки. Обычно они происходят в зависимости от текущего контекста значимости, а вот как его задавать если нет ничего адекватно отражающего состояние бота?,. Думал, уже о скармливании заведомо тематических текстов и каждый раз чтобы задавалась фоновая значимость: читаешь ужастики, читаешь про любовь, читаешь кулинарию и т.п. И тогда можно было бы создать множество тем.ю в контексте которых создавались бы характерные для них примитивы словосочетаний. Но что-то это вырисовывается не слишком убедительно.
У бота может быть усталость, постепенно нарастаюшая по мере чтения. И если ты в начале, когда он свеж и бодр будешь подсовывать ему веселые тексты, а в конце, когда он начинает уставать грустные, он и свяжет свое состояние с теми примитивами, которые там определит, поделив их на плохие/хорошие в разной степени.
Nan , кстати , возможно с помощью латерального торможения получить сетку столь же точную как глубокие ? То есть понятно что смысл в нее другой вложен , но в принципе - возможно или нет ?
Думаю любому ИИ, даже самому примитивному виртуальному, обязательно наличие фазы сна для гашения активностей, к этому и надо прицепиться, введя еще дополнительный параметр усталости и получив тем самым простейшую модель гомеостаза с возрастанием/убыванием активности, что будет означать цикличность внутренних состояний плохо/хорошо. И дальше уже строится цепочка, например: от длиных слов быстрее устаешь - они хуже коротких. Самые хорошие это которокие звуки. И т. д. Бот сам определит, что способствует нагнетанию усталости, мешает сну, а что наоборот возбуждает.
Просто тупо посчитал по минимуму число нейро-объектов в слоях (в третичном рефлекторном 100 000 - т.е. на все возможные условия все сочетеания - мизер), при минимальном размере одного нейро-объекта (~600 бит) и времени опроса каждого из нейро-объектов на Go в условиях конкретного моего сервера и даже близко не получается бот в реальном времени реагирования. Это без учета каких-либо проблем. Что уже давно было прикинуто для программной реализации.
Проблему можно теоретически решить, если проектировать распредленную нейросеть, использующую множество компов в сети. Тогда будет и параллельный режим, и гигантские ресурсы.
И как ты организуешь последовательное сканирование всех объектов? А если какой-то кома будет недоступн? Даже кластеная огранизация у яндекса сильно сбоила пока они нее сильно не резервировали.
С сетью и правда выйдет лажа, если это не личная локалка. Тогда другая мысля уже на одиночном серваке: а на фига всю сеть сканировать? Пусть рецепторы посылают сигнал в промежуточный служебный слой, сообщая об изменении статуса. Так мы симулируем on/of рецепторы, реагирующие на изменение состояния. Система лезет сначала в системный слой, смотрит номера нейронов изменивших статус, и только их сканирует, а прочие статусы берет из предыдущего измененого состояния. Думаю это существенно сократит расчёт. Области где не было изменений вообще не затрагиваются. По крайней мере считается что так разгружается зрительный канал.
А вторая мысля, начать надо с простого, без вторичных и третичных зон. Там и без них есть о чем задуматься. Например, как прошивать первичные примитивы? В утробе детёнышу никто ничего не показывает, но он вываливается уже с множеством сформированых рефлексов. Стало быть имеет наработанную начальную базу, на основе которой строится уже все остальное. А у тебя получается бот рождается абсолютно тупым. В природе такого нет, и видимо не спроста. Нужна начальная прошивка, и надо понять какая и почему.
>>А у тебя получается бот рождается абсолютно тупым.
Ты затронул базовую огранизацию системы рефлексов, начиная с безусловных. На самых первых, наследственно предопределнных, возникают следующие и так - вплоть до самых крутых автоматизмов. Да, начальные безусловные рефлексы нужны,иначе не на чем будет строить остальные. И это, прежде всего, рефлексы гомеостаза.
>>и только их сканирует,
Чтобы значть, кто возбудился, нужно сначала просканировать сенсоры, потом по существующим связям - зависимые от них нейроны. Но ведь при обучении нет еще каких-то связей, а готовность их установить возникает. В нейроконструкторе этот момент вообще не затронут, хотя ты пытался меня на это мотивировать. Короче, никакие ухищрения сильно не помогут. Яваскрипт довольно шустр когда он кеширован и сильно большая схема на компе, даже очень шустром смоем компе, уже тормозила при всего-то нескольких десятках элементах. Графику обеспечивала тоже не хилая видеокарта, так что оптимизма у меня нет даже если бы вся сеть была всего из 10 тысяч элементов. Тут кизяк,который вижу очень отчетливо.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.
