Pull to refresh

Comments 51

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

Хотел поинтересоваться у автора, что понимается под дефицитом идей? Отсутствие литературы на тематику статьи? Или может быть схожесть подходов во всём доступном объёме литературы на данную тему? Если второе, то может поделитесь что читали и в каком разрезе современная научная мысль рассматривает проблему, в чём кардинальное различие с Вашим подходом? Заранее спасибо!
Добрый день!
Основные идеи по представлению и обработке знаний были относительно давно высказаны.
Это по-крупному:
  • Логика предикатов
  • Продукционные модели (правила «если-то»)
  • Семантические сети и концептуальные графы
  • Системы на базе фреймов

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

У Вас ведь тоже семантическая сеть? Расскажите, что другие подходы на семантических сетях делают по Вашему мнению не совсем корректно или чего в них не хватает. Ну тезисно, конечно, в самом общем смысле. Я понимаю что не получиться в комментарии уместить более или менее развёрнутое сравнение.
Главные отличия:
1. В классических семантических сетях не описывается процесс возникновения понятий и связей. Предполагается что понятия и связи кто-то как-то занесет в систему, а потом еще придумает что с этим делать. То есть, это абсолютно статичные структуры.
2. За понятиями семантической сети или концептуального графа ничего не стоит (ни сигналы от окружающей среды, ни какие-либо активности) — соответственно система не может создать или проверить истинность утверждений, ни выполнять действий. Для реализации этого, надо создавать что-то за рамками этих структур.
3. Среди базовых понятий классических семантических сетей нет понятия действия.

Предлагаемая концепция «привязывает» понятия к сигналам окружающей среды, что позволяет создавать и проверять понятия. Наличие понятия действия в этой концепции позволяет описывать разные активности, при этом единообразное представление результатов действий и условий их выполнения, позволяет системе конструировать цепочки действий для достижения цели.
Как-то так…
Перед рисованием всех этих выдающихся схем, я бы посоветовал узнать про одну маленькую, но очень важную вещь — как конкретно обучаются реальные нейросети. Без всех этих внешних механизмов подгонов весов связей, что делается для искусственных сетей. А также понять, что искомый общий интеллект в мире обнаруживается только как функция человеческого мозга, и что никакого интеллекта в человеческом мозгу без его обучения не существует. Мало того, существует возрастное окно обучения. После его пропуска человек остается глубоким инвалидом с невозможностью как либо нормально жить в мире созданном человеком.
Есть катастрофическая разница между словами, которые идентифицируют понятия (как у Вас) и словами, которые идентифицируют явления (или значения). Пока Вы не разберетесь с этим дуализмом (можно начинать изучать эти вещи в семиотике), ваши семантические построения не выйдут за рамки upper ontology.
Вам не нужен переключатель. Заведите обратную связь прямо на вход сети, как в рекуррентных сетях. А фильтр уже управляемый, просто дАвите им, когда нужно, сенсорную активность.

Все эти действия, внимание, цели — это мышление, и Вы пытаетесь его использовать для восприятия. Но это разные процессы и работают они в разных «временных потоках».

Будем называть данные нейроны детекторами, а комбинацию входных сигналов от рецепторов — образом. То есть детекторы выполняют функцию распознавания образов. Собственно, именно эту функцию и моделируют разнообразные широко известные в настоящий момент нейронные сети. Но их разработчики на этом и останавливаются, а мы пойдем дальше.

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

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

Вы очень легко проскочили данный момент без объяснений.

Если попытаться завести эту модель, то сенсорный поток породит случайную активность квадратиков-детекторов, которые опять случайным образом активируют квадратики-действия. По обратной связи их случайная активация перейдёт в фильтр, где опять случайным образом отфильтрует сенсорную активность, и цикл повторится. В зависимости от модели нейронов, которые будете использовать, в лучшем случае увидите хаотичную активность. В худшем — коллапс, комбинаторный взрыв, эпилепсию сети.
Про ненужность переключателя. Мышление и восприятие.
Переключатель нужен чтобы система могла:
  • взаимодействовать с внешней средой
  • «думать», прогнозировать, выбирать следующие действия.
Так как хочется, чтобы система могла выполнять оба эти действия, а в концепции предполагается, что «мышление» это обработка тех же образов от рецепторов, то без переключателя не обойтись.
По моему мнению, восприятие конечно же определяется изнутри системы. Мы видим/ощущаем/замечаем то, что хотим видеть, ощущать. Вернее, хочет наш мозг/нервная система, так как сюда входят и бессознательные реакции. Зрительные иллюзии хорошо это демонстрируют, на мой взгляд.

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

Про структуры представляющие действия, случайности и хаотическую активность.
Собственно в статье я и пытаюсь показать структуру и функцию действий. Присутствие в системе целей, и активизация действий не случайным образом, а специальным действием предотвращает хаотичную активность. Но наверняка, при попытки реализации здесь будут какие-то сложности. Без попытки реализации сложно пока их представить.
Нейроны обладают связями, реализующими логические функции И/НЕ.

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

специальным действием предотвращает хаотичную активность

Задайтесь вопросом что происходит в момент запуска. Нет ни действий, ни детекторов, ни целей.

Вы написали то, что и так все знают — нейроны объединяются в сложные структуры, и посредством этого происходит обработка информации. Дело в том, что никто не знает, как именно это происходит, как устроен механизм взаимодействия и организации. Понятие "действие" притянуто за уши, и вполне заменяется на понятие "процесс".

Судя по моим наблюдениям, статьи по разработке сильного ИИ пишут либо с позиции философии/психологии — и тогда она очень абстрактная и пытается копировать человеческое мышление, независимо от того, насколько это разумно. Либо с позиции математики, теории управления, структур данных и машинного обучения — тогда ИИ уже хоть как-то реализуем, ну и можно быстро проверить, работает ли идея. Но тогда это попытка сделать не человеческий интеллект, а оптимальный.
Радует, что автор относительно хорошо погрузился в математику и структуры данных) И понимает, что входные образы не повторяются, а чтобы работать с объектами, эти объекты надо вначале как-то выделить из видеоряда.

Итак, есть ли автора понимание, как работает Q-Learning и как работает Model-Based Reinforcement Learning, хотя бы концептуально? При условии, что на входе у ИИ не дискретные состояния, а набор сенсоров, каждый из которых выдаёт число типа float. И… При условии, что нам доступны разные способы машинного обучения, но нейросети — нет)
Я это спрашиваю, потому что самое близкое, что есть сейчас к «ИИ общего назначения» — это Reinforcement Learning, и люди, говорящие о сильном ИИ, не всегда понимают базовые вещи в RL)

Потом. Вы можете примерно описать, как бы ваша система решала задачу обратного маятника? С нулевым опытом на старте
gym.openai.com/envs/CartPole-v1

С уважением)
Спасибо за положительную оценку. Меня тоже всегда огорчало отсутствие конкретики в большинстве рассуждений о сильном ИИ.

Честно скажу, сильного понимания Q-Learning и Model-Based Reinforcement Learning у меня нет.
Мои соображения по их поводу следующие:
Хотя в них заложен понятный и разумный принцип достижения отдельной цели, они недостаточно универсальные для представления ими всей мыслительной деятельности. Эти подходы предполагают наличие в системе единой модели оценки окружающей среды и возможных действий, а также фиксированную функцию оценки награды, что на мой взгляд не верно. Моя концепция предполагает наличие отдельной модели для каждого действия.

Работать с числами float можно если предусмотреть рецепторы, анализирующие эти величины. Естественно, в системе должно быть столько детекторов, сколько разных ситуаций вы хотите обрабатывать.

Например, детектор активизирующийся при наличие на входе числа 1.23456789 или детектор, активизирующийся при попадании величины в определенный диапазон.

Попытаюсь описать схему решения задачи поддержания равновесия.

Первый случай (автоматизм, после обучения):

Есть детекторы угла наклона стойки, например: ровно, влево 1, влево 2, влево 3, вправо 1, вправо 2, вправо 3
Есть действия: сдвиг 1, сдвиг 2, сдвиг 3, сдвиг -1, сдвиг -2, сдвиг -3

Есть признаки-характеристики: «В равновесии», «Наклон влево», «Наклон вправо», «сдвиг 1 выполнен», «сдвиг 2 выполнен» и аналогично для остальных действий.

Система настроена (обучена) на поддержание равновесия — то есть, есть рефлекторные связи от детекторов наклона к действиям Создать цель, которые создают временные цели (детектор влево 1 -> создать цель «сдвиг 1 выполнен», детектор вправо 1 — > цель «сдвиг -1 выполнен» и так далее).

Действие «Выбор действия» выбирает соответствующее действие, так как в результатах модели действия, например, действия сдвиг 1 присутствует характеристика «сдвиг 1 выполнен».

Второй случай (процесс обучения):

Есть детекторы угла наклона стойки, например: ровно, влево 1, влево 2, влево 3, вправо 1, вправо 2, вправо 3
Есть детекторы плохо, нейтрально, хорошо
Есть действия: сдвиг 1, сдвиг 2, сдвиг 3, сдвиг -1, сдвиг -2, сдвиг -3

Есть признаки-характеристики: «В равновесии», «Наклон влево 1», «Наклон вправо 1» и т.д., «сдвиг 1 выполнен», «сдвиг 2 выполнен» и аналогично для остальных действий.
Есть признаки-характеристики: «Стало хорошо», «Стало плохо» которые проверяют состояние детекторов плохо-хорошо и сравнивают с предыдущим состоянием.

Система настроена на избегание ситуаций «Плохо», то есть действие «Выбор действия» пытается выбрать действие так, чтобы исчезла активность детектора «Плохо»,
то есть, признак-характеристика «Стало хорошо» присутствует в списке целей системы.

Системе сообщается, что наклон стойки это плохо путем установления связи от любых детекторов наклона к детектору «Плохо».

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

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

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

То, что вы описали, очень похоже на Q-Learning =) Но это его разновидность, и по описанию понятно, как она работает ситуации с дискретным множеством состояний сенсоров и с ситуациями, когда будущие переменные можно вывести из прошлых через относительно небольшую таблицу истинности. Кроме того, из описания не вполне следует, что делать в стохастической среде (когда не удаётся вывести зависимости, которые работали бы со 100% точностью). Кроме того, из описания пока не вполне ясно, как действовать, если у действий есть последствия, но все они отсрочены во времени.
Это не значит, что систему нельзя как-то тривиально доработать до такого состояния)

Поэтому у меня будут вопросы, как работать с такими ситуациями =)
Допустим, нам нужно ловить сложные зависимости, в том числе временные. Скажем… Мы хотим, чтобы наш ИИ выставлял цены в супермаркете. И максимизировал деньги. Горизонт планирования — пара месяцев. У нас меняется спрос, у нас меняется число товара на складе, у нас часть товара надо срочно продать, иначе протухнет. Кроме того, люди реагируют на изменение цены не мгновенно. Поменяли цену сейчас — спрос меняется в течение нескольких дней. Кроме того, изменение цены на один товар влияет на продажи другого.
Как бы ИИ обучался в таком случае? Он должен как-то учитывать историю на неизвестную глубину назад. У него довольно много сенсоров, все типа float. Кроме того, ему надо как-то оценивать сильно нелинейные зависимости: например, если поставить большую цену, то доход будет низким, но и если поставить низкую цену, то доход будет не очень. И если цену слегка понизить, то мы можем получить много дохода сегодня-завтра, но мало в перспективе месяца.
Сенсоры: цена_товар1, продажи_товар1_вчера, испортится_товар1, на_складе_товар1, цена_товар2, продажи_товар2_вчера, испортится_товар2, на_складе_товар2
Актуаторы: цена_товар1, цена_товар2
Целевая величина: сумма_на_банковском_счету
Ну и доступна вся история в таком формате.

То есть основной вопрос — как строить сложные временные зависимости.

Ещё — я не вполне понял, для чего меняются цели действий… И как это происходит. По описанию похоже, что мы просто не проводим перебор в некоторых ситуациях, а выполняем «действие по умолчанию», потому что там уже не нужна разведка. Но… Тогда почему цель меняется?

Хотя в них заложен понятный и разумный принцип достижения отдельной цели, они недостаточно универсальные для представления ими всей мыслительной деятельности. Эти подходы предполагают наличие в системе единой модели оценки окружающей среды и возможных действий, а также фиксированную функцию оценки награды, что на мой взгляд не верно. Моя концепция предполагает наличие отдельной модели для каждого действия.
— а можно чуть подробнее о вашей цели в данном проекте? В QL эта единая модель оценки — это по сути ТЗ для ИИ, это предельно однозначное объяснение, чего мы от него хотим. То есть без неё вообще не очень понятно, как проверять, улучшаем ли мы ИИ или ухудшаем. На какую метрику/какое ТЗ ориентируетесь вы?
Или там задача вида «сделаем архитектуру примерно как у человека и будем рассчитывать, что оно будет вести себя примерно как человек»?

Кроме того, насчёт достижения целей. Предлагаю разобраться, что такое уравнение Белмана в QL. Насколько я понимаю, это одна из моделей оптимального принятия решений. В смысле… Я искал аргументы в пользу того, что есть какое-то поведение, которое не соответствует уравнению Белмана, но при этом лучше в плане достижения целей, и таких аргументов не нашёл. Разве что аргументы в пользу того, что не надо это уравнение программировать тупо в лоб)))
Уважаемый Kilorad!
Я очень хотел бы ответить на все ваши вопросы, но не смогу.

Отвечу, на что могу:

1. В статье описана концепция, базовые понятия. Вопрос учета неопределенности в результатах действий может быть решен добавлением понятия вероятности к результатам действия в модель и учетом ее при выборе действий. Конкретнее пока не продумывал.
2. Про максимизацию прибыли в условиях неопределенности — не знаю.
3. Характеристика времени подобна другим характеристикам. Например «Справа от чего-то», подобно «После чего-то». Просто сравниваются другие сигналы.
4. Меняются не цели действий, а цель системы. Вместо общей цели «Чтобы было хорошо», ставятся цели выполнить конкретное действие. Эти цели не требуют сложного поиска действий для их достижения.
5. Да, мне интересно было предложить модель, которая бы обладала свойствами приближенными к человеческим.
6. Про уравнение Белмана вряд ли я смогу разобраться, нет у меня необходимой математической подготовки, сорри :)
Спасибо и на этом =)
В вашей концепции есть идеи, которые позволили бы поднять RL на новый уровень, если бы их удалось воплотить)
У него довольно много сенсоров, все типа float… Мы хотим, чтобы наш ИИ выставлял цены в супермаркете. И максимизировал деньги. Горизонт планирования — пара месяцев.

«Я просто щёлкаю тумблерами и смотрю что зажжётся.» © Экспансия

К справедливости, мы требуем от ИИ то, чего и сами не можем. Мы не щёлкаем тумблерами, а крутим модель с ценой, товаром, психологией и т.д.
К справедливости, мы требуем от ИИ то, чего и сами не можем. Мы не щёлкаем тумблерами, а крутим модель с ценой, товаром, психологией и т.д.
— вы смогли бы рассказать, что именно мы делаем, не используя терминов «цена», «товар», «психология» и так далее? У нас есть временные ряды на входе, временные ряды на выходе и сигнал подкрепления. Модель появится, только если ИИ её сделает сам (на людей же тоже все эти модели не с неба свалились, люди их как-то вывели)
Перед тем как входные данные попадут к мышлению сенсорная система, отточенная эволюцией за сотни миллионов лет, понижает их размерность, создаёт мысленный объект. Вот с ними «цена»/«товар» мышление может работать, а с сырыми данными — нет. И этот уровень абстракции мы не развиваем в себе, он у нас с рождения. А без него человек и в трёх тумблерах запутается. Но перед ИИ сразу ставят задачу с миллионом тумблеров — иди разбирайся.

Нужно строить мозг, разделить задачу хотя бы на два уровня: сенсорный и мышление. Натравливать сетку мышления не на миллион сырых флоутов, а на семантическую сеть с сенсорного уровня. В мозгах тысячи специализированных мест, разные уровни обработки/абстракции, разные части объединяются в сети, переключаются с одной на другую. А для ИИ сейчас просто валят на «новорождённого» миллион флоутов и ждут что такая сложнейшая архитектура мозга родится сама. Она может и родится, но надо подождать полмиллиарда лет.
Перед тем как входные данные попадут к мышлению сенсорная система, отточенная эволюцией за сотни миллионов лет, понижает их размерность, создаёт мысленный объект. Вот с ними «цена»/«товар» мышление может работать, а с сырыми данными — нет. И этот уровень абстракции мы не развиваем в себе, он у нас с рождения.

Поддержу VDG в том, что мышление не должно и не работает непосредственно с уровнем сенсорных сигналов.Но не соглашусь с тем, что выделение абстракций происходит до мышления, на сенсорном уровне, и дано нам от рождения.
Что-то дано от рождения, но большую часть производных понятий человек приобретает в процессе учебы, опыта. Принятие решений происходит как раз на основе таких производных признаков (функций от сенсорного входа). Причем какие признаки анализировать определяется целями. Разные цели могут требовать анализа разных признаков, даже при одной сенсорной информации на входе.
Именно такой подход и содержится в предлагаемой модели. Характеристики описанные в п.2.5.1 (по сути производные признаки) формируют абстрактный уровень понятий, который и участвует в целеполагании и выборе действий.
Я с вами в целом согласен, но к сожалению, это означает лишь, что значительная часть управления происходит за пределами процессов мышления. То есть этот ответ не приближает нас к знанию, как сделать ИИ, который решает задачи реального мира.

Разве что он предлагает «а давайте мы получим ИИ с помощью эволюции», но тогда какой толк строить внутренние модели данных, если у нас всё равно получится блэкбокс?

Сейчас есть, скажем, DQN, и если им дать хороший сенсорный предобработчик, то они станут ИИ общего назначения. Просто автоматически, исходя из их математики.
Только где взять такой предобработчик?..

Идея, что у нас сознательное мышление как-то отделено от сенсорной предобработки — она верная и полезная. Но если мы дальше строим модель сознательного мышления, а модель предобработки не строим, то мы всё самое интересное выносим за скобки =) Без предобработки думалка всё равно не сможет решать реальные задачи, поэтому имеет смысл рассматривать «расширенное» человеческое мышление как всё, что происходит после того, как фотоны вошли в глаза и до того, как сработали мышцы. Когда я это обсуждал с друзьями, я даже термин придумал: мышление-управление. То есть не то, что делает сознание, а то, что делает вся ЦНС

У вас есть понимание, как решать задачу мышления-управления? Если на входе у нас не то, что на входе у мышления (потому что может, интеллект весь не в мышлении, а в предобработке), а то, что на входе у глаз?
я даже термин придумал: мышление-управление
Похоже это функциональные системы.

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

Так вот. Могу поинтересоваться, какую задачу решаете вы, и чем в ней бионика лучше, чем тупо-в-лоб использование математики? Поиск/достраивание образа по отдельному кусочку?
Свёрточные нейросети — это яркий пример бионики, которая реально сработала.

Честно говоря, никакой свёртки-то в мозге нет. Это удачный костыль/хак. Вот Редозубов, конечно пытается её натянуть на мозг, но что-то пока результатов не видно.

Что касается меня, то я не ставил себе какую-то конкретную прикладную задачу, и не пишу инструмент для её решения. Пока это чистой воды эксперименты ради фана. Есть у меня идея, что базовое свойство группы нейронов — формирование «иерархического хеша». Эту идею и проверяю.

Поиск/достраивание образа по отдельному кусочку?

Там многое обнаружилось. Просто группа нейронов в зависимости от тюнинга настроек способна работать как пороговый элемент, или проявлять собственную активность. Картина активности сети сильно перекликается с естественной. И основное, она «из коробки» без обучения демонстрирует обобщение для схожих сенсорных картин. Обучение же заключается в одном-двух прогонах.

Восстановление образа тоже есть (на двухслойной сети). Если сохранилось от 25% исходного образа, то за несколько шагов восстанавливается весь образ. Что интересно, изначально построил на мат. костылях, но на «бионическом подходе» получилось нативно.
Честно говоря, никакой свёртки-то в мозге нет. Это удачный костыль/хак.

Ну, есть вот это.
ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%86%D0%B5%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B5
По смыслу на свёртку довольно похоже

то касается меня, то я не ставил себе какую-то конкретную прикладную задачу, и не пишу инструмент для её решения. Пока это чистой воды эксперименты ради фана. Есть у меня идея, что базовое свойство группы нейронов — формирование «иерархического хеша».

Звучит круто. Иерархический хеш… Это интересная возможность для создания эмбеддингов и решения задачи понижения размерности.

А вы копируете именно нейронную сеть, или глиальную тоже? А то я читал, что роль обучающего алгоритма в мозгу выполняет нейроглея. И именно поэтому искусственные нейросети обучаются градиентным спуском — в самих нейронах нет правила обучения.
По смыслу на свёртку довольно похоже
Если переводить на язык формальных нейронов, то рецептивное поле означает всего лишь, что нейрон связан не со всеми нейронами предыдущего слоя, а только с некоторыми из них. При имитации плоской структуры коры тоже использую локальные рецептивные поля. Это позволяет распространяться активности по слою. Похоже на картинки из цикла статей А. Редозубова.

А вы копируете именно нейронную сеть, или глиальную тоже?
Только нейронную. У глиальной, собственно, не знаю что и копировать. У неё же функция создание энцефалического барьера, а то иммуная система сожрёт нейроны.

в самих нейронах нет правила обучения
По результатам экспериментов сейчас тоже считаю, что в нейронах нет обучения, как его себе обычно представляют. Я бы назвал это облегчением активации. Если, например, нейрон активировался в ответ на активацию одного кластера из трёх нейронов, то в следующий раз он сможет активироваться на три кластера из двух нейронов.

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

Понижения размерности — это как раз то, что сеть базово в итоге и делает, пытаясь понизить потребление мозгом энергии.

Математика не рассматривает понятие объекта с состоянием и поведением, вообще не рассматривает любые вопросы изменения состояния. Поэтому не факт, что чистая математика тут поможет.

Математику можно написать любую, под ситуацию) Объекты с состояниями изобретены достаточно давно, когда придумали ООП. Тут структуры неплохо изучены.
Скорее, проблемы лезут, когда объекты надо выделить из мешанины данных с кучи датчиков — при том, что ИИ может даже изначально не знать, что какое-нибудь явление природы выгодно рассматривать как объект

Так в том и дело, потому программирование биологических особенностей и лучше математики. ООП работает с объектами, в программировании есть понятие "ссылка", в математике, насколько я знаю, оно есть только в теории баз данных в виде понятия "первичный ключ", и то поведение там особо не рассматривается, только описание заданной ситуации в разных формах нормализации.

Можете пояснить, что вы подразумеваете сейчас под «бионика лучше математики» в контексте уже существующих ИИ?
AIXI-MC, QLearning — примеры подходов, которые доказанно могут быть Универсальным ИИ. В смысле, я не видел никаких аргументов против, а я их очень искал. Никаких аргументов за тезисы «если сделать AIXI-MC с невозможно мощным числом процессоров, и дать ему огромное число (пару лет) статистики, то он будет работать хуже, чем возможно, на задачах X, Y, Z». И с Q-Learning то же самое, но там вопрос не к числу процессоров, а к тому, какой Machine Learning использовать — все мейнстримные архитектуры нейронок не подходят, нужно как минимум Neural Turing Machine.
Я могу согласиться, что бионика лучше в том плане, что нынешние архитектуры живых нейросетей — это результат эволюции. И их можно передрать, и тогда тот же QL будет требовать не 100 лет данных, скажем, а только 2 года.
Вообще, какие разделы математики сейчас используются для разработки ИИ-который-достигает-целей-в-реальности?
Классическая теория управления (та, по которой ракеты летают), машинное обучение во всех формах, decision theory, матстат, функциональный анализ. Иногда ещё Шенноновская теория информации и теория алгоритмов. Например, одно из следствий алгоритмической теории — чтобы сделать LSTM-сеть, которая копирует результат работы некоторой машины Тьюринга, у этой сети число скрытых ячеек должно расти экспонентциально при линейном росте длины фактически используемой ленты в машине Тьюринга. А человек как-то умеет эмулировать в мозгу машины Тьюринга (во всяком случае программисты умеют), следовательно, нейросеть в мозгу человека не сводится к RNN, LSTM, GRU, и никакое количество статистики или алгоритмы обучения этого не исправят.
Итак, почему бионика лучше математики, при условии, что задачи уже сформулированы, формулировки предельно математические (из классической теории управления), а эволюционную предобученность природных нейросетей мы учли?
AIXI-MC, QLearning — примеры подходов, которые доказанно могут быть Универсальным ИИ. В смысле, я не видел никаких аргументов против

Почитал про них. AIXI использует понятия "perception" и "reward", а разговор как раз о том, как из данных от сенсоров сформировать структурированный "perception", а по нему оценить "reward".
Q-Learning тоже оперирует неким "state", который непонятно как построить по входным данным. Про него вообще пишут "It does not require a model of the environment", что как я понимаю означает, что из набора пикселей на входе он не будет выделять отдельные объекты, потому что это уже будет model.


Никаких аргументов за тезисы «если сделать AIXI-MC с невозможно мощным числом процессоров, и дать ему огромное число (пару лет) статистики, то он будет работать хуже, чем возможно, на задачах X, Y, Z»

Для естественного интеллекта такая статистика не требуется, поэтому AIXI будет работать заведомо хуже в задачах с новой информацией, например в задаче понимания прочитанного текста, особенно какого-нибудь нового фантастического рассказа. Задачи вида "расскажите прочитанное своими словами" тоже будут сложны, мне сложно представить статистику для таких задач. Даже если создать, то насколько я понял такой алгоритм будет выдавать всегда один и тот же вариант, а человек может по-разному пересказать.


Итак, почему бионика лучше математики

Так вы же сами пишете:
"А человек как-то умеет эмулировать в мозгу машины Тьюринга, следовательно, нейросеть в мозгу человека не сводится к RNN, LSTM, GRU, и никакое количество статистики или алгоритмы обучения этого не исправят."


Я считаю, что для искусственного интеллекта нужна способность оперировать объектами с состоянием и поведением, а математика такие понятия не рассматривает, у нее нет таких формул, поэтому надо начинать с программирования, а не с математики.

AIXI использует понятия «perception» и «reward», а разговор как раз о том, как из данных от сенсоров сформировать структурированный «perception», а по нему оценить «reward».
— для AIXI не требуется структурировать perception вручную. Это просто плоский массив наблюдений. Например, если у робота на входе 2 камеры по 100 на 100 пикселей, то у AIXI на входе будет 20 000 флотов каждый кадр (это жесть, можно тоньше, но я суть объясняю). Он доказуемо построит внутри себя аналитическую систему — что-то типа свёрточной нейросети. Это потребует ресурсов не как обучение человека, а как эволюция человека плюс его обучение — поэтому AIXI и не работает в чистом виде.
Reward — это вообще один float на кадр, там структурировать нечего.

Q-Learning тоже оперирует неким «state», который непонятно как построить по входным данным.
— в реальных Q-Learning делают так, что state — это текущий кадр. Он может быть не структурирован, как у AIXI. Либо разработчик может явно обозначить: вот эти 10000 чисел интерпретируй как картинку и подавай на свёрточную нейронку, а вот те 10 — это что-то другое, и подавать надо на простую нейронку.
Функция Q(S,A) получается определена только для частных случаев — например, у нас есть 1000 кадров статистики, и в них эта функция эмпирически задана. А дальше она достраивается апроксиматором — например, нейросетью, деревом, KNN или чем угодно ещё.

Про него вообще пишут «It does not require a model of the environment», что как я понимаю означает, что из набора пикселей на входе он не будет выделять отдельные объекты, потому что это уже будет model.
— скажем так, он не обязан это делать. Он будет делать то, что эффективно. Если самый эффективный способ включает в себя выделение объектов — QL так и сделает.
Вообще, там суть модели немного в другом. Model-Based системы предсказывают будущий сенсорный вход, то есть у них есть что-то типа интуитивной физики. Опять же, они могут использовать выделение объектов, а могут и нет — зависит от того, эффективно ли это для задачи. А Model-Free системы прогнозируют только Reward в разных его формах (например, в форме Q-функции).

Для естественного интеллекта такая статистика не требуется, поэтому AIXI будет работать заведомо хуже в задачах с новой информацией,
— если рассматривать человека как reinforcement learning, то он решает всего одну задачу. В смысле, он один раз инициализируется и начинает собирать статистику. Когда человек садится за, скажем. старкрафт, он тратит меньше времени на обучение, чем ИИ (у человека же есть статистика о реальности до игры?). Но только если отсчитывать время от начала игры, а не от рождения. Если от рождения, то тут ещё вопрос, кто эффективнее.
В задаче понимания текста — у человека есть весь его жизненный опыт, со всех сенсоров. А у ИИ — нет. Так что тут провал предопределён уже на уровне данных.

Задачи вида «расскажите прочитанное своими словами» тоже будут сложны, мне сложно представить статистику для таких задач. Даже если создать, то насколько я понял такой алгоритм будет выдавать всегда один и тот же вариант, а человек может по-разному пересказать.
— ну, в терминах RL задача вполне ставится. Вот проживёт ИИ лет пять в той же культурной среде, что и человек, а дальше можно задавать ему такие вопросы по тексту. И давать оценку. В таком случае он научится делать то, что приносит наибольшую оценку (с какой попытки — это тот ещё вопрос). Этот алгоритм необязательно будет давать одинаковый ответ — у него постоянно дообучается нейросеть или что там у него. Постоянно слегка разное состояние реальности. Например, при первом пересказе у ИИ есть в памяти, что два часа назад проехала жёлтая машина, а при втором — что в последнее время курс доллара растёт. Это всё мелочи, но это входы нейросети, они будут играть роль random seed. Ну и во второй раз ИИ будет помнить, как его оценили после первого раза. Или, например, будет помнить, что оценили его плохо, но потом поставили дополнительную оперативку, и он стал лучше решать какие-то другие задачи, и теперь он будет стараться показаться дебилом, чтобы ему дали ещё халявного железа.

Так вы же сами пишете:
«А человек как-то умеет эмулировать в мозгу машины Тьюринга, следовательно, нейросеть в мозгу человека не сводится к RNN, LSTM, GRU, и никакое количество статистики или алгоритмы обучения этого не исправят.»
— так это не касается математики вообще. Это касается конкретный архитектур нейросетей. NTM, например, такой проблемы лишён. Или алгоритмическая регрессия.

Я считаю, что для искусственного интеллекта нужна способность оперировать объектами с состоянием и поведением
— почему тогда QL и Model-Based системы более-менее успешно оперируют объектами с состоянием и поведением, хотя сделаны они на чистой математике, бионики там по минимуму, и терминов «объект» в явном виде там нет?

Если что, я согласен, что нынешние ИИ неуниверсальны. Но самые успешные reinforcement learning не используют архитектуры с алгоритмической полнотой, так что… А чего мы ждали? Это не на уровне QL проблема, а на уровне конкретно выбранного апроксиматора. Ну нет у нас апроксиматора, который был бы и быстрым, и полным, и мало переобучался. Наработки есть, продукта нет.
Он доказуемо построит внутри себя аналитическую систему — что-то типа свёрточной нейросети.

Так вопрос в том, будут ли отдельные элементы этой системы соответствовать наблюдаемым объектам. Мы для любого объекта выделяем понятие "тот же самый", это зависимость между наблюдениями. Искусственный интеллект для аналогичных возможностей должен иметь аналогичную способность.


Это потребует ресурсов не как обучение человека, а как эволюция человека плюс его обучение

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


Reward — это вообще один float на кадр, там структурировать нечего.

Вопрос в том, по какому алгоритму его вычислять.


и в них эта функция эмпирически задана

Ну вот в этом и отличие, естественному интеллекту никто правильные значения не задает, он учится распознавать объекты самостоятельно.


А Model-Free системы прогнозируют только Reward в разных его формах

Ну так это не похоже на естественый интеллект, и не даст таких же возможностей. Естественный интеллект строит модель и ее анализирует. Это и дает способности типа понимания незнакомого текста.


В смысле, он один раз инициализируется и начинает собирать статистику.

Ага, только это не та статистика, которая связана с задачей.


Когда человек садится за, скажем. старкрафт, он тратит меньше времени на обучение, чем ИИ (у человека же есть статистика о реальности до игры?)

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


У человека нет статистики, связанной с игрой в Старкрафт. Статистика о реальности в задаче правильной игры никак не помогает, у новичков она есть, но они будут проигрывать пока не научатся. Статитстика о реальности имитируется прямым доступом к API игры, на вход алгоритма будут подаваться уже распознанные структурированные объекты, только судя по тому, что о них говорят, такие системы все равно не строят оптимальные действия.


В задаче понимания текста — у человека есть весь его жизненный опыт, со всех сенсоров. А у ИИ — нет. Так что тут провал предопределён уже на уровне данных.

Человек в 6 лет уже как правило умеет читать. Ничего не мешает сделать робота и в течение 6 лет подавать ему жизненный опыт на входы сенсоров. Сколько уже предобученных нейронных сетей есть. Только почему-то это не работает. И дело вовсе не в производительности.


Да можно даже взять не чтение, а управление 4 лапами. Котята и щенки учатся этому за несколько месяцев, даже с завязанными глазами. Нейросети, которая могла бы нормально управлять 4 лапами еще не существует, хотя там входных параметров гораздо меньше, чем при распознавании изображений.


почему тогда QL и Model-Based системы более-менее успешно оперируют объектами с состоянием и поведением
и терминов «объект» в явном виде там нет?

Во-первых, потому что вокруг них есть вручную сделанная программная обвязка, в которой есть понятие "ссылка на объект". Это она связывает абстрактный выход X с конкретным объектом, потому такие системы и являются специализированными для конкретной задачи. Во-вторых, не особо успешно, управление лапами как пример.

Так вопрос в том, будут ли отдельные элементы этой системы соответствовать наблюдаемым объектам. Мы для любого объекта выделяем понятие «тот же самый», это зависимость между наблюдениями. Искусственный интеллект для аналогичных возможностей должен иметь аналогичную способность.
— а у человека есть такая способность? В смысле, вы могли бы проверить? ИИ будет иметь какое-то внутреннее представление реальности, и оно будет давать какую-то точность прогноза. У человека — аналогично. Точность прогноза измерить можно. А как вы будете измерять соответствие внутренних картинок объектам?

Человек (или животное) обучается с нуля, эволюция дает только механизм. Это проверяли опытами на котятах.
— так этот механизм и есть предобучение. Ну, то есть если бы эволюция сделала мозги с другими рецептивными полями, они бы обучались с другой скоростью. Или у нейронов были бы иные функции активации. Когда делаешь ИНС — можно сделать как угодно! А у эволюции решения вполне конкретные. Эти решения ведут к тому, что одни гипотезы априори считаются более вероятными (и рассматривают раньше), другие — менее. Это априорное смещение зависит от модели и сильно влияет на скорость обучения. Так что в каком-то смысле эволюция предобучила организмы.
Ну или ещё. Человеку тяжело взять корень 9-й степени из 0.37, например. А вот алгоритмическая регрессия легко подберёт такую функцию. А всё почему? Потому что умение брать корни мало влияло на способность выжить и иметь детей, а умение различать картинки — сильно. Своего рода предобучение. Настройка гиперпараметров.

Вопрос в том, по какому алгоритму его вычислять.
— мы же для чего-то конкретного запускаем ИИ? Оператор или разработчик делает reward функцией, которая описывает цель. Количество денег на счету, место на рынке или ещё что. У живых существ напрямую такого reward нет. У них и правда генерируется reward в зависимости от кучи правил, которые собраны эволюцией, и как-то там скоррелированы с размножением. Если цель в том, чтобы сделать модель живого существа, то бионика — да, отличная штука. Если цель в том, чтобы сделать машину результатов — то вопрос открытый.

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

Ага, только это не та статистика, которая связана с задачей.
— в первом приближении. А во втором… Вы же буквы читаете? Вы объекты распознаёте? Термины «здоровье», «война», «строительство» знаете? «Масса», «скорость», «координаты» — если даже игрок не знает, то интуитивно использует. У свёрточной нейросети нет ничего из этого. Вот если бы её вначале тюнила эволюция, а затем отдельные её куски были бы обучены распознавать абстракции вроде «здоровья» — тогда да, сравнение было бы равным.
Мой тезис. С задачей игры в старкрафт связано огромное количество жизненного опыта, который в ИИ не заложен по умолчанию.

Он использует меньше попыток обучения, это главное.
— да, это главное. По моим наблюдениям, чем проще модель, тем меньше попыток обучиться. Быстрее сходится. А большая модель жрёт статистику тоннами. Но большая модель может выловить более сложные зависимости. А сложных зависимостей, внезапно, больше, чем простых, и потому для правильного ответа надо перебрать больше вариантов, а чтобы их протестировать, надо больше данных. И чтобы этого не было, надо как-то сделать, чтобы модель считала более вероятными те зависимости, которые чаще бывают в нашей реальности. То есть она должна лучше учитывать тот опыт, что находится за пределами непосредственно этой задачи. Сейчас для этой цели есть предобученные нейросети, но это полумеры, у человека оно устроено как-то лучше.

Человек в 6 лет уже как правило умеет читать. Ничего не мешает сделать робота и в течение 6 лет подавать ему жизненный опыт на входы сенсоров. Сколько уже предобученных нейронных сетей есть. Только почему-то это не работает. И дело вовсе не в производительности.
— я бы на это посмотрел и поанализировал, где именно не работает. Сейчас одна из заметных проблем — нейросети неполны по Тьюрингу. Конечным автоматом, коим является LSTM, человеческий язык его не описать. Нужны другие архитектуры, а они пока на этапе альфа-тестирования.

Да можно даже взять не чтение, а управление 4 лапами. Котята и щенки учатся этому за несколько месяцев, даже с завязанными глазами. Нейросети, которая могла бы нормально управлять 4 лапами еще не существует, хотя там входных параметров гораздо меньше, чем при распознавании изображений.
— формально вот =)
www.youtube.com/watch?v=Bh_t_kfXTAU
А так — да, RL сейчас не особо развит.

Во-первых, потому что вокруг них есть вручную сделанная программная обвязка, в которой есть понятие «ссылка на объект». Это она связывает абстрактный выход X с конкретным объектом, потому такие системы и являются специализированными для конкретной задачи. Во-вторых, не особо успешно, управление лапами как пример.
— насчёт 1-ого — да, там есть Feature Engeneering, но не всегда настолько жёсткий, как вы описали. Есть, например, Atari, там довольно сырые данные на входе.
Насчёт 2-го — да, RL сейчас не особенно развит. Даже так. Он развит непропорционально слабее, чем Supervised Learning.

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

Так это следует из самого факта существования понятия "тот же самый". Раз оно есть, значит оно как-то устроено.


А как вы будете измерять соответствие внутренних картинок объектам?

По поведению. Наблюдается объект — некоторый внутренний информационный элемент активен, не наблюдается — неактивен.


так этот механизм и есть предобучение

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


Человеку тяжело взять корень 9-й степени из 0.37, например. А вот алгоритмическая регрессия легко подберёт такую функцию. А всё почему?

Потому что человек вычисляет корни по-другому, оперируя объектами, в том числе отдельными цифрами.


мы же для чего-то конкретного запускаем ИИ?

Мы говорим про сильный ИИ, то есть ИИ общего назначения. Он может существовать автономно и понимать задачи по входной информации в рантайме.


в ТЗ на AGI и нет «похож на человеческий интеллект»

Я имел в виду способности, а не принцип действия.


"Artificial general intelligence is the intelligence of a machine that can understand or learn any intellectual task that a human being can".


Если система не выделяет объекты, она не сможет решать задачи, связанные с отслеживанием их состояния.


У свёрточной нейросети нет ничего из этого.

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


Что именно из математики вы предлагаете отбросить и заменить бионикой?

Ничего, потому что в ней нет того, что нужно. Объекты есть в программировании, но не в математике. Напрямую программируя поведение клеток можно добиться больше, чем при использовании только математики.


И… Каких конкретно успехов ожидаете?

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

Так это следует из самого факта существования понятия «тот же самый». Раз оно есть, значит оно как-то устроено.
— а, вы об этом. Да, в большинстве ИИ такого нет. В явной форме. А внутри модели может быть, это сложно проверить. Но вообще, кейс хороший, надо подумать, как бы RL решал такие задачи, если бы его сделали очень хорошо.

Там нет предобучения ни в каком виде. Нейроны обучаются после рождения. В опытах котятам зашивали один глаз на некоторое время, потом зрение на этом глазу не восстанавливалось. А у взрослых кошек такого не наблюдалось, потому что у них нейроны уже обучены.
— окей. Если бы мы проводили такое же не-предобучение с моделью для ML, то эта модель модель бы гораздо лучше (в любом смысле лучше) обучалась на свежих данных. Это широко распространённая практика — мы перебираем архитектуры ML, обучаем на одних данных, валидируем на других и оставляем в итоге то, что лучше всего выстрелило на кроссвалидации. То есть это железно работает в инженерной практике — что с простыми моделями типа линейной регрессии, что со сложными типа нейронок.
В природе это заходит дальше, вот так:
bio.wikireading.ru/3805
«Например, если появился новый хищник, от которого можно спастись, забравшись на дерево, жертвы могут научиться залезать на деревья, не имея к этому врожденной (инстинктивной) предрасположенности. Сначала каждая особь будет учиться новому поведению в течение жизни. Если это будет продолжаться достаточно долго, те особи, которые быстрее учатся залезать на деревья или делают это более ловко в силу каких-нибудь врожденных вариаций в строении тела (чуть более цепкие лапы, когти и т. п.), либо те, кто лучше мотивирован (кому больше нравится карабкаться по стволам), получат селективное преимущество, то есть будут оставлять больше потомков. Следовательно, начнется отбор на способность влезать на деревья и на умение быстро этому учиться. Если появится случайная мутация, улучшающая эти способности, носители этой мутации будут оставлять в среднем больше потомков. Иными словами, мутация будет поддержана отбором. Частота ее встречаемости в генофонде популяции начнет расти и в конце концов может достичь 100 %. По мере накопления подобных мутаций поведенческий признак, изначально появлявшийся каждый раз заново в результате прижизненного обучения, со временем может стать инстинктивным (врожденным) — изменившееся поведение будет „вписано“ в генотип»

Потому что человек вычисляет корни по-другому, оперируя объектами, в том числе отдельными цифрами.
— это лишь описание того, как работает уже готовая система. Я же показываю, что такая система у человека неспроста появилась, и если поместить ИИ в те же условия, что и предков человека, и дать столько же статистики (миллионы лет эволюции) то произойдёт одно из следующего: или у ИИ появится такая же система, или появится другая, и она будет не менее хороша (скатимся в другой оптимум), или мы проводили перебор в недостаточно полном пространстве/недостаточно хорошим поисковиком, и тогда ИИ так и останется неэффективным.

Мы говорим про сильный ИИ, то есть ИИ общего назначения. Он может существовать автономно и понимать задачи по входной информации в рантайме.
— ну, да. А задача потом лежит в виде метрики качества, чтобы ИИ понимал, чего добиваться. Ну, у него должно быть какое-то описание цели, потому что иначе непонятно, чего он будет добиваться, и как сделать, чтобы он добивался именно того, что нам нужно.

Я имел в виду способности, а не принцип действия.
— хорошо. Model-Free строит неявную модель. Такую, что из неё можно вывести Reward. Да, люди так не делают… Ну, то есть люди точно умеют в Model-Based. Тем не менее. Я не видел доказательства, что Model-Based именно необходим для достижения целей. В конце концов, если он так необходим, то он вполне может образоваться внутри нейросети (или что там) для QLearning. Другое дело, что нейросети для этого плохо годятся… Но мы к ним не привязаны жёстко.

Если система не выделяет объекты, она не сможет решать задачи, связанные с отслеживанием их состояния.
— если сама постановка задачи включает объекты — то да. А если нет? ИИ не выведет что-то типа объектов (или иную концепцию) сам?

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

Построение модели того, что происходит вне информационной системы. Чем более полная и точная модель получается, тем больше у системы интеллекта. Ну и как следствие — изобретение сильного ИИ.
— под построением модели подразумевается кроссдоменный supervised learning?

Ничего, потому что в ней нет того, что нужно. Объекты есть в программировании, но не в математике. Напрямую программируя поведение клеток можно добиться больше, чем при использовании только математики.
— ну там довольно сложное поведение. Можно эмулировать клетки с разной детализацией, и не всегда понятно, что можно отбросить. Спайки важны? А гормоны? А нейроглея? Но таким способом в принципе можно сделать ИИ, имея кучу ресурсов
То есть это железно работает в инженерной практике — что с простыми моделями типа линейной регрессии, что со сложными типа нейронок.

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


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

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


или мы проводили перебор в недостаточно полном пространстве/недостаточно хорошим поисковиком, и тогда ИИ так и останется неэффективным

Либо просто алгоритм ИИ неправильный. Если что-то не работает, это самый вероятный вариант.


Ну, у него должно быть какое-то описание цели

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


если сама постановка задачи включает объекты — то да. А если нет? ИИ не выведет что-то типа объектов (или иную концепцию) сам?

Для этого нужны соответствующие механизмы взаимодействия нейронов. Само по себе ничего не происходит. Объект подразумевает понятие первичный ключ (или ссылка), что в свою очередь подразумевает отношение равно/не равно.


это как мы зададим? Понятие массы должно быть интуитивно связано со всем другим опытом.

Ну я больше говорил про скорость и координаты, но и массу можно так же задать — ИИ наблюдает объект и через API игры сразу знает его массу. Вот это число и можно связывать с остальными составляющими опыта, получаемого в данный момент.


под построением модели подразумевается кроссдоменный supervised learning?

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

Признаки типа «цепкие когти» возможно. Возможно даже общее стремление к высоте, связанное с вестибулярным аппаратом. Признак типа «вижу дерево — хочу залезть на дерево» нет. Потому что нейроны, распознающие дерево, обучаются после рождения по визуальным данным.
— почему у исследованных нейронов переходная функция выглядит как сигмоида, а не как порог или линейка или синусоида или как что угодно ещё? Почему мозг вообще имеет структуру сети околооднородных элементов? Почему рецептивные поля имеют размеры именно такие, какие имеют? Почему свёртки в глазах двухмерные и рассчитаны на анализ 2Д-видео от 3Д-реальности, а не 3-мерные, рассчитанные на анализ 4-мерной реальности? Это не настройка гиперпараметров эволюцией?
У вас есть понимание, что разные модели ML с разной вероятностью эмулируют одну и ту же закономерность, и на эти предвзятости влияет чуть ли что угодно? Что решающее дерево способно эмулировать функцию y=2x, но линейная регрессия это сделает по меньшему числу данных? И что всякие штуки вроде формы и размера рецептивных полей в нейросети влияют на то, сколько статистики надо на изучение одной и той же закономерности?

Либо просто алгоритм ИИ неправильный. Если что-то не работает, это самый вероятный вариант.
— мы можем искать в алгоритмически полном пространстве. В нём гарантированно есть то, что нужно

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

Для этого нужны соответствующие механизмы взаимодействия нейронов. Само по себе ничего не происходит. Объект подразумевает понятие первичный ключ (или ссылка), что в свою очередь подразумевает отношение равно/не равно.
— это единственный способ? Во всём алгоритмическом пространстве нет другого способа получить похожий результат? Это первое. Второе. Если мы выдёргиваем алгоритм из пространства всех алгоритмов (как в AIXI), почему мы не вытянем автоматом именно то, что надо? Если все остальные алгоритмы задачу не решают?

Ну я больше говорил про скорость и координаты, но и массу можно так же задать — ИИ наблюдает объект и через API игры сразу знает его массу. Вот это число и можно связывать с остальными составляющими опыта, получаемого в данный момент.
— у человека масса уже связана со всем, чем нужно. И скорость тоже, и координаты. Во время игры человек дообучается, но не изучает эти концепции с нуля. Он уже на первых 2-3 кадрах видит, что вот это похоже на человека, а это на здание, и уже может о них сказать очень много. Очень много такого, что ИИ может только вывести сам, затратив данные. Если мы поставим предобученную нейросеть для анализа видео, мы сильно сократим время обучения. У человека она предобучена ещё лучше.
Я проводил более-менее честный эксперимент, сравнивающий человека с RL. Никакой картинки нет, только временные ряды. Никаких названий переменных — только их хеши. Ну и действия с ревордами вынесены в отдельные столбцы. Если человека изолировать от его опыта и эволюционных наработок типа зрительной коры, то в простых задачах он показывает себя не радикально лучше RL.
Убрать опыт — это выглядит вот так, в остальных случаях мы сравниваем систему с кучей опыта и систему без этой кучи.
А ещё, камень в сторону RL, он иногда тратит но обучение больше времени, чем люди живут. Это означает, что человека модель на старте лучше, чем конкретная архитектура нейросетки. Это необязательно означает, что анализ объектов надо проводить чем-то, что специально и явно заточено под объекты. Это означает, что мы нашли ещё одну плохую модель.

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

Я считаю, что в текущих моделях ML нет того, что есть в естественном интеллекте, поэтому сильный ИИ еще и не изобрели.


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

Ну хотя бы так. Только ведь не сделали еще, и непонятно как сделать.


это единственный способ?
Если мы выдёргиваем алгоритм из пространства всех алгоритмов (как в AIXI), почему мы не вытянем автоматом именно то, что надо?

Не знаю, знаю только что никто еще не вытянул.


Во время игры человек дообучается, но не изучает эти концепции с нуля. Он уже на первых 2-3 кадрах видит, что вот это похоже на человека, а это на здание, и уже может о них сказать очень много.

Так я это и предлагаю имитировать доступом к API игры. Там вообще достоверно известно, что это человек, а это здание. Только дообучить нейросеть, чтобы она играла так же как человек, все равно не получается.


Если человека изолировать от его опыта и эволюционных наработок типа зрительной коры, то в простых задачах он показывает себя не радикально лучше RL.

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


Это необязательно означает, что анализ объектов надо проводить чем-то, что специально и явно заточено под объекты.

Подождите. У нас есть понятие "объект", оно подразумевает поведение и, следовательно, распознавание как "тот же самый" в разные моменты времени. Это свойства самой задачи. Если у нас система хорошо распознает объекты, значит в ней есть такие механизмы, значит она хорошо заточена под объекты.


похоже на то, как это обозначается в ML)

Из того, что я знаю, обрабатываются только данные, вход связывается с выходом. В лучшем случае делается классификация, но не поиск "того же самого" объекта. Поэтому те же алгоритмы игры в Старкрафт крайне плохо работают, когда видят только часть поля. Они оперируют только тем, что видят. Если он уведет самолет с базы, а потом сдвинет экран обратно, то потом уже не вспомнит "а вот у меня там самолет есть". Если вспомнит и целенаправленно сдвинет туда экран, то да, это будет отслеживание объектов. Хотя тут тоже есть нюансы, может он по другой причине сдвинул, и в другой ситуации сдвинет, хотя это не будет нужно.

Так я это и предлагаю имитировать доступом к API игры. Там вообще достоверно известно, что это человек, а это здание
— там это написано. Когда я впервые начал играть в Tiberian Sun, я ожидал, что пулемёт будет хорошо мочить пехоту, а пушки — технику. Причём пехота выглядит так-то, а техника так-то. Это я знал из реальной жизни. Для ИИ это неочевидно, даже если подписать.
Кроме того он же и читать не умеет изначально. Как бы он хорош ни был, ему надо время, чтобы это освоить.
Доступ к АПИ выглядит не совсем равноценной заменой. С одной стороны, ИИ получает более чистую информацию, с другой — теряет то, что человек увидел бы по картинке. Хотя тут вопрос, что за АПИ — если оно ТТХ всех юнитов пишет (что в RTS редкость, потому что всех мелких деталей не опишешь), то какая разница, формулы изучить недолго.

Не знаю, знаю только что никто еще не вытянул.
— комбинаторная сложность же. Эволюция бы вытянула. Можно рассчитать время, за которое вытянула бы, и это время зависит от того, из каких примитивов мы собираем ИИ.

Так надо не действия в задаче сравнивать, а обучаемость этим действиям, узнавание концепций.
Но даже если вы проверяли именно это, в простых задачах может и не быть отличий, на то они и простые. Программная обвязка, сделанная для упрощения, может скрывать реальную сложность.
— я проверял, за сколько времени человек разберётся, как из пушки по самолёту попадать, если содержание датчиков известно, но сами датчики перемешаны и не поименованы. По моим результатам… Ну, плохо человек стреляет. Долго учится закономерностям. И ИИ плохо стреляет. Но у ИИ «терпения» больше, чтобы наделать кучу экспериментов.

Подождите. У нас есть понятие «объект», оно подразумевает поведение и, следовательно, распознавание как «тот же самый» в разные моменты времени. Это свойства самой задачи. Если у нас система хорошо распознает объекты, значит в ней есть такие механизмы, значит она хорошо заточена под объекты.
— я правильно понимаю, что ваше «система распознаёт объекты» включает в себя и «мы сделали систему, которая может обучиться много чему, а вот она обучилась распознавать объекты, хотя таргет мы ставили другой»? Или только «мы прямо руками прописали такие штуки как объекты, и наша система явно заточена под манипуляцию ими, и в любой задаче ищет в первую очередь объекты»?

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

Кстати, у вас есть идеи, как сделать ML-систему, мыслящую именно в терминах объектов? Про бионику я слышал, но может, что-то ещё.
Я, например, думал об использовании слоя в нейронке с активационной функцией гаусса. Она бы хорошо ловила совпадения. Но… В лоб не вышло.
Хотя тут вопрос, что за АПИ — если оно ТТХ всех юнитов пишет

Дак ТТХ она будет изучать по опыту, так же как новичок-человек.


Я вот о чем. Про AlphaZero я где-то читал, что она может запустить и сразу остановить строительство здания несколько раз подряд. Это выглядит нелогично, человек так не будет делать. Дело тут в неправильной логике планирования действий, и известными ТТХ это не исправить.


я проверял, за сколько времени человек разберётся, как из пушки по самолёту попадать, если содержание датчиков известно, но сами датчики перемешаны и не поименованы.

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


я правильно понимаю, что ваше «система распознаёт объекты» включает в себя

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


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

Ага, это правильное направление.


в памяти хранились скорости, и ускорения, но не объекты

Переменная сама по себе объект. У нее есть постоянный адрес и изменяемое состояние. Просто в этой задаче важны только 1-2 характеристики объекта, поэтому одна переменная может представлять весь объект.


Кстати, у вас есть идеи, как сделать ML-систему, мыслящую именно в терминах объектов?
Я, например, думал об использовании слоя в нейронке с активационной функцией гаусса.

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

Я вот о чем. Про AlphaZero я где-то читал, что она может запустить и сразу остановить строительство здания несколько раз подряд. Это выглядит нелогично, человек так не будет делать.
— если это делается на начале обучения, то всё логично, хотя человек и вначале так делать не будет (и это я тоже называю предобученностью). Если обучения, то это серьёзный косяк))) Похоже на то, что модель мира очень сильно учитывает наблюдения, но слабо — скрытое состояние. У меня подобное поведение было, когда ячеек памяти мало — то есть их достаточно для оптимального алгоритма, но нейросеть всё равно плохо обучается, так как картинка тупо больше по размеру, и на неё легче настроиться. Учитывая, откуда появился AlphaZero, я бы не удивился, если бы оказалось, что у него вообще нет скрытого состояния.

Это немного не то что нужно. Я вот тоже бы оценил эту задачу как сложную, она требует слишком много внимания. Лучше бы наоборот, вы показываете несколько раз, как надо стрелять, а человек наблюдает, а потом сам пробует.
— там и человек, и ИИ видели серию успешных попыток, и в равной мере могли обучиться на них. Но… Человеку тяжеловато на этом обучаться. Для человека это выглядит как офигительная бигдата (14 столбцов, всего-то), без картинки и интуитивной модели физики очень туго идёт.

Объекты тем и полезны, что у них состояние отделено от идентификатора, и может меняться независимо от него, а если у вас выход системы это математическая функция от входа и внутреннего состояния, то идентификатор объекта может поменяться, если его наблюдаемое состояние значительно изменится. Грубо говоря, покрасили стул — и система считает, что это уже другой стул, никак не связанный с первым.
— по описанию здорово похоже, что ИИ должен уметь работать с чем-то типа указателей и относительной адресации. Этого недостаточно, но похоже, что это в том числе нужно.
А у нас лучшие из мейстримных нейронок — это в лучшем случае конечные автоматы — LSTM/GRU/RNN. Внутренние переменные есть, но массивов с адресацией нет. Если бы развить что-то наподобие Neural Turing Machine с её лентой, то… Ну по крайней мере достаточно естественно работала бы конструкция «положи свёртку этого образа в память по координатам 10, 21» и «глянь по координатам 11+-5,30+-9, нет ли там образа наподобие вот этого».
все такие модели якобы сильного ИИ я проверяю так — прошу автора рассказать ход мыслей его СИИ при ответе на заданный ему вопрос «можно ли носить воду в решете ?»
Описанный автором текстовый процессор не сможет ответить, и нейросети не смогут, а мой вариант сможет, но его ещё не скоро реализуют, подробнее тут — aftershock.news/?q=node/718819

У автора есть пункт "Ассоциативные связи", именно это и даст возможность отвечать на такие вопросы. В вашем варианте вообще архитектура не описана, там просто постулируется, что ИИ каким-то образом может обучаться так же как человек. Естественно, при такой способности он сможет ответить так же как человек.

О боже… Какая бредятина… Ну сколько можно? Автор, вы зачем лезете туда, где вы вообще «ни ухом ни рылом»?

Вы для начала определение «интеллекту» дайте, причём строго математическое.
Итак, интеллект — это любые манипуляции с логикой высших порядков, такое что не нарушает логику в пределах построенной логики.
Одной из реализаций логики высших порядков является «теория абстракций», построенная на «теории типов».

Пример: Поглядите на шкафчик перед вами, или где-то сбоку. Развалите его на абстракции.

Вещь: iФорма-able
Шкаф: Мебель: Вещь

Коню понятно, что Шкаф реализует форму, причём как — не суть важно. Т.к. Шкаф реализует форму как абстракцию, то вы можете шкафу задать любую форму, такую что бы логика Шкафа не развалилась.
В итоге очевидно, что вы получаете буран абстракций, абсолютно доселе неведомых. Т.е. например Шкафы пяти… девяти-угольные, скругленные и т.д. — топология вам в помощь. Пространственно — оно совсем получается в принципе любым каким захотите.

А теперь посмотрите на Шкаф пристальней, поймите от чего он наследуется, найдите все 150 интерфейсов от родителей, соберите логику Шкафа и меняйте интерфейсы как вам вздумается и получите абсолютно всё что захотите практически без ограничений.

Вот это и есть «интеллект».
Итак, интеллект — это любые манипуляции с логикой высших порядков, такое что не нарушает логику в пределах построенной логики.
— а вот Люк Мюльхаузер (а так же Ник Бостром, DeepMind, Google и OpenAI) сказал бы, что интеллект — это оптимальное управление, что бы ни подразумевалось под критерием оптимизации. Это, кстати, можно измерить. И есть минимум две концепции такого интеллекта, которые вообще не включают в себя в явном виде теорию типов. И ограниченные формы которых уже запрограммированы. И ни так, ни другая концепция вообще не ссылаются на человека, они «объективны».

Вы для начала определение «интеллекту» дайте, причём строго математическое.
— полностью согласен, с этого надо начинать. Разные люди под этим подразумевают очень разные штуки.

К счастью, автор это определение привёл в комментах — он намерен передрать архитектуру человеческого мышления (того самого, которое можно отрефлексировать, то есть… Не всё) и получить результаты, похожие на результаты человеческого мышления. Это называется подходом на основе когнитивных архитектур или бионикой. То есть задача: создать «чёрный ящик» такой, что при включении его в контур управления роботом этот робот будет вести себя максимально похоже на человека. И дальше уже идёт математика того, как это реализовывать.
— а вот Люк Мюльхаузер (а так же Ник Бостром, DeepMind, Google и OpenAI) сказал бы, что интеллект — это оптимальное управление, что бы ни подразумевалось под критерием оптимизации.
Послушайте, вам даже пример со «Шкафом» оказывается нереально сложным. Объясню почему. Всё просто.
Управление: Манипулирование
Что есть «Оптимальность» или же «Оптимизация» — я понятия не имею. На самом деле имею, причём не относящееся к математике, но суть не в этом. Поймите, что я не знаю что ВЫ под этим подразумеваете.
А в «теории абстракций» это всё естественно банальность. Выстраиваемое дерево абстракций как раз и должно быть оптимальным/оптимизированным и прочая прочая, что одно и то же.
Нет смысла строить дерево например такое:
A: iA
B: A: A
A: B: iA
и т.д.
Смысл в оптимальности/оптимизации абстракций — это описание этих самых абстракций в виде дерева минимально возможным способом.

Так вот этот ваш товарищ, кто он там «Люк Мюльхаузер» и прочие дурачьки «что бы ни подразумевалось под критерием дурачька», говорят вам примерно то же самое, однако же они сами не понимают что говорят. Вы берёте это, то что они не понимают сами, понимаете как-то по своему, и несёте это дело сюда. Слушайте, сказать что это бред в кубе — это вообще ничего не сказать, не правда ли? :) И если вы всё ещё не поняли почему — объясняю.
К счастью, автор это определение привёл в комментах — он намерен передрать архитектуру человеческого мышления
и получить результаты, похожие на результаты человеческого мышления
То есть задача: создать «чёрный ящик» такой, что при включении его в контур управления роботом этот робот будет вести себя максимально похоже на человека.
Вот вы человек так? Вы себя услышьте, какой бред вы несёте. И что, вам нужен такой же «чёрный ящик», генерирующий подобную бредятину? А зачем вам это, когда на этой Земле вон ходят сколько там 7 миллиардов что ли таких же бредогенераторов, к любому подойдите — столько бреда услышите — хоть стой хоть падай. Вам зачем это всё? И вы хотите повторить сие в условной «машине»? ЗАЧЕМ??
Так вот смысл следующий, и вы действительно его не понимаете.
Моя абстракция вышеприведённого Шкафа вот такая и она приведена:
Вещь: iФорма-able
Шкаф: Мебель: Вещь
А ваша может быть другая. Эта же казалось бы абстракция банального Шкафа у условного Васи будет третья, а у этого «Люка Мюльхаузера» — четвёртая.
Так вот понять все эти абстракции сих перечисленных четырёх персонажей можно только сравнением деревьев абстракций. Вы что, правда не понимаете, что некое слово «Шкаф» вовсе не является абстракцией, а абстракцией является полное дерево, описывающее эту абстракцию? Так у всех результаты будут совершенно разными. :) Это же очевидно. А в таком случае, когда эти четыре персонажа обсуждают шкаф — то на самом деле они обсуждают СОВЕРШЕННО РАЗНЫЕ АБСТРАКЦИИ. Вы поймите это. И может быть — это самое главное, чего чилавеки паталогически не понимают, а отсюда все беды, конечно же.

Так вот создавать нужно не какое-то там поделие, напоминающее неких безумных чилавеков, а именно то, что будет выдавать предельно ясные [по вашему оптимизированные или оптимальные] максимально полно описанные абстракции.
А то что хочет автор или же вы [тут уж я не знаю] — никому не нужная бредятина в принципе.
П.С.: Математики в этом никому не нужном бреде я не увидел.
П.П.С.: Всё это касается так называемого «сильного интеллекта», впрочем я понятия не имею как интеллект может делиться на какие-то сильные или слабые и прочий бред. Интеллект либо есть, либо его нет. А так называемый «слабый интеллект» к интеллекту вообще никакого отношения не имеет. За это расстреливать нужно.
Есть такая концепция — ИИ Общего Назначения, он же Artifical General Intelligence. Достаточно широко признанная в ИИ-сообществе. AGI — это инженерное ТЗ, а не научная теория. И ТЗ звучит примерно так: в эту штуку заряжаешь цель — она выдаёт результат. Цель — это некое состояние реальности.
Заряжаешь цель: сделай, чтобы на моём счету было 200к долларов.
Рррраз — и готово. По дороге взломано 3 почты, 5 счетов, открыто две фирмы и изобретён гамбургер, вызывающий зависимость. Потому что ИИ посчитал, что такой путь быстрее, проще и надёжнее всех других. А посчитал бы иначе — прошёл бы другим путём к этой же цели. Не был бы подключён к интернету, но имел бы руки-ноги? Придумал бы другой путь. То есть это такой искатель маршрутов, грубо говоря.
Сейчас такие «машины результатов» есть. Работают ограниченно по огромной сложной куче причин.
Математика этого дела — например, вот:
ru.wikipedia.org/wiki/Q-%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
Или вот:
en.wikipedia.org/wiki/AIXI
И в этом подходе дерево концепций в явной форме вообще никак не используется. В неявной — вероятно, оно будет. Где-то внутри машинного обучения, если модель «решит», что это эффективно.
Математика в том, что можно запустить две такие системы и измерить, какая из них лучше достигла цели — например, заработала больше денег или сделала это быстрее. Если есть критерий оптимизации (цель, выраженная математически), то есть и способ измерить качество работы. И есть ТЗ

Вам зачем это всё? И вы хотите повторить сие в условной «машине»? ЗАЧЕМ??
— у автора иной подход, иное ТЗ. Его система годится в качестве… Ну, самое очевидное — автоматизация кол-центра. Или что-то типа Сири. Но её и правда сложнее использовать, чем AGI — её ж надо как-то заставить делать именно то, что нужно. Ну, скажем так, если бы у меня оказалась такая система, я бы придумал, как сделать с её помощью гору денег — если чуть-чуть подумать, то это кажется очевидным. Соревнования по тестам Тьюрингу проходить.

А что делает эта система с абстракциями? Ну, то есть какое ТЗ на неё? В чём её экономическая значимость? Я понимаю, что ассоциативная сеть может быть полезна для какого-нибудь обработчика текстов. Как дополнение к существующим методам. Это всё? Или она умеет как-то совершенно лихо строить планы и делать то, что людям кажется невозможным?
То что вы пишете — это никому не нужно. Это даже вам не нужно. Потому что это ничего не даст.
Заряжаешь цель: сделай, чтобы на моём счету было 200к долларов.
Давайте совсем на пальцах.
Вам эти условные 200 тыщ рейхс-долларов нужно раскидать на дерево абстракций, и встроить в свои деревья. Во-первых, каждый человек построит дерево абстракций условных 200к рейхс-долларов своё. А во-вторых встроит всё это построенное дело в уже имеющиеся деревья которые опять же у всех разные. Итоговый результат — это третье дерево, которое понятное дело абсолютно у всех будет отличаться.
«Очеловечивая» «чёрный ящик», который кстати тоже должен иметь собственные деревья [ну а как иначе?], вы получите примерно следующее:

1. «Чёрный ящик» разберёт всякими наводящими вопросами что вы из себя представляете, и построит за вас дерево абстракций.

2. Затем опять же наводящими вопросами узнает, что для вас значат 200к рейхс-долларов, и за вас построит дерево абстракций по этому поводу.

3. Затем соберёт общее дерево абстракций и редуцирует его, насколько это возможно.

4. Полученное дерево абстракций именно для вас будет оптимальным/оптимизированным, однако же это дерево абстракций, без каких либо реализаций абстракций.

5. На этом по идее сей «решатель» должен остановиться, и выдать вам полученные результаты.

6. Понятное дело вас это не устраивает, и «решатель» из имеющихся бд которые вовсе не являются абстракциями — должен найти максимально приемлимую реализацию. Этот пункт интеллекта не касается вовсе, это банальность. Более того, этот пункт вовсе и не должен быть реализован в этом «чёрном ящике», т.к. этот пункт противоречит условиям «человечности».

7. В итоге вы получите ответ на свой вопрос.

Теперь как это уже работает в реальности. :)
Пункты 1-2 реализуют нынешние так называемые психологи, и это повсеместное явление.
С пунктом 3 проблема. Т.к. психологи не умеют работать с деревьями абстракций, то оптимальность/оптимизируемость в принципе недостижима. У них нет формализованного математического аппарата на это дело.
Пункт 4 недостижим.
Пункт 5 не то что достижим — это цель психологии. Однако же без реализованных пунктов 3-4 — нынешняя цель психологии не имеет смысла практически «по определению».
Выходит так, что пункт 5 в нынешних реалиях достижим, однако же крайне сомнителен в оптимальности/оптимизируемости, а значит практического смысла не имеет, впрочем вероятность «точного попадания» никто не отменяет. А значит вероятность того, что психолог всё же получит оптимальное/оптимизированное дерево — есть, однако же вероятность получения такого дерева весьма мала.
Пунктом номер 6 психологи в принципе не занимаются, т.к. это же область «профессиональных» интересов, это очевидно. Пункт 6 в принципе уже реализован, достаточно в общем-то банально порыть имеющиеся бд.

Теперь как оно будет выглядеть со стороны, именно понятным для вас «способом» :)

1. Выяснится что вы ничего не можете, ничего не хотите, представляете из себя типично «сапиенса», в общем-то тупого, похотливого и ничего не хотящего, точнее не знающего что хотящего.

2. Выяснится что эти пресловутые 200к рейхс-долларов вам вовсе не нужны, пусть для вас это выглядит прямо и понятно: это цель, а не средство. Построенное дерево абстракций именно это и будет означать. Построенное дерево абстракций в более широком смысле укажет на то что вам не деньги нужны, а например теплые острова и знойные девки и т.д. и т.п. Спрашивается ога, а причём тут деньги вообще? :) Впрочем это риторический вопрос.

3-4. Редукция полученного дерева и будет ответом на ваш вопрос, однако же без реализации ответа, разумеется.

5-6. «Решатель» не остановится, подключит массу бд и начнёт реализовывать абстракции, вам же это зачем-то нужно. :))))))

7. Вы получите ответ, прямой и короткий: «Едьте во Владивосток, купите паспорт моряка за 250к рублей и приблизительно за 2 года вы обкатаете 70% мира и перетрахаете любых представительниц/[представителей] этих стран любых видов, возрастов и сортов». Ведь это вам и нужно же. Затратность мизерная, выхлоп чумовой, ещё и прилично подзаработаете на этом. А это и есть оптимальный/оптимизированный вариант, по-вашему.

Суть: полученный ответ — это самое короткое и реализованное дерево абстракций.

П.С.: У меня один вопрос, и для вас он покажется абсолютно тупым, но всё же. :))))
Вы объясните хотя бы как-то, а нахрена вам вообще какую-то сраную почту вот непременно надо взять и сломать? :) Это зачем вообще?
То что вы пишете — это никому не нужно. Это даже вам не нужно. Потому что это ничего не даст.
— вообще-то это постановка задачи reinforcement learning и ИИ общего назначения.
Я полагаю неправильным говорить «вам не нужно X», если X заявлено в качестве цели. «Зачем» — это не вопрос, вопрос «как». Да, я знаю, психологи задают людям подобные вопросы, но там вполне определённый контекст, там это уместно. Но… Здесь-то задача другая. Потому и вопрос: а как решать такую, чётко поставленную задачу? Если у вас просто другая постановка вопроса — проигнорируйте, пожалуйста, этот пункт. И тогда давайте посчитаем, что ИИ уже провёл подмену цели, и теперь цель предельно конкретна и измерима
1. «Чёрный ящик» разберёт всякими наводящими вопросами что вы из себя представляете, и построит за вас дерево абстракций.
— ну это мы разобрали, это может быть полезно в человеческом общении, но если мы хотим конкретных измеримых результатов, то подобный элемент… Скорее помешает.
Да, я понимаю, эти вопросы хороши в плане безопасности, но пока хотелось бы увидеть решение задачи в более простой постановке.
2. Затем опять же наводящими вопросами узнает, что для вас значат 200к рейхс-долларов, и за вас построит дерево абстракций по этому поводу.
— мы можем просто синхронизировать ИИ с банковским счётом. Чтобы он знал, сколько там денег. 200к долларов — это такая циферка, находится в окошке таком-то. К циферкам применима концепция больше-меньше, и если будет 2 разных ИИ, один сделает до дедлайна 190к, а второй — 199к, то в прод пойдёт второй. Деньги — это просто штука, которую удобно измерять, по которой можно легко определить, хорош ИИ или плох.
3. Затем соберёт общее дерево абстракций и редуцирует его, насколько это возможно
— это… Звучит несколько размыто, особенно с учётом того, что конечная цель уже сформулирована, и выражена не в терминах абстракций, а в терминах чего-то, что можно хоть каждую секунду измерять.
4. Полученное дерево абстракций именно для вас будет оптимальным/оптимизированным, однако же это дерево абстракций, без каких либо реализаций абстракций.
— оптимальный — это значит «наилучший среди всех других возможных». Чтобы что-то было наилучшим, нужен способ измерять это качество. Заряжаем дерево в некоторую оценочную функцию — получаем циферку. Другое дерево — другая циферка. Оптимальное дерево — значит ни у одного другого дерева циферка больше не получится. Какая у вас оценочная функция? Что у вас за оптимальность?
5. На этом по идее сей «решатель» должен остановиться, и выдать вам полученные результаты.
— в какой форме? Как человекочитаемый план? Как сигналы на мышцы? Что за формат? Я вижу, там в примере вы в человеческом формате описали, но всё же уточняю.
7. В итоге вы получите ответ на свой вопрос.
— ну… В данной задаче я хотел бы в качестве ответа видеть конкретную циферку в конкретной таблице =) Эта циферка даже известна заранее) ИИ, который умеет выдавать человекопонятный план — это… Круто, но хотелось бы вначале научиться решать задачу в более простой постановке.

Ок, могу более простую постановку задачи описать. Задача: научиться попадать из пушки в цель. Цель стоит на земле и не движется. Попаданием считается ситуация, когда снаряд оказался на расстоянии 2 метра и менее от цели. У ИИ много попыток, много целей (пропадает прошлая, появляется новая), ИИ знает координаты пушки и цели, а так же перерезаряжена пушка или нет, и на выходе задаёт углы стрельбы — азимут и уровень подъёма. Частота восприятия — 100 fps. Задача не обязана быть решаемой, но обычно решаемая. После серии попыток ИИ должен уметь стрелять так, чтобы цель была поражена с максимальной вероятностью, то есть он должен стрелять не хуже, чем рукописный баллистический алгоритм.

У меня один вопрос, и для вас он покажется абсолютно тупым, но всё же. :))))
Вы объясните хотя бы как-то, а нахрена вам вообще какую-то сраную почту вот непременно надо взять и сломать? :) Это зачем вообще?
— я примерно описываю, как выглядит исполнение цели. Задаём в систему цель. Не словами, а каким-то измеримым способом. А система, как самонаводящаяся ракета, эту цель поражает. А какая у «ракеты» будет траектория — заранее сказать не выйдет, потому что способ достижения цели зависит от реальности, и в каждом конкретном случае может быть разным. Обычно, когда ИИ достигает цели (по моему опыту) это выглядит так: «Ура, мы получили, что хотели! А как он это сделал? Он выполнил цепочку из 100500 мелких действий, которые по отдельности выглядят совершенно нелепо, а анализировать их как цельный план… Непросто из-за масштабов.»

Наследование в биологических системах обработки информации принципиально невозможно, это понятие compile-time, в run-time может использоваться исключительно композиция конкретных значений.

Sign up to leave a comment.

Articles