Как стать автором
Обновить
200.1

Алгоритмы *

Все об алгоритмах

Сначала показывать
Порог рейтинга
Уровень сложности

ML-алгоритмы против хакеров: как поведенческая аналитика меняет правила игры в кибербезопасности

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1K

Здравствуйте, друзья! Меня зовут Алексей Потапов, и я представляю экспертный центр безопасности Positive Technologies. Ранее мы уже знакомили вас с ключевыми элементами нашего подхода к обнаружению атак на примере технологий в SIEM: механизме построения цепочек запускаемых процессов на основе нормализованных событий, автоматическом вайтлистинге и машинном обучении для выявления нестандартного поведения пользователей и процессов в инфраструктуре. Тему ML было бы невозможно раскрыть в одном посте, поэтому предлагаю углубиться в более технические детали.

Мы уже рассказывали про модуль Behavioral Anomaly Detection (BAD). Он работает как система second opinion — собирает данные о событиях и пользователях, присваивает им определенный уровень оценки риска (risk score) и выдает альтернативное мнение, основываясь на своих алгоритмах. Фишка BAD в том, что он снижает когнитивную нагрузку аналитика системы SIEM, позволяя эффективнее принимать решение по инциденту информационной безопасности.

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

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

Новости

Разделяй и запускай: делим тестовый стенд между департаментами

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров341

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

В настоящей статье делюсь опытом разработки и внедрения в процессы компании оптимизационного решения на базе математического программирования. Материал расширил исследовательскими элементами и локальным мини benchmark'ом.

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

Учимся летать: симуляция эволюции на Rust. 4/5

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров1.8K



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



В сегодняшнем выпуске:


Сексуальные многоугольники





Сертифицированные ISO диаграммы ASCII


------------
| \...%....|
|   \......|
|    @>....|
|      \...|
|        \.|
------------

Клевые числа




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

Состязательные атаки на промышленный ИИ и способы защиты от них

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров513

Привет, Хабр! Меня зовут Александр Коваленко, я младший научный сотрудник группы «ИИ в промышленности» в AIRI. В область наших интересов входит применение систем искусственного интеллекта в процессах различных предприятий. И, как и многие аспекты промышленной деятельности, промышленный ИИ может быть атакован злоумышленниками.  

Эта статья будет посвящена влиянию состязательных атак на системы диагностики неисправностей. Искусственный интеллект в нашем случае представлен классификаторами на основе нейронных сетей, а в качестве данных выступают сигналы с датчиков, образующих многомерные временные ряды. Я постараюсь объяснить, зачем вообще все это нужно, приведу обзор известных на сегодня методов состязательных атак и способов защиты от них, а также кратко расскажу про наши успехи, представленные в недавно опубликованной с коллегами из ИСП РАН статье Adversarial Attacks and Defenses in Fault Detection and Diagnosis: A Comprehensive Benchmark on the Tennessee Eastman Process.  

Приятного чтения!

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

Истории

Апдейтить или нет: нужно ли брать новую ML-модель?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2K

Бывала у вас такая ситуация. Выходит новая нейронная сеть и все руководство начинает требовать внедрить её? Половина коллег восторженно рассказывает о новом слое который позволил повысить точность сети? YoloV(N+1)? LLAMA100?

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

Как американская коррупция превратила физика-ядерщика в быдло-кодера

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров59K

Это история из цикла «как войти в IT», написанная старпером, ветераном броуновского движения, который помнит динозавров. Поэтому его опыт вхождения в ИТ никому не пригодится, но представляет интерес с точки зрения истории.  

Также поделюсь своим мыслями об интерфейсе инженерного ПО. Участвуя в разработках различного ПО, предназначенного для ускорения разработки сложных систем, периодически приходится выслушивать жалобы от новых пользователей на «кривой и устаревший» интерфейс ПО. Однако инженеры, погруженные в проблемы проектирования реальных железок, вообще не задают нам таких вопросов, либо потому, что уже искривили свои руки о кривой интерфейс, либо им это вообще неважно. Более того, есть два примера, когда реальные высокопрофессиональные инженеры в своей области предъявляли претензии обратного свойства, и первая версия кривая версия GUI была удобнее, а вот улучшения делали какие-то полупокеры. 

К написанию данного текста меня подтолкнула беседа с одним из крутых разрабов из «жирной» конторы, с которым мы пересеклись на яхте в Средиземном море. Узнав, что я тоже из Бауманки, и у меня свой бизнес, он заинтересовался и выспрашивал. Как я смог начать бизнес на софте, почему не пошел в большую контору, типа Yandex, Сбер и прочие. У него тоже знакомство с софтом началось как создание собственной разработки по анализу результатов металлургических испытаний в лаборатории, но закончилось работой прогером по найму. Попивая вино на яхте где-то между Турцией и Грецией в 2023 году, он предположил, что, возможно, если бы он продолжал писать софт для металлургических исследований, то, наверное, сейчас мог плавать на своей яхте, а не арендованной, и не около Турции, а на Карибах (но это не точно). А поскольку фарш невозможно провернуть назад, я решил описать свою историю успеха, так как она забавна и поучительна.

Читать далее
Всего голосов 291: ↑276 и ↓15+315
Комментарии163

Об ускорении некоторых тестов на нормальность из библиотеки SciPy

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров631

Приветствую уважаемых читателей, случайно или нет наткнувшихся на эту статью. Адресована она всем тем, кто исследует распределение разнообразных эмпирических данных.
В моей публикации вас ждут: небольшой ликбез по теории вероятностей, развивающий её интуитивное и практическое понимание; детективная история о том, как решение дифференциального уравнения привело нас к двум важнейшим статистическим характеристикам выборочных последовательностей; ревизионизм в области проверки распределений на соответствие гауссовскому и объяснение пресловутого p-value с нуля за 5 минуты.

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

Как анализируют криптографические стандарты и зачем постквантовые алгоритмы без квантового компьютера?

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2K

Об этом и о других перспективных направлениях криптографии эксперты компании «Криптонит» рассказали на прошедшей в июне конференции CTCrypt 2024.

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

Он победил LLM RAG: реализуем BM25+ с самых азов

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров11K

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

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

Код доступен в Google Collab.

Читать далее
Всего голосов 31: ↑30 и ↓1+37
Комментарии13

Черепаха в лабиринте: Медлительное путешествие к свободе

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.9K

Задача

Дан связный прямоугольный лабиринт n\times m клеток, одна из которых обозначена как выход. В произвольной клетке появляется черепаха, и она может перемещаться в четырех направлениях (вверх, вправо, вниз, влево).

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

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

Расположение стенок лабиринта и клетки "выход" известны заранее, а вот начальное расположение черепахи неизвестно.

Помогите черепахе выбраться из лабиринта. Напишите конечную последовательность команд (up, right, down, left), которая гарантирует ей выход независимо от ее начального местонахождения.

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

SARIMAX vs Экспоненциальное сглаживание: Когда простота побеждает

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

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

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

Как я решила задачу нахождения t-критерия Стьюдента как функции от доверительного интервала и числа степеней свободы

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.2K

статья представляет подробное описание реализации функции Стьюдента (Student's t-distribution) в языке программирования Scala с использованием алгоритма ACM395 и ACM209. Функция Стьюдента является важным инструментом в статистике для вычисления критических значений t-статистики и вероятностей в t-распределении.

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

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

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

Учимся летать: симуляция эволюции на Rust. 3/5

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров2.7K



Это третья часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.



В предыдущей статье мы реализовали простую FFNN (feedforward neural network — нейронная сеть прямого распространения), которая может передавать числа через рандомизированные слои — это первый шаг на пути создания мозга.


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


Но как мы можем обучить группу чисел с плавающей точкой (запятой, если угодно)?

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

Ближайшие события

Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Гибкая обработка арифметических вырожений с AST на Scala

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров646

Обработка арифметических выражений с AST в Scala

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

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

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

Глубокое обучение для деформируемой регистрации медицинских изображений

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров723

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

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

Кот Шредингера Х ни жив, ни мертв

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

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

Читать далее
Всего голосов 9: ↑1 и ↓8-7
Комментарии5

Специалисты по информатике изобрели новый эффективный способ подсчёта уникальных элементов

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

Представьте, что вас отправили в девственный тропический лес, чтобы провести перепись диких животных. Каждый раз, когда вы видите животное, вы делаете снимок. Ваша цифровая камера будет фиксировать общее количество снимков, но вас интересует только количество уникальных животных — всех тех, которых вы ещё не посчитали. Как лучше всего получить это число? «Очевидное решение — запомнить всех животных, которых вы уже видели, и сравнивать каждое новое животное с этим списком», — говорит Лэнс Фортноу, специалист по информатике из Иллинойского технологического института. Но есть и более умные способы, добавил он, потому что если у вас тысячи записей, то очевидный подход далеко не так прост.

Всё становится ещё хуже. Что, если вы — Facebook, и вам нужно подсчитать количество отдельных пользователей, которые заходят на сайт каждый день, даже если некоторые из них заходят с нескольких устройств и в разное время? Теперь мы сравниваем каждый новый вход со списком, который может исчисляться миллиардами.

Читать далее
Всего голосов 72: ↑71 и ↓1+81
Комментарии50

Алгоритм формирования дробных индексов

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.6K

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

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

LR-парсеры

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров941

LR-парсеры – это инструмент для анализа и синтаксического разбора языков программирования. LR в данном контексте означает Left-to-right, слева направо и Rightmost derivation, правое разложения. LR парсеры используют метод снизу вверх, который отличается от более известных LL-парсеров, работающих сверху вниз.

Одна из основных фич LR-парсеров - способность обрабатывать большую часть контекстно-свободных грамматик.

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

Яндекс разработал и выложил в опенсорс YaFSDP — инструмент для ускорения обучения LLM и сокращения расходов на GPU

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

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

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

Читать далее
Всего голосов 87: ↑86 и ↓1+110
Комментарии0
1
23 ...

Вклад авторов