Электронная библиотека

Биография

Каталог ссылок

Оглавление

Часть 1: Введение

  1. Что такое нейронные сети?
  2. Для чего НС могут быть использованы?
  3. Как работает нейронная сеть?

Часть 2: Топология нейронных сетей

  1. Feed-forward и feedback.
  2. Сеть Хопфилда.
  3. Сеть BAM (Bidirectional associative memory).


Введение

1.1 Что такое нейронные сети?

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

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

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

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


1.2 Для чего НС могут быть использованы?

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

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

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

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

Банки и страховые компании:

Административное обслуживание:

Нефтяная и химическая промышленность:

Военная промышленность и аэронавтика:

Промышленное производство:

Служба безопасности:

Биомедицинская промышленность:

Телевидение и связь:

Представленный перечень далеко не полон.


1.3 Как работает нейронная сеть?

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

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

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

[Схема искусственного нейрона]

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

[Картинка с разными фунциями]


Топология нейронных сетей

2.1 Feed-forward и feedback.

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

В feedback нейросети выходной сигнал от нейрона передается на вход другого нейрона, на том же или предыдущем уровне.

Термин feedback (обратная связь) указывает способ соединения нейронов. Но не следует путать его и back propagation. Back propagation это метод обучения feed-forward нейросетей. В методе back propagation ошибка на последнем (выходном уровне) используется для коррекции весов всей сети (распространения обратно через сеть). Feedback нейросети не используют back propagation для обучения. Back propagation нейросеть это не нейросеть с топологией Feedback.

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

В настоящее время нейронные сети с архитектурой feed-forward работают лучше, чем сети с архитектурой feedback по нескольким причинам. Емкость feedback оказалась не очень большой. Так, например количество данных, которое может быть сохранено без ошибок в CAM (Hophield Content Addressable Memory) вычисляется по формуле: M<= N/(4 * log N), где N - количество нейронов. Это значит, что для хранения 1000 записей потребуется 20000 нейронов и 200000000 уникальных связей. Для сравнения NetTalk, приложение использующее feed-forward модель, используя 300 нейронов и 20,000 уникальных соединений, может выучить правильное написание 1000 слов и около 7000 ассоциаций буква-звук.

Кроме того, feed-forward сети работают быстрее, чем feedback, т.к. для того чтобы найти решение им нужно сделать только один проход. Feedback сети должны повторять цикл снова и снова, до тех пор, пока выходы не перестанут изменяться. Обычно для этого требуется от 3 до 1000 циклов.

Feed-forward нейронные сети могут быть контролируемые (supervised) или не контролируемые (unsupervised). Контролируемые нейронные сети во время обучения сравнивают свой ответ с заранее известным, в то время как неконтролируемые не делают этого.


2.2 Сеть Хопфилда.

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

[Сеть Хопфилда]

Соединения между нейронами симметричны (т.е.Wij=Wji), как показано на рисунке. Каждый нейрон соединен со всеми другими нейронами. Все нейроны используют пороговую функцию активации и могут давать на выходе два значения: -1(off) и +1(on). Выход каждого нейрона зависит от предыдущего уровня его активации. Сеть функционирует циклически. Итерации происходят до тех пор, пока выходные сигналы нейронов не перестанут меняться.

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

К сожалению сеть обладает небольшой емкостью. Сеть, содержащая N нейронов, может запомнить не более M=N/(4 * log N) образов, где N - количество нейронов.


2.3 Сеть BAM (Bidirectional associative memory).

Сеть BAM (двунаправленная ассоциативная память) очень близка к сети Хопфилда. Она имеет входной и выходной уровень, как показано на рисунке.

[Сеть BAM]

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

Электронная библиотека

Биография

Каталог ссылок