За последние 10 лет наиболее эффективные системы искусственного интеллекта (ИИ), такие как распознаватели речи на смартфонах или новейшие автоматические переводчики, стали результатом применения техники, называемой «глубокое обучение».
Глубокое обучение – это, по сути, новое наименование подхода к искусственному интеллекту, называемому нейронными сетями. Нейронные сети были впервые предложены в 1944 году Уорреном Маккалоу и Уолтером Питтсом, двумя исследователями Чикагского университета, которые перешли в Массачусетский технологический институт в 1952 году в качестве членов-основателей первого отдела когнитивных наук.
Нейросети были основной областью исследований как в неврологии, так и в информатике до 1969 года. Эта технология пережила возрождение в 1980-х годах, снова пришла в упадок в первом десятилетии нового столетия, вернулась во втором и в наши дни является очень актуальной.
Что такое нейронная сеть
Если говорить простыми словами, нейросеть – это тип машинного обучения, при котором искусственный интеллект обрабатывает данные и примеры тем же способом, что и человеческий мозг. Особенность этой программы в том, что она пишет алгоритмы во время обучения, постоянно совершенствуясь, а не работает уже по готовым правилам. Если показать нейросети фотографии какого-нибудь животного, например, льва, она сможет впоследствии узнавать его на любых других картинках.
А теперь вернемся к сходству нейросети и человеческого мозга: алгоритмы в первой и нейронные связи у людей устроены практически одинаково – они связаны между собой синапсами, способными передавать друг другу сигналы. Благодаря этому формируется процесс обучения: если говорить о фотографиях львов, то нейросеть будет формировать связи между нейронами, которые распознают морду, гриву, лапы и хвост.
Как работают нейросети
Искусственные нейронные сети обычно включают в себя большое количество процессоров, работающих параллельно и расположенных по уровням. Первый уровень получает необработанную входную информацию – аналогично зрительным нервам при обработке визуальной информации человеком. Каждый последующий уровень получает выходные данные от уровня, предшествующего ему, а не исходные входные данные. Таким же образом нейроны, расположенные дальше от «зрительного нерва», получают сигналы от нейронов, расположенных ближе к нему. Последний уровень выдает выходные данные системы.
Каждый обрабатывающий узел обладает своей собственной небольшой областью знаний, включая то, что он видел, и любые правила, по которым он изначально был запрограммирован или разработан. Уровни тесно взаимосвязаны, и в выходном слое может быть один или несколько узлов, из которых считывается полученный им ответ.
Искусственные нейронные сети отличаются адаптивностью, что означает, что они изменяют себя по мере того, как осваиваются в ходе первоначального обучения, а последующие запуски предоставляют больше информации об окружающем мире. Самая базовая модель обучения сосредоточена на анализе входных потоков, то есть на том, как каждый узел оценивает важность входных данных от каждого из своих предшественников. А входные данные, способствующие получению правильных ответов, имеют больший вес.
Базовая нейронная сеть содержит три слоя взаимосвязанных искусственных нейронов.
Входной слой
Информация из внешнего мира поступает в искусственную нейронную сеть из входного слоя. Входные узлы обрабатывают данные, анализируют или классифицируют их и передают на следующий слой.
Скрытый слой
Скрытые слои получают входные данные от входного слоя или других скрытых слоёв. Искусственные нейронные сети могут иметь большое количество скрытых слоёв. Каждый скрытый слой анализирует выходные данные предыдущего, обрабатывает их и передаёт на следующий слой.
Выходной слой
Выходной слой даёт окончательный результат обработки всех данных искусственной нейронной сетью. Он может иметь один или несколько узлов.
Как обучаются нейронные сети
Как правило, нейросеть изначально обучается или получает большие объёмы данных. Обучение состоит из предоставления входных данных и указания, каким должен быть результат. Например, для создания сети, которая идентифицирует лица актёров, первоначальным обучением может быть серия картинок, включающих артистов, обычных людей, маски, скульптуры и морды животных. Каждый ввод сопровождается соответствующей идентификацией, такой как имена актёров или информация «не актёр» или «не человек». Предоставление ответов позволяет модели возможность скорректировать свой внутренний вес, чтобы научиться лучше выполнять свою работу.
Например, если первые узлы (1) сообщают последующему узлу (2), что текущее входное изображение – это изображение Брэда Питта, но ещё один узел (3) говорит, что это Том Хэнкс, и программа обучения подтверждает, что это Питт, узел (2) уменьшит вес, который он присваивает информации от узла (3), и увеличит вес, который он придаёт входному изображению от первых узлов (1).
При принятии каждым узлом решения о том, что отправлять на следующий уровень, на основе входных данных с предыдущего уровня нейронные сети используют несколько принципов. К ним относятся обучение на основе градиентов, нечёткая логика, генетические алгоритмы и байесовские методы.
Например, система распознавания лиц или морд животных может быть проинструктирована: «Брови расположены над глазами» или «Усы расположены под носом, надо ртом и/или рядом с ним». Правила предварительной загрузки могут ускорить обучение и быстрее сделать модель более мощной.
Важность нейросетей
Искусственные нейронные сети создаются для цифровой имитации человеческого мозга. В настоящее время они используются для сложных анализов в различных областях, начиная от медицины и заканчивая инженерией, и эти сети могут быть использованы для проектирования компьютеров следующего поколения. Кроме того, искусственные нейронные сети уже являются важной частью игровой индустрии.
Чем ещё могут быть полезны искусственные нейронные сети? Они используются для распознавания рукописного ввода, что может пригодиться в таких отраслях, как банковское дело, торговля. Искусственные нейронные сети также находят применение в области медицины – для создания моделей человеческого тела, которые могли бы помочь врачам точно диагностировать заболевания у своих пациентов. А благодаря искусственным нейронным сетям сложные медицинские изображения, такие как компьютерная томография, могут быть проанализированы быстрее и точнее. Машины, основанные на нейронных сетях, смогут самостоятельно решать многие абстрактные задачи, и они будут учиться на своих ошибках.
Для чего используются нейронные сети сейчас:
- классификация объектов в разных сферах деятельности человека;
- диагностика с помощью классификации медицинских изображений;
- целевой маркетинг с помощью фильтрации социальных сетей и анализа поведенческих данных;
- финансовые прогнозы с помощью обработки исторических данных финансовых инструментов;
- прогнозирование электрической нагрузки и потребности в энергии.
- контроль соответствия требованиям и качества;
- определение химических соединений;
- автоматическая генерация контента (фото, видео, аудио, тексты);
- распознавание и обработка речи (языков);
Далее – чуть подробнее о наиболее применяемых функциях.
Прогнозирование
С помощью нейронных сетей, например, можно делать прогнозы на фондовой бирже, используя параметры: текущие тенденции, политическая ситуация, общественное мнение и рекомендации экономистов. Аналогичным способом можно прогнозировать погоду.
Выявление банковского мошенничества
Обнаружение банковского мошенничества – ещё один из наиболее важных вариантов использования нейронных сетей, где вы можете предоставить набор данных, включающий сведения о прошлом банковском мошенничестве, а затем обнаруживать и прогнозировать подобное.
Улучшение работы поисковых системах
Поисковые системы также интегрируют нейронные сети для улучшения пользовательского опыта, а это существенно повышает удобство использования поисковиков.
Распознавание символов
С помощью нейронных сетей компьютеры теперь могут легко распознавать рукописный текст и понимать человеческий почерк, будь то символы или цифры.
Проверка подписей
Для выполнения этой функции программное обеспечение сначала обучается наборам геометрических объектов, а затем идентифицирует эти геометрические элементы или извлекает их из подписи и подтверждает, является ли она подлинной.
Распознавание человеческого лица
Распознавание человеческих лиц – одно из самых популярных приложений нейронных сетей, где программное обеспечение идентифицирует лицо.
Создание контента
Разные нейросети и чат-боты умеют создавать тексты (включая стихи и сценарии), фото, музыку и картинки по текстовому описанию или изображению, озвучивать тексты, анимировать тексты (к примеру, уже сейчас на некоторых телеканалах можно увидеть прогноз погоды, где ведущая в кадре создана нейросетями – в России тоже), вести диалоги и даже давать советы.
Маркетинг и продажи
Нейросети в данной области делают всё, начиная с интерфейса веб-сайта и заканчивая предложением товаров, анализируя предыдущие покупательские привычки.
Выявление тенденций фондового рынка
На фондовом рынке нейросети используются в качестве инструмента технического анализа. Они анализируют цены и предлагают пользователю лучшие из возможных.
Создание искусственной помощи
Способность нейронной сети распознавать речь помогла создать некоторые из величайших помощников с искусственным интеллектом, таких как Alexa и Алиса. Правда, технология всё ещё находится на стадии изучения, где она может допускать ошибки в понимании определённых языков и неподходящих диалектов.
Здравоохранение
Ожидается, что в будущем популярность применения в этой сфере будет расти, поскольку развивающиеся технологии нейронных сетей считаются идеальными для выявления заболеваний с помощью сканирования.
Автопром
Пример: Tesla – это компания, которая широко использует нейронные сети в своих продуктах. Так, автомобиль Tesla – одно из самых известных её изобретений – оснащён автопилотом, который определяет оптимальный маршрут, берёт на себя управление на сложных перекрестках со светофорами и ориентируется на городских улицах, двигаясь на высокой скорости.
Полная сборка нейронных сетей автопилота, которые используются в автомобиле Tesla, включает в себя 48 сетей, на обучение которых требуется 70 000 часов работы графического процессора. Более того, он выводит 1000 различных прогнозов на каждом временном шаге.
Обучающие наборы данных нейронных сетей в автомобиле Tesla содержат самые сложные и разнообразные сценарии в мире. Эти сценарии были получены в режиме реального времени из парка транспортных средств, насчитывающего почти 1 млн машин.
Этот автомобиль с автопилотом использует ультразвуковые датчики, камеры и радар для того, чтобы ощущать и видеть обстановку вокруг автомобиля. Он использует нейронные сети для обнаружения дорог, машин, объектов и людей в видеопотоках с восьми камер, установленных вокруг автомобиля.
Типы нейронных сетей
К настоящему времени разработано множество типов нейронных сетей. Свёрточную нейронную сеть (CNN) и рекуррентную нейронную сеть (RNN) можно рассматривать как два наиболее известных типа нейронных сетей среди тех, кто формирует основу для большинства предварительно обученных моделей в нейронных сетях.
Свёрточные нейронные сети
CNN – это модель контролируемого обучения, которая состоит из одного или нескольких свёрточных слоёв. Сначала они применяют свёрточную функцию к входным данным. Затем эти слои отправляются на следующий. Нейроны в слое не обязательно должны соединяться с полным набором нейронов в следующем слое.
А результат представляет собой единый вектор, включающий оценки вероятности, которые затем подаются в полностью связанные слои. Свёрточные нейронные сети широко используются в областях распознавания изображений и обработки естественного языка.
Рекуррентные нейронные сети
RNN – это широко используемая нейронная сеть, в основном для распознавания речи и обработки естественного языка (NLP). Он распознаёт последовательные характеристики данных и использует шаблоны для прогнозирования следующего сценария. В RNN выходные данные предыдущего шага используются в качестве входных данных для следующего.
RNN отличаются своей «памятью», поскольку они получают информацию из предыдущих входных данных, чтобы влиять на текущие входные и выходные данные.
Будущее нейронных сетей
Учитывая быстрые темпы внедрения искусственного интеллекта и машинного обучения, в обозримом будущем мы сможем увидеть ещё больше достижений в области применения нейронных сетей: пользователям по всему миру будет предоставлено множество персонализированных возможностей выбора. Например, все мобильные и веб-приложения уже пытаются предложить вам улучшенный пользовательский интерфейс, основанный на вашей истории поиска, и нейронные сети могут сделать это возможным.
Сверхинтеллектуальные виртуальные помощники облегчат вам жизнь. Если вы когда-либо пользовались Google Assistant, Siri или другими подобными продуктами, вы можете видеть, как они развиваются. Они могут даже предсказать ваши ответы по электронной почте в будущем!
Мы также можем ожидать интригующих открытий в области алгоритмов, поддерживающих методы обучения. Однако мы находимся только на начальной стадии применения искусственного интеллекта и нейронных сетей в реальном мире.
В будущем нейронные сети будут работать намного быстрее, и их инструменты могут быть встроены в каждую поверхность проектирования. Более того, уже есть небольшая мини-нейронная сеть, которая подключается к недорогой процессорной плате или даже к вашему ноутбуку. Сосредоточение внимания не на программном обеспечении, а на аппаратном обеспечении сделало бы такие устройства ещё быстрее.
Нейронные сети также найдут применение в медицине, сельском хозяйстве, физике, научных исследованиях, сфере развлечений, обучении, СМИ и во всех остальных сферах жизни, которые вы можете себе представить.
Фото: Freepik.com