Deep Learning with Python
2
— один из самых популярных учебников по прикладному
машинному обучению, автором которого является создатель Keras, Франсуа Шолле.
1
Cai C., Guo P.
Software Developers Learning Machine Learning: Motivations, Hurdles and
Desires // IEEE Symposium on Visual Languages and HumanCentric Computing, 2019.
2
Шолле Ф.
Глубокое обучение на Python. — СПб.: Питер, 2020.
14
Предисловие
Основанная на наработках Шолле, «JavaScript для глубокого обучения» замечатель
но демонстрирует уникальные свойства JavaScript: интерактивность, переносимость
и возможность локальных вычислений. Она охватывает основные понятия машин
ного обучения, но не уклоняется и от обсуждения последних достижений ML, таких
как перевод текста, генеративные модели и обучение с подкреплением. В издании
вы найдете даже практические советы по внедрению моделей ML в реальные прило
жения от специалистов, обладающих обширным опытом использования машинного
обучения на практике. Примеры в этой книге снабжены иллюстрациями уникальных
преимуществ экосистемы JavaScript. Исходный код всех примеров открыт, так что
вы можете экспериментировать с ним и создавать его ветки.
Читатели, которые хотели бы изучить ML и использовать JavaScript в качестве
основного языка программирования, могут рассматривать эту книгу как заслужи
вающий доверия источник информации. Надеемся, вы сочтете изложенные в этой
книге передовые идеи машинного обучения и JavaScript полезными, а свое путеше
ствие по ML на JavaScript — плодотворным и увлекательным.
Нихил Торат и Дэниел Смилков,
создатели deeplearn.js и технические
руководители TensorFlow.js
Введение
Вероятно, важнейшее событие в современной истории технологий — резкий рост
возможностей нейронных сетей, начавшийся в 2012 году, когда увеличение размеров
маркированных наборов данных, вычислительных мощностей и алгоритмических
инноваций совокупно достигло критической массы. После этого нейронные сети
сделали вполне решаемыми невыполнимые ранее задачи и резко повысили точ
ность решения многих других задач, переведя их из сугубо теоретической плоско
сти в сферу практического применения в таких областях, как распознавание речи,
маркирование изображений, создание генеративных моделей и рекомендательных
систем. Причем это далеко не все.
На этом фоне наша команда из Google Brain начала разработку TensorFlow.js.
При запуске данного проекта многие считали глубокое обучение на JavaScript за
бавной новинкой, даже диковинкой, развлечением, подходящим лишь для опре
деленных сценариев использования, а не чемто серьезным. В то время как для
Python уже существовало несколько испытанных фреймворков для глубокого об
учения, обладавших широкими возможностями, ландшафт машинного обучения на
JavaScript оставался раздробленным и неполным. Большинство немногочисленных
доступных в те времена библиотек JavaScript поддерживали только развертывание
заранее обученных на других языках моделей (чаще всего на Python). Диапазон под
держиваемых типов моделей в тех немногих, что поддерживали создание и обучение
с нуля, был весьма ограничен. Очень странная ситуация, если учесть популярность
JavaScript и его повсеместное использование как в клиентской, так и в серверной
частях систем.
TensorFlow.js — первая полнофункциональная библиотека промышленного
уровня, предназначенная для создания нейронных сетей на JavaScript. Спектр
предоставляемых ею возможностей довольно широк. Вопервых, она поддерживает
большой диапазон слоев нейронных сетей, подходящих для различных типов дан
ных, от числовых до текстовых, от аудио до видеоданных. Вовторых, TensorFlow.js
предоставляет API, позволяющие загружать предобученные модели для логического
вывода, тонко настраивать их, а также создавать и обучать модели с нуля. Втретьих,
она предоставляет как высокоуровневый API аля Keras для специалистовпракти
ков, предпочитающих использовать испытанные типы слоев, так и низкоуровневый
API аля TensorFlow для желающих реализовать более новые типы алгоритмов.
Наконец, библиотека спроектирована в расчете на работу в широком диапазоне сред
и типов аппаратного обеспечения, включая браузеры, серверную часть (Node.js), мо
бильные среды (например, React Native и WeChat), а также настольные компьютеры
(electron). Кроме всего прочего, библиотека TensorFlow.js является полноправной
составной частью экосистемы TensorFlow/Keras и обеспечивает согласованность
API и двустороннюю совместимость «модель — формат» с библиотеками Python.
Наша книга сыграет роль гида в вашем долгом путешествии по этому многомер
ному пространству возможностей. Мы выбрали маршрут, пролегающий в основном
по первому измерению этого пространства (задачам моделирования), но он допол
нен экскурсиями вдоль прочих измерений. Начнем с относительно простой задачи
предсказания чисел на основе других чисел (регрессия) и постепенно перейдем
к более сложным задачам, например к предсказанию классов по изображениям и по
следовательностям. Закончим же наше путешествие захватывающими вопросами
использования нейронных сетей для генерации новых изображений и обучения
агентов принимать решения (обучение с подкреплением).
Мы рассчитывали, что книга послужит не только сборником рецептов по напи
санию кода на TensorFlow.js, но и вводным курсом по основам машинного обучения
на «родном» языке вебразработчиков — JavaScript. Сфера глубокого обучения
развивается очень быстро. Мы убеждены, что можно досконально разобраться
в машинном обучении без формального математического описания и благодаря
полученным знаниям в дальнейшем поддерживать актуальное представление об
эволюции этих методик.
Взяв в руки эту книгу, вы сделали первый шаг к тому, чтобы стать частью быстро
растущего сообщества разработчиков машинного обучения на JavaScript, уже создав
ших множество важнейших приложений на стыке JavaScript и глубокого обучения.
Мы искренне верим, что книга станет искрой, которая воспламенит ваше желание
творить в этой сфере.
Do'stlaringiz bilan baham: |