Очень простое объяснение искусственного интеллекта и машинного обучения с помощью уток

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

Если он похож на утку, плавает, как утка, и крякает, как утка, то, вероятно, это утка.

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

Обучение: данных лучше, чем больше данных

Если он похож на утку, плавает, как утка, а крякает, как утка ...

Первая часть теста на утку относится к обучению. Это можно сделать несколькими способами, и именно здесь пригодятся другие методы, такие как машинное обучение. Однако независимо от того, какой тип обучения применяется, цель состоит в том, чтобы создать алгоритм, который может использоваться компьютером (или любым устройством, которое может выполнять вычисления, например, вашим сотовым телефоном или чем-либо, что имеет слово «умный» в нем) для точно определить в будущем то, что он узнал ранее.

В качестве примера возьмем изображения уток. Мы хотим, чтобы компьютер мог определять уток в будущем, будь то неподвижные изображения, такие как JPEG или PNG, или видео, такие как MP4; в конце концов, видео - это просто набор изображений, которые показываются очень быстро (например, кинематографическое видео обычно составляет 24 кадра в секунду или FPS, что означает, что за одну секунду 24 изображения мигают на экране, создавая то, что выглядит как движение ). Способность идентифицировать уток или другие объекты (обычно называемые интересующими объектами) на изображениях или видео называется компьютерным зрением, что является практическим термином, поскольку компьютеры или другие устройства имитируют зрение. Компьютерное зрение - одна из самых горячих тем в области искусственного интеллекта, и это специальность единственного в мире прибыльного стартапа, занимающегося чистым искусственным интеллектом, SenseTime.

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

Проверка

Пришло время проверить его знания. После просмотра тысяч изображений уток и не уток компьютер сгенерирует алгоритм (алгоритм - это просто код, и вы можете думать о нем как о правилах), который он будет использовать для идентификации будущих уток. Однако, прежде чем внедрять его в реальный мир, мы должны убедиться, что алгоритм, который он сгенерировал, точен и в какой степени. Степень особенно важна, потому что разные варианты использования требуют разного уровня точности (мы поговорим об этом позже). Чтобы проверить его обучение, у нас есть другой набор изображений, который отличается от первого набора изображений, который мы называем набором данных проверки.

В этом наборе также будет много изображений, подобных набору обучающих данных. Некоторые будут утками, а некоторые не утками. Теперь компьютер просматривает каждое из изображений, но не обучается; вместо этого он применяет свой алгоритм и маркирует каждое изображение как утку или не утку. Как дрессировщик, у нас есть ответы на все вопросы - мы точно знаем, на скольких изображениях изображены утки и на каких именно изображениях. Мы сравниваем правильные ответы, которые у нас есть, с предположениями, сделанными компьютером, чтобы увидеть, насколько он точен (и, следовательно, его алгоритм).

Допустим, алгоритм смог точно идентифицировать 95% уток; то есть из 1000 изображений уток 50 из них были помечены неправильно, а 950 из них - правильно. 5% этикеток, на которых были ошибки, называются коэффициентом ошибок. В некоторых случаях изображения уток ошибочно обозначались как не-утки. Мы называем эти ошибки ложноотрицательными (они были ошибочно отмечены как отрицательные, т. Е. Не-утка). С другой стороны, у нас есть изображения не-уток, ошибочно обозначенных как утки. Мы называем эти ошибки ложными срабатываниями (они были ошибочно помечены как положительные, т. Е. Утка).

Важность частоты ошибок

95% могут показаться отличными - я был бы очень рад получить такую ​​оценку на своем выпускном экзамене. Однако запуск чего-то с точностью 95% в производство в больших масштабах может быть ужасной ошибкой. Скажем, например, вместо того, чтобы смотреть на уток, мы смотрим на медицинские изображения, чтобы обнаружить признаки рака. По оценкам Американского онкологического общества, в США в 2019 году будет поставлено почти 2 миллиона диагнозов рака (точнее 1,7 миллиона, но я округлил до 2 для упрощения вычислений). Если бы компьютерный алгоритм с точностью 95% поставил эти диагнозы, у нас были бы серьезные проблемы.

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

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

Ничто не сравнится с практическим опытом

Могли бы мы сами написать алгоритм идентификации утки? Да, программист, конечно, мог бы написать такое. Но вряд ли он приблизится к алгоритму, который компьютер мог бы написать, основываясь на собственном опыте просмотра тысяч изображений уток и не-уток. Вот почему в последнее время машинное обучение стало такой важной частью искусственного интеллекта.

Чтобы уточнить, искусственный интеллект и машинное обучение - это не одно и то же. Машинное обучение, как мы только что узнали, используется для создания алгоритмов, которые используются для предсказания (причудливый и уверенный способ сказать предположить) определенных вещей, например, является ли интересующий объект уткой.

Допустим, 95% точности нашего алгоритма утки было достаточно; т.е. мы можем простить 5% ошибок. Следующее, что нам нужно сделать, это ввести алгоритм в действие, процесс, называемый логическим выводом.

Вывод

… Тогда это, наверное, утка.

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

В нашем случае мы готовы развернуть наш алгоритм «утка / не утка». Я могу установить его на видеокамеру на заднем дворе (как и в примере алгоритма, который я использую, мой задний двор тоже является воображаемым), чтобы записывать, сколько раз утки посещают мой большой пруд с карпами кои (воображаемый) каждый день. В этом примере я мог бы назвать свою видеокамеру камерой AI, потому что теперь она может принимать видеопоток и думать о том, появилась ли утка, с помощью алгоритма машинного обучения, который мы только что обучили. ранее.

В конце концов, я могу проверить результаты с камеры, и она скажет мне, что насчитала 100 уток. Но у этих данных есть ограничения. Проблема с умозаключением в том, что он может сказать мне только, что это, вероятно, утка, а не то, что это определенно утка; в конце концов, мы знаем, что алгоритм точен на 95%.

Частота ошибок 5%, которая может быть связана с ложными отрицательными или ложными срабатываниями, но это приемлемо для моего варианта использования, потому что, возможно, моя цель не в том, чтобы подсчитать точное количество уток, которые посетили мой пруд с кои, а, скорее, уменьшить количество посещающих уток, потому что каждый раз, когда они приходят, мои кои рискуют быть съеденными. Я могу использовать количество уток в качестве ориентира, попробовать делать разные вещи и посмотреть, изменится ли это число значительно. Например, я мог бы разместить статую волка вокруг пруда, а затем перепроверить свои числа. Если количество уток упало до 99, это могло быть просто из-за количества ошибок - я не могу сделать однозначный вывод из этого. Однако если оно упадет до 10, я могу быть увереннее, что мой фальшивый волк стоил вложенных средств!

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

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