Skip to content

Instantly share code, notes, and snippets.

Created September 26, 2017 01:29
Show Gist options
  • Save anonymous/c6d7cd24e2796d83a00ba6a4e4886d28 to your computer and use it in GitHub Desktop.
Save anonymous/c6d7cd24e2796d83a00ba6a4e4886d28 to your computer and use it in GitHub Desktop.
Структура нейронных сетей

Структура нейронных сетей



Ссылка на файл: >>>>>> http://file-portal.ru/Структура нейронных сетей/


НЕЙРО́ННЫЕ СЕ́ТИ
Устройство нейронных сетей
Представление знаний нейронными сетями
























В предыдущей главе мы ознакомились с такими понятиями, как искусственный интеллект, машинное обучение и искусственные нейронные сети. В этой главе я детально опишу модель искусственного нейрона, расскажу о подходах к обучению сети, а также опишу некоторые известные виды искусственных нейронных сетей, которые мы будем изучать в следующих главах. В прошлой главе я постоянно говорил о каких-то серьезных упрощениях. К тому же, как я уже говорил, наш мозг переполнен различными биологическими механизмами, не относящиеся к обработке информации. Все остальное нас не волнует. В предыдущей главе вы поняли, насколько сложно устроены биологические нейронные сети и биологические нейроны. Вместо изображения нейронов в виде чудовищ с щупальцами давайте просто будем рисовать схемы. Здесь мы будем изображать искусственные нейроны в виде кружков. Вместо сложного переплетения входов и выходов будем использовать стрелки, обозначающие направление движения сигнала. Таким образом искусственная нейронная сеть может быть представлена в виде совокупности кружков искусственных нейронов , связанных стрелками. В реальной биологической нейронной сети от входов сети к выходам передается электрический сигнал. В процессе прохода по нейронной сети он может изменяться. Концептуально ничего не изменяется. Но что же тогда меняется? На входы сети мы будем подавать какие-то числа, символизирующие величины электрического сигнала, если бы он был. На выходе сети мы получим какое-то результирующее число, являющееся откликом сети. Для удобства все равно будем называть наши числа, циркулирующие в сети, сигналами. Синапсы могут усиливать или ослаблять проходящий по ним электрический сигнал. Давайте характеризовать каждую такую связь определенным числом, называемым весом данной связи. Сигнал, прошедший через данную связь, умножается на вес соответствующей связи. Это ключевой момент в концепции искусственных нейронных сетей, я объясню его подробнее. Посмотрите на картинку ниже. Теперь каждой черной стрелке связи на этой картинке соответствует некоторое число вес связи. И когда сигнал проходит по этой связи, его величина умножается на вес этой связи. На приведенном выше рисунке вес стоит не у каждой связи лишь потому, что там нет места для обозначений. В реальности у каждой -ой связи свой собственный -ый вес. На рисунке ниже представлена полная модель искусственного нейрона. Не пугайтесь, ничего сложного здесь нет. Мы уже вводили понятие весов, на которые умножаются сигналы, проходящие по связи. На картинке выше веса изображены кружками. Поступившие на входы сигналы умножаются на свои веса. Сигнал первого входа умножается на соответствующий этому входу вес. И так до -ого входа. В итоге на последнем входе получаем. Теперь все произведения передаются в сумматор. Уже исходя из его названия можно понять, что он делает. Он просто суммирует все входные сигналы, умноженные на соответствующие веса:. Рассмотрим простейший вариант записи:. Таким образом снизу сигмы мы присваиваем переменной-счетчику стартовое значение, которое будет увеличиваться, пока не дойдет до верхней границы в примере выше это 5. Верхняя граница может быть и переменной. Приведу пример такого случая. Пусть у нас есть магазинов. У каждого магазина есть свой номер: Каждый магазин приносит прибыль. Возьмем какой-то неважно, какой -ый магазин. Прибыль от него равна. Если мы хотим посчитать общую прибыль от всех магазинов обозначим ее за , то нам пришлось писать бы длинную сумму:. Как видно, все члены этой суммы однотипны. Тогда их можно коротко записать следующим образом:. В виде формулы это гораздо проще, удобнее и красивее. Результатом работы сумматора является число, называемое взвешенной суммой. Давайте рассмотрим один искусственный нейрон. Для этого на его входы мы подаем различные данные. Пусть у нашего нейрона будет 4 входа:. Все эти параметры будем характеризовать 0 или 1. Соответственно, если погода на море хорошая, то на этот вход подаем 1. И так со всеми остальными параметрами. Если у нейрона есть четыре входа, то должно быть и четыре весовых коэффициента. В нашем примере весовые коэффициенты можно представить как показатели важности каждого входа, влияющие на общее решение нейрона. Нетрудно заметить, что очень большую роль играют факторы стоимости и погоды на море первые два входа. Они же и будут играть решающую роль при принятии нейроном решения. Пусть на входы нашего нейрона мы подаем следующие сигналы:. Умножаем веса входов на сигналы соответствующих входов:. Взвешенная сумма для такого набора входных сигналов равна Все классно, но что делать дальше? Как нейрон должен решить, ехать на море или нет? Очевидно, нам нужно как-то преобразовать нашу взвешенную сумму и получить ответ. Вот здесь и появляется функция активации. Просто так подавать взвешенную сумму на выход достаточно бессмысленно. Нейрон должен как-то обработать ее и сформировать адекватный выходной сигнал. Именно для этих целей и используют функцию активации. Она преобразует взвешенную сумму в какое-то число, которое и является выходом нейрона выход нейрона обозначим переменной. Для разных типов искусственных нейронов используют самые разные функции активации. В общем случае их обозначают символом. Указание взвешенного сигнала в скобках означает, что функция активации принимает взвешенную сумму как параметр. Значение этой функции и является выходом нейрона. Далее мы подробно рассмотрим самые известные функции активации. Самый простой вид функции активации. Выход нейрона может быть равен только 0 или 1. Если взвешенная сумма больше определенного порога , то выход нейрона равен 1. Если ниже, то 0. Как ее можно использовать? Предположим, что мы поедем на море только тогда, когда взвешенная сумма больше или равна 5. Значит наш порог равен В нашем примере взвешенная сумма равнялась 6, а значит выходной сигнал нашего нейрона равен 1. Итак, мы едем на море. Однако если бы погода на море была бы плохой, а также поездка была бы очень дорогой, но имелась бы закусочная и обстановка с работой нормальная входы: Итак, мы никуда не едем. В общем, нейрон накапливает сигнал внутри себя, и, когда накопленный сигнал взвешенная сумма становится очень большим больше порога нейрона , то нейрон выдает выходной сигнал, равный 1. Графически эту функцию активации можно изобразить следующим образом. На горизонтальной оси расположены величины взвешенной суммы. На вертикальной оси — значения выходного сигнала. Как легко видеть, возможны только два значения выходного сигнала: Причем 0 будет выдаваться всегда от минус бесконечности и вплоть до некоторого значения взвешенной суммы, называемого порогом. Если взвешенная сумма равна порогу или больше него, то функция выдает 1. Теперь запишем эту функцию активации математически. Почти наверняка вы сталкивались с таким понятием, как составная функция. Это когда мы под одной функцией объединяем несколько правил, по которым рассчитывается ее значение. В виде составной функции функция единичного скачка будет выглядеть следующим образом:. В этой записи нет ничего сложного. Выход нейрона зависит от взвешенной суммы следующим образом: А если больше или равен порогу , то равен 1. На самом деле существует целое семейство сигмоидальных функций, некоторые из которых применяют в качестве функции активации в искусственных нейронах. Все эти функции обладают некоторыми очень полезными свойствами, ради которых их и применяют в нейронных сетях. Эти свойства станут очевидными после того, как вы увидите графики этих функций. Итак… самая часто используемая в нейронных сетях сигмоида — логистическая функция. График этой функции выглядит достаточно просто. Если присмотреться, то можно увидеть некоторое подобие английской буквы , откуда и пошло название семейства этих функций. А вот так она записывается аналитически:. Это какое-то число, которое характеризует степень крутизны функции. Ниже представлены логистические функции с разным параметром. Вспомним наш искусственный нейрон, определяющий, надо ли ехать на море. В случае с функцией единичного скачка все было очевидно. Мы либо едем на море 1 , либо нет 0. Здесь же случай более приближенный к реальности. Тогда использование логистической функции в качестве функции активации приведет к тому, что вы будете получать цифру между 0 и 1. Причем чем больше взвешенная сумма, тем ближе выход будет к 1 но никогда не будет точно ей равен. И наоборот, чем меньше взвешенная сумма, тем ближе выход нейрона будет к 0. Например, выход нашего нейрона равен 0. Это значит, что он считает, что поехать на море все-таки стоит. Если бы его выход был бы равен 0. Какие же замечательные свойства имеет логистическая функция? Именно из-за этих свойств логистическая функция чаще всего используются в качестве функции активации в искусственных нейронах. Однако есть и еще одна сигмоида — гиперболический тангенс. Такая функция позволяет получить на выходе значения разных знаков например, от -1 до 1 , что может быть полезным для ряда сетей. Функция записывается следующим образом:. В данной выше формуле параметр также определяет степень крутизны графика этой функции. А вот так выглядит график этой функции. У нейрона есть входы. На них подаются сигналы в виде чисел. Каждый вход имеет свой вес тоже число. Далее этот набор попадает в сумматор, которой просто складывает все входные сигналы, помноженные на веса. Получившееся число называют взвешенной суммой. Затем взвешенная сумма преобразуется функцией активации и мы получаем выход нейрона. Математическая модель искусственного нейрона с входами:. Виды ИНС Мы разобрались со структурой искусственного нейрона. Искусственные нейронные сети состоят из совокупности искусственных нейронов. Нейроны этого слоя не производят никаких вычислений. А дальше начинаются различия…. В однослойных нейронных сетях сигналы с входного слоя сразу подаются на выходной слой. Он производит необходимые вычисления, результаты которых сразу подаются на выходы. Выглядит однослойная нейронная сеть следующим образом:. На этой картинке входной слой обозначен кружками он не считается за слой нейронной сети , а справа расположен слой обычных нейронов. Нейроны соединены друг с другом стрелками. Над стрелками расположены веса соответствующих связей весовые коэффициенты. Многослойные нейронные сети Такие сети, помимо входного и выходного слоев нейронов, характеризуются еще и скрытым слоем слоями. Такая структура нейронных сетей копирует многослойную структуру определенных отделов мозга. Название скрытый слой получил неслучайно. Дело в том, что только относительно недавно были разработаны методы обучения нейронов скрытого слоя. До этого обходились только однослойными нейросетями. Многослойные нейронные сети обладают гораздо большими возможностями, чем однослойные. Работу скрытых слоев нейронов можно сравнить с работой большого завода. Продукт выходной сигнал на заводе собирается по стадиям. После каждого станка получается какой-то промежуточный результат. Скрытые слои тоже преобразуют входные сигналы в некоторые промежуточные результаты. Во всех примерах стрелки строго идут слева направо, то есть сигнал в таких сетях идет строго от входного слоя к выходному. В обратном направлении сигнал не распространяется. Такие сети широко используются и вполне успешно решают определенный класс задач: Однако никто не запрещает сигналу идти и в обратную сторону. В сетях такого типа сигнал может идти и в обратную сторону. Дело в том, что в сетях прямого распространения выход сети определяется входным сигналом и весовыми коэффициентами при искусственных нейронах. А в сетях с обратными связями выходы нейронов могут возвращаться на входы. Это означает, что выход какого-нибудь нейрона определяется не только его весами и входным сигналом, но еще и предыдущими выходами так как они снова вернулись на входы. Возможность сигналов циркулировать в сети открывает новые, удивительные возможности нейронных сетей. С помощью таких сетей можно создавать нейросети, восстанавливающие или дополняющие сигналы. Другими словами такие нейросети имеют свойства кратковременной памяти как у человека. В более общем случае это означает возможность распространения сигнала от выходов к входам. Обучение нейронной сети Теперь давайте чуть более подробно рассмотрим вопрос обучения нейронной сети. И каким образом это происходит? Теперь давайте возьмем, например, нейронов и соединим их друг с другом. Ясно, что при подаче сигнала на вход, мы получим что-то бессмысленное на выходе. Что мы можем менять в нейронной сети? Изменять общее количество искусственных нейронов бессмысленно по двум причинам. Во-первых, увеличение количества вычислительных элементов в целом лишь делает систему тяжеловеснее и избыточнее. Во-вторых, если вы соберете дураков вместо , то они все-равно не смогут правильно ответить на вопрос. Сумматор изменить не получится, так как он выполняет одну жестко заданную функцию — складывать. Если мы его заменим на что-то или вообще уберем, то это вообще уже не будет искусственным нейроном. К тому же, в большинстве случаев нейроны в нейронных сетях одного типа. То есть они все имеют одну и ту же функцию активации. Наш мозг состоит из огромного количества связанных друг с другом нейросетей. Однако есть еще один важный момент. И как только вы подадите немного измененный сигнал, ожидая увидеть правильный ответ, то сеть выдаст бессмыслицу. В самом деле, зачем нам сеть, определяющая лицо только на одном фото. После обучения сети, то есть когда сеть выдает корректные результаты для всех входных сигналов из обучающей выборки, ее можно использовать на практике. В самом общем случае есть два подхода, приводящие к разным результатам: Суть данного подхода заключается в том, что вы даете на вход сигнал, смотрите на ответ сети, а затем сравниваете его с уже готовым, правильным ответом. Не путайте правильные ответы и известный алгоритм решения! Вы можете обвести пальцем лицо на фото правильный ответ , но не сможете сказать, как это сделали известный алгоритм. Тут такая же ситуация. Затем, с помощью специальных алгоритмов, вы меняете веса связей нейронной сети и снова даете ей входной сигнал. Сравниваете ее ответ с правильным и повторяете этот процесс до тех пор, пока сеть не начнет отвечать с приемлемой точностью как я говорил в 1 главе, однозначно точных ответов сеть давать не может. Где взять правильные ответы? Если мы хотим, чтобы сеть узнавала лица, мы можем создать обучающую выборку на фотографий входные сигналы и самостоятельно выделить на ней лица правильные ответы. В качестве входных сигналов можно брать определенные дни, общее состояние рынка и другие параметры. Дело в том, что порой сеть приходится тренировать часами и днями, совершая тысячи и десятки тысяч попыток. Обучение без учителя применяют тогда, когда у нас нет правильных ответов на входные сигналы. В этом случае вся обучающая выборка состоит из набора входных сигналов. Что же происходит при таком обучении сети? Например, вы демонстрируете сети конфеты, пирожные и торты. Вы никак не регулируете работу сети. Вы просто подаете на ее входы данные о данном объекте. Со временем сеть начнет выдавать сигналы трех разных типов, которые и отвечают за объекты на входе. Правильные эталонные выходные сигналы не демонстрируются. Вы также ознакомились с тем, что представляет собой обучение сети с учителем и без учителя. Вы уже знаете необходимую теорию. Материал этой главы надо знать очень хорошо, так как в ней содержатся основные теоретические сведения по искусственным нейронным сетям. Обязательно добейтесь уверенных и правильных ответов на все нижеприведенные вопросы и задачи. Опишите упрощения ИНС по сравнению с биологическими нейросетями. Сложную и запутанную структуру биологических нейронных сетей упрощают и представляют в виде схем. Оставляют только модель обработки сигнала. Природа электрических сигналов в нейронных сетях одна и та же. Разница только в их величине. Убираем электрические сигналы, а вместо них используем числа, обозначающие величину проходящего сигнала. Синапсы упрощаем до обычных чисел весов связей , характеризующих связи между нейронами. Проходящий по связи сигнал просто умножается на вес этой связи. Из каких элементов состоит искусственный нейрон? Искусственный нейрон состоит из входов, весовых коэффициентов, соответствующих этим входам, сумматора и функции активации. Что такое взвешенная сумма? Какой компонент искусственного нейрона ее вычисляет? Взвешенной суммой называют сумму всех входов, умноженных на соответствующие весовые коэффициенты. Обычно ее обозначают за. Взвешенную сумму вычисляет сумматор искусственного нейрона. Вычислите взвешенную сумму нейрона рисунок выше У данного нейрона 4 входа и 4 весовых коэффициента. Используем формулу расчета взвешенной суммы:. Что такое функция активации? Для разных целей используют разные функции активации, но чаще всего: Функцию активации часто обозначают за. Запишите математическую модель искусственного нейрона. Искусственный нейрон c входами преобразовывает входной сигнал число в выходной сигнал число следующим образом:. Чем отличаются однослойные и многослойные нейронные сети? Однослойные нейронные сети состоят из одного вычислительного слоя нейронов. Входной слой подает сигналы сразу на выходной слой, который и преобразует сигнал, и сразу выдает результат. Многослойные нейронные сети, помимо входного и выходного слоев, имеют еще и скрытые слои. Эти скрытые слои проводят какие-то внутренние промежуточные преобразования, наподобие этапов производства продуктов на заводе. В чем отличие feedforward сетей от сетей с обратными связями? Сети с обратными связями данных ограничений не имеют, и выходы нейронов могут вновь подаваться на входы. Что такое обучающая выборка? В чем ее смысл? Перед тем, как использовать сеть на практике например, для решения текущих задач, ответов на которые у вас нет , необходимо собрать коллекцию задач с готовыми ответами, на которой и тренировать сеть. Это коллекция и называется обучающей выборкой. Если собрать слишком маленький набор входных и выходных сигналов, то сеть просто запомнит ответы и цель обучения не будет достигнута. Что понимают под обучением сети? Под обучением сети понимают процесс изменения весовых коэффициентов искусственных нейронов сети с целью подобрать такую их комбинацию, которая преобразует входной сигнал в корректный выходной. Что такое обучение с учителем и без него? При обучении сети с учителем ей на входы подают сигналы, а затем сравнивают ее выход с заранее известным правильным выходом. Этот процесс повторяют до тех пор, пока не будет достигнута необходимая точность ответов. Если сети только подают входные сигналы, без сравнения их с готовыми выходами, то сеть начинает самостоятельную классификацию этих входных сигналов. Другими словами она выполняет кластеризацию входных сигналов. Такое обучение называют обучением без учителя. СЛЕДУЮЩАЯ ГЛАВА Подписаться на уведомления о новых главах Укажите свой адрес электронной почты в поле ниже и на него придет уведомление, когда новая глава будет опубликована. А я наконец понял, чем хочу заниматься Буду ждать продолжения. Это самый лучший ресурс по обучению ИНС с нуля который мне встречался. Автору огромное спасибо за его работу и за талант преподносить знания на очень понятном языке, благодаря этому знания очень легко усваиваются. Такое сейчас редко встретишь. Мне действительно сейчас захотелось изучить данную тему именно из за метода изьяснения автора. Продолжайте обязательно в том же духе и Вы поможете многим людям. Подскажите плз, Что за параметр exp в аналитической записи логистической функции? Привет, большое спасибо за то что делаешь такую полезную работу, ты по настоящему вносишь вклад в развитие цивилизации. Я так понимаю ты на ютубе, по теме ИНС, больше видео заливать не будешь? Вообще говоря я собираюсь продолжить снимать и начну именно с нейросетей. Только думаю, полностью переснимать или откатить только последние несколько роликов…. Лучше просто добавлять новые ролики с указанием, что это улучшенный вариант уже существующих роликов. Кому нужно, смогут посмотреть предыдущие, все равно они будут немножко отличаться. Петр, большое тебе спасибо за такой интересный и очень полезный материал. Теперь мои мозги не заплесневеют, хотя мне уже за 60… Люблю познавать что-то новое, а тут еще и так доступно все объясняется. Там еще маааленькая опечаточка в предложении: Как сеть может понять, что из 3 объектов изображено на картинке, если ей в начале не сказать этого? Или же в сеть подается, например, картинок и говорят: Потом еще картинок: В этом случае учитель как бы тоже есть!? Возьмем кубики разных цветов. Если вам показать один кубик, а затем другой другого цвета , то в будущем, встретив какой-то из кубиков, вы его сразу сможете отнести его к какой-то категории кубиков: Вам даже не обязательно знать, что такое кубик. Что-то подобное происходит и с обучением без учителя. Сети подается на входы разные сигналы, но не говорится, правилен ли ее выход или нет. Ей вообще, кроме входных сигналов ничего не говорится. У нее просто формируется специфические выходные сигналы на объекты разных классов. И это даже не является ее задачей в случае обучения без учителя. Хочу выразить свою огромную благодарность автору данной книги. Все объясняется доходчиво и прозрачно. Ваш e-mail не будет опубликован. Уведомлять меня о новых записях почтой. Перейти к содержимому Нейронные сети Изучаем технологии будущего Меню и виджеты. Достижения Нейросети — это круто! Свежее Портал по нейросетям — присоединяйтесь! Нейросеть Google стилизует изображения в реальном времени Третья глава — Персептроны — опубликована! Основы ИНС В предыдущей главе мы ознакомились с такими понятиями, как искусственный интеллект, машинное обучение и искусственные нейронные сети. Виды ИНС Однослойные нейронные сети Многослойные нейронные сети Сети прямого распространения feedforward Сети с обратными связями Обучение нейронной сети Что такое обучение сети? Обучение с учителем Обучение без учителя Выводы Вопросы и задачи Упрощение В прошлой главе я постоянно говорил о каких-то серьезных упрощениях. Он просто суммирует все входные сигналы, умноженные на соответствующие веса: Рассмотрим простейший вариант записи: Если мы хотим посчитать общую прибыль от всех магазинов обозначим ее за , то нам пришлось писать бы длинную сумму: Тогда их можно коротко записать следующим образом: Математическая модель искусственного нейрона с входами: Вычислите взвешенную сумму нейрона рисунок выше. У данного нейрона 4 входа и 4 весовых коэффициента. Используем формулу расчета взвешенной суммы: Искусственный нейрон c входами преобразовывает входной сигнал число в выходной сигнал число следующим образом: Подписаться на уведомления о новых главах Укажите свой адрес электронной почты в поле ниже и на него придет уведомление, когда новая глава будет опубликована. Жду скорее новых глав с практикой порогоаммирования. Слава, вы все верно поняли. В вопросе про взвешенную сумму нейрона разве не -5 получается? Извиняюсь, это я ступил. Добавить комментарий Отменить ответ Ваш e-mail не будет опубликован. Открывать в новой вкладке. Поисковый запрос не задан.


Расписание электричек запорожье грузовое
Можно ли поменять разрешение на карте igo8
Как приручить дракона 1 сезон 7
Имитация психологической интуиции с помощью искусственных нейронных сетей
Как обшить сарай сайдингом своими руками
Technics sh ge90 инструкция на русском языке
Политическая система общества тест
Структура нейронных сетей
Кровать набережные челны каталог
Рожденные 25 сентября характеристика
Глава 2. Основы ИНС
Фикс прайс форма для выпечки
Условия контракта фанфик
Услуга где близкие
Нейронные сети
Вождение автомобиля без прав в нетрезвом виде
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment