Рубрика «Алгоритмы» - 60

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

На отечественном рынке, без сомнения, самой передовой компанией, использующей мощь машин, является Яндекс. В своем докладе на #amoCONF директор по маркетингу сервисов Яндекс, Андрей Себрант, рассказал о наступившем будущем и возможностях, открывающихся каждой компании. Оптимизируйте ваш бизнес под тенденции будущего!

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

Читать полностью »

«Тетрис» в роли принтера - 1

Поворачивая, переставляя и опуская вниз заранее заданную последовательность фигур, Tetris Printer Algorithm использует механику «Тетриса» для генерации произвольных битовых изображений.

Описание алгоритма

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

«Тетрис» в роли принтера - 2

«Тетрис» в роли принтера - 3

«Тетрис» в роли принтера - 4

Как показано ниже, алгоритм также может генерировать одной структурой несколько квадратов.

«Тетрис» в роли принтера - 5

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

image

Google упростила машинное обучения для тех, кто не имел дела с разработкой. На смену Teachable Machine — сайту, который знакомил пользователей с основами создания ИИ, пришел Teachable Machine 2.0, где нейронные сети можно обучить одним нажатием кнопки.

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

См. также: «Квантовая ставка Google на ИИ – и что она означает для всего человечества»

Теперь же пользователь может с помощью веб-камеры и микрофона на своем ПК без написания кода обучать нейронные сети и экспортировать их в сторонние приложения, носители или на веб-сайты. Вторая версия может распознавать звуки и позы. Читать полностью »

В Театре на Таганке появится ИИ с голосом Владимира Высоцкого - 1

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

«Мы планируем презентовать помещение, куда любой человек смог бы прийти и пообщаться с Высоцким. Мы планируем это сделать к 25 июля, когда будет 40 лет со дня смерти Высоцкого», — рассказала директор театра Ирина Апексимова.
Читать полностью »

Скачать файл с кодом и данные можно в оригинале поста в моем блоге

Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самым мощным и полезным «добряком». Так же и с символьным ядром Wolfram — его чудовищную мощь нужно правильно использовать, а если это делать не так, оно может стать настоящим «злом», замедляющим все очень сильно. Начинающие разработчики не знают многих важнейших парадигм, идей и принципов языка Wolfram Language, пишут код, который на самом деле дико неэффективен и после этого разочаровываются, хотя тут нет вины Wolfram Language. Эту ситуацию призвана исправить эта статья.

Мне довелось работать с Wolfram Language начиная с (уже довольно далекого) 2005 года (тогда еще была версия Mathematica 5.2, сейчас уже 12-я). За эти почти 15 лет произошло очень много: добавились тысячи новых встроенных функций и областей, в которых они работают (машинное обучение, точная геометрия, работа с аудио, работа в вебе, облачные возможности, глубокая поддержка единиц измерения, интеграция с базами данных Wolfram|Alpha, географические вычисления, поддержка работы с CUDA, Python, распараллеливание операций и многое многое другое), появились новые сервисы — облако Wolfram Cloud, широко известная система вычислительных значeний Wolfram|Alpha, репозиторий функций, репозиторий нейросетей и пр.
Читать полностью »

Субпиксельный рендеринг (вики)— способ увеличить видимое разрешение LCD или OLED дисплея путем рендеринга пикселей с учетом свойств экрана. Используется тот факт, что каждый пиксель экрана фактически состоит из отдельных красных, зеленых и синих субпикселей.

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

Субпиксельный рендеринг произвольных векторных изображений (Haarmony LCD) - 1

Как выглядят исходные изображения

Субпиксельный рендеринг произвольных векторных изображений (Haarmony LCD) - 2

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

Субпиксельный рендеринг произвольных векторных изображений (Haarmony LCD) - 3

Читать полностью »

image

Пара предупреждений читателю:

Для того, чтобы (насколько это возможно) упростить процесс объяснения и сжать объем публикации, стоит сразу же сделать ключевую оговорку — все, что мы пишем, касаемо практической стороны рассматриваемой проблематики, корректно для протокола TLS версии 1.3. Это значит, что хотя ваш ECDSA сертификат и будет, при желании, работать с TLS 1.2, описание процесса хендшейка, наборов шифров и бенчмарков сделано на основании последней версии протокола TLS — 1.3. Как вы понимаете, это не относится к математическому описанию алгоритмов, лежащих в фундаменте современных криптографических систем.

Данный материал был написан не математиком и даже не инженером — хотя они и помогали проложить дорожку сквозь математические дебри. Огромная благодарность сотрудникам Qrator Labs.

(Elliptic Curve) Diffie-Hellman (Ephemeral)

Наследие Диффи — Хеллмана в XXI веке

Естественным образом, данная тема начинается не с Уитфилда Диффи и не с Мартина Хеллмана. Алан Тьюринг и Клод Шеннон сделали огромный вклад в теорию алгоритмов и теорию информации, равно как и в область криптоанализа. Диффи и Хеллман, в свою очередь, официально признаются авторами идеи криптографии с публичным ключом (также называемой асимметричной) — хотя теперь известно, что в Великобритании были также достигнуты серьезные результаты в этой области. Однако они оставались засекреченными длительное время — что делает двух джентльменов, упомянутых в подзаголовке, первопроходцами.

В чем именно?
Читать полностью »

ИИ-систему DeepCom от Microsoft раскритиковали за возможность использования в распространении дезинформации - 1

Исследователи из Принстонского университета и Google Brain Research раскритиковали алгоритм, который разработан Microsoft Research Asia и Бэйханским университетом в Китае. Алгоритм обучен генерировать комментарии к новостям. Как считают некоторые эксперты, технология опасна тем, что её можно использовать в ходе кампаний по дезинформации.

«В статье пекинских исследователей представлена ​​новая техника машинного обучения, основными применениями которой, по-видимому, являются троллинг и дезинформация», — написал в своем посте в твиттере Арвин Нараянан, специалист по вычислительной технике из Центра политики в области информационных технологий Принстонского университета.
Читать полностью »

Введение

Данная статья является продолжением серии статей описывающей алгоритмы лежащие в основе
Synet — фреймворка для запуска предварительно обученных нейронных сетей на CPU.

Если смотреть на распределение процессорного времени, которое тратится на прямое распространение сигнала в нейронных сетях, то окажется что зачастую более 90% всего времени тратится в сверточных слоях. Поэтому если мы хотим получить быстрый алгоритм для нейронной сети – нам нужен, прежде всего, быстрый алгоритм для сверточного слоя. В настоящей статье я хочу описать методы оптимизации прямого распространения сигнала в сверточном слое. Причем начать хочется с наиболее широко распространенных методов, основанных на матричном умножении. Изложение я буду стараться вести в максимально доступной форме, чтобы статья была интересна не только специалистам (они и так про это все знают), но и более широкому кругу читателей. Я не претендую на полноту обзора, так что любые замечания и дополнения только приветствуются.
Читать полностью »

Алгоритм нечеткого поиска TextRadar — основные подходы

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

Постановка задачи

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

Требуется найти в строке данных наиболее близкий к строке поиска по составу и взаимному расположения символов набор фрагментов.

Для оценки качества результата поиска вычислить коэффициент, значение которого должно лежать в диапазоне от 0 до 1, где 0 должен соответствовать полному отсутствию символов строки поиска в строке данных, а 1 – наличию строки поиска в строке данных в неискаженном виде.

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

Описание алгоритма

Поиск осуществляется в несколько этапов.

Построение матрицы совпадений

Матрица совпадений (M) представляет собой двумерную матрицу, количество столбцов которой соответствует длине строки данных, а количество строк – длине строки поиска. Элементы матрицы совпадений принимают значения 0 или 1 в зависимости от того, совпадают или нет соответствующие символы строк за исключением пробелов (разделителей слов).
Матрица совпадений для строки данных «ABCD EF» и строки поиска «ABC» имеет вид:

image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js