Как стать автором
Обновить

Комментарии 122

Вы смешали ИИ с нейросетями, которые ИИ никогда не были.
В большинстве случаев, где я упоминаю нейросети, подходят любые другие алгоритмы машинного обучения. Наверное, исключение — только GAN.

Я в самом начале написал, что конкретно подразумеваю в данной статье под ИИ, и сейчас «машины результатов» в 99% случаев включают в себя нейросеть
Я немного не уловил…
Каким образом в вашей концепции выделяются и применяются паттерны (поведения)?
Если вы о том, как в типичном reinforcement learning выделяются и применяются паттерны поведения, то делается это так.
Допустим, есть последовательность состояний мира (S), действий (A) и наград ®
s a r
1 0 0
2 0 0
2 1 0
2 3 1
1 0 0
1 2 1
Мы во-первых, вводим фунцию дисконтированной суммарной награды. Сколько, условно, награды было в следующие несколько ходов после текущего кадра. Пусть мы так смотрим на 3 шага вперёд.
s a q
1 0 0
2 0 1
2 1 1
2 3 2
1 0 1
1 2 1
Затем аппроксимируем по этой таблице функцию, где на входе текущие s,a, а на выходе q. Обычно аппроксимацию строим нейросетью.
И это вся основная логика — для каждой пары «состояние мира — действие» мы знаем, сколько получим профита, и просто делаем тот ход, который приведёт к бОльшему профиту. Состояние мира — имеется в виду «абсолютно все переменные мира», то есть это нереалистичное требование, и обычно имеет смысл брать просто несколько последних входных кадров.
Паттернов поведения нет, есть отдельные действия. Ну и я не видел какого-то хорошего способа эти паттерны ввёсти. Всё, что видел — это иерархический RL, где на нижнем уровне другие RL, но они все сделаны вручную, то есть система не может масштабироваться произвольным образом
Всё, что видел — это иерархический RL, где на нижнем уровне другие RL, но они все сделаны вручную, то есть система не может масштабироваться произвольным образом

А просто записать последовательность тензоров дискретных состояний пробовали?
Дискретных, а не непрерывных наград итп.
Потом их ситуативно воспроизводить. Для определения релевантности паттерна ситуации использовать НС.
Я не вполне понимаю вашу идею) Можно не в 2 строчки, а развёрнуто?

Если вы о том, что надо s как-то группировать/кластеризовать, то кроме RL никто не знает, по каким границам надо делить пространство состояний. Иногда какая-то мелкая деталь отделяет перспективное состояние от смертельно опасного, и RL это поймёт, а кластеризация — нет. Я пробовал так делать, «в лоб» получилось плохо.

Награды зачем делать дискретными?

Кого воспроизводить? Мы воспроизводить можем actions. Запомнить группы последовательно идущих actions и считать такую группу за один action? Пока эта группа длиной 2-5 action, это может работать, но глубокую иерархию так не сделать, там нужна иерархия стратегий, а не циклограмм.
Если мы не хотим, чтобы RL вёл себя как оса из эксперимента — она сделала нижнюю часть гнезда, отошла, экспериментаторы прорезали в гнезде огромную дыру снизу. Оса отложила яйца в эту очевидную бездну, положила туда закусона и замуровала. У неё просто была запрограммированная цепочка actions, без обратной связи.
Развернуто придется книгу писать.
Подумайте вот над чем: мозг — это не нейронная сеть, мозг это «магнитофонная пленка».
Но есть нюансы :)
Например, когда кусочки сигнала повторяются, появляются ветвления алгоритма (если-то). Имея статистику таких цепочек и переходов получаем вероятности наступления события в рамках опыта индивида.
Длина цепочки отображает опытность индивида и контекст.
В гуманитарных терминах это всё классно звучит, но из них совершенно не вытекает, как нужно кодить) Может, то, что вы предлагаете, уже закодили, и оно не выстрелило. А может, это правда хорошая неопробованная идея. А может, идея хорошая, но только если у нас есть дискретные состояния, и их мало, а если видеокамера на входе, то уже не работает.
Без детализации понять затруднительно.

Вот пример статьи, где показаны основные принципы современного ИИ — так, чтобы примерно понятно было, какие структуры данных и что может пойти не так:
habr.com/ru/post/468379
Или вот, более сложный вариант:
habr.com/ru/post/437020
Каждый конкретный алгоритм описывается подробно, но не как книга
Статьи, что вы сбросили и другие современные практики это эффекты работы интеллекта, а не его спецификации. Нейросети например это численное решение системы диф. уравнений. У них как минимум нет тормозящих аксонов. Не говоря о других механизмах.
Суть в чем — органы чувств кодируют информацию в последовательности, а мозг уже эти последовательности обрабатывает. Из предложенного вами Q-Learning ближе всего к этому. Но, как я уже сказал, «есть нюансы».
Ну хорошо, органы чувств кодируют в последовательности, а нейросети — это не модель нервной системы, а аппроксиматор. А ИИ — это не имитация человека, а решатель задач

Я правильно понимаю, что у вас есть какие-то конкретные идеи по тому, как лучше делать ИИ или ставить ему задачи? Алгоритм примерный.
Я понимаю, что это масштабно. Но иначе выходит неинформативно. У меня есть один бэкграунд, у вас другой. Вы называете кусочки идей, я их примеряю на свой бэкграунд, они туда не ложатся, либо ложатся очевидно криво.
Рассказы о том, как устроен мозг — это тоже очень недостаточно. Если в мозгу есть какое-то явление, это совершенно не значит, что его надо переносить в ИИ — у нас другие технические ограничения. Может, стоит, если явление кажется нам полезным и хорошо сочетается с нашими архитектурами.

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

Хотя бы для начала. Какую задачу вы решаете своей моделью интеллекта? Такую, как у Reinforcement Learning? Какой пример окружения? Работает ли ваша система с предобработанными данными малой размерности (вектора размера 5-10), или с чем-то типа видеоряда? А может, у ваш на входе шина, и для вас вообще любые кадры — это последовательности чисел, как у AIXI, без предзаданной структуры?
Если вы говорите о дискретизации, то что конкретно дискретизируете, как именно, и почему именно такой способ дискретизации может хорошо сработать? Ну и для чего дискретизируете — может, для каких-то необычных целей
Я правильно понимаю, что у вас есть какие-то конкретные идеи по тому, как лучше делать ИИ или ставить ему задачи?
Для начала разобраться как работает естественный И.
Если в мозгу есть какое-то явление, это совершенно не значит, что его надо переносить в ИИ — у нас другие технические ограничения.
Вы похоже считаете, что мы в состоянии создать что-то эффективнее мозга. Увы это не так. Не в обозримом будущем.
Поэтому если у вас есть какой-то конструктив
Есть. И я его описал в контексте ваших коментариев-вопросов.
Не пытайтесь перекладывать на «свой бекграунд». Я то же немного DS, поэтому понимаю о чем вы пишете и говорите. И вопросы задаете в терминах DS. Попробуйте то, что я написал еще в первом комментарии нарисовать и посмотреть на это в различных ракурсах.
Еще добавлю — мозг это параллельный вычислитель. Цифровой. Он не аппроксимирует сигнал, а записывает пачки импульсов. Но есть нюансы :)
Я полагаю, сделать самолёт проще, чем копировать птицу. Да, на птицу смотреть полезно, но надо довольно чётко понимать, что конкретно мы собираемся у неё стянуть.
Если продолжать аналогию, то грубая теория полётов (не птиц, а полётов) у нас уже есть — это data science, матстат и смежные направления.
Если продолжать аналогию, то у нас уже есть штуки, которые летают лучше птиц — но в ограниченных условиях. Я говорю про, например, XGBoost, который многие задачи supervised learning решает лучше человека.

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

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

Если ваша теория — это теория Редозубова — скажите так сразу, я знаю, где она лежит)
Иногда копировать мозг (не обязательно человеческий) полезно.
Мы только этим и занимаемся. Вопрос лишь в том, кто сделает это точнее.
Например, зрение скопировали отлично — оно, правда, уже не сильно похоже на природный аналог
Если использовать сверточные сети с уже нормализованными картинками в связке с полносвязной для отнесения образа к некому классу — да. Если оставить только ядра + их формирование, то это уже другой коленкор.
Можете целостно изложить свою теорию? Ну или ссылку дать на статью, если у вас мало времени и влом.
В ваших терминах — «влом». Да и не вижу большого смысла. Статей не пишу. Задавайте вопросы.
Если ваша теория — это теория Редозубова — скажите так сразу, я знаю, где она лежит)
Его мы тоже читали. А ваша теория это ТАУ.
Все гораздо проще, поэтому и столько разных теорий и работающих механизмов.
AI is pattern recognition at scale
Его мы тоже читали. А ваша теория это ТАУ.
— ТАУ+вычматы

Мы только этим и занимаемся. Вопрос лишь в том, кто сделает это точнее.
— ваша исследовательская группа или все разработчики ИИ? Насчёт всех я бы усомнился, в RL и ML есть довольно много такого, что не содрано напрямую с мозга. Хотя, может, и имеет аналоги в мозге.

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

Вы хотя бы переварите то, что я уже написал. Пусть и кратко, но в всю суть я уже передал. Вы просите статью или алгоритм — так я уже его вам дал.
Мозг инженера любит все усложнять. Знаю. Сам такой :)
А можно я тоже поиграю в эту угадайку?

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

— Вы исследовательская группа или независимый исследователь?

PS Не сочтите за грубость, но здесь не редкие гости миссии, несущие откровение людям, и говорящие исключительно загадками. А как дело доходит до объяснений быстро сливаются.
Вы исследовательская группа или независимый исследователь?

Я не очень понимаю, зачем вам знать это. Что это вам даст? Мы тут говорим об ИИ или обо мне?
Вы хотите мне что то предложить? Предлагайте.
Вы хотите узнать мою мотивацию? Очень просто. Я пытаюсь уберечь новоявленных исследователей ИИ от ненужных ошибок, потому что сам их совершил много.
Вы хотите узнать есть ли у меня алгоритм ИИ? Даже если и есть — я вам его не дам.
Я не миссия. Стопроцентно. И вместо ковыряния в моей, личности займитесь лучше своей. Это гораздо продуктивнее.
Я не очень понимаю, зачем вам знать это. Что это вам даст?
Член исследовательской группы подписал NDA, и мучить его вопросами бесполезно. Он ничего толком не расскажет. С независимым разработчиком, как показывает опыт, есть смысл поговорить. Даже, когда он преследует коммерческие цели, он менее стеснён, и в основном желает, чтобы его идея ушла в мир, а не осталась похоронена вместе с автором. Так что вы, как личность, мне совершенно неинтересны, интересны только новые идеи. Но учитывая «Даже если и есть — я вам его не дам», говорить не о чем.
Нейросети вполне могут быть частью классического rule-based AI, давая часть данных в систему либо корректируя промежуточные.
Я не видел схем rule-based AI, которые бы работали с сырыми данными с сенсоров.
Видел лишь Reinforcement learning и Model Based, и вариации на тему них. Там тоже не чистый machine learning, но назвать их rule-based язык не поворачивается.
У вас есть какие-то конкретные схемы rule-based AI, которые могли бы работать в реальном мире, то есть принимая на вход не логические суждения, а, например, видеоряд с камеры?
А что, по-вашему мнению, является ИИ? Где-то читал что вроде как есть 3 направления развития ИИ: нейросети, экспертные системы и Лисп. Прошу поправить, если моё мнение ложно.
Нейросети являются базовым элементом ИИ, но сами ИИ не являются. Это как назвать транзистор компьютером. Вроде бы компьютер действительно в основном состоит из транзисторов. Но ведь это не одно и тоже?

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

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

Ваша постановка задачи тоже может иметь смысл, но это не очень похоже на то, о чём пишу я

Откуда это убеждение?
— не видел конкретной схемы
Нужен, условно, джинн-исполнитель желаний, а не существо с собственной волей.
[troll mode=«on»]раб мечтает не о свободе, а о своих рабах[troll mode=«off»]
Прям даже интересно стало: на каком основании «биткоин — полноценный цифровой организм со своими собственными незапрограммированными мотивациями поведения»? ;)

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

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

отличная идея насчет языка! дальше пошло немного фантастично.


что касается языка, сам думал, можно ли (задача проще), чтобы вместе с обучением сетки генерилась бы программа, которая бы объясняла предикт. (на R например). думаю тут halting problem, да и без него — лучшем объяснением предикта является сама сеть.


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

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

rl-сети никак кроме как симуляциями не интерпретируются
— вы имеете в виду, что RL нельзя в продакшн? У меня был проект, где RL цены проставлял на такси. Это работало, он придумывал хитрые планы. Но там легко было построить функцию награды

дальше пошло немного фантастично.
— стараюсь те фантастические штуки, что описывают люди вроде Ника Бострома или Элиезера Юдковского, связать с теми технологиями, что есть у нас. Пока связь ну так себе

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

Ну… Было бы здорово так сделать, но пока неочевиден план

я в своих попытках скатился в kerneldensity. в план я сам не смог пока что)

а, кстати, вы с этой статьёй незнакомы? весьма интересные выводы, в частности diversity hypothesis


https://distill.pub/2020/understanding-rl-vision/

Надо почитать, спасибо!
Задача весьма актуальная. Есть только предложение — добавить такую «сущность» как набор допустимых ресурсов. Иначе мы получим ИИ, которая будет «накачивать» клиента спиртным или другими средствами для получения от клиента «награды»…
добавить такую «сущность» как набор допустимых ресурсов
— ну тут стандартный вопрос. А почему не сделать эту сущность частью функции награды? В функцию награды внести какие-то формулы, которые сделают, что накачанный спиртом клиент — это плохо.
Вообще, если RL получает награды от человека, а не от какой-нибудь нейросети, то этого человека надо очень защищать от RL — и на уровне функции наград, и чисто физически. И его родственников тоже, а то вдруг заложников возьмёт. Но тут всё зависит от умственных способностей RL, идеальной защиты не существует, надо её соизмерять с угрозой
Почему не сделать ограничение функцией награды? Исключительно из требования простоты модели и ее сущностей. Любое усложнение сущностей системы чревато потерей управляемости этой сущностью и может привести к необходимости своего «демона» для этой сущности. В системе, в которой отсутствует способ ограничения, очень велика вероятность «перепроизводства» (если можно привести некоторую аналогию из мира бизнеса). Поскольку сложно определить пределы «награды», то нужно введение в систему иного компонента, который будет «естественным» образом ограничивать систему.
По сути, это не совсем функция награды, сколько функция процесса… Это сродни построению функции — многочлена. Один член — отвечает за экспоненциальный рост, другой — за нарастание сопротивления, а значит и за замедление роста…
В любом случае, тема интересна не только с позиции программирования, но и с позиции философии…
Вы можете привести конкретную функциональную модель?
Вот здесь приведены самые базовые алгоритмы RL: habr.com/ru/post/468379
Можете описать с такой степенью детализации?
Я это прошу потому, что очень часто здорово звучащие идеи оказываются совершенно нерабочими, если взглянуть глубже. Либо описание оставляет слишком большой простор для понимания, то есть неконкретно
>>> Проблема решается сжатием картинки в маленький информативный вектор.

Мне очень нравится идея эмбендинга, как некоего многомерного «пространства смыслов», в котором для логических преобразований применимы правила векторной алгебры (знаменитый King – Man + Woman = Queen, или возможность в системах распознавания лиц таким же образом получить модиикацию внешности вроде очков), но… Что бы это работало нужны особые подходы к формированию эмбендинга (triplet-loss для лиц, или w2v для текста). Ни обученная на конечном датасете CCN, ни автоэнкодер в моем понимании так не работают…
Если ты прав, то я очень крупно лажаю сейчас с проектом по RL) Потому что я исхожу из того, что любой автоэнкодер даёт как минимум сносный эмбеддинг, но только для данных, которые очень похожи на датасет. В любом случае, мне надо почитать побольше про triplet-loss.
Не, погоди… Я же не написал, чтонить в духе: «автоэнкодер не работает»! Прекрасно работает! Как и CNN. Просто работает исходя из задачи… Если он на вход получает то же, что и на выход, то он максимально эффективно учится сжимать данные, что есть полезно и правильно (т.е. скорее всего учится как-то выделять области одного цвета/текстуры/градиента, либо усреднять). Если ты заставишь его предсказывать вперед на несколько кадров — тот там уже так или иначе появится абстракция движения/смещения. Это хорошие и полезные вещи. Но вот это вот: «Нейросеть изначально не понимает, что вот эта кучка пикселей — это снаряд, который в нас летит, и от которого надо увернуться, а вон та другая кучка — это число, которое показывает очки здоровья, и которое хорошо предсказывает, сколько нам осталось жить», я что-то не уверен… Впрочем — ты дальше продвинулся, а я в этом смысле теоретик.
Я полагаю, эмбеддинги автоэнкодера несколько ущербны. По-хорошему в них надо пихать и сигнал награды, и действия… И всё равно они будут сжимать неидеально — на картинках видно, что границы практически не выделяются, они очень размытые. Мелкие объекты не выделяются, неконтрастные не выделяются.
Ну и даже если в эмбеддинг пихать вообще всё, я не уверен, что этого хватит. Пока что моя наилучшая идея — сделать один универсальный автоэнкодер для видео (обученный на огромном датасете) и один специализированный под задачу, обученный на выходах первого автоэнкодера и на сигнале награды, взятом с большим коэффициентом.
Я надеюсь, это будет работать ну хоть как-то… Ну и оно вроде бы скорее работает, чем нет
Пока что моя наилучшая идея — сделать один универсальный автоэнкодер для видео (обученный на огромном датасете) и один специализированный под задачу, обученный на выходах первого автоэнкодера и на сигнале награды, взятом с большим коэффициентом.
В последнее время повторяющийся сценарий в разных вариациях. Предобучение на огромной выборке, затем быстрое дообучение для конкретного применения. В сетях-трансформерах генераторах и переводчиках текста тот же сценарий. Условно, предобучение создает статистическую модель области обучения, затем она используется для быстрой настройки предсказаний для конкретных объектов, действий. Так и эволюция шла по такому пути, индивиды после рождения настраиваются, и далее дообучиваются на уже готовой модели реальности, кот. эволюция создала путем отбора и заложила в генах.

Вспомнил наши обсуждения моделей реальности в предыдущих публикациях, и вспомнил, что в одной из недавних публикаций делал комент на эту тему. Попробовал проиллюстрировать ее на примере классификации в ИНС, как ее вижу с точки зрения когнитивных механизмов. Возможно читали эту публикацию и коменты, но все же решил дать ссылку.
Да, то, что вы описали, примерно совпадает с моим видением ситуации. Соответственно, какие детали я вижу тут «сложными»:
1) Модель мира, которая у животных есть на старте, учитывает не только видеоряд, но и тактильные ощущения и работу мышц. То есть взять готовый датасет вряд ли выйдет, его надо генерить. И датасет, подходящий для одного робота, можен не подходить для другого, та как набор «мышц» разный.
2) Та обвязка для иерархии нейросетей. Затрудняюсь себе представить, как её реализовать — например, для задачи управления, или для задачи прогноза видео. Примерно представляю себе, как это всё сделать в большой монолитной сети, но там нет гарантий, что всё получится.
Комент классный, из-за того, что не очень понравилась исходная статья я ваш с VDG диалог в комментариях пропустил, что конечно фейл! ) Хорошо хоть сейчас прочитал…

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

Nehc
Не ясно, как получить динамическую, а не предобученную систему такого рода.
Речь не только о классификации, но и программах активности. Пока не встречал такого в ИНС. Речь об эндогенной активности сетей, только такие сети реализующие модель мира будут содержать программы поведения, движений, и тд. В той же теме автор дает ссылку на лекции Воронцова на эту тему, мне понравилась, особенно концовка. Но как это реализовать в нейросетях? Это рекурентные сети по архитектуре? Даже поиск ничего не выдает на эту тему. У животных модель мира принципиально активная, она не только определяет поведенческие акты с учетом собственного влияния на них, но и делает это с опережением.
У животных модель мира принципиально активная, она не только определяет поведенческие акты с учетом собственного влияния на них, но и делает это с опережением.
— а чем это принципиально отличается от RL или Model Based? И та, и другая делают то, что приведёт к оптимальному результату, исходя из статистики.
Если у ИИ задача — поймать, скажем, мышь. ИИ просчитывает варианты, куда мышь может пойти — явно (в Model-Based) и идёт сразу туда. Или, в случае Model-Free по нескольким случаям охоты на мышь понимает, куда пойти лучше всего, чтобы мышь не ушла, при этом может, нейросеть и не просчитывает явно поведение мыши, просто по опыту знает, что есть «хорошие» и «плохие» позиции. В каком-то смысле здесь есть «игра на опережение». Вы об этом? Или о другом опережении?

Чтобы нейросеть могла так делать, важна не столько её архитектура, сколько обвязка. Нейросеть — это тупо аппроксиматор в данном случае. Как линейная регрессия, только поумнее. Почти любой аппроксиматор подойдёт, но некоторые обучатся за более разумное число данных.
Если я правильно понял, проблема скорее не в том, что бы «поймать мышь», а в построении модели в которой «мышь» и «поймать» сетью как-то определяются в процессе работы… )
Да именно так, обучение всегда на конечном конкретном материале, в кот. вариантов обучения «поймать мышь» конечно. На этом конечном материале должна возникнуть активная модель поведения мыши. Она должна помочь в поимке в совершенно не знакомых ситуациях, кот. не было в обучающей выборке. Что это значит? Что-то вроде мышь четырехногая, бегает с определенно скорость, прячется в норках, прыгает, периодически останавливается что-бы осмотреться, и тд, и тп. Все это извлекается из обучающей выборки для дообучения под мышь, плюс той самой огромной предобучающей из которой формируется общие представления о животных и их поведении. Теперь модель мыши просто «действует» в той конкретной новой обстановке, кот. кошка наблюдает, бежит, скрывается за препятствиями, и кошка, не просто несется на пропалую, а на основании такого моделирования может избрать более оптимальную стратегию. Кошки, особенно большие, кстати, на охоте так и действуют. Кажется, что эта активная модель мыши должна как-то основываться на активности нейронов напоминающей эндогенную. Может только кажется… и все действительно можно получить мощным RL-ем.
Нашел публикации близкие к обсуждаемой теме.

Artificial Intelligence and the Common Sense of Animals
Как раз обозревают достижения и обсуждают получение модельных представлений на уровне common sense, в основном физических свойств, с помощью RL-агентов. Пока далеко от того как у человека, но надеются на лучшее)

Fast Recurrent Processing via Ventrolateral Prefrontal Cortex Is Needed by the Primate Ventral Stream for Robust Core Visual Object Recognition
Свежак! Ди Карло очень известный специалист в нейрофизиологии и разработке архитектур ИНС. Основной вывод. Без рекурентных сетей надежного распознавания объектов добиться будет трудно. Глубокие сверточные сети малоэффективны, они в основном моделируют вентральный тракт. Но в височной области IT, где объекты окончательно распознаются, если инактивировать промежуточную структуру vlPFC, где происходит рекурентная обработка, это работает уже не столь эффективно. По сему вывод, прямые архитектуры ограничены в своих возможностях, без рекурентных не обойтись.
Формировать признаки различных визуальных объектов можно простым скольжением окна по картинке и ведя статистику. Для этого не нужна нейросеть.
Далее отобрать уникальные образцы для каждого образа и (или) общие. Можно как всегда использовать нормальное распределение.
Далее можно делать иерархию признаков по тому же принципу.
Потом эмбедить по id образцов.
Можете описать это подробно? Вот есть у нас цепочка кадров — каждый имеет размерность 224х224х3.
«Формировать признаки различных визуальных объектов можно простым скольжением окна по картинке и ведя статистику.» как будет происходить это? Примерный алгоритм.
Что такое «уникальный образец», если у нас ни кадры, ни эмбеддинги практически никогда не повторяются?
Как в вашем понимании делать иерархию признаков? Какой алгоритм?
Немного странные вопросы от DS, который упоминает о картинках и о сверточных сетях.
эмбеддинги практически никогда не повторяются
Вы серьезно? 224х224х3=сколько вариантов? А если окно 3х3(х3)?
Как в вашем понимании делать иерархию признаков?
Такой же как и сейчас. Слои (±). Гляньте на нашу нервную систему. Там кругом деревья. Иерархия.
«Формировать признаки различных визуальных объектов можно простым скольжением окна по картинке и ведя статистику.» как будет происходить это?
Ровно так же как и работает сверточный слой. Только там перестраиваются веса (идет подбор). А тут мы работаем с тем что есть. Записываем в память окно-вектор. Как вычислить уникальность вектора програмно? Это вам на первый курс университета надо.

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


Но вы не готовы объяснять развёрнуто и с начала, так что не вижу смысла в таком обсуждении

Вопрос ведь не в идеях, а в деталях реализации.
Все детали известны давно и описаны в советских учебниках 60 — 70х годов. Хотя вы правы — не хватает одной детали. Достаточной вычислительной мощности и понимания «А зачем нам нужен ИИ?».
Но вы не готовы объяснять развёрнуто и с начала, так что не вижу смысла в таком обсуждении
В принципе, я все уже сказал. Читать лекции по основам программирования у меня нет времени… да и желания. Удачи в ваших начинаниях :)
ШОК! Учёные обнаружили алгоритм ИИ, сильнее традиционных в 65 раз. Им оказался старый советский…
квантовый компьютер, привезенный Лениным из ссылки на Марс.
Я задумывал эту статью как способ спровоцировать диалог. Наверняка я где-то неправ и есть более хитрые решения, чем те, до которых мне удалось додуматься.
OMG! Очередной провокатор диалога. Почему об общем ИИ на хабре пишут одни провокатры? По существу же, вы не понимаете самого главного. Пока не будет создана программа способная обучаться человеческой культуре никакого общего ИИ не будет. Оцените ваши построения в статье с уровня вот такой задачи и вы сами поймете их примитивность. Общий ИИ это в первую очередь машина вопроизводящая и понимающая текущую человеческую культуру. Но с небольшим хаком — она выполняет задания сформулированные обычным языком.
И канал вознаграждения — это основной способ сообщить ИИ, чего мы от него хотим.
Вы путаете общий ИИ с кормлением рыбок по звонку.
Kilorad
отвечаю дописывая свое сообщение из-за ограничений наложенный на меня на хабре
Интеллект не обученный человеческой культуре не в состоянии принять требуемых знаний. Потому, что знания записаны (либо как либо будут выражены при обучении) на элементе человеческой культуры — языке и отрываются от общекультурных моделей которым человек обучился в детстве разными путями. Других знаний у нас нет. Интеллект не обученный человеческой культуре не в состоянии понять необходимых пирамид контекстов возникаемых в решении каждой задачи.
Не в смысле «что-то типа человека», а в смысле «что-то типа зенитной ракеты, но с более широким спектром целей»
Зенитная ракета при всей своей сложности является предельно примитивным тупым автоматом. А вы то хотите что-то свосем другое.
Собаку можно надрессировать без того, чтобы она глубоко разбиралась в человеческой культуре…
:) Да. Но дрессированная собака не решит ни одной поставленной задачи.
Я сформулировал вполне конкретную задачу. Общий ИИ — в смысле, решающий любые поставленные задачи. Не в смысле «что-то типа человека», а в смысле «что-то типа зенитной ракеты, но с более широким спектром целей»
Если можно добавить язык, и это просто — хорошо, надо добавлять. Сейчас пока вроде нельзя. Человеческую культуру, как вы верно отметили, добавить нельзя. Но я не вижу, почему из этого следует, что нельзя обойтись без неё. Собаку можно надрессировать без того, чтобы она глубоко разбиралась в человеческой культуре…
>>> Пока не будет создана программа способная обучаться человеческой культуре никакого общего ИИ не будет.

Что вы имеете ввиду конкретно под «обучаться человеческой культуре», и чем этот процесс отличается от любого другого обучения? Вот эти аргументы «Машина никогда не будет способна к творчеству», «опасно создавать систему, для которой общечеловеческие ценности не имеют смысла», «разве железяка может мечтать?» уже набили оскомину! Обычно так говорят люди, которые не имеют представления ни о машинном обучении, ни о собственно «культуре», «творчестве», «ценностях» и «мечтах»! Если вы сами способны сформулировать эти концепции, то с большой долей вероятности сможете их и реализовать… Ну или по крайней мере четко обозначить проблемы на пути реализации и биться уже над ними, а не переживать так сказать ВООБЩЕ. ;)

Разложите по полочкам, что вы имеете ввиду под «человеческой культурой» и обозначьте суть проблемы: почему собственно машина не может этому обучится. Вот это уже будет диалог!
Вот эти аргументы «Машина никогда не будет способна к творчеству», «опасно создавать систему, для которой общечеловеческие ценности не имеют смысла», «разве железяка может мечтать?» уже набили оскомину!
Мне совсем не интересно общаться с человеком приписавшим мне выдуманное им самим утверждение. А потом с истерикой (да еще и с аргументами типа истерики) пытающийся опровергнуть это утверждение. Это классика дешевого троллинга.
Если вы сами способны сформулировать эти концепции, то с большой долей вероятности сможете их и реализовать… Ну или по крайней мере четко обозначить проблемы на пути реализации и биться уже над ними, а не переживать так сказать ВООБЩЕ. ;)
Типа, «ну тогда расскажи как завоевать мир»?
Разложите по полочкам, что вы имеете ввиду под «человеческой культурой» и обозначьте суть проблемы: почему собственно машина не может этому обучится.
Я не верю, что вы не понимаете что такое человеческая культура и чем она отличается от гигабайтов строчек тупых цифирек разделенных запятыми.
Вот это уже будет диалог!
Могу только повторить: Мне совсем не интересно общаться с человеком приписавшим мне выдуманное им самим утверждение. А потом с истерикой (да еще и с аргументами типа истерики) пытающийся опровергнуть это утверждение. Это классика дешевого троллинга.
>>>Мне совсем не интересно общаться

Это заметно! )))))))

>>> Я не верю, что вы не понимаете что такое человеческая культура

Я-то понимаю, а вы, как мне кажется, не очень!

>>> Это классика дешевого троллинга.

Плашку зарабатываете? ;) НО зачем же так толсто-то… Это прям неспортивно.
Зенитная ракета при всей своей сложности является предельно примитивным тупым автоматом. А вы то хотите что-то свосем другое.
— концептуально очень похоже. Есть желаемое состояние мира, есть реальное. Механизм переводит реальное состояние максимально близко к желаемому. Только в ракете люди руками задали правила, как из одного состояния переходить в другое — а RL учится таким вещам сам, из экспериментов и наблюдений.
Ок, другой аналог — генетический алгоритм. У него есть фитнесс-функция, он её оптимизирует. ГА достаточно тривиально получают сверхчеловеческие результаты. Во всяком случае они за пару часов реальной работы получают результаты ощутимо лучше, чем у человека за то же самое время.

Я к тому, что такие штуки, как «тест Тьюринга», «ИИ не умеет творить», «ИИ не имеет души», «ИИ не понимает на самом деле», «ИИ не может выйти за границы» — они не релевантны. Не стоит воспринимать ИИ как что-то типа человека — это оптимизатор это достигатель правильно поставленных целей.

Насчёт «пирамид смыслов» — ну да, примерно эту проблему я и описывал и предлагал свои решения. Многие наши термины ИИ не понимает, и их придётся вбивать в него через обычное машинное обучение — как, например, в нейросеть можно научить отличать кошек от собак. Я пока не вижу изящного иного варианта — может, вам он известен? И вообще, можете несколько формализовать ваше понимание проблемы? Может, мы говорим о разных вещах

Диалог и постановка задачи это не самое главное.


Допустим, мы создали ИИ, как доказать, что это действительно ИИ?
Если оно говорит: "Я мыслю, следовательно, существую", это ничего не доказывает.
Тест Тьюринга с современными мощностями уже не аргумент.
Решает IQ тесты? Примитивная экспертная система или дерево решений их могут щелкать лучше человека.
Даже если решает большинство подаваемых задач, то не факт, что оно сможет развиться лучше обезьяны. Архитектурные ограничения в черном ящике никто не предскажет.

А если понимает юмор и/или генерирует его сам?

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

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

Я отвечал на вопрос
— Допустим, мы создали ИИ, как доказать, что это действительно ИИ? Тест Тьюринга с современными мощностями уже не аргумент.
Меня всегда забавляло вот это вот «как понять...» )

Почему у вас не возникает такой вопрос относительно автомобиля, вакцины или процессора?

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

Поверьте мне, как только кто-то будет иметь идею, план воплощения и конкретную реализацию ИИ — ни у него, ни у других вопросов ИИ это или нет не возникнет! Все заморочки с тестами Тьюринга и прочая возникли из-за размытости самого понятия мышления с одной стороны и необходимости объяснить неспециалистам почему конкретна вот эта вот программа вполне годно отвечающая на вопросы журналиста ИИ на самом деле не является!

Вопрос не только в размытости понятий, но и в пределе развития.


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


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


Поверьте мне, как только кто-то будет иметь идею, план воплощения и конкретную реализацию ИИ — ни у него, ни у других вопросов ИИ это или нет не возникнет!

У меня есть идея, план воплощения, несколько не очень конкретных реализаций. И у меня вопрос. Мышление != разум. Я наблюдаю процесс мышления, это в любой динамической системе можно обнаружить. Но я не могу формально доказать, что оно имеет разум.
Как его обучать? В ML/DL пока нет функции ОбучитьСильныйИИ(). Могу создать симуляцию, набор тестов, но я ограничен.
Если пущу его в реальный мир, буду обучать как животное/человека, а на это требуется уйма времени, тогда при ошибке в архитектуре придется все начинать заново, поэтому хотелось бы это автоматизировать.

>>> Есть некое устройство, которое решает определенные задачи, можно ли это назвать интеллектом?

Устройство в студию! ;) Взять тоже GPT-3: классное «устройство» очень много всего демонстрирует, что кажется фантастикой, но вопросов вида «интеллект это или нет?», по крайней мере сильно спорных не вызывает, потому, что понятно чем является, как работает, что может, что нет… Нет, пока не интеллект, хотя возможно значимая его часть — некая подсистема. Одна из.

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

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

>>>У меня есть идея, план воплощения, несколько не очень конкретных реализаций. И у меня вопрос.

Есть гипотетически? ) Или вот прям реально? Если прям реально, я бы не прочь подискутировать на этот счет! Можно в личку. Я пока не понимаю, что должна быть за система, которую вы САМИ построили, понимаете КАК именно она работает и не понимаете — разум/мышление это или нет…

>>>>Если пущу его в реальный мир, буду обучать как животное/человека, а на это требуется уйма времени

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

Как его обучать? В ML/DL пока нет функции ОбучитьСильныйИИ(). Могу создать симуляцию, набор тестов, но я ограничен.
— если цель — создать сильный ИИ (а не создать сильный ИИ, решающий именно нужные нам задачи), то полагаю, этой кучи симуляций достаточно. Делаем N симуляций, учим его до огромной эффективности, выпускаем в N+1-ю симуляцию. Если он в ней плох, то учим на N+1 симуляциях, тестируем на N+2-ой.
Как обычное обучение распознавания картинок.
Локально у меня это работало — если новая симуляция похожа на старые, то ИИ хорошо отрабатывает. Но у меня на 7-10 сильно разных симуляциях ИИ просто не мог обучиться. Слишком сложная стратегия выходила, мой тогдашний алгоритм не мог её найти.

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

Диалог — и правда не главное. Как и постановка задачи. Но сейчас есть большой прогресс ИИ, который достигатель целей, а именно постановка задачи отстаёт
сделай самолёт, который будет стоить 100$, летать на 1000 километров со скоростью 800 км/ч и перевозить 5 человек

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

А если взять задачу попроще: есть проект самолёта, нужно сделать его на $10 дешевле и увеличить скорость на 5%?
Решаемая задача? А между этими двумя где принципиальная граница?

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

>>> Вы очень плохо понимаете машинное обучение и обучение людей (педагогику).

Интересно — с чего такой вывод? :)

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

Именно! А в чем проблема? Прелесть искусственных систем, что их время, способность к концентрации и анализу не ограничено и при желании — масштабируемо (можно распараллелить на 100500 инстансов, можно наращивать мощности).

Проблема — как построить такую систему, которая будет всем этим заниматься более-менее сама и на сырых данных, а не на выверенном дата-сете… Ну, одна из проблем.
Просто есть линейная зависимость: чем сложнее деятельность, тем дольше учиться.
Если бы линейная, это была бы просто мечта: вкладываешь 10x ресурсов, получаешь 10x уровня IQ.
Но в ваших головах витают какие-то суперинтеллекты, которые чего-то там забесплатно попереворачивают числовые последовательности и опа, вот он, ответ всей жизни и смысла нашего существования! Так не бывает.

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

Учиться по учебникам — это здорово, но мне неочевидно, как научить ИИ языку, так что я бы больше рассчитывал на чисто эмпирическое познание
>>> которая не прошла соответствующее обучение.

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

>>>никакого суперинтеллекта не существует.

Вроде да. На текущий момент пока не существует. НУ так об том и речь… Почему не существует, и что нужно, чтоб существовал!
Сильный ИИ подобен человеку, который имея на входе задачу, не решаемую исходя из имеющихся у него данных, умеет восполнять пробелы в знаниях, т.е. самообучаться.

Тут есть одна проблема. Человек не обладает тем качеством, которое вы ему приписываете. Практика показывает, что самообучение лишь дополняет работу учителя. Пожалуйста, не пытайтесь опровергнуть мое утверждение, пока не поймете в каких примерах учитель реально отсутствует. Например, учебник — это обучение с учителем, так как в нем написано "рекомендовано министерством образования". Это означает, что в учебнике в основном эталоны (правильные ответы). Но даже в случае обучения с учителем есть проблемки. Немалые!


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

Например, учебник — это обучение с учителем, так как в нем написано «рекомендовано министерством образования».
А что мешает ИИ прочитать учебник?
Отсюда вывод: какой бы интеллект не был, он будет долго обучаться
Долго это сколько? 500 миллисекунд это долго? А 300? Где находится физическая основа этого «долго», чтобы получиться количественные оценки? У человека вот нейроны активируются долго, рабочая частота порядка сотен герц.

У вас хоп и готово! А где данные брать для обучения?

А где человек их берёт.
Мой вопрос в том, что такого принципиального может может делать человек, чего не может делать машина. В обратную сторону ответ есть: машина может масштабироваться (наращивать мощности) и не уставать.

Машина ждет, когда ей положат инфу на блюдечке.
Человек тоже. Но он готов ждать до 20 лет своей жизни и неспешно добивается своего. Но если взять средневекового человека, то все печально.
Принципиальная разница — 1. человек готов ждать, машина — нет. 2. Машина не имеет руки — природного шедевра, состоящего из рецепторов и эффекторов.

Машина ждет, когда ей положат инфу на блюдечке.

Я согласен давать на блюдечке, если инфа не пропадёт впустую, как это бывает с забывчивым человеком.
Принципиальная разница — 1. человек готов ждать, машина — нет. 2
Машина может ждать гораздо дольше человека ))
while (!kbhit());
2. Машина не имеет руки — природного шедевра, состоящего из рецепторов и эффекторов
Так и запишем: безрукие люди необучаемы.
Машина может ждать гораздо дольше человека ))

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


Так и запишем: безрукие люди необучаемы.

Ты знаешь особенности обучения детей с нарушениями опорно-двигательного аппарата? Думаю не особо, только ДЦП-детей видел наверняка. "Безрукие люди необучаемы" — фраза выдает некомпетентность в сфере педагогики.

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

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

Что получается? Проводить эксперименты? Изготовить первый телескоп? Первый микроскоп?

Вы хотите, чтобы ИИ был самодостаточный и смог построить свою цивилизацию. Я хочу, чтобы ИИ был просто инструментом, решая те задачи, которые решают 100500 рядовых конструкторов/программистов/бухгалтеров.
>>> И даже концептуальный подход «программирование 2.0» бессилен.

Это чо такое? ;)
Человек инфу получает от природы в процессе экспериментов. RL тоже.
Человек будет ждать, если у него нет сильного стимула. Если бы его за недостаток старания пытали электрошоком, а за успехи кололи бы героином, то нормально бы он обучался и проявлял бы огромную изобретательность. Обучался — в смысле на опыте, а не по книжкам.
Человек, правда, умрёт от такого. А вот ИИ — нет
На бумаге все красиво. В ваших предложениях много «бы».
Я правильно понимаю, что ваша позиция — это «я не могу придумать, как сделать X, следовательно, X невозможно»?
Вы видели когда-нибудь, как происходит обоснование невозможности чего-либо в машинном обучении? Например, доказательство того, что 1-слойный персептрон не умеет XOR.

У меня только одно допущение — что алгоритмы RL удастся довести до того уровня зрелости, на котором сейчас находится XGBoost. Если данных хватает и цель сформулирована верно, то результат почти гарантирован. Так что вопрос лишь в том, как формулировать цель
Ок, давайте поговорим о XOR. Это простой пример нелинейности, демонстрирующий то, что простая линейная аппроксимация спотыкается на нем. Но у нас в арсенале есть методы, которые аппроксимируют почти что угодно. Так ведь?
Но проблема не в силе интеллекта, которым мы располагаем. Проблема в том, чтобы обучиться, нужны тысячи примеров. Иногда миллионы.
Рука-шедевр, про которую я говорил ранее, это искусный инструмент, который позволил добывать информацию. Именно рука стала, на мой взгляд, определяющим фактором, который случайно вывел ветку гоминидов (или как их там?) вверх. А еще ученые выделяют фактор прямохождения — это позволило использовать руки не как опоры, а именно как инструмент познания.
А какие инструменты познания у электронных мозгов? Чтение интернет страниц?
Проблема в том, чтобы обучиться, нужны тысячи примеров. Иногда миллионы.
— как по-вашему, почему животные часто способны обучиться чему-либо без миллионов примеров? По одному-двум примерам. У меня есть модель этого процесса, и эту модель можно переносить в машинное обучение.

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

Давайте сведем задачу к сферической в вакууме! Возьмем наш потенциальный ИИ, как черный ящик имеющий вход и выход. Ну или если вам ближе математически абстракции — как функцию F(x)=y.

Обучение с учителем или supervised learning предполагает размеченный набор x и y, который скармливается нашей системе в ходе специального процесса обучения, в ходе которого внутреннее устройство нашего черного ящика (функции F) подгоняется таким образом, что бы собственно F(x)=y выполнялось.

unsupervised learning — когда у вас нет y. Если рассматривать этот процесс совсем строго, то даже автоэнкодеры и системы типа GPT таковыми НЕ ЯВЛЯЮТСЯ, т.к. в одном случае x=y, а в другом y = x(n+1). Для чистого обучения без учителя обычно речь идет о задачах кластеризации, поиска ассоциаций, поиска аномалий, снижения размерности и прочее — это важные задачи, но как бы… Это вообще иная плоскость.

И особняком стоит reinforcement learning, или обучение с подкреплением. Где y как бы нет, но есть некая функция оценки, которая может оценить полученные результаты и как следствие — провести коррекцию системы для максимизации награды (минимизации штрафа). С одной стороны — вроде похоже на supervised learning, но… Не совсем! Потому, что позволяет требовать от системы решения задач, которые вы сами не знаете, как решать! ) И это как раз открывает широкие горизонты в рамках беседы выше.

Именно поэтому в шахматы и Го компьютеры играют так, как не могут играть люди. Именно поэтому те задачи, которые вы обозначили как нерешаемые — могут быть решены! Мы не знаем, как их решать, но мы имеем оценку вида «решена/не решена» и можем на этом основании ставить reward агенту.
И это как раз открывает широкие горизонты в рамках беседы выше.

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


Потому, что у меня иногда ощущение, что вы сходите из какого-то то «бытового» понимания вопроса!

Абсолютно нет. Вы нарвались не на того.

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

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

Да, есть задачи, которые невозможно решить в этом мире. Но у нас нет способа узнать, что задача имено такая. То, что какой-нибудь интеллект не решил её — вообще не аргумент. Может, мы физику неправильно понимаем, может другой интеллект построит иную модель мира, более точную, и в ней будут какие-то лазейки. А может, и нет.
Если вы посчитали, что мой тезис в том, что любая задача решаема — наверное, я недостаточно чётко сформулировал свою идею.
Когда я писал про самолёт за 100 долларов, я вовсе не считал, что ИИ сделает именно так. Я полагал, что он будет двигаться в этом направлении и пройдёт дальше, чем человек.
Вы слишком уверены в себе. Обычная ракета не может сбить гиперзвуковую ракету, хоть убейся об стену. Существуют нерешаемые задачи, и нужно быть внимательным к этому факту.
С другой стороны, существуют же конструкторские бюро, которые изобретают всякие самолеты. Значит не все так плохо. Может быть это все в будущем будет выглядеть не так, как вы описываете и представляете, но как минимум системы поддержки принятия решения будут. Но ваши рассуждения на данном этапе развития бессмысленны. Нужно работать над датасетами обучения проектированию. В этом проблема, а не в каком-то сильном/слабом интеллекте. Об этом я говорю каждый раз и везде. Вместо сильного интеллекта мы нуждаемся в сильных данных.
Существуют нерешаемые задачи, и нужно быть внимательным к этому факту.
— существует, кто ж спорит. Только чтобы проверить, что задача строго нерешаемая, надо иметь идеальное понимание физики, на уровне исходного кода. Без этого возможны лишь догадки, хотя и хорошие догадки.

Вместо сильного интеллекта мы нуждаемся в сильных данных.
— ну, я ставлю задачу иначе. Что мешает-то? Законы физики не позволяют создать такой интеллект? Да вроде позволяют, люди-то есть, и машинное обучение есть. Математика не позволяет? Я вижу трудности, но не фундаментальное «невозможно». Если вы видите именно фундаментальное «невозможно», которое не сводится к тем проблемам, что я описал — я внимательно слушаю

Системы поддержки принятия решений — это нужная вещь, но я всё же о другом пишу…

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

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

Так вот, вы же в курсе такого понятия как обобщающая способность (generalization)? И вообще говоря, это случайная возможность по трем примерам давать тысячу ответов, которые друг с другом не совпадают
— а, так вы в этом видите проблему? В том, что ML не позволяет по малому числу точек построить сложную закономерность, а мозги животных это (кажется) могут?

Эта возможность дана нам свыше случайно.
— я не совсем понял, это такая ирония?

Я не очень понимаю, вы знаете или нет, что надо сделать, чтобы ML мог так же, с 2-3 предъявлений, запоминать стимул, и при этом не иметь проблем с чрезвычайно неправильным обобщением?
У меня есть модель этого явления, и сейчас всякие one-shot learning эту модель используют. Можно сделать, чтобы ML запоминал лица с 2-3 предъявлений. Лица, цифры, да что угодно. Никакой магии, всё соответствует no free lunch theorem.
Мне надо рассказывать? Или я неправильно понял, в чём вы видите корень проблемы?

Я говорю о том, что обобщающая способность (generalization) дана нам свыше. Это не связано с силой интеллекта, так как в самом произвольном случае обобщение — это математически некорректная операция. Фактически из трех примеров не следует тысячу других.
На практике же, при условии, что три обучающих примера очень близки к тестовым примерам, высока вероятность, что их можно обобщить.
Однако также велика вероятность, что их нельзя обобщать.
Не от силы нашего ума зависит. Зависит от природы данных.


Есть ли что обобщать в случае с проектированием самолета? Вы ж понимаете, что примерно должно быть выходом того гипотетического алгоритма?

Я говорю о том, что обобщающая способность (generalization) дана нам свыше. Это не связано с силой интеллекта, так как в самом произвольном случае обобщение — это математически некорректная операция.
— если у нас есть функция y=kx+b, зашумлённая, то её можно хорошо, качественно подобрать линейной регрессией, и ещё и прокроссвалидироваться. С 4-7 точек. Чтобы подобрать её решающими деревьями или нейросетями, надо намного больше точек. Это всё оттого, что линейная регрессия ищет в малом пространстве моделей, а нейросеть — в большом. Кроме того, можно сделать, чтобы даже в доступном пространстве у разных моделей были разные априорные вероятности. Регуляризация, например.
Кроме того, можно обучить некий сжиматель, который построит сжатое предстваление входных данных, и обучаться на сжатом представлении. Например, если мы хотим быстро различить на картинке символы, то можно обучить нейросеть распознавать цифры и буквы на огромном датасете, затем отрезать последний слой и обучаться на тех данных, что выдала эта нейросеть. В таком случае можно быстро обучиться даже символам, которых нейронка никогда не видела. На выходе нейросети можно использовать какую-нибудь вообще классическую модель — svn, логистическую регрессию, knn. Соответственно, никаких миллионов данных.
Да, конечно, нужны миллионы данных, чтобы обучить ту, первую нейросеть — но это миллионы данных с буквами и цифрами, а не с символами, которые вот только-только появились, и по которым весь датасет — это 50 фото.
Это один из подходов, как обойти эту проблему с большой потребностью в данных.

в самом произвольном случае обобщение — это математически некорректная операция
— а валидация — это корректная операция. С оговорками, конечно

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

Есть ли что обобщать в случае с проектированием самолета? Вы ж понимаете, что примерно должно быть выходом того гипотетического алгоритма?
— например, есть dreamer.
Во-первых, он сжимает кадры в вектора, которые описывают состояние реальности (я бы сжимал последовательности кадров).
Во-вторых, он учится по текущему вектору и действию предсказывать будущий вектор. На основе наблюдений.
И для сжимателя, и для предсказателя нужна бигдата, но нет необходимости под каждую задачу делать свой узкий сжиматель и предсказатель. Можно сделать один раз как минимум сжиматель.
Я не очень понимаю, что вы хотели узнать вопросом «есть ли что обобщать» в данной ситуации. Мы просто перебираем в модели разные планы в поисках того, который приведёт к постройке наилучшего самолёта. Не случайно, а по какой-нибудь эвристике.
Хорошо бы на старте дать ИИ несколько примеров, как его акутаторами делают самолёт, хотя бы какой-то. Тогда можно планы строить, начиная не совсем с рандома, а с работающего плана. Ну и оценка в конце.
Хорошо бы ещё показать ему, как выглядит настоящий самолёт. Не собрать его «руками», а просто показать, чтобы ситсема прогнозирования считала, что что-то примерно такое должно хорошо летать. В конце надо прогнать через оценщик, чем бы он ни был.
Ну и вопрос, как проконтролировать качество, тот самый оценщик. Мне этот вопрос видится главным и максимально трудным. Например, можно отдать готовый продукт команде тестировщиков, которые смогут его оценить и дать ИИ обратную связь. Но, видимо, этого недостаточно, потому что мы не так много тестов можем провести. Можно давать какую-то дифференциальную оценку (например, на мониторы, которые видит ИИ), а уже потом давать reward. Таким образом нейронка, эмулирующая физику, обучится предсказывать эту дифференциальную оценку, ну или хоть попытается. Там функции проще, чем у reward

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

1. Нейросеть, которая по входному кадру выбирает действие. Доступные актуаторы — манипуляторы в цеху, может, что-то ещё. Доступные сенсоры — видеокамеры в том же цеху, может, что-то ещё. (да, есть другие варианты, что может быть выходом, но этот вариант меньше всего абстрагируется от данных, он ничего не пропустит)
2. Способ генерации датасетов. Каждый квант времени (1/30 секунды?) записывается картинка с камер (возможно, сжатая в эмбеддинг) и текущее действие/действия. И сигнал награды — он почти всегда равен 0, только при проверке он от 0 отличается. Ну или если у нас предусмотрены штрафы за поломки оборудования. Чтобы система не тыкалась в рандомных направлениях, надо для начала чтобы настоящие инженеры через эти манипуляторы и эти камеры сделали несколько самолётов — хотя бы маленьких и простых. Сделали, отправили на оценку, получили свою мелкую награду. Потом, привезли несколько реальных самолётов, осмотрели их через камеры, включили/выключили двигатели, прогнали в аэротрубе (если она есть в цеху), сдали на проверку, получили солидное значение награды.

Я полагаю такой план довольно плохим, хоть и простым концептуально. Потому что у нас очень затратная процедура тестирования, мы не сможем провести много проверок. Если бы можно было её частично заменить более простыми проверками, дело пошло бы быстрее и дешевле
Не вижу особой сложности в системе ограничений выбора, основанной на его, цене ущерба. Например при задаче вылечить от рака избежать убийства или ампутации головы как простейшего способа избавления можно указав его ущерб как -∞, ампутации ноги как — 1000 000$ и т.д. Что мешает? Разметка оценок это да, но это ж и есть здравый смысл, поддается численной оценке для прикладных задач вполне.
Я согласен, это в целом правильный подход.
Только проблема немного в другом. Допустим, мы хотим сказать ИИ: награда за излечение = 1 очко, награда за смерть = -100 очков (нельзя делать бесконечность, иначе ИИ будет бесконечно трудиться над снижением вероятности смерти, и до нуля никогда не дойдёт из-за особенностей матстата).
Как ему объяснить, что такое излечение и что такое смерть? Он не знает человеческих понятий, вообще, ни одного. У него есть видеокамеры и память. Понятие «смерть» нужно свести к некоей функции от видеоряда. И понятие «излечение» тоже.
Не то, чтобы это вообще невозможно — наверное, можно эти понятия запихнуть в отдельную нейросеть через обычное машинное обучение, на множестве примеров. Но с этим связан ряд трудностей: сколько видеозаписей со смертью ИИ должен увидеть, чтобы понять, что такое смерть? И чтобы его понимание не слишком отличалось от человеческого. Как добиться наиболее точного совпадения этих понятий у человека и ИИ, если ИИ совершенно точно будет искать границу между жизнью и смертью? Как объяснить ИИ, что вот этот человек с неработающим сердцем и мозгом — он ещё живой, можно вылечить, а вон тот с работающим серцем и частично работающим мозгом — он уже овощ, спасать там нечего? Причём объяснять надо через прямые наблюдения, то есть каждый наш термин должен быть функцией от видеоряда.
Не то, чтобы это невозможно. Но трудно
зачем от видеоряда? это ж создание проблем на ровном месте. есть семантика. наука как связаны понятия(знаки) между собой. через нее и идти. там и оценки-вероятности всякие сразу из коробки… а привязка этого в видео ряду тоже не откровение — вон DALL-E показывает как.
У нас видеокамера на входе. Всё. Может, ещё какие сенсоры. Но это именно сенсоры — как на роботе или на ракете с тепловым наведением.

Можете описать функциональную схему ИИ, который одновременно может и достигать +- любых целей в реальном мире, и при этом умеет в семантику?
Сейчас есть ИИ, которые могут достигать +- любых целей (так себе могут, но это развивающееся направление). Они, вкратце, работают так. На входе есть датчики (массив S) и награда R, на выходе есть действие A (это массив вида 0010000, что означает, что надо выбрать 3-е действие из 7 возможных). И есть аппроксиматор (нейросеть), который, грубо говоря, строит функцию (S, A)->R. Учится предсказывать награды по действию и контексту. Чем больше статистики — тем точнее мы знаем функцию. А дальше мы просто на каждом шаге перебираем (S, 0)->R, (S, 1)->R, (S, 2)->R и так далее. Смотрим, для какого действия R наибольший — и делаем это действие.
Это упрощённая схема, но идейно всё именно так и устроено.

Поэтому вопрос, как бы выглядела схема ИИ, которую описываете вы?
в моей схеме в простейшем для реализации случае есть семантический граф, в котором уже сидят в виде вершин — переходов понятия системы. Делятся на 2 класса — параметры X и действия Y. То, что дает камера и датчики входит в X также как и скрытые и явные параметры игрока и системы. Разделять их смысла не вижу для расчета. Вероятность перехода, которая есть функция от состояния того же графа, есть число-параметр нейросети X -> Y. Итак, есть множество состояний [X] и функций связывания состояние-влияние [Xi -> Yj], которые суммируются с числом-состоянием на каждом такте системы, и дающим уместность действия конкретного Y в данным момент. Топовое по вероятности действие выполняйте. Сравнивайте ожидаемое и наблюдаемое. Копите градиент(ы) отдельно для подсистем X -> Y, Y -> X. Если можете пускать действия параллельно — не вопрос. Дальше дело техники.
Как выглядит семантический граф в момент инициализации? Какой формат у узла графа — там находится что?
Дело в том, что состояний X почти бесконечно много. Картинки в видеоряду обычно не повторяются. Если бы они были конечны и малочисленны, то эта модель (марковская, что ли?) работала бы хорошо.
Y — это действия? Я правильно понимаю, что [Xi -> Yj] — это стратегия, и ничто иное?

«Копите градиент(ы) отдельно для подсистем X -> Y, Y -> X.» — как вы себе представляете Y -> X? Это что? Будущее X зависит и от текущего Y, и от текущего X.

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

Есть схемы, где состояния — это узлы графа, а рёбра графа — это действия. То есть для X1 есть рёбра Y1, Y2, Y3, для X2 рёбра Y1, Y2, Y3 и так далее. Каждое ребро — это условный переход: если в состоянии X1 мы выбрали Y1, то попали в X2, например. Ну либо, если переход вероятностный, пишем: p[X1, Y1-> X2] = 0.1, p[X1, Y1-> X3] = 0.7 и так далее. Если у нас нет вероятностей, то задача решается простым поиском маршрута по графу, если есть вероятности, то используется уравнение Белмана, это классический Q-Learning, про него куча статей. Ну и чтобы было уравнение Белмана, надо ещё в узлы проставить значения наград
Но ключевой момент. Вся эта конструкция работает, если состояний X мало. Если каждое новое состояние уникально (а кадры примерно такие и есть), то не получится построить всю эту матрицу переходов.
Как вы решаете именно этот момент? Ну и после решения, где семантический граф получается?
>>Как выглядит семантический граф в момент инициализации? Какой формат у узла графа — там находится что?
Рандомные значения около нуля обычно используются при инициализации.
>>Дело в том, что состояний X почти бесконечно много. Картинки в видеоряду обычно не повторяются.
Используйте вывод resnet или его адаптацию для вашей задачи. Если речь конечно идет не об сегментации и локации.

>>Y — это действия? Я правильно понимаю, что [Xi -> Yj] — это стратегия, и ничто иное?
верно. для состояние X вы имеете уместность Y действия в данный момент.

>>X? Это что? Будущее X зависит и от текущего Y, и от текущего X.
В моем понимании здесь уместны 2 нейросети, 1 семантический граф и монитор запуска-обучения.

>>— воу, вы действия предсказываете?
верно. и расхождение между предсказанием и реальностью — главный критерий тут как по мне. семантический граф дает понятность всей схемы которая иначе — черный ящик.
>> Есть схемы, где состояния — это узлы графа, а рёбра графа — это действия. То есть для X1 есть рёбра Y1, Y2, Y3, для X2 рёбра Y1, Y2, Y3 и так далее.
Точность требует чтобы в расчет были включены все X при рассмотрении одного-каждого Y. На практике число состояний к рассмотрению сильно меньше мощности X, потому что связности в сем. графе не бывает все-ко-всем.
>>Если каждое новое состояние уникально (а кадры примерно такие и есть), то не получится построить всю эту матрицу переходов.
За кадрами стоит подможество X семантического графа, которое надо бы научится получать, а потом уже все остальное. надо смотреть нормально задачу чтобы была конкретная польза. по тому что написано, сложно что-то добавить.

Формат узла графа — это кадр? Или выход resnet? Оба эти варианта дают бесконечное число уникальных состояний. На выходе resnet вектор floatов, даже одного float достаточно, чтобы наплодить около бесконечности вариантов. Всё равно придётся делать какое-то правило, по которому 2 похожих состояния мы считаем совпадающими, а другие 2 похожими не считаем. Я пробовал так делать, состояния разбивал кластеризацией. Навскидку — результат отрицательный. Но может, надо было глубже копать.


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


"расхождение между предсказанием и реальностью — главный критерий тут как по мне" — я правильно понимаю, что мы на этапе разведки сделали кучу рандомных ходов, а затем пытаемся научиться предсказывать эту "стратегию" и применять её в дальнейшем? А откуда появится оптимальное поведение?


" За кадрами стоит подможество X семантического графа, которое надо бы научится получать, а потом уже все остальное." — как? ИИ засовывают в какую-то видеоигру Атари. Заранее неизвестно, какую. Он видит экран, у него есть кнопки, у него есть сигнал награды. Как он будет из такого состояния разбивать видеоряд на семантическое подмножество? Я понимаю, можно вручную сделать огромное семантическое множество на все случаи жизни, но это во-первых, очень дорого, во-вторых, в таком случае ИИ не сможет менять множество под задачу, это ограничивает адаптивность

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории