Тема Интеллектуальные технологии и системы Вопросы темы
Скачать 1.92 Mb.
|
Вопрос 3. Принципы функционирования нейрона. С точки зрения биологии нейрон – это клетка, которая может воспринимать, преобразовывать и распространять сигналы (рис. 83). Если рассматривать структуру нейрона, то можно выделить тело клетки, дендриты и аксоны. Дендриты и аксон представляют собой нервные отростки. Они необходимы для того, чтобы посредством них нейрон мог передавать электрические сигналы другим нейронам и получать сигналы от них. У нейрона есть один аксон, однако дендритов у него может быть очень много. Их численность порой достигает десяти тысяч. Именно благодаря дендритам нейрон получает электрические сигналы, проходящие по нервным волокнам, от других дендритов. Процесс очень похож на передачу электрических сигналов по обычным проводам. 14 Чтобы аксон начал сам вырабатывать электрические сигналы и передавать их в аксон, он должен перейти в активное состояние. Для этого нейрон должен поучить интенсивные сигналы в большом количестве. Если посмотреть на структуру аксона, то можно заметить, что на своем конце он разветвляется на множество нервных волокон. Именно эти волокна соединяются с дендритами других нейронов. Там, где нервные волокна соединяются с дендритами, образуются синапсы. Рис. 83. Биологический нейрон Синаптическое окончание не касается активируемого им нейрона. Между синаптическим окончанием и телом или дендритом воспринимающей клетки существует небольшой промежуток. Такое сопряжение называется синапсом, а сам промежуток называется синаптической щелью. Когда нервный импульс, проходя по аксону, достигает синаптического окончания, он запускает выделение химического вещества, называемого нейромедиатором (или просто медиатором). Медиатор проникает через синаптическую щель и стимулирует следующий нейрон, передавая тем самым сигнал от одного нейрона к другому. Аксоны от очень многих нейронов синаптически контактируют с дендритами и телом клетки отдельного нейрона (рис. 84). 15 Рис. 84. Передача сигнала между биологическими нейронами Терминаль аксона – это концевая ветвь аксона. Пресинаптический нейрон – это нейрон, передающий импульс. Постсинаптический нейрон – это нейрон, принимающий импульс. Нейромедиатор – это химическое вещество, активирующее рецепторы постсинаптического нейрона. Передает электрохимический сигнал в нейронной сети. Процесс того, как человеческий мозг запоминает информацию и как ее обрабатывает, до сих пор до конца не изучен. Есть гипотеза, что мозг ребенка содержат практически столько же нейронов, сколько их есть в мозге взрослого человека. Отличие состоит в силах межнейронных синаптических связей. Исходя из этого, предположили, что мозг людей различается величинами сил межнейронных синаптических связей. Исходя из этого предположения, выдвинули гипотезу, в соответствии с которой все, что хранится в человеческом мозге (будь то эмоции, информация, знания, мысли), кодируется в виде огромного количества чисел. Эти числа характеризуют силы межнейронных синаптических связей. 16 Можно считать, что при прохождении синапса сила импульса меняется в определенное число раз, которое называется весом синапса. Импульсы, поступившие к нейрону одновременно по нескольким дендритам, суммируются. Если суммарный импульс превышает некоторый порог, нейрон возбуждается, формирует собственный импульс и передает его далее по аксону. Вес синапса не статичен, он способен меняться с течением времени. Следовательно, будет меняться поведение соответствующего нейрона. Проходя через синапс, сигналы способны настраивать результативность синапса. И если активность процессов, в которых участвуют синапсы, высока, то синапсы могут обучаться. Совокупность нейронов, которые связаны или функционально объединены в нервной системе и выполняют специфические физиологические функции, называют нейронной сетью. Биологический нейрон является очень сложной системой. Нейрон не только должен выполнять свою основную работу и обрабатывать сигналы. Один только этот процесс весьма сложен и связан с протекающими биологическими и химическими реакциями. Однако нейрон должен еще выполнять функции, связанные с поддержанием его жизни. С течением времени ученые решили воссоздать механизм работы нейрона и в результате начались работы по созданию искусственных интеллектуальных устройств «по образу и подобию» человеческого мозга. Создавая искусственный нейрон, абстрагировались от вопросов его жизнедеятельности. Убрали из рассмотрения все, что с этим связно: ядро, мембраны, рибосомы и многое другое. Так как искусственный нейрон будет запрограммирован, то погибнуть он не сможет. В итоге была создана структура, которая была способна принимать сигнал, преобразовывать его по образу того, как это происходит у настоящих нейронов, и передавать другим нейронам, которые должны делать тоже самое. Такую гипотетическую структуру и называют искусственным нейроном. Рассмотрим внутреннюю структуру искусственного нейрона, а также механизмы преобразования поступающих на нейронные входы сигналов (рис. 85). 17 Рис. 85. Структура искусственного нейрона У каждого искусственного нейрона есть входы, с помощью которых он способен принимать сигналы. Кроме того, существуют определенные веса. Они показывают, насколько входящий сигнал должен быть усилен или, наоборот, он должен быть заглушен. На рис. 84 веса изображены кружками. Поступивший во вход искусственный нейрон сигнал умножается на соответствующее значение веса. Например, на первый вход поступил сигнал x 1 . Ему соответствует вес w 1. В результате умножения получится значение сигнала равное x 1 *w 1. Аналогичные действия выполняются для всех сигналов, поступающих на входы искусственного нейрона. Таким образом, на самом последнем входе получится значение сигнала равное x n *w n Все полученные таким образом значения должны быть переданы в сумматор. Он выполняет операцию сложения полученных взвешенных значений сигналов и в итоге будет получено одно единственное число – взвешенная сумма. Она будет соответствовать степени общей активации нейрона. Если бы мы передали итоговое значение на выход нейрона, то это было бы бессмысленное действие. Это обычное число, которое можно посчитать на калькуляторе. От искусственного нейрона нам важно получить определенную реакцию. Для того, чтобы выдать реакцию, искусственный нейрон должен быть способен обработать полученное число и передать на выход соответствующий сигнал. Поэтому необходима определенная функция активации искусственного нейрона. Данная функция отвечает за преобразование взвешенной суммы в некоторое число. Именно это число будет передано на выход нейрона. Для обозначения данного числа используется переменная «out». 18 Функции активации могут использоваться самые разные. Обозначить функцию активации можно следующим образом: ϕ(net). В данном случае переменная «net» обозначает взвешенный сигнал. А запись ϕ(net) говорит о том, что функция активации приняла взвешенную сумму в качестве параметра (аргумента). Значение ϕ(net) будет выходом нейрона: out=ϕ(net) Рассмотрим пример (рис. 85). Допустим, есть один искусственный нейрон. Ему надо решить, ехать ли на экскурсию по Золотому кольцу. Для решения данной задачи на входы искусственного нейрона будут переданы данные. Предположим, что в данном примере у искусственного нейрона есть четыре входа. Обозначим их следующим образом: 1. сумма, которая будет потрачена на оплату поездки; 2. прогноз погоды на время поездки; 3. текущая обстановка с работой; 4. будет ли экскурсовод. Пусть каждый из этих параметров принимает значения 0 или 1. Тогда на вход нейрона будут передаваться следующие значения: 1. сумма, которая будет потрачена на оплату поездки, соответствует имеющемуся бюджету. На вход передается 1; 2. по прогнозам во время поездки ожидается дождик. На вход передается 0; 3. на работе получен отпуск. На вход передается 0; 4. экскурсовод будет. На вход перелается 1. Учитывая, что у рассматриваемого нейрона есть четыре входа, то должно быть и четыре весовых коэффициента. Весовые коэффициенты будут задавать степень важности каждого показателя, получаемого на входе, а также будут влиять на итоговое решение искусственного нейрона по поставленному вопросу (рис. 86). 19 Рис. 86. Пример работы искусственного нейрона Как видно на рисунке, большую роль играют факторы стоимости поездки и погоды (это первый и второй вход). Поэтому именно они будут оказывать основное влияние на принимаемое искусственным нейроном решение. Пусть на входы нашего нейрона мы подаем следующие сигналы: 1. 1; 2. 0; 3. 0; 4. 1. Теперь нужно умножить полученные значения на соответствующие им весовые коэффициенты. В итоге получим следующие значения: 1. 5; 2. 0; 3. 0; 4. 1. Рассчитаем взвешенную сумму, просуммировав все четыре, полученные значения. В итоге получим значение, равное шести. Это будет взвешенной суммой. Теперь нужно преобразовать взвешенную сумму и получить ответ. Нужна функция активации. Самый простой вид функции активации – это функция единичного скачка. 20 При использовании этой функции на выходе искусственного нейрона может оказаться одно значение из двух возможных – это либо ноль, либо единица. Должно быть задано определенное число, которое будет являться пороговым значением. Например, если итоговая взвешенная сумма будет больше или равна значению указанного порога, то выход искусственного нейрона будет равен единице. Если же меньше, то выход искусственного нейрона будет равен нулю. Обозначим пороговое значение символом b. Допустим, мы решили, что готовы ехать на экскурсию по Золотому кольцу только в том случае, если итоговая взвешенная сумма, выданная сумматором, будет больше или равна пяти. В нашем примере цифра 5 будет выступать в роли порогового значения. Зафиксируем это: b=5 В рассматриваемом нами примере, мы получили итоговую взвешенную сумму, равную 6. Теперь сравним полученное значение с пороговым. Оно окажется больше и в связи с этим на выход искусственного нейрона будет передано значение «единица». Следовательно, искусственный нейрон посоветует ехать на экскурсию по Золотому кольцу. Предположим, что погода в районах, по которым будет проходить маршрут, была бы дождливой и холодной, а стоимость поездки оказалась бы очень высокой, но при этом был бы экскурсовод и мы были бы в отпуске, то на вход искусственного нейрона передавались сигналы: 0011). В данном случае итоговая взвешенная сумма, полученная сумматором, была бы равна 2, и на выход нейрона был бы передан ноль. Следовательно, искусственный нейрон посоветовал на экскурсию не ехать. Функция скачка приемлема в том случае, когда нужно решить задачу жесткого выбора – либо да, либо нет. Например, свой или чужой. Если же интересует прогноз, например котировок валют или погоды, то целесообразнее в качестве функции активации использовать нелинейные функции, которые не выдают ответы «да» или «нет», а показывают, с какой долей нейрон считает верным то или иное решение. Нейронные сети не способны давать точные и однозначные ответы. Вопрос 4. Нейронные сети: виды и обучение. Первой теоретической работой, в которой рассматривались вопросы создания интеллектуальных устройств, способных моделировать процессы функционирования человеческого мозга на структурном уровне, по мнению ученых, считается статья Уоррена Мак- Каллока и Вальтера Питтса «Идеи логических вычислений в нервной деятельности». Работа увидела свет в 1943 г. Эти ученые описали математическую модель нейрона мозга человека и назвали ее «математический нейрон». 21 Ученые считали, что можно связать математические нейроны между собой проводами. Эти провода будут имитировать нервные волокна мозга. И если пустить по проводам электрические сигналы, как это происходит в мозге, то получится искусственный мозг, который сможет решать интеллектуальные задачи точно так же (или почти точно так же), как это происходит в мозге живого человека. Эта идея спустя 15 лет была подтверждена американским ученым Фрэнком Розенблаттом, который разработал схему устройства, позволяющего моделировать процесс человеческого восприятия. Это устройство получило название «персептрон» («перцептрон»). Под персептроном понималась математическая или компьютерная модель восприятия информации мозгом. В конце 1950-х гг. Розенблатт предложил модель электронного устройства, которое должно было имитировать процессы человеческого мышления. Персептрон должен был передавать сигналы от «электронного глаза», составленного из фотоэлементов, в блоки электромеханических ячеек памяти, которые оценивали относительную величину электрических сигналов. Эти ячейки соединялись между собой случайным образом в соответствии с основными подходами в области искусственного интеллекта. Рис. 87. Логическая схема персептрона с тремя выходами Через несколько лет с момента исследований Розенблатта была продемонстрирована первая действующая машина «Марк-1», которая могла научиться распознавать некоторые из букв, написанных на карточках, которые подносили к его «глазам», напоминающим кинокамеры. 22 Однако возможности персептрона были ограниченными: машина не могла надежно распознавать частично закрытые буквы, а также буквы иного размера или рисунка, чем те, которые были задействованы на этапе ее обучения. Дальнейшее развитие идеи персептрона и алгоритмов обучения было связано с усложнением его структуры и функциональных свойств. Искусственные нейронные сети можно представить в виде совокупности искусственных нейронов. Практически во всех нейронных сетях есть входной слой. Задача данного слоя заключается в распределении входных сигналов между остальными нейронами (здесь и далее мы будем говорить об искусственных нейронах). Нейроны входного слоя вычисления не осуществляют. Нейронные сети могут быть однослойными и многослойными. Пример работы однослойной сети мы рассматривали в третьем вопросе данной темы. Технология работы однослойной нейронной сети заключается в получении сигналов от входного слоя, проведении вычислений и передачи результатов этих вычислений на выходы нейронной сети. На рис. 88 вы видите схему, на которой входной слой обозначен кружками. Входной слой не принадлежит нейронной сети и не считается ее слоем. Справа от входного слоя располагается слой нейронов. Между нейронами есть определенные связи, которые отображены линиями со стрелками. Над каждой стрелкой показан весовой коэффициент, соответствующий весу данной связи. Сигналы от входного слоя передаются на слой нейронов, которые преобразуют полученные сигналы и отправляют ответы на выходы. Многослойные нейронные сети устроены несколько сложнее, однослойных. В их структуру включены так называемые скрытые слои, расположенные между входным и выходным слоями (рис. 89). Рис. 88. Однослойная нейронная сеть 23 Многослойные нейронные сети в большей степени соответствуют сложной и такой же многослойной структуре отделов мозга человека. Соответственно возможности многослойные нейронных сетей значительно превышают возможности однослойных. Рис. 89. Многослойная нейронная сеть Технология работы скрытых слоев нейронов очень похожа на работу производственного предприятия, которое изготавливает определенное изделие, состоящее из множества сборочных единиц. И прежде чем будет готово конечное изделие, оно пройдет несколько этапов. Проходя этап за этапом, изделие получает определенный результат (промежуточный). У скрытых слоев нейронной сети схожий механизм работы. Они получают входные сигналы и отвечают за их преобразование в промежуточные результаты. Если внимательно посмотрим на рис. 88 и рис. 89, то заметим, что линии со стрелками идут только слева направо и получается, что сигнал может распространяться только от входного слоя к выходному, а в обратном направлении сигнал идти не может. Такие схемы называются сетями прямого распространения (рис. 90). Такой вид нейронных сетей нашел свое широкое применения при решении задач, связанных с распознаванием, прогнозированием и разбиением исходного множества на группы. 24 Рис. 90. Сети прямого распространения Есть категория нейронных сетей, в которых допускается передача сигналов, как в прямом, так и в обратном направлении. Такие сети называются сети с обратными связями. В этих сетях значения, полученные на выходах нейрона, могут передаваться обратно на его входы. В связи с этим получается, что на выход нейрона влияют: входной согнал, его вес и предыдущий выход, который был передан опять на вход. Благодаря такой технологии функционирования нейронной сети создают нейросети, которые могут восстанавливать или дополнять сигналы. Считается, что сети с обратными связями обладают возможностями кратковременной памяти, которая свойственна человеку. Преимущества использования сетей с обратными связями заключаются в большей гибкости прогноза, подстройки сети под изменяющуюся внешнюю среду, способности качественно прогнозировать временные ряды (рис. 91). Сверточная нейронная сеть – это еще один вид нейронной сети, сильно отличающийся от остальных (рис. 91). Этот вид нейронной сети в основном используется для работы с графической и аудиоинформацией. Эта архитектура обрабатывает данные не целиком, а фрагментами, но при этом данные не дробятся на части, а осуществляется своего рода последовательный прогон. 25 Например, если рассматривать персептрон как полносвязную нейронную сеть, то мы увидим, что в такой сети каждый нейрон связан с нейронами предыдущего слоя и у такой связи есть свой персональный вес. И это является существенным отличием от сверточной нейронной сети, в которой есть операции свертки, использующие небольшие по размеру ограниченные матрицы весов. Такую матрицу называют |