Возможно, вы слышали слова «машинное обучение», «искусственный интеллект» и «искусственные нейронные сети» в последнее время. Все это разные способы ответа на старый добрый вопрос о том, можем ли мы создать новый тип интеллекта, который может решать естественные функции. Под естественной функцией подразумеваются проблемы реальной жизни. Компьютеры обладают высокой вычислительной мощностью и памятью и могут легко создавать сложные числовые задачи за короткое время. Но реальная деятельность связана со зрением, речью, распознаванием образов и естественным языком. Компьютер дает сбой при выполнении этих задач. Это связано с тем, что компьютеры с искусственным интеллектом или без него требуют алгоритмического подхода, то есть проблема должна быть представлена как алгоритм, а реальная функция задачи не может быть построена как алгоритм. Кроме того, компьютеры не могут делать то, что делает наш мозг, то есть учиться и адаптироваться.
Человеческий мозг очарователен, и даже самые продвинутые компьютеры не могут конкурировать с мозгом в одном: наш мозг читает, анализирует проблему и, наконец, адаптируется к ситуации.
Помня об этом, ученые разработали множество компьютерных моделей, вдохновленных биологическими нейронными сетями, которые могут предоставить решение проблем естественных функций. Одна из них - искусственные нейронные сети или ИНС.
Что такое ИНС?
Искусственные нейронные сети (ИНС), обычно называемые нейронными сетями (НС), представляют собой вычислительные системы, вдохновленные биологическими нейронными сетями, человеческого мозга.
Подобно биологическому нейрону с дендритами, проводящими сигналы по телу клетки для их обработки сигналы и аксоном для передачи сигналов другим нейронам, искусственный нейрон имеет несколько входных каналов, фазу обработки и один продукт, который может поступать от многих других искусственных нейронов. .
https://en.wikipedia.org/wiki/Artificial_neural_network
Характеристика ИНС
Любая искусственная нейронная сеть, независимо от ее типа, имеет несколько основных характеристик. Они упомянуты ниже.
- ИНС состоит из большого количества «нейроноподобных» элементов обработки.
- Все эти элементы обработки имеют между собой большое количество взвешенных связей.
- Связи между элементами обеспечивают распределенное представление данных.
- Учебный процесс / учебный процесс осуществляется для получения знаний.
Разница между биологическим нейроном и искусственным нейроном
В искусственной нейронной сети (или просто нейронной сети) мы говорим о единицах (весах), а не о нейронах. Эти блоки представлены в виде узлов графа, как на схеме. Устройство получает входные данные от других устройств путем подключения к другим модулям или входным значениям. Входные данные могут представлять собой, например, пиксели изображения, которое сеть должна классифицировать как собаку или кошку.
Дело в том, что нейроны в искусственной нейронной сети созданы на основе мотивации биологических нейронов.
Кроме этого, между ними нет никакой связи. Биологические нейроны более сложны. Они работают в аналоговой области.
Единственная основная концепция, взятая из биологических нейронов, заключается в том, что они принимают входные данные с выходов нескольких нейронов и, наконец, производят выходной сигнал, который они могут снова направить в несколько других нейронов, и они связаны между собой, образуя очень сложные сети.
Как ИНС учится?
Когда мы смотрим на природу, мы видим, что учебные программы можно адаптировать. В поисках информации эти системы используют ввод из внешних источников и изменяют информацию, которую они собирают, или изменяют свою внутреннюю структуру. Именно этим и занимается ИНС. Он трансформирует и меняет свой дизайн, чтобы учиться. Чтобы быть более конкретным, ИНС изменяют веса соединения в зависимости от ввода и вывода.
Есть несколько вещей, которые мы можем изменить в ИНС, если мы хотим изменить их структуру. Например, мы можем создавать новые связи между нейронами или удалять их, или добавлять и удалять нейроны. Мы также можем изменить функцию ввода или функцию активации. Как оказалось, обновление весов - самый эффективный метод, поскольку он может покрыть другие изменения. например, удаление нейрона можно выполнить, установив вес на 0. А нейрон можно удалить, если мы установим все веса в его соединениях на ноль.
Компоненты узла (нейрона)
- Суммирующая единица / функция предварительной активации (z): функция суммирующей единицы состоит в том, чтобы принимать n входных значений, взвешивать каждое входное значение и вычислять взвешенную сумму этих значений. На основе знака веса каждого входа определяется, имеет ли вход положительный вес или отрицательный вес.
- Функция активации (a): значение, возвращаемое суммирующим устройством, имеет линейность, поэтому, используя функцию активации, мы добавляем к нему нелинейность.
Есть четыре различных типа функций активации.
Пороговая функция
Функция гиперболического тангенса
Сигмовидная функция
Функция выпрямителя или функция ReLu
Обучающая модель ИНС
Обучение нейронной сети из данного примера обычно выполняется путем определения разницы между наблюдаемым выходом сети (обычно предсказанием) и целевым выходом. Это называется ошибкой (потерей).
Затем сеть соответствующим образом корректирует свой вес, чтобы уменьшить потери. Последующая настройка приведет к тому, что нейронная сеть будет производить такой же результат, что и целевой результат.После достаточного количества этих изменений обучение может быть прекращено по определенным критериям.Обычно мы завершаем процедуру обучения через определенное количество эпох.
Эпоха относится к одному циклу по всему набору обучающих данных.
Шаги, связанные с обучением ИНС
- Произвольно инициализируйте веса маленькими числами, близкими к 0 {но не 0}
- Вводится первое наблюдение из набора данных во входной слой, каждый объект в один входной узел.
- При прямом распространении слева направо нейроны активируются таким образом, что влияние активации каждого нейрона ограничивается весами. Распространяйте активацию, пока не получите прогнозируемый результат «y».
- Сравните прогнозируемый результат с фактическим. Измерьте сгенерированную ошибку.
- При обратном распространении справа налево ошибка распространяется в обратном направлении. Обновите веса в зависимости от того, насколько они ответственны за ошибку. Скорость обучения зависит от того, насколько мы обновляем веса.
- Повторите шаги с 1 по 5 и обновляйте веса после каждого наблюдения.
- Когда весь обучающий набор проходит через ИНС, он завершает эпоху, которую мы выполняем выше, до конца последней эпохи.
Математическая интуиция ИНС
В ИНС мы выполняем прямое и обратное распространение для вычислений. Для нашего понимания рассмотрим простую двухслойную нейронную сеть.
Итак, чтобы обучить эту модель, мы выполним следующие шаги в прямом и обратном распространении.
Прямое распространение: процесс перехода от слоя 1 к уровню L называется прямым распространением.
Шаги, связанные с прямым распространением, следующие:
Шаг 1. Инициализируйте параметр (веса и смещение). Обычно мы произвольно инициализируем параметры, используя следующие строки кода.
- np.random.randn (shape) * 0,01 - для весов
- np.zeros (форма) Мы умножаем 0,01,
потому что, если веса слишком велики, производительность модели снижается. Поэтому, чтобы избежать этого, мы инициализируем их очень маленькими значениями, но не нулевыми.
Шаг 2: Теперь, когда мы инициализировали наши параметры, мы вычисляем значение Z, используя следующее уравнение:
Шаг 3: После вычисления "Z" мы добавим нелинейность, вызвав функцию активации (в нашем случае сигмоид).
Шаг 4: повторите шаги 3 и 4 для всех слоев. На выходном слое вычислите кросс-энтропийную стоимость «J» по формуле:
Шаг 5: Теперь выполните обратное распространение, чтобы обновить веса.
Обратное распространение: Обратное распространение - это процесс перехода от выходного слоя к слою 2. В этом процессе мы вычисляем ошибку.
Шаг 6. Сначала вычислите производную потерь по Z, используя следующие формулы.
- Производная, если l = выходной слой
- Производная, если l = скрытый слой
Где g () - используемая функция активации
Шаг 7: Вычислите производную W, b для каждого слоя, используя формулы
Шаг 8: Обновите веса, используя следующие уравнения
Типы искусственных нейронных сетей (ИНС)
Нейронные сети с прямой связью: Искусственная нейронная сеть с прямой связью, как следует из названия, состоит из нескольких уровней блоков обработки, в которых каждый уровень подает входные данные на следующий уровень в форме передачи. Простая двухуровневая сеть является примером ИНС прямого распространения.
Нейронные сети обратной связи: ИНС обратной связи состоит из элемента обратной связи. В базовой структуре ИНС с обратной связью состоит из набора блоков обработки, выходные данные которых передаются в качестве входных данных всем другим блокам того же уровня, включая тот же самый блок.
Нейронные сети с конкурентным обучением: это комбинация ИНС с обратной связью и с прямой связью. Входной слой является линейным, и его выходы передаются всем модулям следующего уровня. Выходы второго уровня могут быть как линейными, так и нелинейными (в зависимости от приложения).
Преимущества ИНС
- Основное преимущество ИНС - параллельная обработка. Это делает его более полезным, чем линейные программы.
- Благодаря параллельной структуре обработки любой сбой в одном нейронном элементе не повлияет на остальной процесс.
- Они могут обрабатывать зашумленные или отсутствующие данные.
- Нейронные сети применимы к любому приложению и могут решить любую сложную задачу.
- Применяя соответствующие алгоритмы обучения, их можно заставить учиться без перепрограммирования.
Недостатки ИНС
- Параллельная обработка требует огромной вычислительной мощности и времени.
- Перед реализацией в реальных условиях модели должны пройти период «обучения».
Применение ИНС
- Распознавание речи
- Сегментация изображения
- Распознавание персонажей
- Распознавание символов, используемых в основном на Олимпийских играх
- Заявление о проверке подписи
- Распознавание почерка
Если вам понравилась статья, пожалуйста, хлопните в ладоши, подпишитесь и подпишитесь, чтобы получать уведомления о статьях, связанных с глубоким обучением и наукой о данных.