В статье представлен результат использованию искусственного интеллекта для распознавания типов деталей, изготавливаемых обработкой металлов давлением. В качестве объекта исследования выбраны осесимметричные поковки, производимые на горизонтально-ковочных машинах. Предлагаемый подход позволяет отойти от субъективной оценки геометрии деталей и реализовать полную цифровизацию проектирования технологического процесса.
Ключевые слова : искусственный интеллект, нейронная сеть, штамповка, группы поковок.
В последнее время задачам внедрения искусственного интеллекта уделяется большое внимание во всех отраслях науки и техники. Теоретические основы построения и использования искусственного интеллекта [1–5] стали реализовываться в решении многих практических задач, в том числе, в машиностроении [6]. Внедрение в процесс технологической подготовки производства этапа компьютерного распознавания типа штампуемых деталей позволяет реализовать полную цифровизацию проектирования.
Среди многочисленных технологий обработки металлов давлением значительное место занимает горячая штамповка на горизонтально-ковочных машинах (ГКМ). Поковки, изготовляемые на ГКМ, в зависимости от их конфигурации подразделяют на шесть основных групп, при этом каждая из групп разделяется на подгруппы численностью от одной до трех [7]. Принадлежность поковки к одной из групп в значительной мере определяет технологию ее изготовления. Обычно подгруппа для поковки выбирается технологом субъективно, исходя из общих рекомендаций и собственного опыта. Применение нейронных сетей для распознавания групп поковок открывает новые возможности для формализации решения этой проблемы.
Для исследования были выбраны три группы осесимметричных поковок: группа A — поковки стержневого типа с утолщением и впадиной на одном конце, группа B — поковки полые, группа C — поковки с утолщениями на обоих концах поковки. Обучение нейронной сети проводилось с использованием набор данных по структуре похожих на CIFAR-10, в котором представлены меридиональные, несколько утрированные, сечения выбранных типов поковок (Табл. 1).
Таблица 1
Исходный набор данных для обучения нейронной сети
А |
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
Для решения задачи распознавания изображений деталей использована одна из сверточных нейронных сетей (Convolutional Neural Network [8]) с высоким уровнем абстракции — TensorFlow [9], в связке с API Keras [10] для работы с моделями типа Sequential, которые позволяют добавлять слои последовательно. Сеть состояла из следующих слоев: нормализация данных, сверточный слой, пуллинг, полносвязный слой. Создание слоев для получившейся модели выглядит следующим образом:
model = Sequential([
layers.experimental.preprocessing.Rescaling(1./255,input_shape=(img_height,img_width,3)),
layers.Conv2D(16,3,padding='same',activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(32,3,padding='same',activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(64,3,padding='same',activation='relu'),
layers.MaxPooling2D(),
layers.Flatten(),
layers.Dense(128,activation='relu'),
layers.Dense(num_classes)])
Для визуализации процесса обучения и его результатов использована библиотека Matplotlib и компонент pyplot для построения графиков. Библиотека PIL нужна для обработки растровых изображений на языке python, а numpy — библиотека для работы с многомерными массивами, в нашем случае с матрицами. Она использовалась на этапе тестирования для расчета точности предсказания модели.
Классическая структура обучения нейронной сети подразумевает разделение исходного массива данных на две категории: 80 % — на обучение, 20 % — на проверку (валидацию). В процессе исследования было проведено 10 итераций (эпох) процесса обучения. Графики точности и потерь представлены на рис. 1 а.
Рис. 1. Графики точности и потерь для тренировочного и проверочного исходного набора данных (а) и увеличенного набора данных с повторным обучением (б)
Графики потерь в процессе обучения и проверки имеют классический вид, без каких-либо отклонений, т. е. модель обучается нормально. Рост точности на тренировочном наборе данных имеет большую продолжительность, чем точность на проверочном наборе данных. Это означает, что модель закончила выделение и ранжирование наиболее значимых признаков изображений до четвертой итерации обучения. В ходе дальнейшего снижения точности на тренировочном наборе данных нейросеть проанализировала изображения еще раз и произвела пересчет значений доминирующих признаков, что привело к увеличению точность на оценочном наборе данных. Таким образом, точность для тренировочного и оценочного наборов данных после пятой итерации практически не изменяется, а потери продолжают незначительно уменьшаться.
Для избегания переобучения набор данных был искусственно увеличен с помощью функции layers.experimental.preprocessing за счет ротации, изменения контрастности, приближения и отдаления изображений. После чего было проведено повторное обучение, результаты которого показаны на рис. 1б. Итоговое значение точности уменьшилось по сравнению с исходным набором данных, но сохранился рост с каждой последующей итерацией.
В ходе исследования была предпринята попытка увеличить количество итераций обучения до 20 (рис. 2).
Рис. 2. Изменение точности и потерь с увеличением числа итераций обучения
В результате показатель потерь снизился, а итоговая точность почти не изменилась. Резкие перепады точности после восьмой итерации говорят о нестабильности обученной модели, что отражается на достоверности распознавания в процессе тестирования. Самые стабильные и высокие показатели точности показала модель с первоначальной архитектурой, прошедшая 10 итераций (эпох) обучения. Поэтому в дальнейшем использовалась именно эта модель.
После обучения сети для распознания типа поковок в сеть загружались изображения поковок различных групп, не входящие в исходный обучающий набор данных, а от нейросети требовалось определить тип, к которому относится изображение и достоверность совпадения. Результаты распознавания приведены в таблице 2.
Таблица 2
Результаты распознавания типа поковок нейронной сетью
A |
B |
C |
Неизвестный тип |
|
|
|
|
Относится к группе A 99,28 |
Относится к группе B 99,9 |
Относится к группе C 95,1 |
Относится к группе A 42,03 |
При анализе сечений деталей, не принадлежащих ни к одной из перечисленных трех групп, созданная система распознавания определяла группу поковок с набором признаков, которой имеет наибольшее число совпадений с исходным чертежом детали.
Заключение
— Синтезированная нейронная сеть после обучения оказалась способной распознавать три группы осесимметричных штампуемых поковок с достоверностью 95–99 %, что дает основание для практического использования сети в процессе проектирования технологического процесса штамповки на ГКМ.
— При анализе сечений деталей, не принадлежащих ни к одной из перечисленных трех групп, созданная сеть определяла тип поковки, набор признаков которого имеет наибольшее число совпадений с исходным чертежом.
Литература:
- Горбань А. Н. Обучение нейронных сетей. М.: ParaGraph, 1990. 160 с.
- Уоссермен Ф. Нейрокомпьютерная техника. М.: Мир, 1992. 240 с.
- Галушкин, А. И. Нейронные сети: основы теории. /А. И. Галушкин. — М.: Р и С, 2015. — 496 c.
- Пратик, Джоши. Искусственный интеллект с примерами на Python. Пер. с англ. — СПб.: ООО «Диалектика», 2019. — 448 с.
- Хайкин, С. Нейронные сети: полный курс / С. Хайкин. — М.: Диалектика, 2019. — 1104 c.
- Черепанов Н. В., Буслаев С. П. Проблемы и задачи развития искусственного интеллекта на машиностроительном предприятии. «Инновации и инвестиции». № 7. 2021, c.175–179.
- Ковка и штамповка: справочник. В 4 т. Т. 2. Горячая объемная штампов ка. 2-е изд., перераб. и доп. / Под общ. ред. Е. И. Семенова. М.: Машиностроение, 2010. 720 с.: ил.
- What are convolutional neural networks? Электронный ресурс: https://www.ibm.com/topics/convolutional-neural-networks. Дата обращения: 14.01.2024.
- Create production-grade machine learning models with TensorFlow. Электронный ресурс: https://www.tensorflow.org/?hl=en. Дата обращения: 14.01.2024.
- Keras 3 API documentation. Электронный ресурс: https://keras.io/api/. Дата обращения: 14.01.2024.