Пошаговое руководство по искусственной нейронной сети с иллюстрациями

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

Один из методов, который быстро развивается по мере развития ИИ, - это искусственная нейронная сеть (ИНС). С начала разработки ИИ до развития глубокого обучения сегодня ИНС принимает в них участие. Поэтому неудивительно, что этот метод является одним из самых влиятельных методов развития ИИ.

Но почему этот метод так повлиял на развитие ИИ? Почему этот термин так популярен? А что такое искусственная нейронная сеть? В этой статье мы ответим на этот вопрос.

Что такое искусственная нейронная сеть?

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

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

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



Компонент ИНС

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

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

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

Кроме того, есть еще и прослойка. Слой состоит из одного или нескольких нейронов. В ИНС есть три уровня: входной, скрытый и выходной. Если структура имеет только входной и выходной слои, она называется однослойным перцептроном.

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

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

Как это работает?

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

Feedforward - это алгоритм для вычисления выходных значений на основе входных значений, а backpropagation - это алгоритм для обучения нейронных сетей (изменение весов) на основе ошибок, полученных из выходных значений.

Процесс обучения в нейронной сети начинается с определения значения веса, скорости обучения и эпохи. Мы также должны определить количество входных нейронов, скрытых нейронов и выходных нейронов. Epoch - это итерация ИНС. Мы можем определить количество итераций в процессе обучения, если оно достигнет определенной итерации, процесс обучения остановится. Мы также можем определить минимальное значение ошибки, чтобы остановить процесс обучения.

Скорость обучения - это значение для определения скорости обучения, чем больше значение скорости обучения, тем быстрее машина обучается, но будет сложно получить оптимальные результаты, и наоборот, чем меньше скорость обучения, тем медленнее обучается машина. , но тем больше вероятность получения оптимального результата.

Feed Forward

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

На иллюстрации выше показан пример использования однослойного перцептрона. x1 и x2 - это входные данные, которые мы используем, а w1 и w2 - весовые. Обычно значение веса определяется случайным образом [-1… 1]. Процесс расчета выхода выглядит следующим образом.

  1. Умножьте веса на вход нейронов, затем сложите их.
  2. Введите результаты умножения весов на ввод в функцию активации.

Например, у нас есть значения x1 и x2 соответственно 1 и 0, а значения w1 и w2 составляют 0,25 и 0,75 соответственно. Тогда расчет такой x1 * w1 + x2 * w2 = 1 * 0.25 + 0 * 0.75 = 0.25. Затем значение вводится в функцию активации. Здесь мы будем использовать функцию активации сигмоида. При использовании сигмоидной функции результат равен 0,56.

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

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

Обратное распространение

Обратное распространение фокусируется на обновлении и оценке параметров (весов), используемых в прямой связи. Значение веса будет изменено в соответствии с полученным значением ошибки. Значение ошибки получено из Target value — output value.

Обновление веса обычно использует алгоритм оптимизации. Алгоритм оптимизации, используемый в ИНС, варьируется, например Adam (Adaptive Moment Estimation), RMSProp, Gradient Descent и т. Д.

Более подробно о расчетах обратного распространения вы можете посмотреть видео с сайта 3Blue1Brown.

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

Что дальше?

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

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

Эта статья является результатом сотрудничества с Науфал Дзаки Анвари. Если вы говорите по-индонезийски и хотите прочитать версию на индонезийском языке, перейдите по этой ссылке.