Как создать свой симулятор. Строим motion simulator из палок и синей изоленты. Создание музыки к игре

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


Рис. 1.2.

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

где - константа, пороговой функцией

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


Рис. 1.3.

На рис. 1.2 блок, обозначенный , принимает сигнал и выдает сигнал Если блок сужает диапазон изменения величины так, что при любых значениях значения принадлежат некоторому конечному интервалу, то называется "сжимающей" функцией . В качестве "сжимающей" функции часто используется логистическая или "сигмоидальная" (S-образная) функция , показанная на рис. 1.3 . Эта функция математически выражается как Таким образом,

По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона . Коэффициент усиления вычисляется как отношение приращения величины к вызвавшему его небольшому приращению величины Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. С. Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы, в свою очередь , также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала

Другой широко используемой

Разработка искусственных нейронных сетей началась в начале ХХ века, но только в последние 20 лет, когда вычислительные системы стали достаточно мощными, нейронные сети получили широкое распространение. Создание нейронных сетей было вызвано попытками понять принципы работы человеческого мозга и, без сомнения, это будет влиять и на дальнейшее их развитие. Однако, в сравнении с человеческим мозгом нейронная сеть сегодня представляют собой весьма упрощенную модель, но несмотря на это весьма успешно используются при решении самых различных задач. Хотя решение на основе нейронных сетей может выглядеть и вести себя как обычное программное обеспечение, они различны в принципе, поскольку большинство реализаций на основе нейронных сетей «обучается», а «не программируется»: сеть учиться выполнять задачу, а не программируется непосредственно.

На рисунке ниже приведена модель нейрона, лежащего в основе искусственных нейронных сетей.

В этой модели нейрона можно выделить три основных элемента:

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

· сумматор, аналог тела клетки нейрона. Выполняет сложение внешних входных сигналов или сигналов, поступающих по синаптическим связям от других нейронов. Определяет уровень возбуждения нейрона;

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

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

Таким образом, математическая модель нейрона может быть представлена выражением:

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

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

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

1. Единичный скачок или жесткая пороговая функция

Простая кусочно-линейная функция. Если входное значение меньше порогового, то значение функции активации равно минимальному допустимому, иначе – максимально допустимому.

2. Линейный порог

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

3. Логистическая функция (сигмоид)

Монотонно возрастающая всюду дифференцируемая -образная нелинейная функция с насыщением.

Определяется следующим выражением:

где a – параметр наклона сигмоидальной функции активации. Изменяя этот параметр, можно построить функции с различной крутизной.

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

где a – это также параметр, влияющий на наклон сигмоидальной функции.

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

Функции активации типа единичного скачка и линейного порога встречаются довольно редко. В практических задачах почти всегда применяется сигмоидальная функция активации – логистическая или (чаще) гиперболический тангенс.

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

Таким образом, построение НС для решения конкретной задачи осуществляется в два этапа:

1) Выбор типа (архитектуры) нейронной сети.

2) Подбор весов (обучение) нейронной сети.

Можно выделить два основных подхода к созданию искусственных нейронных сетей:

1) Аппаратный – физическое моделирование, создание специализированных микросхем («нейрочипов»), плат расширения, компьютеров, реализующих все необходимые алгоритмы.

Преимущество : высокое быстродействие.

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

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

Преимущества : гибкость, невысокая стоимость аппаратных платформ, возможность применения стандартного математического ПО (например, Matlab, в составе которого имеется пакет для проектирования нейронных сетей Neural Networks Toolbox, или свободно распространяемого нейросимулятора NeuroPro).

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

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

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

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

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

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

В этой модели нейрона можно выделить три основных элемента:

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

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

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

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

Статьи по теме: