Предисловие
Происхождение
В полдень 2016 года я ответил на вопрос «Как эффективно изучать код TensorFlow?» на платформе Zhihu. Я кратко представил свой вклад в сообщество TensorFlow, а также методы и пути изучения TensorFlow. Этот ответ вызвал отклик у некоторых людей в сообществе. Редакция People's Post and Telecommunications Press также быстро нашла меня и выразила надежду, что я смогу написать книгу о TensorFlow. Так появилась эта книга.
Почему написана эта книга
Глубокое обучение стало популярным во всём мире благодаря ImageNet. С появлением AlphaGo интерес к индустрии искусственного интеллекта со стороны инвестиционного сообщества также достиг небывалого уровня. В июле 2017 года было опубликовано уведомление Государственного совета о выпуске нового поколения плана развития искусственного интеллекта, что свидетельствует о высоком внимании государства к развитию искусственного интеллекта и чётко определяет стратегические цели Китая в области нового поколения искусственного интеллекта. В течение следующих десяти лет мы станем свидетелями полной модернизации и трансформации искусственного интеллекта в традиционных отраслях. В ходе этой глубокой трансформации TensorFlow будет генерировать огромную энергию.
TensorFlow был выпущен всего лишь месяц назад, но уже стал самым популярным фреймворком с открытым исходным кодом для проектов машинного обучения и глубокого обучения. Его популярность обусловлена глубоким опытом Google в области искусственного интеллекта и обработки данных, а также его мощным влиянием в отрасли. С момента своего открытия в ноябре 2015 года TensorFlow выпустил более 30 версий. Хотя вся экосистема TensorFlow является открытой, быстрое обновление версий и разнообразие операторов затрудняют большинству компаний, особенно небольшим или стартапам, быстрое понимание дизайна и основных принципов TensorFlow в ограниченные сроки. Архитектура распределённой системы PS-Worker в TensorFlow также быстро развивается, и она не совпадает с внутренней системой Borg на основе диспетчеризации. После открытия исходного кода TensorFlow постоянно появляются блоги, объясняющие реализацию и принципы различных компонентов. Однако, к сожалению, существует мало книг, которые глубоко анализируют внутреннюю реализацию и дизайн TensorFlow, и эта книга пытается восполнить этот пробел.
Эта книга основана на TensorFlow 1.2 и подробно рассматривает TensorFlow с точки зрения основных концепций, внутренней реализации и лучших практик. Книга фокусируется на принципах проектирования и основной реализации машинного обучения на основе потоковых диаграмм данных и знакомит с двумя важными инструментами в экосистеме TensorFlow: TensorBoard для визуализации и TensorFlow Serving для управления моделями. Кроме того, книга объединяет TensorFlow и глубокое обучение, представляя классические модели, такие как свёрточные нейронные сети (CNN), генеративно-состязательные сети (GAN) и рекуррентные нейронные сети (RNN), с теоретической основы и практической реализации. Эта книга не только всесторонне представляет использование TensorFlow от простого к сложному, но и углубляется в анализ исходного кода, позволяя читателям быстро и всесторонне изучить архитектуру и принципы реализации TensorFlow.
Целевая аудитория
(1) Разработчики TensorFlow второго уровня
Благодаря своим многочисленным преимуществам, таким как эффективность, мультиплатформенность, многоязычность и стабильность, TensorFlow всё чаще используется и развёртывается в производственных средах различными компаниями по всему миру. Чтобы решить конкретные проблемы в определённых сценариях, большинство компаний выбирают разработку на основе TensorFlow. Для этих разработчиков TensorFlow глубокого понимания принципов дизайна и деталей реализации TensorFlow является предпосылкой для модификации ядра TensorFlow, и эта книга может помочь этим читателям быстро и полностью понять принципы реализации TensorFlow.
(2) Специалисты по данным и инженеры алгоритмов
Если вы хотите использовать TensorFlow для решения практических задач в производстве и повседневной жизни, просто знать основные методы использования TensorFlow далеко не достаточно. Необходимо иметь определённое представление о концепции дизайна, архитектуре и механизме работы TensorFlow. Особенно это касается распределённых тренировочных задач, где требуется глубокое понимание распределённой архитектуры TensorFlow и принципов реализации различных параллельных моделей. Для этой аудитории эта книга проведёт их через внутренний мир архитекторов TensorFlow, помогая им системно и глубоко понять TensorFlow и потоковые диаграммы данных, повышая уровень разработки и создавая более эффективные модели машинного и глубокого обучения.
(3) Студенты, изучающие искусственный интеллект
Для студента, специализирующегося на искусственном интеллекте, помимо глубоких знаний в области теории искусственного интеллекта, необходимо также овладеть алгоритмической моделью программирования, чтобы быстро реализовать задачи исследований в реальном коде. TensorFlow — самый популярный фреймворк машинного и глубокого обучения сегодня. Читая эту книгу, студенты, изучающие искусственный интеллект, могут значительно повысить свою эффективность в повторении результатов экспериментов и разработке новых моделей, а также глубоко понять концепцию дизайна и детали реализации TensorFlow.
(4) Любители открытого программного обеспечения
TensorFlow — самая популярная открытая среда машинного и глубокого обучения в мире, которая сочетает в себе опыт первой распределённой среды машинного обучения DistBelief Google и множество инновационных идей. Стоит отметить, что способ анализа принципов проектирования и реализации TensorFlow, представленный в этой книге, возможно, заслуживает изучения и заимствования многими любителями открытого программного обеспечения. Эти читатели смогут не только оценить превосходный дизайн открытого программного обеспечения, но и освоить методы анализа исходного кода открытого программного обеспечения и навыки, тем самым ещё больше повысив свою эффективность и качество использования открытого программного обеспечения.
Как читать эту книгу
Книга разделена на пять частей (без учёта приложения):
Часть I — Основы (главы 1–3) — представляет собой введение в TensorFlow, включая цели проектирования, базовую архитектуру, подготовку среды и основные концепции, включая проектирование и использование потоковых диаграмм данных, среду выполнения и механизм обучения TensorFlow, чтобы помочь читателям быстро начать работу с TensorFlow и быстро приступить к использованию.
Часть II — Ключевые модули (главы 4–7) — фокусируется на ключевых модулях, необходимых для полного решения проблем искусственного интеллекта с использованием TensorFlow, таких как обработка данных, структура программирования, инструменты визуализации и инструменты управления моделями, чтобы помочь читателям повысить свою производительность разработки и быстро внедрить модели.
Часть III — Модели алгоритмов (главы 8–11) — после освоения TensorFlow эта часть объединяет глубокое обучение с TensorFlow, систематически представляя историю развития и сценарии применения глубокого обучения, а также сочетая теорию и код для глубокого объяснения классических моделей, таких как CNN, GAN и RNN.
Часть IV — Раскрытие секретов ядра (главы 12–14) — углубляется в детали реализации ядра, коммуникационных принципов и вычислений потоковых диаграмм, сосредотачиваясь на ядре C++, чтобы помочь читателям глубже понять идеи дизайна и детали реализации нижнего уровня TensorFlow, на чём разработчики TensorFlow должны сосредоточиться.
Часть V — Развитие экосистемы (глава 15) — всесторонне представляет развитие экосистемы TensorFlow, уделяя особое внимание библиотеке глубокого обучения Keras, интеграции TensorFlow с облачной нативной экосистемой Kubernetes и экосистемой больших данных Spark, а также представляет технологии оптимизации связи TensorFlow, TPU и модульную технологию глубокого обучения NNVM, помогая читателям получить более полное представление о текущем состоянии развития глубокого обучения.
Исправления и поддержка
Благодарим вас за то, что вы выбрали нашу работу среди множества книг. Несмотря на то, что мы стремимся точно передавать информацию в ясном языке, из-за ограничений профессионального уровня и способности выражать себя, в книге неизбежно остаются некоторые неточности. Более того, теория и технологии глубокого обучения развиваются с невероятной скоростью, и некоторые части книги могут быть устаревшими к моменту её представления читателям. Мы искренне надеемся, что вы сможете исправить ошибки в этой книге и предоставить ценные комментарии и предложения.
Читатели могут отправлять или просматривать исправления на странице сообщества Graph (http://www.ituring.com.cn/book/2397). Шаблоны и примеры кода этой книги также размещены на GitHub (https://github.com/DjangoPeng/tensorflow-in-depth), и читатели приглашаются посетить и высказать свои мнения и предложения.
Благодарности
Я хотел бы поблагодарить моего соавтора доктора Линь Цзяньбо за его глубокие знания в области компьютерных систем, которые помогли мне постоянно совершенствоваться в процессе сотрудничества над книгой. Доктор Линь также внёс значительный вклад в редактирование и корректуру этой книги.
Я также хотел бы выразить благодарность моему другому соавтору доктору Бай Сяолуну за его богатый опыт в теории и практике глубокого обучения.
Спасибо редакции People's Post and Telecommunications Press, особенно редактору Ван Цзюньхуа, за постоянную поддержку в написании этой книги в течение этого года. Её поощрение и помощь позволили нам успешно завершить эту книгу.
Также благодарю моих друзей Дин Цзэчжэнь, Синь Сяньин, Чжан Чжэнью, Ли Пэнфэй и Юй Цзянь за их предложения по редактированию и различную помощь в процессе написания и редактирования книги.
С уважением посвящаю эту книгу моим любимым родным, а также всем друзьям, увлечённым TensorFlow и глубоким обучением!
Пэн Цзинтянь
Ханчжоу
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )