Pull to refresh
8
0
Arman Zharmagambetov @arreqe

User

Send message

Методы оптимизации нейронных сетей

Reading time 17 min
Views 211K

В подавляющем большинстве источников информации о нейронных сетях под «а теперь давайте обучим нашу сеть» понимается «скормим целевую функцию оптимизатору» лишь с минимальной настройкой скорости обучения. Иногда говорится, что обновлять веса сети можно не только стохастическим градиентным спуском, но безо всякого объяснения, чем же примечательны другие алгоритмы и что означают загадочные \inline \beta и \inline \gamma в их параметрах. Даже преподаватели на курсах машинного обучения зачастую не заостряют на этом внимание. Я бы хотел исправить недостаток информации в рунете о различных оптимизаторах, которые могут встретиться вам в современных пакетах машинного обучения. Надеюсь, моя статья будет полезна людям, которые хотят углубить своё понимание машинного обучения или даже изобрести что-то своё.


image


Под катом много картинок, в том числе анимированных gif.

Читать дальше →
Total votes 78: ↑78 and ↓0 +78
Comments 74
Через банк проходят сотни миллионов транзакций ежедневно, поэтому на серверах накапливаются большие данные: сведения о самих клиентах, паттерны их покупок, требования в целом. По сути, банки превращаются в IT-компании так, как это произошло с телеком-операторами. Они предоставляют все больше цифровых сервисов и услуг, а собираемые ими данные и извлекаемая из них информация активно используются в создании новых сервисов. Применить эту информацию можно в множестве приложений, от классических задач оптимизации обработки транзакций и кибербезопасности с выявлением мошенничества, вплоть до создания персональных финансовых ассистентов и сверх-таргетированного маркетинга.
Читать дальше
Total votes 40: ↑36 and ↓4 +32
Comments 19

Искусственный интеллект в поиске. Как Яндекс научился применять нейронные сети, чтобы искать по смыслу, а не по словам

Reading time 12 min
Views 130K
Сегодня мы анонсировали новый поисковый алгоритм «Палех». Он включает в себя все те улучшения, над которыми мы работали последнее время.

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



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

В этом посте я постараюсь немного рассказать о том, как у нас это получилось и почему это не просто ещё один алгоритм машинного обучения, а важный шаг в будущее.
Читать дальше →
Total votes 147: ↑138 and ↓9 +129
Comments 130

Как pdf (изображения) преобразовать в текстовый txt-файл

Reading time 4 min
Views 45K
Вы скажете, что самый простой способ — выделить весь текст в pdf, скопировать его в буфер обмена и вставить из буфера обмена в текстовый файл. И будете правы. Но это не наш случай. Файл pdf — результат сканирования многостраничного документа. Т.е. содержимое pdf — это изображения текста.

image


Предлагаемый вариант решения реализован под Windows-8, но с небольшими корректировками, думаю, вполне может быть использован для Linux и OS X.
С задачей преобразования изображения в текст справляются Abbyy FineReader, MS Word, MS OneNote. Существуют также сайты, на которых изображение можно преобразовать в online: http://www.ocrconvert.com
Предлагаемое решение использует бесплатные утилиты. В приоритете также была работа в командной строке.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Comments 60

Обзор топологий глубоких сверточных нейронных сетей

Reading time 18 min
Views 107K
Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

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

Парсинг резюме

Reading time 7 min
Views 23K
Те кто сталкивался с задачами автоматизированного анализа резюме, представляют современное состояние дел в этой области — существующие парсеры в основном ограничиваются выделением контактных данных и ещё нескольких полей, таких как «должность» и «город».

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

Живой пример (кусок XML результата анализа резюме от одного из лидеров области Sovren):

    <EmployerOrg>
        <EmployerOrgName>ООО Звезда-DSME</EmployerOrgName>
        <PositionHistory positionType="directHire">
            <Title>Ведущий специалист отдела развития информационных систем</Title>
            <OrgName>
                <OrganizationName>ООО Звезда-DSME</OrganizationName>
             </OrgName>

Парсер Sovren прекрасно справился с выделением полей. Ребята не зря занимаются этим делом без малого 20 лет!

Но что дальше делать с «Ведущий специалист отдела развития информационных систем»? Как понять, что же это за должность, насколько опыт работы этого человека релевантен для той или иной вакансии?
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 7

Обзор курсов по Deep Learning

Reading time 11 min
Views 70K
Привет, Хабр! Последнее время все больше и больше достижений в области искусственного интеллекта связано с инструментами глубокого обучения или deep learning. Мы решили разобраться, где же можно научиться необходимым навыкам, чтобы стать специалистом в этой области.

image
Читать дальше →
Total votes 52: ↑48 and ↓4 +44
Comments 29

Что такое свёрточная нейронная сеть

Reading time 13 min
Views 263K


Введение


Свёрточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд ошибок классификации с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.


Но классический, и, возможно, самый популярный вариант использования сетей это обработка изображений. Давайте посмотрим, как СНС используются для классификации изображений.


Задача


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


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

Курс молодого бойца для Spark/Scala

Reading time 3 min
Views 27K
Хабр, привет!

Команда Retail Rocket использует узкоспециализированный стек технологий Hadoop + Spark для вычислительного кластера, о котором мы уже писали обзорный материал в самом первом посте нашего инженерного блога на Хабре.

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


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 8

Как мы делали систему выделения информации из текста на естественном языке для банка АО «Банк ЦентрКредит» (Казахстан)

Reading time 5 min
Views 13K
Некоторое время назад к нам обратился представитель банка АО «Банк ЦентрКредит» (Казахстан) с интересной задачей. Необходимо было интегрировать в конвейер обработки данных, представляющих из себя текст на естественном языке, дополнительный инструмент обработки. Всех деталей проекта мы раскрывать не можем, так как он находится в сфере безопасности банка и разрабатывается его службой безопасности. В освещении технологических аспектов задачи и способов их реализации заказчик не был против, что собственно мы и хотим сделать в рамках данной статьи.

В целом задача, состояла в извлечении некоторых сущностей из большого массива текстов. Не сильно отличающаяся проблема от классической задачи извлечения именованных сущностей, с одной стороны. Но определения сущностей отличались от обычных и тексты были довольно специфическими, а сроку на решение проблемы было две недели.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 11

Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1)

Reading time 16 min
Views 90K
То, о чем я попытаюсь сейчас рассказать, выглядит как настоящая магия.

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

Итак, магия:


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

Читать дальше →
Total votes 83: ↑82 and ↓1 +81
Comments 64

Байесовская нейронная сеть — теперь апельсиновая (часть 2)

Reading time 16 min
Views 37K
Как вы думаете, чего в апельсине больше — кожуры, или, хм, апельсина?



Предлагаю, если есть возможность, пойти на кухню, взять апельсин, очистить и проверить. Если лень или нет под рукой — воспользуемся скучной математикой: объем шара мы помним из школы. Пусть, скажем, толщина кожуры равна от радиуса, тогда , ; вычтем одно из другого, поделим объем кожуры на объем апельсина… получается, что кожуры что-то около 16%. Не так уж мало, кстати.

Как насчет апельсина в тысячемерном пространстве?

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

  • во-первых, в тысячемерном гиперапельсине кожуры больше, чем мякоти
  • а во-вторых, ее больше примерно в 246993291800602563115535632700000000000000 раз

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

Начнем с этого, пожалуй.

Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Comments 26

Русский нейросетевой чатбот

Reading time 5 min
Views 81K
О чатботах, использующих нейронные сети я уже писал некоторое время назад. Сегодня я расскажу о том как я попробовал сделать полномасштабный русскоязычный вариант.



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

Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Comments 73

Рекурентная нейронная сеть в 10 строчек кода оценила отзывы зрителей нового эпизода “Звездных войн”

Reading time 11 min
Views 159K
Hello, Habr! Недавно мы получили от “Известий” заказ на проведение исследования общественного мнения по поводу фильма «Звёздные войны: Пробуждение Силы», премьера которого состоялась 17 декабря. Для этого мы решили провести анализ тональности российского сегмента Twitter по нескольким релевантным хэштегам. Результата от нас ждали всего через 3 дня (и это в самом конце года!), поэтому нам нужен был очень быстрый способ. В интернете мы нашли несколько подобных онлайн-сервисов (среди которых sentiment140 и tweet_viz), но оказалось, что они не работают с русским языком и по каким-то причинам анализируют только маленький процент твитов. Нам помог бы сервис AlchemyAPI, но ограничение в 1000 запросов в сутки нас также не устраивало. Тогда мы решили сделать свой анализатор тональности с блэк-джеком и всем остальным, создав простенькую рекурентную нейронную сеть с памятью. Результаты нашего исследования были использованы в статье “Известий”, опубликованной 3 января.



В этой статье я немного расскажу о такого рода сетях и познакомлю с парой классных инструментов для домашних экспериментов, которые позволят строить нейронные сети любой сложности в несколько строк кода даже школьникам. Добро пожаловать под кат.
Читать дальше →
Total votes 82: ↑75 and ↓7 +68
Comments 48

Обзор примера применения обучения с подкреплением с использованием TensorFlow

Reading time 21 min
Views 45K
КПДВ. В Karpathy game играет нейронная сеть

Всем привет!
Я думаю, что многие слышали о Google DeepMind. О том как они обучают программы играть в игры Atari лучше человека. Сегодня я хочу представить вам статью о том, как сделать нечто подобное. Данная статья — это обзор идеи и кода примера применения Q-learning, являющегося частным случаем обучения с подкреплением. Пример основан на статье сотрудников Google DeepMind.
За подробностями добро пожаловать под кат
Total votes 22: ↑22 and ↓0 +22
Comments 15

Эксперимент: Можно ли создать эффективную торговую стратегию с помощью машинного обучения и исторических данных

Reading time 4 min
Views 28K


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

Давид Монтаг (David Montaque), выпускник Стэнфордского университета и сотрудник компании Palantir Technologies, написал статью, в которой описал создание алгоритмических стратегий для торговли фьючерсами на основе исторических данных. Для предсказания будущей цены и волатильности Монтаг использовал техники машинного обучения. Мы представляем вашему вниманию описание эксперимента и выводы, к которым пришел исследователь.
Читать дальше →
Total votes 24: ↑17 and ↓7 +10
Comments 3

Аппаратное обеспечение для глубокого обучения

Reading time 3 min
Views 18K
Глубокое обучение — процесс, требующий больших вычислительных мощностей. Конечно, нет ничего хорошего в том, чтобы тратить деньги на покупку аппаратного обеспечения с обложки журнала, которое потом полетит на помойку. Нужно подходить к этому делу с умом.

Попробуем взглянуть на примеры аппаратных решений, связанные с работой по осваиванию темы deep learning'а. Ну и затронем немного теории.

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

Scala хуже, чем Java. Как минимум, для половины Java проектов

Reading time 8 min
Views 37K
Итак, в своем посте (прим.пер. Да, Вирджиния, Scala сложна!) я согласился с тем, что Scala слишком сложна для большей части Java разработчиков. Тот пост вызвал немало дискуссий, большая часть которых исказила его смысл. Теперь я пишу снова, надеясь пояснить, о чем я, собственно, говорил и зачем мне все это нужно.

Но сначала обо мне. Меня зовут Дэвид Поллак.
Читать дальше →
Total votes 76: ↑60 and ↓16 +44
Comments 80

Покупка оптимальной квартиры с R

Reading time 12 min
Views 61K
Многие люди сталкиваются с вопросом покупки или продажи недвижимости, и важный критерий здесь, как бы не купить дороже или не продать дешевле относительно других, сопоставимых вариантов. Простейший способ — сравнительный, ориентироваться на среднюю цену метра в конкретном месте и экспертно добавляя или снижая проценты от стоимости за достоинства и недостатки конкретной квартиры. image Но данный подход трудоемок, неточен и не позволит учесть все многообразие отличий квартир друг от друга. Поэтому я решил автоматизировать процесс выбора недвижимости, используя анализ данных путем предсказания «справедливой» цены. В данной публикации описаны основные этапы такого анализа, выбрана лучшая предиктивная модель из восемнадцати протестированных моделей на основании трех критериев качества, в итоге лучшие (недооцененные) квартиры сразу помечаются на карте, и все это используя одно web-приложение, созданное с помощью R.

Читать дальше →
Total votes 62: ↑59 and ↓3 +56
Comments 35

Автоматическое определение тональности текста (Sentiment Analysis)

Reading time 7 min
Views 55K
За недолгое время моего процесса обучения я понял одну вещь – знаниями нужно делиться. Осознал я это давно, но лень перебороть и найти время не всегда получается.

Речь в этой статье пойдет про использование различных методов машинного обучения для решения проблем, связанных с обработкой естественного языка (NLP). Одной из таких проблем является автоматическое определение эмоциональной окраски (позитивный, негативный, нейтральный) текстовых данных, то есть анализа тональности (sentiment analysis). Цель этой задачи состоит в определении, является ли данный текст (допустим обзор фильма или комментарии) положительным, отрицательным или нейтральным по своему влиянию на репутацию конкретного объекта. Трудность анализа тональности заключается в присутствии эмоционально обогащенного языка — сленг, многозначность, неопределенность, сарказм, все эти факторы вводят в заблуждение не только людей, но и компьютеров.



На хабре уже не раз появлялись статьи связанные с определением тональности 1, 2, 3. Да и вообще, эта тема является одной из самых обсуждаемых во всем мире в последнее время [1, 2, 3, 4].

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

Итак, в чем же состоит проблема и как ее решить?
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Comments 12

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity