14 просмотров

Нейронные сети

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

Что такое нейронные сети?

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

Искусственные нейронные сети (ИНС) состоят из слоев узлов, содержащих входной слой, один или несколько скрытых слоев и выходной слой.Каждый узел или искусственный нейрон соединяется с другим и имеет соответствующий вес и порог. Если выход любого отдельного узла превышает указанное пороговое значение, этот узел активируется, отправляя данные на следующий уровень сети. В противном случае данные не передаются на следующий уровень сети.

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

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

Статья в тему:  Книга Как программировать искусственный интеллект

Как работают нейронные сети?

Думайте о каждом отдельном узле как о собственной модели линейной регрессии, состоящей из входных данных, весов, смещения (или порога) и выходных данных. Формула будет выглядеть примерно так:

Математическая формула, используемая для определения суммирования

Математическая формула, используемая для определения выхода

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

Давайте разберем, как может выглядеть один единственный узел, используя двоичные значения. Мы можем применить эту концепцию к более осязаемому примеру, например, стоит ли вам заняться серфингом (Да: 1, Нет: 0). Решение идти или не идти — это наш прогнозируемый результат, или т-хэт.Предположим, что на ваше решение влияют три фактора:

  1. Волны хорошие? (Да: 1, Нет: 0)
  2. Состав пустой? (Да: 1, Нет: 0)
  3. Было ли в последнее время нападение акулы? (Да: 0, Нет: 1)
Статья в тему:  Какова область применения искусственного интеллекта

Затем предположим следующее, предоставив нам следующие входные данные:

  • X1 = 1, так как волны накачивают
  • X2 = 0, так как толпы нет
  • X3 = 1, так как недавнего нападения акулы не было

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

  • W1 = 5, так как большие волны возникают нечасто.
  • W2 = 2, так как вы привыкли к толпе
  • W3 = 4, так как вы боитесь акул

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

Y-шляпа = (1*5) + (0*2) + (1*4) – 3 = 6

Если мы используем функцию активации из начала этого раздела, мы можем определить, что выход этого узла будет равен 1, поскольку 6 больше, чем 0. В этом случае вы отправитесь в серфинг; но если мы скорректируем веса или порог, мы можем получить разные результаты от модели. Когда мы наблюдаем одно решение, как в приведенном выше примере, мы видим, как нейронная сеть может принимать все более сложные решения в зависимости от результатов предыдущих решений или слоев.

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

Статья в тему:  Что такое стандартная интерпретация искусственного интеллекта

Когда мы начнем думать о более практических вариантах использования нейронных сетей, таких как распознавание изображений или классификация, мы будем использовать контролируемое обучение или помеченные наборы данных для обучения алгоритма. По мере обучения модели мы хотим оценить ее точность с помощью функции затрат (или потерь). Это также обычно называют среднеквадратической ошибкой (MSE). В приведенном ниже уравнении

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

Математическая формула, используемая для определения функции стоимости

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

Линейный график, иллюстрирующий точку схождения

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

Статья в тему:  Как искусственный интеллект изменит мир через 20 лет

Типы нейронных сетей

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

Персептрон — старейшая нейронная сеть, созданная Фрэнком Розенблаттом в 1958 году. Она состоит из одного нейрона и представляет собой простейшую форму нейронной сети:

Простая схема персептрона с использованием линий и синего круга

Нейронные сети с прямой связью, или многослойные персептроны (MLP), — это то, на чем мы в первую очередь сосредоточились в этой статье. Они состоят из входного слоя, скрытого слоя или слоев и выходного слоя. Хотя эти нейронные сети также обычно называют MLP, важно отметить, что на самом деле они состоят из сигмовидных нейронов, а не персептронов, поскольку большинство реальных задач нелинейны. Данные обычно вводятся в эти модели для их обучения, и они являются основой для компьютерного зрения, обработки естественного языка и других нейронных сетей.

Сверточные нейронные сети (CNN) похожи на сети с прямой связью, но они обычно используются для распознавания изображений, распознавания образов и/или компьютерного зрения. Эти сети используют принципы линейной алгебры, в частности матричное умножение, для выявления закономерностей в изображении.

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

Статья в тему:  Почему сложно создать искусственный интеллект

Нейронные сети против глубокого обучения

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

Чтобы узнать больше о различиях между нейронными сетями и другими формами искусственного интеллекта, такими как машинное обучение, прочитайте запись в блоге «ИИ, машинное обучение, глубокое обучение и нейронные сети: в чем разница?»

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

История нейронных сетей длиннее, чем думает большинство людей.Хотя идея «мыслящей машины» восходит к древним грекам, мы сосредоточимся на ключевых событиях, которые привели к эволюции мышления вокруг нейронных сетей, популярность которых с годами то падала, то падала:

1943: Уоррен С. МакКаллох и Уолтер Питтс опубликовали «Логическое исчисление идей, имманентных нервной деятельности» (PDF, 1 МБ) (ссылка находится вне IBM)». Это исследование было направлено на то, чтобы понять, как человеческий мозг может создавать сложные паттерны через связанные клетки мозга, или нейроны. Одной из основных идей, вышедших из этой работы, было сравнение нейронов с бинарным порогом с булевой логикой (т. е. 0/1 или истинные/ложные утверждения).

Статья в тему:  Как долго искусственный интеллект фильм

1958: Фрэнку Розенблатту приписывают разработку персептрона, задокументированного в его исследовании «Персептрон: вероятностная модель хранения и организации информации в мозгу» (PDF, 1,6 МБ) (ссылка находится вне IBM). Он продвигает работу МакКаллоха и Питта на шаг вперед, вводя веса в уравнение. Используя IBM 704, Розенблатт смог заставить компьютер научиться отличать карты, отмеченные слева, от карт, отмеченных справа.

1974: Хотя многие исследователи внесли свой вклад в идею обратного распространения, Пол Вербос был первым человеком в США, который отметил его применение в нейронных сетях в своей докторской диссертации (PDF, 8,1 МБ) (ссылка находится за пределами IBM).

1989: Ян ЛеКун опубликовал статью (PDF, 5,7 МБ) (ссылка находится за пределами IBM), иллюстрирующую, как использование ограничений в обратном распространении и его интеграция в архитектуру нейронной сети могут использоваться для обучения алгоритмов. В этом исследовании нейронная сеть успешно использовалась для распознавания рукописных цифр почтового индекса, предоставленных Почтовой службой США.

Нейронные сети и IBM Cloud

Вот уже несколько десятилетий IBM является пионером в разработке технологий искусственного интеллекта и нейронных сетей, о чем свидетельствует разработка и развитие IBM Watson.Теперь Watson — это надежное решение для предприятий, которые хотят применять в своих системах усовершенствованную обработку естественного языка и методы глубокого обучения, используя проверенный многоуровневый подход к внедрению и внедрению ИИ.

Watson использует платформу Apache Unstructured Information Management Architecture (UIMA) и программное обеспечение IBM DeepQA, чтобы сделать мощные возможности глубокого обучения доступными для приложений. Используя такие инструменты, как IBM Watson Studio, ваше предприятие может беспрепятственно запускать проекты искусственного интеллекта с открытым исходным кодом в производство, одновременно развертывая и запуская модели в любом облаке.

Статья в тему:  Что такое искусственный интеллект в стоматологии

Для получения дополнительной информации о том, как начать работу с технологией глубокого обучения, изучите IBM Watson Studio и службу глубокого обучения.

голоса
Рейтинг статьи
Ссылка на основную публикацию
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x