Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Обычно на глубокое обучение смотрят с ужасом, считая, что только доктор математических наук или ботан, работающий в крутой айтишной корпорации, могут разобраться в этой теме. Отбросьте стереотипы: любой программист, знакомый с Python, может добиться впечатляющих результатов. Как? С помощью fastai — библиотеки, предоставляющей комфортный интерфейс для решения наиболее популярных задач. Создатели fastai доказали, что самые модные и актуальные приложения можно делать быстро и не засыпать над скучными теоретическими выкладками и зубодробительными формулами.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 731
Veröffentlichungsjahr: 2023
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Перевод Д. Брайт
Джереми Ховард, Сильвейн Гуггер
Глубокое обучение с fastai и PyTorch: минимум формул, минимум кода, максимум эффективности. — СПб.: Питер, 2022.
ISBN 978-5-4461-1475-7
© ООО Издательство "Питер", 2022
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Если вам нужен гайд, который проведет вас от первых исследований до передовых рубежей в сфере глубокого обучения, эта книга для вас. Не только доктора наук могут наслаждаться преимуществами глубокого обучения — вы тоже можете использовать его для решения рабочих задач.
Хэл Вариан (Hal Varian), заслуженный профессор Калифорнийского университета в Беркли, главный экономист Google
Сегодня искусственный интеллект активно развивается в области глубокого обучения, поэтому настало время разобраться в принципах его работы. Данная книга позволяет сделать это даже непосвященным. Авторы смогли в упрощенном виде передать то, что иные сочли бы очень сложным.
Эрик Тополь (Eric Topol), автор книги Deep Medicine, профессор Scripps Research
Джереми и Сильвейн приглашают вас в интерактивное путешествие, где каждую строчку кода вы сможете выполнить на своем ноутбуке. Это будет путешествие по долинам потерь и пикам производительности. Приправленная остроумными шутками, эта книга поражает балансом изложения глубоких технических принципов и непринужденной манеры разговора. Она даст вам эталонные практические инструменты и реальные примеры для их использования. Независимо от того, новичок вы или опытный разработчик, книга позволит ускорить ваше обучение и постичь не только вершины, но и глубины машинного обучения.
Себастьян Рудер (Sebastian Ruder), ученый-исследователь Deepmind
Джереми Ховард и Сильвейн Гуггер написали удивительную книгу — она прокладывает мост между областью ИИ и всем миром. Эта работа — исключительно содержательное и проницательное, но одновременно и понятное пособие по глубокому обучению для всех, кто интересуется этой областью.
Энтони Чанг (Anthony Chang), директор по информационным технологиям, детская больница округа Оранж
Как освоить глубокое обучение и не завязнуть в его деталях? Как быстро разобраться в его принципах, тонкостях и технических приемах с помощью примеров и кода? Все ответы здесь. Не пропустите новый источник практического глубокого обучения.
Орен Эциони (Oren Etzioni), профессор Вашингтонского университета, исполнительный директор, Институт ИИ Аллена
Эта книга — редкая жемчужина, тщательно проработанный и высокоэффективный учебный продукт, отточенный несколькими годами повторений не на одной тысяче студентов, одним из которых являюсь и я. Курс Fast.ai чудесным образом изменил мою жизнь и, без сомнений, может сделать то же самое для вас.
Джейсон Антик (Jason Antic), создатель DeOldify
Данная книга уже в первых главах учит эффективно использовать глубокое обучение. После этого в ней тщательно, но на доступном уровне рассматриваются внутренние процессы моделей машинного обучения и фреймворков. Хотел бы я иметь под рукой такую книгу, когда только начинал осваивать машинное обучение!
Эммануэль Амейсен (Emmanuel Ameisen), автор приложений на основе машинного обучения
«Глубокое обучение — для всех» — утверждается в первой главе. Подобное заявление можно встретить и в других книгах, но здесь оно раскрывается в полной мере. Авторы обладают обширными знаниями и при этом способны доступно донести их людям, знакомым с программированием, но не имеющим опыта в машинном обучении. Сначала даются примеры, и только затем рассматривается теория. Для большинства людей это наилучший способ обучения. Здесь вы найдете приложения глубокого обучения для области компьютерного зрения, обработки естественного языка и табличных данных, а также ознакомитесь с такой важной темой, как этика данных, которой так не хватает многим книгам. Материал представляет собой один из лучших ресурсов для программиста, изучающего глубокое обучение.
Питер Норвиг (Peter Norvig), директор по исследованиям Google
Гуггер и Ховард создали идеальный источник знаний для тех, кто хоть немного знаком с программированием. Благодаря практическому подходу и предварительно написанному коду они отлично раскрывают тему глубокого обучения. Больше не нужно мучиться с теоремами и доказательствами абстрактных понятий. Уже в первой главе вы создадите свою модель глубокого обучения, а к концу книги сможете читать и понимать раздел «Методы» любой научной работы по глубокому обучению.
Кертис Ланглотц (Curtis Langlotz), директор центра использования искусственного интеллекта для медицины и обработки изображений, Стэнфордский университет
Эта книга проливает свет на самый черный из всех черных ящиков — глубокое обучение. Она позволяет начать активно экспериментировать с кодом, используя возможности Python. Глубоко затрагиваются этические последствия применения ИИ. Авторы показывают, как не допустить появления антиутопии.
Гийом Шасло (Guillaume Chaslot), сотрудник Mozilla
Меня часто спрашивают, как начать осваивать глубокое обучение. Я же всегда указываю на fastai. Эта книга решает, казалось бы, невыполнимую задачу, выступая понятным руководством для сложного предмета. При этом она полна передовых открытий, которые, без сомнения, оценят даже опытные разработчики.
Кристин Пейн (Christine Payne), специалист OpenAI
Чрезвычайно практичная и доступная книга, которая поможет быстро начать создавать собственные проекты. Это очень понятное и легко читаемое руководство по практическому глубокому обучению, которое окажется полезным для всех: от начинающих программистов до руководителей и менеджеров проектов. Такую книгу я мечтала иметь много лет назад!
Кэрол Райли (Carol Reiley), президент-учредитель и председатель Drive.ai
Компетентность Джереми и Сильвейна в области глубокого обучения, их практичный подход, а также участие в открытых проектах сделали их ключевыми фигурами в сообществе PyTorch. Книга является продолжением работы, которую ее авторы совместно с сообществом fast.ai делают для повышения доступности машинного обучения, что в дальнейшем окажет серьезное влияние на всю сферу ИИ.
Джером Песенти (Jerome Pesenti), вице-президент подразделения ИИ в Facebook
Сегодня глубокое обучение — одна из наиболее важных технологий. С ее помощью были достигнуты многие прорывы в сфере ИИ. Глубокое обучение больше не является областью, доступной только для ученых. Эта книга, основанная на популярном курсе fast.ai, делает глубокое обучение ближе всем тем, кто имеет опыт программирования. Обучение строится по целостному принципу, с помощью практических примеров и интерактивного сайта. Кстати, для кандидатов наук здесь тоже найдется много интересного.
Григорий Пятецкий-Шапиро (Gregory Piatetsky-Shapiro), президент KDnuggets
Эта книга — продолжение курса fast.ai, который я неустанно рекомендовал всем на протяжении нескольких лет. Она превратит вас из новичка в опытного практика буквально за считаные месяцы. Наконец-то появилось что-то стоящее!
Луи Монье (Louis Monier), учредитель Altavista; бывший глава Airbnb AI Lab
Рекомендуем эту книгу! В ней описаны продвинутые фреймворки, позволяющие без лишней суеты проработать реальные задачи ИИ и автоматизации. В итоге у вас остается время для часто игнорируемых тем, таких как безопасный перенос моделей в продакшен и этика данных.
Джон Маунт (John Mount) и Нина Зумель (Nina Zumel), авторы книги Practical Data Science with R
Эта книга предназначена для программистов и подойдет даже тем, у кого нет ученой степени. Хоть я и обладаю такой степенью, но я не программист. Так почему же меня попросили оценить ее? Думаю, чтобы я рассказал вам, что она чертовски крута!
Прочитав первые две страницы первой главы, вы узнаете, как с помощью всего четырех строк кода и менее одной минуты вычислений получить эталонную сеть, способную отличать кошек от собак. Во второй главе вы перейдете от модели в продакшен, узнав, как быстро разместить приложение в вебе, не прибегая к HTML или JavaScript и не имея собственного сервера.
Эта книга как луковица. Вы получаете полноценный пакет с наилучшими возможными настройками. Если потребуется что-то переделать, то вы просто снимаете внешний слой. Нужны дополнительные настройки? Можно продолжить снимать оболочки. Еще? Углубляйтесь до уровня использования только PyTorch. На всем 600-страничном путешествии вас будут направлять три голоса, предлагая свою точку зрения.
Альфредо Канциани (Alfredo Canziani), профессор Нью-Йоркского университета NYU
Это доступная и построенная на принципе диалога книга, которая рассказывает об основах и понятиях глубокого обучения. Авторы с самого начала приводят практические примеры, а теорию — по мере необходимости. Практик может начать знакомство с миром глубокого обучения на примерах в первой половине книги, а глубокие принципы откроются уже во второй части. И наконец-то все мифы будут окончательно развеяны.
Джош Паттерсон (Josh Patterson), Patterson Consulting
Глубокое обучение (deep learning, DL) — новая мощная технология, и мы считаем, что ее следует использовать в разных дисциплинах. Эксперты, скорее всего, найдут новые возможности ее применения, и нам хотелось бы, чтобы специалисты различного профиля также включились в процесс обучения.
По этой причине и не только Джереми принял участие в создании fast.ai, организации, которая стремится сделать глубокое обучение доступным с помощью бесплатных онлайн-курсов и ПО. Сильвейн — инженер-исследователь в Hugging Face. До этого он занимал должность ученого-исследователя в fast.ai, а также преподавал математику и computer science по программе подготовки студентов к поступлению в элитные университеты Франции. Мы вместе написали эту книгу, чтобы помочь как можно большему числу людей начать использовать глубокое обучение.
Если вы новичок в области глубокого и машинного обучения, эта книга для вас. Но желательно уметь писать код на Python.
Нет опыта? Не проблема!
Если же код вы раньше не писали, то и это не проблема. Первые три главы написаны так, чтобы руководители, менеджеры по продукту и другие специалисты без труда поняли наиболее важные аспекты глубокого обучения. Встречая в тексте отрывки кода, просматривайте их, чтобы сформировать интуитивное понимание его работы. Мы же будем объяснять код строка за строкой. В этом случае не так важен синтаксис, как высокоуровневое понимание.
Если вы уверенно себя чувствуете в глубоком обучении, то все равно найдете в книге много полезного. Мы покажем, как добиваться высоких результатов, и познакомим вас с новейшими передовыми техниками. Вы увидите, что для этого не требуется глубокое знание математики. Нужны лишь здравый смысл и упорство.
Единственное (желательное) требование — умение писать код (года опыта будет достаточно), лучше всего на Python, а также знание математики из курса старших классов. Даже если вы ее подзабыли, мы поможем освежить знания. Отличным вспомогательным ресурсом послужит Khan Academy (https://www.khanacademy.org/).
Мы не говорим, что в глубоком обучении нет математики сложнее той, что изучают в старшей школе, но мы дадим вам основы, которые понадобятся для понимания рассматриваемых тем (или направим на нужные ресурсы).
Начнем с общей картины и постепенно будем углубляться, поэтому время от времени вам может потребоваться изучить дополнительные темы (программирование чего-либо или математику). Это нормально — именно так мы и будем строить работу. Читайте книгу и изучайте дополнительные ресурсы по мере необходимости.
Онлайн-ресурсы
Все примеры кода доступны онлайн в виде блокнотов Jupyter (в главе 1 мы расскажем, что это). Это интерактивная версия книги, где можно выполнять код и экспериментировать с ним. Дополнительно об этом можно прочитать на сайте книги (https://book.fast.ai/). Там же содержится актуальная информация о настройке различных инструментов и дополнительные главы.
Прочитав эту книгу, вы будете знать следующее.
• Как обучать модели, достигающие эталонных результатов:
• в компьютерном зрении, включая распознавание изображений (например, классификацию фотографий домашних животных по породам), а также локализацию изображений и обнаружение (например, поиск животных на изображении);
• в обработке естественного языка (NLP), включая классификацию документов (например, анализ тональности) и языковое моделирование;
• в обработке табличных данных (например, прогнозировании продаж) с категориальными, непрерывными и смешанными данными, включая временной ряд;
• в совместной фильтрации (например, рекомендации фильмов).
• Как преобразовывать модели в веб-приложения.
• Почему и как работают модели глубокого обучения, а также как на основе этих знаний повысить точность, скорость и надежность таких моделей.
• Как работают новейшие техники глубокого обучения, наиболее актуальные в практических задачах.
• Как читать исследовательские работы по глубокому обучению.
• Как реализовывать алгоритмы глубокого обучения с нуля.
• Как анализировать этические последствия вашей работы, чтобы в итоге она позволила сделать мир лучше и не могла быть использована во вред.
Полный перечень в содержании, но для краткого представления мы приведем несколько техник, которые рассмотрим (не переживайте, если слова кажутся непонятными, — скоро вы все узнаете):
• аффинные функции и нелинейности;
• параметры и активации;
• случайная инициализация и трансфертное обучение (transfer learning);
• SGD, Momentum, Adam и другие оптимизаторы;
• свертки;
• пакетная нормализация;
• дропаут;
• увеличение (аугментация) данных;
• уменьшение весов;
• архитектуры ResNet и DenseNet;
• классификация и регрессия изображений;
• вложения;
• рекуррентные нейронные сети (RNN);
• сегментация;
• U-Net
• и многое другое!
Вопросники
В конце каждой главы вы найдете тест. Он поможет закрепить полученные знания — если (мы надеемся!) вы сможете ответить на все вопросы. Кстати, один из рецензентов книги (спасибо, Фред!) сказал, что предпочитает начинать главу именно с вопросника, чтобы сразу понимать, на что обращать внимание.
Глубокое обучение весьма быстро стало популярной методикой, которая решает и автоматизирует задачи в области компьютерного зрения, робототехники, здравоохранения, физики, биологии и т.д. К приятным особенностям глубокого обучения можно отнести его сравнительную простоту. Есть много софта, благодаря которому буквально за несколько недель можно понять основы и освоить необходимые техники.
Здесь открывается целый мир творчества. Вы используете полученные знания для решения задач с данными, наблюдая, как машина справляется с этими задачами за вас. Затем вы приближаетесь к новому этапу, когда, создав модель глубокого обучения, понимаете, что работает она не так, как вы рассчитывали. И дальше вы начинаете искать и изучать новейшие исследования в глубоком обучении.
Эта область охватывает невероятный объем знаний — теорию и великое множество техник и инструментов, стоящих за ней. Надо признать, что люди склонны объяснять простое сложным языком. Ученые используют в своих работах непонятные слова и математические выражения, и кажется, что ни посты, ни туториалы не освещают нужную информацию доступным образом. Инженеры и программисты предполагают, что вы уже знаете, как работают GPU, и разбираетесь в малоизвестных инструментах.
Именно здесь закрадывается мысль, что неплохо бы иметь наставника или друга, которому можно задать вопросы. Кого-то, кто уже бывал в похожей ситуации и знает и инструменты, и математику, кто сможет рассказать о наилучших исследованиях, эталонных техниках и продвинутых инженерных решениях, до смешного упрощая задачу. Я был в похожей ситуации около десяти лет назад, когда только начинал знакомиться с машинным обучением (machine learning, ML). Несколько лет я с трудом понимал работы, где была математика. Меня окружали хорошие наставники, которые здорово помогали, но чтобы начать уверенно использовать машинное и глубокое обучение, потребовались годы. Это послужило мотивом принять участие в разработке PyTorch, фреймворка, делающего глубокое обучение доступным.
Джереми Говард и Сильвейн тоже были на вашем месте. Они начали осваивать и применять глубокое обучение, не являясь учеными или инженерами в области ML. Как и я, Джереми и Сильвейн учились несколько лет и в итоге стали не только экспертами, но и лидерами. Но в отличие от меня, они делали все возможное, чтобы в будущем другим людям не пришлось идти по такому же сложному пути. Они разработали отличный курс под названием fast.ai, который делает передовые техники глубокого обучения доступными для тех, кто умеет программировать. Сотни тысяч желающих окончили этот курс, став отличными практиками.
В книге Джереми и Сильвейн используют простые слова и поясняют каждое понятие, доступно описывая передовые техники глубокого обучения и эталонные исследования.
Вас познакомят с последними достижениями в области компьютерного зрения, научат обработке естественного языка и дадут основы математики. Но на этом веселье не заканчивается — ведь затем вам покажут, как реализовать ваши идеи в продакшене. Пускай сообщество fast.ai, объединяющее тысячи практиков онлайн, станет вашей семьей, где все люди могут обсуждать и находить решения любых проблем.
Я очень рад, что вы взялись за эту книгу, и надеюсь, она вдохновит вас на правильное использование глубокого обучения, независимо от области решаемой задачи.
Сумит Чинтала (Soumith Chintala), соавтор PyTorch
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
