Pull to refresh
16
0
Никита @7voprosov

Пользователь

Send message

Будущее математики?

Reading time7 min
Views40K
В этом переводе презентации британского математика Кевина Баззарда мы увидим, что следующий комикс xkcd безнадежно устарел.

image

Каково будущее математики?


  • В 1990-х компьютеры стали играть в шахматы лучше людей.
  • В 2018 компьютеры стали играть в го лучше людей.
  • В 2019 исследователь искусственного интеллекта Christian Szegedy сказал мне, что через 10 лет компьютеры будут доказывать теоремы лучше, чем люди.

Конечно, он может быть не прав. А может быть и прав.
Читать дальше →
Total votes 104: ↑104 and ↓0+104
Comments202

Онлайн визуализация алгоритмов: жадного, Дейкстры, A* и двунаправленного поиска

Level of difficultyEasy
Reading time3 min
Views8.2K

В прошлых публикациях на Хабре я находил все жилые дома в пешей доступности от входов в метро и МЦК и жилье в 500м от сетевых продуктовых магазинов в Москве.

Когда настал момент объединить все метрики для мегаполиса, включая пешеходные расстояния и экологию в единую модель, то производительность расчетов стала упираться в вычисления маршрутов внутри GraphHopper.

И в этот же день в чате OpenStreetMap RU появляется ссылка на проект honzaap Pathfinding, который визуализирует алгоритмы поиска кратчайшего маршрута и еще делает анимацию по шагам на реальных данных в карте прямо в браузере. Поделюсь с вами примерами визуализаций поиска маршрута для прогулки из Серебряного Бора в Большой театр в Москве.

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

Определяем оптимальный размер групп при множественном А/Б тестировании

Reading time3 min
Views9.9K

Привет, Хабр! В этой статье мы затронем один из аспектов множественного тестирования, а именно определение оптимальных размеров групп в случае общей контрольной группы. Докажем теоретически, что предлагаемый способ является оптимальным и сравним его с другими популярными подходами.

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

Как (быстро) сделать русский локальный ChatGPT

Level of difficultyMedium
Reading time7 min
Views37K

Эта история началась в начале марта этого года. ChatGPT тогда был в самом расцвете. Мне в Telegram пришёл Саша Кукушкин, с которым мы знакомы довольно давно. Спросил, не занимаемся ли мы с Сашей Николичем языковыми моделями для русского языка, и как можно нам помочь.

И так вышло, что мы действительно занимались, я пытался собрать набор данных для обучения нормальной базовой модели, rulm, а Саша экспериментировал с существующими русскими базовыми моделями и кустарными инструктивными наборами данных.

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

Читать далее
Total votes 70: ↑69 and ↓1+88
Comments54

Социалистическое медиа «Диалектик» рассказывает о своих NLP проектах в 2023, публикует датасеты и делится кодом

Level of difficultyEasy
Reading time15 min
Views6.5K


Почти сразу после публикации поста про систему поиска новостей о трудовых конфликтах в СНГ я познакомился с коллективом проекта «Диалектик». Ребята отмечали важность отслеживания зарубежных забастовок и анализа опыта мирового рабочего движения в отстаивании трудовых прав. Поэтому я начал помогать «Диалектику» своими навыками работы с алгоритмами машинного обучения.


Было решено разработать систему, которая бы автоматически находила новости о зарубежных трудовых конфликтах. Во время разработки этой системы я познакомился с другими техническими проектами «Диалектика», о которых хочу рассказать в этом посте. Почти каждый проект включает в себя анализ данных, поэтому публикуемые в открытый доступ данные и код могут быть полезными Data Science сообществу.

Читать дальше →
Total votes 24: ↑21 and ↓3+25
Comments3

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation

Reading time4 min
Views18K

Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные слои, которые имеют всего два параметра с четкой интерпретацией. Интерпретируемость параметров нейронной сети — дело довольно затруднительное, поэтому эта статья привлекла мой интерес.



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

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments9

Разработка стековой виртуальной машины и компилятора под неё (итог)

Reading time16 min
Views10K

Для завершения реализации компилятора потребовалось около месяца времени (вечерами), чтобы на практике познакомиться с такими темами как BNF (Backus Naur Form), Abstract Syntax Tree (AST), Symbol Table, способами генерации кода, разработки самого компилятора (front-end, back-end), а также модификации виртуальной машины CVM. Ранее с этими темами был не знаком, но благодаря комментаторам погрузился. Хоть затрагиваемых тем много, постараюсь рассказать очень лаконично. Но обо всём по порядку.

Читать далее
Total votes 19: ↑17 and ↓2+19
Comments9

Vulkan. Руководство разработчика. Swap chain

Reading time14 min
Views7.2K


Я продолжаю публиковать переводы руководства к Vulkan API (cсылка на оригинал — vulkan-tutorial.com), и сегодня хочу поделиться переводом новой главы — Swap chain из раздела Drawing a triangle, подраздела Presentation.

Содержание
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments2

Автоэнкодеры в Keras, Часть 5: GAN(Generative Adversarial Networks) и tensorflow

Reading time9 min
Views31K

Содержание



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

При всех преимуществах вариационных автоэнкодеров VAE, которыми мы занимались в предыдущих постах, они обладают одним существенным недостатком: из-за плохого способа сравнения оригинальных и восстановленных объектов, сгенерированные ими объекты хоть и похожи на объекты из обучающей выборки, но легко от них отличимы (например, размыты).

Этот недостаток в куда меньшей степени проявляется у другого подхода, а именно у генеративных состязающихся сетейGAN’ов.

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

Коротко о GAN


GAN’ы впервые были предложены в статье [1, Generative Adversarial Nets, Goodfellow et al, 2014] и сейчас очень активно исследуются. Наиболее state-of-the-art генеративные модели так или иначе используют adversarial.

Схема GAN:



Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments9

Методы оптимизации нейронных сетей

Reading time17 min
Views214K

В подавляющем большинстве источников информации о нейронных сетях под «а теперь давайте обучим нашу сеть» понимается «скормим целевую функцию оптимизатору» лишь с минимальной настройкой скорости обучения. Иногда говорится, что обновлять веса сети можно не только стохастическим градиентным спуском, но безо всякого объяснения, чем же примечательны другие алгоритмы и что означают загадочные \inline \beta и \inline \gamma в их параметрах. Даже преподаватели на курсах машинного обучения зачастую не заостряют на этом внимание. Я бы хотел исправить недостаток информации в рунете о различных оптимизаторах, которые могут встретиться вам в современных пакетах машинного обучения. Надеюсь, моя статья будет полезна людям, которые хотят углубить своё понимание машинного обучения или даже изобрести что-то своё.


image


Под катом много картинок, в том числе анимированных gif.

Читать дальше →
Total votes 78: ↑78 and ↓0+78
Comments74

Как не пополнить ряды стремных специалистов, если ты Data Scientist

Reading time18 min
Views23K

Хабра-сообщество провело еще одно интервью в нашем образовательном проекте: прямых эфирах c ребятами из IT, которые отвечают на ваши вопросы в формате живого общения.

Наш проект — попытка создать полноценный набор гайдов и рекомендаций для успешной жизни разработчика: как построить карьеру, получить оффер мечты, привлечь инвестиции в стартап, не тухнуть на скучных проектах, вырасти в своем деле и по пути купить домик у моря.

В начале недели наши вопросы отвечал Борис Янгель — ML-инженер Яндекса, который участвовал в создании мозгов «Алисы», а теперь делает беспилотные автомобили. 

Боря рассказал о том, как стать крутым Data-Scientist, как парашютный спорт помогает ему в работе, почему конференции по ML бесполезны и ответил на недавний пост разгневанного отца про то, как Алиса рекомендовала видео с историями убийств ребенку.
Total votes 32: ↑27 and ↓5+44
Comments4

Пишем настоящий шум Перлина

Reading time7 min
Views70K
По поисковому запросу шум перлина сразу попадается этот перевод на Хабре. Как справедливо заметили в комментариях к публикации, речь идёт вовсе не о шуме Перлина. Возможно, автор перевода и сам был не в курсе.

Чем выгодно отличается шум Перлина, легко можно заметить, если сравнить картинки.

Обычный шум (из той самой статьи):
image

Шум Перлина:
image

И увеличением количества октав первую картинку ко второй никак не приблизишь. Я не буду описывать достоинства шума Перлина и область его применения (потому что статья о программировании, а не о применении), а постараюсь объяснить как он реализован. Думаю, это будет полезно многим программистам, ведь хакерские исходники Кена Перлина мало объясняют даже при наличии комментариев.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments18

Почему Kaldi хорош для распознавания речи? (обновлено 25.12.2019)

Reading time7 min
Views31K


Почему мне (и, надеюсь, вам) интересно распознавание речи? Во-первых, это направление является одним из самых популярных по сравнению с другими задачами компьютерной лингвистики, поскольку технология распознавания речи сейчас используется почти повсеместно – от распознавания простого «да/нет» в автоматическом колл-центре банка до способности поддерживать «светскую беседу» в «умной колонке» типа «Алисы». Во-вторых, чтобы система распознавания речи была качественным, необходимо найти самые эффективные средства для создания и настройки такой системы (одному из подобных средств и посвящена эта статья). Наконец, несомненным «плюсом» выбора специализации в области распознавания речи лично для меня является то, что для исследований в этой области необходимо владеть как программистскими, так и лингвистическими навыками. Это весьма стимулирует, заставляя приобретать знания в разных дисциплинах.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments34

Распознавание речи от Яндекса. Под капотом у Yandex.SpeechKit

Reading time10 min
Views146K
imageНа Yet another Conference 2013 мы представили разработчикам нашу новую библиотеку Yandex SpeechKit. Это публичный API для распознавания речи, который могут использовать разработчики под Android и iOS. Скачать SpeechKit, а также ознакомиться с документацией, можно здесь.

Yandex SpeechKit позволяет напрямую обращаться к тому бэкэнду, который успешно применяется в мобильных приложениях Яндекса. Мы достаточно долго развивали эту систему и сейчас правильно распознаем 94% слов в Навигаторе и Мобильных Картах, а также 84% слов в Мобильном Браузере. При этом на распознавание уходит чуть больше секунды. Это уже весьма достойное качество, и мы активно работаем над его улучшением.

image

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

Как устроено распознавание речи в Яндексе
Total votes 155: ↑149 and ↓6+143
Comments60

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

Reading time3 min
Views35K

Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Читать дальше →
Total votes 38: ↑34 and ↓4+40
Comments51

Это норма: что такое карты нормалей и как они работают

Reading time6 min
Views76K
На протяжении нескольких лет я пытался разобраться в картах нормалей и в проблемах, которые обычно возникают при работе с ними.

Большинство найденных объяснений было слишком техническим, неполным или чересчур сложным для моего понимания, поэтому я решил попробовать объяснить собранную мной информацию. Я понимаю, что эти объяснения могут быть неполными или не совсем точными, но всё равно попробую.

Первые созданные человеком 3D-модели выглядели примерно так:

image

Это замечательно, но у такой модели есть очевидное ограничение: она выглядит слишком полигональной.

Наиболее очевидное решение: добавить больше полигонов, сделав поверхность более равномерной и гладкой, вплоть до того, чтобы полигоны казались единой гладкой поверхностью. Но оказывается, для того, чтобы сделать поверхности наподобие сфер гладкими, нужно огромное количество полигонов (особенно сегодня).
Читать дальше →
Total votes 52: ↑49 and ↓3+66
Comments6

Deep Fake Science, кризис воспроизводимости и откуда берутся пустые репозитории

Reading time13 min
Views60K


Я мирно сидел на семинаре, слушал доклад студента о статье с прошлого CVPR и параллельно гуглил тему.

— К достоинствам статьи можно отнести наличие исходного кода….
Пришлось вмешаться:
— Наличие чего, простите?
— Э-э-э… Исходного кода…
— Вы его смотрели? 
— Нет, но в статье указано… 
(мать-мать-мать… привычно отозвалось эхо)
ㅡ Вы ходили по ссылке?

В статье, действительно, предельно обнадеживающе написано: “The code and model are publicly available on the project page …/github.io/...”, — однако в коммите двухлетней давности по ссылке значится вдохновляющее «Код и модель скоро выложим»‎:


Ищите и обрящете, стучите и откроется… Может быть… А может быть и нет. Я бы, исходя из печального опыта, ставил на второе, поскольку ситуация в последнее время повторяется ну уж о-о-очень часто. Даже на CVPR. И это только часть проблемы! Исходники могут быть доступны, но, к примеру, только модель, без скриптов обучения. А могут быть и скрипты обучения, но за несколько месяцев с письмами к авторам не получается получить такой же результат. Или за год на другом датасете с регулярными скайп-звонками автору в США не удается воспроизвести его результат, полученный в наиболее известной лаборатории в отрасли по этой теме… Трындец какой-то.

И, судя по всему, мы пока видим лишь цветочки. В ближайшее время ситуация кардинально ухудшится. 

Кому интересно, что стало со студентом куда катится научный мир, в том числе по «вине»‎ глубокого обучения, добро пожаловать под кат!
Читать дальше →
Total votes 165: ↑164 and ↓1+224
Comments244

Изучаем OpenGL ES2 для Android Урок №2. Создание треугольников

Reading time21 min
Views29K
Урок №2. Создание треугольников

Основу кода и идеи я черпал отсюда:
1. Сатия Коматинени, Дэйв Маклин, Саид Хашими. Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов.: Пер. с англ. – М.: ООО «И.Д.Вильямс». 2012 – 1024 с.
2. http://www.learnopengles.com/android-lesson-one-getting-started/

На первом уроке (можно посмотреть здесь https://habrahabr.ru/post/278895/ или здесь albatrossgames.blogspot.com/2016/03/opengl-es-2-android-1-opengl.html#more ) мы с вами научились заливать экран одним цветом с помощью OpenGL ES. Пришла пора рисовать треугольники, а точнее, с помощью треугольников мы нарисуем парусник, который будет циклично двигаться слева направо.

image1
Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments5

Рецепты под Android: Как вкусно приготовить LayoutManager

Reading time16 min
Views48K
Привет хабр!

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


Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments4

Information

Rating
Does not participate
Registered
Activity