Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Нейросетевые технологии.

Нейросетевые технологии.

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

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

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

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

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

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

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

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

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

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

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

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


Лицензия