Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Машинное обучение для детей. Практическое введение в искусственный интеллект

Покупка
Артикул: 817823.01.99
Книга знакомит школьников с машинным обучением через выполнение 13 практических проектов в доступной образовательной онлайн-среде с применением языка визуального программирования Scratch. Все проекты в книге сопровождаются подробными пошаговыми инструкциями, доступными для любого новичка.
Лейн, Д. Машинное обучение для детей. Практическое введение в искусственный интеллект : практическое пособие / Д. Лейн. - Москва : Лаборатория знаний, 2023. - 291 с. - (Школа юного программиста). - ISBN 978-5-93208-646-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2115239 (дата обращения: 09.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Москва
Лаборатория знаний
2023

Практическое введение
в искусственный интеллект

МАШИННОЕ
ОБУЧЕНИЕ
ДЛЯ ДЕТЕЙ

Дейл  Лейн

Перевод с английского
М.А. Федотенко

Электронное издание

Ш К О Л А  Ю Н О Г О  П Р О Г Р А М М И С Т А
◀
▶
УДК 004.5
ББК 32.973.3 + 32.813.5
Л48

С е р и я
о с н о в а н а
в
2018 г.
Лейн Д.
Л48
Машинное обучение для детей. Практическое введение

в
искусственный
интеллект
/
Д. Лейн
;
пер. с англ. — Электрон. изд. — М. : Лаборатория знаний, 
2023. — 291 с. — (Школа юного программиста). —
Систем. требования: Adobe Reader XI ; экран 10". —
Загл. с титул. экрана. — Текст : электронный.
ISBN 978-5-93208-646-9
Книга
знакомит
школьников
с
машинным
обучением
через выполнение 13 практических проектов в доступной
образовательной онлайн-среде с применением языка визуального

программирования
Scratch. Все
проекты
в
книге
сопровождаются
подробными
пошаговыми
инструкциями,
доступными для любого новичка.
УДК 004.5
ББК 32.973.3 + 32.813.5

Деривативное издание на основе печатного аналога: Машинное 
обучение для детей. Практическое введение в искусственный 
интеллект / Д. Лейн ; пер. с англ. — М. : Лаборатория
знаний,
2023. — 288 с.
:
ил. — (Школа
юного
программиста). — 
ISBN 978-5-93208-321-5.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных 
техническими средствами защиты авторских прав, правообладатель
вправе требовать от нарушителя возмещения убытков или выплаты компенсации

ISBN 978-5-93208-646-9

©
Copyright
2021 by Dale Lane.
Оригинальное англоязычное название:
Machine Learning for Kids: A Project-Based
Introduction to Artificial Intelligence,
ISBN 9781718500563, опубликовано
No Starch Press Inc. 245 8th Street, San
Francisco, California United States 94103.

© Перевод, Лаборатория знаний, 2023.
По лицензии No Starch Press Inc.
Все права защищены.
Об авторе

Дейл Лейн — ведущий разработчик в компании IBM с богатым 
опытом работы в сфере искусственного интеллекта и машинного 
обучения. Работал над многими проектами в области искусственного 
интеллекта для клиентов IBM, в течение нескольких 
лет был разработчиком IBM Watson Studio.

О техническом рецензенте

Майя Пош — разработчик программного и аппаратного обеспечения, 
специализируется на языках программирования C++, Ada 
и языке проектирования VHDL. Автор художественных и научно-
популярных произ ведений.
ОГЛАВЛЕНИЕ
ОГЛАВЛЕНИЕ

Благодарности ...............................................................................10
Предисловие ..................................................................................11
Введение .......................................................................................13

Scratch ......................................................................................14

Знакомство с интерфейсом Scratch ..........................................14
Программирование в среде Scratch ..........................................15
Сохранение результатов вашей работы ....................................17

Проект «Машинное обучение для детей» .....................................18
Что дальше? ..............................................................................19

Глава 1. Что такое искусственный интеллект? ................................22

Программирование .....................................................................22
Машинное обучение ...................................................................23
Искусственный интеллект ...........................................................24
Нейронные сети и глубокое обучение ..........................................25
Что вы узнали ...........................................................................26

Глава 2. Знакомство с онлайн-инструментом «Машинное обучение 
для детей» .....................................................................................27

Вход в систему ..........................................................................28
Создание нового проекта  ...........................................................29
Этапы работы над проектом  ......................................................31

Этап «Обучить» .....................................................................32
Этап «Узнать и проверить» ....................................................33
Этап «Создать» ......................................................................34

Создание аккаунта .....................................................................35
Что вы узнали ..........................................................................38

Глава 3. Сортировка изображений животных  .................................39

Выполнение проекта  .................................................................40

Обучение модели  ..................................................................40
Подготовка проекта  ..............................................................45
Тестирование модели  ............................................................51

Обзор и улучшение проекта .......................................................52
Что вы узнали ..........................................................................55

Глава 4. Игра с компьютером в «Камень, ножницы, бумага»  .........56

Выполнение проекта  .................................................................57

Обучение модели  ..................................................................57
Подготовка проекта-игры .......................................................61
Тестирование игры  ...............................................................64

Обзор и улучшение проекта .......................................................64
Что вы узнали ..........................................................................67

Глава 5. Распознавание постеров фильмов  .....................................68

Выполнение проекта  .................................................................70

Обучение модели  ..................................................................70
Подготовка проекта  ..............................................................75
ОГЛАВЛЕНИЕ

Тестирование модели  ............................................................85

Обзор и улучшение проекта .......................................................86
Что вы узнали ...........................................................................86

Глава 6. Сортировка писем  ...........................................................87

Выполнение проекта  .................................................................88

Обучение модели  ..................................................................89
Подготовка проекта  ..............................................................94
Тестирование модели  .......................................................... 101

Обзор и улучшение проекта ..................................................... 103
Что вы узнали ......................................................................... 103

Глава 7. Распознавание эмоций в тексте  ..................................... 104

Выполнение проекта  ............................................................... 105

Подготовка проекта-игры ..................................................... 106
Программирование игры без использования машинного 
обучения ............................................................................. 110
Обучение модели  ................................................................ 112
Программирование игры с использованием машинного 
обучения ............................................................................. 116
Тестирование игры  ............................................................. 119

Обзор и улучшение проекта ..................................................... 119

Использование голосовых сообщений вместо напечатанных 
текстов  .............................................................................. 119
Распознавание речи, которая не содержит ни оскорблений, 
ни комплиментов  ................................................................ 120
Обучение на ошибках  ......................................................... 123

Что вы узнали ........................................................................ 125

Глава 8. Распознавание стиля письма в газетных статьях ............. 126

Выполнение проекта  ............................................................... 127

Обучение модели  ................................................................ 129
Подготовка проекта  ............................................................ 132

Обзор и улучшение проекта ..................................................... 141

Оценка качества модели машинного обучения: показатель 
достоверности ...................................................................... 142
Оценка качества модели машинного обучения: матрица 
ошибок ............................................................................... 145
Оценка качества модели машинного обучения: точность 
и полнота  .......................................................................... 150
Улучшение вашей модели машинного обучения ..................... 152

Что вы узнали ......................................................................... 152

Глава 9. Поиск объекта на картинке ............................................ 154

Выполнение проекта  ............................................................... 155

Обучение модели  ................................................................ 156
Подготовка проекта  ............................................................ 164
Тестирование модели  .......................................................... 166

Обзор и улучшение проекта ..................................................... 168
Применение сложных систем распознавания изображений 
в реальных проектах  .............................................................. 170
Что вы узнали ........................................................................ 173
ОГЛАВЛЕНИЕ

Глава 10. Умные помощники........................................................ 174

Выполнение проекта  ............................................................... 176

Создание программы без использования машинного 
обучения ............................................................................. 176
Обучение модели  ................................................................ 178
Создание программы с использованием модели машинного 
обучения ............................................................................. 183
Тестирование модели  .......................................................... 184

Обзор и улучшение проекта ...................................................... 185

Использование показателя степени уверенности вашей 
модели машинного обучения  ............................................... 185
Говорить, вместо того чтобы набирать текст вручную  ........... 188
Сбор обучающих примеров ................................................... 189

Что вы узнали ......................................................................... 189

Глава 11. Чатботы ....................................................................... 191

Выполнение проекта  ............................................................... 193

Подготовка персонажа  ........................................................ 194
Обучение модели  ................................................................ 195
Подготовка проекта  ............................................................ 200
Тестирование модели  .......................................................... 202

Обзор и улучшение проекта ..................................................... 202

Реакция на пользовательские сообщения об ошибках  ........... 203
Распознавание пользовательского недовольства ...................... 205
Отвечать на вопросы только тогда, когда модель уверена
в своем ответе ..................................................................... 206

Этические вопросы использования машинного обучения ............. 207
Что вы узнали ......................................................................... 209

Глава 12. Создание игры «Убеги от монстра»  .............................. 210

Выполнение проекта  ............................................................... 211

Описание возможных состояний игры ................................... 213
Обучение модели  ................................................................ 214
Тестирование игры  ............................................................. 223

Обзор и улучшение проекта ..................................................... 226
Что вы узнали ........................................................................ 229

Глава 13. Создание игры «Крестики-нолики»  ............................... 230

Выполнение проекта  ............................................................... 232

Подготовка проекта-игры ..................................................... 235
Обучение модели  ................................................................ 247
Тестирование игры  ............................................................. 250

Обзор и улучшение проекта ..................................................... 251
Что вы узнали ........................................................................ 252

Глава 14. Запутать компьютер  .................................................... 253

Выполнение проекта  ............................................................... 255

Обучение модели  ................................................................ 257
Подготовка проекта  ............................................................ 260
Тестирование модели  .......................................................... 263

Обзор и исправление проекта  .................................................. 264
Что вы узнали ......................................................................... 267
ОГЛАВЛЕНИЕ

Глава 15. Этические вопросы использования искусственного 
интеллекта .................................................................................. 268

Выполнение проекта ................................................................. 268

Обучение модели  ................................................................ 269
Подготовка проекта .............................................................. 272
Тестирование проекта ........................................................... 274
Добавление предвзятости ...................................................... 275
Тестирование проекта с добавленной предвзятостью ............... 278

Обзор проекта .......................................................................... 279
Случаи, в которых предвзятость полезна ................................... 280
Искусственный интеллект и этические вопросы ......................... 281
Что вы узнали ......................................................................... 283

Послесловие ................................................................................ 284

Будущее машинного обучения  ................................................. 284
Что дальше? ............................................................................ 285

Алфавитный указатель ................................................................. 287
БЛАГОДАРНОСТИ
БЛАГОДАРНОСТИ

Хочу выразить благодарность за помощь в создании этой книги 
сотрудникам издательства No Starch Press: директору издательства 
Биллу Поллоку, редакторам Барбаре Йен, Рэйчел Монаган, 
Патрику ДиХусто и Атабаске Витчи, а также техническому рецензенту 
Майе Пош.
Также я очень благодарен исследовательской группе Lifelong 
Kindergarten из Медиа-лаборатории Массачусетского технологического 
института (MIT) за изобретение Scratch, за его постоянное 
обновление и расширение функционала, а также за безвозмездное 
предоставление этого продукта любому пользователю 
(включая исходный код). Все это сделало возможным появление 
таких образовательных проектов, как «Машинное обучение для 
детей», книгу о котором вы сейчас держите в руках.
Отдельное спасибо Начальной школе Джона Кебла в Херсли 
за предоставленную мне возможность протестировать описанные 
в книге проекты, выполняя их с учениками этой школы.
ПРЕДИСЛОВИЕ
ПРЕДИСЛОВИЕ

Когда мой отец был ребенком, он рос в Иллинойсе. Это было на рубеже 
веков (только не в этом столетии, заметьте, а в предыдущем), 
когда было изобретено радио, когда только придумали застежку-
молнию, когда Чарли Чаплин был популярен, а Чарльз Линд-
берг еще не перелетел Атлантический океан, когда затонул «Титаник», 
когда был выпущен легендарный автомобиль Ford Model T.
Когда же я был ребенком и рос на Великих равнинах в Техасе, 
человек только высадился на Луну, компьютеры были огромными 
и дорогими чудовищами, Интернет еще не был изобретен, 
пластик только начал широко использоваться, а разговор с кем-
то на другом конце света был непомерно дорогим для абсолютного 
большинства людей. Я провел много летних дней, мечтая о 
полете к звездам и готовя в своей спальне (прости, мама!) порох 
для запуска моделей ракет. Я собрал свой первый компьютер с 
нуля, когда мне было 12 лет, и, когда я говорю «с нуля», это 
именно то, что я имею в виду — из отдельных транзисторов, диодов, 
резисторов. Я читал о роботе по имени Шейки, которого 
собрали ребята из Стэнфордского научно-исследовательского института, 
и сидел в кинотеатре как загипнотизированный, когда 
видел компьютер HAL 9000 в фильме «2001 год: Космическая 
одиссея». Уже тогда я знал, что хочу создавать компьютеры, которые 
помогут людям добраться до звезд.
И вот он я сейчас, сделавший для этого достаточно много.
Сегодня мир сильно отличается от того, что мы с отцом видели 
в детстве. В чем-то он лучше, в чем-то нет, но есть одна 
вещь, которая точно не изменилась, — это наша способность 
мечтать и работать над тем, чтобы мечты стали реальностью. 
Сегодня можно получить доступ к любым знаниям с помощью 
устройства, которое умещается на ладони. Можно общаться в 
режиме реального времени с кем-то, кто находится на другом 
конце мира или даже в космосе. Автомобили теперь электрические, 
а некоторые из них даже ездят без водителя. Человечество 
не только побывало на Луне, но и отправило множество 
роботов на Марс, а несколько космических кораблей исследует 
межзвездное пространство за пределами нашей Солнечной системы. 
Благодаря компьютерам мы можем производить больше 
за меньшие деньги, мы создаем искусство, которое дополняет 
и даже превосходит реальность, мы расширили наш разум и 
усовершенствовали тела, и мы изучаем космос намного глубже 
и шире, чем когда-либо могли себе это представить.
ПРЕДИСЛОВИЕ

Более того, благодаря тому что компьютеры стали дешевыми, 
почти каждый может научиться использовать их для создания 
вещей, которые ограничены только нашим воображением. 
Вот тут-то и появляется  вычислительное мышление — способ 
рассмотрения окружающего мира с точки зрения абстракций и 
алгоритмов, которые позволяют превратить плоды нашего воображения 
в системы, работающие на наших компьютерах. Для 
создания программы, которая будет вести учет ваших финансов, 
или управлять системой отопления вашего дома, или рассчитывать 
траекторию ракеты, запущенной в космос, вы будете мыслить 
главным образом символами. Но если вы хотите построить 
беспилотный автомобиль, или сконструировать робота, безопасно 
взаимодействующего с людьми, или видеоигру, в которой 
есть сложные виртуальные противники, вам придется взаимодействовать 
с компьютером уже по-другому, и именно в этот 
момент в игру вступают искусственный интеллект и машинное 
обучение. Еще со времен  Алана Тьюринга, одного из пионеров 
исследований в области вычислительной техники, ученые пытались 
заставить компьютеры рассуждать, учиться и вести себя 
как люди. Последние же достижения в области машинного обучения 
позволяют нам это делать уже сегодня.
Прочитав эту книгу, вы изучите основы искусственного интеллекта 
и машинного обучения в достаточной степени для того, 
чтобы создавать свои собственные игры и умных помощников, 
а также научитесь писать программы, способные распознавать 
изображения и стиль текста. 
Больше всего меня восхищает в этой книге то, что она абсолютно 
практико-ориентированная, поскольку поможет вам создавать 
системы искусственного интеллекта, которые очень важны 
для современной компьютерной науки. Кроме того, эта книга 
затрагивает сложные и спорные моменты, касающиеся предубеждений 
и различного рода этических вопросов использования 
искусственного интеллекта и машинного обучения, и эти моменты 
будут становиться все более и более важными по мере того, 
как вы будете продвигаться в своем обучении.
Я бы хотел, чтобы в детстве у меня была такая книга. Но в то 
время ее просто не могло быть, потому что большинство описанных 
в ней вещей еще не были изобретены. Поэтому вот вам мой 
вызов: узнав больше об искусственном интеллекте и машинном 
обучении, что нового изобретете вы?

Гради Буч,
руководитель отдела проектирования программного 
обеспечения исследовательского центра IBM
ВВЕДЕНИЕ
ВВЕДЕНИЕ

В

ам может показаться удивительным, но с системами искусственного интеллекта и машинного обучения сталкивался каждый. Большинство из нас используют системы искусственного интеллекта каждый день. Они оказывают влияние 
на новости, которые мы читаем и слышим, на решения, которые 
принимают компании и правительства, на выбор того, что мы будем покупать, смотреть и слушать. Они могут даже повлиять на 
то, кем мы будем работать и где будем жить.

Отличный способ узнать больше об искусственном интеллекте — 
попробовать самим создать вещи, которые его используют. 
И книга, которую вы держите в руках, будет тому практическим 
руководством. Создав собственный проект искусственного интеллекта, 
вы на деле поймете, как он работает и на что способен, 
а также узнаете о рисках, связанных с использованием искусственного 
интеллекта, когда  сами увидите, как что-то может пойти 
не так.
Выполнение собственных проектов, в основе которых лежат 
реальные способы использования искусственного интеллекта в 
нашем мире, также поможет вам разобраться, как именно системы 
искусственного интеллекта могут влиять на каждого из нас. 
Когда вы узнаете, как создаются приложения, использующие 
искусственный интеллект, вы начнете чаще замечать его вокруг 
себя. Это также позволит вам лучше понять устройство окружающего 
мира.
Искусственный интеллект часто упоминается в новостях, но 
вам иногда может быть трудно понять их смысл, если нет базового 
понимания технологий, задействованных при его создании. 
Проекты из этой книги также подготовят вас к обсуждению 
различных вопросов использования искусственного интеллекта, 
а также его контроля и регулирования.
А еще проекты в этой книге развлекательные! Машинное обучение — 
это крайне увлекательная область технологий, которая 
позволяет создавать абсолютно уникальные вещи. Я надеюсь, что 
вам понравится придумывать и воплощать в реальность что-то 
новое, о чем вы и не знали раньше, до знакомства с этим инструментом.

ВВЕДЕНИЕ

Scratch

Главы этой книги познакомят вас с разными идеями применения 
машинного обучения через выполнение практического проекта в 
образовательной среде визуального программирования Scratch. 
Возможно, вы уже познакомились с этой средой, работая в ней 
на уроках в школе или на дополнительных курсах.
Если же вы никогда не слышали о Scratch, не переживайте — 
все проекты в книге сопровождаются подробными пошаговыми 
инструкциями. Будет лучше для начала посетить официальный 
сайт (https://scratch.mit.edu/), чтобы ознакомиться с возможностями 
этой среды.
И прежде чем начать выполнение проектов, ознакомьтесь с 
основной терминологией Scratch, которая будет часто использоваться 
в этой книге.

Знакомство с  интерфейсом Scratch

Основные рабочие области, из которых состоит интерфейс среды 
Scratch, обозначены на рисунке 1 цифрами в кружочках.

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

2.  Панель инструментов содержит набор блоков, доступных 
для использования в вашей программе.

3.  Область кода — это рабочая область, в которой вы создаете 
свои программы, перетаскивая в нее блоки из Панели инструментов. 
Она доступна, когда выбрана вкладка «Код». Если же выбрана 
вкладка «Фоны» или «Костюмы», Область кода содержит 
различные инструменты для рисования и называется холстом.

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

5.  Сцена — рабочая область, в которой отображается визуальная 
часть (интерфейс) вашей программы. Именно в этой области 
будут взаимодействовать различные компоненты вашего проекта.

6.  Спрайты — это объекты, которые выполняют различные 
действия в вашем проекте. Каждый спрайт имеет характерный