Нейронные сети в биологии реферат

Обновлено: 05.07.2024

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

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

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

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

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

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

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


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

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

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

Обучение мухи

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

Давайте вкратце разберем, как устроен обонятельный анализатор мухи.


Выше описанную часть нервной системы плодовой мушки мы условно назовём энкодер. Нервные пути от ганглия энкодера далее идут в другое скопление нейронов, и уже данный нервный узел отвечает за то, как будет реагировать муха на улавливаемый ей запах. Эту область мы назовём декодер. Пока нет однозначного понимания происходят ли изменения в синапсах как проявление обучения между слоями А и В, вероятнее всего эти связи формируются при развитии организма мухи и не меняются в течении жизни. Но однозначно можно утверждать об обучении, а значит изменении весов синапсов в декодере, и вероятнее всего здесь будет работать правило Хебба.

Можно подумать, что энкодер плодовой мушки это своего рода преобразователь 50-ти мерного вещественного определяющего запах вектора в 2 000-ти мерный бинарный разреженный код, хеш-код. Можно даже оценить размер такого преобразования: 2 000*1999*1998*…*1901≈1*10 329 (100 из 2 000 активных). Да-а, с такими возможностями за свою короткую жизнь муха может насладиться бесчисленным количеством оттенков запахов цветов, трав и фруктов. Но давайте оценим, на какие классы необходимо выделить запахи мухе для успешного выживания и оставления потомства. Я смог выделить всего 4 класса (возможно специалисты по мухам добавят ещё):

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

Как отмечает в своей статье Чарльз Ф. Стивенсон при данной конфигурации энкодера два случайных запаха с высокой долей вероятности будут иметь два непересекающихся множества активных клеток Кеньона (the Kenyon cells), а два очень близких запаха будут иметь настолько схожую картину активности этих клеток, что это не даст возможность различить запахи. Получается, что возможности кодирования запахов грибовидным телом мухи изначально нами была переоценена.

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

Итак, мы имеем дело не с хеш-кодом, а с группами нейронов-детекторов, которых насчитывается примерно 20, что сопоставимо с 4-мя выделенными классами. Чтобы лучше понять, как это всё работает, представим пространство решений данной сети в упрощённом двухмерном варианте. Каждая точка нашего двумерного пространства решений будет представлять конкретный запах. Тогда это пространство можно разделить на области соответствующей детектируемым запахам, что будет сходным с диаграммой Вороного.


На изображении точками показаны опорные вектора – это те запахи, на которые наиболее остро настроены наши группы нейронов-детекторов. Цветные области вокруг опорных векторов – локусы, это области схожих запахов которые не будут отличаться при детекции. Грибовидное тело подобно диаграмме Вороного при формировании организма разбивает всё образное пространство запахов на произвольные области, соответственно у различных особей эти области будут сформированы по-разному.


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


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

Давайте рассмотрим один вариант развития этой системы, которое доступно для плодовой мушки лишь в одну мутации. Дупликация – разновидность хромосомной мутации при которой участок хромосомы оказывается удвоенным. Очень часто дупликация обозначает увеличение в объёме каких-нибудь тканей, а иногда даже удвоение органа. Представим особь плодовой мушки, у которой в результате такой мутации ткани ганглиев с клетками Кеньона увеличилась вдвое с 2 000 до 4 000 клеток, это достаточно реалистичный сценарий. С одной стороны такая особь получает преимущество, она лучше может дифференцировать запахи, в пространстве решений распознавания запахов уже будет больше локусов. Но вместе с тем возникает проблема в снижении обобщающей способности этой системы. Локусы стали меньше, а значит, требуется больше обучающих примеров, чтобы охватить все спектры.


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

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

Такой метод как моделирование помогает понять многие процессы и явления очень глубоко. Давайте и мы разберёмся в процессе обучения живых на примере модели нейронной сети настроенной на распознавание рукописных цифр из стандартного набора MNIST (а также fashion-MNIST пентаграммы предметов одежды).

Наша сеть имеет вход в виде массива точек 28*28, каждая точка число от 0 до 1 в градации 256. Сеть состоит из двух слоёв: первый слой условно назовём слой Кохонена, второй слой – слой Хебба.


Слой Кохонена представим массивом нейронов 32*32, каждый такой нейрон связан со всеми входами сети. Каждая такая связь определяется весом, вещественным числом от 0 до 1. Все веса будем хранить в одном массиве размером 896*896 (32*28=896), я использую для этого изображения, для простоты и наглядности, поэтому будем называть этот массив картой синаптических связей, или картой весов. Карту весов изначально заполним случайными значениями. Когда на вход сети подаётся образ, то определяется уровень активности каждого нейрона слоя Кохонена, через близость входного вектора и вектора хранящегося в весах нейрона.


где Ai – итоговая активность i-го нейрона; Wij – j-тый вес i-го нейрона; Ij – j-тый элемент входа; n – длина векторов.

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

После предъявления сети 2 000 случайных примеров мы заполним все веса всех нейронов слоя различными примерами, здесь выделяются примеры разных цифр с различным их начертанием. Для того, чтобы увидеть результат работы слоя в режиме выполнения, делаем следующее: во-первых, определяем уровень активности каждого нейрона в слое Кохонена по формуле описанной выше, во-вторых, определяем максимальные и минимальные значения активности в слое. Далее вычисляем для каждого нейрона значение отношения к максимальному и минимальному значениям, по формуле (факт — min)/(max — min). Тем самым минимальное значение приравнивается к 0, а максимальное к 1. Уже так мы наглядно видим, какие нейроны максимально близки к входному вектору, а какие максимально удалены. Так как полученные значения находятся в интервале от 0 до 1, мы можем сделать эту картину еще острее, контрастнее просто возведя это значение в определённую степень (у меня в примерах степень 15). Так максимумы останутся единицами, а значения сильно меньшие единицы станут практически равными нулю. Эту операцию назовём эскалацией.

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

Этим занимается второй слой сети – слой Хебба. Слой Хебба имеет 10ть нейронов, по количеству классов, карта весов этого слоя имеет размер 32*320, то есть все нейроны слоя Кохонена связаны со всеми нейронами слоя Хебба. Обучение этого слоя достаточно тривиально: при сочетании активности нейронов из слоя Хебба и слоя Кохонена связь-вес усиливается, при отсутствии сочетания ослабевает. При выполнении веса просто суммируются, и как в слое Кохонена побеждает только одни нейрон из слоя. Победивший нейрон и является ответом сети.

Эти два слоя могут обучаться как совместно, так и по отдельности. К примеру, мы можем предъявить 2 000 случайных примеров, обучая слой Кохонена и параллельно передавать информацию о классе примера на слой Хебба обучая его. Для моей реализации в таком режиме достаточно 2 000 примеров для результата в районе ≈82% качества (тест проходит на 10 000 тестовых примерах).

Ещё пример обучения, который ближе к биологическому, это когда слой Кохонена обучается на случайных неразмеченных примерах. Тем самым формируя базовые образы. Затем можно представить сети несколько размеченных примеров от 10 до 1000 и обучать при этом только слой Хебба.


Сеть была обучена на 2 000 не размеченных примерах и достаточно дообучить её на 300 размеченных примеров для качества выше 80%.

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

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

Download build for Windows: MNIST; Fashion-MNIST

В сравнении

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

Обучение по бэкпропу и обучение биологичных сетей:

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

Для эволюции большую роль играла скорость обучения, а не точность. Человек не может по фотографии родинки диагностировать опухоль с вероятностью 99,8%. Точность конёк машин, а не Человека. Описанная сеть ближе к биологическим, чем нейронные сети, обучаемые на основе бэкпропа.

В заключение

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


Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное

бюджетное образовательное учреждение высшего образования

Московский Технический Университет Связи и Информатики

Кафедра Сетевые информационные технологии и сервисы

Дисциплина ВВЕДЕНИЕ В ПРОФЕССИЮ

Студент группы БСТ 2103

Таланкин Иван Сергеевич

_______ Комкова М.Г.

1. Основные понятие

2. История развития нейронных сетей

3. Устройство нейронных сетей

4. Обучение сети и проверка адекватности

5. Однослойные и многослойные сети прямого распространения
Заключение

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

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


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

ОСНОВНЫЕ ПОНЯТИЯ

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

3. Очевидность ответа

4. Контекстная информация


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

История развития нейронных сетей

На заре развития электронно-вычислительной техники в середине XX века среди ученых и конструкторов еще не существовало единого мнения он том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с вами изучаем в курсах основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети. Главные части нервной клетки – это ее тело, содержащее ядро и другие органеллы, единственный аксон, передающий импульсы от клетки, и дендриты, к которым приходят импульсы от других клеток. Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки – нейрон. Мозг человека состоит из белого и серого веществ: белое – это тела нейронов, а серое – это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 10^11 нейронов


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

Таким образом, мозг содержит примерно 10^15 взаимосвязей. Если учесть, что любой нейрофизиологический процесс активизирует сразу множество нейронов, то можно представить себе то количество информации или сигналов, которое возникает в мозгу. Нейроны взаимодействуют посредством серий импульсов, длящихся несколько миллисекунд, каждый импульс представляет собой частотный сигнал с частотой от нескольких единиц до сотен герц. Это невообразимо медленно по сравнению с современными компьютерами, но в тоже время человеческий мозг гораздо быстрее машины может обрабатывать аналоговую информацию, как-то: узнавать изображения, чувствовать вкус, узнавать звуки, читать чужой почерк, оперировать качественными параметрами. Все это реализуется посредством сети нейронов, соединенных между собой синапсами. Другими словами, мозг — это система из параллельных процессоров, работающая гораздо эффективнее, чем популярные сейчас последовательные вычисления.
Технология последовательных вычислений подошла к пределу своих технических возможностей, и в настоящее время остро стоит проблема развития методов параллельного программирования и создания параллельных компьютеров. Так что, может быть, нейросети являются только очередным шагом в этом направлении.

УСТРОЙСТВО НЕЙРОННЫХ СЕТЕЙ

Искусственным нейроном называется простой элемент, сначала вычисляющий взвешенную сумму V входных величин хi:


Здесь N – размерность пространства входных сигналов. Затем полученная сумма сравнивается с пороговой величиной W0, вслед за чем вступает в действие нелинейная функция активации f. Коэффициенты во взвешенной сумме обычно называют синаптическими коэффициентами или весами. Саму же взвешенную сумму V мы будем называть потенциалом нейрона i. Выходной сигнал тогда имеет вид f(V). Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. В этом случае мы говорим о расширенном входном пространстве: нейрон с N-мерным входом имеет N+1 весовой коэффициент. Если ввести в уравнение пороговую величину W0, то оно перепишется так:


В зависимости от способа преобразования сигнала и характера активации возникают различные виды нейронных структур. Существуют детерминированные нейроны, когда активизирующая функция однозначно вычисляет выход по входу, и вероятностные нейроны, состояние которых в момент t есть случайная функция потенциала и состояния в момент t-1. Далее речь пойдёт о детерминированных нейронах

ОБУЧЕНИЕ СЕТИ И ПРОВЕРКА АДЕКВАТНОСТИ

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

Проверка адекватности обучения

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

Классификация нейронных сетей


Однослойные и многослойные сети прямого распространения

Однослойные сети прямого распростране ния

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

Многослойные сети прямого распространения

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

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

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

l), что приводит к нелинейному динамическому поведению, если, конечно, в сети содержатся нелинейные нейроны.

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

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

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

Содержание работы

Введение
Понятие о нейронных сетях
2.1 Обучение нейронной сети
2.2 Методы ускорения обучения нейронной сети. Принцип достаточности
Классификация и виды нейронных сетей
3.1 Многослойные нейронные сети
Вывод
Список использованной литературы

Файлы: 1 файл

типы нейронных сетей.docx

Федеральное государственное образовательное учреждение
ВПО «Казанский (Приволжский) Федеральный Университет
Институт Экологии и Географии
Отделение географического и экологического образования


Классификации и типы нейронных сетей

Выполнила: студентка гр. 02-0371

2.1 Обучение нейронной сети

2.2 Методы ускорения обучения нейронной сети. Принцип достаточности

3.1 Многослойные нейронные сети

  1. Вывод
  2. Список использованной литературы

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

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

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

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

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

Понятие о нейронных сетях

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

Свойства нейронных сетей

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

· распределенное представление информации и вычисления,

· способность к обучению и способность к обобщению,

· свойство контекстуальной обработки информации,

· толерантность к ошибкам,

Можно выделить основные идеи, лежащие в основе нейронных сетей и нейромоделирования:

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

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

· Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм.

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

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

Таблица 1.1 Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров.

Один или несколько

Отделена от процессора

Адресация не по содержанию

Интегрирована в процессор

Адресация по содержанию

Численные и символьные операции

Обучение нейронной сети

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

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

Обучение – это процесс, в котором свободные параметры нейронной сети настраиваются посредством моделирования среды, в которую эта сеть встроена. Тип обучения определяется способом подстройки этих параметров.

Это определение процесса обучения нейронной сети предполагает следующую последовательность событий:

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

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

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

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

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

Методы ускорения обучения нейронной сети. Принцип достаточности

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

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

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

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

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

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

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

нейронные сети

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

Определение

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

Биологические сети

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

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

нейронная сеть

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

История

Дальнейшая хронология событий была следующей:

  • В 1954 году происходит первое практическое использование нейронных сетей в работе ЭВМ.
  • В 1958 году Франком Розенблатом разработан алгоритм распознавания образов и математическая аннотация к нему.
  • В 1960-х годах интерес к разработке нейронных сетей несколько угас из-за слабых мощностей компьютеров того времени.
  • И снова возродился уже в 1980-х годах, именно в этот период появляется система с механизмом обратной связи, разрабатываются алгоритмы самообучения.
  • К 2000 году мощности компьютеров выросли настолько, что смогли воплотить самые смелые мечты ученых прошлого. В это время появляются программы распознавания голоса, компьютерного зрения и многое другое.

нейронная сеть

Искусственные сети

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

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

Практическое применение

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

Типы сетей

В целом для разных задач применяются различные виды и типы нейронных сетей, среди которых можно выделить:

  • сверточные нейронные сети,
  • реккурентные нейронные сети,
  • нейронную сеть Хопфилда.

Далее мы детально остановимся на некоторых из них.

нейрон

Сверточные сети

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

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

Рекуррентные сети

Рекуррентными называют такие нейронные сети, соединения между нейронами которых, образуют ориентировочный цикл. Имеет такие характеристики:

Читайте также: