обратное распространение ошибки

Обратное распространение ошибки: математика

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

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

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

Знакомство с глубоким обучением

После обратного распространения ошибок следующее усовершенствование нейронных сетей привело к глубокому обучению. Исследования продолжались, несмотря на зиму искусственного интеллекта, и нейронные сети преодолели технические проблемы, такие как исчезающий градиент, ограничивающие размерность нейронных сетей. Для решения определенных задач разработчики нуждались в больших нейронных сетях, настолько больших, что в 1980-х годах они были невообразимы. Кроме того, исследователи использовали в своих интересах последние достижения в разработке процессоров CPU и GPU.

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

Новое решение позволило избежать проблемы исчезающего градиента и многих других технических проблем, позволив создавать большие глубокие сети в отличие от более простых поверхностных сетей прошлого. Глубокие сети появились благодаря исследованиям ученых из Университета Торонто в Канаде, таких как Джеффри Хинтон, настаивавших на продолжении работ над нейронными сетями, даже когда казалось, что они — уже прошлое машинного обучения.

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

Новые тенденции определяют крупные игроки, такие как Google, Facebook, Microsoft и IBM, и с 2012 года они начали приобретать компании и нанимать экспертов в новых областях глубокого обучения. Проект Google Brain реализовали, соединив 16 тысяч компьютеров, чтобы создать сеть глубокого обучения с более чем миллиардом коэффициентов, обеспечив, таким образом, неконтролируемое обучение из видео на YouTube. Компьютерная сеть могла даже различать котов безо всякого человеческого вмешательства.