Pull to refresh
@NTHubread⁠-⁠only

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

Send message

Векторные языки — параллельный мир

Reading time18 min
Views15K

Векторные языки мало известны широкому кругу программистов и занимают узкую нишу обработки данных в финансах, статистике и прикладной математике. Хотя сам векторный подход (или, точнее, программирование с помощью массивов) распространен гораздо шире, чем может показаться. Он реализован в известных библиотеках (NumPy), популярном языке статистиков R, математических пакетах (MATLAB), даже в современных языках программирования (Julia). Однако, возможность умножить матрицу на вектор простым выражением (A*v) – это всего лишь вершина айсберга возможностей, которыми обладают полноценные векторные языки. При том, что эти языки не так сильно отличаются от обычных, как может показаться на первый взгляд, они заставляют программиста мыслить совершенно в других категориях и реализовывать алгоритмы способами, которые никогда не придут в голову человеку, привыкшему к Java или даже Haskell. Их характерной чертой, например, является выворачивание наизнанку циклов – вместо того, чтобы спускаться по вложенным циклам вниз к простым значениям и там использовать их в функциях, вы оперируете сложными объектами целиком, давая указания языку, какие именно части этих объектов и как именно вы хотите использовать и так много раз в одном выражении. В этой статье я хочу познакомить вас с этим оригинальным подходом к реализации алгоритмов.

Читать далее

Шифруем по-русски, или отечественные криптоалгоритмы

Reading time7 min
Views43K

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

Читать далее

Возможно, вам не нужно машинное обучение

Reading time2 min
Views11K

Машинное обучение — модная технология, поэтому её часто используют в ситуации, когда существует более простое, эффективное и надёжное решение. На днях мне попался наглядный и забавный пример: «Нейросетевые машины и генетические алгоритмы». Всю эту навороченную систему легко заменить на полином первой степени без потери функциональности. Машинное обучение тут явный перебор.
Привет, Хабр! Меня зовут Иван Люкшин, я руковожу отделом разработки продукта для защиты критической инфраструктуры Kaspersky Industrial CyberSecurity (KICS) for Networks. Наш продукт анализирует трафик в поисках атак, аномалий и информации о сетевых активах на предприятиях, где есть промышленная автоматизация. Ежедневно мы сталкиваемся со множеством нестандартных задач, и сегодня я расскажу, почему это норма для нас. Спойлер: для тех, кто заинтересуется направлением, в конце статьи несколько вопросов из числа тех, что мы задаём на собеседованиях.
Читать далее

Есть ли параллелизм в произвольном алгоритме и как его использовать лучшим образом

Reading time15 min
Views7.2K

Параллелизации обработки данных в настоящее время применяется в основном для сокращения времени вычислений путем одновременной  обработки данных по частям на множестве различных вычислительных устройств с последующим объединением полученных результатов. Параллельное выполнение позволяет “обойти” сформулированный лордом Рэлеем в 1871 г. фундаментальный закон, согласно которому (в применимости к тепловыделению процессоров) мощность их тепловыделения пропорциональна четвертой степени тактовой частоты процессора (увеличение частоты вдвое повышает тепловыделение в 16 раз) и фактически заменить его линейным от числа параллельных вычислителей – при сохранении тактовой  частоты). Ничто не дается даром – задача выявления (обычно скрытого для непосвящённого наблюдателя, [1]) потенциала параллелизма в алгоритмах не является "лежащей на поверхности", а уж эффективность его (параллелизма) использования – тем более.

Далее читать

Конечные автоматы на страже порядка

Reading time7 min
Views7.2K


При разработке сложных систем часто сталкиваешься с проблемой прозрачности кода, точным описанием бизнес-логики и масштабирования решения. Однажды нам поставили задачу: реализовать функциональность тарифов, в которой много бизнес-логики. При этом сроки были сжаты, да ещё и повышенные финансовые риски. Чтобы решить эту задачу быстро, эффективно и прозрачно, мы решили использовать конечные автоматы (state machine).
Читать дальше →

Всё, что вы хотели знать о перцептронах Розенблатта, но боялись спросить

Reading time17 min
Views23K


Вы, наверно, знаете, что перцептрон Розенблатта, изобретённый в середине XX-го века, стал прообразом современных нейронных сетей. Однако многое из того, что известно нам о нём и его создателе, не соответствует действительности. В продолжение серии статей об историческом развитии искусственного интеллекта попробуем разобраться, что является искажением фактов в рассказах об одном из основоположников машинного обучения, и почему он — действительно важная фигура в истории ИИ.
Читать дальше →

Трансформеры в Поиске: как Яндекс применил тяжёлые нейросети для поиска по смыслу

Reading time16 min
Views63K

Привет, Хабр. Меня зовут Саша Готманов, я руковожу группой нейросетевых технологий в поиске Яндекса. Сегодня на YaC 2020 мы впервые рассказали о внедрении трансформера — новой нейросетевой архитектуры для ранжирования веб-страниц. Это наиболее значимое событие в нашем поиске за последние 10 лет. 

Сегодня я расскажу читателям Хабра, в чём заключается иллюзия «поиска по смыслу», какой путь прошли алгоритмы и нейросети в ранжировании и какие основные сложности стоят перед теми, кто хочет применить для этой задачи трансформеры и даже заставить их работать в рантайме. 

Читать далее

Яндекс.Станция Макс. Три истории про новое устройство с Алисой

Reading time13 min
Views61K

У нас есть ежегодная традиция: рассказывать читателям Хабра о разработке нового устройства с Алисой. 2020 год, конечно, разрушил многие планы, но эту традицию сохранить удалось. 

Сегодня на YaC 2020 мы показали нашу новую колонку — Яндекс.Станцию Макс. Это не замена Станции или Станции Мини, а новая, старшая модель в семействе умных колонок Яндекса. В ней мы не просто поддержали более требовательные к железу возможности, но и сознательно отказались от некоторых компромиссов. В результате устройство, которое на этапе идеи должно было отличаться от Станции лишь в нескольких элементах, оказалось не похоже на неё примерно во всём, кроме внешнего вида. 

Зачем и как мы этого добились — рассказываю в трёх историях. В качестве бонуса вы узнаете о непростой работе с производством в условиях пандемии.

Читать далее

Функциональное программирование на Python для самых маленьких — Часть 1 — Lambda Функция

Reading time10 min
Views57K
image

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

Ведь большинство статей написаны таки образом что, для того чтобы понять что-то в Функциональном Программировании (далее ФП), тебе надо уже знать многое в ФП. Эту статью я старался написать максимально просто — настолько понятно, чтобы её суть мог уловить мой племянник, школьник, который сейчас делает свои первые шаги в Python.
Читать дальше →

Глубже в дебри ФП

Reading time23 min
Views11K

Прежде чем начать, зацените эту красоту! Это — игра "жизнь" на языке APL:



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


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


Расчехляйте свои абстрагаторы ...

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Reading time34 min
Views108K
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

Ваш компьютер больше не принадлежит вам

Reading time3 min
Views119K

Все, приплыли, вы заметили?

Заголовок делает отсылку к предсказаниям Ричарда Столлмана 1997 года.

И Кори Докторов так же предупреждал нас.

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

Читать далее

“Мир после капитала” Альберта Венгера (часть 4/7)

Reading time31 min
Views5.5K

Книга Мир после капитала американского инвестора немецкого происхождения Альберта Венгера — один из наиболее значимых текстов об экономике после капитализма.

Этот перевод мы делаем сообществом энтузиастов совершенно бесплатно.

Читать перевод части 4/7

Как правильно и легко рассчитать прибыль на инвестиции или калькулятор ROI на Python

Reading time6 min
Views8.7K

Пусть у вас есть вложения активов в некую стратегию (даже если buy and hold), и вы хотите рассчитать return on investment (ROI). Если вы не производили никаких выводов или депозитов, тогда всё просто - используем школьную формулу.

Однако если в период инвестиций вы делали выводы или депозиты по счету, то нужно их учитывать, и тогда простой формулы здесь недостаточно...

Читать далее...

Как определить метрики для процесса Управления проблемами

Reading time4 min
Views5.9K

Оргинал: Defining Metrics for Problem Management

By Stuart Rance | Originally published on June 24, 2014 in ITIL | Updated on November 28, 2017

Это перевод второй статьи на тему определения показателей для процессов Управления ИТ- услагами. Ценность ее в применении техники формулирования показателей на основе требований к результатам процесса (здесь и далее курсивом выдлелены комментарии переводчика).

Многие подбирают ключевые показатели (KPIs) для своих процессов Управления ИТ услугами по книгам (таких как ITIL Service Operation) или копируя метрики, используемые в других компаниях. Это редко приводит к хорошим результатам, потому что дословно KPIs - это дословно Показатели Результативности Ключевых задач, которыми вы занимаетесь. Хуже только ITSM процессы с огромным количеством одинаково названных показателей, которые измеряются, по ним пишутся отчеты, но результаты этого никто не использует ни для изменения деятельности в рамках процессах, ни для улучшения бизнес результатов. 

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

Напоминаю, что не стоит бездумно копировать приводимые здесь результаты процесса (outcomes), его критичные факторы успешности (CSFs) и ключевые показатели (KPIs). Содержание статьи стоит использовать только для понимания подхода и методологии, которые мною используются. И задуматься о том, что важно именно для вас, выделить метрики, для измерения задачи, за которые вы отвечаете. 

Читать далее

Как я делал свой самолёт

Reading time4 min
Views30K
image

Здравствуйте, дорогие Хабровчане!

Меня зовут Константин Томаревский. Я инженер компании Deutsche Telekom IT Sotutions. Хотел поделиться с Вами своей давней задумкой, которую пытаюсь воплотить в «железе».

По образованию я авиационный инженер. Когда я поступал в Университет СПбГПУ, я мечтал о том, что буду конструировать самолёты (ну или космические ракеты), буду работать в каком-нибудь конструкторском бюро и проводить рабочие дни за математическими расчётами, лабораторными стендами и полевыми испытаниями. Я закончил Университет, получив там очень много теоретических знаний, но ни разу не прикоснувшись к настоящей практике. Прошло уже много времени, но мысль о том, что мои знания так и остались знаниями, и не воплотились в практической плоскости, не покидала меня и я решил попробовать сделать пусть и совсем не большой, но реально функционирующий по всем правилам летательный аппарат.

image

Первоначальная идея


Мой университетский профиль – это системы управления летательными аппаратами. Мне всегда было интересно, как ведёт себя летательный аппарат (планер, самолёт) в зависимости от управления им, то есть от того, каким образом отклоняются его управляющие поверхности, как быстро и в какой конфигурации. Ещё один интересный момент – эффективность управляющих плоскостей. На разной скорости полёта их отклонение действует на летательный аппарат с разными усилиями. Если подобрать отклонения для разных скоростей, можно сделать мягкое управление летательным аппаратом.
Читать дальше →

Решения для защиты корпоративной и технологической сети: обзор продуктов Positive Technologies

Reading time6 min
Views7.6K


Коллеги, добрый день!

Данная статья является отправной точкой в цикле статей по продуктам Positive Technologies. Первая часть будет посвящена MaxPatrol 8, а сегодня в рамках данной статьи мы поговорим о разнообразии продуктов и решений Positive Technologies и их совместном использовании.
Читать дальше →

Дозвониться в глубокий космос: как НАСА ускоряет межпланетную связь

Reading time14 min
Views18K

«Уже практически некуда улучшать технологию, работающую на радиочастотах. Простые решения заканчиваются»




26 ноября 2018 года в 22:53 мск у НАСА это снова получилось – зонд InSight совершил успешную посадку на поверхность Марса после входа в атмосферу, спуска и посадочных манёвров, которые позже окрестили «шестью с половиной минутами ужаса». Подходящее описание, ведь инженеры НАСА не могли узнать сразу, успешно ли космический зонд сел на поверхность планеты, из-за временной задержки коммуникаций между Землёй и Марсом, составившей примерно 8,1 мин. Во время этого окна InSight не мог полагаться на свои более современные и мощные антенны – всё зависело от старомодной УВЧ-связи (этот метод давно используется везде, от телевещания и раций до устройств Bluetooth).

Мышление письмом

Reading time9 min
Views59K


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

Что же я получил после полугода использования мышления письмом?
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity