следовать этим принципам, то, возможно, найдем решение, которое,
даже не будучи идеальным с математической точки зрения, даст нам
лучшие результаты, поскольку не будет основано на ложных идеали
стических допущениях.
Проиллюстрируем суть наших рассуждений на следующем примере.
Представьте себе ландшафт с очень сложным рельефом, имеющим воз
вышения и впадины, а также холмы с предательскими буграми и яма
ми. Вокруг так темно, что ни зги не видно.
Вы знаете, что находитесь
на склоне холма, и вам нужно добраться до его подножия. Точной кар
ты местности у вас нет. Но у вас есть фонарь. Что вы будете делать?
Пожалуй, вы воспользуетесь фонарем и осмотритесь вокруг себя. Света
фонаря не хватит для дальнего обзора, и вы наверняка не сможете ос
мотреть весь ландшафт целиком. Но вы сможете увидеть, по
какому
участку проще всего начать спуск к подножию холма, и сделаете не
сколько небольших шагов в этом направлении. Действуя подобным об
разом, вы будете медленно, шаг за шагом, продвигаться вниз, не распо
лагая общей картой и заблаговременно проложенным маршрутом.
Математическая версия этого подхода называется методом
гра
диентного спуска, и причину этого нетрудно понять. После того как
вы сделали шаг в выбранном направлении,
вы вновь осматриваетесь,
чтобы увидеть, какой путь ведет вас к цели, и делаете очередной
шаг в этом направлении. Вы продолжаете действовать точно так же
до тех пор, пока благополучно не спуститесь к подножию холма.
А
теперь представьте, что этим сложным ландшафтом являет
ся математическая функция. Метод градиентного спуска позволяет
Как мы фактически обновляем весовые коэффициенты
103
находить минимум, даже не располагая знаниями свойств этой
функции, достаточными для нахождения минимума математически
ми методами.
Если функция настолько сложна, что простого способа
нахождения минимума алгебраическими методами не существует, то
мы можем вместо этого применить метод градиентного спуска. Ясное
дело, он может не дать нам точный ответ, поскольку мы приближа
емся к ответу шаг за шагом, постепенно улучшая нашу позицию. Но
это лучше, чем вообще не иметь никакого ответа. Во всяком случае,
мы можем продолжить уточнение ответа еще более мелкими шагами
по направлению к минимуму, пока не достигнем желаемой точности.
А какое отношение имеет этот действительно эффективный метод
градиентного спуска к нейронным сетям? Если упомянутой сложной
функцией
является ошибка сети, то спуск по склону для нахожде
ния минимума означает, что мы минимизируем ошибку. Мы улуч
шаем выходной сигнал сети. Это именно то, чего мы хотим!
Чтобы вы все наглядно усвоили, рассмотрим использование мето
да градиентного спуска на простейшем примере.
Ниже приведен график простой функции у = (х - 1 )2 + 1.
Если бы
это была функция, описывающая ошибку, то мы должны были бы
найти значение
х ,
которое минимизирует эту функцию.
Представим
на минуту, что мы имеем дело не со столь простой функцией, а с го
раздо более сложной.
Do'stlaringiz bilan baham: