Узнайте что такое нейронная сеть, почему они вызывают такой интерес сегодня, считаются искусственным интеллектом и какие бывают виды нейронных сетей.
Что такое нейронная сеть – простыми словами
В информационных технологиях (ИТ) искусственная нейронная сеть (ИНС) – это система аппаратного и/или программного обеспечения, построенная по принципу работы нейронов в человеческом мозге. ИНМ, которые также называют просто нейронными сетями, являются разновидностью технологии глубокого обучения, которая также подпадает под понятие искусственного интеллекта, или ИИ.
Коммерческое применение этих технологий обычно сосредоточено на решении сложных проблем обработки сигналов или распознавания образов.
Примеры нейронных сетей
Примеры важных коммерческих применений нейронных сетей включают:
- распознавание рукописного текста для обработки чеков,
- транскрипцию языка в текст,
- анализ данных нефтеразведки,
- прогнозирование погоды
- распознавание лиц.
История возникновения нейронных сетей
История искусственных нейронных сетей восходит к ранним дням развития вычислительной техники. В 1943 году математики Уоррен Маккалох и Уолтер Питтс построили схему, которая должна была приближенно воспроизводить работу человеческого мозга и выполняла простые алгоритмы.
Только около 2010 года исследования снова оживились. Тенденция больших данных, когда компании накапливают огромные массивы данных, и параллельные вычисления дали исследователям данных учебные данные и вычислительные ресурсы, необходимые для запуска сложных искусственных нейронных сетей.
В 2012 году в рамках конкурса ImageNet нейросеть смогла превзойти человеческие показатели в распознавании изображений. С тех пор интерес к искусственным нейронным сетям стремительно вырос, а технология продолжает совершенствоваться.
Как работают искусственные нейронные сети
ИНС обычно включает в себя большое количество процессоров, работающих параллельно и расположенных ярусами.
Первый уровень получает необработанную входную информацию – аналогично зрительным нервам в зрительном восприятии человека. Каждый следующий ярус получает выход из предыдущего яруса, а не необработанную входную информацию – так же, как нейроны, удаленные от зрительного нерва, получают сигналы от тех, что находятся ближе к нему. Последний уровень вырабатывает выход системы.
Каждый узел обработки имеет собственную небольшую сферу знаний, включая то, что он видел, и любые правила, которые он изначально запрограммировал или разработал для себя.
Уровни тесно связаны между собой, что означает, что каждый узел на уровне n будет связан со многими узлами на уровне n-1 – его входами – и на уровне n+1, которые предоставляют входные данные для этих узлов. В выходном слое может быть один или несколько узлов, с которых можно считать ответ, который он производит.
Искусственные нейронные сети отличаются адаптивностью, что означает, что они модифицируют себя по мере того, как обучаются на начальном этапе, а последующие запуски предоставляют больше информации о мире.
Самая простая модель обучения сосредоточена на взвешивании входных потоков, когда каждый узел взвешивает важность входных данных от каждого из своих предшественников. Входные данные, которые способствуют получению правильных ответов, имеют больший вес.
Нейросеть, которая рисует онлайн по описанию или по фото: топ 5
Как обучаются нейронные сети
Как правило, нейронные сети сначала обучают или загружают большими объемами данных. Обучение заключается в предоставлении входных данных и сообщении сети о том, каким должен быть выходной результат.
Например, для построения сети, которая идентифицирует лица актеров, начальной тренировкой может быть серия изображений, включающая актеров, неактеров, маски, скульптурные и животные лица. Каждый вход сопровождается соответствующей идентификацией, например, именами актеров или информацией “не актер” или “не человек”. Предоставление ответов позволяет модели скорректировать свои внутренние веса, чтобы научиться лучше выполнять свою работу.
Например, если узлы Дэвид, Диана и Дакота скажут узлу Эрни, что текущее входное изображение – это фотография Брэда Питта, но узел Дуранго говорит, что это Бетти Уайт, а обучающая программа подтверждает, что это Питт, Эрни уменьшит вес, который он присвоит входному изображению Дуранго, и увеличит вес, который он присвоит изображениям Дэвида, Дианы и Дакоты.
При определении правил и принятии решений – то есть решения каждого узла о том, что отправить на следующий уровень на основе входов с предыдущего уровня – нейронные сети используют несколько принципов. К ним относятся:
- обучение на основе градиента,
- нечеткая логика,
- генетические алгоритмы
- и байесовские методы.
Им могут быть заданы некоторые базовые правила о взаимосвязях между объектами в моделируемых данных.
Например, системе распознавания лица можно указать: “Брови находятся над глазами” или “Усы находятся под носом. Усы находятся над ртом и/или рядом с ним”. Правила предварительной загрузки могут ускорить обучение и сделать модель более мощной. Но это также создает предположения о природе проблемы, которые могут оказаться либо нерелевантными и бесполезными, либо неправильными и контрпродуктивными, что делает решение о том, какие правила встраивать, если они вообще нужны, очень важным.
Нейронные сети и другие системы машинного обучения могут усиливать предвзятость
Кроме того, предположения, которые люди делают во время обучения алгоритмов, приводят к тому, что нейронные сети усиливают культурные предубеждения. Предвзятые наборы данных являются постоянной проблемой для обучающих систем, которые находят ответы самостоятельно, распознавая закономерности в данных. Если данные, питающие алгоритм, не являются нейтральными – а таких почти не бывает – машина распространяет предвзятость.
Типы нейронных сетей
Нейронные сети иногда описывают с точки зрения их глубины, включая количество слоев между входом и выходом, или так называемых скрытых слоев модели. Именно поэтому термин “нейронная сеть” используется почти как синоним термина “глубокое обучение”. Их также можно описать количеством скрытых узлов в модели или количеством входов и выходов, которые имеет каждый узел. Вариации классического дизайна нейронной сети позволяют различные формы прямого и обратного распространения информации между уровнями.
Конкретные типы искусственных нейронных сетей включают:
Нейронные сети прямого распространения (Feed-forward neural networks): один из самых простых вариантов нейронных сетей. Они передают информацию в одном направлении, через различные входные узлы, пока она не попадет на выходной узел. Сеть может иметь или не иметь скрытые слои узлов, что делает ее функционирование более понятным. Он готов к обработке большого количества шума. Этот тип вычислительной модели ИНС используется в таких технологиях, как распознавание лиц и компьютерное зрение.
Рекуррентные нейронные сети (Recurrent neural networks): более сложные. Они сохраняют выходные данные вычислительных узлов и подают результат обратно в модель. Именно так модель обучается предсказывать результат слоя. Каждый узел в модели RNN действует как ячейка памяти, продолжая вычисления и выполнение операций. Эта нейронная сеть начинает с такого же прямого распространения, как и сеть прямого распространения, но затем запоминает всю обработанную информацию, чтобы повторно использовать ее в будущем. Если прогноз сети неверен, то система самообучается и продолжает работать над правильным прогнозом во время обратного распространения. Этот тип ШНМ часто используется для преобразования текста в язык.
Сверточные нейронные сети (Convolutional neural networks – CNN): одна из самых популярных моделей, используемых сегодня. Эта нейросетевая вычислительная модель использует вариацию многослойного восприятия и содержит один или несколько сверточных слоев, которые могут быть полностью соединены или объединены. Эти сверточные слои создают карты признаков, которые фиксируют область изображения, которая в конечном итоге разбивается на прямоугольники и отправляется на нелинейный анализ. Модель CNN особенно популярна в сфере распознавания изображений; она используется во многих самых современных приложениях ИИ, включая распознавание лиц, оцифровку текста и обработку естественного языка. Другие приложения включают обнаружение перефраз, обработку сигналов и классификацию изображений.
Деконволюционные нейронные сети (Deconvolutional neural networks): используют обратный процесс модели CNN. Они направлены на поиск потерянных признаков или сигналов, которые изначально считались неважными для задачи системы CNN. Эта сетевая модель может быть использована для синтеза и анализа изображений.
Модульные нейронные сети (Modular neural networks): содержат несколько нейронных сетей, работающих отдельно друг от друга. Сети не взаимодействуют и не вмешиваются в работу друг друга в процессе вычислений. Следовательно, сложные или большие вычислительные процессы могут быть выполнены более эффективно.
Преимущества нейронных сетей
Давайте рассмотрим что такое нейронная сеть в плане их преимуществ и недостатков?
К преимуществам искусственных нейронных сетей относятся:
- Способность к параллельной обработке означает, что сеть может выполнять несколько задач одновременно.
- Информация хранится во всей сети, а не только в базе данных.
- Способность к обучению и моделированию нелинейных, сложных взаимосвязей помогает моделировать реальные взаимосвязи между входом и выходом.
- Отказоустойчивость означает, что повреждение одной или нескольких ячеек ШНМ не остановит генерацию выходных данных.
- Постепенное повреждение означает, что сеть будет медленно деградировать со временем, вместо того, чтобы проблема уничтожила сеть мгновенно.
- Способность производить выход с неполными знаниями, при этом потеря производительности зависит от того, насколько важна недостающая информация.
- На входные переменные не накладывается никаких ограничений, например, как они должны быть распределены.
- Машинное обучение означает, что ИНС может учиться на событиях и принимать решения на основе наблюдений.
- Способность изучать скрытые взаимосвязи в данных, не руководствуясь фиксированными связями, означает, что ШНМ может лучше моделировать очень изменчивые данные и непостоянную дисперсию.
- Способность обобщать и делать выводы о невидимых взаимосвязях на основе невидимых данных означает, что ШНМ может предсказывать выход невидимых данных.
Недостатки нейронных сетей
К недостаткам ШНМ относятся следующие недостатки
- Отсутствие правил для определения правильной структуры сети означает, что подходящая архитектура искусственной нейронной сети может быть найдена только путем проб и ошибок и опыта.
- Потребность в процессорах с возможностью параллельной обработки делает нейронные сети аппаратно-зависимыми.
- Сеть работает с числовой информацией, поэтому все проблемы должны быть переведены в числовые значения, прежде чем их можно будет представить ШНМ.
- Отсутствие объяснений, стоящих за поисковыми решениями, является одним из самых больших недостатков ШНМ. Невозможность объяснить, почему и как получено решение, порождает недостаток доверия к сети.
Что такое нейронная сеть в плане применения в сферах жизни человека
Распознавание изображений было одной из первых сфер, где нейронные сети были успешно применены, но использование технологии расширилось до многих других областей, включая:
- Чат-боты
- Обработка, перевод и генерация естественного языка
- Прогнозирование фондового рынка
- Планирование и оптимизация маршрутов курьерских служб
- Выявление и разработка лекарств
Это лишь несколько конкретных сфер, в которых сегодня применяются нейронные сети. Основными областями применения нейронных сетей являются любые процессы, которые работают по строгим правилам или шаблонам и имеют большие объемы данных.
Если данные слишком большие, чтобы человек мог разобраться в них за разумный промежуток времени, процесс, скорее всего, является основным кандидатом на автоматизацию с помощью искусственных нейронных сетей.
Источник: https://www.techtarget.com