Нейросети и искусственный интеллект — хайп или ближайшее будущее

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

Без названия

Привет, vc. Machine learning, big data, data science, artificial intelligence — термины, которые всем давно известны. Но что внутри?

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

Формулы расчета «ячейки» LSTM, одного из самых популярных типов рекуррентной нейронной сети.

Нейронная сеть — не единственный класс алгоритмов машинного обучения (ML), есть и другие часто используемые в бизнесе.

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

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

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

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

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

Вначале нейронная сеть будет выдавать абсолютно случайные ответы. Но со временем её ответы будут точнее.

Так выглядит график ошибки правильного процесса обучения. С ростом количества итераций ошибка падает.


http://torch.ch/blog/2016/02/04/resnets.html

Сам процесс обучения довольно нестабилен. И поэтому существует такая вакансия, как инженер data science, который занимается:

  • очисткой датасета от ложных или некачественных данных;
  • перебором вариантов нейросетей;
  • поиском способов обогатить и расширить датасет.

Приведу примеры и часто встречающиеся типы нейронных сетей, которые успешно применяют на практике.

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

https://towardsdatascience.com/yolo-v3-object-detection-53fb7d3bfe6b

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

http://cs231n.github.io/convolutional-networks/

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

Машинный перевод

 Используются рекуррентные нейронные сети (Seq2Seq, Encoder-Decoder и другие). Называются они так потому, что работают последовательно. Например, если это перевод с китайского на английский (как на картинке ниже), то рекуррентной сети на вход подают по одному слову из предложения на китайском.

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

Перевод звука в текст и обратно

Также используются рекуррентные нейронные сети или специальные модификации сверточных (WaveNet).

Сможете отличить на какой из записи звук сгенерирован нейросетью?

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

Почему же массовое внедрение ML-моделей пока не происходит повсеместно

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

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

Один из способов с этим справиться — определить «цену» ошибки. Например, если мы выдадим кредит злостному неплательщику (сеть предсказала положительный ответ, а на самом деле он отрицательный), мы потеряем стоимость кредита.

Если мы не выдадим кредит платежеспособному клиенту (сеть предсказала отрицательный ответ, а на самом деле он положительный), то потеряем прибыль, также есть затраты на привлечение клиента.

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

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

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

Для определения объектов на фото используют технику transfer learning — перенос знаний. Нейросеть сначала учат определять объекты на специальном датасете — ImageNet. Он публично доступен всем желающим и содержит 14 млн фотографий с пояснениями, что на них изображено.

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

Можно ли использовать ML на малом количестве данных и получать нужный результат

Можно. Например не так давно наша команда занималась кейсом управляющей компании «Альфа-Капитал» с запросом анализа новостного потока на выявления важной информации. Работа эта однообразная и требует много времени. Поэтому человек быстро устаёт и теряет эффективность.

Для начала мы запросили примеры 100 важных и 100 неважных новостей. На этом миниатюрном датасете можно было проверить есть ли вообще отличимый сигнал важности новости. Оказалось, что мы можем отличить более 60% важных новостей из общих 200.

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

Средняя точность предсказания за девять дней на реальных данных получилась 83,7%. И это очень хороший результат, однако сократила ли компания заказчика штат сотрудников? По результатам работы мы получили следующий комментарий:

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

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

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

То есть сократить трудозатраты — да, полностью заменить работу человека — нет.

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

Заключение

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

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

Что же касается разговоров Масков и Цукербергов об искусственном интеллекте, который опасен для человечества, это не более, чем PR. До этого еще далеко.

Источник