www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Руководство для начинающих по нейронным сетям: часть вторая

Дата публикации Mar 27, 2017


ВЧасть первая,Я объяснил, как персептрон принимает входные данные, применяет линейную комбинацию, и, если эта линейная комбинация больше или меньше некоторого порогового значения, выдает результат 1 или 0 соответственно. На языке математики это выглядит так:

В приведенной выше формуле греческая буква Sigma to используется для обозначениясуммированиеи индексяиспользуется для перебора ввода (Икс)и вес (ж)спаривания.

Чтобы сделать вещи немного проще дляподготовкапозже давайте внесем небольшую корректировку в приведенную выше формулу. Давайте переместимпорогна другую сторонунеравенствои заменить его на то, что известно как нейронсмещение.Теперь мы можем переписать уравнение как:

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

Источник: SMBC Comics

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


Функция, которая преобразует значения или устанавливает условия для решения выходного нейрона, называетсяфункция активации, Вышеприведенная математическая формула является лишь одной из нескольких (и самых простых) функций активации, используемых в глубоком обучении, и называетсяШаговая функция Хевисайда.

Общая формула (часявляется условием) и график функции шага Хевисайда. Сплошной круг - это значение y, которое вы берете (в данном случае 1,0 для x = 0), а не полый круг. Линия, на которой находятся пустые и сплошные круги, является «шагом». (Источник: Udacity)

Другие функции активации включаютсигмоид,TANH, а такжеSoftMaxфункции, и у каждого из них есть своя цель. (В этом посте я просто объясню функцию сигмовидной кишки, но я расскажу о других, когда они появятся).

Сигмовидная функция

Даже имея дело с абсолютами (1 и 0; да и нет), полезно, чтобы выходные данные давали промежуточное значение. Это немного похоже на ответ «возможно» на вопрос «да» или «нет», о котором вы понятия не имеете, вместо того, чтобы гадать. Это по существу преимущество сигмовидной функции перед Хевисайдом.

График и формула сигмоидальной функции. Источник: Udacity

Как и шаговая функция Хевисайда, сигмоид имеет значения от 0 до 1. Но на этот раз нетшаг; это было сглажено, чтобы создатьнепрерывныйлиния. Таким образом, выход можно рассматривать каквероятностьбыть успешным (1), или да. В повседневном смысле выходной сигнал 0,5 означает, что сеть не имеет представления, является ли это положительным или отрицательным, а выходной 0,8 означает, что сеть «почти уверена», что это да.

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

Скрытые слои

До сих пор мы исследовали архитектуру персептрона, простейшую модель нейронной сети, и увидели две функции активации: шаговую функцию Хевисайда и сигмовидную функцию. (Чтобы узнать, как персептроны могут использоваться для вычисления логических функций, таких как AND, OR и NAND, ознакомьтесь сГлава 1 в онлайн-книге Майкла Нильсена).

Теперь давайте сделаем нашу сеть немного сложнее. Здесь и на всех диаграммах нейронной сети крайний левый слой является входным слоем (то есть данными, которые вы вводите), а крайний правый уровень является выходным слоем (предсказание / ответ сети). Любое количество слоев между этими двумя известны какскрытые слои, Чем больше количество слоев, тем большенюансыпринятие решения может получить.

(Источник:Стэнфорд CS231n)

Сети часто носят разные названия:сети с прямой связью, нейронные сети с прямой связью,илимногослойные персептроны (MLP).(Чтобы сделать вещи менее запутанными, я остановлюсь на прямой нейронной сети) Они называютсяупреждениесети, потому что информация течет в одном общем (прямом) направлении, где математические функции применяются на каждом этапе. На самом деле их называют «сетями»потому чтоэтой цепочки функций (выходные данные функции первого уровня являются входными данными для второго уровня, а эти выходные данные являются входными данными для третьего уровня и т. д.). Длина этой цепочки даетглубинамодели, и это на самом деле, где термин ‘глубокий»в глубоком обучении приходит!

Не совсем то же самое «скрытое». (Источник: Билл Уоттерсон)

Добавление скрытых слоев может позволить нейронной сети принимать более сложные решения, но более подробно об этом и о том, как нейронные сети учатся в процессе, известном какобратное распространение,в третьей части (скоро)!


Ресурсы

  1. Использование нейронных сетей для распознавания рукописных цифрМайкл Нильсен.
  2. Нейронные сети, часть первая: настройка архитектуры,Стэнфорд CS231n.
  3. Книга глубокого обученияЙен Гудфеллоу, Йошуа Бенжио и Аарон Курвиль.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map