книга гудфеллоу глубокое обучение
Книга «Глубокое обучение. Погружение в мир нейронных сетей»

Если у нас получится представить сложную функцию как композицию более простых, то мы сможем и эффективно вычислить ее производную по любой переменной, что и требуется для градиентного спуска. Самое удобное представление в виде композиции — это представление в виде графа вычислений. Граф вычислений — это граф, узлами которого являются функции (обычно достаточно простые, взятые из заранее фиксированного набора), а ребра связывают функции со своими аргументами.
Это проще увидеть своими глазами, чем формально определять; посмотрите на рис. 2.7, где показаны три графа вычислений для одной и той же функции:
На рис. 2.7, а граф получился совсем прямолинейный, потому что мы разрешили использовать в качестве вершин унарную функцию «возведение в квадрат».
А на рис. 2.7, б граф чуть более хитрый: явное возведение в квадрат мы заменили обычным умножением. Впрочем, он от этого не сильно увеличился в размерах, потому что в графе вычислений на рис. 2.7, б разрешается по несколько раз переиспользовать результаты предыдущих вычислений и достаточно просто подать один и тот же x два раза на вход функции умножения, чтобы вычислить его квадрат. Для сравнения мы нарисовали на рис. 2.7, в граф той же функции, но без переиспользования; теперь он становится деревом, но в нем приходится повторять целые большие поддеревья, из которых раньше могли выходить сразу несколько путей к корню дерева.
В нейронных сетях в качестве базисных, элементарных функций графа вычислений обычно используют функции, из которых получаются нейроны. Например, скалярного произведения векторов достаточно для того, чтобы построить любую, даже самую сложную нейронную сеть, составленную из нейронов с функцией
Можно было бы, кстати, выразить скалярное произведение через сложение и умножение, но слишком «мельчить» тут тоже не обязательно: элементарной может служить любая функция, для которой мы сможем легко вычислить ее саму и ее производную по любому аргументу. В частности, прекрасно подойдут любые функции активации нейронов, о которых мы будем подробно говорить в разделе 3.3.
Итак, мы поняли, что многие математические функции, даже с очень сложным поведением, можно представить в виде графа вычислений, где в узлах стоят элементарные функции, из которых, как из кирпичиков, получается сложная композиция, которую мы и хотим подсчитать. Собственно, с помощью такого графа даже с не слишком богатым набором элементарных функций можно приблизить любую функцию сколь угодно точно; об этом мы еще поговорим чуть позже.
А сейчас вернемся к нашему основному предмету — машинному обучению. Как мы уже знаем, цель машинного обучения — подобрать модель (чаще всего здесь имеются в виду веса модели, заданной в параметрическом виде) таким образом, чтобы она лучше всего описывала данные. Под «лучше всего» здесь, как правило, имеется в виду оптимизация некоторой функции ошибки. Обычно она состоит из собственно ошибки на обучающей выборке (функции правдоподобия) и регуляризаторов (априорного распределения), но сейчас нам достаточно просто считать, что есть некая довольно сложная функция, которая дана нам свыше, и мы хотим ее минимизировать. Как мы уже знаем, один из самых простых и универсальных методов оптимизации сложных функций — это градиентный спуск. Мы также недавно выяснили, что один из самых простых и универсальных методов задать сложную функцию — это граф вычислений.
Оказывается, градиентный спуск и граф вычислений буквально созданы друг для друга! Как вас наверняка учили еще в школе (школьная программа вообще содержит много неожиданно глубоких и интересных вещей), чтобы вычислить производную композиции функций (в школе это, вероятно, называлось «производная сложной функции», как будто у слова «сложный» без этого недостаточно много значений), достаточно уметь вычислять производные ее составляющих:
Правило применяется для каждой компоненты отдельно, и результат выходит
опять вполне ожидаемый:
Такая матрица частных производных называется матрицей Якоби, а ее определитель —
якобианом; они еще не раз нам встретятся. Теперь мы можем подсчитать производные и градиенты любой композиции функций, в том числе векторных, и для этого нужно только уметь вычислять производные каждой компоненты. Для графа все это де факто сводится к простой, но очень мощной идее: если мы знаем граф вычислений и знаем, как брать производную в каждом узле, этого достаточно, чтобы взять производную от всей сложной функции, которую задает граф!
Давайте сначала разберем это на примере: рассмотрим все тот же граф вычислений, который был показан на рис. 2.7. На рис. 2.8, а показаны составляющие граф элементарные функции; мы обозначили каждый узел графа новой буквой, от a до f, и выписали частные производные каждого узла по каждому его входу.
Теперь можно подсчитать частную производную так, как показано на рис. 2.8, б: начинаем считать производные с истоков графа и пользуемся формулой дифференцирования композиции, чтобы подсчитать очередную производную. Например:
Но можно пойти и в обратном направлении, как показано на рис. 2.8, в. В этом случае мы начинаем с истока, где всегда стоит частная производная а затем разворачиваем узлы в обратном порядке по формуле дифференцирования сложной функции. Формула окажется здесь применима точно так же; например, в самом нижнем узле мы получим:
Таким образом, можно применять формулу дифференцирования композиции на графе либо от истоков к стокам, получая частные производные каждого узла по одной и той же переменной либо от стоков к истокам, получая частные производные стоков по всем промежуточным узлам
Конечно, на практике для машинного обучения нам нужен скорее второй вариант, чем первый: функция ошибки обычно одна, и нам требуются ее частные производные сразу по многим переменным, в особенности по всем весам, по которым мы хотим вести градиентный спуск.
А чтобы узнать частные производные этой функции, достаточно двигаться в обратном направлении. Если нас интересуют частные производные функции то в полном соответствии с формулами выше мы можем подсчитать
для каждого узла
таким образом:
Такой подход называют алгоритмом обратного распространения (backpropagation, backprop, bprop), потому что частные производные считаются в направлении, обратном ребрам графа вычислений. А алгоритм вычисления самой функции или производной по одной переменной, как на рис. 2.8, б, называют алгоритмом прямого распространения (forward propagation, fprop).
И последнее важное замечание: обратите внимание, что за все то время, пока мы обсуждали графы вычислений, дифференциалы, градиенты и тому подобное, мы, собственно, ни разу всерьез не упомянули нейронные сети! И действительно, метод вычисления производных/градиентов по графу вычислений сам по себе совершенно никак не связан с нейронными сетями. Это полезно иметь в виду, особенно в делах практических, к которым мы перейдем уже в следующем разделе. Дело в том, что библиотеки Theano и TensorFlow, которые мы будем обсуждать ниже и на которых делается большая часть глубокого обучения, — это, вообще говоря, библиотеки для автоматического дифференцирования, а не для обучения нейронных сетей. Все, что они делают, — позволяют вам задать граф вычислений и чертовски эффективно, с распараллеливанием и переносом на видеокарты, вычисляют градиент по этому графу.
Конечно, «поверх» этих библиотек можно реализовать и собственно библиотеки со стандартными конструкциями нейронных сетей, и это люди тоже постоянно делают (мы ниже будем рассматривать Keras), но важно не забывать базовую идею автоматического дифференцирования. Она может оказаться гораздо более гибкой и богатой, чем просто набор стандартных нейронных конструкций, и может случиться так, что вы будете крайне успешно использовать TensorFlow вовсе не для обучения нейронных сетей.
Для Хаброжителей скидка 20% по купону — Глубокое обучение
Глубокое обучение
Посоветуйте книгу друзьям! Друзьям – скидка 10%, вам – рубли
Эта и ещё 2 книги за 299 ₽
Отзывы 6
Нового ничего в книге не увидела. Америку не откроет книга, если вы учились на технической специальности. Все ранее было описано и прочитано в других учебниках. Причем доступных и бесплатных. Единственный плюс книги – собрано то, что сейчас актуально и может быть убрано устаревшее.
Если для тех, кто ранее не сталкивался с IT, то минус огромный, что по тем же матрицам, например, не приведены примеры практические с цифрами. Если человек не в теме, то голая теория не поможет.
Не знаю, не однозначное впечатление от книги. Вроде все хорошо, но супер пользы и целевой аудитории не вижу.
Нового ничего в книге не увидела. Америку не откроет книга, если вы учились на технической специальности. Все ранее было описано и прочитано в других учебниках. Причем доступных и бесплатных. Единственный плюс книги – собрано то, что сейчас актуально и может быть убрано устаревшее.
Если для тех, кто ранее не сталкивался с IT, то минус огромный, что по тем же матрицам, например, не приведены примеры практические с цифрами. Если человек не в теме, то голая теория не поможет.
Не знаю, не однозначное впечатление от книги. Вроде все хорошо, но супер пользы и целевой аудитории не вижу.
Книга – одна из самых лучших, что я встретил на пути изучения нейронных сетей. Во-первых, напоминаются математические основы машинного обучения. Именно напоминаются. Я потратил не один вечер на отдельные учебники по математике, чтобы вспомнить конкретные темы в достаточном качестве. Но в этой книге они даются в нужном порядке и по делу.
Это явно не публицистика, так как внутри много хардкорных вещей.
Ну и уже после прочтения половины книги я понял, что Гудфеллоу – это тот самый Ian Goodfellow, книги которого рекомендуются к прочтению при изучении темы.
Deep Learning: 15 лучших книг по глубинному обучению
Интересуетесь нейросетями и машинным обучением? Собрали подборку из 15 книг по глубинному обучению, которые помогут освоить эти технологии.
Ловите свежую подборку книг Deep Learning, которая поможет свернуть горы!
Эта книга считается «Библией», одной из лучших книг по глубинному обучению. Несмотря на то, что она написана техническим языком, её сможет осилить и технологический новичок.
Внутри рассказывается о математических и концептуальных основах, линейной алгебре, теории вероятностей и теории информации, численных вычислениях и машинном обучении. Она описывает методы глубокого обучения, используемые практиками в отрасли. Сюда входят сети с прямой связью, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей и практическая методология. Кроме того, вы узнаете об обработке естественного языка, распознавании речи, компьютерном зрении, системе онлайн-рекомендаций, биоинформатике и видеоиграх.
Это учебник по моделям глубокого обучения с использованием языка Python и мощной библиотеки Keras. Написанная создателем Keras и исследователем Google AI Франсуа Шолле, эта книга укрепит понимание технологии через объяснения и практические примеры. Вы исследуете сложные концепции и попрактикуетесь с приложениями в области компьютерного зрения, обработки естественного языка и генеративных моделей. К тому времени, как вы закончите, у вас будут знания и практические навыки для применения глубокого обучения в ваших собственных проектах.
Эта книга предполагает, что вы почти ничего не знаете о машинном обучении. Её цель − дать вам концепции, знания и инструменты для реализации программ, способных учиться на данных. Здесь рассматривается большое количество методов. Например, линейная регрессия или олимпиадные способы решения задач.
Вместо того, чтобы реализовывать собственные игрушечные версии каждого алгоритма, авторы используют существующие готовые к работе платформы Python вроде Scikit-Learn и TensorFlow.
Ричард Саттон и Эндрю Барто дают ясное и простое описание ключевых идей и алгоритмов обучения с подкреплением. Оно основано на том, что агент пытается максимизировать получаемый выигрыш, действуя в сложной среде с высоким уровнем неопределенности. Предназначена для специалистов в области искусственного интеллекта, нейросетевого моделирования и управления, а также студентов и аспирантов.
Следующий материал в подборке книг по глубинному обучению распространяется вместе со специально подготовленными онлайн-материалами. Здесь вы найдете введение в машинное обучение, что позволяет вычислительным системам улучшать свою производительность с помощью накопленного опыта. Это короткий курс, поэтому ждите качественно структурированной информации Здесь основные темы, которые должен знать каждый. Важно, что читателям также доступны электронные, регулярно обновляемые главы книги.

Это руководство познакомит вас с основами компьютерного зрения, библиотеками и лучшими практиками.

Эта книга является введением в машинное обучение от специалиста мирового уровня и суперзвезды LinkedIn Андрея Буркова. Она позволит начать работу с ML в течение нескольких дней. Достаточно первых пяти глав, а остальные понравятся практикующим инженерам, желающим использовать ML в своей повседневной работе, не тратя огромное количество времени на прохождение длинных курсов.
Это ещё одна из популярных книг по глубинному обучению. Использование алгоритмов Google в играх, победы роботов над человеком заставили технических специалистов по всему миру начать следить за технологиями машинного обучения ещё пристальнее.
Книга является исчерпывающим руководство по самым последним инструментам deep learning. Вы будете оценивать методы, включая перекрестную энтропию, учиться применять их в реальных условиях.
А ещё вы познаете основы обучения с подкреплением, сделаете робота для торговли акциями и научитесь применять естественный язык для развития чат-ботов.

Книга от всемирно известного ученого-компьютерщика Джуды Перл. Совместно с коллегами, он развеял стереотипы о причинно-следственной связи и объяснил, как мышление позволяет исследовать существующий и возможные миры, разобрал сущность человеческого и искусственного интеллекта. Как говорят авторы, книга нужна для того, чтобы показать ширину мышления.
Краткое, лёгкое и доступное введение в машинное обучение. Преимущество этой книги перед другими в простых примерах для новичков. В ней вы найдёте популярные алгоритмы и архитектурные решения, интуитивно понятные любому начинающему разработчику. Книга охватывает важные темы: от обучения нейронных сетей, обработки языка, нейронных сетей с обратной связью, до математических предпосылок и истории искусственного интеллекта. Все примеры на языке программирования Python.
Эта книга посвящена не алгоритмам машинного обучения, а тому, как заставить работать эти алгоритмы.
Чему она научит? Например, расстановке приоритетов, диагностике ошибок в системе машинного обучения, обучению систем в тестовом режиме. А ещё настройке проектов и сравнению их результатов с подобными, которые выполнены вручную человеком. Читатели узнают, когда и как применять сквозное, трансферное и многозадачное обучение.
Книга о том, как сделать модели машинного обучения и их решения понятными.
Вы узнаете о простых, интерпретируемых моделях. Например, о деревьях решений, правилах принятия решений и линейной регрессии. Все методы интерпретации подробно объясняются: сильные и слабые стороны, техническое устройство, варианты интерпретации результатов.
Кому подходит эта книга? В первую очередь, она ориентирована на практиков машинного обучения − учёных статистиков. Но будет полезна всем, кто заинтересован в том, чтобы сделать модели машинного обучения понятными.
Нейронные сети − одна из самых крутых парадигм программирования. В традиционном подходе к программированию мы разбиваем большие задачи на множество мелких и понятных. Это помогает компьютеру быстрее их выполнять. Нейронные сети учатся сами решать поступающие проблемы. По этой причине, сегодня всё больше крупных технологических компаний начинают применять технологии машинного обучения
Цель книги − помочь вам освоить основные понятия нейронных сетей, включая современные методы глубокого обучения. В процессе изучения книги, вы будете писать код, использующий нейронные сети и глубокое обучение для решения сложных задач. Таким образом, авторы рассчитывают сформировать у читателей фундаментальные навыки работы с технологией.
Понравилась подборка 15 лучших книг по глубинному обучению? Возможно, вас заинтересует следующее:
Источник: Подборка книг по глубинному обучению, которые стоит прочитать в 2019 году на FloydHub
Глубокое обучение
Автор: Гудфеллоу Я., Бенджио И., Курвилль А.
Дата выхода: июль 2017 года
Формат: 165 * 235 мм
Бумага: офсетная
Обложка: Твердый переплет
Объем, стр.: 652
ISBN: 978-5-97060-554-7
Купить электронную книгу
Аннотация
Классический труд от MIT Press теперь на русском языке!
Глубокое обучение — это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте и понимать мир в терминах иерархии концепций. Поскольку компьютер приобретает знания из опыта, отпадает нужда в человеке-операторе, который формально описывает необходимые компьютеру знания. Иерархическая организация позволяет компьютеру обучаться сложным концепциям, конструируя их из более простых; граф такой иерархии может содержать много уровней. В этой книге читатель найдет широкий обзор тем, изучаемых в глубоком обучении.
Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей, и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Наконец, описываются перспективные направления исследований: линейные факторные модели, автокодировщики, обучение представлений, структурные вероятностные модели, методы Монте-Карло, статистическая сумма, приближенный вывод и глубокие порождающие модели.
Издание будет полезно студентами и аспирантам, а также опытным программистам, которые хотели бы применить глубокое обучение в составе своих продуктов или платформ.
«Книга написана ведущими специалистами в этой области и представляет собой единственное полное изложение предмета».
— Илон Маск, сооснователь компаний Tesla и SpaceX
Оплата
Наш интернет-магазин работает только по предоплате!
Мы принимаем следующие виды оплаты:
Вы так же можете выбрать оплату по платежной квитанции и оплатить по ней покупку в отделении любого банка.
Юридические лица могут выбрать счёт на оплату.
Возврат денежных средств возможен в случаях:
Возврат не проводится в случаях:
Для оформления возврата обращайтесь по электронной почте dmkpress.help@gmail.com.
Доставка:
Курьерская доставка по Москве в течение 7 дней после оплаты заказа.
Стоимость доставки:
Самовывоз возможен в течение суток после оплаты.
Адрес для самовывоза:
115487, г. Москва, проспект Андропова, 38
Доставка почтой России: от 7 до 28 дней с момента оплаты заказа.
Стоимость доставки:
26 ноября 2018 в 09:55
Покупка книги
Здравствуйте. Книга появилась в цветном формате https://dmkpress.com/catalog/computer/data/978-5-97060-618-6/.
03 января 2018 в 21:20
как купить?
Здравствуйте. Книга появилась в цветном формате. Вы можете найти ее на сайте и заказать.
29 октября 2017 в 09:33
Второе издание
Добрый день, предварительный заказ пока не нужно делать. У нас будет отдельная рассылка на новое издание, следите за новостями.
19 октября 2017 в 17:29
новый тираж книги
Добрый день, напишите письмо с номером вашего заказа и комментарием на dmkpress.help@gmail.com.
16 октября 2017 в 21:47
e-book
Добрый день. Электронная версия появится ближе к концу года.
05 октября 2017 в 10:31
Электронная версия
29 сентября 2017 в 21:46
Новый тираж
Добрый день, в конце октября запускаем новый тираж, с исправленными опечатками и цветной печатью. В середине ноября ожидайте книгу!
24 августа 2017 в 20:06
смешанные впечатления
15 августа 2017 в 11:31
Куда писать про некорректный перевод?
Читаю только введение, но и уже нашел пару мест, которые могут смутить новичка в области из-за плохого перевода. Не вижу куда писать о таких проблемах, чтоб в будущем издании книги их поправили.
Новичкам советую держать на готове рядом открытую веб версию оригинала, в случае непонимания стараться уточнить кусок в оригинале.
Добрый день, замечания по книге пишите на dmkpress@gmail.com. Обязательно их рассмотрим, и по возможности учтем в новом издании.
03 августа 2017 в 18:38
Добрый день, в других магазинах наши книги появляются спустя 7-14 дней. Вам надо самостоятельно отслеживать их появление.














