Нейронные сети — что это?

Наиболее простое определение для понятия «нейронная сеть», которую правильнее называть «искусственная нейронная сеть» (ИНС), было предложено изобретателем первого нейрокомпьютера доктором Робертом Хехт-Нильсеном: «это вычислительная система, в состав которой входит ряд простых взаимосвязанных компонентов, обрабатывающих информацию, динамически реагирующих на внешние взаимодействия». (в издании «Neural Network Primer: Part I» Морином Каудиллом, AI Expert, февраль 1989). Данная статья ответит на волнующих многих вопрос : нейронные сети — что это?

Для начала видео о том, что такое нейронные сети

Нейронные сети и мозг

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

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

Основы нейронных сетей

Нейронные сети обычно имеют многослойную структуру. Слои в свою очередь состоят из так называемых «узлов», способных активизироваться. Шаблоны представлены в сеть посредством «входного уровня», связанного с одним или сразу несколькими «скрытыми слоями», а обработка данных производится системой взвешенных соединений. Скрытые слои соединены с «выходным уровнем», на котором выводится ответный сигнал (как показано на рисунке ниже).слои нейронных сетей

Большинство ИНС содержат некое «правило обучения», которое изменяет силу соединений в соответствии с входными шаблонами, которыми они представлены. Подобно биологическим аналогам, ИНС обучаются на примерах. Ребенок учится различать породы собак, рассматривая картинки с ними.

Несмотря на то, что «правила обучения», используемые для нейронных сетей, бывают различными, в этой демонстрации используется единственное – правило «дельта». Это правило используется одним из общих классов ИНС, который называется «обратнораспространяемые нейронной сети» («backpropagational neural networks). Термин «Backpropagation» является сокращением слов «backwards propagation of error» — обратное распространение ошибки.

С правилом «дельта», как и с прочими типами «Backpropagation», процесс «обучения» является контролируемым. Он производится в каждом цикле — «эпохе» (то есть, тогда, когда сеть представляется новым шаблоном ввода) через прямой поток активации выходов, и обратный процесс распространения ошибки для корректировки степени взаимодействия. Простыми словами, нейронные сети, изначально представленные шаблоном, пытаются сделать предположение. Затем находится различие между предполагаемым и действительным, вносятся соответствующие корректировки в степени взаимодействия. Графически данный процесс выглядит примерно так:

A single node example of The Delta Rule

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

«Backpropagation» производит градиентный спуск в векторном пространстве в направлении «глобального минимума» вдоль самого крутого вектора поверхности ошибки. Глобальный минимум представляет собой теоретическое решение с минимальной вероятностью ошибки. Поверхность ошибки соответствует поверхности гиперболоида, реже – является «гладкой», как на рисунке нижу. В действительности, для большинства проблем область решения является неоднородной, содержит многочисленные «ямы» и «холмы». Это может способствовать спуску сети к «локальному минимуму», который является далеко не лучшим общим решением.

How the delta rule finds the correct answer

Поскольку природа большинства ошибок может быть определена только опытным путем, нейронная сеть выполняет анализ в несколько этапов с целью принятия наиболее оптимального решения. Большинство правил обучения содержат вспомогательные встроенные математические условия, контролирующие «скорость» (коэффициент бета) и «импульс» обучения. Скорость обучения представляет собой степень конвергенции (сближения) между принятым на данный момент решением и глобальным минимумом. Импульс обучения помогает сети преодолевать препятствия («локальные минимумы») на поверхности ошибки и спускать к точке, соответствующей глобальному минимуму, или расположенной около него.

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

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

Чем нейронные сети отличаются от обычных вычислительных сетей?

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

Картинки по запросу вычислительная сеть

В случае с ИНС, сети не обязательно детерминированными и не являются последовательными. Здесь нет составных центральных процессоров. Наоборот – они состоят из нескольких простых, которые лишь берут взвешенную сумму вводных данных от других процессоров. ИНС не выполняют программных инструкций. Они реагируют параллельно (имитируемо или фактически) на представленную им схему входных данных. Для хранения информации не предусмотрена память с конкретными адресами. Вместо этого все данные содержатся в общем состоянии «активации» сети. Соответственно, «знания» представлены самой сетью, которая представляет собой нечто большее, чем сумма входящих в ее состав компонентов.

Для какого типа приложений может быть использована нейронная сеть?

Нейронные сети являются универсальными апроксиматорами, и работают наилучшим образом в том случае, если используемая для модели система обладает высокой степенью устойчивости к ошибке. Для балансирования чековой книжки нейронная сеть непригодна. Но ИНС очень эффективно используются для:
1) Выбор ассоциаций или поиск и обнаружение закономерностей в пределах одного набора шаблонов;
2) Если объем и разнообразие данных, количество переменных слишком велики;
3) При нечеткой взаимосвязи между переменными;
4) Для описания взаимосвязей нельзя применять традиционные подходы.


Добавить комментарий

Ваш e-mail не будет опубликован.