Size: a a a

Жалкие низкочастотники

2020 January 10
Жалкие низкочастотники
Рубрика "уголок скучающего нерда": намедни поминали с товарищами древний проект CHDK, где нам пришлось отмаргивать прошивку фотоаппарата его же светодиодом. Потом, когда прошивка была получена, народ стал писать под фотоаппараты всякий дополнительный софт, из чего в итоге вырос не только CHDK, но и побочный проект MagicLantern. Из той истории для меня запомнилась пара находок, вроде замера выдержки с помощью дремеля и передачи дампа памяти через переменное энергопотребление (NOP vs MUL). Я же тогда более-менее ограничился тем, что запустил на фотоаппарате бегущую строку по ленте Мёбиуса в духе демосцены (снято на валенок) и отвлёкся на что-то другое.

И, к слову: недавно под руку попался проект по созданию народной opensource прошивки для паяльников TS100 (в числе улучшений отмечаются improved readability fonts). Что характерно, тут сами производители выложили свою прошивку в opensource, да зравствует конкуренция. Или, вот, скажем, проект по моддингу прошивки фонарика Convoy S2+. Меня тронуло, что он умеет отмаргивать свою температуру в градусах Цельсия.
источник
2020 January 12
Жалкие низкочастотники
Плотность туристов в залах первого этажа Лувра, восстановленная по гео-позициям снимков Инстаграмма. Для сравнения — карта этажа с основными экспонатами. Источник.
источник
2020 January 21
Жалкие низкочастотники
Только ленивый не написал про AI Dungeon, уже и фильм по её сценарию сняли —  мне не хотелось просто в очередной раз публиковать ссылку, поэтому я решил написать чуть более развёрнуто.

Контекст: AI Dungeon — это попытка сделать интерактивную текстовую игру на базе нейросети GPT-2. Про жанр текстовых игр я уже писал в этом канале. В целом, это похоже на настольные ADnD игры, в которых роль мастера выполняет компьютер.

История проекта: первую версию Nick Walton запустил весной 2019 года на базе малой версии GPT-2. Осенью, когда OpenAI опубликовала сетку полного размера (примерно в 12 раз больше), авторы переделали игру под неё и добавили всяких штук. В декабре с ними случился хабраэффект, к ним в одночасье пришло 70К игроков, условный игрок стоит им 1 бакс в месяц, а они студенты и у них лапки. Поэтому они теперь собирают денег на Патреоне, а файл с моделью раздают через торренты. Скачав модель, можно поиграть в игру на Colab-е. Вот тут родной пост от автора, а вот тут интервью с ним.

Чем это интересно: несмотря на мощный хайп, сетки вроде GPT-2, как и другие языковые модели довольно неудобны для unsupervised генерации текстов — они практически неуправляемы, и частенько сбиваются в бред или в повторение. Заранее предсказать, будет ли генерация выглядеть осмысленной или хотя бы грамматически корректной, обычно нельзя. Поэтому большая часть публикаций типа "нейросеть ХХХ написала УУУ" обычно является классическим cherry-picking-ом. Это не хорошо, и не плохо, это такой текущий state of the art, но именно по этой причине интересно анализировать попытки обвесить такую сетку костылями, делающими её поведение более контролируемым без ручной фильтрации и премодерации.

Я на выходных поковырял их исходный код и выписал несколько интересных моментов.
 * в качестве базы используют GPT-2 1.5B parameter model на tensorflow
 * написали scraper, который обходит всевозможные варианты в играх на chooseyourstory.com, и таким образом напарсили 30Мб
 * на этих 30Мб тюнили модель с целью приучить её к стилистике таких текстовых игр, в репозитории можно заметить также следы попыток использования труда mturkers, а также упоминания данных с сабреддита writingprompts — вероятно, пытаются с их помощью поднять качество
 * доучивали на DGX-1, это заняло около 16 часов
 * для борьбы с повторениями использовали штраф 1.2 к вероятностям уже использованных слов, точно как это было сделано в Salesforce CTRL model — тут я бы отметил, что на моём опыте подход unlikelihood training работает получше
 * запрещают модели генерировать плохие слова из явного списка
 * для "удержания смысла" в качестве префикса подают не только команду, но и историю из последних 8 вопросов-ответов — это помогает "заземлить" модель от слишком резких поворотов
 * при этом полученные от пользователя команды конвертируют из инфинитива и формы первого лица во второе лицо, таким образом, вход модели выглядит как слитный текст во втором лице -- это больше похоже на то, на чём она обучалась
 * в качестве дополнительного префикса при генерации каждой реплики используют краткое статическое описание персонажа и инвентаря, эти описания просто написаны вручную в конфиге -- по идее это также способствует "стабилизации нарратива"
 * эти же префиксы используют для реализации save / load
 * победу и смерть персонажа пытаются определять просто поиском ключевых слов в ответе модели

Весь этот набор костылей работает по прежнему далеко от идеала. Тут как обычно — если игрок хочет поверить, то он себя убедит, но в целом результат спорного качества (хотя и лучше, чем что-либо подобное до этого). Продолжаем наблюдать и экспериментировать.
источник
2020 January 22
Жалкие низкочастотники
Учёные изучают траектории падения листков бумаги разной формы. Для экспериментов сделали робота, который многократно вырезает лист нужной формы и бросает его под камеры. Видео. Статья. (Немного похоже на траектории падающего велосипеда, про которые я тут уже писал).
источник
2020 January 23
Жалкие низкочастотники
Откопал тут свою старую поделку — тепловые карты длины римской записи числа — в таблице умножения 100х100, в спирали Улема, в кривой Пеано. Мой древний блогопост.
источник
Жалкие низкочастотники
источник
Жалкие низкочастотники
источник
2020 January 24
Жалкие низкочастотники
AVERAGE ART: Я тут на праздниках взял датасет классической живописи с Kaggle-соревнования Painter by Numbers, отобрал из него 10К мужских и женских портретов, с разбивкой по стилям живописи. Затем использовал библиотеку Facer, о которой уже писал прошлым летом, чтобы построить средние лица по стилям, а также time-lapse средних лиц на портретах со средних веков по двадцатый. Детали можно почитать в посте на медиуме.
источник
2020 January 25
Жалкие низкочастотники
Нашёл что-то вроде курсача об оптимальной вероятностной стратегии игры в морской бой. Текст, график сравнения с другими стратегиями, оригинальный пост на реддите.
источник
2020 January 27
Жалкие низкочастотники
Тем временем в Оксфорде открылась вакансия профессора по специальности "ethics in AI" на факультете философии.
источник
2020 January 31
Жалкие низкочастотники
После недавнего поста про оптимальную стратегию игры в морской бой, в личку пришёл старинный товарищ Петя Иванов и в обсуждении мы решили, что оптимальная по вероятности стратегия не учитывает психологию игрока, поэтому есть потенциал для улучшения. Эту идею можно понятным образом использовать как при расстановке кораблей, так и при стрельбе, но массива данных по играм в открытом доступе я с ходу не нашёл. Нашёл только интересный пост Sue He, которая специально собирала данные, заставляя играть своих коллег, и так набрала 83 партии — даже на такой маленькой выборке видно некоторые закономерности (например, люди склонны прятать маленькие корабли по углам). Ещё нашёл большой и подробный пост с разбором всевозможных проектов по анализу и моделированию этой игры, включающий как различные вероятностные стратегии, так и попытки обучать разные нейросети.

А на гифке показано, как играют в морской бой настоящие химики.
источник
2020 February 14
Жалкие низкочастотники
Есть такой краудсорсинговый сервис Photofeeler для отбора фотографий (для резюме, тиндера и т.п.), куда можно загрузить свою фотографию и получить оценок по разным шкалам (ум, привлекательность, благонадежность) от сообщества -- это условно бесплатно, но чтобы получить оценки, надо самому оценить сколько-то чужих фотографий. Так вот они подсобрали данных и обучили на них сетку Photofeeler-D3, неплохо предсказывающую человеческие оценки, в т.ч. по видеопотоку. В посте — пример видео, где автор кривляется перед камерой, а сетка оценивает в реальном времени. Очки добавляют ума, но крадут привлекательность ;)
источник
2020 February 17
Жалкие низкочастотники
В рубрике "на гребне хайпа": появился хипстерский стартап Face ID masks, для разблокирования телефонов без снятия респираторной маски. Никаких масок пока нет, распознавание пока не работает, срач в комментах бурлит уже сейчас.
источник
2020 February 19
Жалкие низкочастотники
Я тут уже упоминал эксперименты с гугловым датасетом Quick, Draw!, а недавно мне вновь попался старенький, но отличный доклад Яна Джонсона, который в Гугле занимается визуализацией данных. Весь доклад построен на разных попытках визуализации этого же датасета и извлечении из него каких-то знаний о том, как люди рисуют разные вещи. Рекомендую посмотреть видео доклада или хотя бы почитать пост. На КДПВ слева — особенности национальных розеток, а справа — снеговичков.
источник
2020 February 20
Жалкие низкочастотники
Я вообще люблю странные штуки с часами, например, несколько лет назад реверсинжинирил и делал кастомные прошивки для часов Verbarius. А тут наткнулся на результаты недавнего конкурса необычных часов, Tell Time Contest от Hackaday.io.

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

А если это вам не интересно, почитайте архивы конкурса на самый плохой код.
источник
2020 February 22
Жалкие низкочастотники
Набрёл на сайт Тима Алекса Якобса и нашёл там несколько прекрасных проектов. Например, креноль на брейнфаке и ascii-вебкамера. Но больше всего мне понравились акустические QR-коды, т.е. генерация звука, чья спектрограмма выглядит, как читаемый код. Я, конечно, засунул в него свой именной QR-код, который когда-то я сделал с помощью старого проекта Расса Кокса, и правда — код (картинка слева) успешно читается из спектрограммы после передачи через динамики в микрофон (картинка в середине). На всякий случай я перепроверил внешним спектрометром после пережатия в mp3 (картинка справа) -- всё равно читается.

К слову, в вышедшей чуть больше года назад интерактивной серии Чёрного Зеркала, Bandersnatch, авторы спрятали похожую пасхалку: в самом конце герой слушает кассету с "электронным шумом", в котором старожилы могут узнать стандартную файловую запись картинки в формате ZX Spectrum. Если честно загрузить её в Speccy, можно увидеть QR-код, ведущий на "секретный" сайт, где доступна игра Nohzdyve из начала фильма.
источник
2020 March 01
Жалкие низкочастотники
Попалась приятная работа по эффективному поиску одинаковых поз на классических картинах. Распознают позы с помощью OpenPose, потом быстрой эвристикой набирают кандидатов на сравнение, потом окончательно проверяют с помощью RANSAC (немного перекликается с чуть более ранней работой, где на картинах искали схожие элементы свёрточными сетями). Чую, нейрохореография всё ближе :)

А если вам это скучно, почитайте статью про эффективную расскраску больших графов с помощью AlphaGoZero или подборку из 17 занимательных фактов о числе 17.
источник
2020 March 02
Жалкие низкочастотники
Наглядное сравнение осей и скоростей вращения основных тел солнечной системы (ускорено до 10 часов в секунду). Источник на реддите.
источник
2020 March 13
Жалкие низкочастотники
У меня отпуск и пятница, но тут красивое, так что напишу ;)

Товарищ Денис Малимонов aka @bomze собрал из пачки готовых моделей неплохую демонстрацию современных имеющихся возможностей нейросетей: с помощью First Order Motion Model натянул персонажа из Doom на свою мимику, сгладил и детализировал с помощью Remini и StyleGan2, добавил интерполяцию между фреймов с помощью VFIASC и повысил разрешение ESRGAN-ом.

Детали можно посмотреть в канале автора, а код на гихабе и в google colab-е.
источник
2020 March 17
Жалкие низкочастотники
В Японии школьники в связи с карантином сидят дома, а так как у них официальный конец учебного года как раз в марте, многие пропускают свои выпускные мероприятия. Расстроенные младшеклассники придумали организовывать выпускные церемонии в Minecraft-е. Оригинальный японский твитер-тред. Заметка на английском.
источник