Нейрокомпьютерная техника почему именно искусственные нейронные сети


Содержание

Области применения нейрокомпьютеров и нейросетей.

Области применения нейрокомпьютеров и нейросетей.

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

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

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

Нейрокомпьютинг, как новое направление науки, ведет свою историю с середины 40-х годов, с опубликования работы «Логическое исчисление идей, относящихся к нервной активности» (Маккаллок и Питтс), в которой были изложены принципы функционирования искусственного нейрона. Дальнейшие исследования в 50 — 60-х годах в мире и в нашей стране позволили создать фундаментальные основы этой новой области науки. В ряде научных работ было теоретически доказано, что отдельные нейронные парадигмы не способны решать некоторые задачи, в частности, с помощью однослойного персептрона нельзя решить задачу «исключающего или», что фактически затормозило развитие нейрокомпьютинга, и практический интерес к нейронным сетям быстро угас и переместился в чисто теоретическую плоскость. Такое положение сохранялось почти три десятка лет, до середины 80-х годов, когда началось бурное возрождение интереса к нейронным сетям во всем мире.

Сейчас в мире резко увеличивается число конференций по нейронной тематике, регулярно проводятся конференции IEEE, посвященные исключительно нейронным сетям, секции по нейронной тематике начинают появляться в различных симпозиумах, посвященных обработке сигналов, робототехнике, авионике и т.д. Нарастает и объем литературы, выпускаются десятки и сотни книг по различным тематикам нейронных сетей. В России массовый интерес к нейронной тематике появился уже в середине 90-х. У нас исследованиями в области нейрокомпьютинга занимались: Московский Научный центре нейрокомпьютеров, Институт проблем управления РАН (Москва), Институте высшей нервной деятельности РАН (Москва), Институт нейрокибернетики (Ростов-на Дону), лаборатория Сибирского отделения ВЦ РАН (Красноярск), ряд НИИ Минобороны и спецслужб, МИФИ, МФТИ, МАИ, МИРЭА, МИЭМ, КрГТУ (Красноярск), РГТУ (Ростов-на-Дону), ЛПИ и др.. Первоначально нейрокомпьютерные исследования в России проводились разрозненно, но уже в 1992 году было создано Российское общество по нейронным сетям (RNNS) — по аналогии со Всемирным обществом по нейронным сетям (WNNS). Сейчас во многих отечественных вузах читаются курсы по нейрокомпьютингу, причем преподавание ведется разными научными школами. Таким образом, с задержкой почти на пять лет нейрокомпьютерная тематика стала актуальной и в России. Начал издаваться достаточно большой объем литературы по нейрокомпьютингу, в том числе и переводной, выпускаются периодические журналы, проводятся конференции. В 1996 году московская компания «Тора-Центр» начала продажу в России лицензионного пакета моделирования нейронных сетей BrainMaker производства California Scientific Software. Пакет предназначался для моделирования многослойных нейронных сетей с полными последовательными связями, обучаемыми по методу обратного распространения ошибки, он оказался прост в использовании и предоставлял много возможностей по изменению топологии многослойной сети и алгоритма обучения, хотя и был несколько сложен для первого восприятия. В пакете не было предусмотрено защиты от копирования, он размещался на стандартной 3,5-дюймовой дискете. При этом разработчиком было особо оговорено, что BrainMaker ориентирован в первую очередь на решение финансовых задач, и основными его потребителями должны стать банки и крупные финансовые компании — сектор рынка, где в то время были сосредоточены основные отечественные финансовые ресурсы. Благодаря мощной рекламной поддержке нейропакет BrainMaker приобрел в России популярность, а спустя некоторое время он даже стал доступен для всех заинтересованных лиц (появился на пиратских компакт-дисках). В то же время появились и другие нейропакеты, такие как, Al Trilogy от Ward Systems Group или нейрокомпьютерный ускоритель CNAPS компании Adaptive Solutions, представляющий собой аппаратный ускоритель, построенный на базе одного или нескольких нейрочипов того же производителя. По оценкам, для некоторых задач он мог дать выигрыш в производительности до 1000 раз по сравнению с самым передовым на тот момент компьютером с процессором Pentium. Выпускался CNAPS до 1997-1998 годов.

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

Конечно, такие мощные аппаратные нейрокомпьютерные ускорители как CNAPS нужны для решения лишь суперзадач, которых не так уж и много, а для решения подавляющего большинства задач достаточно персонального компьютера и пакета моделирования нейронных сетей (например, того же BrainMaker). Поэтому мощные аппаратные нейроускорители оказались просто не востребованы рынком. Этому способствовала и цена в несколько тысяч долларов, и необходимость освоения специфичного программного обеспечения — все это отпугивало потенциальных потребителей. Постепенно интерес к мощным аппаратным нейрокомпьютерам CNAPS затих. Позднее фирма Siemens попыталась внедрить на российский рынок свой нейрокомпьютер Synaps-1 стоимостью 400 тыс. долларов и натолкнулась на ту же самую проблему — нейрокомпьютер оказался невостребованным. До сих пор аппаратные нейроускорители и нейрокомпьютеры используются лишь узким кругом коллективов, занимающихся решением именно суперзадач. В России лишь несколько научных коллективов имеют в своем распоряжении нейрокомпьютеры и супермашины для моделирования нейронных сетей.

Нейронная сеть представляет собой большое количество одинаковых параллельно работающих простейших элементов — нейронов, при ее аппаратной реализации желательно обеспечить массовое параллельное выполнение простейших операций, причем чем большая степень параллельности вычислений достигается, тем лучше. Традиционным методом повышения степени параллельности вычислений является каскадирование процессоров, т.е. объединение нескольких процессоров в единой вычислительной системе для решения поставленной задачи. Поскольку процессоры работают независимо друг от друга, то вроде бы достигается необходимая степень параллельности. Но не следует забывать, что при обмене данными между процессорами каналы обмена данными являются «узким горлышком бутылки», которое может свести на нет все выигрыши в скорости вычислений. Разработчики параллельных систем всеми силами борются за расширение «узкого горла», но скорость современных процессоров все равно растет быстрее, чем пропускная способность каналов передачи данных. Поэтому зачастую более выгодным решением оказывается использовать один более мощный процессор, чем несколько менее мощных, соединенных между собой. Традиционно считается, что нейронные сети можно успешно реализовать на универсальных процессорах, RISC-процессорах или на специализированных нейронных процессорах (нейрочипах). У каждого из перечисленных типов аппаратной реализации есть свои достоинства и недостатки.

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

RISC-процессоры лишены указанных недостатков, поскольку имеют возможности каскадирования, предусмотренные на аппаратном уровне, да и архитектура их более адекватна для выполнения нейронных операций. Однако, существенной их чертой, снижающей эффективность применения, является дороговизна и относительно малое распространение среди широких масс разработчиков. Многие лишь слышали, что такие процессоры существуют, но никогда с ними не работали. Наиболее известными типами современных RISC-процессоров, применяемых в моделировании нейронных систем, являются TMS компании Texas Instruments, ADSP компании Analog Devices, SHARC и другие.

Нейронный процессор можно рассматривать как cynep-RISC-процессор, ориентированный на выполнение нейронных операций и обеспечивающий их массовое выполнение. Разумеется, нейропроцессор обеспечивает большую скорость при выполнении нейронных операций, чем универсальные или RISC-процессоры. Современные проектные решения позволяют интегрировать нейропроцессоры в вычислительные системы, построенные на базе RISC-процессоров, обеспечивая таким образом их совместимость. Но «звездный час» нейропроцессоров пока не наступил. Виной тому их высокая стоимость (выше, чем даже у RISC-процессоров) и малая известность.

Нейрочип — это специализированный процессор, оптимизированный для массового выполнения нейронных операций: скалярного умножения и нелинейного преобразования. У большинства разработчиков слово «процессор» ассоциируется с СБИС. Поэтому бытует расхожее мнение, что нейрочип — это заказной или полузаказной цифровой кристалл, архитектура которого как раз и оптимизирована под нейронные операции. В мире не один десяток фирм поддерживают это мнение делом — практически все известные на сегодняшний день коммерческие нейрочипы выполнены в виде СБИС. Для разработки новой модели нейрочипа необходимо спроектировать новый кристалл, а это большое время и большие деньги, которые можно окупить либо большой серией, либо большой ценой кристалла. Про большую серию речь пока обычно не идет (это у фирмы Intel серии процессоров исчисляются миллионами и на них есть спрос) — нейрочипов столько просто не нужно, поскольку предназначены они для решения весьма специфических задач. Цена зарубежных нейрокристаллов еще в 2000 году не опускалась ниже 100 долл., а платы и модули на базе нейрочипов (которые, собственно, и применяются для решения конкретных задач) стоят несколько тысяч долларов. Нейрочипы можно реализовывать и на программируемых логических матрицах (ПЛИС). Темпы роста вычислительной мощности ПЛИС не уступают аналогичной характеристике универсальных процессоров. ПЛИС значительно дешевле, а проектирование устройства на базе ПЛИС занимает всего несколько месяцев. Современные ПЛИС работают на достаточно высокой тактовой частоте, емкость ПЛИС может в разы превышать емкость современных процессоров (на современной ПЛИС можно реализовать до десяти процессоров). ПЛИС — это почти идеальная элементная база для реализации таких параллельных структур как нейронные сети. Большое количество вентилей ПЛИС позволяет реализовать достаточно много физически параллельно работающих нейронов (например, на ПЛИС с интеграцией 40 тыс. вентилей можно реализовать до 15 параллельно работающих нейронов, а -сейчас в самой обычной ПЛИС интегрируют до 10 млн. вентилей). Высокая тактовая частота работы ПЛИС способствует высокой скорости вычислений в нейроне. ПЛИС в гораздо большей степени, чем СБИС, удовлетворяет критерию эффективности для нейронных процессоров: большая интеграция позволяет реализовать множество параллельно работающих нейронов, при этом обмен данными между нейронами осуществляется внутри той же ПЛИС с высокой скоростью. Это означает, что проблема «узкого горла» при передаче данных между вычислительными элементами отсутствует, поскольку все каналы связи реализуются внутри ПЛИС и обеспечивают ту скорость передачи, которая нужна разработчику. Конечно, нельзя категорично утверждать, что в ближайшем будущем нейрокомпьютеры заменят собой обычные компьютеры. Этого не произойдет ни сейчас, ни потом, поскольку «нейроподход» эффективен не для всех задач. Но там, где нейротехнологии имеют неоспоримые преимущества перед другими алгоритмическими методами, неизбежно, постепенно произойдет замена существующих аппаратных средств и программ на нейрокомпьютеры и нейросетевое программное обеспечение.

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

В 1992 году программа «Пятое поколение компьютеров» была завершена и ее сме­нила международная программа «Вычисления в реальном мире» (RWC — Real World Computing). В первую очередь речь идет о том, чтобы дать вычислительным и управляющим системам возможность самостоятельно, без помощи «пере­водчика» — человека воспринимать воздействия внешнего мира и действовать в нем. Авторы программы огромную роль (до 30-40% ее содержания) отводят ис­следованию естественных и созданию искусственных нейросетевых систем.
Нейробионический подход к проблеме искусственного интеллекта основывается на использовании принципов работы мозга для конструирования интеллектуальных систем. Его привлекательность и перспективность обусловливаются тем, что на функциональном уровне нервная система обеспечивает недоступную (по крайней мере, на текущий момент) для технических устрой ств сп особность живых существ адаптироваться в реальном мире, а на «технологическом» уровне — уникальные возможности по быстродействию и надежности.
Имитация работы мозга на ЭВМ (традиционно-последовательной) затруднена принципиальными различиями между конструкциями мозга и ЭВМ. В частности, из-за того, что когда одно устройство моделирует другое, сильно от него отличающееся, процесс моделирования протекает очень медленно. На ЭВМ достаточ­но просто моделируются формально-логические элементы мышления, а модели­рование способности человека (и животных) адаптироваться в изменяющихся и слабо формализованных условиях реального мира сопряжено со значительными сложностями, несмотря на то, что уровень технологии в микроэлектронике позволяет превзойти по плотности упаковки вычислительных элементов и по эконо­мичности энергопотребления нервную ткань. Как раз именно эту возможность адаптироваться к постоянно изменяющимся внешним условиям и необходимо обеспечить системам, претендующим на «интеллектуальность».
В настоящее время сформировалось новое научно-практическое направление — создание нейрокомпьютера, представляющего собой ЭВМ нового поколения, качественно отличающуюся от предыдущих отсутствием заранее созданных алгоритмических программ и способностью к самоорганизации и обучению. Основу нейрокомпьютеров составляют нейронные сети — иерархически организованные параллельные соединения адаптивных элементов — нейронов, которые обеспечивают взаимодействие с объектами реального мира так же, как и биологи­ческая нервная система.
Основные отличия нейрокомпьютера от обычной ЭВМ:
параллельная работа большого числа простых вычислительных устройств обеспечивает огромное быстродействие;
нейронная сеть способна к обучению, которое осуществляется путем настройки параметров сети;
высокая отказоустойчивость и помехоустойчивость сети за счет того, что зна ния как бы «размыты» в ней и обрыв какой-то связи в общем случае не являет ся достаточным условием отказа, а устранение помех осуществляется за счет «скатывания» поступившего искаженного образа к ближайшему имеющемуся образцу с наименьшим энергетическим уровнем;
простое строение отдельных нейронов позволяет использовать новые физические принципы обработки информации для аппаратных реализаций нейросетей .

ПРИМЕЧАНИЕ
Нейрокомпьютеры создаются для решения определенного фиксированного круга задач. По-видимому, широкое распространение получат устройства, основанные на комбиниро­ ванных технологиях, включающие по мере необходимости те или иные нейропроцессорные устройства.

В настоящее время дальнейшее повышение производительности компьютеров связывают с системами, обладающими свойствами массового параллелизма. Одна из таких систем — нейрокомпьютер, основу которого составляет искусственная нейросетъ , реализованная аппаратно на электронных или оптических элементах. В отличие от микропроцессора, имеющего полный набор команд, каждый нейрон, из которых состоит нейросеть , представляет собой лишь простейший аналоговый преобразующий элемент. Однако коллективные свойства сети, содержащей мил лионы нейронов, уже не являются тривиальными. Искусственная нейросеть — принципиально параллельная структура, естественным образом реализующая принцип потока данных.
Термин «нейронные сети» сформировался в 40-х годах XX века в среде исследователей, изучавших принципы организации и функционирования биологических нейронных сетей. В настоящее время в области науки нейроинформатики разра ботан ряд моделей переработки информации, называемых искусственными ней­ронными сетями или просто нейронными сетями. Обычно под нейронными сетя­ми понимается набор элементарных нейроподобных преобразователей информа­ ции — нейронов, соединенных друг с другом каналами обмена информацией для их совместной работы.
Предметом исследования нейроинформатики является решение задач переработки информации с помощью нейросетей в различных предметных областях, особенно в плохо формализуемых, где существующие модели субъективны и неадекватны. Наиболее впечатляющие результаты использования нейросетей достигнуты при распознавании образов, при построении ассоциативной памяти, при создании самообучающихся экспертных систем, при решении оптимизационных задач боль шой размерности.
Нейроинформатика > находится в стадии интенсивного развития. Ежегодно про водится ряд международных конференций по нейросетям , число специализиро­ванных периодических изданий более 20. В России в настоящее время издается журнал «Нейрокомпьютер» (Министерство экономики). В 1999 г. в Красноярске состоялся VII Всероссийский семинар « Нейроинформатика и ее приложения».
К настоящему моменту предложено и изучено большое количество моделей нейро сетей . Однако основными являются только три принципиально различных типа сетей, большинство остальных распространенных нейросетей состоят из элемен­ тов, характерных для сетей трех основных типов:
сетей прямого распространения (многослойных персептронов);
полносвязных сетей Хопфилда ;
карт (решеток) Кохонена

Нейрокомпьютерная техника почему именно искусственные нейронные сети?

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

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

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

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

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

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

Толчком к развитию нейрокомпьютинга послужили биологические исследования. По данным нейробиологии нервная система человека и животных состоит из отдельных клеток — нейронов. В мозге человека их число достигает 1.0e10 — 1.0e12. Каждый нейрон связан с 1.0e3 — 1.0e4 другими нейронами и выполняет сравнительно простые действия. Время срабатывания нейрона — 2-5 мс. Совокупная работа всех нейронов обуславливает сложную работу мозга, который в реальном времени решает сложнейшие задачи. Отличия нейрокомпьютеров от вычислительных устройств предыдущих поколений:

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

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

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

Разработки в области нейрокомпьютинга ведутся по следующим направлениям:

  • разработка нейроалгоритмов;
  • создание специализированного программного обеспечения для моделирования нейронных сетей;
  • разработка специализированных процессорных плат для имитации нейросетей;
  • электронные реализации нейронных сетей;
  • оптоэлектронные реализации нейронных сетей.

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

2. Нейронные сети — основные понятия и определения

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

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

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

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

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

Илон Маск рекомендует:  Что такое код ncurses_addchstr

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

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

3. Модели нейронных сетей


3.1. Модель Маккалоха

Теоретические основы нейроматематики были заложены в начале 40-х годов. В 1943 году У. Маккалох и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты:

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

Несмотря на то, что за прошедшие годы нейроматематика ушла далеко вперед, многие утверждения Макклоха остаются актуальными и поныне. В частности, при большом разнообразии моделей нейронов принцип их действия, заложенный Макклохом и Питтсом, остается неизменным. Недостатком данной модели является сама модель нейрона «пороговой» вид переходной функции. В формализме У. Маккалоха и У. Питтса нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние.

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

3.2. Модель Розенблата

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

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

Алгоритм обучения перцептрона выглядит следующим образом:

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

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

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

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

3.3. Модель Хопфилда

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

Автором когнитрона является японский ученый И. Фукушима.

Новый виток быстрого развития моделей нейронных сетей, который начался лет 15 тому назад, связан с работами Амари, Андерсона, Карпентера, Кохонена и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий и зрелой фазы развития СБИС для реализации новых архитектур.

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

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

Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии). Максимум функции консенсуса соответствует оптимальному решению задачи.

3.4. Модель сети с обратным распространением

Способом обратного распространения (back propogation) называется способ обучения многослойных нейронных сетей (НС).

Многослойная нейронная сеть

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

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

4. Задачи, решаемые на основе нейронных сетей

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

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

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

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

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

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

  • автоматическое считывание документов;
  • автоматическое распознавание штриховых кодов.

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

  • анализ геологической информации;
  • идентификация неисправностей оборудования;
  • разведка залежей минералов по данным аэрофотосъемок;
  • анализ составов примесей;
  • управление процессами.

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

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

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

  • управление манипуляторами;
  • управление качеством;
  • управление процессами;
  • обнаружение неисправностей;
  • адаптивная робототехника;
  • управление голосом.

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

  • распознавание лиц, голосов, отпечатков пальцев.

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

  • анализ рентгенограмм;
  • обнаружение отклонений в ЭКГ.

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

  • адаптивное управление сетью связи;
  • сжатие и восстановление изображения.

Представленный перечень далеко не полон. Можно найти еще области, где оправданно применение НС.

5. Способы реализации нейронных сетей

Нейронные сети могут быть реализованы двумя путями: первый — это программная модель НС, второй — аппаратная.

Основными коммерческими аппаратными изделиями на основе НС являются и, вероятно, в ближайшее время будут оставаться нейроБИС.

Среди разрабатываемых в настоящее время нейроБИС выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. соединений/с. (НС содержит 64 нейрона и 262144 синапса). НейроБИС фирмы Hitachi позволяет реализовать НС, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.

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

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

Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация перцептрона, разработанная Розенблатом, называлась Mark I).

Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с.

Mark IV — это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений/с.

Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей.

Помимо указанных моделей фирмы TRW предлагает также пакет Mark II — программный эмулятор НС.

Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования таких моделей НС, как сеть Хопфилда — Кохонена и НС с обратным распространением. Его производительность достигает 450 млн. межсоединений/с.

Фирма Computer Recognitiion Systems (CRS) продает серию нейрокомпьютеров WIZARD/CRS 1000, предназначенных для обработки видеоизображений. Размер входной изображения 512 x 512 пиксел. Модель CRS 1000 уже нашла применение в промышленных системах автоматического контроля.

6. Выводы

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

В России уже успешно функционирует один из первых мощных нейрокомпьютеров для финансового применения — CNAPS PC/128 на базе 4-х нейроБИС фирмы Alaptive Solutions. По данным фирмы «Торацентр» в число организаций, использующих нейронные сети для решения своих задач, уже вошли: Центробанк, МЧС, Налоговая Инспекция, более 30 банков и более 60 финансовых компаний.

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

Введение

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

Объект исследования: Нейроинформатика.

Предмет исследования: Искусственные нейронные сети, математические модели нейронов как единица искусственной нейронной сети, нейрокомпьютеры.

Цель исследования: Выявить основные положения нейроинформатики как науки. Улучшить личные знания в данном разделе информатики.

— Ознакомится с теоретическим курсом нейроинформатики.

— Выявить основные положения, проблемы науки.

-Установить достоинство и недостатки методов достижения основных целей нейроинформатики.

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

Нейрокомпьютеры, и их применение в современном обществе

Нейронные сети, нейрокомпьютеры, ЭВМ, подобные мозгу. Все чаще информация о них мелькает на страницах печати. Это — не фантастика. Уже существуют работающие нейрокомпьютеры и складывается свой рынок этого нового класса перспективных средств вычислительной техники. Фирма Локхид предполагает использование нейрокомпьютеров для управления адаптивной фокусирующей системой управления мощным лазерным оружием при ведении «звездных войн». Ярким примером реализации нейрокомпьютеров в управлении роботами является разработка системы управления механической рукой для космического корабля «Шаттл». Во многих аэропортах США при досмотре багажа для выявления наркотиков, взрывчатых веществ, ядерных и других материалов используются все те же нейрокомпьютеры. 60% кредитных карточек в США проходят контроль с применением нейрокомпьютерной технологии. Нейроконтроллеры при решении задачи управления уровнем температуры жидкости в замкнутом объеме почти вдвое быстрее реагируют на изменение температуры по сравнению с традиционными PI (РID) регуляторами. Эффективность использования нейрокомпьютеров для обработки радио и гидролокационной информации, причем как на уровне первичной, так и на уровне вторичной обработки, уже не новость. Прогнозирование экономических и финансовых показателей, предсказание возможных осложнений у больных в послеоперационный период, диагностика автомобильных и авиационных двигателей, управление атомными электростанциями и даже стиральными машинами, обработка изображений, формируемых электронным сканирующим микроскопом или телекамерой в охранных системах наблюдения и многое. Многое другое — это все те области, где нейрокомпьютеры различного уровня реализации, от специализированных аппаратных средств, до простых нейросетевых пакетов программ для традиционных персональных компьютеров, с каждым годом находят все более широкое применение.

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

Нейронные сети и нейрокомпьютеры в настоящее время быстро становятся одной из тех технологий, на которые делают свои ставки ведущие компании мира как на средство конкурентоспособности в XXI веке. Нейрокомпьютеры — это новый захватывающий мир, мир новых возможностей и профессий. США и Япония, Германия и Финляндия, Франция и ряд других стран развернули государственные проекты по исследованиям, разработкам и прикладному использованию нейрокомпьютеров как в гражданской, так и в военной сферах. Что же касается России, то здесь мы всегда были и остаемся ведущими в мире в области теории нейронных сетей. Не отстаем и в создании прикладных нейросетевых алгоритмов. С разработками же конкурентоспособной промышленной нейрокомпьютерной техники в текущих условиях тяжелейшего экономического состояния страны дела обстоят, честно сказать, не столь хорошо. Но тем не менее готовятся в ВУЗах страны, молодые специалисты, знакомые с нейрокомпьютерной тематикой. Продолжаются проводиться научно — исследовательские работы в Научном центре нейрокомпьютеров Минэкономики РФ (г. Москва) и ряде других организаций страны.

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

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

Каждая связь представляется как совсем простой элемент, служащий для передачи сигнала. Предельным выражением этой точки зрения может служить лозунг: «структура связей — все, свойства элементов — ничто».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Главный вопрос: что могут нейронные сети. Ответ получен: нейронные сети могут все. Остается открытым другой вопрос: как их этому научить?

Создание и использование нейрокомпьютеров является целесообразным по двум причинам. Во-первых, их архитектура ориентирована на параллельные вычисления и позволяет выполнять их без тех осложнений, с которыми связано выполнение этих вычислений на традиционных ЭВМ, ориентированных на последовательную обработку данных. Во-вторых, нейрокомпьютеры не работают по жесткому алгоритму, не перепрограммируются под разные задачи, а каждый раз обучаются решению новой проблемы. Конечно, необходимость обучения нельзя считать только достоинством. Отрицательными его сторонами являются как необходимость организации специальных наборов данных для обучения — обучающих выборок, так и затраты времени на их создание. Более того, использование нейрокомпьютеров для решения задач, требующих высокой точности, может оказаться нецелесообразным. Однако при решении задач, для которых не существует алгоритма или решение по алгоритму занимает слишком много времени, нейрокомпьютеры оказываются предпочтительнее традиционных. Здесь сразу возникает их значительное преимущество. Поэтому и возник с конца 80 — х годов этот нейрокомпьютерный бум, который не затихает по настоящее время.

Илон Маск рекомендует:  Печать из delphi в excel по шаблону

Нейрокомпьютеры (стр. 1 из 4)

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

Биологический нейрон. 5

Искусственный нейрон. 7

Активационные функции. 8

Базовые архитектуры нейронных сетей. 11

Полносвязные нейронные сети. 12

Обучение искусственных нейронных сетей. 13

Правило коррекции по ошибке. 15

Обучение Больцмана. 15

Правило Хебба. 16

Обучение методом соревнования. 16

Многопроцессорные ускорительные платы.. 17

Особенности программирования средств аппаратной поддержки нейровычислений 20

Немного истории. 21

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

Недостатки нейрокомпьютеров. 22

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

Некоторые модели нейрокомпьютеров. 24

Использованные ресурсы: 27

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Биологический нейрон

рис.1. Биологический нейрон

Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию (рис. 1). Она состоит из тела клетки (cell body), или сомы (soma), и двух типов внешних древоподобных ветвей: аксона (axon) и дендритов (dendrites). Тело клетки включает ядро (nucleus), которое содержит информацию о наследственных свойствах, и плазму, обладающую молекулярными средствами для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчик), который в конце разветвляется на волокна (strands). На окончаниях этих волокон находятся синапсы (synapses).

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

Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора головного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 — 104 другими нейронами. В целом мозг человека содержит приблизительно от 1014 до 1015 взаимосвязей.

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

Искусственный нейрон

рис.2. Искусственный нейрон

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

Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона. На рис.2 представлена модель реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2, x3. xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2, w3. wn, и поступает на суммирующий блок, обозначенный СУМ (адаптивный сумматор). Каждый вес соответствует «силе» одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором W ) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом.

НЕЙРО́ННЫЕ СЕ́ТИ

Скопировать библиографическую ссылку:

НЕЙРО́ННЫЕ СЕ́ТИ искусственные, многослойные высокопараллельные (т. е. с большим числом независимо параллельно работающих элементов) логические структуры, составленные из формальных нейронов. Начало теории нейронных сетей и нейрокомпьютеров положила работа американских нейрофизиологов У. Мак-Каллока и У. Питтса «Логическое исчисление идей, относящихся к нервной деятельности» (1943), в которой они предложили математическую модель биологического нейрона. Среди основополагающих работ следует выделить модель Д. Хэбба, который в 1949 г. предложил закон обучения, явившийся стартовой точкой для алгоритмов обучения искусственных нейронных сетей. На дальнейшее развитие теории нейронной сети существенное влияние оказала монография американского нейрофизиолога Ф. Розенблатта «Принципы нейродинамики», в которой он подробно описал схему перцептрона (устройства, моделирующего процесс восприятия информации человеческим мозгом). Его идеи получили развитие в научных работах многих авторов. В 1985–86 гг. теория нейронных сетей получила «технологический импульс», вызванный возможностью моделирования нейронных сетей на появившихся в то время доступных и высокопроизводительных персональных компьютерах . Теория нейронной сети продолжает достаточно активно развиваться в начале 21 века. По оценкам специалистов, в ближайшее время ожидается значительный технологический рост в области проектирования нейронных сетей и нейрокомпьютеров. За последние годы уже открыто немало новых возможностей нейронных сетей, а работы в данной области вносят существенный вклад в промышленность, науку и технологии, имеют большое экономическое значение.

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

Нейросети для чайников

Сегодняшняя статья будет посвящена достаточно сложной теме — что такое искусственные нейронные сети и зачем они нужны. Мы расскажем вам историю создания нейронных сетей, как развивалась данная наука о сетях и что сейчас она может предложить человечеству. Тема очень сложная для понимания и, возможно, понять, что написано в данной статье не получится с первого раза, однако мы постараемся изложить информацию о нейронных сетях как можно проще. Тема нейронных сетей актуальна сейчас, как никогда — то и дело в сети встречается масса сайтов, на которых эти самые сети забавно совмещают картинки, разукрашивают ч/б фотографии, распознают рукописный текст, речь и т.д. Это лишь малая часть того, что на самом деле умеет ИНС (искусственная нейронная сеть). Возможности ИНС безграничны, однако они существенно уступают тому, что умеет человеческий мозг. По сравнению с нейронными сетями, мы спокойно можем разобрать речь собеседника в шумном помещении, узнать человека среди сотен других людей и т.д. ИНС умеет все то же самое, однако если сравнить нейросеть с каким-либо живым существом на планете, то она будет едва умнее пиявки. Все же, наш мозг добился отличной работоспособности спустя 50 000 лет эволюции (если мы говорим о Homo sapiens), а нейросети существуют всего 65 лет. Тем не менее, современные технологии сильно шагнули вперед и нет никаких сомнений, что через 10-15 лет нейрокомпьютеры вплотную приблизятся по своим возможностям к человеческому мозгу, благодаря стремительному развитию нейросетей и искусственного интеллекта в целом.

Содержание:

Искусственные нейронные сети — история создания

Впервые о нейронных сетях начали говорить в далеких 50-х годах прошлого века. В период с 1943 по 1950 год были представлены миру первые две основополагающие ученые работы. Одна из них, статья 1943 года двух выдающихся ученых — Уорена Маккалока и Уолтера Питтса освещала математическую модель нейронной сети, а в 1949 году канадский нейропсихолог Дональд Хебб выпустил книгу «Организация поведения», в которой было подробное описание процесса самообучения ИНС.

Позднее, в 1957 году известный американский ученый Фрэнк Розенблатт изобрел перцептрон — математическую (компьютерную) модель обработки информации человеческим мозгом. Данная разработка уже в те годы умела прогнозировать погоду и распознавать образы, однако вскоре перцептрон жестко раскритиковали из-за скандальной работы Марвина Минского. В 1969 году ученый выпустил статью, в которой разъяснялось, какие задачи перцептроном не могут быть решены и при каких условиях его работа неэффективна. После этого интерес к неросетям угас, но не на долго.

В 1974 году Пол Вербос разработал алгоритм обратного распространения ошибки, который используется и по сей день для обучения ИНС. Начиная с 1985 года Джон Хопфилд предлагает миру свое виденье устройства и работы нейросети, которая способна решать некоторые виды задач. Именно работы Джона Хопфилда вновь разогревают нешуточный интерес мировой общественности к искусственным нейронным сетям. В 90-е годы прошлого века алгоритм обратного распространения ошибки получил существенное развитие, за счет чего былая критика Минского касательно неработоспособности сетей окончательно опровергнута. На сегодняшний день ИНС является главным подразделом машинного обучения.

Нейросеть — в целом об ИНС

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

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

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

А вот как выглядит наш с вами мозг, упрощенный до ИНС.

Нейронные сети — почему они работают?

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

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

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

Уровень сложности нейросетей

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

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

Когда эффективны ИНС?

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

Простые и средние по сложности, принцип решения которых известен:

  • легкие уравнения;
  • распечатка документа;
  • запуск программы.

Подобные задачи решаются с помощью обычного ПК.

Мало- среднесложные задачи с частичным знанием решения:

  • прогнозирование ситуации;
  • нахождение погрешности;
  • приблизительные ответ уравнения.

Такие задачи решаются при помощи статистики.

Высокая сложность задачи с неизвестным решением:

  • сложное прогнозирование;
  • распознавание речи;
  • распознавание образов.

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

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

Преимущества нейросети

1. Шум входных данных

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

2. Адаптация к изменениям

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

3. Отказоустойчивость

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

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

4. Быстрота работы

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

Недостатки нейронных сетей

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

1. Приблизительный ответ

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

2. Многошаговые решения

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

3. Вычислительные процессы

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

Виды искусственных нейронных сетей

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

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

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

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

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

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

Нейронные сети — использование в реальной жизни

Искусственные нейронные сети используют практически везде. Например, все вы знаете о Google картах с режимом Street View. Так вот, при просмотре улиц каждый из нас замечал замазанные лица людей и номера машин — все это выполнили нейронные сети. Также при наборе текста посредством голоса (распознавание речи) используются нейронные сети. На просторах интернета существует множество развлекательных проектов с применением нейронных сетей. Это и приложение MSQRD — наложение всевозможных масок на лицо в реальном времени, и Андроид-приложение Mlvch, которое обрабатывает картинки при помощи ИНС, и многое другое.

Более серьезное применение нейроных сетей можно увидеть в яндексовском приложении Авто.ру, которое распознает автомобили на снимках; CaptionBot от Майкрософт — нейросеть автоматически придумывает подпись к изображениям, исходя из содержания картинок; WhatDog — распознавание породы собак, изображенных на фотографиях и т.п.

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

Илон Маск рекомендует:  Что такое код var_dump

Нейросети — что такое ИНС?

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

Популярно о нейросетях, и почему из них не выйдет Искусственного Интеллекта

Знаковая победа в «го» алгоритма Google открыла дверь потоку восторженных публикаций о могуществе нейросетей.

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

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

-Чем отличается крыса от хомяка?
— У хомяка PR лучше!

1. Что такое нейросети, и чем они не являются

«Нейронные сети» — одно из многочисленных семейств компьютерных алгоритмов.
Ни больше, ни меньше.

Рабочая нейросеть не имеет сущностных отличий от любой другой компьютерной программы, будь то Тетрис, Microsoft Windows либо Counter-Strike.

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

В работе нейросетей нет ничего магического, невычислимого и непознаваемого.

Процесс «обучения» нейросети имеет общие черты с нашим, но лишь на уровне натаскивания автоматических реакций («набить руку»).

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

«Нейросети» отнюдь не являются современным изобретением.
Первая действующая нейросеть была построена еще в 1960 году («перцептрон Розенблатта»).

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

Пророчества о приходе «искусственного интеллекта» в обозримом будущем — товар весьма потрепанный еще с 1960-х (ровесники вот-вот грядущего термоядерного реактора).

Что, по правде, с того времени изменилось?

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

2. Что могут короли, а что — нейросети

Теоретическим пределом возможностей нейросетей является функционал мозжечка — фрагмента головного мозга homo sapiens, отвечающего за автоматические реакции.
Сознательные мыслительные процессы опираются на другие части мозга.

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

Согласно работам Роджера Пенроуза, знаменитая теорема Гёделя «о неполноте» приводит к невозможности реализации абстрактного мышления алгоритмическими средствами.

Способность оперировать абстрактными понятиями («мир идей» Платона) является неотъемлемым свойством настоящего интеллекта.

Возможно — его определением.

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

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

3. Полезное применение?

Медийно раздутая победа Alpha Go, нейросети Google, над человекообразным чемпионом чрезвычайно впечатлила ширнармассы.

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

В самом деле, какую реальную пользу (за вычетом медийного эффекта) несет умение Alpha Go побеждать любого игрока в эту древнюю народную китайскую игру?

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

С другой стороны, впечатленное шумихой правительство Южной Кореи заявило о вложении почти миллиарда долларов в «разработку ИИ».

Несомненно, для адресатов этих «инвестиций» достижение программистов Google имеет материально-приятные следствия более чем счетного характера.

Использовать универсальный (по высококвалифицированному мнению популярной прессы) алгоритм Alpha Go для практического применения не выйдет: любая нейросеть является крайне узко специализированным инструментом.

И в этом ее фундаментальное отличие от истинного интеллекта.

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

4. Как делают нейросети

Упрощенно говоря, создание нейросети состоит из трех этапов: программирование/настройка, «обучение», применение.

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

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

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

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

Суть «обучения» сводится к наработке большого массива данных, хранящего базу данных соответствий типа «Х на входе — Y на выходе».

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

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

5. И, наконец, о прибыли

Но. какое именно?

Если не считать таковым генерацию медийного эффекта для сбора «инвестиций в разработку ИИ».

Где простор для свершения технологической революции и грядущего явления технологический сингулярности?

Где магическая замочная скважина для золотого ключика Alpha Go?

Обратимся за подсказкой к авторитетному источнику, одноименной статье Википедии: «When compared with Deep Blue or with Watson, AlphaGo’s underlying algorithms are potentially more general-purpose, and may be evidence that the scientific community is making progress towards artificial general intelligence.».

Главное в цитате — «potentially» и «may be».

В переводе на язык бизнес-реализма слово это означает, что никто на самом деле не знает, что с этим Alpha Go делать. Иначе бы использовался более уверенный глагол.

Более того, «as noted by entrepreneur Guy Suter, AlphaGo itself only knows how to play Go, and doesn’t possess general purpose intelligence.» (Ibid).

6. Фундаментально ограниченная применимость

Ранее мы показывали, что в реальном бизнесе настоящий «искусственный интеллект» просто не нужен. Возможные исключения — entertainment и поддерживающие костыли для головного мозга homo (нейроинтерфейсы, поисковые алгоритмы, etc).

Фундаментальная красота мироустройства: невозможное — не нужно.
Сложно не заметить симметрию с физическим принципом «Возможно все, что явно не запрещено».

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

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

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

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

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

Зачем процессору нейроны, а смартфону нейросеть? Или нейрокомпьютер в Samsungе

Первая половина текста не моя, вторая моя, автор указан)

Компьютеры классические и нейронные идут близко, но всё-таки порознь. И мы, согласитесь, к такому разделению не просто привыкли, а и считаем естественным — ибо в первую очередь у них разные области применения. Классическая архитектура берёт на себя рутину механического перемалывания цифр, тогда как искусственные нейросети занимаются распознаванием образов в сравнительно редких пока особых случаях. Смычка, вероятно, когда-нибудь произойдёт, но когда и где она случится — кто способен предсказать?

Вот почему так интересно было наткнуться в новостях на упоминание именно такого примера. И не где-нибудь в лабораториях, а в чипе, который производится миллионными тиражами — конкретно, в микропроцессоре Samsung для смартфонов Galaxy S7 и Note 7. Сенсации там никакой нет, Samsung скорее всего даже не первая, кто на подобное решился, но это не делает менее волнующим ответ на вопрос: для чего обычному процессору нейроны?

Микропроцессор, о котором идёт речь, это восьмиядерная система-на-чипе (SoC) Exynos 8890. Там три стандартных ядра ARM Cortex-A53, одно графическое, а оставшиеся четыре как раз и представляют особый интерес: они тоже ARM-производные (ARM v8), но Samsung многое и сильно в них поменяла, потратив на это три года и фактически создав собственную микроархитектуру, названную Exynos M1. Это мобильная энергоэкономичная суперскалярная многоконвейерная архитектура, но не этим она уникальна. Уникальной среди собратьев её делает блок предсказания ветвлений, основанный на искусственной нейросети.

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

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

Но уже в 90-х всё стало иначе. Микропроцессоры наделили «конвейером», и не одним, и научили выполнять инструкции не по порядку. Я, конечно, сильно упрощу и скомкаю, но суть в следующем. Вместо того, чтобы дожидаться окончания выполнения текущей команды, процессор загружал в конвейер несколько следующих инструкций по ходу действия и выполнял их одновременно — ну или по крайней мере старался выполнить, если их работа не зависела от результатов предыдущих действий (здорово помогает разбивка CISC-команда на более мелкие RISC-составляющие, что на PC впервые было реализовано в Pentium Pro). Это суперскаляр: так за один машинный цикл (или даже такт) можно было выполнить несколько команд.

А по мере того, как конвейер удлинялся, стало необходимым научиться предполагать результат условных переходов. Такое исполнение назвали спекулятивным — в том смысле, что когда процессор натыкался на команду условного перехода, то «спекулировал», то есть предсказывал, нужно этот переход исполнять или нет, после чего загружал в конвейер инструкции из выбранной ветки и продолжал работу. Минус очевиден: если предсказание было сделано неверно, конвейер придётся загружать инструкциями заново. И это прямо выводит нас на задачу предсказания ветвлений.

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

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

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

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

Вот только примеров я, увы, дать не смогу. Даже в свежайшем и подробнейшем описании микроархитектур различных процессоров, детали нейронных блоков отсутствуют. Известно лишь, что их теперь применяет Samsung, что AMD поставила такой блок в Zen, что Intel подозревается в использовании нейронов в своих чипах. Но и только. Всё остальное — секрет! Из опыта (опять-таки больше теоретического) ясно, что большой проблемой должна стать или уже стала сравнительная медлительность нейроструктур по сравнению с грубо-механическими предсказателями — и ведётся поиск обходных путей; к счастью, по искусственным нейросетям вообще накоплен большой практический материал.

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

Конечно, нейронный предиктор ветвлений не применишь для решения повседневных задач. Это узкоспециализированная схематика, спрятанная у самого «сердца» чипа, чтобы минимизировать задержки. Но лиха беда начало: начнём с ветвлений, а там уже проглядывает и нейросопроцессор!

Автор — Евгений Золотов.

ISP (Image Signal Processor), который уже давно не просто отдельное ядрышко для обработки фотографий с каждым годом все сложнее и сложнее, в принципе большая часть алгоритмов именно предсказания и работы с большими массивами изменяющихся данных куда энергоффективнее рассчитывается с помощью нейросетей. Если раньше проблемы не основной функциональности решали добавлением дополнительных отделительных блоков процессоров или сопроцессоров, заточенных на решение конкретного типа задач, например воспроизведения музыки или отдельного сопроцессора управления датчиками (привет Apple M7), то сейчас эти и основные чипы все больше «умнеют», обзаводясь зачатками несамобучаемых нейросетей, заточенных под конкретную направленность. Как вы понимаете, чаще всего, чем быстрее процессор решает задачу, тем меньше он тратит на нее энергии, так, в первую очередь это именно ради энергоэффективности.

Постепенно мы придет к тому, что подавляющее большинство операций в смартфоне будет именно подобного характера, как свое время транзисторный бюджет начала отжирать графика от традиционного цпу, так в дальнейшем блоки нейропроцессора будут вытеснять основные числодробилки (ЦПУ+ГПУ). Просто — напросто потому, что сам принцип работы смартфона изменится, зачаток этого мы видим в Moto X и ok google (кстати, сам Гугл активно использует нейросети и даже нейрокомпьютеры в своих дата центрах), когда смартфон старается не просто предугадать действия пользователя, но и помочь ему их сделать максимально быстро и удобно.

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

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

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

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

В 1992 году программа «Пятое поколение компьютеров» была завершена и ее сме­нила международная программа «Вычисления в реальном мире» (RWC — Real World Computing). В первую очередь речь идет о том, чтобы дать вычислительным и управляющим системам возможность самостоятельно, без помощи «пере­водчика» — человека воспринимать воздействия внешнего мира и действовать в нем. Авторы программы огромную роль (до 30-40% ее содержания) отводят ис­следованию естественных и созданию искусственных нейросетевых систем.
Нейробионический подход к проблеме искусственного интеллекта основывается на использовании принципов работы мозга для конструирования интеллектуальных систем. Его привлекательность и перспективность обусловливаются тем, что на функциональном уровне нервная система обеспечивает недоступную (по крайней мере, на текущий момент) для технических устрой ств сп особность живых существ адаптироваться в реальном мире, а на «технологическом» уровне — уникальные возможности по быстродействию и надежности.
Имитация работы мозга на ЭВМ (традиционно-последовательной) затруднена принципиальными различиями между конструкциями мозга и ЭВМ. В частности, из-за того, что когда одно устройство моделирует другое, сильно от него отличающееся, процесс моделирования протекает очень медленно. На ЭВМ достаточ­но просто моделируются формально-логические элементы мышления, а модели­рование способности человека (и животных) адаптироваться в изменяющихся и слабо формализованных условиях реального мира сопряжено со значительными сложностями, несмотря на то, что уровень технологии в микроэлектронике позволяет превзойти по плотности упаковки вычислительных элементов и по эконо­мичности энергопотребления нервную ткань. Как раз именно эту возможность адаптироваться к постоянно изменяющимся внешним условиям и необходимо обеспечить системам, претендующим на «интеллектуальность».
В настоящее время сформировалось новое научно-практическое направление — создание нейрокомпьютера, представляющего собой ЭВМ нового поколения, качественно отличающуюся от предыдущих отсутствием заранее созданных алгоритмических программ и способностью к самоорганизации и обучению. Основу нейрокомпьютеров составляют нейронные сети — иерархически организованные параллельные соединения адаптивных элементов — нейронов, которые обеспечивают взаимодействие с объектами реального мира так же, как и биологи­ческая нервная система.
Основные отличия нейрокомпьютера от обычной ЭВМ:
параллельная работа большого числа простых вычислительных устройств обеспечивает огромное быстродействие;
нейронная сеть способна к обучению, которое осуществляется путем настройки параметров сети;
высокая отказоустойчивость и помехоустойчивость сети за счет того, что зна ния как бы «размыты» в ней и обрыв какой-то связи в общем случае не являет ся достаточным условием отказа, а устранение помех осуществляется за счет «скатывания» поступившего искаженного образа к ближайшему имеющемуся образцу с наименьшим энергетическим уровнем;
простое строение отдельных нейронов позволяет использовать новые физические принципы обработки информации для аппаратных реализаций нейросетей .

ПРИМЕЧАНИЕ
Нейрокомпьютеры создаются для решения определенного фиксированного круга задач. По-видимому, широкое распространение получат устройства, основанные на комбиниро­ ванных технологиях, включающие по мере необходимости те или иные нейропроцессорные устройства.

В настоящее время дальнейшее повышение производительности компьютеров связывают с системами, обладающими свойствами массового параллелизма. Одна из таких систем — нейрокомпьютер, основу которого составляет искусственная нейросетъ , реализованная аппаратно на электронных или оптических элементах. В отличие от микропроцессора, имеющего полный набор команд, каждый нейрон, из которых состоит нейросеть , представляет собой лишь простейший аналоговый преобразующий элемент. Однако коллективные свойства сети, содержащей мил лионы нейронов, уже не являются тривиальными. Искусственная нейросеть — принципиально параллельная структура, естественным образом реализующая принцип потока данных.
Термин «нейронные сети» сформировался в 40-х годах XX века в среде исследователей, изучавших принципы организации и функционирования биологических нейронных сетей. В настоящее время в области науки нейроинформатики разра ботан ряд моделей переработки информации, называемых искусственными ней­ронными сетями или просто нейронными сетями. Обычно под нейронными сетя­ми понимается набор элементарных нейроподобных преобразователей информа­ ции — нейронов, соединенных друг с другом каналами обмена информацией для их совместной работы.
Предметом исследования нейроинформатики является решение задач переработки информации с помощью нейросетей в различных предметных областях, особенно в плохо формализуемых, где существующие модели субъективны и неадекватны. Наиболее впечатляющие результаты использования нейросетей достигнуты при распознавании образов, при построении ассоциативной памяти, при создании самообучающихся экспертных систем, при решении оптимизационных задач боль шой размерности.
Нейроинформатика > находится в стадии интенсивного развития. Ежегодно про водится ряд международных конференций по нейросетям , число специализиро­ванных периодических изданий более 20. В России в настоящее время издается журнал «Нейрокомпьютер» (Министерство экономики). В 1999 г. в Красноярске состоялся VII Всероссийский семинар « Нейроинформатика и ее приложения».
К настоящему моменту предложено и изучено большое количество моделей нейро сетей . Однако основными являются только три принципиально различных типа сетей, большинство остальных распространенных нейросетей состоят из элемен­ тов, характерных для сетей трех основных типов:
сетей прямого распространения (многослойных персептронов);
полносвязных сетей Хопфилда ;
карт (решеток) Кохонена

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL