cookie

ما از کوکی‌ها برای بهبود تجربه مرور شما استفاده می‌کنیم. با کلیک کردن بر روی «پذیرش همه»، شما با استفاده از کوکی‌ها موافقت می‌کنید.

avatar

Knowledge Accumulator

Реалистичный взгляд на технологии и мир Author: @Fritx

نمایش بیشتر
پست‌های تبلیغاتی
3 420
مشترکین
+224 ساعت
+167 روز
+2930 روز

در حال بارگیری داده...

معدل نمو المشتركين

در حال بارگیری داده...

Photo unavailableShow in Telegram
Offline Actor-Critic Reinforcement Learning Scales to Large Models [2024] В позапрошлом посте я выразил скептицизм по поводу offline RL, но в комментариях добрый человек посоветовал изучить более качественные работы на эту тему, за что ему спасибо. Берите пример! Вкратце, суть предложенного алгоритма (PAC) - мы обучаем стратегию, которая должна сходиться к оптимальной при наличии онлайн-данных, но, так как наши данные не меняются, мы добавляем регуляризацию на то, чтобы сильно не уходить от простого копирования стратегии в данных. Простите, RL-щики, за такое пошлое упрощение. Авторы сравнивают свой подход с обучением копированию стратегии из данных (тут это называется BC + Q). Обучают серию моделей от 32M до 988M параметров и смотрят на то, как скейлятся оба алгоритма. По графикам из статьи видно, что в таком сравнении offline-RL выигрывает. Интересные детали видны при более детальном рассмотрении - на тех задачах, в которых данные собирались хорошей экспертной стратегией, ни BC+Q, ни PAC, ни даже подтюненный a-PAC не догоняют эксперта. Тем не менее, если стратегия для сбора данных плохого качества, PAC умеет не копировать плохое поведение, за что ему похвала. Кроме этого, авторы попробовали добавить онлайн-составляющую в алгоритм. Выученный PAC выпускали погулять и собрать ещё немного данных. Далее запирали его вместе со старым и собранным датасетом и дообучали. На нескольких задачах авторы репортят довольно быстрый рост производительности за несколько итераций. У такого полуонлайн-подхода есть проблема - от того, что мы запрещаем модели обновляться во время сбора нового датасета, получать данные дешевле не становится. Я согласен с комментарием о том, что в таких работах очень многое завязано на реализацию конкретных алгоритмов, и поэтому сравнение с бейзлайнами может страдать. Именно поэтому я бы хотел, чтобы авторы алгоритмов сабмитили код в какой-нибудь сервис с лидербордом, в этом случае автор каждого алгоритма выжал бы из него максимум. Статьи - плохой формат. @knowledge_accumulator
نمایش همه...
👍 9 4🔥 2👌 1
Почему человечество может надолго прийти в упадок Не знаю, как вы, но у меня нет слепого оптимизма по отношению к будущему нашей цивилизации. Есть ряд долгосрочных фактов и тенденций, которые могут говорить совершенно об обратном. - Процветание - это аномалия Бурное развитие цивилизации - скорее редкость, чем правило, так было далеко не всегда. "Тёмные века" - период упадка Европы после падения Римской империи - так называют период аж в 500 лет. При этом налаживание механизмов, открывших путь к сегодняшнему богатству, произошло всего лишь несколько столетий назад. - Деградация свободного рынка Сторонники левых взглядов по всему миру одерживают победу за победой. Они последовательно уничтожают экономические лифты и позволяют сверхбогатым цементировать своё текущее положение. Безумные налоги на средний/обеспеченный класс и выставление барьеров для нового бизнеса показали себя отличными инструментами в этом деле. - Уничтожение положительных стимулов, введение отрицательных стимулов Здесь также левые одерживают масштабные победы. Государственные пособия, медстраховки, пенсии всё больше вознаграждают тех, кто вносит наименьший положительный вклад в экономику, а платят за это те, кто вносят наиболее положительный вклад. - Слабое положение сторонников рынка Оппозицию увеличению государства часто составляют люди, которые тоже хотят увеличить государство, но по-другому. В США, вместо того, чтобы противопоставлять демократам свободу, республиканцы запрещают аборты и искусственное мясо, чем только отпугивают людей. В странах первого мира нет больших про-рыночных политических сил. При этом много людей поддерживают свободный рынок неявно, но они не объединены между собой вокруг этой идеологии. - Почти исчез положительный отбор Оптимизация в генетическом алгоритме двигает популяцию в ту сторону, которая в среднем оставляет больше потомства, чем другие. На сегодняшний день это отрицательное (с точки зрения долгосрочного развития) направление. "Идиократия", конечно, всего лишь комедия, но у людей есть скилл перенимать в реальность элементы антиутопий. - Кризис демократической концепции Уязвимости демократии всё больше эксплуатируются властью стран первого мира. Импорт избирателей, увеличение доли "бюджетников" - всё это укрепляет текущую власть, и она будет этим пользоваться. Эти вопросы необходимо будет решать в политической плоскости, чтобы избежать отрицательных сценариев. Надеюсь, у меня получится к этому приложить руку в какой-то момент, но для этого нужны ресурсы, которых у меня пока, к сожалению, нет. @knowledge_accumulator
نمایش همه...
👍 39🤡 26💯 4😁 2👎 1 1👏 1🤔 1🤯 1😱 1😢 1
Photo unavailableShow in Telegram
AlphaStar Unplugged: Large-Scale Offline Reinforcement Learning [2024] Я уже писал про AlphaStar - RL-агента, которого обучили играть в старкрафт на уровне 99.8 перцентили. На это было потрачено сумасшедшее количество времени в режиме "онлайн"-обучения. Человек умеет вырабатывать навыки просто засчёт наблюдения за действиями других. Насколько хорошо это делают текущие алгоритмы? Для измерения этого авторы предлагают следующий бенчмарк оффлайн-RL-алгоритмов. Берём 30 лет данных, 1.4 миллиона игр и пытаемся обучить наиболее сильный алгоритм. Весь код для подготовки данных и всякого прочего, кстати, выложен, что не сильно свойственно Deepmind. В качестве архитектуры берём того же гигамонстра, что и в оригинале, который умеет переварить всевозможные входы и выдать одно из огромного числа возможных действий. Но архитектура здесь - дело десятое. Главное, что замеряют авторы - это разные способы обучения такой модели. Самый глупый бейзлайн - обучение повторять поведение игрока на всём датасете (BC). Чуть более умный - это зафайнтюнить такую модель на играх более сильной части игроков (FT-BC). В статье также прогоняют всякие изощрённые оффлайн-RL-штуки, такие, как Offline Actor-Critic. И что тут сказать - насколько же они не впечатляют в сравнении с FT-BC. У меня давно есть вопрос к тому, насколько эта технология работает, т.к. уже не первый раз наблюдаю подобную картину. Самым лучшим алгоритмом оказался MuZero Unplugged + inference MCTS, про который я расскажу в другой раз, он немного лучше FT-BC. Так или иначе, все они безнадёжно отстают от онлайн-алгоритма, т.к играют на уровне ~85 перцентили. Существует фундаментальный предел производительности агента в подобном сетапе. Я слабо верю, что он находится на уровне, сопоставимом с простой имитацией лучших игроков. Тем интереснее то, что ни один из текущих методов не достигает большого прорыва по сравнению с ней. А вы как считаете, есть ли алгоритм, который посмотрит на такой датасет и сразу выдаст superhuman performance? @knowledge_accumulator
نمایش همه...
👍 9🔥 4 2
Почему параметризация вашего поведения имеет значения В недавнем посте я упоминал о поведении - том, какие действия вы совершаете в каждой ситуации. Очень большую роль играет не оно само, а его параметризация. В RL самым простым способом задать policy является "таблица" - это когда на каждый возможный случай есть независимая реакция. В реальной жизни этот подход работает ужасно. Но почему? Представим жизнь, как цепочку состояний, в каждом из которых вы должны выбрать действие. Реальные состояния никогда не повторяются, и поэтому при "табличном" подходе вы будете каждый раз принимать отдельное решение. У этого есть две проблемы: 1) Одно действие оказывает околонулевое влияние на результат. Никакой отдельный день игры в доту или поход в KFC не испортит вам жизнь 2) Затраты силы воли на "полезное" маленькое решение отнюдь не очень маленькие Таким образом, у вашего мозга нет почти никакой причины поступать правильно в каждый момент. Но суммарно это выливается в плохие последствия. А как это починить? Необходимо группировать состояния по общим признакам и обучить свой мозг принимать решение в зависимости от обобщённых признаков, а не конкретной ситуации. Рассмотрим простой пример - каждый день вы идёте на работу и проходите мимо кофейни, где ваш любимый капучино стоит 3.5 фунта. Все эти разы можно объединить по контексту в одну ситуацию, тогда вашим действием будет ответ на "беру ли я кофе по пути на работу?" Цена такого действия гораздо выше - вместо 3.5 фунтов это будет 70 фунтов в месяц, 840 фунтов в год. При этом, вам достаточно один раз применить силу воли и через месяц вам будет ничего не стоить поступать правильно в каждый отдельный момент. Объединять действия по контексту можно и более широко - "покупаю ли я то, зачем бы специально не приехал сюда из дома?". Чем более грамотно вы упакуете вашу стратегию, тем меньше затрат силы воли и неоптимальности вы получите. Иначе говоря, вам нужно выработать правильную мета-стратегию - "как я группирую ситуации и принимаю решения?" - её параметризация оказывает безумное влияние на результат. Однако, не забывайте, что всё это только тактическое планирование. Принятие стратегических решений - о вашем переезде, выборе карьеры и места работы оказывает куда большее влияние, чем любая стратегия про покупки. Неэкономный ML-инженер переиграет экономного музыканта. Бывают также и стратегические обобщённые решения - "Как сильно я готов менять свою карьеру на более выгодную?", "Беру ли я недвижимость в аренду или в ипотеку?" и т.д. Желаю вам хороших мета-стратегий, дорогие читатели. @knowledge_accumulator
نمایش همه...
👍 14 5🔥 4
Photo unavailableShow in Telegram
Genie: Generative Interactive Environments [2024] - обучаем нейросеть-игру Часть людей, работающих c RL, считает, что для развития более общего интеллекта нам нужно сделать задачу, для которой он понадобится. Но не одну, а большое распределение на эти задачи, которое будет достаточно большим, чтобы очень плотно покрыть то, что встречается в жизни. Шагом в эту сторону является модель Genie. Исследователи собрали датасет из 30к часов неразмеченных видео с платформерами из интернета. Далее обучили генеративную модель следующего кадра при условии предыдущих кадров и сделанного действия. Конечно, есть проблема в том, что данные о действиях не размечены. Чтобы это обойти, при обучении используют автоэнкодер с небольшим дискретным боттлнеком (т.е. VQ-VAE) с размером словаря 8 - количеством возможных действий. Как в итоге происходит инференс Genie - вы подаёте промпт-картинку в модель в качестве первого кадра игры. Далее вы каждый шаг должны подавать ей действие и она будет генерировать вам следующий кадр. Таким образом, с учётом датасета, можно сгенерировать платформер на основе чего угодно - сгенерированной картинки, рисунка, фотографии, и играть в него. Судя по видео с сайта, качество не огонь, но как-то работает. Авторы упоминают Ada, как площадку для тестирования RL-агентов, но утверждают, что она ограничена, а их подход при должном масштабировании и развитии приведёт к тому, что у нас будет возможность сгенерировать любую вообразимую задачу. С такой средой, мы сможем обучать гига-мега-агентов, умеющих играть в любую игру, а значит, что-то, близкое к AGI. Я с этим подходом не согласен. Это дублирует логику из LLM - закинем побольше данных, компьюта в текущие методы и получим модель, умеющую "всё", потому что мы учили её на "всём". Но как раз опыт GPT нам показывает, что способность к обучаемости у такой системы слаба. Да, можно будет получить роботов-уборщиков, роботов-поваров, но это будет всё ещё маленькое обобщение трейнсета. А вот игры по промпту - это весело. @knowledge_accumulator
نمایش همه...
👍 9 2🔥 1
Если вам постоянно страшно от того, что вы упускаете какую-то возможность, то вы абсолютно правы Многие слышали про такой термин, как FOMO (Fear Of Missing Out) - страх упущенной выгоды/возможности. Кто-то говорит, что он иррационален и нужно эти мысли просто отбрасывать. Я предлагаю сегодня разобраться в том, так ли это, с помощью RL. Наша жизнь - это движение по пространству состояний мира S. У любого состояния s существует оценка того, насколько оно "хорошее": V(s). Это величина, которая показывает, какую суммарную награду вы получите, стартуя из данного состояния и действуя всё последующее время своей стратегией. Есть аналогичное определение Q(s,a) - такая же оценка состояния, но уже при условии того, что вы сейчас совершите действие a. У вас есть ваша стратегия p(a | s), которой вы придерживаетесь. Легко показать, что V(s) = E_p(a|s) [Q(s, a)]. Теперь давайте посмотрим на конкретный момент времени и состояние s. Существует какое-то распределение на действия p'(a|s), максимизирующее E_p'(a|s) [Q(s, a)]. Это оптимальное распределение с вашей точки зрения, и наверняка ваше текущее распределение с ним не совпадает. В отличие от пошаговых игр, отсутствие действия это тоже одно из возможных действий. Таким образом, каждый миг то, что вы делаете, скорее всего, приносит вам упущенную выгоду. Всё становится ещё более пугающим, когда мы обращаем внимание на оптимальную стратегию - p*(a|s). Это стратегия, идеально максимизирующая суммарную награду. Такая стратегия точно существует. Для неё тоже существует оценка состояния и оценка действия в состоянии - V*(s) и Q*(s, a). Их можно использовать как "потенциал" агента - то, какой существует теоретический потолок суммарной награды. То, что можно достичь, принимая оптимальные решения. Для них выполняется правило: V*(s) = E_p*(a|s) Q*(s, a). Это соотношение показывает потенциал до и после выбора действия в каждый момент времени. Если вы придерживаетесь стратегии p*(a|s), то ваш потенциал не уменьшится. В большинстве случаев ваш выбор ведёт к уменьшению потенциала. Если предположить, что вся награда подсчитывается в конце жизни, то мат. ожидание V*(s) в следующую секунду будет почти гарантированно ниже, чем в предыдущую. Проще говоря - что бы вы ни делали, вы в самом лучшем случае будете не терять свой потенциал. С огромной вероятностью каждое ваше действие уменьшает его. Он непрерывно утекает у вас сквозь пальцы. Вы не можете это обернуть, только остановить, и то только в теории. В конце жизни гарантированно окажется, что из-за накопленных ошибок вы достигли только крошечную долю того, что могли бы. Вы спросите - и что мне с этим делать? Отвечаю - забейте 👍 @knowledge_accumulator
نمایش همه...
👍 35🗿 10🔥 5 2🤔 1💩 1
Photo unavailableShow in Telegram
Continual Few-Shot Learning Using HyperTransformers [2023] - учим трансформер генерировать нейросети Я уже рассказывал про meta-meta-learning (он же continual learning) - постановка, в которой мы учимся решать много задач, получая их по одной и переиспользуя знания из предыдущих. В данном случае у нас few-shot вариант. Если мы просто обучаем нейросеть подряд на этих задачах, нейросеть будет забывать предыдущие - это побочный эффект обычно используемого обучающего алгоритма. В данной работе вместо обучающего алгоритма используется HyperTransformer. Схема такова: - Есть архитектура свёрточной нейросети, её веса задаются вектором wcnn. Для классификации используют Prototypical Loss, поскольку число классов заранее неизвестно. Это позволяет нейросети выдавать для картинки один вектор f(x). - Гипертрансформер получает на вход тренировочные данные текущей задачи (N сэмплов из K классов) и предыдущий wcnn. На выходе у него следующая версия wcnn - Получившуюся свёрточную нейросеть прогоняют на валидации всех уже показанных задач и считают лосс. Вся процедура получается дифференцируемой и гипертрансформер обучают этот лосс минимизировать. Несмотря на выигрыш по сравнению с бейзлайном, у меня есть сомнения по поводу такой параметризации этой схемы. Трансформер над вектором весов и задачей выглядит не очень естественной конструкцией. При этом, в теории оно должно выучиться при достаточных ресурсах и данных. Авторы не проверяют свою модель в сценарии meta-testing, когда мы запускаем только инференс hypertransformer на новом датасете. Интуитивно, оно и не должно зажечь, поскольку количество параметров в таком трансформере наверняка достаточно, чтобы обучаться задачам самому, и поэтому он переобучился на meta-трейне. С другой стороны, в целом, концепт генерации маленькой модели при помощи большой модели, обученной на больших объёмах данных, вызывает интерес. Но победить дистилляцию из большой модели в маленькую будет непросто. Посмотрим. @knowledge_accumulator
نمایش همه...
👍 10🔥 4 3🤷‍♂ 1
Когда нужно переезжать на Марс? Иногда я задаю себе этот вопрос, и он хорошо помогает вам разобраться в себе, поэтому об этом есть смысл задумываться. В технические детали вдаваться пока рано, но общие рассуждения можно проводить уже сейчас. Есть категория людей, которые захотят полететь в первой группе. Это будут те, кто склонен к риску, те, кто ценят достижение новых высот и целей выше своей жизни. Те же люди хотели и хотят первыми забраться на Эверест, опуститься на дно Марианской впадины, достичь Южного полюса. Им придётся много работать на месте, налаживать инфраструктуру для выживания, они рискнут умереть, но они станут звёздами своего времени. Полный их список будет написан на памятниках и в википедии, про них снимут документальное кино, которое станет вечной классикой. Кто-то из них родит первого марсианина. Как вам такой обмен? Предположим, что колония начнёт развиваться. По каким показателям она должна превзойти Землю, чтобы вы решились на переезд? Что для вас является самым важным в жизни? Низкая преступность будет сразу, а вот голым купаться в океане под голубым небом вы ещё долго там не сможете. Мой подход таков: если Земля надолго придёт в упадок или в стагнацию (я в это скорее верю, чем нет, но про это в другой раз), а Марс станет новой Америкой, с экономикой, близкой к свободному рынку (не безденежным раем под руководством колонии), а также населённой лучшими людьми, я сразу захочу туда поехать. Но у меня есть несколько ограничивающих критериев: 1) Должно появиться достаточно свидетельств отсутствия значимого вреда здоровью от перелёта и нахождения там. К сожалению, нужны годы для появления таких данных, а проблемы типа космической радиации пока, вроде бы, не решены. 2) Маршрут должен стать двухсторонний и с рыночным ценообразованием, чтобы я пользовался им, как клиент, когда пожелаю. 3) Количество бытовых неудобств не будет несопоставимо больше, чем во время жизни на Земле. В принципе, для меня этого достаточно. Да, сначала там будет не всё, что есть на Земле, но под давлением спроса со временем на Марсе обязательно появится всё недостающее. И этот расцвет новой цивилизации я хотел бы наблюдать вживую. А вы что думаете? @knowledge_accumulator
نمایش همه...
👍 9😁 4 3👎 2🔥 1💯 1
Photo unavailableShow in Telegram
Structurally Flexible Neural Networks: Evolving the Building Blocks for General Agents [2024] Наткнулся на ещё одну работу, в которой обучают модель-алгоритм. Её используют тут же для решения RL-задач, с результатами, по графикам сильно превосходящими VSML. Авторы придерживаются тех же базовых принципов - мало мета-параметров (обучающихся генетикой), большое скрытое состояние. Различие в том, в какую именно архитектуру всё это запаковано. У VSML это несколько "слоёв" LSTM, сцепленных, как обычная нейронная сеть, со связями вперёд и назад. В данной работе авторы используют более гибкую схему: 1) Есть 3 вида нейронов - входные, скрытые и выходные 2) Каждый входной нейрон может быть связан с каждым скрытым, каждый скрытый с каждым выходным 3) Перед началом обучения (то есть внутри эволюционной итерации) сэмплируются бинарные маски IxH и HxO, обозначающие наличие связи между каждым input и hidden, а также между каждым hidden и output. А что, собственно, обучается? Чем является в данном случае "нейрон"? Каждый нейрон принимает на вход векторы сигналов, складывает их и получает свой "Pre-neuron". Далее он домножается поэлементно на вектор w и получается post-neuron. После этого pre-neuron, post-neuron и награда из среды подаются в GRU, которая выдаёт дельту для вектора w. Вектор w у каждого нейрона свой, а вот веса GRU у всех скрытых нейронов одинаковые. То же и с входными, и с выходными группами, но у каждой группы своя GRU. Мне лично нравится, что такая плотно связанная сеть нейронов позволяет легко пробрасывать информацию по всей модели и быстрее обучаться своей задаче. Она содержит ещё меньше априорных допущений, чем предыдущий подход, что соответствует выводам из Bitter Lesson. Прорыв в итоге совершит подход, лучше всего балансирующий между гибкостью и эффективностью исполнения на современных GPU - иначе он падёт жертвой hardware lottery. Из минусов статьи - нет кода, нет meta-testing (хотя сомнений в успехе у меня нет), нет описания затраченных на обучение ресурсов. @knowledge_accumulator
نمایش همه...
👍 11🔥 4 2🤷 1
Как оптимально пользоваться страховками? Мы часто вынуждены принимать решение о покупке той или иной страховки, например, Каско. Периодически различные сервисы, например, продающие авиабилеты, предлагают заплатить им дополнительные деньги за покупку возвратной версии билета. Есть ли стратегия оптимального поведения в подобных ситуациях? Когда выгодно перестраховаться, а когда сэкономить? Чтобы ответить на этот вопрос, давайте вспомним, по какой логике работает страховой продукт: У множества людей есть независимые риски потери X_i денег, что вносит дисперсию в распределение будущего состояния. В ответ на это появляется агент, который оценивает вероятности этих потерь p_i, и предлагает людям заплатить p_i * X_i + delta. Эти собранные деньги он возвращает людям, если их риски сыграли. Если присутствует свободная конкуренция, то есть давление в сторону точной оценки p_i и уменьшения delta. А какое поведение со стороны клиента является оптимальным? Этот вопрос важен, поскольку последовательное следование той или иной стратегии долгосрочно отразится на вашем состоянии. Представим, что есть набор фичей про вас - A и B, где B - информация, доступная всем, а A знаете только вы. Работа страховой компании - построить правдивую модель p(X_i | B). Например, в расчёте стоимости Каско она будет использовать ваш стаж, возраст и т.д. Чем больше она про вас знает "хорошего", тем ниже будет оценка и стоимость страховки, и наоборот. Теперь предположите, что входит в A, и подумайте - как друг с другом соотносятся p(X_i | B) и p(X_i | A, B). Если плохие факты, о которых знаете только вы, сильно перевешивают хорошие - это означает, что компания недооценивает ваш риск, и вам выгодно его переложить. Например - вы покупаете билет на самолёт, но знаете, что есть конкретная причина, по которой с высокой вероятностью вы не сможете полететь. Тогда нужно брать возврат. А вот если вы водитель, и у вас есть основание считать, что вы водите аккуратнее других людей с такими же открытыми характеристиками, то вам невыгодно страховать машину. Самое смешное в этом всём то, что если все люди начинают продумывать свою стратегию, то появляется фича C - пришёл ли человек за страховкой. Она будет сигнализировать о том, что вероятность риска недооценена и вызовет бесконечный цикл повышения цены, вплоть до коллапса, прямо как в той игре, в которой нужно загадать число, в 2 раза меньшее, чем среднее у всех остальных. Но, скорее всего, в реальности C мало зависит от A и проблемы нет. А какую стратегию используете вы? @knowledge_accumulator
نمایش همه...
👍 14🔥 6 2😁 1🤔 1💯 1