Как выполнить классификацию с помощью нейронной сети:что такое перцептрон?
В этой статье исследуются базовая теория и структура хорошо известной топологии нейронной сети.
Это первая из серии статей, которые послужат продолжительным введением в разработку, обучение и оценку нейронных сетей. Цель состоит в том, чтобы выполнить сложную классификацию с помощью компьютерной программы Python, которая реализует архитектуру нейронной сети, известную как многослойный персептрон.
Вы можете найти остальную часть серии Perceptron здесь для вашего удобства:
- Как выполнить классификацию с помощью нейронной сети:что такое перцептрон?
- Как использовать простой пример нейронной сети персептрона для классификации данных
- Как обучить базовую нейронную сеть персептрона
- Общие сведения об обучении простой нейронной сети
- Введение в теорию обучения нейронных сетей.
- Скорость обучения в нейронных сетях
- Расширенное машинное обучение с многоуровневым персептроном
- Функция активации сигмовидной кишки:активация в многослойных перцептронных нейронных сетях.
- Как обучить многослойную нейронную сеть персептрона
- Понимание формул обучения и обратного распространения ошибки для многослойных персептронов
- Архитектура нейронной сети для реализации Python
- Как создать многослойную нейронную сеть персептрона на Python.
- Обработка сигналов с использованием нейронных сетей:проверка при проектировании нейронных сетей
- Обучающие наборы данных для нейронных сетей:как обучить и проверить нейронную сеть Python
Что такое нейронная сеть?
Нейронные сети - это инструменты обработки сигналов, которые во многом основаны на структуре человеческого мозга. Обычно они связаны с искусственным интеллектом (ИИ). Мне не нравится термин «искусственный интеллект», потому что он неточный и сокращающий. Если вы определяете «интеллект» как способность быстро выполнять численные вычисления, то нейтральные сети определенно являются ИИ. Но, на мой взгляд, интеллект - это нечто большее - это то, что проектирует система, которая быстро выполняет численные вычисления, а затем пишет об этом статью, а затем размышляет над значением слова «интеллект», а затем задается вопросом, почему люди создают нейронные сети и пишут о них статьи.
Кроме того, искусственный интеллект не является искусственным. Это очень реально интеллект, потому что это математическая система, которая работает в соответствии с интеллектом людей, которые ее разработали.
Нейронные сети - это программные процедуры, которые могут «учиться» на существующих данных и эффективно решать сложные задачи обработки сигналов. Их интересно изучать и экспериментировать, а в некоторых случаях они намного превосходят возможности «обычных» алгоритмов. Однако они не искорениют голод в мире, они не могут писать хорошие стихи, и я сомневаюсь, что они когда-либо будут водить машину так же безопасно, как человек, который одновременно трезв и не сочиняет текстовое сообщение.
Что такое персептрон?
Базовая нейронная сеть Perceptron концептуально проста. Он может состоять не более чем из двух входных узлов и одного выходного узла, соединенных взвешенными соединениями:
Размерность входных данных должна соответствовать размерности входного слоя. Термин «размерность» может здесь немного сбивать с толку, потому что большинство людей не могут визуализировать что-либо с более чем тремя измерениями. Все это на самом деле означает, что ваши входные данные - например, шаблон, который вы хотите классифицировать, - это вектор с заданной длиной, и ваш входной слой должен иметь узел для каждого элемента в векторе. Итак, если вы пытаетесь классифицировать шаблон, представленный серией из 20 точек данных, у вас есть вектор из 20 элементов и требуется 20 входных узлов.
Выходной узел генерирует данные, представляющие интерес для дизайнера. Количество выходных узлов зависит от приложения. Если вы хотите принять решение о классификации да / нет, вам понадобится только один выходной узел, даже если есть сотни входных узлов. С другой стороны, если цель состоит в том, чтобы поместить входной вектор в одну из нескольких возможных категорий, у вас будет несколько выходных узлов.
Данные, которые перемещаются от одного узла к другому, умножаются на веса. Эти обычные скалярные значения на самом деле являются ключом к функциональности персептрона:веса изменяются в процессе обучения, и, автоматически регулируя их веса в соответствии с шаблонами, содержащимися в обучающих данных, сеть приобретает способность выдавать полезный результат.
Что происходит внутри узла? (AKA Как работают нейронные сети?)
Узлы входного слоя - это просто точки соединения; они не изменяют входные данные. Выходной слой, а также любые дополнительные уровни между входом и выходом содержат вычислительные узлы сети. Когда числовые данные поступают в вычислительные узлы, сначала они суммируются, а затем подвергаются функции «активации»:
Концепция активации восходит к поведению (биологических) нейронов, которые общаются через потенциалы действия, которые либо активны, либо неактивны; это больше похоже на цифровую систему включения / выключения, чем на аналоговую систему. В контексте (искусственных) нейронных сетей узлы, которые также называются (искусственными) нейронами, могут имитировать поведение нейронов, применяя пороговую функцию, которая выводит 1, когда входной сигнал превышает пороговое значение, и 0 в противном случае.
На следующем графике показано соотношение ввода-вывода базовой функции активации «единичного шага».
Вставляя это пороговое преобразование в распространение данных от узла к узлу, мы вносим нелинейность в систему, и без этой нелинейности функциональность нейронной сети очень ограничена. Теория здесь сложна, но общая идея (я думаю) состоит в том, что комбинации линейных преобразований, даже если эти линейные преобразования происходят много раз, никогда не смогут приблизиться к отношениям, которые характеризуют сложные природные явления и сложные задачи обработки сигналов.
Несмотря на то, что реальные нейроны работают по какой-то модели включения / выключения, пороговый подход к (искусственной) активации нейронной сети не является оптимальным. Мы вернемся к этой теме в следующей статье.
Заключение
Мы рассмотрели самые основные элементы персептрона, а в следующей статье мы соберем их вместе и посмотрим, как работает элементарная система.
Нейронные сети - обширная тема, и я честно предупреждаю вас, что это может быть длинная серия. Но я думаю, что он будет хороший.
Встроенный
- Что такое облачные вычисления и как они работают?
- Что такое микрообучение? Как это изменит мир в 2021 году
- Что подводит ИИ к краю
- Как сетевая экосистема меняет будущее фермы
- Что такое интеллектуальная сеть и как она может помочь вашему бизнесу?
- Что такое ключ безопасности сети? Как его найти?
- Как производители используют автоматизацию для управления бумом электронной коммерции
- Какова роль цилиндра позиционирования? Как это работает?
- Что такое компактор и как выбрать правильный?
- Каковы преимущества использования чугунных ковких труб?