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

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

Во-первых, эти модели работают так, что есть входной слой, один или несколько скрытых слоев и выходной слой, каждый из которых связан слоями синаптических весов¹. Входной слой (X) используется для ввода масштабированных значений ввода, обычно в стандартном диапазоне 0–1. Затем скрытые слои (Z) используются для определения взаимосвязи между входом и выходом с использованием весов и функций активации. Затем выходной слой (Y) преобразует результаты из скрытых слоев в предсказанные значения, часто также масштабированные в пределах 0–1. Синаптические веса (W), соединяющие эти слои, используются при обучении модели для определения весов, назначенных каждому входу и прогнозу, чтобы получить наилучшее соответствие модели. Визуально это представляется как:

Архитектура означает, что каждый вход, xᵢ, для скрытого узла, z𝒹, умножается на вес wⱼᵢ, а затем суммируется вместе с дополнительным смещением, введенным в матрицу весов, w₀ᵢ, которое формирует значение, входящее в скрытый узел. На диаграмме выше это представлено потоком значений от каждого xᵢ и W₀𝒹 к каждому z𝒹.

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

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

³ где нелинейная функция активации здесь задается сигмовидной функцией:

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

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

Способ их обучения заключается в обратном распространении, при котором веса в скрытых слоях корректируются, чтобы отразить ошибку в модели, определяемую соотношением между выходными данными и целевым значением⁴. Таким образом, это известно как обратное распространение, поскольку ошибка распространяется обратно по сети после каждой эпохи (количество циклов, в течение которых выполняется модель). Это отношение ошибок может принимать различные формы, включая потерю двоичной перекрестной энтропии и потерю среднеквадратичной ошибки (MSE), и определяется типом модели, с которой вы работаете. Например, регрессию часто связывают с потерей среднеквадратичной ошибки, а классификацию — с бинарной перекрестной энтропией⁵. Последний из них может быть представлен в виде:

Где E — ошибка модели, tᵢ — цель, а yᵢ — выходные значения. Это переводится обратно через матрицу весов в модели, когда веса обновляются:

где:

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

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

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

  1. Каковы требования к точности и интерпретируемости
  2. Какое предварительное знание вопроса существует
  3. Можно ли использовать традиционную статистическую модель с достаточной точностью?
  4. Каковы требования к проектированию и оценке нейронной сети?

Ссылки

[1] Блэк В., 1995. Моделирование пространственного взаимодействия с использованием искусственных нейронных сетей. Journal of Transport Geography,3(3), стр. 159–166.

[2] Фишер, М. и Гопал, С., 1994. Искусственные нейронные сети: новый подход к моделированию межрегиональных телекоммуникационных потоков. Journal of Regional Science,34(4), стр. 503–527.

[3] Введение MIT в глубокое обучение: https://www.youtube.com/watch?v=5tvmMX8r_OM&list=PLtBw6njQRU-rwp5__7C0oIVt26ZgjG9NI&index=2

[4] Селик Х., 2004 г. Моделирование распределения грузов с использованием искусственных нейронных сетей. Journal of Transport Geography,12(2), стр. 141–148.

[5] https://machinelearningmastery.com/loss-and-loss-functions-for-training-deep-learning-neural-networks/

[6] Фишер, М., 2013. Модели нейронного пространственного взаимодействия: обучение сети, сложность модели и производительность обобщения. Город Хошимин, ICCSA.

[7] Карлафтис М. и Влахоянни Э., 2011 г. Сравнение статистических методов и нейронных сетей в транспортных исследованиях: различия, сходства и некоторые выводы. Transportation Research Part C: Emerging Technologies,19(3), стр. 387–399.