Как работает алгоритм искусственной нейронной сети?
Природа вдохновляет людей. Например, самолеты были изобретены по мотивам птиц. Точно так же искусственные нейронные сети (ИНС) были разработаны на основе нейронов головного мозга. С помощью этой техники были решены сложные задачи машинного обучения, такие как классификация изображений, системы рекомендаций и перевод с одного языка на другой.
Этот пост проведет вас через обзор ИНС. Вот темы, которые мы рассмотрим.
- Что такое ИНС?
- Что такое персептрон?
- Как работает многослойный персептрон шаг за шагом?
Давайте погрузимся!
Что такое ИНС?
Подход ANN — это алгоритм машинного обучения, вдохновленный биологическими нейронными сетями. ИНС являются основой глубокого обучения. Первая ИНС была предложена в 1944 году, но в последние годы она стала очень популярной.
Давайте посмотрим, почему этот подход стал популярным в последние годы. Как вы знаете, с развитием Интернета и социальных сетей объем производимых данных увеличился, и большие данные стали модным словом. Большие данные упростили обучение ИНС. В то время как классические алгоритмы машинного обучения не справлялись с анализом больших данных, искусственные нейронные сети хорошо справлялись с большими данными.
Другая причина популярности этого алгоритма заключается в том, что вычислительная мощность машин увеличилась. С развитием игровой индустрии были разработаны графические процессоры. Нейронные сети обучались быстрее с графическими процессорами.
Кроме того, разработка потрясающих архитектур, таких как CNN, RNN и Transformers, позволила нам создавать высокоточные модели. Такие фреймворки, как TensorFlow и PyTorch, также помогли нам легко реализовать современные модели.
Хорошо, мы обсудили, почему подход ANN стал популярным в последние годы. Давайте взглянем на биологическую нейронную сеть, чтобы лучше понять ИНС.
Биологические нейронные сети
Я не биолог, но давайте рассмотрим биологический нейрон. Нейронная сеть состоит из тела клетки, содержащего ядро, разветвленные дендриты и длинный аксон. Как вы можете видеть на изображении выше, длина аксона намного больше, чем тело клетки. Аксоны делятся на множество ветвей, которые соединяются с дендритами или телами клеток других нейронов.
Биологические нейроны генерируют электрические сигналы, которые распространяются по аксонам. Если нейрон получает достаточную стимуляцию, он срабатывает. В общем, так работают биологические нейроны. Эта работа может показаться простой, но с помощью соединения нейронов можно управлять миллиардами нейронных сетей.
Круто, мы посмотрели, как работают биологические нейронные сети. Давайте теперь посмотрим на самую основную единицу ИНС, персептрон.
Персептрон
Персептрон — это наименьшая единица нейронной сети. Эта архитектура была разработана Фрэнком Розенблаттом в 1957 году.
Как видите, входы и выходы — это числа, и каждый вход имеет вес в этой архитектуре. Эти взвешенные входные данные сначала суммируются, а затем добавляется смещение. Эта сумма проходит через ступенчатую функцию. Эта функция может быть, например, функцией знака.
Вы можете использовать этот алгоритм для бинарной классификации. Позвольте мне объяснить это. Сначала вычисляется линейная функция входных данных, а затем результат считается положительным, если результат превышает пороговое значение. Если он не превышает определенного порога, результат будет отрицательным.
Это очень просто, правда? Но благодаря этому простому подходу были разработаны такие инструменты искусственного интеллекта, как ChatGPT.
Одна линейная функция называется пороговой логической единицей (TLU). Персептрон может состоять из нескольких линейных функций, связанных между собой в одном слое.
Как вы можете видеть на изображении выше, на этом изображении есть два входа и три выхода. Слой с входными данными называется входным слоем, а уровень с ВПУ, которые производят выходные данные, называется выходным слоем. Обратите внимание, что все входы подключены ко всем нейронам. Подобный слой называется плотным слоем.
Этот персептрон имеет три разных выхода. Помните, что в двоичной классификации количество меток равно двум. Поскольку здесь есть три выхода, эта задача представляет собой классификацию по нескольким меткам. Конечно, вы также можете использовать эту архитектуру для мультиклассовой классификации.
Как обучить персептрон?
Если вы узнаете, как обучается персептрон, вы лучше поймете, как работают ИНС. Давайте теперь обсудим, как обучить персептрон.
Во-первых, назначьте случайный вес для каждого входа. Находят сумму взвешенных входных данных, а затем к этой сумме добавляется смещение. Обратите внимание, что когда один нейрон часто запускает другой нейрон, связь между ними становится сильнее. Входные данные, проходящие через нейроны, производят выходные данные. Этот вывод является прогнозом. Фактическое значение сравнивается с прогнозом и вычисляется ошибка. Веса обновляются, чтобы делать прогнозы с меньшим количеством ошибок.
Perceptron был хорошим подходом, но не смог решить некоторые простые проблемы, такие как XOR. Чтобы преодолеть ограничения перцептронов, был разработан многослойный персептрон. Давайте погрузимся в многослойные персептроны.
Многослойный персептрон
Многослойные перцептроны состоят из входного слоя, скрытого слоя и выходного слоя. Как вы можете видеть на изображении выше, есть скрытый слой. Если имеется более одного скрытого слоя, это называется глубокой нейронной сетью. Здесь в игру вступает глубокое обучение. Глубокое обучение стало популярным с развитием современных архитектур ИИ.
Короче говоря, входные данные проходят через нейронные сети, и делается прогноз. Но как улучшить предсказание нейронной сети? Именно здесь вступает в действие алгоритм обратного распространения. Этот алгоритм принимает ошибку вывода нейронной сети, а затем распространяет эту ошибку обратно по сети. Итак, веса обновлены. И этот цикл продолжается до тех пор, пока не будет получен наилучший прогноз.
Теперь давайте посмотрим, как нейронные сети работают с обратным распространением. Сначала берется пакет данных. Этот номер пакета может быть 32. Эти данные проходят через всю нейронную сеть много раз во время обучения. Прохождение всех данных через нейронную сеть называется эпохой.
Пакет поступает в нейронную сеть из входного слоя. Когда данные, проходящие через входной слой, проходят через скрытый слой, вычисляются выходные данные. Эти выходные данные направляются на следующий уровень. Таким образом, входные данные проходят через все слои и получаются выходные данные. Это называется прямой проход. Выход нейронной сети — это прогноз. Обратите внимание, что веса в каждом слое сохраняются. Это связано с тем, что веса обновляются, в то время как ошибка предсказания распространяется назад.
Вы можете спросить, как измеряется ошибка. Для этого используется функция потерь. Функция потерь сравнивает фактическое значение с прогнозируемым значением и вычисляет ошибку.
Каждая партия проходит через нейронную сеть, и вычисляется прогноз. И измеряется ошибка этого предсказания. Эта ошибка распространяется обратно, и веса обновляются. Другая партия оценивается в соответствии с обновленными весами, и ошибка предсказания вычисляется снова. По этой ошибке снова обновляются веса. Таким образом, все данные проходят через нейронную сеть. Обратите внимание, что начальные веса задаются случайным образом. В противном случае обучение не удастся.
Итак, мы увидели, как работают нейронные сети. До сих пор я объяснял теорию ИНС. Если вы понимаете структуру этой архитектуры, вы можете создать лучшую архитектуру. Глубокое обучение больше похоже на искусство, чем на науку. Чем лучше архитектура модели, которую вы создадите, тем лучше будет ваш прогноз.
Давайте теперь посмотрим на функцию активации в этой архитектуре. Помните, что активация, используемая в персептронах, была ступенчатой функцией. Функция активации, используемая в многослойных персептронах, может быть сигмовидной, гиперболической касательной или ReLU. Наиболее часто используемая функция — ReLU.
Вы можете спросить, почему мы используем функцию активации. Мы используем функцию активации, потому что хотим добавить нелинейности в нашу архитектуру. Это делает нашу архитектуру более гибкой. Мы не можем решать сложные задачи, если не используем функции активации.
Заключение
Инструменты искусственного интеллекта, такие как ChatGPT, разработаны с использованием архитектур, основанных на ИНС. В этом блоге мы рассказали, что такое алгоритм ANN и как он работает. Вы также обсудили алгоритм обратного распространения.
Вот и все. Спасибо за прочтение. Подключим YouTube | Средний | Твиттер | Инстаграм.
Ресурс
- Практическое машинное обучение с помощью Scikit-Learn, Keras и TensorFlow
- Машинное обучение с PyTorch и Scikit-Learn