Нейронные сети, как способ обработки данных
Цель лекции: Ознакомление с нейронными сетями. В каких случаях целесообразно использовать нейросети. Понятие однослойной сети. Рассмотреть пример применения нейронной сети для обработки данных.
Начало современным моделям нейронных сетей (НС) было положено в работе У. Маккаллока и У. Питтса [5]. Эти авторы сделали первую попытку эмулировать человеческие способности, классифицировать и распознавать образы. Дальнейшее развитие связано с работой Ф. Розенблатта [8]. Его модель была названа перцептроном. После некоторого затишья, с начала 1980-х годов начался и продолжается до настоящего времени новый виток развития моделей НС. Он связан с работами С. Гроссберга, Т. Кохонена, Д. Хопфилда и др. [6,7,10].
Использование принципа нейросети обязательно там, где мы получаем первичную информацию для последующих выводов: органами зрения, слуха, обоняния, осязания. На этом же уровне мы способны провести первичную классификацию и принять оперативное решение: убежать от стремительно приближающегося автомобиля, надеть противогаз и т.д.
Значит, в нашей жизнедеятельности, требующей разнообразного проявления, существует такая ниша, где решение должно быть сверхоперативным, скорее - рефлекторным, не допускающим анализа. Этому способствует высокий параллелизм сети. Именно высокий параллелизм, наряду с исключением сложных расчетов, обусловил взрыв интереса к системам искусственного интеллекта в начале 1980-х годов, когда остро встала задача разработки вычислительных средств сверхвысокой производительности [10].
Важный вопрос современной науки - актуальность аппаратной реализации нейросети или нейрокомпьютеров, т.к. программная модель на непараллельном компьютере лишена свойства высокого параллелизма мозга и ограничивает выход на "большие" нейросети.
Этот параллелизм выражается в том, что одновременно обрабатывается большое число цепочек нейронов. При этом каждый нейрон обрабатывается хотя и по одному алгоритму, но - по разным его ветвям: один, в конце концов, возбудится, другой нет; связи нейрона индивидуальны и изменяются не идентично связям других нейронов и т.д.
Ставя задачу разработки параллельного вычислительного устройства - нейрокомпьютера, способного имитировать работу нейросети с учетом ее достоинств по реализации высокой производительности, следует учесть, что:
- необходимо распределять нейроны (точнее, нейроподобные элементы или соответствующие им программные процедуры) между процессорами нейрокомпьютера. Т.е. необходимо реализовать способ распараллеливания по информации;
- одинаковые на всех процессорах программы одновременно обрабатываемых нейронов в общем случае должны выполняться по разным ветвям.
При программной реализации нейросети перечисленные требования соответствуют SPMD-технологии ("одна программа - много потоков данных") [21], привлекательность которой обоснована для многих приложений параллельного решения задач высокой сложности.
При аппаратной реализации нейрокомпьютеров (НК) (или его аппаратной поддержке) также необходимо учесть следующее требование: один нейроподобный элемент должен делить время между имитацией многих нейронов. Жесткая аппаратная имитация нейросети, соответствующая связи "один нейроподобный элемент - один нейрон", неэффективна, т.к. ограничивает возможную размерность моделируемой сети.
Учитывая специализацию нейрокомпьютера при применении сетевых технологий в рамках построения более сложных управляющих систем, целесообразно, чтобы НК использовался как сопроцессор под управлением мощного и универсального компьютера-монитора. В рамках сегодняшних компьютерных технологий НК должен дополнять персональный компьютер как его внешнее устройство и "врезаться" в существующую основную сеть.
Искусственный нейрон основа нейрокомпьютерной сети
В литературе [12,21,22] искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона.
На рисунке 10.1 представлена модель, реализующая эту идею. Множество входных сигналов, обозначенных , поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором
, соответствуют сигналам, приходящим в синапсы биологического нейрона.
Каждый сигнал умножается на соответствующий вес , и поступает на суммирующий блок, обозначенный
. Каждый вес соответствует "силе" одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором
.) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть
. В векторных обозначениях это может быть компактно записано следующим образом:
![NET = XW](/sites/default/files/tex_cache/85093e39e2e1715d24eb2f94ce52e9ac.png)
Сигнал далее, как правило, преобразуется активационной функцией
и дает выходной нейронный сигнал
. Активационная функция может быть обычной линейной функцией
![OUT = F(NET),](/sites/default/files/tex_cache/cc3450b1cfa9b833cc9ef0c921f30cc3.png)
![F](/sites/default/files/tex_cache/800618943025315f869e4e1f09471012.png)
![]() |
( 10.1) |
![T](/sites/default/files/tex_cache/b9ece18c950afbfa6b0fdbfa4ff731d3.png)
На рисунке 10.2 блок, обозначенный , принимает сигнал
и выдает сигнал
. Если блок
сужает диапазон изменения величины
так, что при любых значениях
значения
принадлежат не которому конечному интервалу, то
называется "сжимающей" функцией. В качестве "сжимающей" функции часто используется логистическая или "сигмоидальная" (S-образная) функция ( см. Рисунок 10.2 ). Эта функция математически выражается как
![]() |
( 10.2) |
![]() |
( 10.3) |
По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины к вызвавшему его небольшому приращению величины
. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным.
С. Гроссберг (1973) [22] обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы, в свою очередь, также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.
![]() |
( 10.4) |
Другой широко используемой активационной функцией является гиперболический тангенс. По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клетки. В качестве активационной функции искусственной нейронной сети она записывается следующим образом:
![]() |
( 10.5) |
Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке значение выходного сигнала
(см. Рисунок 10.3). В отличие от логистической функции, гиперболический тангенс принимает значения различных знаков, и это его свойство применяется для целого ряда сетей.
Рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы. Входные сигналы сразу же порождают выходной сигнал. В этой модели не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими в нервной деятельности естественного мозга.
Несмотря на эти ограничения, сети, построенные из таких нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Только время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или же это следствие моделирования при котором верно отражены важнейшие черты биологического нейрона.