Вариант использования машинного обучения смарт-контрактов с изменчивой моделью

Я думал о различных вариантах использования смарт-контрактов.

Идея

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

введите описание изображения здесь

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

Деловая сделка

Для получения прогноза необходимо выполнить следующие действия:

  • входное изображение
  • проверить баланс счета, когда будет достаточно денег, продолжить, иначе прервать
  • подождите, пока служба распознавания изображений выдаст вывод
  • получить вывод

Смарт-контракт

Итак, мой вопрос: можно ли реализовать эту идею/бизнес-транзакцию в виде смарт-контракта? Имеет ли это смысл?

Поскольку смарт-контракт неизменяем, для каждой (переобученной) модели машинного обучения необходимо создать новый смарт-контракт. И нужно следить за старыми смарт-контрактами, потому что они будут давать худшие прогнозы. Или есть возможность уничтожить «старые» смарт-контракты?

Имея высокоизменяемый сервис, не лучше ли использовать такой сервис, как oraclize.it, для реализации вызовов API к внешнему сервису?

Ответы (2)

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

Спасибо, Каран, не могли бы вы уточнить, как будет выглядеть смарт-контракт только для платежей? Каков будет результат контракта?

Здесь происходят три вещи:

  1. Построение ML модели
  2. Вывод
  3. Оплата за использование сервиса

Теперь, основываясь на вашем описании, вам нужна платежная часть, которая может происходить в цепочке с использованием смарт-контракта. # 1 и # 2 происходят вне сети, и вам не нужно повторно развертывать смарт-контракт для каких-либо изменений. Платежный вариант использования применим для любого SaaS, а не только для службы логических выводов.