История нейросетей

Просмотров: 1456
Автор:
Редакция Global CIO Рейтинг16250

Редакция Global CIO

Редакция — Global CIO

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

Изобретены нейросети были гораздо раньше, чем о них заговорил весь мир. Автором концепции нейронных сетей стал Франк Розенблатт, который в 1957 году первым предложил математическую модель, описывающую простейшие процессы происходящие в мозге у животных. Чтобы понять ее смысл, достаточно вспомнить знакомую со школьных времен схему рефлекса. Так, есть некоторая входящая информация, которую воспринимает рецептор, затем она обрабатывается в сети вставных нейронов (иначе говоря — в процессоре) и преобразовывается в ответ — новый класс данных.

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

Все нейронные сети тоже состоят из тысяч простых элементов (перцептонов), воспринимающих и параллельно обрабатывающих полученную информацию, а затем передающих ее на следующие уровни, которых могут быть сотни. Пластичность и высокая эффективность достигается с помощью регулирования «веса» каждого искусственного нейрона. Однако происходит это не само собой, а благодаря глубинному обучению (deep-learning). 

Deep-learning — тип машинного обучения, построенный на наборе алгоритмов, которые оптимизируют работу всех уровней нейронной сети. Это делается с помощью сложных статистических алгоритмов, например, машины Больцмана

Существует еще один тип моделирования нейронных сетей —  обучение с помощью «учителя». Он строится на том, что человек показывает программе некоторую выборку объектов, с которыми потом ей предстоит работать. Нейронная сеть отвечает, а «учитель» исправляет ее ошибки. Благодаря такому фидбеку сеть оптимизируется, и доля верных ответов увеличивается с 50% до более значимых величин. 

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

Конечно, и до этой громкой победы машины обыгрывали людей во всем, что угодно, но делали они это с меньшим изяществом. Например, компьютер Deep Blue 20 лет назад обыграл в шахматы Гари Каспарова благодаря исключительным вычислительным мощностям. В компьютер была занесена огромная база дебютов, которая регулировалась восьмью тысячами параметров, а для победы машина использовала алгоритм просчета древа ходов. Фактически она не училась, а считала. 

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

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

Вопрос применимости нейронных сетей в бизнесе мы обсудили со старшим разработчиком «ВКонтакте» Олегом Илларионовым, который разработал Vinci — главного конкурента прокатившего по российским социальным сетям приложения для обработки фотографий Prisma. Илларионов отмечает, что основные сферы применения технологии — часто не самые публичные. Нейронные сети используются в тех местах, где пользователь редко ожидает их увидеть: банковский сектор с его необходимостью оценки кредитоспособности, финансовый и инвестиционный рынок, где используется прогнозирование на основе временных рядов. Также сетевые технологии используются для конвертации больших массивов данных, а, следовательно, могут быть активно использованы в крупных компаниях для в работы с потребителем в качестве элемента CRM-систем или, например, для оптимизации показателей рекламных кампаний. 

Таким образом, можно говорить о том, что нейронные сети качественно изменили мир IT. Значимость данной технологии во многом подтверждался и ее проникновением в сферу поп-культуры: пользователи интернета уже знакомы с такими приложениями как FindFace и Prisma. В основном популярные мобильные программы используют лишь одну область применения нейронных сетей — классификацию. После обучения на выборке технология FaceN, разработанная недавним выпускником МГУ Артемом Кухаренко, может с точностью около 80% распознавать лица на фотографиях и затем находить их в социальных сетях. 

Вот, например, посмотрите на эксперимент петербургского фотографа Егора Цветкова, который находил в «ВКонтакте» пассажиров метро.

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

Еще одним довольно популярным приложением, использующим технологию нейросетей, стало приложение Borsch, которое позволяет найти красивую еду недалеко от пользователя. Человеку достаточно ввести названия блюда, а алгоритмы найдут рестораны с самыми красивыми их версиями. Зачем приложению нужны нейронные сети, нигде не объясняется, но, возможно, именно с их помощью сервис понимает, какая еда красивая, а какая — нет. 

А что вы думаете о нейроннных сетях? На ваш взгляд, это технология завтрашнего дня или уже сегодняшнего?

Комментарии (3)

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.