Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Элементы искусственного интеллекта в системах управления для аспирантов.doc
Скачиваний:
48
Добавлен:
04.02.2021
Размер:
6.2 Mб
Скачать
    1. Ответ инс всегда приблизительный

Начнем с человеческого мозга.

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

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

Вы этого не замечаете, но на самом деле Вы строите что-то типа таблички вероятностей у себя в голове и говорите, что, скорее всего (бессознательно выбрали наиболее вероятный результат), во 2 прямоугольнике написано «но». В случае же первого прямоугольника Вы говорите, что, непонятно, что там (вероятности почти равны), но, мне кажется (выбираете случайным образом), что там написана буква «о».

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

Нейронные сети не способны давать точные и однозначные ответы.

    1. Невозможно многошаговое принятие решений

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

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

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

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

У искусственной нейросети никакой помощи нет.

Нейронные сети не могут решать задачу по шагам.

    1. Неспособность решать вычислительные задачи

Этот недостаток искусственных нейронных сетей в какой-то степени является следствием двух предыдущих недостатков.

Как заставить сеть провести эти преобразования, изображенные на картинке ниже?

Первая проблема – очередность. Надо каким-то образом, используя только входы сети, указать ей, какая часть выражения находится под корнем, а какая часть находится слева от знака равенства. Да и как передать сам знак равенства?

Предположим, что Вы каким-то образом смогли доставить эти данные в сеть

Вторая проблема – последовательные шаги. Уже описанный выше недостаток.

И третье – невозможность выдачи точных результатов. Это можно представить себе следующим образом.

  • Вы учите нейросеть:

  • 2 + 3 = ?

  • = 983

  • – Неправильно! = 5.

  • 2 + 3 = ?

  • = 5

  • – Правильно!

  • 2 + 4 = ?

  • = 5

  • – Неправильно! = 6.

  • 2 + 4 = ?

  • = 5.5

  • И так будет происходить всегда.

Нейронные сети не способны решать вычислительные задачи.

Получение модели искусственного нейрона

Биологическая структура → схема

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

Есть несколько способов графического изображения нейронных сетей и нейронов. Здесь мы будем изображать искусственные нейроны в виде кружков.

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

Таким образом, искусственная нейронная сеть может быть представлена в виде совокупности кружков (искусственных нейронов), связанных стрелками.

Электрические сигналы → числа

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

Величина этого электрического сигнала изменяется (сильнее/слабее). А любую величину всегда можно выразить числом (больше/меньше).

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

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

Для удобства все равно будем называть наши числа, циркулирующие в сети, сигналами.

Синапсы → веса связей

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

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

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

Входы, веса и сумматор

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

Взвешенная сумма (Weighted sum) (net) – сумма входных сигналов, умноженных на соответствующие им веса.

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

Функция активации

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

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

Для разных типов искусственных нейронов используют самые разные функции активации.

Функция активации (Activation function) ɸ(net) – функция, принимающая взвешенную сумму как аргумент. Значение этой функции и является выходом нейрона (out):

Пример

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

  1. Стоимость поездки

  2. Какая на море погода

  3. Текущая обстановка с работой

  4. Будет ли на пляже закусочная

Все эти параметры будем характеризовать 0 или 1. Соответственно, если погода на море хорошая, то на этот вход подаем 1. И так со всеми остальными параметрами.

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

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

Пусть на входы нашего нейрона мы подаем следующие сигналы: 1, 0, 0, 1

Умножаем веса входов на сигналы соответствующих входов: 5, 0, 0, 1

Взвешенная сумма для такого набора входных сигналов равна 6:

Что делать дальше? Как нейрон должен решить, ехать на море или нет? Очевидно, нужно как-то преобразовать взвешенную сумму и получить ответ.

Вот здесь и появляется функция активации.

Виды функций активации