Как стать автором
Обновить
33
0
Nick Linker @nlinker

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

Отправить сообщение

О нет! Моя Data Science ржавеет

Время на прочтение9 мин
Количество просмотров9.1K
Привет, Хабр!

Предлагаем вашему вниманию перевод интереснейшего исследования от компании Crowdstrike. Материал посвящен использованию языка Rust в области Data Science (применительно к malware analysis) и демонстрирует, в чем Rust на таком поле может посоперничать даже с NumPy и SciPy, не говоря уж о чистом Python.


Приятного чтения!
Читать дальше →
Всего голосов 10: ↑8 и ↓2+7
Комментарии9

Как выглядит стоматология будущего: зубы — это атавизм

Время на прочтение8 мин
Количество просмотров45K
Есть ближайшее будущее, оно про 3D-принтеры и аугментацию. Вот это уже реальность, хоть и не массовая, мы так делаем:

image
Брекеты для лица: 3D-печать по металлу, ПО проектирования прикуса — и можно смоделировать и пересобрать череп заново.

У нас уже есть крутые штуки в виде 3D-сканеров, цифрового моделирования ортодонтических процессов, 3D-принтеры (фотополимерные и DMLS, не хоббийные FDM) и автоматизированные фрезы. И уже скоро мы ждём новых наработок в виде таргетных бактериофагов, вакцины против адгезивного белка Streptococcus mutans и генно-модифицированных микроорганизмов для заселения полости рта. Возможно, уже недалеко вакцина от кариеса.

Предлагаю пощупать топовую стоматологию, какой она может стать через 10–15 лет и, может, чуть позже, тем более что зубы нам могут и не понадобиться в будущем.

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

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

Потому что мы в переходном процессе эволюции, да-да.
Всего голосов 65: ↑59 и ↓6+78
Комментарии96

DataScience Digest — 05.08.21

Время на прочтение2 мин
Количество просмотров1.9K

Приветствую всех!

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning подготовленный командой Data Phoenix и не забывайте подписываться на наш Telegram-канал.

Также хочу пригласить всех 17 августа на свой вебинар "The A-Z of Data: Introduction to MLOps". В его рамках мы рассмотрим, что такое MLOps, основные принципы и практики, лучшие инструменты и возможные архитектуры. Мы начнем с простого жизненного цикла разработки ML решений и закончим сложным, максимально автоматизированным, циклом, который нам позволяет реализовать MLOps. Детали и обязательная предварительная регистрация здесь.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Контейнер LXC для веб-разработки как альтернатива Docker

Время на прочтение3 мин
Количество просмотров38K

Разговоров о Docker очень много, а вот про LXC гораздо меньше шума. А ведь у LXC есть свои области применения, где он может оказаться удобнее.

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

Теперь этот образ мы синхронизируем на резервные сервера, используем для поднятия dev-окружения у разработчиков и для стейджа. Впечатления от эксплуатации положительные.

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии10

Sample-efficient reinforcement learning: пытаемся воспроизвести обучение в воображении

Время на прочтение20 мин
Количество просмотров4.3K

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

В 2020 году Google выпустил статью “Dream to control: learning behaviours by latent imagination”. В статье описывался новейший алгоритм обучения в подкреплением - Dreamer. Алгоритм примечателен тем, что относительно быстро выучивает выигрышную стратегию - совершая относительно мало взаимодействий со средой.

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

Дисклеймер:

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии73

Одиночество в Сети: как устроена индустрия онлайн-дейтинга и какие тайны она скрывает

Время на прочтение9 мин
Количество просмотров35K

Люди всё чаще знакомятся онлайн, и около 20 % из них в итоге даже решают пожениться. Тем не менее 80 % пользователей так и не находят себе партнёра, и дело здесь далеко не всегда в человеческом факторе. Дейтинг-приложения используют психологические уловки и прямо-таки заставляют пользователей восстанавливать свои профили вновь и вновь, так и не находя «вторую половину». В каком-то аспекте это даже похоже на наркоманию. В посте попробуем разобраться, о каких подводных камнях важно знать, знакомясь в Сети.

Читать далее
Всего голосов 26: ↑21 и ↓5+23
Комментарии51

Опыт обучения в Яндекс.Практикум. Можно ли вкатиться в Data Science за 8 месяцев

Время на прочтение10 мин
Количество просмотров53K

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

Читать далее
Всего голосов 17: ↑12 и ↓5+13
Комментарии15

Brax — физический движок на GPU, заменяющий кластер CPU

Время на прочтение7 мин
Количество просмотров6.2K

В обучении с подкреплением (Reinforcement Learning) одним из ограничивающих факторов является быстродействие физических симуляторов, на основе которых происходит обучение нейросети. Из-за специфики расчетов, лишь малую часть из них можно вынести в GPU, а большая часть вычислений в физических движках делается на CPU. Для примера, один GPU может обучать нейросеть десятками тысяч параллельных "потоков" в секунду. Но один CPU с запущенным на нем физическим симулятором, может выдавать лишь 60-200 кадров в секунду.

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

Исследователи из Google AI разработали новый физический движок Brax, который эффективно работает на одном GPU и способен выдавать до 10 миллионов шагов симуляции в секунду, выполняя при этом до 10 тысяч запущенных параллельных симуляторов физики.

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Главный недостаток Docker на взгляд сисадмина

Время на прочтение6 мин
Количество просмотров22K

Я работал в качестве сисадмина во множестве проектов, где моей основной обязанностью была поддержка процесса разработки, да и сам какое-то время сам был разработчиком. В последние 6-7 лет с интересом наблюдал за развитием docker как технологии, и, к сожалению, вынужден был отметить довольно характерную и для docker, и для контейнеризации в целом проблему, которую я для этой статьи могу назвать "Главным недостатком docker'а", не хейта ради, но конструктивной дискуссии для. Впрочем, "спешу огорчить", в данном случае речь не идёт не о каком-то фатальном изъяне в самой технологии, речь - всего лишь о характерной проблеме, связанной с реальной практикой её [технологии] применения, то есть по сути в «человеческом факторе».

Читать далее
Всего голосов 25: ↑24 и ↓1+32
Комментарии48

Почему современная наука основана на вере?

Время на прочтение12 мин
Количество просмотров46K

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

Проблема неполной индукции

Знаменитый древнегреческий философ Аристотель в своем трактате «Аналитика» выделяет два вида возможных умозаключений - индуктивное и дедуктивное.

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

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

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

Читать далее
Всего голосов 95: ↑72 и ↓23+76
Комментарии623

Нейродайджест: главное из области машинного обучения за июнь 2021

Время на прочтение4 мин
Количество просмотров5.6K

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

Как вы помните, в прошлом году Microsoft получила уникальные права на использование GPT-3. И вот за прошлый месяц на базе языковой модели от Open AI были представлены два продукта.

Перейти к обзору
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

Откуда взялся 'do' в вопросах и отрицаниях?

Время на прочтение5 мин
Количество просмотров11K

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

Важно понимать, что вспомогательные глаголы для образования сложных времён — это не что-то особенное, и у нас они тоже есть: рус. буд.вр. он будет писать письмо, укр. дпр.вр. він був написав листа. Более того: колебания между использованием и неиспользованием вспомогательного глагола русскому языку тоже знакомы: в древнерусском было два простых прошедших времени (аорист, невѣжѧ писа недума каза "незнающий написал, недумающий показал", и имперфект, ѡни моляхуся аз же глумляхъся "они молились, а я шутил") и впридачу сложное, перфект: еси приходиле в русь "ты приходил в Русь", зарубати посылали есмо "мы посылали зарубать". Простые прошедшие времена исчезли из всех славянских языков, кроме болгарского и македонского; с перфектом же произошла более интересная история...

Читать далее
Всего голосов 35: ↑34 и ↓1+45
Комментарии11

Как перекатиться в Data Science

Время на прочтение6 мин
Количество просмотров7.9K
История о том, как я поменял сферу деятельности, что послужило мотивацией и как мне помогла академия MADE в этой затее.



Мотивация


В 2018 году я учился в аспирантуре и оказался на должности инженера в университете, занимаясь в основном рутинными вещами и бумажной работой. Такая работа вступала в резкий контраст с тем, что я видел, пока работал на производстве лопаток газотурбинных двигателей. На производстве все стремились заработать или как минимум где-то сэкономить, улучшив или ничего не потеряв в характеристиках изделий.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+14
Комментарии3

Какие изменения нужны языку Rust, чтобы писать асинхронный код стало проще

Время на прочтение13 мин
Количество просмотров14K

Асинхронное программирование — мощный инструмент. Но экосистема Rust продолжает активно развиваться, и пока язык далёк от идеала. В частности, по этой причине многие считают, что асинхронное программирование в Rust — это боль. Однако некоторые не только критикуют, но и предлагают. Среди таких людей автор данной статьи. 

Здесь я расскажу о некоторых ранее предложенных идеях и свяжу их с новыми предложениями. Я проведу некий мысленный эксперимент и постараюсь ответить на вопрос «Что мы могли бы сделать с асинхронным программированием в Rust, если бы нам дали полный карт-бланш?». 

Непродуманное внесение изменений в Rust может разрушить его. Поэтому всё нужно делать аккуратно, учитывая плюсы и минусы. Допускаю, что некоторые предложения могут вызвать негативную реакцию. Я отношусь к этому с пониманием и прошу читателя подойти к изучению этого материала максимально непредвзято.

Потоки vs Асинхронность


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

Например, этот echo server написан с использованием потоков. Он работает быстрее своей асинхронной версии — для случая, когда количество одновременных подключений не превышает 100.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+39
Комментарии47

Что такое дружба после 30? (Теория взрослой жизни)

Время на прочтение8 мин
Количество просмотров81K
Подобным вопросом в той или иной форме задаются очень многие взрослые люди. Взрослому должно быть более-менее понятно, что новые друзья находятся где-то за пределами области известного опыта, потому что в области известного опыта и с друзьями всё известно. То есть, «искать друзей» превращается в «искать хз кого хз где» — и это только половина беды, потому что дальше вопрос: а как тогда понять, что нашёл? Не зная, что ищешь, нельзя установить критерии выбора — в какой момент станет понятно, что нашёл? А что искал? А неизвестно же. Это логический тупик. Выход из него — правильная постановка вопроса.


Дружба — атрибут детства. Это не значит, что дружбы не может быть во взрослой жизни — очень даже может, но при определённых условиях, которые становятся понятны, если разобраться в разнице между детской и взрослой ролями человека в обществе.

Человек — существо социальное в том смысле, что «человечность» — то есть, то, что отличает человека от животного, как её ни назови (личность, душа, personality) возникли в процессе эволюции Homo как коллективного существа. Животные, даже стайные, действуют автономно — исходя из заложенных инстинктов и приобретённых навыков. Приматы вида Homo в процессе эволюции развили способность предсказывать поведение других членов группы, чтобы корректировать своё поведение в реальном времени. Феномен личности — то есть, предиктивной модели поведения других членов группы — возник как побочный эффект подобного усложнения взаимодействия. Self-awareness — то есть, распознание себя как личности, постройка предиктивной модели самого себя — эволюционный пик этого процесса, с которого, собственно, «человек» (то есть, «не-животное») как феномен и начался.
Читать далее
Всего голосов 140: ↑84 и ↓56+68
Комментарии182

Интерфейсы мозг-компьютер: обзор современных достижений

Время на прочтение8 мин
Количество просмотров9.8K

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

Рассмотрим детальнее основные виды современных интерфейсов мозг-компьютер. Их можно разделить на четыре основных группы.

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии0

Мы сделали наш публичный синтез речи еще лучше

Время на прочтение11 мин
Количество просмотров19K

6cc6e0011d4d26aeded6f052080b1890


Обновление — забыл ссылку на репозиторий и на колаб с примерами.


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


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


Если коротко:


  • Мы сделали наш вокодер в 4 раза быстрее;
  • Мы сделали пакетирование моделей более удобным;
  • Мы сделали мультиспикерную / мультязычную модель и "заставили" спикеров говорить на "чужих" языках;
  • Мы добавили в наши русские модели возможность автопростановки ударений и буквы ё с некоторыми ограничениями;
  • Теперь мы можем сделать голос с нормальным качеством на 15 минутах — 1 часе (с теплого старта в принципе заводилось даже на 3-7 минутах) или на 5 часах аудио (с холодного старта). Но тут все очень сильно зависит от качества самого аудио и ряда деталей;
  • Мы привлекли коммьюнити к работе, и нам помогли сделать удобный интерфейс для записи. Мы начали работу над голосами на языках народностей СНГ (украинский, татарский, башкирский, узбекский, таджикский). Если вы хотите увидеть свой язык в числе спикеров — пишите нам;
  • Мы продолжаем собирать обратную связь по применимости нашей системы для экранных интерфейсов чтения, и пока кажется, что нужно где-то еще всё ускорить в 5-10 раз, чтобы наши модели закрывали и этот кейс;
Всего голосов 63: ↑63 и ↓0+63
Комментарии37

Стаи рыб следуют алгоритмам композиционного обучения

Время на прочтение8 мин
Количество просмотров4.5K

Группа животных — это больше, чем сумма всех членов группы. Поведение одинокого муравья трудно назвать осмысленным, но их колония способна построить прочную и хорошо вентилируемую муравьиную кучу. Одинокий журавль может легко заблудиться в небе, но стая журавлей безошибочно выбирает правильный путь миграции. Во многих сложных когнитивных процессах мы регулярно наблюдаем отличия в поведении группы от поведения её отдельных членов. Как это возможно? Даже автор статьи, кандидат наук, не может понять, как примитивные рыбы — золотые нотемигонусы, абсолютно безмозглые существа, собираясь в стаи, способны эффективно уклоняться от хищников. Автор прочитал десятки статей и учебников, проводил эксперименты, анализировал данные и консультировался с теоретиками, пытаясь понять, почему, когда речь идёт о рыбах, 1 плюс 1 получается не 2, а 3.

К старту курса о машинном и глубоком обучении мы перевели материал о том, как групповое поведение связано с композиционным (ансамблевым) обучением, где вы найдёте как кратко изложенную теорию со ссылками, так и вопросы, которые сегодня стоят перед наукой о коллективном поведении.

Читать далее
Всего голосов 9: ↑7 и ↓2+9
Комментарии13

Английский vs. Эсперанто: за кем будущее?

Время на прочтение7 мин
Количество просмотров34K
За последние 50 лет позиции английского языка на международной арене усилились до невиданного ранее уровня. На сегодня в мире примерно 378 миллионов людей говорят на английском в качестве родного и еще от 470 миллионов до 1 миллиарда указывают его как второй язык.

Что примечательно, на английском говорят в 138 государствах мира — такого показатели ранее не достигал ни один международный язык. Поэтому как раз у английского есть все ресурсы, чтобы в обозримом будущем стать lingua franca — всеобщим глобальным языком.

Но есть ли приемлемые альтернативы английскому? Некоторые ученые и энтузиасты считают, что язык эсперанто является одной из них. Действительно ли это так? Давайте узнаем.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии109

Всегда старайтесь быть н̶е̶заменимым

Время на прочтение3 мин
Количество просмотров42K
Есть хорошая жизненная философия, которой можно придерживаться на рабочем месте, — это «постоянно быть готовым увольняться» («always be quitting»). Это не значит думать о том, чтобы уйти с работы. Но вести себя так, как будто вы можете уйти в кратчайшие сроки. Парадоксально, но это сделает вас лучшим инженером и откроет возможности для роста.

Так что же значит «постоянно быть готовым уйти»? Это означает «сделать себя заменимым»; «унизить себя»; «автоматизировать свою работу». Возможно, вы слышали эти более популярные ярлыки (и вам нужно будет с этим поразбираться и выяснить что это), и они дают подсказку что делать.

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

Парадоксально, но, будучи легко заменимым, вы освобождаете себя. Вы облегчаете себе переход к роли более высокого уровня и вам легче менять проекты, над которыми вы работаете. Не согласны? В замешательстве? Вот 10 конкретных вещей, которые вы можете сделать:
Читать дальше →
Всего голосов 80: ↑70 и ↓10+81
Комментарии119

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность