Всем привет. С вами блог «Data and Intelligence» - Блог обо всем, что связанно с Искусственным интеллектом и обработкой данных. Нейронные сети, алгоритмы, обработка и представление данных… Все это в этом блоге. Добро пожаловать. Сегодня мы начнем рассмотрение обширнейшей темы – нейронных сетей.
Видеоверсия:
Нейрокомпьютеры – вычислители нового класса, появление которых обусловлено объективными причинами, связанными с одной стороны с развитием технологии элементной базы, с другой стороны – требованиями все быстрее и дешевле решать все более сложные задачи.
Развитие нейронных ЭВМ началось еще в 50-е, с развитием пороговой логики. Это привело к появлению в 60-е и 70-е ряда экспериментальных нейронных ЭВМ.
Сам термин «Нейронные ЭВМ» или «Нейрокомпьютеры» никак не связан с нервной системой человека или животного. Он связан с наименованием порогового элемента с настраиваемыми или фиксированными весами, который и реализует простейшую передаточную функцию нейрона-клетки.
Скачек развития технологий и появление СБИС в начале 80-х позволил по-новому взглянуть на проблему нейронных ЭВМ. Это позволило реализовать не только множество элементов-нейронов, но и множество связей между ними, что ранее было невозможно.
Основной идеей создания нейронной ЭВМ является идея построения аналого-цифрового вычислителя, где быстрая аналоговая часть будет выполнять многомерные операции в пороговом базисе.
Алгоритмы настройки коэффициентов нейронных сетей реализуются либо в аналоговом виде, либо в виде отдельной цифровой схемы, эмулирующие нейронные алгоритмы.
Однородные нейронные сети обладают свойствами постепенной деградации – при выходе из строя элементов нейронной сети, функция их распределяется по всей системе, при этом работоспособность всей системы не нарушается. Ухудшаются лишь некоторые ее характеристики.
Реализуются нейронные ЭВМ следующими способами: 1. Программная симуляция нейронных алгоритмов на стандартных вычислительных средствах, ПК или микроконтроллерах. 2. Программно-аппаратная эмуляция на цифровой элементной базе. 3. Аппаратная реализация на элементной базе, характерной для нейронных алгоритмов.
С точки зрения Архитектуры, нейронные ЭВМ являются мелкозернистыми, эволюционным развитием систем МКМД (много потоков команд много потоков данных) и МОКМД (множественный вариант ОКМД – один поток команд много потоков данных).
Причиной появления и развития нейронных ЭВМ стали в первую очередь не формализуемые и трудно формализуемые задачи. Это задачи, в которых в алгоритме решения присутствуют параметры, заданные неявно, или алгоритм не является единственным и трудно оценить качество решения задачи.
При построении нейронной ЭВМ решаются следующие задачи: 1. Разработка структуры сети и методы ее реализации, адекватные решаемой задаче. 2. Разработка алгоритма настройки нейронной сети.
Структура однородной сети выбирается по следующим причинам: 1. Возможно массовое параллельное выполнение большого числа операций. 2. Реализует достаточно сложное и гибкое преобразование входного пространства в выходное. 3. Допускает аналитическое описание преобразования. 4. Позволяет организовать контролируемый процесс настройки.
Способы настройки весовых коэффициентов нейронных сетей классифицируются следующим образом: 1. Технологические на этапе производства. 2. Схемотехнические на этапе до начала эксплуатации. 3. Системотехнические – в процессе работы.
Но что такое нейронная сеть? Нейронная сеть — это высоко параллельная динамическая система с топологией направленного графа, которая может получить выходную информацию, посредством реакции ее состояния на входные воздействия.
Принципиальным моментом появления нейрокомпьютеров является отказ от булевского логического базиса в пользу пороговой логики. Работы по пороговой логике известны еще с 60-х годов, там предлагалось использовать для построения отдельных блоков и узлов ЭВМ нейроны. Осуществлялось при этом следующее преобразование входных сигналов в выходные.
Это простейшая передаточная функция нейрона. Здесь y – значение на выходе нейрона, ai – весовые коэффициенты, а xi – значение на входе нейрона. Значение весового коэффициента a0, при котором входное значение всегда равно 1, называют смещением, или порогом.
Передаточная функция может принимать совершенно разнообразные формы, но мы пока рассмотрим пороговые. Как правило пороговые функции используют одной из 2 форм: 0 или1 на выходе, или -1 / 1 на выходе.
Если мы говорим о замещении нейроном булевой логики, то должны представить и преимущества нейронов перед логическими функциями И, ИЛИ, НЕ.
Во-первых, нейрон реализует более сложные функции, что позволяет реализовать требуемую функцию меньшим количеством элементов. Отсюда сокращение объема некоторых узлов, при построении их не нейронах.
Во-вторых, сети из нейронов имеют повышенную устойчивость к выходу из строя отдельных элементов сети. Функции вышедших из строя нейронов просто перераспределяются между оставшимися с некоторой потерей качества.
В-третьих, нейронные сети более устойчивы к технологическому разбросу параметров элементов, из которых состоят нейроны и сеть. К примеру, если у нейрона, реализующего логическую функцию, изменится порог или весовой коэффициент, это не приведет к ошибке реализации.
В-четвертых, возможно формальное описание нейронных сетей, что дает возможность синтезировать структуру сети по заданным параметрам.
Ну, для начала хватит, в следующий раз будем разбираться с иными активационными функциями, и возможно, немного затронем структуру нейронных сетей. Если вам интересна эта тема – ставьте лайк, напишите в комментарии свое мнение, это блог «Data and Intelligence» - всем пока.