а русском языке, оформление. ООО «Манн, Иванов и Фербер», 2020
Предисловие
С оживлением нейросетей в 2000-е годы глубокое обучение стало очень активно развивающейся областью исследований, основой передачи знаний с помощью машин. В этой книге приведены примеры и объяснения, которые помогут понять основные идеи этой сложной отрасли. Такие крупные компании, как Google, Microsoft и Facebook, уделяют внимание глубокому обучению и расширяют свои подразделения в этой области. Для всех прочих глубокое обучение остается сложным, многогранным и малопонятным предметом. В работах по этой теме много неясного жаргона, а разнообразные учебники, выложенные в сети, не дают четкого представления о том, как решаются задачи в данной области. Наша цель – восполнить этот пробел.
Требования и цели
Это книга для аудитории, на базовом уровне владеющей математическим анализом, матричным исчислением и программированием на Python. Понять материал без этих знаний можно, но, скорее всего, очень сложно. Для некоторых разделов пригодится эрудиция в области линейной алгебры. К концу книги, надеемся, читатели уже будут понимать принципы решения задач в глубоком обучении, исторический контекст современных подходов к нему и узнают, как внедрить его алгоритмы при помощи открытой библиотеки TensorFlow.
Условные обозначения
В книге используются следующие виды выделений. (К сожалению формат FB2 не позволяет воспроизводить встроенные в книгу шрифты, поэтому моноширинный шрифт может быть заменен на выбранный вами основной шрифт текста. Примеч. редактора эл. книги.)
Курсив
Новые термины, ссылки, названия и расширения файлов.
Моноширинный шрифт
Им оформлены программные элементы – названия переменных или свойств, базы данных, переменные среды, операторы и ключевые слова.
Моноширинный шрифт, полужирный
Команды или иной текст, вводимые пользователем.
Моноширинный шрифт, курсив
То, что нужно заменить пользовательскими значениями или такими, которые определяются контекстом (например, переменные в формулах).
Образцы кода
Дополнительный материал (образцы кода, примеры и т. д.) вы найдете по адресу https://github.com/darksigma/Fundamentals-of-Deep-Learning-Book.
Эта книга поможет вам в работе. Если приведен пример кода, его можно использовать в программах и документах. Не нужно получать у нас разрешение, если только вы не воспроизводите значительную часть кода. Например, написание программы, где использовано несколько кусков кода из этой книги, согласования не требует. Но необходимо разрешение на продажу или распространение CD-ROM с примерами из книг O’Reilly. Цитирование текста и кода из этой книги при ответах на вопросы разрешения не требует. На включение крупных фрагментов образца кода из этой книги в документацию вашего продукта необходимо разрешение.
Мы не требуем ссылок, но будем благодарны за них. Ссылка обычно включает название, автора и издательство. Например: Fundamentals of Deep Learning by Nikhil Buduma and Nicholas Locascio (O’Reilly). Copyright 2017 Nikhil Buduma and Nicholas Locascio.
Если вам кажется, что использование вами образцов кода выходит за установленные выше рамки, свяжитесь с нами по электронной почте [email protected].
Глава 1. Нейросеть
Создание умных машин
Мозг – самый невероятный орган. Именно он определяет, как мы воспринимаем всё, что видим, слышим, обоняем, пробуем на вкус и осязаем. Он позволяет хранить воспоминания, испытывать эмоции и даже мечтать. Без мозга мы были бы примитивными организмами, способными лишь на простейшие рефлексы. В целом он делает человека разумным.
Мозг ребенка весит меньше полукилограмма, но как-то решает задачи, пока недоступные даже самым большим и мощным компьютерам. Всего через несколько месяцев после рождения дети способны распознавать лица родителей, отделять объекты от фона и даже различать голоса. За первый год у них развивается интуитивное понимание естественной физики, они учатся видеть, где находятся частично или полностью скрытые от них объекты, и ассоциировать звуки с их значениями. Уже в раннем возрасте они на высоком уровне овладевают грамматикой, а в их словаре появляются тысячи слов[1].
Десятилетиями мы мечтаем о создании разумных машин с таким же мозгом, как у нас: роботов-помощников для уборки в доме; машин, которые управляют собой сами; микроскопов, автоматически выявляющих болезни. Но создание машин с искусственным интеллектом требует решения сложнейших вычислительных задач в истории, которые, однако, наш мозг способен раскусить в доли секунды. Для этого нужно разработать иной способ программирования компьютеров при помощи методов, которые появились в основном в последние десять лет. Это очень активная отрасль в исследованиях искусственного интеллекта, которая получила название глубокого обучения.
Ограничения традиционных компьютерных