Файл: Задача на определение затрат на свадьбу (История развития нейронных сетей).pdf
Добавлен: 22.05.2023
Просмотров: 324
Скачиваний: 2
1.3. Понятие искусственного нейрона
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает различное множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синоптической силе, все эти произведения суммируются, определяя уровень активации нейрона.[23]
Поведение искусственной нейронной сети зависит как от значения весовых параметров, так и от функции возбуждения нейронов. Известны три основных вида функции возбуждения: пороговая, линейная и сигмоидальная. Для пороговых элементов выход устанавливается на одном из двух уровней в зависимости от того, больше или меньше суммарный сигнал на входе нейрона некоторого порогового значения. Для линейных элементов выходная активность пропорциональна суммарному взвешенному входу нейрона.
Для сигмоидальных элементов в зависимости от входного сигнала, выход варьируется непрерывно, но не линейно, по мере изменения входа. Сигмоидальные элементы имеют больше сходства с реальными нейронами, чем линейные или пороговые, но любой из этих типов можно рассматривать лишь как приближение.[24]
Множество входных сигналов, обозначенных , поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором , соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес , и поступает на суммирующий блок, обозначенный Каждый вес соответствует "силе" одной биологической синоптической связи.[25] (Множество весов в совокупности обозначается вектором) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть.
Активационная функция может быть обычной линейной функцией. Сигнал далее преобразуется активационной функцией и дает выходной нейронный сигнал.
Блок принимает сигнал и выдает сигнал. Если блок сужает диапазон изменения величины так, что при любых значениях значения принадлежат некоторому конечному интервалу, то называется "сжимающей" функцией. В качестве "сжимающей" функции часто используется логистическая или сигмоидальная функция. [26]
Коэффициент усиления вычисляется как отношение приращения величины к вызвавшему его небольшому приращению величины. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. С. Гроссберг 1973 обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения[27].
Слабые сигналы нуждаются в сетевом усилении, для пригодного к использованию выходной сигнал. Усилительные каскады с коэффициентами усиления могут привести к насыщению выхода шумами усилителей[28], которые присутствуют в любой физически реализованной сети. Сильные входные сигналы, тоже будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Имеющая большой коэффициент усиления, центральная область логистической функции, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Исходя из этого, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.
Другой широко используемой активационной функцией является гиперболический тангенс.[29] По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клетки.
Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке значение выходного сигнала равно нулю. В отличие от логистической функции, гиперболический тангенс принимает значения различных знаков, и это его свойство применяется для целого ряда сетей.
Простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника, но это ни как не умоляет ее значимости[30]. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы. Входные сигналы сразу же порождают выходной сигнал. И, что более важно, она не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими в нервной деятельности естественного мозга.
Даже несмотря на эти ограничения, все построенные сети из таких нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или же они есть следствие того, что в модели верно схвачены важнейшие черты биологического нейрона.
1.4. Виды искусственных нейронных сетей
Даже один нейрон и способен выполнять простейшие процедуры распознавания, но тем не менее для серьезных нейронных вычислений необходимо соединять нейроны в сети.[31] Самая простейшая сеть состоит из группы нейронов, образующих слой. Для большей наглядности обозначим их кругами, чтобы отличать их от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, но здесь они показаны все для демонстрации общей картины. Между выходами и входами элементов в слое также могут существовать соединения.[32]
Для удобства счета веса лучше использовать матрицу. Матрица имеет строк и столбцов, где — число входов, а — число нейронов. Например, — это вес, связывающий второй вход с третьим нейроном. Таким образом, вычисление выходного вектора , компонентами которого являются выходы нейронов, сводится к матричному умножению , где и — векторы-строки[33].
Большими вычислительными возможностями обладаю, как правило, более крупные и сложные нейронные сети. Хотя созданы сети всех конфигураций, какие только можно себе представить, послойная организация нейронов копирует слоистые структуры определенных отделов мозга. Оказалось, что такие многослойные сети обладают большими возможностями, чем однослойные, и в последние годы были разработаны алгоритмы для их обучения, опять природа преподала нам полезный урок. Многослойные сети могут строиться из каскадов слоев. Выход одного слоя является входом для последующего слоя. Многослойные сети не могут привести к увеличению вычислительной мощности по сравнению с однослойной сетью, если активационная функция между слоями линейна. Вычисление выхода слоя состоит в том что умножив входной вектор на первую весовую матрицу с последующим умножением результирующего вектора на вторую весовую матрицу.
Двухслойная линейная сеть эквивалентна одному слою с весовой матрицей, равной произведению двух весовых матриц.[34] Из этого следует, что любая многослойная линейная сеть может быть заменена эквивалентной однослойной сетью. Но даже однослойные сети весьма ограничены по своим вычислительным возможностям. Для расширения возможностей сетей по сравнению с однослойной сетью необходима нелинейная активационная функция.
У выше рассмотренных сетей не было обратных связей идущих от выходов некоторого слоя к входам этого же слоя или предшествующих слоев. Данный класс специальных сетей называют сетями без обратных связей или сетями прямого распространения, представляющими большой интерес и широко используется.[35] Сети более общего вида, имеющие соединения от выходов к входам, называются сетями с обратными связями. У сетей без обратных связей нет памяти, их выход полностью определяется текущими входами и значениями весов. В некоторых конфигурациях сетей с обратными связями предыдущие значения выходов возвращаются на входы; выход, следовательно, определяется как текущим входом, так и предыдущими выходами. Именно по этим причинам сети с обратными связями могут обладать свойствами, сходными с кратковременной человеческой памятью, где сетевые выходы тоже частично зависят от предыдущих входов.[36]
Многослойная сеть состоит, из чередующихся множеств нейронов и весов. Входной слой не выполняет суммирования. К сожалению, нет общепринятого способа подсчета числа слоев в сети. Данные нейроны служат лишь в качестве разветвлений для первого множества весов и не влияют на вычислительные возможности сети. По данной причине первый слой не принимается во внимание при подсчете слоев, и сеть, так как только два слоя выполняют вычисления. Веса слоя считаются связанными со следующими за ними нейронами. Из этого можно сделать вывод слой состоит из множества весов со следующими за ними нейронами, суммирующими взвешенные сигналы.
1.5. Обучение нейронных сетей
Самое важное и наиболее интересное свойство нейронных сетей является их способность к обучению. Обучение до такой степени напоминает процесс интеллектуального развития человеческой личности, что может показаться, будто нами достигнуто глубокое понимание этого процесса и мы начинаем полностью осознавать все тайны человеческого мозга. Но, проявляя осторожность, следует сдерживать эйфорию. Возможности обучения искусственных нейронных сетей ограничены, и нужно решить много сложных задач, чтобы определить, находимся ли мы на правильном пути.[37]
Сеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор.
Существует два основных алгоритма обучения, обучение с учителем и без него. Обучение с учителем означает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Их называют обучающей парой.[38] Обычно сеть обучается на некотором числе таких обучающих пар. Предъявляется выходной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность с помощью обратной связи подается в сеть, веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. [39] Векторы обучающего множества предъявляются последовательно, ошибки вычисляются и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.
Даже учитывая многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность и отдаленность от естественного хода событий в реальном мире. Трудно вообразить обучающий механизм в мозге, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Обучение без учителя является намного более правдоподобной моделью обучения для биологической системы, и более схоже с процессами, протекающими в мозгу[40]. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы.[41] Процесс обучения выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Тут можно сказать, что выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Данное заявление не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.[42]