Читать книгу «Искусственный интеллект и Машинное обучение. Основы программирования на Python» онлайн полностью📖 — Тимура Казанцева — MyBook.
image

Примеры использования ИИ, МО и ГО

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

Искусственный интеллект

Все лунные модули, которые бороздят поверхность Луны, используют алгоритмы ИИ. Их не надо контролировать каждую секунду, они сами принимают решения как объезжать препятствия и как собрать грунт в том или ином труднодоступном месте.

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

Наше взаимодействие с голосовыми помощниками. Когда мы просим Алексу, Сири, или Алису от Яндекса сделать или найти что-то, они конвертируют наш голос в команды, обрабатывают их и выдают то, что нам необходимо.

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

Машинное обучение

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

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

Выбор места для ритейла. В ритейле одним из самых главных факторов, которые влияют на прибыльность бизнеса, является местоположение. У сети кофеен Старбакс имеется около 30 000 локаций по всему миру. Вы накопили большой объем информации о том, в каких местах продажи лучше. На основе этой информации вы можете составить алгоритм по выбору наиболее удачного места в новой локации. Ваши переменные могут включать геохарактеристики (расстояние до центра города, до метро, цена за квадратный метр), трафик (число маршрутов наземного транспорта в разных радиусах от локации) и наличие тех или иных объектов рядом, например, торговых центров, бизнес-центров, домов, школ и банков.

Глубокое обучение

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

Машинный перевод. Возможно, кто-то из вас использовал Google Translate, и вы могли заметить насколько хорошо он переводит в последнее время. Практически ничего не надо исправлять. Но если вспомнить примерно 5 или 7 лет назад, то качество перевода было далеко от идеального. А все потому, что сейчас вместо множества правил как надо переводить, используются нейронные сети, через которые уже прошли миллионы переводов художественной, технической и другой литературы, и эти алгоритмы ГО все продолжают улучшаться.


Интеллектуальные игры: шахматы, Го, Дота 2, покер и другие. Долгое время считалось, что компьютер никогда не превзойдет по силе мысли человека до тех пор, пока он не сможет обыграть его в шахматы. Однако, это случилось в конце 20 века, а в 2010-х годах, компьютер, обученный алгоритмами ГО, смог обыграть и чемпионов в го – игру, которая считается даже еще более сложной чем шахматы. Сейчас не проходит и года, как не появляется очередная новость о том, что компьютер обыграл человека в очередной игре. ИИ уже обыграл людей в покер, Доту 2 и другие интеллектуальные игры. Все это получилось благодаря задействованию нейронных сетей и ГО.

Распознавание злокачественных заболеваний на коже или органах человека. Одним из самых полезных применений ИИ – это медицина. С помощью ГО и нейронных сетей компьютеры сегодня могут распознавать злокачественные опухоли еще на ранней стадии и даже лучше, чем опытные доктора. Это хорошо еще и тем, что пациент, находящийся в одной точке земного шара, может переслать свои снимки в лабораторию в другой стране для принятия решения. Предсказывается, что в будущем роботы с помощью ИИ будут выполнять все больше и больше сложных операций без участия человека.

Еще одним популярным применением ГО являются так называемые рекомендательные системы: когда при покупке одного товара нам предлагают другой. Наверное, вы видели, когда на сайте появляется фраза: «с этим товаром часто покупают». Или при просмотре фильма, или книги на сайте агрегаторе, вам начинают предлагать фильмы и книги похожей категории или те фильмы, которые смотрели пользователи, похожие на вас по различным параметрам. Все это алгоритмы ИИ, подкрепленные НС.



И в конце, на что еще хотелось бы обратить внимание. Как уже было сказано, и ГО и МО являются только частью более общей области под названием ИИ. Так вот, в сложных проектах, как правило, присутствует несколько видов алгоритмов ИИ, и глубокое обучение и машинное обучение, и другие виды. Например, во время движения беспилотного автомобиля участвует более 100 различных алгоритмов, которые ответственны за распознавание объектов, управление движением, навигацию, безопасность, и т.д.

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

Основные задачи и методы машинного обучения

Обучение с учителем и обучение без учителя

Если вы интересовались темой искусственного интеллекта и машинного обучения, возможно вы уже встречались с такими понятиями как обучение с учителем (на англ. supervised learning) и обучение без учителя (unsupervised learning). В этой главе мы узнаем, чем отличаются эти два понятия.

Во-первых, они оба являются видами машинного обучения.


Во-вторых, обучение с учителем не обязательно подразумевает, что кто-то стоит над компьютером и контролирует каждое его действие. В терминах машинного обучения, обучение с «учителем» означает, что человек уже подготовил данные для дальнейшей работы над ними компьютером, то есть у каждого объекта имеется метка (на англ. label) которая выделяет этот объект от остальных объектов или дает ему какое-то именное или числовое наименование. И компьютеру остается только найти закономерности между признаками объектов и их наименованиями, основываясь на этих подготовленных или как их называют помеченных данных. На английском такие данные называются labeled data.

Обучение с учителем включает два основных типа задач: регрессия и классификация. Давайте посмотрим на типичный пример задачи классификации.



Это будет пример цветков ириса Фишера. Этот набор данных стал уже классическим, и часто используется для иллюстрации работы различных статистических алгоритмов. Вы можете найти его по следующей ссылке (https://gist.github.com/curran/a08a1080b88344b0c8a7) либо просто вбив в интернете.

В природе существует три вида цветков ириса. Они отличаются друг от друга размерами лепестка и чашелистника. Все данные по цветкам занесены в таблицу, в столбиках указаны длина и ширина лепестка, а также длина и ширина чашелистника. В последнем столбце указан вид ириса –  Ирис щетинистый (Iris setosa), Ирис виргинский (Iris virginica) и Ирис разноцветный (Iris versicolor). Тот или иной вид ириса и является в нашем случае меткой.



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

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



Почему этот пример можно считать обучение с учителем? Потому что наши данные распределены по признакам, у каждого признака есть показатель для конкретного цветка, то есть размеры длины и ширины. И имеются ответы или метки, какой вид ириса бывает при тех или иных размерах лепестка и чашелистника. То есть мы как учитель обучаем нашу модель и говорим ей, что вот окей, если ты видишь, что размер лепестка такой-то, а чашелистника – такой, то этой ирис виргинский, а если размеры такие-то и такие-то, то это ирис разноцветный. Это и называется обучение с учителем, когда мы показываем нашей модели все ответы в зависимости от признаков. Модель учится на этих данных, и создает формулу или алгоритм, который поможет нам в будущем предсказывать вид цветка в зависимости от размеров, когда нам будут поступать новые образцы цветов.

Кроме задач классификации, о которой мы только что говорили в примере с ирисами, есть еще один вид машинного обучения с учителем. Это регрессия.

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



Классический пример регрессии – это когда мы предсказываем цену квартиры в зависимости от ее площади.

Опять же мы имеем какую-то таблицу с данными разных квартир. В одном столбце площадь, а в другом – цены на эти квартиры. Это очень упрощенный пример регрессии, естественно, что цена квартиры будет зависеть от множества других факторов, но все же он наглядно демонстрирует, что такое регрессия. Так вот, в последнем столбце мы расположили фактические или реальные цены на квартиры с таким метражом. То есть, мы как учитель, показываем нашей модели, что вот, если видишь, что метраж такой-то, то цена будет такая-то и т.д. На основе этих данных модель учится, и потом выдает алгоритм, на основе которого мы можем предсказывать, какая будет цена квартиры, если условная площадь будет такая-то.



Таким образом, если суммировать, то в обучении с учителем – ключевая фраза – это labeled data или помеченные данные. То есть мы загружаем в нашу модель данные с ответами, будь то класс, к которому принадлежит тот или иной объект или реальная цена квартиры в зависимости от площади. На основе этой информации модель учится и создает алгоритм, который может делать прогнозы.

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

В отличие от обучения с учителем, модели, которые используются в обучении без учителя, выводят закономерности и выводы на основе немаркированных данных (или unlabeled data). Помните, у нас был пример с цветками ириса. Так вот в данных, которые мы давали компьютеру, присутствовали ответы какой вид ириса мы имеем в зависимости от тех или иных размеров лепестка и чашелистника. А в немаркированных данных, у нас имеются данные и признаки, но мы не имеем ответа к какому виду или классу они относятся. Поэтому такие данные называются немаркированные.

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

Давайте рассмотрим пример кластеризации.

В задачах кластеризации у нас имеется набор объектов и нам надо выявить его внутреннюю структуру. То есть нам надо найти группы объектов внутри этого набора, которые наиболее похожи между собой, и отличаются от других групп объектов из этого же набора. Например, разобрать все движущиеся средства по категориям, например, все средства, похожие на велосипед, в одну группу или кластер, а похожие на автобус – в отдельную группу. Причем, мы не говорим компьютеру, что чем является, он должен самостоятельно найти схожие признаки и определить похожие объекты в ту или иную группу. Поэтому это и называется обучение без учителя, потому что мы не говорим изначально компьютеру к какой группе принадлежат те или иные объекты.