предисловие
Усилиями предыдущих статей мы установили несколько основных фреймворков ИИ, которые требуют слишком много кода, что немного скучно. В этой статье мы попытаемся сделать несколько интересных приложений ИИ на этой основе и следуем моде на разработку без кода.
Самые большие проблемы при создании приложений искусственного интеллекта сейчас связаны с несколькими аспектами:
- Сбор и маркировка данных требуют много времени и рабочей силы;
- Время обучения модели очень велико, а стоимость вычислительной мощности также высока;
- Обобщающая способность модели очень слабая, и для изменения сцены модель необходимо заменить;
- Основной алгоритм трудно понять, а научные исследования и школы по-прежнему являются главной силой;
- Во многих областях нет зрелых коммерческих решений.
С непрерывным развитием технологий искусственный интеллект должен стать базовой технологией системы и играть большую роль в снижении затрат и повышении эффективности. ИИ должен быть как вода и электричество, ресурсом, который каждый может использовать в любое время. Вот веб-сайт, чтобы представить немного этого значения.
Teachable Machine
Этот веб-сайт представляет собой простую платформу обучения искусственному интеллекту, в основном основанную на контролируемом обучении, предоставляющую три типа приложений ИИ: классификацию изображений, классификацию звука и распознавание жестов. Обученную модель можно сохранить в виде Tensorflow, Tensorflow.js или Tensorflow Lite, чтобы мы могли легко развернуть ее на мобильных телефонах или Raspberry Pi.
teachablemachine.withgoogle.com/
Обучение модели разделено на три этапа: сбор данных, обучение модели и экспорт модели.
1. Создайте новый проект
Сначала мы создадим приложение для распознавания жестов, создадим новый проект классификации изображений, а затем выберем проект изображения.
2. Соберите данные
Вы можете собирать изображения, загружая изображения или камеры, и заполнять название категории классификации, например, один.
Камерой пользоваться удобнее, зажать кнопку Hold to Record для записи, можно выбрать частоту кадров. В процессе записи вы можете в любой момент удалить некоторые неподходящие сэмплы, а также можете выполнять повторную запись, чтобы увеличить разнообразие сэмплов.
Затем добавьте вторую категорию, третью категорию... до десяти, всего десять действительных категорий. В это время не забудьте добавить ничего в качестве элемента исключения.
Tip:
Обратите внимание на количество изображений в каждой категории, чтобы избежать несбалансированных выборок.
3. Обучите модель
Заполните Эпохи, по умолчанию 50, если нет переоснащения, вы можете изменить его на больший размер в зависимости от ситуации, чтобы повысить точность;
Размер партии, по умолчанию 16, если он слишком мал, его нелегко сойтись, а если он слишком велик, его легко недоукомплектовать. Если видеопамяти видеокарты достаточно, я более суеверен 32;
Скорость обучения, скорость обучения — это величина каждого обновления градиентного спуска. Если она слишком велика, она будет легко колебаться, а если слишком мала, это повлияет на скорость сходимости модели. Значение по умолчанию — 0,001.
Вы также можете нажать «Под капотом», чтобы просмотреть кривые на протяжении всего тренировочного процесса, что немного похоже на тензорную доску. Наконец, можно рассчитать матрицу точности и путаницы для каждой категории, отлично!
Tip:
Не забывайте переключать вкладки во время обучения, держите вкладки все время открытыми, чтобы фоновая оптимизация браузера не влияла на модель обучения.
4. Подтвердите модель
После обучения вы можете снова использовать камеру для проверки результатов классификации, и прогнозируемая вероятность модели будет выведена в список, который очень интуитивно понятен и прост в использовании.
Вы можете вовремя добавить несколько образцов в неправильную категорию, чтобы повысить точность классификации.
5. Экспортируйте модель
Нажмите кнопку «Экспорт модели», появится диалоговое окно, здесь мы выбираем модель Tensorflow Lite, и вы также можете выбрать экспортируемый тип точности: с плавающей запятой, квантованный или EdgeTPU.
Нажмите кнопку «Загрузить мою модель», чтобы загрузить модель.Через некоторое время веб-сайт упакует преобразованную модель в сжатый файл convert_tflite.zip. Он содержит два файла: model_unquant.tflite — файл модели, а labels.txt — файл классификационной метки.
Эти два файла знакомы?Кстати, это два параметра, введенные в нашем последнем приложении tensorflow lite. Затем давайте запустим последнюю программу напрямую, чтобы увидеть эффект.
Развертывание на Raspberry Pi
здорово! ! !
Что редко, так это то, что на этот раз без написания строчки кода закончилось приложение AI для распознавания жестов. Чтобы немного расширить, например, обучите жест Наруто, а затем подключите приложение IFFFT к серверной части в соответствии с результатом классификации, которое может открыть ваш умный дверной замок с чувством ритуала.
Также легко включить кондиционер взмахом руки и выключить лампу в спальне щелчком пальцев.Больше таких второстепенных и интересных приложений для умного дома остается на ваше воображение.
Следующее уведомление
Мы будем на Raspberry Pi. Разверните Intel Neural Compute Stick, Чтобы еще больше повысить скорость вывода, Быть в курсе...