Нейрокомпьютеры и нейронные сети

Министерство  образования республики Карелия

ГАОУ  СПО РК "Сортавальский колледж" 
 
 
 
 
 
 
 

Реферат по дисциплине информатика

Тема  «Нейрокомпьютеры и нейронные сети»

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

              Работу  выполнил: студент 721гр.

              Косарев Денис

              Специальности

              «Строительство и эксплуатация зданий и сооружений»

              Проверил  преподаватель Егорова В. З.

              Оценка:

           Подпись: 
 
 
 

Сортавала

2011

Введение - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 стр. 

Глава I. Нейрокомпьютеры - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 стр. 

1.1 История нейрокомпьютеров- - - - - - - - - - - - - - - - - - - - - - - - - - - 5 стр. 

1.2 Преимущества  и недостатки нейрокомпьютеров- - - - - - - - - - - - 6 стр. 

1.3 Практическое  применение- - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 стр. 

Глава II. Нейронные сети- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8 стр. 

2.1 Задачи для  нейронных сетей - - - - - - - - - - - - - - - - - - - - - - - - - - 9 стр. 

2.2 Истинные преимущества нейронных сетей - - - - - - - - - - - - - - - -11 стр. 

Заключение - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 13 стр. 

Список литературы - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -15 стр. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение 

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

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

На сегодняшний  день высокие технические характеристики реализуется только с помощью дорогостоящих уникальных архитектур от CRAY, SGI, Fujitsu, Hitachi с несколькими тысячами процессоров.

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

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

Глава I. Нейрокомпьютеры 

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

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

Приведем некоторые  наиболее устоявшиеся определения  нейрокомпьютера 

№ Научное направление Определение нейровычислительной  системы
1 Математическая статистика Нейрокомпьютер - это вычислительная система, автоматически  формирующая описание характеристик  случайных процессов или их совокупности, имеющих сложные, зачастую многомодальные или вообще априори неизвестные  функции распределения.
2 Математическая логика Нейрокомпьютер - это вычислительная система алгоритм работы которой представлен логической сетью элементов частного вида - нейронов, с полным отказом от булевых  элементов типа И, ИЛИ, НЕ.
3 Пороговая логика Нейрокомпьютер - это вычислительная система, алгоритм решения задач в которой представлен в виде сети пороговых элементов с динамически перестраиваемыми коэффициентами и алгоритмами настройки, независимыми от размерности сети пороговых элементов и их входного пространства
4 Вычислительная техника Нейрокомпьютер - это вычислительная система с MSIMD архитектурой, в которой процессорный элемент однородной структуры упрощен  до уровня нейрона, резко усложнены  связи между элементами и программирование перенесено на изменение весовых  коэффициентов связей между процессорными элементами.
5 Медицина (нейробиологический подход) Нейрокомпьютер - это вычислительная система представляющая собой модель взаимодействия клеточного ядра, аксонов и дендридов, связанных  синаптическими связями (синапсами) (т.е. модель биохимических процессов протекающих в нервных тканях).
6 Экономика и  финансы Устоявшегося  определения нет, но чаще всего под  нейровычислителем понимают систему, обеспечивающую параллельное выполнение “бизнес» - транзакций.
 

Общее определение  нейрокомпьютера может быть представлено в следующем виде:

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

     1.1 История нейрокомпьютеров 

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

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

К настоящему времени  сформировался обширный рынок нейросетевых продуктов. Подавляющее большинство продуктов представлено в виде моделирующего программного обеспечения. Ведущие фирмы разрабатывают также и специализированные нейрочипы или нейроплаты в виде приставок персональным ЭВМ. Наиболее ярким прототипом супернейрокомпьютера является система обработки аэрокосмических изображений, разработанная в США по программе «Силиконовый мозг». Объявленная производительность супернейрокомпьютера составляет 80 PFLOPS (80∙1015 операций с плавающей точкой в 1 с) при физическом объёме, равном объёму человеческого мозга, и потребляемой мощности 20 Вт.

В июле 1992 г. в  Японии была принята Пятая Программа (действующая и поныне), связанная  с созданием координационного исследовательского центра по реализации международного проекта Real World Computing Partnership (RWCP), основной целью которого являлась разработка практических методов решения реальных задач на основе гибких и перспективных информационных технологий.

В настоящее  время в рамках развития этого  проекта создана трансконтинентальная сеть на базе гетерогенной вычислительной среды, объединяющей Суперкомпьютерный центр в Штутгарте (Германия), Компьютерный центр в Питсбурге (шт. Пенсильвания), Электротехническую лабораторию в Тшукубе (Япония), Компьютерный центр в Манчестере (Великобритания), в которой часть пользовательских компьютеров выполнена по нейросетевой технологии. Пиковая производительность образованного сверхсуперкомпьютера составила 2.2 TFLOPS.

Считается, что  теория нейронных сетей, как научное направление, впервые была обозначена в классической работе Мак Каллока и Питтса 1943 г., в которой утверждалось, что, в принципе, любую арифметическую или логическую функцию можно реализовать с помощью простой нейронной сети. В 1958 г. Фрэнк Розенблатт придумал нейронную сеть, названную перцептроном, и построил первый нейрокомпьютер Марк-1 . Перцептрон был предназначен для классификации объектов. На этапе обучения “учитель” сообщает перцептрону к какому классу принадлежит предъявленный объект. Обученный перцептрон способен классифицировать объекты, в том числе не использовавшиеся при обучении, делая при этом очень мало ошибок. Примерно в это же время вышла работа Минского и Пейперта, указавшая ограниченные возможности простейшего перцептрона. Результаты Минского и Пейперта погасили энтузиазм большинства исследователей, особенно тех, кто работал в области вычислительных наук. 

     1.2 Преимущества и недостатки нейрокомпьютеров

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

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

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

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

Несмотря на перечисленные выше преимущества эти  устройства имеют ряд недостатков:

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

2. В силу своей  уникальности эти устройства  достаточно дорогостоящи. 

1.3 Практическое применение нейрокомпьютеров 

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

Управление в  режиме реального времени: самолетами, ракетами и технологическими процессами непрерывного производства (металлургического, химического и др.);

Распознавание образов: человеческих лиц, букв и иероглифов, сигналов радара и сонара, отпечатков пальцев в криминалистике, заболеваний по симптомам (в медицине) и местностей, где следует искать полезные ископаемые (в геологии, по косвенным признакам);

Прогнозы: погоды, курса акций (и других финансовых показателей), исхода лечения, политических событий (в частности результатов выборов), поведения противников в военном конфликте и в экономической конкуренции;

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

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

Что же представляет из себя нейрокомпьютер? Нейрокомпьютеры  бывают двух типов:

Большие универсальные  компьютеры, построенные на множестве  нейрочипов;

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

Глава II. Нейронные сети 

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

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

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

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

С коннекционизмом  тесно связан следующий блок идей:

однородность  системы (элементы одинаковы и чрезвычайно  просты, все определяется структурой связей);

надежные системы  из ненадежных элементов и «аналоговый  ренессанс» использование простых аналоговых элементов;

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

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

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

Самый важный элемент  нейросистем адаптивный сумматор, который  вычисляет скалярное произведение вектора входного сигнала x на вектор параметров a. Адаптивным он называется из-за наличия вектора настраиваемых параметров a.

Нелинейный преобразователь  сигнала получает скалярный входной  сигнал x и переводит его в заданную нелинейную функцию f(x).

Точка ветвления служит для рассылки одного сигнала по нескольким адресам. Она получает скалярный входной сигнал x и передает его на все свои выходы.

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

Линейная связь  синапс отдельно от сумматоров не встречается, однако для некоторых рассуждений  бывает удобно выделить этот элемент. Он умножает входной сигнал x на «вес синапса» a.

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

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

Слоистые сети. Здесь нейроны расположены в  несколько слоев. Нейроны первого  слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до слоя k, который выдает выходные сигналы для интерпретатора и пользователя. Если противное не оговорено, то каждый выходной сигнал слоя и подается на вход всех нейронов слоя i+1. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особенно широко распространены трехслойные сети, в которых каждый слой имеет свое наименование: первый входной, второй скрытый, третий выходной. 

2.1 Задачи  для нейронных сетей 

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

построение функции  по конечному набору значений;

оптимизация;

построение отношений  на множестве объектов;

распределенный  поиск информации и ассоциативная  память;

фильтрация;

сжатие информации;

идентификация динамических систем и управление ими;

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

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

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

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

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

Задача классификации также может рассматриваться как задача заполнения пропусков в таблицах: для каждого класса в таблице есть поле, в котором указывается, принадлежит объект данному классу или нет. В эти поля могут помещаться численные значения, например, 1, если объект принадлежит классу, и 0 (или -1) в противном случае.

Построение отношений  на множестве объектов одна из загадочных и открытых для творчества самых  перспективных областей применения искусственного интеллекта. Допустим, задан набор объектов, причем каждому объекту сопоставлен вектор значений признаков (строка таблицы). Требуется разбить эти объекты на классы эквивалентности. Зачем нужно строить отношения эквивалентности между объектами? В первую очередь для фиксации знаний. Мы накапливаем знания о классах объектов это практика многих тысячелетий, зафиксированная в языке: знание относится к имени класса (пример стандартной древней формы: «люди смертны», «люди» имя класса). В результате классификации появляются новые имена и правила их присвоения. Для каждого нового объекта мы должны сделать две вещи:

найти класс, к  которому он принадлежит;

использовать  новую информацию, полученную об этом объекте, для исправления (коррекции) правил классификации.

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

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

2.2 Истинные  преимущества нейронных сетей

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

Нейрокомпьютеры и нейронные сети