Поводом для статьи послужила вот эта публикация К AGI через самоорганизацию и структурную адаптацию / Хабр (habr.com) , в которой автор замахнулся на святое и заявил, что нейросети - это тупик.

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

По поводу повода

К сожалению, со всем уважением к автору статьи, очень сильный постулат о тупиковости нейросеток автор объясняет тем что

Нейросети, убирая единицы измерения, мешают в кучу коней и людей. Черный ящик, действуя как безжалостная мясорубка, перемалывает объекты на входе в неинтерпретируемый фарш

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

Ну да, нутрянка нейросетей неинтерпретируема. Вот, например, несколько лет назад Google представлял свою концепцию, как бы там внутри все понять Google представила «объяснимый» ИИ (Explainable AI) / Хабр (habr.com). Ну люди посмотрели на разноцветные точечки, попытались что-то там увидеть, и ничего не увидели.

Картинка взята из статьи @ZlodeyBaal там ниже ссылка будет
Картинка взята из статьи @ZlodeyBaal там ниже ссылка будет

Не все опустили руки, вот тут, например, и собственные опыты, и ссылки на ресурсы есть Интерпретируемость машинного обучения: состояние дел / Хабр (habr.com).Но, по правде говоря, никаких победных реляций о прорывах в этом направлении я не читал.

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

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

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

В общем задачка определения меры нетривиальная, но, если с ней справились, дальше открываем википедию, читаем про алгоритм и запиливаем.

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

Тупая картинка, извините. Просто чтобы текст разбавить.
Тупая картинка, извините. Просто чтобы текст разбавить.

Но зато есть обучающая выборка с разметкой – какая точка к какому кластеру относится. Это – кошечка, это – собачка, а это – попугайчик. Пихаем обучающую выборку из стапятьсот фотографий в нейросетку и она, подстраивая веса, как раз меру-то пространства и вычисляет. Правда при таком подходе мы получаем критическую чувствительность системы к обучающей выборке. Пример с волками и хасями помните? (Как избежать «подводных камней» машинного обучения: руководство для академических исследователей / Хабр (habr.com) )

Но в целом, мне кажется, что это тоже не аргумент против.

Рефлексия - не выход

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

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

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

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

Что у нас получается с существующими архитектурами

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

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

Трансформеры. Надежда и опора. Они - вроде как марковские сети, а марковские сети могут иметь не только конечное, но и счетное число состояний. Это хорошо, есть потенциал для развития. Но мы опять упираемся в первоначальную концепцию: вход - черный ящик - выход. Здесь вход - поток фактов, а выход - предсказание следующего факта. Предсказания - это вообще очень мутная тема, человечество постоянно пытается решать задачки на предсказания, тратит кучу ресурсов и получает обычно нулевой результат. Конечно, если вы строите систему наведения ракеты, то предсказание вам в помощь. Но вот с точки зрения AGI, один вред. Сейчас попробую объяснить.

Вот я читаю ребенку книжку про (условного) Винни-Пуха. "Винни-Пух пришел домой и съел горшок мёду". Спрашиваю ребенка, - что ест Винни-Пух?. Отвечает, - мёд. Предсказание? А вот и нет. Читаю следующую главу: "Винни-Пух пришел домой и съел.... кашу". Опять задаю тот же вопрос, - что ест Винни-Пух? Отвечает - мёд и кашу. Это не предсказание, это множественная связь между объектами.

А что будет делать трансформер? С первой главой все в порядке, подстроили веса, вход "Винни-Пух ест" - выход "мёд". Добрались до второй главы, вход как бы тот же, а выход другой. Вот тут внимание. Конечно, скорее всего выбор Винни-Пуха зависел от каких-то внешних и внутренних причин: может мёд кончился, может зубы у него заболели, может Пятачок ему лекцию про перистальтику прочитал. Но Милн (условный) нам об этом не написал. Он не обязан давать нам всю исходную информацию. И вселенная тоже не обязана. Поэтому ребенок просто запоминает, что может быть так, а может эдак, никакого когнитивного диссонанса у него не возникает. Но мы же от трансформера требуем всегда только один вектор на выход, мы ж ему не даем права дать множественный ответ. И он начнет откатываться по тексту назад и искать, на основе чего он может сделать развилку. И зацепится за первое попавшееся слово/факт/явление. Если в первой главе Винни-Пух повстречал Кролика, то вот мы и получим предсказание, если встретил Кролика, то ест мёд, а не встретил - кашу. Ну и в дополнение, трансформеры на тех же эмбеддингах работают. И они тоже должны быть статичны.

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

  • Они работают только в состоянии гомеостаза. Научили, работает - не трогай. Новая информация их расстабилизирует.

  • Они построены так, чтобы всегда давать однозначный ответ на внешнее воздействие. Рефлексия как она есть. Множественные выходы не

И еще 5 копеек

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

А хотите эксперимент?

Постройте сетку, распознающую кошечек и собачек. Или хомячков и попугайчиков. Обучите, проверьте на тестовой выборке, что распознавание устойчивое и приличное, ну там 90-95, сколько там у вас сейчас принято. Только выборка чтобы честная была, не как с волками и хасями (Как избежать «подводных камней» машинного обучения: руководство для академических исследователей / Хабр (habr.com))

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

А теперь прогоните тестовую выборку с головами через свою сетку еще разок. И если распознавание останется на уровне хотя бы 80, я напишу отдельную статью с извинениями. Я предполагаю, что вы получите в лучшем случае 60-65.

Слава нейросеткам

В общем, не надо ждать от технологии того, что она дать не может. Нейросетки были слабым ИИ, им они и останутся.

Больше всего жалко бизнесменов, которые искренне верят, что забашляв датасатанистам они когда-то, скоро, вот прям через месяц-год-два, получат вожделенный AGI и станут царями горы. Ничем, кроме этой светлой детской надежды, я не могу, например, объяснить вот такие эксперименты в коммерческих банках ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России / Хабр (habr.com)

Картинки из этой статьи. Сгенерированы по фразе "Олень у озера".
Картинки из этой статьи. Сгенерированы по фразе "Олень у озера".

Потому что, проработав в финтехе последние 15 лет, я не могу придумать практического применения такой системы в банке (В банке, Карл!). Видимо это инвестиции в светлое будущее… Понятно… Мои соболезнования…

Тем не менее, для слабого ИИ полно задачек, и если правильно понимать ограничения технологии, то можно их вполне успешно решать… Ну наверно, успешно… Если понимать... Злые языки утверждают, что до прода долетает порядка 15% проектов. Простите, ссылку не нашел, статья была давно. А если прикинуть, что 10% из этих 15% приходятся на мэтров жанра, то для остальных получается что-то на уровне статистической погрешности. Буду очень благодарен за статистику, доказывающую обратное.

Но есть, на мой взгляд у нейронок, одно достижение, которое реально революционное. Наверно последние лет 500, а кое-где и раньше, проблема решалась через применение математического аппарата. Есть теория, есть проблема, которая каким-то своим боком похожа на эту теорию, отлично! Берем соответствующий матаппарат, проецируем проблему на него – решаем. Мы должны обладать глубокими знаниями и алгоритмами внутри этой теории, чтобы решить проблему. Понимаете, да? Чтобы Вы смогли оптимизировать перемещение товаров между складами вашей Пятерочки, Магнита или где Вы там работаете, кто-то до этого должен был пыхтеть десять лет и разработать теорию графов. А Вы еще должны были знать, что эта теория графов существует, прочитать ее и понять какие алгоритмы для решения Вам нужны.

А как это выглядит с нейросетками. Строим архитектуру, учим, даем задачу – решает! Никакой теории не имеем, можем даже не догадываться. Решение делается не математическими, а инженерными методами. Если вдуматься, это просто мозговзрывательная концепция. Понимаете, теоретически можно запилить механическую систему, железяку, которая будет реализовывать нейросетевую архитектуру и решать задачки. Трудоемко наверно получится, но я не удивлюсь, если какой-нибудь энтузиаст напильником персептрончик запилит, просто по фану. Люди на что только не тратят время. Никаких знаний мы в систему при этом не вкладываем, решение делается за счет архитектуры. Ну и обучения конечно.

Нейросетка??
Нейросетка??

Так что слава нейросеткам! Они доказали, что решение сложных задач возможно за счет архитектуры решения, без вложения внутрь системы каких-то предначально заданных знаний о внешнем мире. Это правда очень сильно. И внушает надежду.

О роли вопроса в поисках ответа

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

На тот момент вопрос был простой – может или не может? Поэтому и критерий сделали простой. Если на картинке человек играет с собакой, а сзади дерево, то человек размечающий картинку ставит 3 метки: человек, собака, дерево. Система смогла распознать хотя бы один из объектов – зачет!

И вот на такой постановке долго тестили разные подходы, долго получали результаты не очень, долго мытарились, пока в 12 году не пульнули сверточные нейросетки. Поначалу все бросились улучшать результаты, 90%, 95%, 98%, 99.8%. Ребята, остановитесь! Все, ответ уже получили – может. Дальше что?

Есть у систем, показывающих результаты на ImageNet практический смысл? Распознать что-нибудь на быстромелькающих картинках? Ну… эта… может в викторинах… Понимаете, да? Где следующий вопрос, на который надо отвечать? Конкурсная задачка, победителю – пряник, сообществу – направление движения.

Картинки по текстовым описаниям? Это не вопрос, это игрища. Значение их мне не очень понятно. Нет, я понимаю их с точки зрения оправдания за гранты. Гранты дают бизнесмены, они фишку не рубят, а червяки с рогами производят на них сильное впечатление. Но на какой вопрос пытаются ответить такие системы? Или у них очень мощное коммерческое применение? Заменить всех иллюстраторов на сайтах алгоритмами? А чем так провинились иллюстраторы, что ML-сообщество так остервенело им роет могилу? Я может чего не знаю…

Чат-боты? Генерация нейросетями статей о нейросетях?
Похоже на попугаев. Ну или на мега-попугаев с огромным словарным запасом.
Вопроса тут я тоже не наблюдаю. Я, по правде сказать, и практического смысла не
наблюдаю. Видимо скоро нас ожидают гига-попугаи, дейно-попугаи и
под конец тирано-попугаи…

Тирано-попугай. Словарный запас как у Вильяма нашего.
Тирано-попугай. Словарный запас как у Вильяма нашего.

Альтернатива

Для тех, кто на Хабре меньше 7 лет – в 2014 Логика мышления. Часть 1. Нейрон / Хабр (habr.com) и 2016 Логика сознания. Часть 1. Волны в клеточном автомате / Хабр (habr.com) годах @AlexeyR опубликовал два цикла статей, о своей концепции того, что в мозгу происходит и зачем это нужно. И это был самый основательный заход в альтернативную реальность.

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

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

  • Во-вторых, было сказано, что этот узор может перемещаться по всей коре как волна.

  • В-третьих, уделено внимание понятию забывания. Информация хранится недолго, и если не повторяется, то забывается. А вот если повторяется – то закрепляется

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

  • В-пятых, для понимания смысла факта/явления важно понятие контекста.

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

Активация случайной группы нейронов в ограниченной области коры, по факту выглядит как бинарный вектор. То есть, если по-простому, то это уникальный идентификатор. Поскольку кора двумерная и узор двумерный, то все не так просто, конечно, но для отправной точки пойдет. Тогда получается, что любой факт регистрируемый, обрабатываемый, генерируемый мозгом – это идентификатор, IDшник, число. Это сильно. Потому что уж что-что, а генерировать IDшники компьютеры умеют. И это снимает любые ограничения на накопление новой информации внутри системы. И это совершенно не то, что делают нейросетки.

Вопросов, правда, очень много. Как мозг гарантирует уникальность идентификаторов? А если не гарантирует – то как выкручивается? Как далеко распространяются волны по коре? По всей коре? А не приводит ли это тогда к дублированию информации? А если приводит, то зачем?

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

И тут вопросов выше крыши: с какими входящими фактами одно поле работает? Со всеми подряд? А емкости хватит? А если с подмножеством- то как делить? Триггерные факты?

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

По поводу контекста, я, пожалуй, распространяться не буду, у Алексея там все подробно, я не совсем согласен, но у меня цель статьи другая.

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

Дела это, как видите, довольно давние, но вот что любопытно. В том же 16 году появилась вот такая статья Совсем не нейронные сети / Хабр (habr.com), а к статьям этого автора @Vasyutka (как и его соратника @ZlodeiBaal) я отношусь с большим вниманием, поскольку оба точно являются профессионалами в этой области. В общем пальнувший калибр был крупным. В статье было описано практическое применение идей Алексея. И результаты в статье были весьма интригующими. А вот дальше – тишина. То ли идея не взлетела. То ли наоборот ого-го как взлетела, и теперь авторы втихаря пилят коммерческую систему, которая поработит галактику.

Но по правде сказать, то, что (гораздо позднее) появилась вот такая статья Тихая революция и новый дикий запад в ComputerVision / Хабр (habr.com) принадлежащая перу @ZlodeiBaal (еще один крупный калибр и близкий соратник предыдущего), и статья эта возвращает нас в лоно нейросетевых архитектур, наводит на мысль, что альтернатива заглохла.

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

Итого

  • Нейросетки - молодцы, если понимать, что они могут, а что нет. Развитие идет во многих направлениях, хотя, наверно, не все направления являются полезными в народном хозяйстве.

  • Для AGI они не годятся принципиально, по своей архитектуре. В первую очередь из-за того что они работают только в стабильном состоянии,новая информация им противопоказана.

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

  • Ну и было бы здорово услышать рассказы о том, как альтернативу строили-строили, но почему-то не достроили. Это было бы очень поучительно. Потому что, как говаривал однорукий, одноногий и одноглазый викинг из мультика - "Практика - наш главный учитель".

Комментарии (30)


  1. george_vernin
    17.10.2022 22:59

    Тут главный вопрос - что такое это AGI, сильный ИИ и какой он будет (и вообще может быть) . Какие задачи он будет/сможет решать? А то уже лет 60 разговоров много, а толку мало


  1. S_A
    18.10.2022 03:49

    Вот уж точно, призрак. Спасибо. То, что вы описываете, немного выглядит как автоматическая машина для обучения нейросетей. Может даже графов из них.

    Если нужно, чтобы алгоритм обучался - почему нет датасетов, где учат учиться? Предобучил учиться, а потом сама пусть учится на практике. Только на практике reward is enough - обучение с подкреплением уже вполне развито.

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


  1. Pastoral
    18.10.2022 06:41
    +1

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

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


  1. ArtificialLife
    18.10.2022 09:27

    Ознакомьтесь с компанией Numenta и ее Hierarchical Temporal Memory


    1. abgl Автор
      18.10.2022 11:49

      Спасибо! Очень интересно. Пошел осмыслять ))

      Единственная печаль, концепции уже больше 10 лет, а захвата вселенной так и не случилось. Наверно есть какие-то неразрешимые болячки. Хотя нейросетям уже 60 лет... ну ладно, посмотрим


  1. AlekseiMorozov19730316Ru
    18.10.2022 10:33

    Активация случайной группы нейронов в ограниченной области коры, по факту выглядит как бинарный вектор. То есть, если по-простому, то это уникальный идентификатор. Поскольку кора двумерная и узор двумерный, то все не так просто, конечно, но для отправной точки пойдет. ... И вот тут, как бы сказать… ...информация была бы очень полезная...

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


  1. odins1970
    18.10.2022 20:44

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


  1. Kilorad
    19.10.2022 09:25
    +1

    Статья любопытная.
    Чего мне не хватало (и от этой статьи, и от других, которые критикуют нейросети). Какую задачу вы решаете? Чёткая математическая постановка, без слов "интеллект", "сознание", "понимание" и так далее. Я думаю, мало кто скажет, что supervised learning на картинках - это и есть AGI.
    Например, существует рассуждение о том, что 1-слойный персептрон не может обучиться XOR, а 2-слойный может обучиться вообще чему угодно (при ряде нереалистичных допущений). Это - корректное доказательство того, что "нейросети не могут" (и насколько конкретно не могут).
    Если мы делаем AGI на базе ML (то есть supervised learning), то нужно описать конкретный план, как мы делаем это сведение. И в рамках этого плана находить задачи, которые животные/люди измеримо решают, а данный проект AGI доказуемо не решает. Если мы попробовали сделать AGI на нейронке и он не справился с данной задачей - это говорит о провале конкретного проекта, а не нейронок в AGI в целом.
    Пока что я вижу, что нет общепризнанного плана, как свести задачу AGI к задаче supervised learning. Если бы был - можно было бы сказать: нейросети не могут тут справиться, вот теорема (а решающие деревья могут, например, или KNN может). А так пока есть куча результатов, одни их воспринимают как успехи, другие как неудачи, а доказательной базы по части невозможности особо и нет
    То есть например, есть DQN. Это заявка на AGI (потому что достаточно универсально), там есть нейросеть. Но датасет к ней формируется совершенно не так, как в Dreamer, например. И наличие нейросети в обоих случаях непринципиально: нужная какая-то штука, которая будет +- универсально решать задачу апроксимации. Сейчас такими штуками обычно являются нейросети, но если и другой ML

    Машинное обучение (и нейросети в том числе) - это автоматическое программирование. А ТЗ ставится через датасет и loss. Поэтому если какую-то задачу нельзя решить через нейросети, предлагаю посмотреть: а её можно решить через программирование? Если можно - то что нужно сделать, чтобы придуманный вами код можно было сгенерить автоматически, под заданный датасет и loss? Ответ на этот вопрос описывает архитектуру ml-модели, которую нужно в данном случае применить. Не факт, что такая архитектура уже придумана. Но очень вероятно, что эту архитектуру можно записать гладкими функциями, то есть что можно сделать её нейросетью


    1. abgl Автор
      19.10.2022 11:10

      Привет! Спасибо )

      Чтобы мне было проще сформулировать ответы, я бы хотел уточнить, что у Вас главные постулаты (я перечилю, а Вы поправите, если я ошибся)

      1. Нужна математическая формулировка задачи

      2. Нужны задачи, которые люди решают, а текущие архитектуры нейронок не могут

      3. Провал проекта не доказывает провал концепции

      4. Проверять решаемость через программирование, если можно решить программированием, а нейросеткой нет, то надо думать как сгенерировать такую программу автоматически

      Прошу прощения за занудство )) я олдскульный BA и всегда перепроверяю, что я понял людей правильно


      1. Kilorad
        19.10.2022 14:50

        День добрый!
        Примерно так. 2-й пункт довольно нетривиален. Когда человек решает задачи, мы не знаем точно, какие у него были вводные. "Дано" задачи? Весь жизненный опыт? Паттерны в мозгу, сформированные эволюцией, и в каком-то смысле отражающие опыт предков, начиная где-то с рыбы? Поэтому надо ооочень аккуратно проводить это сравнение.

        Есть такое понятие как zeroshot - нейросетка получает на вход некий ряд, который описывает маленький датасет, то есть и X и Y. А потом выдаёт правильный предикт - как будто она обучалась. А она не обучалась: градиенты не шли. Скорее, внутри нейросети сформировался алгоритм, который похож на некий алгоритм обучения. Так вот, обобощение чего-либо человеком на 3х примерах ближе именно к zeroshot, а не к обучению нейронки - а обучение нейронки больше соответствует эволюции, чем прижизненному обучению организма. Но это всё очень рыхлые аналогии

        Пункт 4 - я думаю, что если нечто можно решить программированием, то теоретически можно и нейросеткой - есть тьюринг-полные нейросетки. Тут скорее вопрос в том - а нужно ли. Всё же нейросетка+оптимизатор - это инструменты для решения очень конкретной задачи, в самом широком варианте "найти такую программу, что выполняется условие такое-то". Иногда это условие настолько сложное, а программа настолько простая, что проще закодить самому, чем учить нейросетку


      1. Kilorad
        19.10.2022 15:44

        Наверное, ещё надо отметить. AGI на базе нейронки - это не нейронка. Это рукописная софтина, в которой есть нейронка, некий собиратель данных, предобработчик данных, алгоритм обучения нейронки, алгоритм принятия решений на базе прогнозов нейронки/нейронок. И обычно основная фишка не в нейронке, а в том, чему именно мы её/их учим и как потом применяем.


        1. abgl Автор
          19.10.2022 16:51

          Ага )))

          Ну про постулат 4 я совершенно согласен. Плюс соображение

          ImageNet и возник именно потому что программными средствами решить распознование объектов на картинке было невозможно. И, кстати, я что-то сомневаюсь, что существует математически строгая постановка задачи для ImageNet (атака на постулат 1 :))

          То есть, у нас получается два основных вопроса

          1. что мы хотим от AGI

          2. На какой простой измеримой задаче надо тренироваться

          Спрашивали - отвечаем

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

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

          У нас нет понимания, что является достаточным условием для AGI, но вот эти два мне кажутся необходимыми. Согласны?

          Что у нас с нейросетевыми архитектурами

          Пункт первый не выполняется. Сетки не доучиваются. Очень бы хотелось увидеть контрпример, если он есть. Мне тут подсказали посмотреть в сторону HTM. Смотрю... осмысляю..

          Пункт второй, по моему мнению тоже не выполняется. Опять-таки, если есть контрпример, был бы очень радо увидеть

          Вот поэтому я и говорю, что нейросетки - тупик для развития AGI

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


          1. Kilorad
            19.10.2022 17:22
            +1

            "сомневаюсь, что существует математически строгая постановка задачи для ImageNet " - задача выглядит примерно так. Есть train_set и test_set. Надо изготовить некий продукт, который на train_set даёт высокое качество распознавание (accuracy или logloss выше, чем у аналогов), и на test_set тоже, при этом test_set не использовался при разработке системы.

            По AGI я бы вообще формулировал задачу примерно как RL: есть некий способ сообщить системе, какие состояния мира желательны, а какие - нет. Система выдаёт команды на моторы так, чтобы провести мир таким путём, чтобы он почаще проходил через желательные и пореже через нежелательные состояния (сумма функции полезности на некоем горизонте планирования должна быть максимизирована). Задать ФП можно или как в RL, в виде набора примеров, или явно - например, подать на вход системе некую рукописную или отдельно обученную функцию, которая принимает на вход видео, а на выходе - полезность.
            Если система может работать +- в любой среде и с +- любой функцией полезности - я бы сказал, что это AGI, и дальше надо решать вопросы его быстродействия и эффективности по данным. Но это мой подход (а так же Юдковского, Бострома, Мюльхаузена...), не все согласны с таким определением AGI.
            Соответственно, для меня возможный тест AGI выглядел бы как набор этих тестовых сред:
            https://www.gymlibrary.dev/
            И каких-нибудь более сложных. От системы требуется, чтобы она быстро освоила любую из них - за тысячи кадров, а не миллионы и миллиарды. И чтобы прохождение 20 сред делало обучение в 21-й среде значимо быстрее (то есть должен быть перенос опыта между доменами).
            Это требование не к нейронке, а к продукту. Нейронки - это часть AGI, а не весь он целиком.

            "Пункт первый не выполняется. Сетки не доучиваются. Очень бы хотелось увидеть контрпример " - я специально написал, что AGI - это не сетка, а некий продукт с сеткой внутри. Сетка фитится под датасет, а датасет собирается в течение жизни. Например, DQN может иметь память в терабайт размером и хранить там всё, что увидит и сделает, а так же сигналы подкрепления. Просто массив структур, не внутри сетки. А нейросеть будет регулярно дообучаться на этом датасете. Нейросеть - это апроксиматор, она не должна делать чего-то сверх функций fit и predict.

            "Пункт второй, по моему мнению тоже не выполняется. Опять-таки, если есть контрпример, был бы очень радо увидеть " - тут вопрос, что вы подразумеваете под обобщением, не в гуманитарных терминах, а в математических. Нейросетки могут выделять из данных некие инварианты, которые полезны с практической точки зрения. Удалять избыточную информацию, собирать нужную.
            Например вот:
            https://hsto.org/r/w1560/getpro/habr/upload_files/66e/c09/44e/66ec0944ea8310924b4e33d0fb03fff7.png
            https://hsto.org/r/w1560/getpro/habr/upload_files/6a7/ccd/cee/6a7ccdcee6f85af2fd73e2b32a4fefd2.png
            Нейросетка сжала видеоряд в вектор из 800 чисел. А затем разжала так, чтобы на выходе получился следующий кадр видеоряда. Первый кадр на картинке - это прошлое, второй - это предсказанное будущее, третий - фактическое будущее. Полагаю, вот такое "прагматичное lossy-сжатие" - это и есть обобщение. Если присмотреться к картинкам, видно, что нейросеть предсказывает именно динамику, а не прошлый кадр - то есть у неё там внутри есть концепция "угол наклона неба", например. Или "наличие и тип HUD"


            1. abgl Автор
              19.10.2022 18:00

              Ну формулировка задачки для ImageNet которую вы приводите это не математическая, а скорее инженерная )) это я так, цепляюсь ))

              По поводу доучивания сетки вопрос. Ну ок, у вас есть накопленные вне сетки данные, и они копятся в течение жизни. А доучиваться сетка как будет? каждый раз с сбросом всех весов? Это я правда не понимаю.

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

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


              1. Kilorad
                19.10.2022 18:11

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

                "А есть ли инструментарий, который бы показал каким именно образом внутри сетки произошло обобщение? " - у меня нет. Я вижу результат - произошло lossy-сжатие под конкретную задачу. В моём понятийном поле это примерно то же, что и обобщение. Можно сделать инструменты визуализации и попытаться понять, за что нейронка цеплялась, но думаю, гораздо полезнее отследить, какие вещи она нарисовала наиболее точно. Именно эти детали и были самыми значимыми абстракциями внутри скрытого состояния нейронки. Это разные варианты HUD, небо, тени, общая освещённость, световые лучи, трава. Для некоторых объектов есть, видимо, координаты и углы наклона.

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

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


                1. abgl Автор
                  19.10.2022 18:26

                  Про дообучение

                  ну погодите )) если сетка классифицировала N классов, а в новых данных повился N+1 класс, куда его нейронка денет? Уже появились сетки, которые на выходном слое сами отращивают новые нейроны?


                  1. Kilorad
                    19.10.2022 18:55

                    Обычно нейросетка внутри системы управления (та самая система, что может быть или не быть AGI) делает прогноз вида S+A->R, где S - это некий вектор наблюдений (кадр, несколько кадров, все прошлый кадры, сжатые в эмбеддинг), A - это номер действия. R - это суммарная функция полезности за следующие N шагов. Размерности S и A фиксированы - они зависят от устройства тела. Робот, у которого есть кнопки вперёд, назад, вправо, влево, имеет размерность A, равную 4, и она никогда не изменится. R - это всегда скаляр. S - зависит от того, какие сенсоры у робота, тоже фиксированная размерность.
                    В этом случае мы перебираем все возможные A и делаем то, для которого R больше.
                    Есть другой вариант модели для системы управления - S0+A->S1. Тут предсказывается уже будущее наблюдение. Опять же, наблюдение - это картинка, например, она всегда фиксированного размера, так как зависит от видеокамеры. Или это эмбеддинг картинки - тоже зависит от камеры и того инструмента, которым делаем эмбеддинг.
                    То есть ситуация, что у нас появился новый класс, означает, что мы облажались на этапе проектирования системы, передачи данных с сенсоров в нейронку. Такого не должно быть.


                    1. abgl Автор
                      19.10.2022 19:24

                      ненене, пардон )) как это не может быть нового класса?! Что это за AGI, который работает только с фиксированным набором классов?

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

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


                      1. Kilorad
                        20.10.2022 08:32

                        Ну вот такая архитектура. Число входов и выходов фиксировано. Она никак не влияет на то, AGI это или нет.

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

                        На практике не вижу в этом смысла, можно на старте задать входов/выходов столько, сколько есть у тела.

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


                  1. S_A
                    19.10.2022 19:00

                    А вы дайте ребенку чёрную и белую коробки, и давайте складывать чёрные и белые шарики. Посмотрите на его реакцию, когда дадите ему красный :)

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

                    где-то промелькивала инфа, что за секунду человек глазами воспринимает 21 Гб. инфа не сотка, но масштаб я думаю больше даже. это к вопросу о запасах в полочках- несравнимо еще больше.

                    чернейший из всех ящиков


                1. S_A
                  19.10.2022 18:45

                  я с вами солидарен.

                  1. fit на новых данных, есть гипотеза (в книге у Гудфеллоу например), происходит во сне,

                  2. обобщение есть всегда, только оно не всегда качественное. люди например тоже много в чем ошибаются.

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

                  то есть интеллект устроен как

                  "состояние среды: прошлое, настоящее, экстраполированное будущее" -> биологический алгоритм -> [веса] -> [репрезентация] -> [веса] -> [прогноз обновлённой среды] -> биологический алогритм -> действие -> ...

                  то что в квадратных скобках как раз интеллект, если его убрать, получим муху с рефлексами. обучение это рефлексия - бэкпроп, он всегда partial.

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

                  теперь от пчел к решению задачи агента в среде методом автокодирования.

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

                  universe unsupervised by design )


                  1. abgl Автор
                    19.10.2022 19:03

                    Очхор )))

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

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

                    Про репрезентацию я пока не понимаю )) это очень сложно )) надо осмысливать


            1. abgl Автор
              19.10.2022 18:11

              А, вот как еще можно про сжатие спросить. А эта сетка любое видео теперь может так сжать? Или только из подмножества на котором тренировалась? Если любое, то наверно да, обобщение... надо подумать )))


              1. Kilorad
                19.10.2022 18:59
                +1

                Сжать может любое. Но понравится ли вам результат прогноза - это вопрос. Ожидается, что на похожих видео будет хорошее качество, на непохожих - плохое. В ML обычно ситуация такая... Да и при любом решении задачи неполной индукции оно так, насколько мне известно. В физике та же самая история была: физика Ньютона отлично работала вблизи его датасета, а как эксперименты только ушли далеко от того, на чём экспериментировал Ньютон - стала расти ошибка. Пришлось придумывать ОТО и квантмех - новые модели для более широких датасетов


                1. abgl Автор
                  19.10.2022 19:13

                  Ну уж нет, знаете ли ))))))

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

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

                  Все-таки это не выглядит как обобщение... ну не знаю, по мне это как-то неубедительно

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

                  Ну ок, а вот такой пример

                  Мужика из Рязанской губернии 18 века закинули в Африку. Он кроме коров, собак и кур ничего в своей жизни не видел

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

                  А нейросетка так сработать может?


                  1. Kilorad
                    19.10.2022 19:46

                    Я не проводил такого эксперимента, но не вижу причин, почему нет. Только какой датасет у этого мужика? У него датасет - это примерно все наблюдения где-то с того момента, как у его предков мозг появился. Ну то есть мужик точно может переводить картинки животных в какие-то внутренние представления, а дальше для этих представлений искать какие-то закономерности, может даже очень простыми правилами, вроде KNN. Так вот, механизм, порождающий внутренние представления, в значительной мере дан с рождения, и лишь частично дорабатывается в течение жизни.
                    Подобные системы есть в продакшне - какие-нибудь системы распознавания лиц устроены именно так. Вначале мы нейросеткой делаем эмбеддинг, а потом поверх него запускаем KNN или линейную модель, или ещё что-то простое и тупое, что способно обучиться на 2-3 примерах.
                    Ну то есть если бы я хотел сделать целостного ИИ-агента, который способен проворачивать трюки вроде того, что провернул мужик, я бы использовал трансформер с механикой key-value-query. Эта модель внутри себя нативно эмулирует что-то вроде KNN. Обучал бы эту модель прогнозировать видеоряд в зависимости от прошлых кадров и предлагаемых действий. Датасетом взял бы не жизнь одного такого мужика, а жизнь сотен мужиков в разных условиях - и полагаю, этого бы хватило, чтобы сетка делала практически полезные представления, в которых животные различаются удобным образом. Класс в явном виде в такой модели бы не существовал, но по внутренним представлениям было бы видно, что "страус"="курица"+"большая", а "гиена" примерно равно "собака". Дообучение такого агента в течение жизни понадобилось бы, но минимальное - предполагается, что основные "рассуждения" происходят во внутренних представлениях, а они прямо со старта довольно хорошие, и всё обучение происходило бы во внутреннем пространстве key-value-query, где градиентный спуск не нужен, и много данных не нужно. Но я не проводил этот эксперимент полноценно - могут быть тонкости, которых я не замечаю.

                    И насчёт Ньютона. Думаю, можно и более простые примеры привести... Люди века так до 16-го были уверены, что южное полушарие Земли настолько же плотно занято сушей, как северное. А ещё лет 100 назад была довольно распространена идея, что на Марсе есть марсиане. Это же в чистом виде распространение наших реалий за пределы датасета. И люди это делали не просто так: подобный подход обычно неплохо работает. Это называется неполная индукция: вывод правила по ряду наблюдений. Нейросети делают то же самое, и так же точность прогноза падает по мере удаления от изученной среды


                    1. abgl Автор
                      19.10.2022 20:27

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

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

                      Собственно найти этот механизм = найти ключ с AGI. Ну ладно, загнул, один из ключей )

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

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

                      Следующий вопрос - а как бы Вы сформулировали такую задачку?

                      Я вот пошел думать ))


                      1. Kilorad
                        20.10.2022 08:27

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

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

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

                        "а как бы Вы сформулировали такую задачку " - я её описывал вот здесь: https://habr.com/ru/post/568320/ , описывал, как старался сделать такое представление. Два разных подхода. Если коротко - представление не бывает хорошим в любой среде, это против самой идеи. Но можно сделать представление так, чтобы оно позволяло предсказывать какие-то важные штуки во множестве интересующих нас сред. Кроме того, вот здесь https://habr.com/ru/post/437020/ человек рассказывает о существовании очень универсального представления картинок - такого эмбеддинга, по которому можно довольно быстро решать практически любую задачу на компьютерное зрение. Здесь важен сам принцип - он переносим на другие задачи


                      1. abgl Автор
                        20.10.2022 11:58

                        ага, помню я обе эти статьи. Чужую точно читал, а вот Вашу нет, что-то отвлекло. Пойду читать


                      1. abgl Автор
                        20.10.2022 12:35
                        +1

                        Прочитал. Замечательная статья и просто чумовой объем проделанной работы!