• Подлинность ваших видео теперь неоспорима благодаря Prover

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



      Четыре миллиарда людей по всему миру владеют гаджетами. Создаваемый ими видеоконтент давно перестал использоваться лишь в развлекательных целях – сегодня это необходимая часть медийной, финансовой, страховой, юридической и медицинской отраслей. Выдаваемые за правду “фейки” не раз приводили к скандалам, а то и трагедиям, поэтому потребность в подтверждении подлинности видео-файлов необычайно высока. Сервис Prover, подтверждающий достоверность видео с привязкой к конкретному времени и устройству, был создан именно с этой целью.
      Читать дальше →
    • Измерение интенсивности входящего потока событий в модели распада

        В классе поточных алгоритмов имеется подкласс, решающий задачу поиска тяжелых элементов (heavy hitters). В общем виде эта задача формулируется как «выявление во входящем потоке наиболее часто повторяющихся событий и измерение их интенсивности». В данной публикации сотрудника компании Qrator Labs Артема janatem Шворина предлагается эффективный алгоритм для решения этой задачи.

        Введение


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

        В этой публикации мы хотим показать читателю ещё один подход к измерению интенсивности потока событий при наличии множества разных (не идентичных) потоков событий. Пусть задано множество типов событий. Требуется оценивать, насколько часто происходит событие данного типа, и обращать внимание на случаи, когда событие одного типа повторяется «слишком часто».
        Читать дальше →
        • +24
        • 2,7k
        • 3
      • Нестандартная кластеризация, часть 3: приёмы и метрики для кластеризации временных рядов

          Часть первая — Affinity propagation
          Часть вторая — DBSCAN
          Часть третья — кластеризация временных рядов
          Часть четвёртая — SOM

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

          Кластеризация временных рядов — неблагодарное дело. Даже при группировке статических данных часто получаются сомнительные результаты, что уж говорить про информацию, рассеянную во времени. Однако нельзя игнорировать задачу, только потому что она сложна. Попробуем разобраться, как выжать из рядов без меток немного смысла. В этой статье рассматриваются подтипы кластеризации временных рядов, общие приёмы и популярные меры расстояния между рядами. Статья рассчитана на читателя, уже имевшего дело с последовательностями в data science: о базовых вещах (тренд, ARMA/ARIMA, спектральный анализ) рассказываться не будет.

          Читать дальше →
          • +18
          • 7,2k
          • 4
        • Точное вычисление средних и ковариаций методом Уэлфорда

            Метод Уэлфорда — простой и эффективный способ для вычисления средних, дисперсий, ковариаций и других статистик. Этот метод обладает целым рядом прекрасных свойств:


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

            Оригинальная статья Уэлфорда была опубликована в 1962 году. Тем не менее, нельзя сказать, что алгоритм сколь-нибудь широко известен в настоящее время. А уж найти математическое доказательство его корректности или экспериментальные сравнения с другими методами и вовсе нетривиально.


            Настоящая статья пытается заполнить эти пробелы.


            Читать дальше →
            • +53
            • 11,2k
            • 9
          • Быстрое восстановление данных. Схема бабочки для регенерирующих кодов



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

              Предположим, что система хранения состоит из n узлов. Рассмотрим файл, состоящий из B символов поля GF(q), который кодируется в nα символов над GF(q) и распределяется по узлам, так, что каждый узел хранит α символов. Код построен таким образом, что данные могут быть целиком восстановлены по информации с k узлов. При этом для восстановления данных одного узла достаточно получить β ≤ α информации с d узлов [1,2], см. рис. 1. Величина γ = dβ называется диапазоном восстановления (repair bandwidth).
              Читать дальше →
            • Использование нейронных сетей для распознавания рукописных цифр Часть 1

              Привет, Хабр! В этой серии статей приведу краткий перевод с английского языка первой главы книги Майкла Нильсона "Neural Networks and Deep Learning".


              Перевод я разбил на несколько статей на хабре, чтобы было удобнее читать:
              Часть 1) Введение в нейронные сети
              Часть 2) Построение и градиентный спуск
              Часть 3) Реализация сети для распознавания цифр
              Часть 4) Немного о глубоком обучении


              Введение


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


              image

              Простую интуицию — "у 9-тки есть петля сверху, и вертикальный хвост внизу" не так просто реализовать алгоритмически. Нейронные сети используют примеры, выводят некоторые правила и учатся на них. Более того чем больше примеров мы покажем сети, тем больше она узнает о рукописных цифрах, следовательно классифицирует их с большей точностью. Мы напишем программу в 74 строчки кода, которая будет определять рукописные цифры с точностью >99%. Итак, поехали!

              Читать дальше →
            • Реклама помогает поддерживать и развивать наши сервисы

              Подробнее
              Реклама
            • Постквантовая криптография и закат RSA — реальная угроза или мнимое будущее?

                RSA, эллиптические кривые, квантовый компьютер, изогении… На первый взгляд, эти слова напоминают какие-то заклинания, но все куда проще сложнее, чем кажется!

                Необходимость перехода к криптографии, устойчивой к атаке на квантовом компьютере, уже официально анонсирована NIST и NSA, из чего вывод довольно-таки простой: пора вылезать из зоны комфорта!

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

                Чтобы разобраться в тонкостях криптографии на эллиптических кривых, проследить новомодные веяния постквантовой криптографии и даже прикоснуться к ней с помощью библиотеки Microsoft SIDH, добро пожаловать под кат, %username%!
                Читать дальше →
              • Метод BFGS или один из самых эффективных методов оптимизации. Пример реализации на Python



                  Метод BFGS, итерационный метод численной оптимизации, назван в честь его исследователей: Broyden, Fletcher, Goldfarb, Shanno. Относится к классу так называемых квазиньютоновских методов. В отличие от ньютоновских методов в квазиньютоновских не вычисляется напрямую гессиан функции, т.е. нет необходимости находить частные производные второго порядка. Вместо этого гессиан вычисляется приближенно, исходя из сделанных до этого шагов.

                  Существует несколько модификаций метода:
                  L-BFGS (ограниченное использование памяти) — используется в случае большого количества неизвестных.
                  L-BFGS-B — модификация с ограниченным использованием памяти в многомерном кубе.

                  Метод эффективен и устойчив, поэтому зачастую применяется в функциях оптимизации. Например в SciPy, популярной библиотеки для языка python, в функции optimize по умолчанию применяется BFGS, L-BFGS-B.

                  Читать дальше →
                  • +21
                  • 9,4k
                  • 4
                • Безытеративное обучение однослойного персептрона. Задача классификации

                    Я продолжаю цикл статей по разработке метода безытеративного обучения нейронных сетей. В этой статье будем обучать однослойный персептрон с сигмоидальной активационной ф-ей. Но этот метод можно применить для любых нелинейных биективных активационных ф-й с насыщением и первые производные которых симметричны относительно оси OY.
                    Читать дальше →
                  • Идентификация коинтегрированных пар акций на фондовых рынках

                      Цель данной статьи — поделиться результатами исследования по выявлению коинтегрированных пар акций, которые представлены на Московской и Нью-Йоркской биржах, с помощью теста Энгла-Грэнджера.

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