Рубрика «нейросети» - 31

Привет! У нас прошла конференция по разработке технической документации – ProКонтент 2019. Мне довелось изнутри посмотреть на процесс рождения конференции и даже выступить с пятиминутным мини-докладом. Не претендуя на объективность, очень кратко расскажу про доклады, которые мне больше всего понравились.
Читать полностью »

Индустрия сконцентрировалась на ускорении перемножений матриц, однако улучшение алгоритма поиска может привести к более серьёзному повышению быстродействия

Ускоряем работу нейросетей с помощью хеширования - 1

В последние годы компьютерная индустрия была занята, пытаясь ускорить вычисления, требуемые для искусственных нейросетей – как для обучения, так и для получения выводов её работы. В частности, довольно много усилий было положено на разработку специального железа, на котором можно выполнять эти вычисления. В Google разработали Tensor Processing Unit, или TPU, впервые представленный публике в 2016-м. Позже Nvidia представила V100 Graphics Processing Unit, описывая его, как чип, специально разработанный для обучения и использования ИИ, а также для других высокопроизводительных вычислительных нужд. Полно и иных стартапов, концентрирующихся на других типах аппаратных ускорителей.
Читать полностью »

Генеративно-состязательные сети (ГСС) [Generative Adversarial Networks, GAN] – обладающий интересными возможностями класс глубоких генеративных моделей. Их основная идея – обучение двух нейросетей, генератора, который обучается синтезу данных (к примеру, изображений), и дискриминатора, обучающегося тому, как отличать реальные данных от тех, что синтезировал генератор. Этот подход успешно использовался для высококачественного синтеза изображений, улучшения сжатия изображений, и прочего.
Читать полностью »

Для тех, кому лень читать всё: предлагается опровержение семи популярных мифов, которые в области исследований машинного обучения часто считаются истинными, по состоянию на февраль 2019. Данная статья доступна на сайте ArXiv в виде pdf [на английском языке].

Миф 1: TensorFlow – это библиотека для работы с тензорами.
Миф 2: Базы данных изображений отражают реальные фотографии, встречающиеся в природе.
Миф 3: Исследователи МО не используют проверочные наборы для испытаний.
Миф 4: В обучении нейросети используются все входные данные.
Миф 5: Для обучения очень глубоких остаточных сетей требуется пакетная нормализация.
Миф 6: Сети с вниманием [attention] лучше свёрточных [convolution].
Миф 7: Карты значимости – надёжный способ интерпретации нейросетей.

А теперь — подробности.
Читать полностью »

Свёрточные нейросети отлично справляются с классификацией искажённых изображений, в отличие от людей

У нейросетей удивительно простая стратегия классификации изображений - 1

В данной статье я покажу, почему передовые глубинные нейросети прекрасно могут распознавать искажённые изображения и как это помогает раскрыть удивительно простую стратегию, используемую нейросетями для классификации естественных фотографий. У этих открытий, опубликованных в ICLR 2019, есть много последствий: во-первых, они демонстрируют, что найти «решение» ImageNet гораздо проще, чем считалось. Во-вторых, они помогают нам создавать более интерпретируемые и понятные системы классификации изображений. В-третьих, они объясняют несколько явлений, наблюдаемых в современных свёрточных нейросетях (СНС), к примеру, их склонность к поиску текстур (см. другую нашу работу в ICLR 2019 и соотв. запись в блоге), и игнорирование пространственного расположения частей объекта.
Читать полностью »

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

Но такое решение будет обладать рядом недостатков:

Во-первых, большое количество необходимых вычислений, что влияет на время работы или требуемую энергию (что очень актуально для мобильных устройств). Действительно, если мы хотим распознавать хотя бы 3000 символов, то это будет размер последнего слоя сети. А если вход этого слоя равен хотя бы 512-ти, то получаем 512 * 3000 умножений. Многовато.

Во-вторых, размер. Тот же самый последний слой из предыдущего примера будет весить 512 * 3001 * 4 байт, то есть около 6-ти мегабайт. Это только один слой, вся сеть будет весить десятки мегабайт. Понятно, для настольного компьютера это проблема небольшая, но на смартфоне не все будут готовы хранить столько данных для распознавания одного языка.

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

И в-четвёртых, проблема в количестве символов: 3000, скорее всего, хватит чтобы, например, отличить в меню ресторана стейк от жареного морского огурца, но порой встречаются и более сложные тексты. Обучить сеть на большее количество символов будет сложно: она будет не только более медленной, но и возникнет проблема со сбором обучающей выборки, так как частота символов падает приблизительно экспоненциально. Конечно, можно доставать изображения из шрифтов и аугментировать их, но для обучения хорошей сети этого недостаточно.

И сегодня я расскажу, как нам удалось решить эти проблемы.
Читать полностью »

Гадание на нейросетях: отметился ли в комментариях к посту сам автор - 1

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

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

Видеть сквозь иллюзии сфабрикованного мира

Какое лицо реально? - 1

«В интернете никто не знает, что ты собака»

Так говорит собака, сидящая за компьютером в мультфильме Питера Штайнера «Нью-Йоркер» 1993 года. Карикатура запечатлела радикальные изменения в характере человеческих взаимодействий, которые только начинались в 1993 году, изменения, которые не только радуют своими возможностями, но и пугают по той же причине.

За последние четверть века мы все усвоили «урок собаки». Случайным незнакомцем в Интернете может быть кто угодно и где угодно. Опытный импресарио на музыкальном форуме может быть ребенком в подвале его мамы. Четырнадцатилетняя девушка в чате может быть полицейским под прикрытием. Африканская нефтяная наследница в твоих входящих сообщениях, несомненно, мошенница.

Но в то время как мы научились не доверять именам и текстам, с изображениями всё по другому. Мы предполагаем, что изображение должно иметь реальный источник и мы склонны доверять изображениям. Бизнес-профиль с фотографией явно принадлежит кому-то. Человек на фотографии, на сайте знакомств, может оказаться на 10 килограмм тяжелее или на 10 лет старше, но если фотография есть, человек, очевидно, существует.

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

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

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

Нейросеть научили дорисовывать на фото людей недостающие детали - 1

Проекты, основа которых — нейросети, не редкость. Они появляются каждый день. Кто-то сортирует огурцы, кто-то рисует картины или сочиняет тексты фейковых новостей, ну а кто-то восстанавливает недостающие детали на фотографиях людей.

Новый проект, который, кстати, уже выложен на GutHub, позволяет восстанавливать детали, которые по той либо иной причине отсутствуют на фото. Кстати, некоторые детали могут быть «фантазией» самой программы. Например, это прическа у лысого человека или же улыбка на фото, где ее не было.
Читать полностью »

В прошлых статьях уже писали о том, как у нас устроены технологии распознавания текста:

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

1). Огромное количество классов, которое нужно различать.
2). Более сложное устройство символа в целом.

image

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

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

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

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


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