Вы даже не задумывались, но уже сегодня искуственный интелект (далее ИИ) вокруг нас. Соцсети, интернет-магазины, даже камера, всё это использует возможности современного ИИ, чтобы работать на благо человека.
Для того, чтобы понять как ИИ так быстро пришел в нашу жизнь, давайте сперва поймем что же такое этот "искусственный интелект" сам по себе. Если не углубляться в подробности, ИИ - это сложная математическая система из формул, которая при множественном прогоне через неё информации образует что-то вроде слепка или обобщения, по коротому далее решает поставленые задачи. ИИ по другому называют "нейронные сети".
Что за сети такие?
Как я и сказал, любой ИИ это сложная математическая система. Однако, эта система состоит из так называемых нейронов. Изначально, ученые пытались воссоздать мозг, поэтому название структурных элементов взяли оттуда.
Так что же за нейроны такие? В общем, это небольшой кусочек математики)) Но, нейроны связаны в сети "нейронными связями". Это очередная математическая абстракция, но когда через нейронку идет поток информации (обрабатываем обучающий пример), эти связи настраиваются таким образом, чтобы получать результат, который создатель сети хочет получить. В процессе обучения, какие-то связи отмирают, какие-то нарастают, в общем сеть превращается в сложный лабиринт для поступающей информации. Она становится своего рода фильтром.
В начале сети у нас будет много нейронов, для входных параметров. Столько, сколько параметров у нас всего. В конце - столько, сколько вариантов ответа мы можем получить. А вот внутри, наша информация будет смешиваться, как-то взаимодействовать, по каким-то связям идти, по каким-то нет. И после этого сложного процесса, на выходных нейронах мы получим вероятности возможных вариантов. Эта картина будет отражать то, как информация прошла по нашему лабиринту нейронов.
Например на картике ниже, вы видите нейронную сеть для распознавания рукописных цифр. В качестве входных параметров у нас все пикселы изображения, а в качестве выходных - все 10 цифр.
Самое интересное здесь то, что мы понятия не имеем как работает нейронная сеть внутри. Если быть точнее, общее представление мы имеем, но усилий для настройки связей мы не прилагам. За нас это делает магическая математика. К слову о том зачем учить математику вообще))
Вот схема программного нейрона. Просто присмотритесь как сильно он похож на биологический нейрон, который был чуть выше.
Если обобщить вышесказанное, то нейронки - это крутейшая тема, и интеллект она не спроста. Она действительно учится сама, она действительно решает определенный пласт задач лучше человека, а некоторые на равне с ним. Все благодаря магической математики внутри этой системы нейронов.
И толку мне с ваших нейронок?
А теперь, когда мы хотя бы примерно понимаем как оно устроено внутри мы можем предполагать как и где это использовать.
Ради приличия, надо отметить, что нейронки шагнули далеко от такой простой слоёной системы, и превратились в слоёных крученых гигантов. Сегодня создать нейронку не так просто и если ты, дорогой читатель, горишь желаением стать гуру ИИ, то парочка курсов тебе не помешает))
Итак, сферы применения нейронок:
- Робототехника
- Распознавание (языка, рукописей, изображений)
- Рекомендации
- Перевод
- Общение
Про все эти направления мы сейчас подробно поговорим.
ИИ в робототехнике
Логически понятно, что роботу, для приняте решения нужен какой-то интеллект. Обычный подход к программированию логики позволяет решать только заранее определенные задачи. Таким образом, уже давно мы имеем роботов на заводах. Однако, если мы хотим создать хотя бы приближенный аналог человека, то такой подход нам никак не подойдет, поскольку невозможно предугадать в каких ситуациях окажется машина в конечном итоге.
На помощь приходят нейронные сети. Дело в том, что некоторые подвиды нейронных сетей могут накапливать опыт, получаемый при обучении и в дальнейщем действовать на базе него в решении новых задач. То есть, проблема адаптации к новым условиям может быть решена с помощью нейронных сетей. Однако, полноценный робот не такая простая вещь, как может показаться на первый взгляд. В нем найдут применение множество нейронных сетей, в том числе распознающие речь и образы, также нейронсети общения о которых мы поговорим далее.
Распознавание и нейронные сети
Для начала рассмотрения данной темы определимся с тем, что в принципе можно распознавать с помощью нейронных сетей:
- Рукописные тексты
- Речь
- Объекты на фотографиях и видео
Классические методы программирования не позволяли в полной мере реализовать такие алгоритмы распознавания, поскольку данные задачи являютяс нетривиальными. Давайте по порядку рассмотрим перечисленные сферы распознавания нейронными сетями.
Рукописные тексты
Задача рукописных текстов была одной из первых решенных, благодаря её простоте. Нейронные сети тренируют на большом количестве рукописного текста, совместно с печатной его транскрипцией. Таким образом, сеть принимает на вход какой-либо рукописный символ и в соотвествие ему получает печатный символ. Благодаря этому алгоритму происходит обучение нейронной сети и точность распознавания достигает высоких показателей.
Однако, ранее такой подход было невозможно реализовать из-за недостатка информации в интеренете. С ростом использования интернета, появились базы различных данных. В том числе, некоторые университеты начали собирать информацию, с целью обучения ИИ. Одним из таких наборов стала база данных рукописных цифр MNIST.
Распознавание речи
Алгоритм распознавания речи схож с распознаванием символов рукописного текста. Стоит та же задача - разбить поток аудио на отдельные отрезки. эти отрезки называют фонемами. Так как они могут быть не четкими, то нейросеть сопоставляет их с фрагментами из базы данных, что повышает четкость распознавания. Затем ИИ выстраивает цепочку из слов которые были распознаны с высокой точностью и пытается выстроить предложение целиком, заполняя неявные слова по контексту. Выстроение предложения также является нейронной сетью. Таким вобразом в процессе распознавания речи учавствует несколько нейронных сетей.
Стоит отметить что распознавание речи имеет широкую область применения. Разберем несколько примеров использования распознавания речи.
Голосовые помошники стали неотьемлемой частью нашего быта. Сегодня, множество функций нашего смартфона, телевизора и прочих электронных гаджетов может быть запущено с помощью голоса. Благодаря этому, руки пользователей освобождаются, что означает что данная технология может пригодится на крупных производствах и заводах, в местах, где от человека требуется одновременный контроль и управление производственными инструментами.
Распознавание текста в видео открыло новые возможности поиска информации и изучения языков. Платформа YouTube в последнее время значительно повысила качество создаваемых транскрипций. Это обусловлено применением нейронных сетей в процессе обработки видеороликов. Также, эта технология может быть применена в рамках крупного бизнеса, работающего с клиентами и записывающих звонки и общение с клиентами. Получаемая текстовая информация может быть использована для составления аналитики запросов клиентов, а также для разрешения возникающих конфликтов и жалоб. Плюс ко всему, выписывание проговариваемого текста из видео позволяет повысить качество поисковых систем Google и Yandex, поскольку поиск теперь производится и внутри видео.
Объекты на фотографиях
В настоящий момент эта технология применяется в поисковых системах. Например поиск по картинке, для реализации этой задачи требуется определить объекты на фотографии, а затем предложить схожие фото. Другой задачей в рамках этой технологии является распрознавание нормеров автомобилей для дорожного регулирование и распознавание дорожных знаков для создания умного такси.
Стоит отметить, что сам поиск среди картинок требует превращение текстового запроса пользователя в изображение, что достаточно сложно реализовать. Намного проще определить что находится на каждом изображении в базе данных, а затем сопоставить запрос с информацией о содержимом этого изображения.
Рекомендательные системы
Дейтсвительно широкое применение ИИ нашел в реализации рекомендательных систем. Такие задачи трудно решать с помощью классических методов программирования, поскольку зачастую количество факторов, влияющих на результат, достаточно много и они сплетены не тривиально, поэтому на помощь приходят нейронные сети.
Наиболее сложным этапом в создании таких рекомендательных систем является сбор данных, поскольку качественно обработанные тренировочные данные значительно повышают релевантность рекомендуемых товаров.
В настоющяй момент, рекомендательные системы являются неотъемлемой частью интернет магазинов. В целом эта технология более свойствена веб-программированию, нежели какой-то другой разработке.
ИИ в переводе текста
Задача перевода текста изначально вызывала много трудностей. Сложность заключается в том, что одни и те же слова могут иметь разные значения в зависимости от контекста в предложении. Поэтому качество перевода оставляло желать лучшего, до тех пор пока в решении этой задачи не начали использовать искуссвтенный интеллект.
Для решения таких задач используют ИИ, который идет по предложению последовательно и сохранят слова для образования контекста. Фактически, каждое слово является нашим "пикселом изображения" в рамках данной задачи. Таким образом, перевод текста сейчас невозможен без применения нейронных сетей и за последнее время качество перевода значительно выросло.
Чат-боты на базе ИИ
Общение с клиентом, является важной частью в цепочке продажи товара. Конечно, с такой задачей прекрасно справляются люди, но гораздо выгоднее запустить бота, который будет помогать клиентам определиться с товаром и приобрести что им нужно, а может даже больше.
При этом, боту не нужно платить заработную плату, что не может не радовать бизнес на ранних этапах его развития.
Таким образом, данная технология нашла применение в интернет магазинах, и с развитием нейронных сетей продолжает совершенствоваться. Для создания таких ботов уже имеются базы диалогов, однако для того, чтобы бот максимально соотвествовал вашей продукции его следует обучить на диалогах для вашего конкретного магазина.
В реализации таких ботов также используются нейронные сети с памятью. Когда ИИ ведет разговор с клиентом, он учитывает информацию которая нам известна (возраст, пол, и т.п.), и по мере разговора также ведет статистику фактов. Таким образом, из диалога ИИ формирует цепочку, по которой в дальнейшем рекомендует товар к покупке.
Итоги
Итак, несложно заметить, что ИИ находит широчайшее применение в современном мире, и сферы его использования растут с каждым годом. У данной технологии имеется достаточно высокий потенциал, однако, полностью заменить классические подходы прграммирования у него не получится.
Главная причина заключается в том, что нейронная сеть - это система из множества нейонов. Решение сложных задач может требовать достаточно большое их количество, что повышает требование к ресурсам вычислительной машины, и мешает повсеместному использованию этой технологии.
Поэтому, нейронные сети зачастую используют в задачах, которые трудно реализовать классическими методами. Из этой статьи вы могли понять, что таких ситуаций предостаточно, и с ними мы сталкиваемся если не каждый, то через день.
Изучайте машинное обучение и зарабатывайте миллионы, пока войти в эту сферу не так сложно ;)