Pull to refresh

Comments 33

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

UFO just landed and posted this here

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

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

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

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

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

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

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

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

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

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

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

Статья любопытная.
Чего мне не хватало (и от этой статьи, и от других, которые критикуют нейросети). Какую задачу вы решаете? Чёткая математическая постановка, без слов "интеллект", "сознание", "понимание" и так далее. Я думаю, мало кто скажет, что 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. Нужна математическая формулировка задачи

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

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

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

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

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

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

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

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

Ага )))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"сомневаюсь, что существует математически строгая постановка задачи для 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"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

universe unsupervised by design )

Очхор )))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

сетка ответит: (собака 80% лошадь 20%) на геену

(гусь 70% корова 30%) на страуса

(корова 80% козел 20%) на антилопу :)

Несколько запоздало, но...

...получается, что любой факт регистрируемый, обрабатываемый, генерируемый мозгом – это идентификатор, IDшник, число.

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

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

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

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

Если в самом деле интересно, то ответы на эти вопросы получены в ходе работ над существом, названным Beast: fornit.ru/65133 (есть научные публикации).

Sign up to leave a comment.

Articles