Deep learning with python by francois chollet

choose your plan

  • share your subscription with one other person
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deep Learning with Python, Second Edition ebook for free

team

  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deep Learning with Python, Second Edition ebook for free

choose your plan

pro

  • share your subscription with one other person
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deep Learning with Python, Second Edition ebook for free

team

  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deep Learning with Python, Second Edition ebook for free

choose your plan

pro

  • share your subscription with one other person
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deep Learning with Python, Second Edition ebook for free

team

  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deep Learning with Python, Second Edition ebook for free

free previous edition eBook included

An eBook copy of the previous edition of this book is included at no additional cost. It will be automatically added to your Manning Bookshelf within 24 hours of purchase.

Chollet is a master of pedagogy and explains complex concepts with minimal fuss, cutting through the math with practical Python code. He is also an experienced ML researcher and his insights on various model architectures or training tips are a joy to read.

Martin Görner, Google

Printed in full color! Unlock the groundbreaking advances of deep learning with this extensively revised new edition of the bestselling original. Learn directly from the creator of Keras and master practical Python deep learning techniques that are easy to apply in the real world.

Читайте также:  Html коды цвета для самп

In Deep Learning with Python, Second Edition you will learn:

  • Deep learning from first principles
  • Image classification and image segmentation
  • Timeseries forecasting
  • Text classification and machine translation
  • Text generation, neural style transfer, and image generation
  • Printed in full color throughout

about the technology

Recent innovations in deep learning unlock exciting new software capabilities like automated language translation, image recognition, and more. Deep learning is quickly becoming essential knowledge for every software developer, and modern tools like Keras and TensorFlow put it within your reach—even if you have no background in mathematics or data science. This book shows you how to get started.

about the book

Deep Learning with Python, Second Edition introduces the field of deep learning using Python and the powerful Keras library. In this revised and expanded new edition, Keras creator François Chollet offers insights for both novice and experienced machine learning practitioners. As you move through this book, you’ll build your understanding through intuitive explanations, crisp color illustrations, and clear examples. You’ll quickly pick up the skills you need to start developing deep-learning applications.

Источник

Книга «Глубокое обучение на Python»

image

Глубокое обучение — Deep learning — это набор алгоритмов машинного обучения, которые моделируют высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных преобразований. Согласитесь, эта фраза звучит угрожающе. Но всё не так страшно, если о глубоком обучении рассказывает Франсуа Шолле, который создал Keras — самую мощную библиотеку для работы с нейронными сетями. Познакомьтесь с глубоким обучением на практических примерах из самых разнообразных областей. Книга делится на две части: в первой даны теоретические основы, вторая посвящена решению конкретных задач. Это позволит вам не только разобраться в основах DL, но и научиться использовать новые возможности на практике.

Обучение — это путешествие длиной в жизнь, особенно в области искусственного интеллекта, где неизвестностей гораздо больше, чем определенности. Внутри приведен отрывок «Исследование и мониторинг моделей глубокого обучения с использованием обратных вызовов Keras и TensorBoard».

Об этой книге

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

В этой книге предлагается реальное практическое исследование глубокого обучения. Мы старались избегать математических формул, предпочитая объяснять количественные понятия с помощью фрагментов кода и формировать практическое понимание основных идей машинного и глубокого обучения.

Вы увидите более 30 примеров программного кода с подробными комментариями, практическими рекомендациями и простыми обобщенными объяснениями всего, что нужно знать для использования глубокого обучения в решении конкретных задач.

Читайте также:  Exaple of pre tag.

В примерах используются фреймворк глубокого обучения Keras, написанный на Python, и библиотека TensorFlow в качестве внутреннего механизма. Keras — один из популярнейших и быстро развивающихся фреймворков глубокого обучения. Он часто рекомендуется как наиболее удачный инструмент для начинающих изучать глубокое обучение.

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

Исследование и мониторинг моделей глубокого обучения с использованием обратных вызовов Keras и TensorBoard

В этом разделе мы рассмотрим способы получения более полного доступа к внутренним механизмам модели во время обучения и управления ими. Запуск процедуры обучения на большом наборе данных и продолжительностью в десятки эпох вызовом model.fit() или model.fit_generator() напоминает запуск бумажного самолетика: придав начальный импульс, вы больше никак не управляете ни траекторией его полета, ни местом приземления. Чтобы избежать отрицательных результатов (и потери бумажного самолетика), лучше использовать не бумажный самолетик, а управляемый беспилотник, анализирующий окружающую обстановку, посылающий информацию о ней обратно оператору и автоматически управляющий рулями в зависимости от своего текущего состояния. Приемы, которые будут представлены здесь, превратят вызов model.fit() из бумажного самолетика в интеллектуальный автономный беспилотник, способный оценивать свое состояние и своевременно выполнять управляющие воздействия.

Применение обратных вызовов для воздействия на модель в ходе обучения

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

Гораздо лучше было бы остановить обучение, как только выяснится, что оценка потерь на проверочном наборе перестала улучшаться. Это можно реализовать с использованием механизма обратных вызовов в Keras. Обратный вызов — это объект (экземпляр класса, реализующего конкретные методы), который передается в модель через вызов fit и который будет вызываться моделью в разные моменты в процессе обучения. Он имеет доступ ко всей информации о состоянии модели и ее качестве и может предпринимать следующие действия: прерывать обучение, сохранять модели, загружать разные наборы весов или как-то иначе изменять состояние модели.

Вот несколько примеров использования обратных вызовов:

  • фиксация состояния модели в контрольных точках — сохранение текущих весов модели в разные моменты в ходе обучения;
  • ранняя остановка — прерывание обучения, когда оценка потерь на проверочных данных перестает улучшаться (и, конечно, сохранение лучшего варианта модели, полученного в ходе обучения);
  • динамическая корректировка значений некоторых параметров в процессе обу­чения, например шага обучения оптимизатора;
  • журналирование оценок для обучающего и проверочного наборов данных в ходе обучения или визуализация представлений, получаемых моделью, по мере их обновления — индикатор выполнения в Keras, с которым вы уже знакомы, — обратный вызов!
keras.callbacks.ModelCheckpoint keras.callbacks.EarlyStopping keras.callbacks.LearningRateScheduler keras.callbacks.ReduceLROnPlateau keras.callbacks.CSVLogger

Рассмотрим некоторые из них, чтобы получить представление о том, как ими пользоваться: ModelCheckpoint, EarlyStopping и ReduceLROnPlateau.

Читайте также:  Модуль в си шарп это

Обратные вызовы ModelCheckpoint и EarlyStopping

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

image

Обратный вызов ReduceLROnPlateau

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

image

Разработка своего обратного вызова

Если в ходе обучения потребуется выполнить какие-то особые действия, не предусмотренные ни одним из встроенных обратных вызовов, можно написать свой обратный вызов. Обратные вызовы реализуются путем наследования класса keras.callbacks.Callback. Вы можете реализовать любые из следующих методов с говорящими именами, которые будут вызываться в соответствующие моменты

image

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

  • self.model — экземпляр модели, вызвавшей этот обратный вызов;
  • self.validation_data — значение, переданное методу fit в качестве проверочных данных.

image

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

Об авторе

image

Франсуа Шолле (François Chollet) занимается проблематикой глубокого обучения в Google, в городе Маунтин-Вью, штат Калифорния. Является создателем Keras — библиотеки глубокого обучения, а также участником проекта по разработке фреймворка машинного обучения TensorFlow. Также занимается исследованиями в области машинного обучения, основное внимание уделяя распознаванию образов и применению машинного обучения к формальным рассуждениям. Выступал с докладами на крупных конференциях в этой области, включая «Conference on Computer Vision and Pattern Recognition» (CVPR), «Conference and Workshop on Neural Information Processing Systems» (NIPS), «International Conference on Learning Representations» (ICLR) и др.

Для Хаброжителей скидка 20% по купону — Deep Learning with Python

Источник

Оцените статью