Pull to refresh
33
0
Юрий @yurixi

Программист

Send message

Генеративная графика — не только ИИ

Level of difficultyMedium
Reading time10 min
Views1.4K

Привет, Хабр! В прошлый раз мы с вами создавали «Игру жизни» на Godot. Движок показал себя отлично, но для такой простой задачи это всё равно что забивать микроскопом гвозди. Особенно когда речь идёт о веб‑экспорте.

В последнее время стоит заикнуться про генерацию изображений, как все сразу вспоминают про нейросети. Stable Diffusion, Midjourney и прочие модели впечатляют, не спорю. Но давайте взглянем на другую сторону генеративного искусства. Ту, где картинки создаются не гигабайтами весов нейронной сети, а несколькими килобайтами JavaScript-кода.

И кстати раз уж речь зашла про красоту в коде: мы как раз запустили «Конкурс красоты кода 2.0». Самое время показать, что даже простые алгоритмы могут создавать нечто впечатляющее. Именно такие работы, где за внешней простотой скрывается математическая элегантность, часто оказываются самыми интересными.

Читать далее
Total votes 4: ↑4 and ↓0+6
Comments0

Как много общаться с людьми и не возненавидеть их

Level of difficultyEasy
Reading time4 min
Views4.2K

Привет! Мы — Лера и Наташа — исследователи в UX-лаборатории Контура. Мы много общаемся с командой-заказчиком, с пользователями продукта и с другими коллегами.

Но есть одно существенное отличие: у исследователя лаборатории каждые 3-4 недели новый заказчик и новый продукт. Хотя мы далеко не суперэкстраверты и не особо заряжаемся от бесконечного общения.

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

Читать далее
Total votes 9: ↑5 and ↓4+3
Comments0

Как мы делаем Автограф — «русское Visio»

Reading time6 min
Views21K
image
Самая первая инженерная версия редактора, не самая удобная для конечных пользователей

В России MS Visio используется для того, чтобы нарисовать планы помещений, вентиляции, пожарной сигнализации, рисовать всякие схемы работы — и так далее. Потом в какой-то момент оно пропало, а желание делать удобные схемы осталось.

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

Сейчас мы замещаем Visio в России и поддерживаем VSD/VSDX-форматы в обе стороны.

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

Сильно упрощая, каждая схема и в нашем движке, и в движке Visio состоит из векторных элементов. Пользователь перемещает окно с полем зрения по схеме, и для этого места идёт рендер — рисуются только те элементы, которые видно. Для каждого масштаба делается пререндер этого вектора с разной детализацией, то есть пользователь каждый момент времени работает со всего одной группой SVG-элементов. Всё остальное только кажется схемой из деталей, на самом деле — это единая отрендеренная большая картинка.
Читать дальше →
Total votes 44: ↑43 and ↓1+49
Comments69

Капитализм Vs Инфономика

Level of difficultyEasy
Reading time3 min
Views1.5K

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

Читать далее
Total votes 14: ↑7 and ↓7+2
Comments51

Языковое моделирование с помощью управляемых сверточных сетей

Reading time21 min
Views2.4K

Доминирующий на сегодняшний день подход к языковому моделированию  основан на рекуррентных нейронных сетях. Их успех в моделировании часто связан со способностью таких сетей обработать неограниченный контекст. В этой статье мы разрабатываем подход для конечного контекста с помощью сложенных (композитных) сверток, которые могут быть более эффективными, поскольку они позволяют распараллеливать последовательные порции данных. Мы предлагаем новый упрощенный нейро-управляемый механизм и исследуем для него влияние ключевых архитектурных решений. Предложенный подход достигает наиболее значимых результатов на бенчмарке WikiText103, даже несмотря на то, что он характерен долгосрочностью зависимостей, а также сопоставимых результатов на бенчмарке Google Billion Words. Наша модель уменьшает задержку при оценивании предложения на порядок, по сравнению с рекуррентными базовыми значениями. Насколько нам известно, это первый случай, когда непериодический подход конкурентоспособен с сильными рекуррентными моделями в подобных крупномасштабных языковых задачах.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments2

Настройка ПИД-регулятора для беспилотных автомобилей

Level of difficultyMedium
Reading time5 min
Views1.9K

Настройка ПИД-регулятора для беспилотных автомобилей

Этот проект иллюстрирует концепцию ПИД-регулятора, применяемого в беспилотных автомобилях в рамках программы Udacity «Беспилотный автомобиль»

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

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

Читать далее
Total votes 7: ↑3 and ↓4+1
Comments13

Как исследователи нарушают привычные подходы в ИИ, исключая матричное умножение

Level of difficultyMedium
Reading time5 min
Views3.3K

Привет, на связи Елена Кузнецова, специалист по автоматизации Шерпа Роботикс. Сегодня я перевела для вас статью, посвященную использованию моделей ИИ без лишней математики. Все мы знаем, что нейросети - дело энергозатратное. А описанные в статье исследования могут помочь снизить энергопотребление в работе нейросетей.

Исследователи из Университета Калифорнии в Санта-Круз, UC Дэвис, LuxiTech и Университета Сучжоу объявили о разработке нового подхода к оптимизации работы языковых моделей ИИ, который исключает матричное умножение из вычислительных процессов. Это принципиально меняет операции нейронных сетей, которые в настоящее время ускоряются с помощью графических процессоров (GPU). Результаты работы, изложенные в недавней препринте, могут существенно повлиять на экологическую устойчивость и операционные расходы систем ИИ.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments2

Распределение IQ: как программисту выживать в мире, рассчитанном на дураков?

Level of difficultyEasy
Reading time8 min
Views39K

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

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

В этом посте я хочу рассмотреть вопрос, ответ на который, надеюсь, поможет вам понять, почему многие вещи в мире устроены так, как они устроены. Почему многие законы такие нелогичные? Почему идущие в кинотеатрах фильмы такие незамысловатые, а шедевры всегда проваливаются в прокате? Почему до сих пор так распространено мошенничество "с безопасным счётом", если о нём трындят на каждом шагу? Почему в США так важно кого на выборах поддержит Тейлор Свифт? Почему существует общество плоской Земли? Почему полиция работает так, как она работает? Причём я не буду прямо рассматривать ни один из этих вопросов, а рассмотрю только метавопрос, метаответ на который безмолвно отвечает на них все.

Читать далее
Total votes 130: ↑109 and ↓21+99
Comments675

Как идеи Аристотеля применяются в GenAI. Разбираем вопросы этики ИИ в образовании и создаем философский чат-бот

Level of difficultyMedium
Reading time16 min
Views1.1K

Учёные Лаборатории цифровой философии Санкт-Петербургского государственного университета на протяжении нескольких лет занимаются глубоким исследованием цифрового мира. Проект объединяет междисциплинарные исследования и занимается вопросами, которые задают философам представители цифровых технологий, статусом традиционных философских вопросов в сфере технологий и разработкой цифровых инструментов в изучении философии. Исследование генеративных нейронных сетей и их использование в педагогике вообще и в философии в частности – одна из сфер интересов учёных Лаборатории. Опыт применения этих сетей на семинарах показал ряд интересных особенностей использования GenAI (Generative Artificial Intelligence) в философии.

Об этике применения генеративных нейронных сетей в образовании, а также о философском чат-боте рассказывает координатор семинара «Лаборатория цифровой философии» Дмитрий Ярочкин.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments1

Как у нейросетей работает внимание? Статья про self-attention и cross-attention

Level of difficultyMedium
Reading time5 min
Views1.9K

Удивительно, как нейросети похожи на нас. У них тоже есть внимание, и на примере коня на ракете я расскажу, как оно работает!

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments0

12 причин, почему технологии Wolfram — это не Open Source

Reading time18 min
Views5.7K

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

Я рискую тем, что спровоцирую open-source сообщество, но решил поделиться некоторыми своими взглядами. Хотя есть контрпримеры к большинству моих слов, не все пункты применимы к каждому проекту, и я несколько упускаю из виду различные виды "свободного" и "открытого", я надеюсь, что мне удалось выкристаллизовать некоторые ключевые моменты.

Подскаст, посвященной это теме размещен в SoundCloud.

TLDR: Большая часть этой статьи может быть подытожена двумя выводами: (1) бесплатное программное обеспечение с открытым исходным кодом может быть очень хорошим, но оно плохо справляется с тем, что мы пытаемся сделать; и большая часть причины в том, что (2) открытый исходный код распределяет разработку среди небольших, самостоятельно собирающихся групп, которые по отдельности решают части общей задачи, но масштабная, единая разработка требует централизованного контроля и постоянных усилий.

Я описал 12 причин, по которым считаю, что создание технологического стека Wolfram с использованием бесплатной модели с открытым исходным кодом было бы невозможным. Мне было бы интересно узнать ваше мнение в комментариях к этой статье.

Читать далее
Total votes 10: ↑5 and ↓5+4
Comments16

Полезные Youtube-каналы

Level of difficultyEasy
Reading time2 min
Views7.3K

Сегодня хотим поделиться с вами подборкой Youtube‑каналов по ИИ, машинному обучению и математике. Если у вас есть еще рекомендации, обязательно дополняйте пост в комментариях!

Читать далее
Total votes 18: ↑11 and ↓7+9
Comments8

Могут ли трансформеры «думать»

Level of difficultyMedium
Reading time21 min
Views5.9K

Недавние исследования показывают, что модели трансформеров способны почти безошибочно решать задачи, требующие нескольких логических шагов. Например, из утверждения А вывести Б и дойти логически до В. И что удивительно, это достигается без использования Chain-of-Thought или особых промптов — только классический GPT-2. Давайте посмотрим, как трансформеры «думают» при решении задач рассуждения, и напишем для этого код с использованием библиотеки Hugging Face.

Читать далее
Total votes 19: ↑14 and ↓5+11
Comments21

Подборка игр с низкоуровневым программированием

Level of difficultyEasy
Reading time5 min
Views35K

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Total votes 67: ↑66 and ↓1+79
Comments26

Тысяча и одна библиотека С++

Reading time65 min
Views30K

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++
Total votes 82: ↑81 and ↓1+92
Comments23

Дизайн и эволюция constexpr в C++

Reading time29 min
Views35K

constexpr - одно из самых магических ключевых слов в современном C++. Оно дает возможность создать код, который будет выполнен еще до окончания процесса компиляции, что является абсолютным пределом для быстродействия программ.

У constexpr с каждым годом становится больше возможностей. Сейчас использовать в compile-time вычислениях можно почти всю стандартную библиотеку. Пример вычисления числа до 1000 с наибольшим количеством делителей: ссылка на код.

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

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

Назад в будущее
Total votes 47: ↑47 and ↓0+47
Comments17

Локальные LLM в разработке: а почему бы и да?

Level of difficultyMedium
Reading time12 min
Views9.8K

Меня зовут Антон Гращенков, и я занимаюсь развитием Java в Альфа-Банке. Программированием увлекаюсь ещё со школы: писал на множестве разных языков — от Pascal до TypeScript, мне это просто нравится. В статье я на примерах покажу, для каких задач я использую локальные модели. Да, существует много инструментов доступных в облаке, — тот же ChatGPT, Copilot или YandexGPT. Однако можно запустить такую модель и локально, и сделать это крайне просто. 

Ведь если хочется, то почему бы и да?

Читать далее
Total votes 43: ↑43 and ↓0+51
Comments7

Инициализация в современном C++

Reading time26 min
Views161K


Общеизвестно, что семантика инициализации — одна из наиболее сложных частей C++. Существует множество видов инициализации, описываемых разным синтаксисом, и все они взаимодействуют сложным и вызывающим вопросы способом. C++11 принес концепцию «универсальной инициализации». К сожалению, она привнесла еще более сложные правила, и в свою очередь, их перекрыли в C++14, C++17 и снова поменяют в C++20.


Под катом — видео и перевод доклада Тимура Домлера (Timur Doumler) с конференции C++ Russia. Тимур вначале подводит исторические итоги эволюции инициализации в С++, дает системный обзор текущего варианта правила инициализации, типичных проблем и сюрпризов, объясняет, как использовать все эти правила эффективно, и, наконец, рассказывает о свежих предложениях в стандарт, которые могут сделать семантику инициализации C++20 немного более удобной. Далее повествование — от его лица.

Total votes 62: ↑61 and ↓1+60
Comments125

Не Unity единым…

Level of difficultyEasy
Reading time15 min
Views39K

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

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

Читать далее
Total votes 95: ↑95 and ↓0+95
Comments89
1
23 ...

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Registered
Activity