Pull to refresh

Нейронные сети и распознавание символов

Reading time 7 min
Views 122K
Artificial Intelligence
В последнее время на Хабре появилось, а также существует много содержательных статей, описывающих работу и принцип понятия “нейронная сеть”, но, к сожалению, как всегда очень мало описания и разбора полученных практических результатов или их не получения. Я думаю, что многим, как и мне удобней, проще и понятней разбираться на реальном примере. Поэтому в данной статье постараюсь описать почти пошаговое решение задачи распознавания букв латинского алфавита + пример для самостоятельного исследования. Распознавание цифр с помощью однослойного персептрона уже сделано, теперь давайте еще разберёмся и научим компьютер распознавать буквы.
Немного желания и можно начинать...
Total votes 92: ↑75 and ↓17 +58
Comments 57

Команда Джеффри Хинтона победила в конкурсе компьютерного зрения ImageNet с двукратным преимуществом

Reading time 3 min
Views 31K
Algorithms *Image processing *
Конкурс ImageNet состоялся в октябре 2012 года и был посвящен классификации объектов на фотографиях. В конкурсе требовалось распознавание образов в 1000 категорий.

Команда Хинтона использовала методы deep learning и сверточных нейронных сетей, а также инфраструктуру, созданную в Google под руководством Jeff Dean и Andrew Ng. В марте 2013 года Google инвестировал в стартап Хинтона, основанный при университете Торонто, тем самым получив все права на технологию. В течение шести месяцев был разработан сервис поиска по фотографиям photos.google.com.
Читать дальше →
Total votes 84: ↑80 and ↓4 +76
Comments 36

Библиотеки для глубокого обучения: Keras

Reading time 13 min
Views 152K
Open Data Science corporate blog Python *Data Mining *Mathematics *Machine learning *

Привет, Хабр! Мы уже говорили про Theano и Tensorflow (а также много про что еще), а сегодня сегодня пришло время поговорить про Keras.


Изначально Keras вырос как удобная надстройка над Theano. Отсюда и его греческое имя — κέρας, что значит "рог" по-гречески, что, в свою очередь, является отсылкой к Одиссее Гомера. Хотя, с тех пор утекло много воды, и Keras стал сначала поддерживать Tensorflow, а потом и вовсе стал его частью. Впрочем, наш рассказ будет посвящен не сложной судьбе этого фреймворка, а его возможностям. Если вам интересно, добро пожаловать под кат.


image
Читать дальше →
Total votes 55: ↑55 and ↓0 +55
Comments 13

Смена пола и расы на селфи с помощью нейросетей

Reading time 10 min
Views 52K
Open Data Science corporate blog Algorithms *Image processing *Mathematics *Machine learning *

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

Читать дальше →
Total votes 100: ↑95 and ↓5 +90
Comments 67

Случайные эволюционные стратегии в машинном обучении

Reading time 8 min
Views 16K
Algorithms *Mathematics *Machine learning *
Нейронные сети учатся совсем не так как люди. Оптимизация нейронной сети — на самом деле градиентный спуск по некоторой функции потерь $E(\theta)$, где переменными являются веса слоёв $\theta$. Это очень мощный подход к подстройке системы, который применяется также в физике, экономике и многих других областях. На данный момент предложено немало конкретных методов градиентного спуска, но все они предполагают, что градиент $E(\theta)$ хорошо себя ведёт: нет обрывов, где он скачкообразно возрастает, или плато, где он обращается в ноль. С первой проблемой можно разобраться при помощи gradient clipping, но вторая заставляет тщательно подумать. Кусочно-линейную или дискретную функцию нетривиально ограничить более приятной функцией


Как поступать в таких ситуациях?

Под катом много формул и гифок.
Читать дальше →
Total votes 48: ↑48 and ↓0 +48
Comments 15

Редукция нейронных сетей при помощи вариационной оптимизации

Reading time 13 min
Views 9.8K
Algorithms *Mathematics *Machine learning *
Привет, Хабр. Сегодня я бы хотел развить тему вариационной оптимизации и рассказать, как применить её к задаче обрезки малоинформативных каналов в нейронных сетях (pruning). При помощи неё можно сравнительно просто увеличить «скорострельность» нейронной сети, не перелопачивая её архитектуру.

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 10

Машинное обучение в MatLab/Octave: примеры алгоритмов, подкрепленные формулами

Reading time 2 min
Views 12K
Programming *Machine learning *Artificial Intelligence

image


Недавно я начал изучать machine learning. Начал с прекрасного, на мой взгляд, курса от Andrew Ng. И чтобы не забыть, а так же повторить выученное решил создать репозиторий Machine Learning in Octave. В нем я собрал математические формулы для гипотез, градиентных спусков, "cost function"-ов, сигмоидов и прочих фундаментальных для машинного обучения "штук". Так же добавил туда упрощенные и доработанные примеры реализации некоторых популярных алгоритмов (нейронная сеть, линейная/логистическая регрессия и пр.) для MatLab/Octave. Надеюсь эта информация будет полезна для тех из вас, кто планирует начать изучение machine learning-а.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 3

Программный модуль оцифровки поврежденных документов

Reading time 6 min
Views 4.8K
Python *Image processing *GitHub *Machine learning *Artificial Intelligence
Sandbox

Оптическое распознавание символов (OCR) — это процесс получения печатных текстов в оцифрованном формате. Если вы прочитали классический роман на цифровом устройстве или попросили врача поднять старые медицинские записи через компьютерную систему больницы, вы, вероятно, воспользовались OCR.


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


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


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


image


Для обучения использовалось 144 картинки. Размер может быть разным, но желательно должен быть в пределах разумного. Картинки должны иметь формат PNG. После считывании изображения используется бинаризация – процесс преобразования цветного изображения в черно-белое, то есть каждый пиксель нормализуется в диапазон от 0 до 255, где 0 – это черный, 255 – белый.


Чтобы обучить сверточную сеть, нужно больше изображений, чем имеется. Было принято решение разделить изображения на части. Так как обучающая выборка состоит из картинок разного размера, каждое изображение было сжато до 448х448 пикселей. В результате получилось 144 изображения в разрешении 448х448 пикселей. После чего все они были нарезаны на неперекрывающиеся окна размером 112x112 пикселей.

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 11

Металлопоиск и… нейросеть

Reading time 10 min
Views 14K
Go *Machine learning *Physics
Принцип работы импульсного металлодетектора
Одним из популярных вариантов конструктивного исполнения устройств для металлопоиска является импульсный (pulse induction (PI)) металлодетектор- неприхотливый и надежный аппарат (хорошая глубина обнаружения, устойчивость к повышенной минерализации грунта, способность работать в соленой воде), имеющий различные сферы применения — от военного дела (традиционные пользователи «импульсников») до поиска золота (особенно популярно это хобби в Австралии).
Но и у него есть существенный недостаток — большие сложности с дискриминацией, т.е. определением типа мишени, например, узнать — из цветного металла она или из черного, или отличить противопехотную мину в пластиковом корпусе от кучки металлического мусора? Какая же причина этой проблемы?
Рассмотрим принцип работы импульсного металлодетектора.

Читать дальше →
Total votes 34: ↑33 and ↓1 +32
Comments 42

Окей, Google: как пройти капчу?

Reading time 11 min
Views 58K
Information Security *Python *Image processing *Machine learning *
Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета.

В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написания статьи прототип работает не так эффективно, как может показаться из заголовка, однако, результат демонстрирует, что реализуемый подход способен решать поставленную задачу.
Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 8

Лопнул ли пузырь машинного обучения, или начало новой зари

Reading time 10 min
Views 110K
Recognitor corporate blog Image processing *Machine learning *Research and forecasts in IT *Artificial Intelligence
Недавно вышла статья, которая неплохо показывает тенденцию в машинном обучении последних лет. Если коротко: число стартапов в области машинного обучения в последние два года резко упало.

image

Ну что. Разберём «лопнул ли пузырь», «как дальше жить» и поговорим откуда вообще такая загогулина.
Total votes 185: ↑181 and ↓4 +177
Comments 350

Нейросеть научилась рисовать сложные сцены по текстовому описанию

Reading time 2 min
Views 12K
Microsoft corporate blog Open source *GitHub *Machine learning *Artificial Intelligence

Исследовательская группа Microsoft Research представила генеративно-состязательную нейросеть, которая способна генерировать изображения с несколькими объектами на основе текстового описания. В отличие от более ранних подобных алгоритмов text-to-image, способных воспроизводить изображения только базовых объектов, эта нейросеть может справляться со сложными описаниями более качественно.

Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 14

A drawing bot for realizing everyday scenes and even stories

Reading time 6 min
Views 1.3K
Microsoft corporate blog Open source *GitHub *Machine learning *Artificial Intelligence

Drawing bot


If you were asked to draw a picture of several people in ski gear, standing in the snow, chances are you’d start with an outline of three or four people reasonably positioned in the center of the canvas, then sketch in the skis under their feet. Though it was not specified, you might decide to add a backpack to each of the skiers to jibe with expectations of what skiers would be sporting. Finally, you’d carefully fill in the details, perhaps painting their clothes blue, scarves pink, all against a white background, rendering these people more realistic and ensuring that their surroundings match the description. Finally, to make the scene more vivid, you might even sketch in some brown stones protruding through the snow to suggest that these skiers are in the mountains.


Now there’s a bot that can do all that.

Read more →
Total votes 5: ↑4 and ↓1 +3
Comments 0

Треугольник Паскаля vs цепочек типа «000…/111…» в бинарных рядах и нейронных сетях

Reading time 6 min
Views 4.7K
Data Mining *Algorithms *Big Data *Mathematics *Open data *

Серия «Белый шум рисует черный квадрат»



История цикла этих публикаций начинается с того, что в книге Г.Секей «Парадоксы в теории вероятностей и математической статистике» (стр.43), было обнаружено следующее утверждение:


Рис. 1.

По анализу комментарий к первым публикациям (часть 1, часть 2) и последующими рассуждениями созрела идея представить эту теорему в более наглядном виде.

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


Рис. 2.

Для понимания теоремы Эрдёша-Реньи составим аналогичную модель, но узлы будут формироваться из значений, в которых присутствуют наибольшие цепочки, состоящие последовательно из одинаковых значений. Кластеризации будет проводиться по следующему правилу: цепочки 01/10, к кластеру «1»; цепочки 00/11, к кластеру «2»; цепочки 000/111, к кластеру «3» и т.д. При этом разобьём пирамиду на две симметричные составляющие рисунок 3.


Рис. 3.

Первое что бросается в глаза это то, что все перемещения происходят из более низкого кластера в более высокий и наоборот быть не может. Это естественно, так как если цепочка размера j сложилась, то она уже не может исчезнуть.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 5

Ультимативное сравнение embedded платформ для AI

Reading time 22 min
Views 21K
Recognitor corporate blog System Analysis and Design *Image processing *Machine learning *Artificial Intelligence
Нейронные сеточки захватывают мир. Они считают посетителей, контролируют качество, ведут статистику и оценивают безопасность. Куча стартапов, использование в промышленности.
Замечательные фреймворки. Что PyTorch, что второй TensorFlow. Всё становиться удобнее и удобнее, проще и проще…
Но есть одна тёмная сторона. Про неё стараются молчать. Там нет ничего радостного, только тьма и отчаяние. Каждый раз когда видишь позитивную статью — грустно вздыхаешь, так как понимаешь что просто человек что-то не понял. Или скрыл.
Давайте поговорим про продакшн на embedded-устройствах.

Total votes 43: ↑43 and ↓0 +43
Comments 57

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO

Reading time 9 min
Views 61K
Programming *Image processing *Machine learning *Artificial Intelligence
Darknet YOLOv4 быстрее и точнее, чем real-time нейронные сети Google TensorFlow EfficientDet и FaceBook Pytorch/Detectron RetinaNet/MaskRCNN.

Эта же статья на medium: medium
Код: github.com/AlexeyAB/darknet
Статья: arxiv.org/abs/2004.10934
Обсуждение YOLOv4-tiny 1770 FPS: www.reddit.com/r/MachineLearning/comments/hu7lyt/p_yolov4tiny_speed_1770_fps_tensorrtbatch4
Обсуждение: www.reddit.com/r/MachineLearning/comments/gydxzd/p_yolov4_the_most_accurate_realtime_neural


Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов.

Нашей целью было разработать алгоритм обнаружения объектов для использования в реальных продуктах, а не только двигать науку вперед. Точность нейросети YOLOv4 (608x608) – 43.5% AP / 65.7% AP50 Microsoft-COCO-testdev.

62 FPS – YOLOv4 (608x608 batch=1) on Tesla V100 – by using Darknet-framework
400 FPS – YOLOv4 (320x320 batch=4) on RTX 2080 Ti – by using TensorRT+tkDNN
32 FPS – YOLOv4 (416x416 batch=1) on Jetson AGX Xavier – by using TensorRT+tkDNN


Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 37

The Project «Fabula»: How to find the desired video-fragment or person in a pile of video files?

Reading time 2 min
Views 925
Спецлаб corporate blog IPTV *Big Data *Display advertising *Video equipment
If a person is far over 20, then he has already accumulated a huge film library of his life, as well as videos from friends, relatives, and from his place of work… It is no longer possible to find someone or something specific there. Recently, I was preparing a video compilation for my daughter's anniversary – I spent a week. The media is all the more overloaded with video archives. And every day, millions of terabytes of video content appear in the world. And this is in the era of BIG DATA.

image
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 4

Neural networks in reality

Reading time 2 min
Views 730
Спецлаб corporate blog Image processing *Big Data *Industrial Programming *The future is here
Recovery mode
The mass of news and articles about artificial intelligence creates the illusion that we are living in a fantastic time. But when you start asking everyone what exactly is useful in real life from these high technologies, the answers come down to some Google features, mobile games and a story about Chinese videos. By the way, oh, these Chinese videos — for some reason, they are constantly shown by the central mass media when they demonstrate Moscow's intellectual technologies.

In words, it seems, all the «intellects» are installed already everywhere, the whole country has long been transferred to neural networks, but only in some kind of demonstration pictures, in diagrams, on fingers. There is a mental dissonance — why not take a video camera and shoot at least a fragment of how Russia's super mega technologies work?

As Nikita Sergeevich said, «science ceases to be self-indulgence when its fruits are applied in the national economy.» And today's artificial intelligence is familiar to us only from games. Many people really want to see something useful in reality. Therefore, we were not too lazy and recorded our video of the operation of neural networks from real objects.

Total votes 1: ↑0 and ↓1 -1
Comments 0

Нейросети и трейдинг. Часть 2: набор «сделай сам»

Reading time 5 min
Views 18K
Machine learning *Research and forecasts in IT *
Продолжение статьи здесь.
Добавить нейросеть в MetaTrader5 можно тут.


В прошлой статье я описал как получилось добиться от нейросети предсказания тренда на реальном рынке. Статья вызвала интерес, но оказалось, что на вопрос «Где доказательства?» ответа нет. Действительно, тема нейросетей в трейдинге обсуждается много, есть публикации, ей посвещены ветки на профессиональных форумах. Но сколько ни погружайся в тему, сколько ни общайся со специалистами, остается впечатление, что все это какая-то ускользающая иллюзия. Нет ничего реально работающего, ничего такого, что хотя бы отдаленно, но реально могло связать нейросеть и прогноз движения цены. Отсюда и обоснованное мнение сообщества, что движение цены не поддается прогнозированию в принципе, а все эти разговоры ни о чем.
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Comments 9

Scaled YOLO v4 самая лучшая нейронная сеть для обнаружения объектов на датасете MS COCO

Reading time 6 min
Views 18K
Programming *Image processing *Machine learning *Artificial Intelligence

Scaled YOLO v4 является самой лучшей нейронной сетью для обнаружения объектов — самой точной нейронной сетью (55.8% AP) на датасете Microsoft COCO среди всех опубликованных нейронных сетей на данный момент. А также является лучшей с точки зрения соотношения скорости к точности во всем диапазоне точности и скорости от 15 FPS до 1774 FPS. На данный момент это Top1 нейронная сеть для обнаружения объектов.

Scaled YOLO v4 обгоняет по точности нейронные сети:

  • Google EfficientDet D7x / DetectoRS or SpineNet-190 (self-trained on extra-data)
  • Amazon Cascade-RCNN ResNest200
  • Microsoft RepPoints v2
  • Facebook RetinaNet SpineNet-190


Мы показываем, что подходы YOLO и Cross-Stage-Partial (CSP) Network являются лучшими с точки зрения, как абсолютной точности, так и соотношения точности к скорости.

График Точности (вертикальная ось) и Задержки (горизонтальная ось) на GPU Tesla V100 (Volta) при batch=1 без использования TensorRT:

Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 9
1