Да, мы понимаем, что про нейросети уже говорят из каждого утюга. Но мы точно знаем, что есть инженерные задачи, которые отлично решаются с их помощью, что мы и делаем и вам желаем! 😉
Например:
Фильтры и датчики для прогноза по временным рядам
Запутанные характеристики, которые не влезают ни в какие полиномы
Модели для мониторинга оборудования и предсказания с онлайн-обучением
Хотим рассказать вам сегодня про один из наших проектов по созданию нейросетей в Engee, где мы показываем, как совместить гибкость и скорость среды расчетов и удобство компоновки и отладки системы на визуальной модели.
Julia – очень интересный язык для работы с данными и генерации кода. Для обучения нейросетей нужны конструкции, которые можно продифференцировать. А Julia, представьте себе, дифференцируемый язык программирования.
Для обучения и создания НС мы используем библиотеку Flux. Судите сами, трудно ли создать НС с ее помощью:
Три слоя, два нейрона на входе, один на выходе… Остальные вещи – функция потерь, подача данных, цикл обучения – в Julia все это выполняется короткими и ясными командами.
Теперь хотелось бы соединить нейросеть с остальными компонентами системы в одной модели, и тут нет ничего лучше наглядной схемы. Несколько блоков Constant, Add и Product, и НС будет управлять любыми заслонками, моторами и прочими компонентами вашей инженерной экосистемы.
Обученная нейросеть хранится в общей переменной model. Поэтому, чтобы разместить ее на блок-схеме, мы просто прописали model.weight и model.bias в свойствах блоков. Либо можно скопировать эти матрицы внутрь констант модели через команду engee.set_param(). Либо программно сгенерировать всю модель, блок за блоком...
Уверены, что вам нравится воплощать такие технологии в своих проектах, поэтому готовим еще много материалов по этой теме. Приглашайте друзей и коллег, увидимся в Engee!