Описание продукта
Интеллектуальная платформа Terra AI позволяет создавать нейронные сети и AI-проекты полностью без кода и программирования. Это позволит реализовывать AI-проекты не только программистам, но и любым другим специалистам: врачам, дизайнерам, маркетологам, прорабам, юристам и др. Функционал платформы включает загрузку данных, создание и обучение нейронных сетей, выкладывание нейронных сетей на сервер или в виде dll библиотек (для интеграции, например, в устройства), мониторинг работы нейронной сети.
1. Terra AI фреймворк. Первое, что входит в базовую технологию - Terra AI фреймворк. Сейчас всё это делается, в основном, на фреймворках типа Keras и TensorFlow - фреймворки, которые позволяют нейронную сеть собрать, как конструктор, но в коде, то есть в программировании на языке Python. Таких языков, фреймворков, довольно много: Keras, TensorFlow, PyTorch и т.д. Первое, что мы делаем - метаязык, который описывает нейронную сеть в текстовом виде: какие в ней слои, какое количество нейронов в слоях, какие параметры слоев и т.д. Получается, что мы делаем метаязык, который описывает любую нейронную сеть. На данный момент в мире не существует такого единого метаязыка, и нейронные сети не описываются на метаязыке, они описываются прямо в коде на Python. Мы же, в свою очередь, создаем метаязык, который позволяет нам описать любую архитектуру нейронной сети, любую, которая сейчас существует. После этого данный язык становится переходным элементом между любыми фреймворками программирования нейронных сетей, то есть мы можем из этого метаязыка создать нейронную сеть на Keras, на TensorFlow, на PyTorch или выдать ее графически в виде интерфейса и там создать и обучить. Таким образом, этот метаязык позволяет нам делать графический интерфейс и упрощает перенос нейронной сети с любого фреймворка на любой другой, чего сейчас не существует в мире.
2. Метаязык. Это первая часть базовой модели. Метаязык, который позволяет легко и удобно писать любую нейронную сеть, и это описание гораздо короче, чем чистый код, например, на Keras. Keras от Google сейчас - самый высокоуровневый фреймворк, однако, это описание примерно в пять раз более короткое, чем сам язык, а также оно читаемо обычным человеком. То есть если на Python приходится писать model.add(Dense(100, activation=’relu’), то у нас это выглядит так:
ТЕХНОЛОГИЯ
9
‘Полносвязный-100-relu’. То есть мы делаем описание записи нейронной сети читаемым для человека, не являющимся специалистом или программистом.
3. Графический интерфейс. Вторая часть базовой технологии. Графический интерфейс написан на Python или на Django, будет реализован в трех видах: web-интерфейс, десктоп приложения и интерфейс, который встраивается в Google Collaboratory (это очень популярный сервис от Google, который позволяет программировать в режиме онлайн). Наш графический интерфейс будет позволять собирать нейронку в конструкторе, например, как в Photoshop, Tilda или Autocad. Работая только мышкой, мы создаем архитектуру нейронной сети: расставляем блоки, подключаем и соединяем слои, настраиваем параметры этих слоев и т.д. Далее наш фреймворк генерирует описание на метаязыке нейронной сети. После этого разработчик может либо получить готовый исходный код на Keras, на TensorFlow, на PyTorch или куче других фреймворках, если он хочет работать с ними, либо может непосредственно в графическом интерфейсе запустить обучение нейронной сети. Она самостоятельно соберется (например, на Keras или на TensorFlow) из метаописания, из графического интерфейса, и обучится в графическом интерфейсе. Таким образом, это позволяет обучить нейронную сеть полностью без программирования. Там же будет огромное количество готовых методов и способов обучения - этого на данный момент не существует. Каждый разработчик пишет сам (по 10 раз "изобретает колесо"), вместо того, чтобы использовать эффективные и готовые решения. К тому же в графическом интерфейсе Terra, нашем фреймворке, будет большое количество уже готовых и собранных нейронных сетей. Сейчас для того,