Iskusstvennyy Intellekt Python Ozon PDF
Iskusstvennyy Intellekt Python Ozon PDF
Глава 1
в искусственный
интеллект
В этой главе мы обсудим понятие искусственного интеллекта (ИИ) и спо-
собы его применения для решения реальных задач. Значительную часть сво-
ей повседневной жизни мы проводим, взаимодействуя с интеллектуальными
системами. Такое взаимодействие происходит во время поиска информа-
ции в Интернете, биометрического распознавания лиц, отдавания голосовых
команд. Все эти виды взаимодействий основаны на использовании систем
искусственного интеллекта, которые становятся важным фактором современ-
ного стиля жизни. Подобные системы представляют собой сложные прило-
жения, в которых для решения конкретных задач с помощью искусственного
интеллекта привлекаются математические методы и программные алгорит-
мы. В этой книге вы ознакомитесь с фундаментальными принципами, лежа-
щими в основе создания приложений подобного рода, и изучите примеры
их практической реализации. Конечная цель — научить вас не бояться брать-
ся за новые и трудные задачи, поддающиеся решению с помощью искус-
ственного интеллекта, с которыми вы можете столкнуться в процессе своей
практической деятельности.
В этой главе вы ознакомитесь со следующими темами:
Рис. 1.1
По сравнению с другими областями науки, такими как математика или
физика, которые существуют столетиями, наука об ИИ сравнительно моло-
дая. За последние два десятилетия она продемонстрировала замечательные
достижения, примерами которых могут служить беспилотные автомобили и
интеллектуальные шагающие роботы. Уже достигнутые результаты делают
довольно очевидным тот факт, что исследования в области ИИ способны ко-
ренным образом изменить нашу жизнь в ближайшие годы.
Можно лишь удивляться тому, как человеческий мозг справляется с об-
работкой огромных объемов информации с минимальными усилиями. Мы
распознаем объекты, понимаем другие языки, учимся новому и выполняем
множество разнообразных сложных задач. Каким образом нашему мозгу
удается это делать? Пытаясь делать то же самое с помощью машин, мы ви-
дим, что они остаются далеко позади! Например, рассуждая о таких вещах,
как внеземная жизнь или путешествия во времени, мы даже не уверены в
том, могут ли они существовать на самом деле. Хорошая новость относитель-
но Святого Грааля ИИ заключается в том, что нам достоверно известно о его
существовании. Этим Святым Граалем является наш мозг! Он служит ярчай-
шим примером интеллектуальной системы. Нам нужно лишь сымитировать
его функциональность для создания систем, способных делать нечто похо-
жее, а возможно, даже большее.
Рассуждение
Вывод
умозаключений
Понимание
Обнаружение
закономерностей
Знание
Познание
Информация
Обработка
Данные
Рис. 1.2
Области применения ИИ
Теперь, когда вы уже знаете, как обрабатывается информация, мы можем
перейти к рассмотрению применения ИИ в реальной жизни. ИИ проявляет
себя в разных формах, поэтому очень важно понимать, чем именно он может
быть полезен для той или иной сферы деятельности. ИИ интенсивно исполь-
зуется во многих областях, и круг его применений чрезвычайно быстро рас-
ширяется. Рассмотрим наиболее популярные из них.
Рис. 1.3
Пользователь
Механизм Экспертиза
умозаключений
Рис. 1.4
Направления исследований ИИ
Очень важно понимать суть различных направлений исследования ИИ,
поскольку это позволит вам выбрать наиболее подходящую платформу для
решения стоящей перед вами задачи. Ниже перечислены темы, которые до-
минируют в этой области.
Данные
Предварительная
обработка
Обучение
Оптимизация
Рис. 1.5
Получая результаты наблюдения, система тренируется, сравнивая их
с теми результатами, которые уже наблюдались в предоставленных ей
примерах с известным ответом. Например, в случае системы распоз-
навания лиц программа будет пытаться найти соответствие образцам
глаз, носа, губ, бровей и т.п. с целью идентификации личности на осно-
ве соответствующих изображений, хранящихся в базе данных пользова-
телей.
• Логический ИИ. Для выполнения программ в системах логическо-
го ИИ используются методы математической логики. Программа ло-
гического ИИ в основном представляет собой набор утверждений в
Информация Знания
Рис. 1.6
Респонденты
Интервьюер
Рис. 1.7
Когнитивный
Поведенческий
Физический
Кинематический
Геометрический
Рис. 1.8
Данные
Сенсор
Препроцессор
Функция агента
Актуатор
Действие
Рис. 1.9
Окружение
Сенсоры Актуаторы
Модель обучения
Интеллектуальный агент
Рис. 1.10
Типы моделей
В мире ИИ существует два типа моделей: аналитические и обучаемые. До
появления машин, способных выполнять необходимые вычисления, обычно
использовались аналитические модели. Они основывались на математических
формулировках, представляющих собой, по сути, описание последователь-
ных шагов, которые требовалось выполнить для получения окончательного
уравнения. Проблемой этого подхода является то, что он зависит от суждений
человека. Как следствие, подобные модели были упрощенными и страдали не-
точностью, обусловленной недостаточно большим количеством параметров.
Затем наступила эра компьютеров. Компьютеры хорошо справлялись с
анализом данных. Поэтому со временем все шире стали использоваться обу
чаемые модели. Такие модели создаются посредством тренировки. Для полу-
чения уравнения в процессе тренировки машины просматривают множество
примеров входных и соответствующих выходных данных. Подобным обуча-
емым моделям свойственны сложность и высокая точность, поскольку в них
учитываются тысячи параметров. Это приводит к тому, что результирующее
уравнение, управляющее данными, оказывается чрезвычайно сложным.
Методы машинного обучения позволяют получать такие обучаемые моде-
ли, которые могут быть использованы в механизме вывода. Наиболее благо-
приятным для нас следствием этого факта является то, что в данном случае
Установка Python 3
Все примеры, приведенные в книге, были получены с использованием
Python 3. Убедитесь в том, что в вашей системе установлена последняя вер-
сия Python 3. Чтобы это проверить, введите в окне терминала следующую
команду:
$ python3 --version
Если отобразится нечто вроде Python 3.x.x (где x.x — номера версии),
то устанавливать Python не потребуется. В противном случае выполнить про-
цедуру установки будет совсем несложно.
Установка в Ubuntu
В версиях Ubuntu 14.xx и выше Python 3 установлен по умолчанию. Если
это не так, выполните установку с помощью следующей команды:
$ sudo apt-get install python3
Установка в Mac OS X
Если вы работаете в системе Mac OS X, то для установки Python 3 рекомен-
дуется использовать пакет Homebrew. Это замечательный пакет-установщик,
предназначенный для Mac OS X, которым действительно легко пользоваться.
В случае отсутствия этого пакета вы сможете установить его с помощью сле-
дующей команды:
$ ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
Установка в Windows
Если вы работаете в Windows, то рекомендуется использовать дистрибу-
тив Python 3, соответствующий спецификации SciPy-stack. В этом отношении
весьма популярен и легок в использовании дистрибутив Anaconda. Соответ-
ствующие инструкции по его установке вы найдете по адресу https://www.
continuum.io/downloads.
Если вы хотите ознакомиться с возможностями других дистрибутивов
Python 3, совместимых со спецификацией SciPy-stack, посетите веб-страницу
http://www.scipy.org/install.html. В этих дистрибутивах хорошо то, что
они поставляются со всеми необходимыми предустановленными пакетами.
При использовании любой из этих версий вам не придется устанавливать па-
кеты по отдельности.
Завершив установку, выполните вышеупомянутую команду проверки.
$ python3 --version
Установка пакетов
На протяжении всей книги мы будем использовать различные пакеты, та-
кие как NumPy, SciPy, scikit-learn и matplotlib. Убедитесь в том, что эти пакеты
установлены в вашей системе, прежде чем продолжить чтение.
Если вы используете Ubuntu или Mac OS X, то установка указанных паке-
тов не составит труда. Каждый из них устанавливается с помощью команды,
умещающейся в одной строке в окне терминала. Соответствующие ссылки,
касающиеся установки, приведены ниже.
• NumPy
http://docs.scipy.org/doc/numpy-1.10.1/user/install.html
• SciPy
http://www.scipy.org/install.html
• scikit-learn
http://scikit-learn.org/stable/install.html
• matplotlib
http://matplotlib.org/1.4.2/users/installing.html
Если вы работаете в Windows, то вам достаточно установить версию
Python 3, соответствующую спецификации SciPy-stack.
Загрузка данных
Для построения модели обучения нам нужны данные, представляющие
внешний мир. Теперь, когда у нас установлены необходимые пакеты Python,
рассмотрим, как использовать их для взаимодействия с данными. Перейдем
к командной строке Python, введя в окне терминала следующую команду:
$ python3
Выведем данные.
>>> print(house_prices.data)
Рис. 1.11
Рис. 1.12
Рис. 1.13
Резюме
Из этой главы вы узнали, что такое ИИ и зачем его нужно изучать. Мы обсу-
дили различные применения и подвиды ИИ. Мы рассмотрели тест Тьюринга
и показали, как его можно выполнять. Вы узнали о том, как заставить маши-
ны рассуждать подобно людям. Мы обсудили понятие рационального агента
и рассказали о способах его проектирования. Вы также узнали, что такое уни-
версальный решатель задач (GPS) и как решать задачи с помощью GPS. Мы
затронули тему разработки интеллектуальных агентов с помощью машинного
обучения, указав при этом на существование различных типов моделей.
Кроме того, мы рассмотрели процесс установки Python 3 в различных опе-
рационных системах. Вы узнали о том, как установить пакеты, необходимые
для создания приложений ИИ, и использовать их для загрузки данных, до-
ступных в библиотеке scikit-learn. В следующей главе вы познакомитесь с
методами обучения с учителем и узнаете о том, как создавать модели, пред-
назначенные для решения задач классификации и регрессии.