
Полная версия:
Основные понятия систем искусственного иттеллекта
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения— одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными и выходными данными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумлённых», частично искажённых данных.
Компоненты нейросети:
1. Нейроны. Аналогичные нервным клеткам в мозге, они первыми обрабатывают данные и передают информацию дальше.
2.Весовые коэффициенты. Эти параметры определяют, какое значение придается каждому входному сигналу.
3.Слои. Каждая нейросеть состоит из трех основных типов слоев.
Входной слой- – отвечает за получение исходных данных, таких как изображения, текст или числовые значения. Картинка раскладывается на пиксели, каждый из которых поступает на отдельный нейрон.
Скрытые слои– выполняют основную работу по обработке информации. В этих слоях происходит множество вычислений, которые трансформируют входные данные и создают более сложные представления. Чем больше скрытых слоев, тем сложнее задачи может решать нейросеть.
Выходной слой— предоставляет конечный результат. Например, это может быть классификация изображения (что изображено на фото) или предсказание (какие тренды ожидаются в будущем).
Эти слои соединены между собой, создавая сложную сеть связей. Каждый нейрон скрытого слоя связан с несколькими нейронами предыдущего и следующего слоев, что позволяет им обрабатывать информацию на различных уровнях абстракции.
Также есть нейрон смещения и контекстный нейрон. Нейрон смещения или bias нейрон используется в большинстве нейросетей. Особенность этого типа нейронов заключается в том, что его вход и выход всегда равняются 1 и они никогда не имеют входных синапсов. Нейроны смещения могут, либо присутствовать в нейронной сети по одному на слое, либо полностью отсутствовать, 50/50 быть не может. Соединения у нейронов смещения такие же, как у обычных нейронов – со всеми нейронами следующего уровня, за исключением того, что синапсов между двумя bias нейронами быть не может. Следовательно, их можно размещать на входном слое и всех скрытых слоях, но никак не на выходном слое, так как им попросту не с чем будет формировать связь.
Нейрон смещения нужен для того, чтобы иметь возможность получать выходной результат, путем сдвига графика функции активации вправо или влево.
Синапс-это связь между двумя нейронами. У синапсов есть 1 параметр – вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему, тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне (пример – смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов – это своеобразный мозг всей системы. Именно благодаря этим весам, входная информация обрабатывается и превращается в результат. Важно помнить, что во время инициализации нейронной сети, веса расставляются в случайном порядке.
Теперь, чтобы понять, как же работают нейронные сети, давайте взглянем на ее составляющие, рис.6.1. и их параметры. Нейрон – это вычислительная единица, которая получает информацию, производит над ней простые вычисления и передает ее дальше.

Рис.6.1. Схема передачи информации
Рассмотрим пример, рис. 6.2, где изображена часть нейронной сети, и буквами I обозначены входные нейроны, буквой H – скрытый нейрон, а буквой w – веса.

Рис.6.2. Часть нейронной сети
Из формулы видно, что входная информация – это сумма всех входных данных, умноженных на соответствующие им веса. Тогда дадим на вход 1 и 0. Пусть w1=0.4 и w2 = 0.7 Входные данные нейрона Н1 будут следующими: 1*0.4+0*0.7=0.4.
Теперь, когда у нас есть входные данные, мы можем получить выходные данные, подставив входное значение в функцию активации (подробнее о ней далее). Затем, когда у нас есть выходные данные, мы передаем их дальше. И так, мы повторяем для всех слоев, пока не дойдем до выходного нейрона. Запустив такую сеть, в первый раз мы увидим, что ответ далек от правильного, потому что сеть не натренирована. Чтобы улучшить результаты мы будем ее тренировать. Но прежде, чем узнать, как это делать, давайте введем несколько терминов и свойств нейронной сети.
Модель внутренней структуры искусственного нейрона представлена на рис.6.3.

Рис. 6.3. Модель внутренней структуры искусственного нейрона
У каждого нейрона, в том числе и у искусственного, должны быть какие-то входы, через которые он принимает сигнал. Поступившие на входы сигналы умножаются на свои веса. Сигнал первого входа x1 умножается на соответствующий этому входу вес w1. В итоге получаем x1w1. И так до n-ого входа. В итоге на последнем входе получаем xnwn.
Теперь все произведения передаются в сумматор. Он просто суммирует все входные сигналы, умноженные на соответствующие веса:
x1w1+x2w2+⋯+xnwn=∑i=1nxiwi
Когда необходимо коротко записать большое выражение, состоящее из суммы повторяющихся/однотипных членов, то используют знак сигмы.
Рассмотрим простейший вариант записи:
∑i=15i=1+2+3+4+5
Таким образом снизу сигмы мы присваиваем переменной-счетчику I стартовое значение, которое будет увеличиваться, пока не дойдет до верхней границы (в примере выше это 5).
Верхняя граница может быть и переменной. Приведу пример такого случая.
Пусть у нас есть n магазинов. У каждого магазина есть свой номер: от 1 до n. Каждый магазин приносит прибыль. Возьмем какой-то (неважно, какой) I -ый магазин. Прибыль от него равна pi. Если мы хотим посчитать общую прибыль от всех магазинов (обозначим ее за P), то нам пришлось бы писать длинную сумму:
P=p1+p2+⋯+pi+⋯+pn
Как видно, все члены этой суммы однотипны. Тогда их можно коротко записать следующим образом:
P=∑i=1npi
Словами: «Просуммируй прибыли всех магазинов, начиная с первого и заканчивая n-ым». В виде формулы это гораздо проще, удобнее и красивее.
Результатом работы сумматора является число, называемое взвешенной суммой. Взвешенная сумма (net) – сумма входных сигналов, умноженных на соответствующие им веса.
net=∑i=1nxiwi
Роль сумматора очевидна– он агрегирует все входные сигналы (которых может быть много) в какое-то одно число – взвешенную сумму, которая характеризует поступивший на нейрон сигнал в целом.
Для понимания роли последнего компонента искусственного нейрона –функции активации –рассмотрим следующий пример. У одного искусственного нейрона задача– решить, ехать ли отдыхать на море. Для этого на его входы мы подаем различные данные. Пусть у нашего нейрона будет 4 входа:
–стоимость поездки;
–какая на море погода;
–текущая обстановка с работой;
–будет ли на пляже закусочная
Все эти параметры будем характеризовать 0 или 1. Соответственно, если погода на море хорошая, то на этот вход подаем 1. И так со всеми остальными параметрами.
Если у нейрона есть четыре входа, то должно быть и четыре весовых коэффициента. В нашем примере весовые коэффициенты можно представить как показатели важности каждого входа, влияющие на общее решение нейрона. Веса входов распределим следующим образом:5,4,1,1.
Нетрудно заметить, что очень большую роль играют факторы стоимости и погоды на море (первые два входа). Они же и будут играть решающую роль при принятии нейроном решения. Пусть на входы нашего нейрона мы подаем следующие сигналы:1,0,0,1. Умножаем веса входов на сигналы соответствующих входов:5,0,0,1. Взвешенная сумма для такого набора входных сигналов равна 6:
net=∑i=14xiwi=5+0+0+1=6
Как нейрон должен решить, ехать на море или нет? Очевидно, нам нужно как-то преобразовать нашу взвешенную сумму и получить ответ. Это позволит выполнить функция активации. Функция активации является фундаментальной составляющей нейронных сетей, и понимание принципов работы, а также областей применения, способствует созданию более эффективных сетей.
Функция активации преобразует входные данные в выходные для их последующей передачи на следующий слой. Эти функции определяют, должен ли нейрон быть активирован или нет, основываясь на взвешенной сумме его входов плюс смещение. Без функций активации нейронные сети были бы просто линейными моделями, неспособными решать сложные задачи, такие как распознавание образов, обработка естественного языка и другие передовые приложения ИИ. В модель нейрона добавляется нелинейный преобразователь, который реализует нелинейную функцию, которая называется функцией активации. По сути, нейрон представляет собой элементарный вычислитель, характеризующийся входным/выходным состоянием и функцией активации. На основе элементарных вычислителей, каждый из которых получает сигналы и посылает другим вычислителям, составляются ИНС разной топологии.
Функция активации определяет, следует ли активировать нейрон, вычисляя взвешенную сумму входных данных и добавляя смещение. Это помогает модели принимать сложные решения и делать прогнозы, вводя нелинейности в выходные данные каждого нейрона. Эта нелинейность позволяет сети изучать более сложные закономерности, которые невозможно изучить с помощью чисто линейной модели, например:
–моделирование функций, которые не являются линейно разделяемыми;
–увеличение способности сети формировать несколько границ принятия решений на основе комбинации весовых коэффициентов и смещений.
В процессе обучения эти весовые коэффициенты и смещения обновляются на основе ошибки, возникающей на выходе процесс известен как обратное распространение ошибки. Функции активации обеспечивают обратное распространение ошибки, предоставляя градиенты, необходимые для обновления весовых коэффициентов и смещений.
Без нелинейности даже глубокие сети были бы ограничены решением только простых, линейно разделяемых задач. 1.Функции активации позволяют нейронным сетям моделировать очень сложные распределения данных и решать сложные задачи глубокого обучения. Добавление функций нелинейной активации обеспечивает гибкость и позволяет сети извлекать из данных более сложные и абстрактные шаблоны.
Для разных типов искусственных нейронов используют самые разные функции активации.
Далее мы подробно рассмотрим самые известные функции активации.
Функция единичного скачка-самый простой вид функции активации. Выход нейрона может быть равен только 0 или 1. Если взвешенная сумма больше определенного порога b, то выход нейрона равен 1. Если ниже, то 0. Как ее можно использовать? Предположим, что мы поедем на море только тогда, когда взвешенная сумма больше или равна 5. Значит наш порог равен 5.
В нашем примере взвешенная сумма равнялась 6, а значит выходной сигнал нашего нейрона равен 1. Итак, мы едем на море. Однако, если бы погода на море была бы плохой, а также поездка была бы очень дорогой, но имелась бы закусочная и обстановка с работой нормальная (входы: 0011), то взвешенная сумма равнялась бы 2, а значит выход нейрона равнялся бы 0. Итак, мы никуда не едем.
В общем, нейрон смотрит на взвешенную сумму и если она получается больше его порога, то нейрон выдает выходной сигнал, равный 1.
Графически эту функцию активации можно изобразить следующим образом, рис.6.4.

Рис.6.4. Функция единичного скачка
На горизонтальной оси расположены величины взвешенной суммы. На вертикальной оси – значения выходного сигнала. Как легко видеть, возможны только два значения выходного сигнала: 0 или 1. Если взвешенная сумма равна порогу или больше него, то функция выдает 1. Все предельно просто.
Теперь, запишем эту функцию активации математически. Почти наверняка вы сталкивались с таким понятием, как составная функция. Это когда мы под одной функцией объединяем несколько правил, по которым рассчитывается ее значение. В виде составной функции функция единичного скачка будет выглядеть следующим образом:
out(net)={0,net В этой записи нет ничего сложного. Выход нейрона (out) зависит от взвешенной суммы (net) следующим образом: если net (взвешенная сумма) меньше какого-то порога (b), то out (выход нейрона) равен 0. А если net больше или равен порогу b, то out равен 1. Логистическая функция. На самом деле существует целое семейство сигмоидальных функций, некоторые из которых применяют в качестве функции активации в искусственных нейронах. Все эти функции обладают некоторыми очень полезными свойствами, ради которых их и применяют в нейронных сетях. Эти свойства станут очевидными после того, как вы увидите графики этих функций. Самая часто используемая в нейронных сетях сигмоида —логистическая функция, рис. 6.5. График этой функции выглядит достаточно просто. Если присмотреться, то можно увидеть некоторое подобие английской буквы S, откуда и пошло название семейства этих функций. А вот так она записывается аналитически: out(net)=11+exp(−a⋅net) Параметр “a”-это число, которое характеризует степень крутизны функции. На рис. 6.6 представлены логистические функции с разным параметром a. Рис.6.5. Логистическая функция (разные а) Вспомним наш искусственный нейрон, определяющий, надо ли ехать на море. В случае с функцией единичного скачка все было очевидно. Мы либо едем на море (1), либо нет (0). Здесь же случай более приближенный к реальности. Мы до конца полностью не уверены. Тогда использование логистической функции в качестве функции активации приведет к тому, что вы будете получать цифру между 0 и 1. Причем чем больше взвешенная сумма, тем ближе выход будет к 1 (но никогда не будет точно ей равен). И наоборот, чем меньше взвешенная сумма, тем ближе выход нейрона будет к 0. Например, выход нашего нейрона равен 0.8. Это значит, что он считает, что поехать на море все-таки стоит. Если бы его выход был бы равен 0.2, то это означает, что он почти наверняка против. Конец ознакомительного фрагмента. Текст предоставлен ООО «Литрес». Прочитайте эту книгу целиком, купив полную легальную версию на Литрес. Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги
Всего 10 форматов

