Поделюсь с вами успешным опытом разработки рендера в браузере большой, постоянно расширяющейся анимационной сцены, состоящей из множества мелких двигающихся объектов, зацикленных в 5 секунд.
User
О квадратных уравнениях в правильном порядке
Как вам преподавали квадратные уравнения в школе? Это был 7-8 класс, примерно. Вероятнее всего, вам рассказали что есть формулы корней через дискриминант, что направление ветвей зависит от старшего коэффициента. Через пару занятий дали теорему Виета. Счастливчикам еще рассказали про метод переброски. И на этом решили отпустить.
Формула Бине без плавающей точки
Красивая формула Бине для чисел Фибоначчи содержит иррациональность - квадратный корень из пяти, что делает ее непригодной для точного вычисления больших чисел Фибоначчи. Это кажется вполне очевидным. Предлагаю способ, как избавиться от зловредного корня и сделать формулу Бине пригодной для точных вычислений.
Фонд золотых цитат: как сгенерировать стикеры из сообщений в Telegram
Все началось с одной из учебных групп в Telegram. Студенты там очень любят делать стикеры из сообщений своего преподавателя. Я выяснил, что делаются они в полуавтоматическом режиме: сообщение пересылается в бота, который рисует «пузырек» сообщения, а результат пересылается в официального стикер-бота.
Схема рабочая, но напрашивается идея минимизировать количество пересылок. Тем более, что в Telegram существуют боты, создающие пользовательские стикерпаки. Рассказываю, как сделать такого бота без лишних телодвижений, и даю свое творение на тест. Если не хотите запариваться с созданием бота, но не против запечатлеть парочку своих золотых цитат для потомков, — прошу под кат.
Охота на Вампуса. Переосмысление классической игры для Алисы
Привет! Меня зовут Кирилл Богатов, я дизайнер голосовых интерфейсов в команде TORTU и заядлый геймер. Когда эти две страсти сталкиваются, рождаются необычные концепты для голосовых игр.
Месяц назад я выпустил игру «Охота на Вампуса» для голосового ассистента Алисы. Игра получила много положительных отзывов и побывала в топ-10 развлекательных навыков. В этой статье я поэтапно расскажу о процессе её создания: от переосмысления идей первоисточника — до технической реализации.
Стратификация. Как разбиение выборки повышает чувствительность A/B теста
Всем привет! На связи команда ad-hoc аналитики X5 Tech.
Сегодня подробно обсудим применение стратификации для повышения чувствительности оценки AB экспериментов.
Станислав Лем: Безопасна ли техника без опасности
Безопасна ли техника без опасности?
Впервые опубликовано: Литературная газета №127 от 26 октября 1965 года стр. 4Сейчас много пишут о герое научной фантастики — человеке будущего. Тема эта выводит нас далеко за границы литературы. Кроется в этой теме известное противоречие, я бы сказал даже — антиномия. С одной стороны, все мы хотели бы, чтобы человек будущего был смелым, отважным, способным к самопожертвованию, творчески ищущим, но с другой, — делаем все, чтобы воспрепятствовать проявлению именно таких его черт. В самом деле, развитием цивилизации создаются условия, в которых различные явления, осложняющие человеческое существование, дают о себе знать все меньше и меньше. Как известно, то, что люди делают, всегда важнее того, о чем они думают и говорят. А «делают» они — точнее сказать, создают — современную технику, главная тенденция которой — автоматизация различных операций, привычно выполняемых самим человеком. Если бы в моей повести «Непобедимый» чисто технические средства, которыми располагает общество, были бы более совершенными и мощными, чем я это показал, то угрожающие людям феномены «мертвой эволюции» на пустынной планете можно было бы обуздать и обезвредить без чьего-либо вмешательства, без какого-либо самопожертвования и даже без какой бы то ни было надобности подвергать опасности человеческую жизнь. В то время, когда это происходило бы, люди могли бы спокойно читать книги или вести дружеские беседы. Никакой героизм не был бы здесь нужен вообще.
Туториал по uplift моделированию. Часть 1
Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации с клиентами и выбирается группа, которая наиболее подвержена влиянию.
Такой класс задач прост в реализации, но не получил большого распространения в литературе про машинное обучение. Небольшой цикл статей, подготовленный Ириной Елисовой (iraelisova) и Максимом Шевченко (maks-sh), можно рассматривать как руководство к решению таких задач. В рамках него мы познакомимся с uplift моделями, рассмотрим, чем они отличаются от других подходов, и разберем их реализации.
Туториал по Uplift моделированию. Часть 2
В первой части мы познакомились с uplift моделированием и узнали, что метод позволяет выбирать оптимальную стратегию коммуникации с клиентом, а также разобрали особенности сбора данных для обучения модели и несколько базовых алгоритмов. Однако эти подходы не позволяли оптимизировать uplift напрямую. Поэтому в этой части разберем более сложные, но не менее интересные подходы.
Почему графику в видеоиграх по-прежнему так сложно создавать?
Введение
В этом посте будут рассмотрены трудности и аспекты производства, которые нужно учитывать при создании новых методик и алгоритмов рендеринга/графики, особенно в контексте прикладных исследований рендеринга реального времени. Я буду рассказывать о своём личном опыте работы над Witcher 2, Assassin’s Creed 4: Black Flag, Far Cry 4 и God of War.
Многие из этих трудностей легко упустить, хотя в продакшене они становятся настоящими проблемами. Однако вы можете с ними и не столкнуться, если только читаете о подобных методиках, работаете над исследованиями, пишете статьи или создаёте технологические демо.
Я слышал вопросы типа «почему эта великолепная исследовательская методика X не используется в продакшене?» и от геймеров, и от коллег из научных кругов. На то всегда бывают очень веские причины!
Источником вдохновения для этого поста также послужил мой шуточный твит о том, что создать впечатление о себе как об умном и опытном программисте графики можно, отказавшись от большинства методик рендеринга, потому что они не будут работать с растительностью. И да, в этом посте мы несколько раз вернёмся к теме растительности.
Я вспоминаю об этой теме ещё и каждый раз, когда слышу дискуссии о том, что «фотограмметрия, трассировка лучей, нейронный рендеринг, [вставить любую другую новую тему] станет универсальным решением для рендеринга и заменит всё остальное!». Спойлер: этого не случится (по крайней мере, в ближайшее время).
Как построить свою систему поиска похожих изображений
В интернете есть много информации о поиске похожих изображений и дубликатов. Но как построить свою систему? Какие современные подходы применять, на каких данных обучать, как валидировать качество поиска и куда смотреть при выводе в production?
В этой статье я собрал все необходимые компоненты поисковой системы на изображениях в одном месте, разбавив контент современными подходами.
Диаграмма Вороного и её применения
Также будет рассмотрено много интересных применений диаграммы и несколько любопытных фактов о ней. Будет интересно!
Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан
Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.
Kaggle – наша экскурсия в царство оверфита
И многое-многое другое.
Мне давно хотелось попробовать, но что-то всё время мешало. Я разрабатывал много систем, связанных с обработкой изображений: тематика близка. Навыки более лежат в практической части и классических Computer Vision (CV) алгоритмах, чем в современных Machine Learning техниках, так что было интересно оценить свои знания на мировом уровне плюс подтянуть понимание свёрточных сетей.
И вот внезапно всё сложилось. Выпало пару недель не очень напряжённого графика. На kaggle проходил интересный конкурс по близкой тематике.Я обновил себе комп. А самое главное — подбил vasyutka и Nikkolo на то, чтобы составить компанию.
Сразу скажу, что феерических результатов мы не достигли. Но 18 место из 1.5 тысяч участников я считаю неплохим. А учитывая, что это наш первый опыт участия в kaggle, что из 3х месяц конкурса мы участвовали лишь 2.5 недели, что все результаты получены на одной единственной видеокарте — мне кажется, что мы хорошо выступили.
О чём будет эта статья? Во-первых, про саму задачу и наш метод её решения. Во-вторых, про процесс решения CV задач. Я писал достаточно много статей на хабре о машинном зрении(1,2,3), но писанину и теорию всегда лучше подкреплять примером. А писать статьи по какой-то коммерческой задаче по очевидным причинам нельзя. Теперь наконец расскажу про процесс. Тем более что тут он самый обычный, хорошо иллюстрирующий как задачи решаются. В-третьих, статья про то, что идёт после решения идеализированной задаче в вакууме: что будет когда задача столкнётся с реальностью.
Обучение машины — забавная штука: современное распознавание лиц с глубинным обучением
Библия движений Doom. Часть 1
Метрика
Начнем с основ. Код движка для движений игрока в Doom имеет следующий вид:
- Сбор исходных данных игрока
- Применение векторов движущей силы к игроку на основе исходных данных
- Сжатие скорости игрока, если она слишком велика
- Проверка, расчеты и перемещения
- Использование ускорения через трение для следующего движения игрока
Рассмотрим все поподробней.
Благодаря только этому и паре переменных мы сможем определить возможные максимальные скорости персонажа игрока.
По вполне понятным причинам максимальная скорость игрока достигается тогда, когда ускорение, заданное игроком, равно и противоположно замедлению от трения.
Распутывая историю Ады Лавлейс (первого программиста в истории)
Перевод поста Стивена Вольфрама "Untangling the Tale of Ada Lovelace".
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.
Содержание
Ранние годы Ады
Чарльз Бэббидж
Уровень развития этой области
Возвращаемся к Аде
Возвращаясь к Бэббиджу
Статья Ады
После статьи
После смерти Ады
Что стало с Бэббиджем?
Повторное открытие
О чем на самом деле писала Ада
Вычисление чисел Бернулли
Бэббидж vs. Ада?
Секретный ингредиент Бэббиджа
В большем масштабе
А что, если...
Какими они были?
Заключение
Ада Лавлейс родилась 200 лет назад. Для некоторых она является знаменательной фигурой в истории вычислительной техники; для других — изрядно переоцененной личностью. В течение долгого времени я пытался разобраться, как всё было на самом деле. И вот, к её двухсотлетию, я решил разобраться в том, что называл для себя "тайной Ады".
Получилось намного сложнее, чем я ожидал. Историки расходятся во мнениях. Личности в истории сложно изучать. Технологии трудно понять. Вся история переплетается с обычаями 19-го века британского высшего общества. И есть удивительное количество ошибочных сведений и неверных трактовок.
Но после некоторого исследования, в том числе просмотра большого количества оригинальных документов, я чувствую, что я, наконец, понял, кто есть Ада Лавлейс, и какова ее история. Эта история полна как увлекательных, захватывающих моментов, так и трагичных, разочаровывающих.
Это сложная история, и чтобы в ней разобраться, нужно будет о многом рассказать.
Чтение мыслей стало ближе к реальности
Создана карта участков мозга, которые отвечают за понимание разных слов
Группа нейробиологов из университета Калифорнии в Беркли впервые в мире составила «семантический атлас» коры головного мозга. Он не только показывает, где именно обрабатываются значения различных слов, но и демонстрирует, что семантическая обработка слов задействует обширные районы головного мозга, а не только отдельные участки в левом полушарии.
Бинарное дерево и римские цифры для рыжих лесных муравьёв, или как эти насекомые считают
Так муравьи, столкнувшись где-нибудь,
Потрутся рыльцами, чтобы дознаться,
Быть может, про добычу и про путь.
Но только миг объятья дружбы длятся,
И с первым шагом на пути своем
Одни других перекричать стремятся...
С этой цитаты часто начинает разговор о муравьях этолог Жанна Резникова, которая вместе со специалистом по теории информации Борисом Рябко изучает язык и системы исчисления этих насекомых. Хотя муравьи не умеют умножать и делить, они способны складывать и вычитать.
Передача данных длится не быстро, как описывал Данте — чтобы рассказать о правильном пути в лабиринте из шести поворотов, муравей тратит 200 секунд, но про несколько одинаковых поворотов тот же муравей расскажет в три раза быстрее — а это значит, что муравьи способны оптимизировать и сокращать информацию. Для проверки способностей муравьёв учёные использовали «бинарное дерево» и простой лабиринт-гребёнку.
Information
- Rating
- Does not participate
- Registered
- Activity