В отличие от других алгоритмов, обладающих фиксированным конвейером получения и обработки данных, нейронные сети требуют решения об информационных потоках при фиксированном количестве модулей и их распределении по уровням, чтобы получилась архитектура нейронной сети.
Уровни нейронной сети фильтруют и обрабатывают информацию прогрессивным способом. Это ввод с прямой подачей поскольку данные в сеть подаются с одного направления. Модули одного уровня соединяются исключительно с модулями следующего уровня. Нет никаких соединений между модулями на одном и том же уровне или на уровне дальше следующего. Кроме того, информация продвигается только слева направо. Обработанные данные никогда не возвращаются к нейронам предыдущего уровня.
Нейронная сеть похожа на многослойный фильтр для воды: вы льете воду сверху, она фильтруется и вытекает вниз. Вода не может подняться вверх; она движется только вниз и никогда в стороны. Точно так же нейронные сети вынуждают данные течь через сеть и объединяться между собой так, как диктует архитектура сети. При использовании соответствующей архитектуры смешения данных нейронная сеть создает новые составные элементы на каждом уровне и позволяет достичь наилучших прогнозов. К сожалению, нет никакого способа определить наилучшую архитектуру иначе как опытным путем, опробуя различные решения и проверяя, помогают ли выходные данные лучше прогнозировать ваши цели после прохода сквозь сеть.
Иногда концепции становятся понятнее после непосредственной проверки на практике. Компания Google предоставляет игровую модель нейронной сети, позволяющую на практике проверить работу нейронной сети интуитивно понятным способом, добавляя или удаляя уровни и изменяя виды активизации.
Секреты коэффициентов
Нейронные сети имеют несколько уровней, каждый с собственным коэффициентом. Коэффициенты определяют силу связей между нейронами в сети. Когда коэффициент связи между двумя уровнями низок, это значит, что сеть формирует дамп значений, передаваемых между ними, а также что следование этим маршрутом, вероятно, не будет влиять на окончательный прогноз. Аналогично большое положительное или отрицательное значение коэффициента существенно влияет на получаемое следующим уровнем значение, а значит, оно существенно повлияет на прогноз. Этот подход аналогичен используемому клетками мозга, которые работают не самостоятельно, а совместно с другими клетками. По мере накопления опыта человеком связи между его нейронами слабеют или усиливаются, активизируя или деактивируя определенные фрагменты сети клеток мозга, меняя способ обработки информации или предпринимаемое действие.
На каждом последующем уровне модулей нейронной сети значения, полученные от предыдущих средств, обрабатываются, как ленточный конвейер. По мере передачи по сети данные достигают каждого модуля как некое суммарное значение, созданное из предыдущих значений на предыдущем уровне с учетом коэффициента связи текущего уровня. Когда полученные от других нейронов данные превышают определенное пороговое значение, функция активизации увеличивает значение, хранимое в модуле; в противном случае она гасит сигнал, снижая его. После обработки функцией активизации результат готов для передачи по связи на следующий уровень. Эти этапы повторяются на каждом уровне, пока значение достигнет конца, это и будет результат.
Коэффициенты связей позволяют смешивать и компоновать входные данные новым способом, создавая новые средства за счет смешения обработанных входных данных творческим способом благодаря функции активизации и коэффициентам. Кроме того, активизация осуществляет обработку нелинейно, обеспечивая рекомбинацию входных данных, получаемых связью. Оба эти компонента нейронной сети позволяют алгоритму изучить сложные целевые функции, представляющие отношения между входными средствами и результатом.