Делюсь проектом с построением простейшей нейросети. Повторил пример взятый из этой стати https://mattmazur.com/2015/03/17/a-s...ation-example/, на скрине видно приблизительное повторение результатов описываемых в предпоследнем абзаце
Делюсь проектом с построением простейшей нейросети. Повторил пример взятый из этой стати https://mattmazur.com/2015/03/17/a-s...ation-example/, на скрине видно приблизительное повторение результатов описываемых в предпоследнем абзаце
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
А в чём суть? Как система эта работает, что должно происходить?
Как можно грамотно пользоваться прототипом, да ни как, изучать предмет да строить свою сеть. Конкретно в этом примере входные данные располагаются в hiddenLayer в массиве mINPUT, выходные в outputLayer в массиве mOUTS, остальное обычно не заполняется, там при инициализации должны быть случайные величины, о них на форуме должна быть целая тема, какой ГСЧ для этого использовать. У меня же вставлены веса какие используется в примере по ссылке
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Ну, давайте положим что-нибудь куда-нибудь, и согласимся, что прототипы лучше и проще делать в Python/Java? Там гораздо больше готовых библиотек, там гораздо больше статей, примеров и т.п.
Вот загружать и выполнять модели в ПЛК это может быть интересно. А "знакомиться с ML" на ПЛК, по-моему, весьма сомнительное занятие. Но, да, кого-то может радовать КДС, его разновидность ST и т.п.
Блин, по-моему, гораздо забавнее подумать над тем, как должен выглядеть "нормальны" конфигуратор. Мне, например, в стандартном конфигураторе не нравится то, что нет "времени последнего опроса параметра", нет "групповых запросов" и т.п. Вот бы нормальный конфигуратор, который бы сам собой собирал modbus.lib код по заданным параметрам.
А обучать на ПЛК...
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
я конечно согласен, что это только поиграться, но чтоб дообучить модель на ПК, нужна выборка актуальных данных, затем необходимо будет внести эти веса в работающую модель без остановки техпроцесса, считаете это кому то будет нужно?
А метод обучения после каждой неверной классификации тоже существует и собственно здесь он показан, если изначально вставить правильные веса, функция train просто не будет выполняться,т.к здесь чистая математика то и дообучения не будет. Если же использовать сеть как экспертную систему, где вывод о правильности решения принимает оператор, система обязана переучитваться непосредственно там где она работает, не будет оператор после нажатия кнопки останавливать программу, бежать к компу чтоб получить новые коэффициенты и потом опять их вставлять
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Берём данные из SCADA, дообучаем на них и отправляем в контроллер обновлённый рецепт?
Думаю, мы поняли друг друга. Вопрос больше в том, чтобы нас поняли другие и, чтобы это всё причинило им какую-нибудь пользу.
Использование МО вместо/совместно с PID, возможно и имеет смысл, т.к. МО может "автоматически" догадаться о том, как лучше регулировать.
Автонастройка PID это, к слову, тоже машинное обучение. Будет ли "дообучение нейросетки" круче "автонастройки ПИД" -- вопрос. Как раз тот самый вопрос -- какой из алгоритмов МО выбирать (нейросеть, дерево принятия решений и т.п.)
это всё конечно замечательно, вобщем то повторение моих слов из другой темы, да я тоже считаю, что полноценные вычисления обязательно нужно делать на компе, если не достаточно входных данных, то прогонять сперва через полиноминальную регрессию, а далее отобрать из полученного набора признаков по методу рекурсивного исключения нужное количество. Но все эти плюшки ведут к усложнению модели, а если создавать примитивную сеть на компе, чтоб в итоге полученные веса перенести на плк, чем контроллер то не угодил, сами же мне доказывали что математика одинакова что на ПК что в плк Поэтому первая моя мысль была с контроллеров передавать входные данные, сервер выполняет всё функции принятия решения, а в плк уже выдавать только значения выходов, а не переносить готовую модель, потому что это муторно. Вместо того чтоб взять мой проект пускай даже с обучалкой, Вы предлагаете построить ту же сеть, вместо функции train, создать функцию чтения файла или приема весов по сети, функцию расстановки этих весов по местам в нейросети, изучить основы ЯП для построения сетей на ПК, создать механизм парсинга модели для дальнейшей посылки её в контроллер, ну ок
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
выложу еще вариант прогнозирования выходной величины по трем входным данным, ссылка на пример внутри проекта
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран