Читаем Верховный алгоритм. Как машинное обучение изменит наш мир полностью

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

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

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

Дело в том, что граница — это ряд точек, в которых взвешенная сумма точно соответствует пороговому значению, а взвешенная сумма — линейная функция. Например, если вес x — 2, вес y — 3, а порог — 6, граница будет задана уравнением 2x + 3 = 6. Точка x = 0, y = 2 лежит на границе, и, чтобы удержаться на ней, нам надо делать три шага вперед для каждых двух шагов вниз: тогда прирост x восполнит уменьшение y. Полученные в результате точки образуют прямую.

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

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

Именно так алгоритм перцептрона Розенблатта узнает вес входов.

Перейти на страницу:

Похожие книги