Вы читаете книгу
Охота на электроовец. Большая книга искусственного интеллекта
Марков Сергей Николаевич
Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич - Страница 152
Непросто, пожалуй, найти в истории науки другой такой метод, для утверждения которого потребовались бы столь длительные и повторяющиеся усилия такого количества учёных, работавших зачастую в изоляции друг от друга. И всё-таки в итоге лёд тронулся, и нейронные сети возвратились в область видимости основного направления науки.
5.2.3.4 Теория расчёта весов и описание метода обратного распространения ошибки
Теперь, когда мы обсудили историю возникновения этого метода, самое время познакомиться с ним поглубже.
В целом задача поиска направления наибольшего убывания ошибки в пространстве весов нейронной сети соответствует задаче поиска направления коррекции каждого из синаптических весов и степени влияния изменения этого веса на величину ошибки. Любую нейронную сеть можно представить в виде алгебраического выражения, описывающего функцию ответа сети на полученные её рецептивным (входным) слоем входы. В простейшем варианте, когда сеть состоит из одного нейрона, это выражение будет иметь вид:
где x0…xn — входы сети, w0…wn — веса входных синапсов нейрона, а f — функция его активации. То есть все входы перемножаются на соответствующие веса, суммируются, а затем подставляются в функцию активации, значение которой и будет выходом нашего нейрона. Если одним из входов нашего нейрона является, в свою очередь, выход другого нейрона, то вместо соответствующей переменной xi мы должны будем подставить выражение, описывающее этот нейрон. Представим себе сеть из трёх нейронов:
Функция ответа такой сети будет иметь вид g(x0,x1,x2,x3)=f2 (w4 f0 (w0 x0+w1 x1 )+w5 f1 (w2 x2+w3 x3)), то есть мы подставили выражения f0(w0x0+w1x1) и f1(w2x2+w3x3), описывающие нейроны входного слоя, в выражение, описывающее нейрон второго слоя. По мере увеличения числа нейронов и синапсов эта формула будет становиться всё более и более огромной, но общий принцип будет оставаться неизменным. Трудно вообразить формулу, описывающую сеть из миллиона нейронов, но нет никаких сомнений в том, что при наличии необходимого числа карандашей, бумаги, свободного времени, слабоумия и отваги её всё-таки можно записать. Несложно сообразить, что, обладая формулой, позволяющей рассчитать ответ нейронной сети при заданном наборе входных данных, можно также составить функцию для расчёта ошибки этой сети для одного прецедента, для некоторого набора прецедентов, да даже для всей обучающей выборки. Например, в случае задачи с распознаванием слонов по массе и длине тела мы можем использовать сумму квадратов разниц ответов сети и действительных значений метки. Несложно заметить, что если наша сеть выдаёт только нули и единицы, то величина такой функции ошибки будет представлять собой количество случаев, в которых сеть выдала ответ, не соответствующий действительной метке класса. Если же наша сеть способна выдавать какие-либо величины, отличные от нулей и единиц, то такая функция ошибки позволит нам оценить близость выдаваемых сетью ответов к правильным меткам. Если все функции активации нейронной сети непрерывны и дифференцируемы, то есть имеют производную (хотя бы в текущей точке, но в идеале на всём пространстве параметров), значит дифференцируемой будет и наша функция ошибки, ведь суперпозиция дифференцируемых функций также является дифференцируемой. Следовательно, мы можем вычислить частные производные функции ошибки вдоль всех осей пространства весов нейронной сети. При расчёте частной производной все веса, кроме того, который соответствует расчётной оси, принимаются за константы, а затем применяется цепное правило для вычисления производной композиции функций.
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Алгоритм обратного распространения ошибки заключается в последовательном расчёте частных производных послойно: начав с выходного слоя сети, он переходит к предпоследнему слою, затем к предшествующему ему слою и так далее. Движение в обратном направлении позволяет избежать избыточных вычислений промежуточных членов в цепном правиле и по сути представляет собой применение метода динамического программирования к вычислительному графу.
Полный набор частных производных составляет так называемую матрицу Якоби [Jacobian matrix], получившую своё имя в честь немецкого математика Карла Густава Якоба Яко́би. Каждая из частных производных определяет уклон функции ошибки в направлении соответствующей оси пространства весов сети, поэтому матрица Якоби описывает вектор направления наибольшего возрастания (а взятая с противоположным знаком — убывания) функции. Знание этого направления позволяет применить широкий арсенал методов градиентного спуска, суть которых сводится к движению в пространстве параметров модели в поиске точки с минимальным значением ошибки.
Метод обратного распространения ошибки, строго говоря, относится только к алгоритму вычисления градиента, а не к тому, как затем будет использоваться полученный градиент. Однако в современной литературе это понятие нередко применяется для обозначения всего алгоритма обучения, из-за чего возникает некоторая путаница, которой мы постараемся избежать.
Используемые в наши дни на практике алгоритмы градиентного спуска содержат множество нюансов, описание которых выходит далеко за границы этой книги, но всё же обратим внимание на некоторые из них.
Во-первых, смещение в пространстве поиска может происходить с разным шагом. Этот шаг представляет собой скалярный коэффициент, на который домножается градиент функции ошибки для вычисления смещения относительно текущей точки. Этот коэффициент принято называть скоростью обучения [learning rate]. Слишком маленькое значение скорости обучения может приводить к излишне медленному движению в сторону минимума, а также к попаданию в локальные минимумы. Вообще, локальные оптимумы являются одним из главных проклятий задач нелинейной оптимизации, ведь целевая функция совершенно не обязана быть монотонной. Если вы выйдете из своего дома и будете двигаться в направлении наибольшего уклона поверхности вниз, то, скорее всего, закончите свой путь в ближайшем овраге, а вовсе не на дне Марианской впадины, являющейся наиболее глубокой точкой на поверхности Земли.
Скорость обучения — это длина вашего шага. Если ваши шаги будут микроскопическими, то вы, скорее всего, застрянете в ближайшей выемке на асфальте. С другой стороны, слишком большие шаги могут привести к тому, что вы просто проскочите глобальный минимум. Современные алгоритмы оптимизации обычно постепенно изменяют скорость обучения. Например, на старте обучения размер шага может постепенно возрастать (этот процесс называют «разогревом» [warmup]), а затем плавно сокращаться, иногда в зависимости от изменения величины целевой функции, — в таком случае говорят об «адаптивной скорости обучения» [adaptive learning rate].
Во-вторых, распространённым трюком для борьбы со сваливанием в локальный минимум является так называемый «момент». Его проще всего понять как аналогию инерции движущегося объекта — вы не просто идёте в направлении наибольшего уклона поверхности, но и обладаете некоторой инерцией, которая позволяет вам «проскакивать» небольшие неровности. Вместо моментов первого порядка (матрицы Якоби) было бы неплохо использовать моменты второго порядка, так называемую матрицу Гессе [Hessian matrix], названную так в честь другого немецкого математика XIX в. — Людвига Отто Гессе. Использование моментов второго порядка, то есть не просто направления наибольшего изменения функции, а направления наибольшего изменения самого этого уклона, обещает более быструю сходимость. На деле вычисление моментов второго порядка связано с большими вычислительными затратами, поэтому было изобретено множество способов их приблизительного расчёта.
- Предыдущая
- 152/368
- Следующая

