Использование силы ИИ (искусственного интеллекта): быстрая реализация со стеком Lattice sensAI

Искусственный интеллект (ИИ) — технология, которая проникает во все большее количество отраслей. Сейчас оценивается возможность использования ИИ для управления автомобилем без водителя, для реализации «Интернета вещей» (IoT), обеспечения сетевой безопасности и в медицине. Считается, что первопроходцы хорошо понимают, как ИИ может применяться в их бизнесе, и достигнутый успех убедит всех остальных. однако разные приложения требуют разных подходов к реализации ИИ. Сегодня наибольшую популярность получили приложения, связанные с машинным зрением (embedded vision). Для них предназначены так называемые сверточные нейронные сети, или CNN (Convolutional Neural Network), которые пытаются имитировать работу биологического глаза. в статье рассматриваются вопросы, связанные с машинным зрением, хотя многие приведенные решения применимы и для других приложений.

Требования к конечным устройствам с ИИ

Устройства с ИИ представляют собой обученную модель, которая при реализации в приложении делает выводы об окружающем мире. Создание приложений с ИИ имеет две фазы: обучение (training) иформирование логического вывода (inference). Обучение проводится во время разработки, как правило, в облаке. Для непрерывного формирования логических выводов нужна реализация в конкретном устройстве. Поскольку для этого процесса может потребоваться большое количество вычислительных ресурсов, то сегодня большая его часть делается в облаке. Однако нередко нужно принять решение в течение короткого промежутка времени. Для передачи данных в облако и получения необходимого ответа может потребоваться слишком много времени, а принятие такого решения на месте способно сэкономить драгоценные секунды. Существует много областей применения, выполняющих управление в реальном масштабе времени, где следует быстро принимать решения. Во многих из них требуется обнаружить присутствие человека (рис. 1).

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