Comments 87
Отличие этой работы от предыдущих в том, что на выходе получается нейросеть, малочувствительная к весам. Но при этом выполняющая свою работу. Это похоже на то, как генами задается общая структура мозга, например, сколько нейронов выделить на каждую из областей мозга. По мне, так это просто снижает размерность пространства, где потом нужно искать решение. Что-то вроде подбора гиперпараметров заранее, чтобы обучение потом лучше сошлось.
Это не панацея, конечно. Просто попытка есть слона по частям, от простого к сложному. Сначала научить простейшим рефлексам, вроде ходьбы, потом более сложной мотивации, потом еще сложнее и так далее. Повторить путь, пройденный животными до человека. Но у такого подхода, мотивированного копированием физиологии (не буквально, а принципов), сразу видится минус: можно застрять в ограничениях, наложенной этой же физиологией/инстинктами! Структурой сети, в данном случае. Здесь нет четкой дороги к сильному ИИ, люди просто пробуют разные подходы. Посмотрим, что из этого получится…
Но все же, где гарантия, что даже имея в наличии большие вычислительные мощности, мы не застрянем на уровне «насекомых», нейронные сети которых быстро и прекрасно справляются с решением многих задач, но весьма не пластичны и вряд ли потянут на звание ИИ.
ИМХО, нужно как-то разобраться и «украсть» у природы базовые принципы, функции, механизмы взаимодействия различных отделов мозга хотя бы на уровне птиц. Затем попытаться реализовать «в цифре» минимально необходимый набор аналогично взаимодействующих модулей (конечно на уровне распространения простых цифровых сигналов, а не физически реалистичных симуляций всяких натрий-калиевых насосов и потенциалов действия). А дальше уже на эту базу «натравливать» генетические алгоритмы в симуляторах реальности. Среди идей, которые стоит «украсть» у природы, я вижу, например, механизм «опережающего возбуждения», известные виды торможения нейронной активности, «центры боли и удовольствия», механизмы «внимания» и возникновения «автоматизмов» и т.д. И все это должно работать как устойчивая, но динамическая система, постоянно взаимодействующая с меняющимся окружением. Интересно, существуют ли работы в таком направлении?
Поэтому изучать и брать что-то из биологии это просто параллельная ветвь исследований, а вовсе не то, к чему мы в итоге пришли.Не совсем так. Недавно делал перевод небольшого обзора на тему взаимоотношения нейросетевого ИИ и нейробиологии. Моделирование с помощью ИНС дает весьма серьезные результаты в понимании работы разных систем мозга и даже происхождения чувств, несмотря на их отличие от реальных нейросетей. Влияние взаимное, и эта тенденция, очевидно, будет нарастать.
Я имел ввиду, что это не обязательно должно быть финалом исследований ИИ. Я вполне верю, что можно создать сильный ИИ чисто алгоритмически, без всех этих плясок с черными ящиками. Просто не знаю как. А тут вполне видно направление. Раз животные смогли пройти этот путь, то и мы можем повторить за ними.
О пользе нейронных сетей для изучения человеческого мозга (и что можно взять что-то полезное и из него), полностью согласен. Тут еще огромное и неисследованное поле деятельности.
Но все же, где гарантия, что даже имея в наличии большие вычислительные мощности, мы не застрянем на уровне «насекомых»Это тоже будет существенным шагом вперед. А там, глядишь, и новые знания получим.
хотя бы на уровне птицНичего себе «хотя бы». А чего не «хотя бы» у человека? Поведение птиц не менее разнообразное, чем у млекопитающих, а структура мозга, где-то слышал, даже более оптимальная (меньше вес при той же вычислительной мощности). Нет, если уж с чего и начинать, то именно с простейших беспозвоночных.
Среди идей, которые стоит «украсть» у природы, я вижу, например, механизм «опережающего возбуждения»Костыли-то зачем воровать? Это в природе важнейшие ограничения на скорость реакции и скорость обмена импульсами в нейронах. В технике же скорость передачи сигнала на много порядков выше, а приоритете скорее в точности.
Костыли-то зачем воровать?Я знаком с основами нейрофизиологии довольно поверхностно и давно не отслеживал последних новостей. Есть достоверные данные или общепринятое мнение, что это только лишь «костыли» и в ИИ не потребуется?
Просто в моей (исключительно субъективной, обывательской) картине устройства мозга этот механизм выполняет принципиально важную функцию — позволяет «узнав» ситуацию, в которую субъект попадал ранее, подготовится к ней оптимальным образом (например, грубо говоря, повторить действия, если предыдущий опыт был удачный либо поступить как-то иначе, если прошлый опыт не порадовал).
Насколько я понимаю, механизм опережающего возбуждения похож на предсказание ветвлений в современных процессорах. То есть предварительная подготовка «медленного» блока к заранее предсказанным данным, чтобы ему осталось только уточнить детали. И причина появления такого механизма вполне понятна: «медленный» блок на то и медленный, его надо как-то ускорить. В живой природе от скорости реакции будет зависеть выживаемость, но эта скорость ограничена в первую очередь скоростью биохимии, которая по сравнению с техникой крайне низка. Поэтому и приходится придумывать разнообразные хаки и костыли вроде реконструкции изображения с глаза (на этом основаны обманы зрения). В технике же проблема пока не со скоростью обработки информации, а с точностью и предсказуемостью. То есть и так никто не знает как работает конкретная нейронная сеть. К каким результатам приведет изменение веса конкретного нейрона. А вы предлагаете встраивать еще и механизм предсказания.
Впрочем, именно в силу обучения сети, подобный механизм прекрасно возникнет и сам, если среди требований будет скорость.
В случае же с живым мозгом нет единственно правильной последовательности инструкций которые нужно просто исполнить с той или иной скоростью, нет возможности сбросить состояние, даже нет возможности точно просчитать результат движения не по той ветке. Собственно говоря, «правильной» ветки тоже нет, потому что в природе нет (прости Господи) программиста, который знает как правильно. Вероятно критерием, который в природе можно в некотором роде принять за НЕправильность выбранной ветки — это исчезновение особи вместе с головным процессором без благодарных потомков.)
Окружающая среда не является частью мозга, с ней надо взаимодействовать напрямую (что чревато) или обращаться к предыдущему опыту такого взаимодействия. А как обратится к предыдущему опыту? — Подать на входы нейронов внешние образы текущей ситуации (например горячий чайник), прогнать их через нейросеть отключив моторику(чтоб случайно рукой не хватануть, но отголоски былой боли вспомнить) и потом уже по прогностическому отклику «выбирать ветку».
Не берусь категорично утверждать и поставлю вопрос: получается, что без механизма опережающего возбуждения (в широкой интерпретации) в нейросетях тяжеловато обратится к предыдущему опыту?
Вероятно критерием, который в природе можно в некотором роде принять за НЕправильность выбранной ветки — это исчезновение особи вместе с головным процессором без благодарных потомков.)И то не всегда, есть стратегии альтруистического поведения. Когда отдельные особи жертвуют своей жизнью ради выживания популяции. И это характерно не только для человека. Если не ошибаюсь, подобное поведение есть даже у некоторых бактериальных колоний.
получается, что без механизма опережающего возбуждения (в широкой интерпретации) в нейросетях тяжеловато обратится к предыдущему опыту?Отчего же? Вся работа нейросети это обращение к предыдущему опыту, она по-другому не умеет. Про описанный вами механизм «сигнал мышцам + блокировка» я не слышал. Не считая сна, естественно.
А блокировку мышц я упомянул просто для лучшего понимая того, что живой нейросети необязательно тыкать пальцем в горячий чайник, — она может сначала «представить» себе, что будет через это пресловутое «опережающее возбуждение»(читай: обращение к опыту).
«Застряли» насекомые на своей эволюционной ветке не из-за структуры их нейросетей, а по совсем другим причинам:
1 — отсутствие полноценных лёгких,
2 — не замкнутая кровеносная система,
3 — твёрдый внешний скелет.
Как результат — это в целом налагает структурные и метаболические ограничения как на размер тела в целом, так и на размер самого мозга.
ИМХО, генетические алгоритмы, RL и так далее — это именно селекция, ведь мы заедем фитнес-функцию. Например, у коров была фитнес-функция — удои молока, а у нейросети, обучающей управлять обратным маятником — время удержания. И правильный выбор фитнес-функции является критическим важным для подобных алгоритмов, чтоб достичь результата.
И правильный выбор фитнес-функции является критическим важным для подобных алгоритмов, чтоб достичь результата.Об этом и речь, человек задает критерий отбора, и это эффективнее, чем делает эволюция, даже если речь о селекции. Кроме того мой пример с удойными коровами не совсем удачный) природе они не нужны, поэтому вряд-ли появятся, они нужны человеку, и он задает такой странный, с точки зрения эволюции, критерий отбора. Но и продолжая дело эволюции человек может достичь лучших успехов и быстрее, чем она. Человек результат миллионов лет эволюции, если брать точкой старта примитивных гоминид. Человек за тысячелетия, с тех пор как появилась наука в современно виде, вполне вероятно, сможет создать более совершенный ИИ на новой технологической основе, превосходящий человеческий биологический интеллект. Надеюсь хотя бы вначале они будут в симбиотических отношениях, глобальная эволюция не отбрасывает своих полезных наработок просто так) Звучит несколько противоречиво, но считаю, что человек это не только биологический вид, но и воплощение самой эволюции, кот. его руками и интеллектом будет действовать более эффективно и быстрее, нежели старым методом отбора.
Недавно была такая работа: MorphNet. Там как раз сеть расширялась, потому сужалась и так несколько раз. В итоге получалась более компактная сеть, не уступающая по точности оригинальной. Но вообще, за последние пару лет было предложено много вариантов как делать distillation сетей (т.е. сжатие, выделение знаний). В нейросетях ведь по определению огромная избыточность. И это очень интересная область, потому что похоже, что проще обучать сложные сети, а потом делать из них выжимку, которая будет работать на слабых устройствах. Сейчас вот достигнуто стабильное примерно 10-20-кратное уменьшение без потери точности. И это явно далеко не предел.
Второй способ получения простой и компактной сети — мультикритериальная оптимизация (он, кстати, упомянут в статье). Это когда отбор производится сразу по двум критериям: высокий фитнес и низкая сложность сетки. Вот тут есть видео, где мы подбираем сеть для вычисления XOR'а как раз этим способом. Минимизируем только число связей, а не кол-во нейронов, как в статье.
Все новое — это хорошо и основательно забытое старое. Обзор методов эволюции нейронных сетей — я эту статью написал 9 лет назад, картинок там, к сожалению, нет, зато есть описание и сравнение разных подходов.
Кстати, NEAT был предложен еще в 2002 году и потом еще дорабатывался (в частности, есть его вариация HyperNEAT).
Ага. Сюда только добавили одинаковые веса по всей сети, и оптимизировали дополнительно чтобы сеть работала в широком диапазоне этих чисел (и минимальный размер еще). Чтобы получить нечувствительность сети к начальным весам. К чему это может привести, хороший вопрос. Сами авторы в оригинальной работе говорят, что это только первый шаг в исследовании этого направления. Есть какие-то успехи, это заработало, вот и хорошо, можно продолжать изучение. Тут больше эмпирики и творчества, чем строгой науки.
К примеру, если младенцу родом всего несколько минут показать язык, то благодаря зеркальным нейронам, он тоже высунет язык.
Брехня. Младенец несколько минут родом нифига не видит и не умеет фокусироваться, так что никакого языка он не покажет.
А теперь у меня есть два варианта:
- Поверить ютубу
- Поверить эмпирическому опыту.
Дело не в этом. У низших животных почти все задано инстинктами, причем довольно сложное поведение. У человека же почти все эти функции перешли к неокортексу. Который не содержит никаких инстинктов. Он как чистый лист, обучается целиком в процессе жизни. Это дало офигенные преимущества в адаптации, хоть и потребовало более долгого обучения. Ну и чисто за счет своего размера, позволил обучиться большему числу вещей. Но какие-то низкоуровневые вещи остались и у человека. Вроде этих зеркальных нейронов, или navigation cell (навигационные нейроны, формирующие карту знакомого пространства). Это большой и открытый вопрос, формируют ли эти физические предустановки возможности интеллекта?
Сейчас RL весьма слаб в общей обучаемости. Скажем, есть пример в OpenAI Gym где человечек в симуляторе учится быстро бегать. Там целевая функция скорость бега. Загружаете этот пример, все работает, все обучается. Но если в начальный момент человечек будет не стоять, а лежать на земле, т.е. должен сначала встать, а потом побежать, то этот же пример никогда не обучится! Ни одним из существующих самых современных алгоритмов RL! Да что там, даже изменив какой-нибудь гиперпараметр, уже с большой вероятностью ничего не обучится.
Поэтому возникло что-то вроде иерархического подхода. Давайте сначала обучим его вставать. А потом, используя эту сеть как начальную, обучим бегать. От простого к сложному. Но и тут возникают проблемы, сеть переучивается, катастрофическое забывание и так далее. Пока никому не удалось реализовать такой последовательный подход.
Эта статья примерно из той же оперы — может попробовать базовые рефлексы (способность бегать, ну или как на картинке в статье — способность машинки удерживаться на дороге) задать структурой сети, а более сложное обучение продолжить поверх нее? Тем более, что похожий процесс мы видим при обучении у животных. Я конечно забегаю вперед, это только предположения. В реальности все может оказаться совсем не так, и этот подход тоже не сработает. Но хочется верить в лучшее.
Давным-давно у меня была идея что при приходе данных от узла, если данные «новые» то появлялся новый нейрон и обучался постепенно и подстройка постепенно спадает… *отложено*
Тем более, что похожий процесс мы видим при обучении у животных.
А ещё, сколько бы я ни читал, не могу найти нейросети которые работают с картинками как у животных. Всмсл, вроде, зрительная информация нехило так обрабатывается ещё до того как она поступит в зрительную кору. (Освещение, границы объектов и направления, цвета и прч)
А ещё, сколько бы я ни читал, не могу найти нейросети которые работают с картинками как у животных. Всмсл, вроде, зрительная информация нехило так обрабатывается ещё до того как она поступит в зрительную кору.Автоэнкодеры не рассматривали?
Ммм…
Я про то, еслиб вместе с видео потоком в 1080 шла «карта» насколько линии горизонтальны или вертикальны в 480. Какбы вспомогательная информация. Насколько я знаю, подобные вещи есть в нашем моске.
Или как лучше понять что объект освещён, через карту освещения или через картинку 3-мя компонентами цвета? Надеятся что ИНС может сама догадаться до этого, лучше не стоит.
Про нейрогенез интересно, но разве он имеет аналоги в природе? Нейроны ведь формируются как и все клетки — за счёт градиентов растворов внутри клетки и давления от соседних клеток, а вовсе не от сигнала. А вот аналог того, как в природе формируются аксоны и дендриты, то есть связи между готовыми нейронами в зависимости от частоты сигнала, был разработан ещё на заре компьютерной техники. Это правило Хэбба и его модификации. Но такое обучение нейросетей не показало хороших результатов, градиентные методы оказались намного эффективнее.
Простите, но я уже не помню про нейрогенез. Помню лишь что при рождении он достаточно активный и важен в дальнейшем развитии(иначе патологии). И всё к тому что моск появляется не сразу готовый, а достраивается постепенно и также модифицируется во время работы. Это не отменяет того, что он может учится. Просто при исчерпании запасов начнутся разного рода «трудности».
Я пытался сделать свою ИНС… Да, там было ограниченное пространство которое я задавал, что не позволяло ей разрастаться слишком сильно. Надеялся это поможет ей в само оптимизации… Вообще я туда много фич пытался запихнуть, к примеру — можно было обрывать\понижать связи\веса нейронов по критерию, или делать нейроные группы задавая им номер(-а) «нейромедитора»и как они влияют на них. Все эти, и многие другие, «костыли» казались лучшим подходом, чем чистая «математика».
Этот клеточный автомат который делал… На моём селероне если клеток 50+ так дико всё лагало, что я бросил эту идею :) (Я тогда писал под .NET) Сама ИНС была «обучение с учителем» использовал так чтоб учить их жрат, размножаться и не умирать.
(Копания в железе (FPGA\asm) меня больше увлекало, туда и ушёл потом бросив это всё)
У человека же почти все эти функции перешли к неокортексу. Который не содержит никаких инстинктов. Он как чистый лист, обучается целиком в процессе жизни.Тут можно такую философию развести) Заранее не известно, что считать базовыми способностями, и использовать их как инстинкты, и каким остальным способностям обучать потом. Эволюция делала эту декомпозицию методом проб и ошибок, и можно конечно позаимствовать результаты ее работы. Но возможно это не самое лучшее решение. Почему? Потому что у эволюции были ограниченные возможности, ее решения основаны на возможностях и ограничениях биологии, и соответствующей энергетике. Помним, что ~2% массы мозга потребляет ~20% всей мощности организма. А есть еще ограничения на скорость распространения информации в нейронных сетях, и производительность. Процессоры и коммуникационные сети тоже имеют подобные проблемы и ограничения, физика та одна кругом) Но мы можем, в отличии от природы, варьировать технологическими решениями, а не завязываться на одну. И соответственно получать преимущества по всем эти показателям производительности вычислений. Поэтому для мощного ИИ на нейросетях можно использовать большую однородную сеть для обучения, и сильно не париться иерархической декомпозицией входных данных, сеть сама ее произведет. Условно говоря в такой сети появятся аналоги специализированных отделов мозга в виде связанных подсетей. Далее необходимо произвести оптимизацию сети, удалив не используемые или малоиспользуемые участки по определенным критериям, чтобы улучшить показатели производительности и энергоэффективности.
Имеется важный вопрос со структурой такой сети. В мозге она иерархическая, и информация подвергается непрерывной интеграции по мере движения в верхние уровни. Фактически это сжатие информации с потерями. Действительно, на самом верхнем уровне абстрактного мышления исходные образы кодируются понятиями, кодируемыми символами или звуками. Этого эффекта можно добиться структурой сети с уменьшающимся числом нейронов в слоях. Такая структура решает сразу две проблемы — сжатия информации и повышения энергоэффективности. У животных это меньше выражено, условно говоря, у них структура сети более прямоугольная, и они оперирую целыми образами, и в целом образным мышлением. У человека оно тоже осталось, и преобладает в в первые годы жизни, но затем, по мере обучения, уступает абстрактной форме мышления. Тут можно пофантазировать. А нельзя организовать искусственную сеть, как у животных, и получить ИИ базирующийся на образном мышлении? Преимущества очевидны. Из-за того, что нет сжатия с потерями, или они не большие, сохраняется полный контекст информации. Возникает меньше неоднозначностей в коммуникациях и понимании. Одно дело сказать яблоко, и каждый человек представит свое яблоко, и чтобы они у все были одинаковыми нужно как можно точнее передать контекст, т.е. доп. информацию для согласования. И другое дело передать образ конкретного яблока, и не нужно затрат на передачу контекста. Но все это потребует затрат на производительность и энергетику таких сетей. Эволюция обошла эту проблему, развив абстрактное мышление, в угоду точности. Но технологии возможно позволят решить эту проблему. Как-то так)
Оба варианта неправильные, когда речь идет о науке. Верить лучше результатам правильно поставленного эксперимента, опубликованным в рецензируемом научном журнале с хорошей репутацией, желательно воспроизведенном независимыми исследователями.
Справедливости ради стоит отметить, что эксперимент Мелцоффа (Andrew N. Metlzoff) не является стопроцентным фактом, и в некоторых исследованиях не воспроизводился.
https://en.wikipedia.org/wiki/Intermodal_mapping — см. разделы Criticism и Replication
Вы как-то странно науку описываете. Мне кажется, по сравнению с верой в авторитетные журналы с хорошей репутацией надо куда больше верить воспроизведению эксперимента своими силами.
А эксперимент примитивен — показал младенцу язык, он показал его в ответ.
… Или мне обязательно надо делать два независимых ракурса, которые потом склеивать — на лицо исследователя и на младенца, показывающего язык?
Нормально описываю, антивакцинщикам назло :)
Все, к сожалению, гораздо сложнее. Результаты "примитивного" эксперимента можно трактовать очень по-разному.
Может быть, данный конкретный младенец так реагирует на данное конкретное лицо — просто потому, что нейрончики так сцепились? Может быть, во время открывания рта взрослый рефлекторно нажимал на ребенка или тот реагировал не на какой-то другой фактор (хотя бы — запах изо рта)? Может быть, экспериментатор принял шевеление губ ребенка за высовывание языка и, желая успешно отчитаться, поставил плюсик там, где не надо? И куча других вопросов и побочных факторов, множество из которых субъективны.
Поэтому эксперимент нужно ставить на многих младенцах, разных возрастов, рас, полов и т.п. и с которыми работают разные взрослые — мужчины, женщины, старые, молодые. И контакт между ними исключить до только визуального (например, прозрачная ванна с крышкой). Крайне желательно при этом применять "двойной слепой метод" (см. https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%B5%D0%BF%D0%BE%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4) — т.е. оказывается, что два независимых ракурса, как раз-таки, обязательны — одна камера снимает малыша, одна камера снимает взрослого. Потом при расшифровке независимое лицо пишет — на 0:35 секунде ребенок открыл рот, на 0:48 — высунул язык, а другой — делает то же самое с записью взрослого.
И только потом, когда все эксперименты окончены, все результаты сводятся в одну таблицы и, собственно, экспериментатор начинает их смотреть и пытаться как-то трактовать результаты.
Но при этом у нас есть обратное: если новорождённые чаще всего не высовывают язык в ответ, то эксперимент можно считать успешно негативным.
Именно — это и есть трактовка результатов эксперимента :) Обычно, формулировку исходной гипотезы постепенно сужают (где-то на днях видел картинку: теория всего => теория чего-то => теория ничего), и это и есть суть научного поиска.
Правда, при публикации результатов в популярном виде, журналисты обычно краевые условия для краткости и пущей важности опускают и вместо "у новорожденных детей в возрасте от 45 минут до 72 часов наблюдается статистически значимая корелляция между собственными мимическими действиями и мимическими действиями, демонстрируемыми взрослым объектом" получаем "младенцы младше часа от роду уже высовывают язык вслед за папой и мамой" — даже, если таковой младенец в положительных результатах был всего один :)
Или известный баг с вытеснением мыслей о неприятных делах.
Или известный баг с вытеснением мыслей о неприятных делах.
Это уже более высокоуровневый механизм.
Если поискать и у меньших братьев тоже «баги» найдутся
— А может нет никакого «брокера»? Попадалась статья, указывающая на возможность участия в выполнении функций настройки живых НС механизма эмоций. Вот статья:
Сергей Мурик — О природе эмоций, или Что чувствует амёба в горячей воде, «Наука и жизнь», №6, 2006
elementy.ru/nauchno-populyarnaya_biblioteka/430317/O_prirode_emotsiy_ili_Chto_chuvstvuet_amyoba_v_goryachey_vode
Если голоден, будешь искать еду. Если зачесалась спина, то начнешь чесать.
Мультиагентность есть, сходите на семинар по психологии с названием «самостоятельные единицы сознания». После небольшого погружения в свою психику довольно легко различить подсистемы.
Вся эта концентрация свойственна на всех уровнях в моске, от всяких сенсоров до образов в вышей НС.
И да, вы не можете держать в фокусе сразу несколько вещей (Многозадачности в мозге нет). Но можете анализировать несколько вещей с малой задержкой и позже суммировать результаты.
А как реализован этот механизм внимания? Вот в мышечных двигательных нейронах если активен нейрон, отвечающий за определенную мышцу, он автоматически тормозит соседние нейроны, отвечающие за мышцы с противоположной стороны (иначе мы вообще не смогли бы согнуть руку, например). Скорее всего и тут так же. Мозг думает всегда сразу о нескольких вещах параллельно, но победитель забирает все. Наиболее активные в данный момент нейроны либо тормозят специальным нейромедиаторами остальные, либо через положительную обратную связь сверхвозбуждаются и тоже забирают себе все лавры. Все кровоснабжение, например. А когда стимул удовлетворен, наиболее активной группой оказываются какие-то другие нейроны из оставшихся параллельных. Получается и внимание, и автоматическая сортировка по важности.
Мозг думает всегда сразу о нескольких вещах параллельно, но победитель забирает все.
Еще вопрос — на что это похоже и какую модель можно запрограммировать?
У меня образ возник мультиагента и брокера. Каждый агент получает и обрабатывает свои сигналы. Потом, когда надо реагировать, то посылает брокеру запрос на получение управления. Брокер проанализировал всех миниагентов и выбрал самого главного. Тогда этот агент временно захватывает контроль над мышцами и например начинает чесать, где чешется. Потом другой агент может получить управление и тогда человек будет смотреть на проходящую девушку.
Брокер и агенты должны быть предобучены и потом дообучаться.
И вот как все это богатство привести к брокерам и агентам, я понятия не имею ). То есть, вызывает сомнения даже сама правомерность подобных аналогий.
То есть, вызывает сомнения даже сама правомерность подобных аналогий.Так это эмерджентные феномены, их описание не сводится к нейронной импульсации. Как пример подобного доказательства эта работа из области физики, в кот. доказывается не сводимость описания макроскопических свойств магнитных материалов к их микроскопическому описанию. Для мозга найти неразрешимость и доказать эмерджентность ментальных конструкций не сложнее, эмуляцией той же машины Тьюринга с помощью нейронных сетей. Вопрос в правильном выборе этих конструкций. Каждая наука связанная с исследованием мозга решает их по своему. Главное не запутаться) эмерджентность относится именно к несводимости описания этих конструкций к свойствам нейросетей, но объясняется процессами их функционирования. Говоря по другому — объясняется структурно-функциональной редукцией, никаких дополнительных мистических сущностей для объяснения ментальных феноменов не требуется. Это можно проиллюстрировать на примере игры Жизнь. С использованием глайдеров доказывается ее полнота по Тьюрингу. То есть свойства глайдеров нельзя непосредственно вывести из правил игры, и в этом смысле глайдеры эмерджентные феномены. Но можно объяснить их появление, если задать начальные условия игры и пошагово проследить историю ее ходов. Однако в применении к мозгу мы не можем это выполнить точно, для этого историю нужно отмотать, видимо, до Большого взрыва) Но приближенно можно выделить нейро-динамические процессы (фМРТ, как пример их визуализации), кот. связаны с ментальными феноменами, с их началом и концом. На этом и строится экспериментальная наука о процессах в мозге, и их теоретическое объяснение.
То есть человека тоже надо рассматривать только с определенного расстояния, тогда он является человеком, а не набором атомов. Если рассматривать слишком близко, то найдем кучу каких-то элементов, которые взаимосвязаны, но общую картину не увидим.
После прочтения порядка десятка книг на эту тему мне показалось, что этот внутренний цирк похож на мультагента, в котором есть еще общая шина, позволяющая каждому агенту временно брать контроль над органами чувств и направлять человека.
А потом сделал «брокера», который может и сам управлять, и запускать заданную нейросеть. Причём он ещё мог подавать на вход нейросетям искажённый входной образ. Мог смешивать выходы нескольких «агентов». И поставил ему задачу — быть эффективным на всех 5 этих задачах. И эволюция.
Каждый агент на своей задаче был реально эффективен, на околочеловеческом уровне (задачки простые были). Единая монолитная нейронка решала все задачи вместе очень плохо. А со схемой «брокер-агенты» она их решала… Ну, лучше, но всё равно далеко от реальной эффективности агентов.
Дело в том, что каждый агент принимает на вход всю историю своего взаимодействия со средой. Если у него вдруг отобрать контроль, «порулить» и вернуть контроль обратно, он может и не справиться. У него здоровенная лакуна в памяти, он находится в непривычной ситуации — потому что рулил не он. Для эволюционного обучения это может быть проблемой. Если же агентов писать вручную, то система работает почти идеально на всех этих задачах
если можно, пообщаемся в скайпе
Это похоже на иерархический RL. Первые успехи в длинных последовательностях действий роботов несколько лет назад были сделаны именно на таком подходе. Там на низком уровне нейросети были обучены простым действиям: сдвинуть руку на такие-то координаты, схватить предмет. А более высокоуровневая нейросеть рулила этими простыми командами. В итоге робот смог собрать игрушки на столе и сложить их в коробку или вроде того. Что для того времени было большим успехом. С длинными маршрутами перемещений по городу тоже была статья, кажется, у BAIR (группа в Berkeley университете, активно занимающаяся ИИ). Там агент на простом первом уровень мог делать небольшие локальные перемещения на сотню метров, а общий длинный маршрут между двумя районами города строил второй уровень.
Ссылок не приведу, так как это было давно и с тех пор эти области сильно усложнились. Но помню как года три назад на arxiv.org и разных конференциях была куча публикаций по иерархическому RL. От него все с воодушевлением ждали результатов. Но постепенно тема заглохла, так и не добившись ничего, что стоило бы внимания. Мне кажется такое иерархическое разбиение задач было слишком искусственным, что ограничивало свободу нейросетей по поиску решения в общем пространстве параметров.
Вот если бы подобные иерархические структуры образовывались бы естественным путем через какой-нибудь self-supervising, то может был бы толк… Это как сравнить вручную созданные дескрипторы вроде SIRF, ORB для поиска паттернов на картинках. И фильтры сверток, которые сверточные сети сами создают при своем обучении. Результат налицо за последние несколько лет, как говорится.
Статья очень интересная. Я как раз изучаю подход обучения бота. Я хотел бы пообщаться с автором на эту тему. Не знаю как написать. Если есть желание, моя почта salos at mail dot ru
Единственное, что ограничивает применение таких нейросетей на практике — высокие вычислительные затраты. Такие нейросети будут реальностью, но лет так через 20-30.
Кое-какие свежие идеи в направлении, но ничего принципиально нового.
в мозге нет точного аналога алгоритма обратного распространения ошибки, напримерМы настолько изучили мозг, что можем уверенно так утверждать?
Но некий другой аналог обратного распространения ошибки в мозге, возможно, есть. Почитать об этом можно, например, тут: arxiv.org/abs/1808.06934
нейроны вообще физически не способны пропускать сигнал в обратном направленииТакую фундаментальную вещь не знал, хотя интересовался мозгом всегда О_о
Это опыты доказывают?
Синапсы ведь однонаправленные… Кроме того, в них просто негде хранить производные, чтобы потом использовать в обратном распространении ошибки. Не говоря уж о разделении на слои. Хотя сигнал от глаз до мышц проходит примерно 10 слоев (время реакции одного нейрона примерно 10 мс, а общее время реакции человека на зрительный стимул 100 мс), из чего можно сделать вывод, что наш мозг минимально равен десятислойной нейронной сети. Но это не совсем слои, скорее сигнал от глаз до мышц проходит через примерно 10 отделов мозга разной степени эволюционной древности. Плюс всякие петли обратной связи. Так что напрямую со слоями в искусственных нейронных сетях это сравнивать нельзя, и классический послойный backpropagation тут неприменим.
Ну и вообще, там все на порядки сложнее. Например, мышечные двигательные нейроны не только тормозят соседние нейроны, отвечающие за мышцы-антогонисты, но и свою собственную частоту регулируют весьма оригинальным способом, см. клетки Реншоу. И вот таких вещей в мозге полно. Мало каким из них есть математические аналоги в искусственном обучении нейросетей. Но что характерно, каждый появлявшийся метод регуляризации, чем-то похожий на те механизмы, которые есть в биологическом мозге (dropout, разные виды нормализации, curiosity, actor-critic и т.д.) сразу давали резкий скачок в качестве работы нейросетей. Отсюда такой оптимизм, в том числе в этой работе, что повторение биологических принципов (не буквально, а только принципов) и дальше будет улучшать работу нейросетей. Мол, эти механизмы отточены эволюцией. Да и как ни крути, эти биологические механизмы дают результат — нашу разумность.
Синапсы ведь однонаправленные…
На самом деле нет. Есть сигналы которые передаются через каннабиноидные рецепторы, и они передаются в обратном направлении. Функция этих рецепторов заключается в том, чтобы снижать выделение нейромедиаторов.
Гм… это похоже на редкое исключение, да? И это точно химические синапсы, а не электрические? Так-то по определению химические синапсы однонаправленные. С одной стороны выпускаются молекулы-нейромедиаторы (доставляемые в везикулах к синаптической щели), а с другой стороны расположены рецепторы, поглощающие эти молекулы. Но в принципе, ничто не мешает иметь рецепторы и с другой стороны и иметь двунаправленную связь. Но я так понимаю, это чрезвычайно редкие исключения, потому что прямой и обратный канал как минимум должны быть разделены на разные не пересекающиеся нейромедиаторы. Что в живых клетках сложно сделать, типов этих молекул ведь не так много. Как вы заметили, это видимо имеет смысл только для каких-то регуляторных целей.
Вот электрические синапсы — по сути прямой электрический контакт двух клеток, те конечно в большинстве своем двунаправленные. Но и там есть иногда однонаправленные (при обратном направлении открываются какие-то ионные каналы, не дающие сигналу идти в обратном направлении). И даже вроде бывают некие регуляторные функции, в зависимости от активности синапса.
Но электрические синапсы — это не те синапсы, на которых в основном работает мозг. Под синапсами обычно понимаются химические синапсы. Именно они, за счёт нейромедиаторов (но ценой временной задержки на 5 миллисекунд) позволяют всякие трюки, вроде аналога ReLu — распространять сигнал по мозгу цифровым способом, без уменьшения амплитуды сигнала (что на электрических синапсах было бы невозможно). Плюс всякого рода регулирование нейромедиаторами деятельности нервных клеток. Без чего обучение, память и прочее тоже были бы невозможны.
Хотя тут факт, что они вообще взялись за обучение архитектурвы мозга на уровне отдельных нейронов делает им честь. Растут, так сказать, над собой. :)
Нечувствительные к весам нейронные сети (WANN)