Как всегда, лучший способ учиться — это делать.

Как люди, не имеющие технических знаний о машинном обучении, могут лучше его понять?

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

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

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

Я все еще работаю над этим, но среди учебных материалов, которые я наткнулся, была одна вещь, которая действительно вызвала у меня ощущение: «О, это то, что есть!». Этот момент озарения наступил, когда я попытался обучить модель самостоятельно. Но как, особенно когда я только начинаю узнавать об этом?

Лучший способ изучить AI/ML — создать его самостоятельно. Но как?

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

До сих пор я пробовал Lobe.ai и Teachable Machine, но сегодня я представлю Teachable Machine, потому что он более доступен, поскольку вы можете делать это в своем браузере, а также легко увидеть, как он применяется в вашем Интернете / приложениях.

Что такое «обучаемая машина»?

Обучаемая машина создана Google Creative Lab и представлена ​​как экспериментальный инструмент, позволяющий каждому обучать свою модель машинного обучения. Вы можете обучить свою собственную модель, используя в качестве источника фотографии, вход с веб-камеры и вход с микрофона.

Модели, которые вы создаете с помощью Teachable Machine, — это настоящие модели TensorFlow.js, которые работают везде, где запускается javascript, поэтому они хорошо работают с такими инструментами, как Glitch, P5.js, Node.js и другими. Он может работать даже на Arduino, что открывает возможности для большего количества проектов, связанных с оборудованием. Это довольно простой инструмент, который не требует обучения, но я кратко расскажу вам, как его использовать.

1. Обучите свою модель на Teachable Machine

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

  1. Выберите, что построить и определить классы

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

2. Соберите образцы

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

3. Поезд

Та-да! В течение нескольких минут модель будет готова для вас. Посмотрите, работает ли это так, как вы хотите, в разделе предварительного просмотра. Вы будете удивлены, как быстро и легко вы только что придумали модель машинного обучения!

4. Уточните свою модель

Но прежде чем слишком увлекаться этим, попробуйте бросить вызов модели. Дайте более сложные ситуации для модели, чтобы рассказать. Вы обнаружите некоторые ситуации, которые модель не понимает и путается. Здесь вам нужно начать доработку вашей модели. Чтобы решить эту проблему, вы можете вернуться и предоставить больше примеров, которые помогут модели понять более разнообразные ситуации.

Например, поскольку я только обучил модель распознавать статус «без чашки» со мной внутри вида, когда моего лица нет, вы можете увидеть, как уровень достоверности дрожит.

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

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

2. Посмотреть модель, работающую в браузере

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

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

  1. Экспортируйте свою модель

Прежде всего, вам нужно экспортировать вашу модель. Если вы нажмете «Экспорт модели» на вкладке предварительного просмотра, вы увидите модальное окно, подобное левому изображению выше. Когда вы нажмете «скачать», вы увидите возможность загрузить модель. Это даст вам сжатый ZIP-файл, содержащий метаданные.json, model.json и weights.bin.

2. Разветвите шаблон codeandbox и загрузите свои файлы

Затем вы можете перейти к шаблону, которым я поделился. Разветвите codeandbox, чтобы вы могли импортировать экспортированную модель в папку «tm-my-image-model». Убедитесь, что файлы были заменены, и попробуйте обновить страницу или даже сервер codeandbox, если это необходимо.

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

3. Включите веб-камеру и взаимодействуйте!

Все готово! Когда вы нажмете «Пуск», он запустит веб-камеру и будет использовать вашу модель для определения текущего состояния и отображения загруженного вами изображения. Хотя это ограничено отображением изображений, вы получите общее представление о том, как вы можете использовать свою модель для своего проекта и как разработать для нее визуальную обратную связь. Не стесняйтесь разветвлять и настраивать для более тонкого взаимодействия с ним.

Урок, извлеченный из того, что я попробовал это сам

1. Демистифицировать AI/ML

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

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

2. Дайте волю своему воображению о «пользовательском вводе»

Еще одно преимущество этого упражнения заключается в том, что, попробовав его, у вас естественным образом появится больше идей о том, что вы можете с его помощью построить, и вы переосмыслите понятие «пользовательский ввод». Как вы можете видеть ниже, можно ввести определенный звук, который издает пользователь или окружающая среда, или вы можете общаться с изображениями или рисунками или даже с объектами и позой в представлении.

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

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

3. Можно ли использовать в проектах?

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

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

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

Но Teachable Machine может быть идеальным вариантом для рассмотрения, поскольку очень легко обучить модель для контролируемой установки. Поскольку цель тестирования «Волшебника страны Оз» не в том, чтобы брать на себя обязательства по разработке, вам не нужно дорабатывать прототип Teachable Machine до причудливого окончательного дизайна. Даже codeandbox, которым я поделился выше, чтобы показать некоторые изображения для определенного статуса, может выполнить эту работу.

Я надеюсь, что это было информативным и вдохновляющим введением в Teachable Machine для вас, чтобы попробовать его! Я хотел бы услышать мысли, впечатления и любые вопросы других относительно шаблона codeandbox, который я предоставил.

И если вы хотите взглянуть на то, что другие создали с помощью Teachable Machine, или более подробные учебные пособия, ознакомьтесь с этим замечательным документом!