Назад в библиотеку

Приложение для прогнозирования затрат на предприятии с искусственными нейронными сетями

Авторы: Tulay Korkusuz Polat, Seher Arslankaya
Автор перевода: Андриевская А.В.
Источник: Proceedings of the World Congress on Engineering 2010 Vol III WCE 2010, June 30 – July 2, 2010, London, U.K. [Ссылка]

Аннотация

Tulay Korkusuz Polat, Seher Arslankaya – Приложение для прогнозирования затрат на предприятии с искусственными нейронными сетями В настоящее время одним из разделов, который изучается, являются модели искусственных нейронных сетей (ИНС). Исследования ИНС связаны с большинством областей, таких как оптимизация, управление, обработка изображений, смысловой и разделительный язык, естественный язык и прогнозирование. Источником вдохновения для ИНС является мощность, эластичность и чувствительность биологического мозга. ИНС представляет собой математическую модель нервных клеток, синапсов и дендритов, которые являются основными биологическими компонентами мозга. ИНС формируется из простых математических элементов. В ANN есть два типа процессов обучения; контролируемые и неконтролируемые. В процессе обучения с учителем выходной набор необходим для каждого входного набора, и оба они образуют обучающий набор. Обычно обучение используется для реализации путем введения этих пар (входных/выходных наборов) в ИНС. В процессе обучения, во-первых, входные наборы передаются ИНС, а их выходные данные вычисляются. После этого ИНС изменяет веса до тех пор, пока не будет доказан желаемый уровень критериев сходимости между вычисленными выходными данными и реальными выходными данными. В результате ИНС обучается, а веса принимают наиболее подходящие значения. В этом исследовании существующая информация о затратах фабрики была предоставлена в качестве входных данных для искусственной нейронной сети, и сети было предложено вывести объем производства в качестве вывода. В исследовании рассматривается внедрение искусственной нейронной сети для определения объема производства с использованием информации о затратах, полученной от фирмы. Ключевые слова индекса – искусственная нейронная сеть, обратное распространение, прогнозирование затрат.

Введение

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

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

Искусственные нейронные сети

Искусственный интеллект (ИИ) – это обширная область, в которой разные вещи для разных людей. Он связан с тем, чтобы компьютеры могли выполнять задачи, требующие человеческого интеллекта. Однако, сказав это, есть много задач, которые, как мы могли бы разумно предположить, требуют интеллекта, например сложные арифметические действия, которые компьютер может выполнять очень легко. И наоборот, есть много задач, которые люди выполняют, даже не задумываясь, например, распознавание лица, которые крайне сложно автоматизировать. ИИ занимается этими сложными задачами, которые требуют сложных и изощренных процессов рассуждения и знаний (Cawsey, 1998). ИИ можно определить как отрасль информатики, которая занимается автоматизацией интеллектуального поведения. Однако это определение страдает от того факта, что сам интеллект не очень хорошо определен или понят (Luger, 2002).

ИИ – это область компьютерных наук, занимающаяся проектированием интеллектуальных компьютерных систем. Искусственный интеллект, как и большинство инженерных дисциплин, должен оправдать себя в мире коммерции, предоставляя решения практических задач.

Человеческий мозг, без сомнения, представляет собой очень сложную структуру, рассматриваемую как массивную, сильно взаимосвязанную сеть простых обрабатывающих элементов, называемых нейронами. Однако поведение нейрона можно зафиксировать с помощью простой модели, как показано на рисунке 1. Каждый компонент модели имеет прямую аналогию с фактическими составляющими биологического нейрона и, следовательно, называется искусственным нейроном. Именно эта модель лежит в основе искусственных нейронных сетей (Раджасекаран и Виджаялакшми Пай, 2005).

Рисунок 1 - Простая модель искусственного нейрона

Рисунок 1 – Простая модель искусственного нейрона (Раджасекаран и Виджаялакшми Пай, 2005 г.)

ИНС представляют собой распределенные, адаптивные, как правило, нелинейные обучающиеся машины, построенные из множества различных обрабатывающих элементов (PE). Каждый PE получает соединения от других PE и/или самого себя. Взаимосвязь определяет топологию ИНС. Сигнал, проходящий по соединениям, масштабируется регулируемыми параметрами, называемыми весами, wij. PE суммируют все эти вклады и производят и выводят, что является нелинейной (статической) функцией суммы. Выходные данные PE становятся либо выходом системы, либо отправляются в тот же или другой PE (Principe et al, 2000).

Нейронную сеть можно определить как модель мышления, основанную на человеческом мозге. Мозг состоит из тесно взаимосвязанного набора нервных клеток или основных единиц обработки информации, называемых нейронами (Негневицкий, 2002). Наиболее важными свойствами, благоприятствующими искусственным нейронным сетям (ИНС), являются способность выражать сложное нелинейное поведение и способность учиться на числовых примерах. В литературе было получено несколько теоретических и практических результатов для сигмоидальных многослойных сетей с прямой связью и гауссовых сетей. Поэтому чаще всего ИНС применяется, чтобы можно было выполнить желаемое нелинейное отображение из входного пространства в выходное пространство. (Миланик и др., 2004).

ИНС успешно используются для решения сложных задач в различных областях применения, включая распознавание образов, идентификацию, классификацию, речь, зрение и системы управления (Sozen and Arcaklioglu, 2005).

ИНС, первоначально разработанные для имитации основных биологических нейронных систем, в частности человеческого мозга, состоят из ряда взаимосвязанных простых обрабатывающих элементов, называемых нейронами или узлами. Каждый узел получает входной сигнал, который представляет собой общую «информацию» от других узлов или внешних раздражителей, обрабатывает его локально с помощью функции активации или передачи и выдает преобразованный выходной сигнал другим узлам или внешним выходам. Хотя каждый отдельный нейрон выполняет свою функцию довольно медленно и несовершенно, в совокупности сеть может довольно эффективно выполнять удивительное количество задач (Dombayci and Golcu, 2009).

Наиболее фундаментальной характеристикой ИНС является то, что она учится на примерах. ИНС состоит из пяти основных элементов. 1) Входы: это информация, поступающая в искусственную нервную клетку из внешнего мира. Они состоят из случаев, которые сеть желательно изучить. 2) Веса: они указывают на важность информации, поступающей в искусственную клетку, и ее влияние на клетку. 3) Суммарная функция: Эта функция вычисляет чистый ввод, поступающий в ячейку. С этой целью используются различные функции. 4) Функция активации: эта функция обрабатывает чистый ввод, поступающий в ячейку, и определяет вывод, который ячейка произведет в обмен на этот ввод. Как и в функции суммы, для расчета выхода в качестве функции активации используются различные формулы. 5) Выход ячейки: это выходное значение, определяемое функцией активации. Произведенный результат отправляется во внешний мир или в другую клетку (Oztemel, 2003).

ИНС использовались в широком спектре приложений, включая классификацию шаблонов, идентификацию, прогнозирование, оптимизацию и системы управления. ИНС учатся, используя некоторые примеры, а именно шаблоны. Другими словами, для обучения и тестирования нейронной сети необходимы входные данные и соответствующие целевые значения (Янг и Ким, 2004).

Подробную информацию об ИНС можно найти в Haykin, 1999; Норгаард и др., 2000.

Пример из практики

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

В этом исследовании существующая информация о затратах фабрики была предоставлена в качестве входных данных для искусственной нейронной сети, и сети было предложено вывести объем производства в качестве вывода. В исследовании рассматривается внедрение искусственной нейронной сети для определения объема производства с использованием информации о затратах, полученной от фирмы.

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

Есть много факторов, влияющих на соотношение между затратами и объемом производства, и очень трудно выразить его с помощью какой-либо функции. Затраты, необходимые для производства, примерно очевидны; однако может быть много параметров для максимального результата, который может быть получен с этими входными данными. Например, больший объем продукции может быть получен при тех же затратах, а стоимость единицы продукции может быть снижена по мере того, как снижаются нормы брака в машинах и техническое обслуживание/ремонт, а эффективность и скорость использования производственных мощностей возрастают. Мероприятия по техническому обслуживанию напрямую связаны с этими параметрами. Одной из наиболее сложных частей соотношения затрат и объема производства является соотношение между стоимостью обслуживания и объемом производства. Увеличение стоимости обслуживания повышает эффективность до определенного уровня (уменьшение потерь, увеличение коэффициента использования мощностей и снижение стоимости изготовления). Существует оптимальная стоимость обслуживания, которая максимизирует эффективность. Техническое обслуживание, выполняемое после этого уровня, не влияет на эффективность и требует дополнительных затрат. В то же время результат может быть получен позже, чем техническое обслуживание, которое проводится в настоящее время. Очень трудно выразить эту связь с помощью функции. Поэтому было сочтено целесообразным выполнить реализацию искусственной нейронной сети в этой области.

При реализации использовалась программа Neurak v1.1. Neurak – среда для разработки и применения искусственных нейронных сетей. Он чрезвычайно прост в использовании даже для тех, кто не имеет теоретических знаний о нейронных сетях. Учебники и интерактивная справка научат вас создавать и использовать нейронные сети. Оптимизированный алгоритм обучения и эффективная вычислительная реализация обеспечивают очень быстрое время обучения. Также предоставляется API и класс C++ для загрузки и использования нейронных сетей, разработанных в Neurak.

Для обучения и тестирования используемой сети использовались группы данных за последние 62 месяца, полученные от фирмы. Входы сети были получены как «сырье, упаковка, мастерство, энергия, персонал, техническое обслуживание, внешние выгоды и услуги, амортизация, расходные материалы и прочее» путем сокращения на 1: 1 000 000, в то время как выпуск был определен как « объем производства».

Для того, чтобы значения, находящиеся в используемой группе данных, попали в сеть, их необходимо нормализовать (упорядочить по интервалу 0-1).

Нормализация применялась к группам входных данных и к группе выходных данных. Например, все данные inp-1 были нормализованы, и для этой группы Xmin считалось минимальным значением inp-1, тогда как Xmax рассматривалось как максимальное значение inp-1, и соответственно рассчитывалось Xnor.

Используя уравнение нормализации, как показано ниже:

Уравнение

Из групп данных за 62 месяца, собранных в этом исследовании, группы данных за 40 месяцев использовались для обучения сети, а группы данных за оставшиеся 22 месяца использовались для проверки того, научилась ли сеть или нет.

Программа Neurak может получать обучающие и тестовые наборы, необходимые для создаваемой сети, из txt-файла. Таким образом, в первую очередь копировались нормализованные данные и создавался txt-файл. Затем программа запускалась; в программу было введено количество входов, количество групп данных и количество выходов; и ранее сохраненный файл txt вызывался в появившемся разделе, который напоминал таблицу Excel. Следовательно, данные, необходимые программе для обучения, легко вводились в программу. Часть группы данных была скопирована и перенесена в тестовый набор. После этого этапа программа проверяла, есть ли в группе данных группы, в которых использовались идентичные данные. Теперь программа была готова к обучению сети.

На этапе обучения программа предлагает пользователю четыре параметра, которые он может изменить, а именно: количество нейронов в скрытом слое, номер итерации, импульсный фактор и предполагаемую частоту ошибок. На следующем этапе, используя эти четыре введенных параметра, программа отправляла данные в сеть, она распределяла частоту ошибок между результирующим выходом и реальным выходом путем изменения весов в обратном направлении, и эти же данные повторно отправлялись в сеть. Эта процедура фактически продолжается до тех пор, пока не будет достигнута предполагаемая частота ошибок или пока не будет завершено введенное нами число итераций. Вернувшись в программу назад, можно снова изменить эти четыре параметра. Чтобы добиться наименьшей частоты ошибок, необходимо предоставить трем другим параметрам (количество нейронов в скрытом слое, номер итерации и фактор импульса) соответствующие значения.

Для того чтобы найти количество нейронов в скрытом слое и значения импульсного фактора, прежде всего, в сеть был введен номер итерации 2000. Путем изменения количества нейронов в скрытом слое было найдено количество нейронов, дающих наименьшую частоту ошибок за 2000 итераций. Затем вводились различные значения фактора импульса с использованием тех же итераций и номеров нейронов, и снова выбирался фактор импульса, дающий наименьшую частоту ошибок. Используя нормализованные данные, количество нейронов в скрытом слое было найдено равным 12, а коэффициент импульса равен 0,64, что дало бы оптимальный результат в сети. Эти значения и коэффициент ошибок 0,03 были введены в сеть, и предполагалось достичь этого коэффициента ошибок за счет увеличения числа итераций. В результате 20100 итераций сеть обеспечила предполагаемую частоту ошибок.

На этапе тестирования, когда сеть тестировалась с группами данных за 22 месяца, частота ошибок тестового набора была найдена равной 0,05, и сеть была принята с этой частотой ошибок. После сохранения сети программа Neurak создает 3 файла. Имя сети, количество входов, количество нейронов в скрытом слое и количество выходов указаны в первом файле, тогда как их веса, которые программа нашла и которые обеспечивают сеть, представлены во втором файле. Третий вывод программы – это сеть, которую Neurak v1.1 сохраняет для использования в моделировании. Сохраненная сеть запускалась в разделе моделирования программы Neurak (Neurak Sim), и из группы данных выбирались различные векторы; в сеть вводились только их входные значения, и было замечено, что на выходе была достигнута частота ошибок 0,05. В этом исследовании сеть была обучена путем ввода количества нейронов в скрытом слое как 12 и коэффициента импульса как 0,64, и она достигла частоты ошибок 0,03 в конце 20100 итераций. Коэффициенты ошибок в некоторых итерационных значениях представлены в табл. 1.

Таблица 1 – Коэффициенты ошибок, соответствующие различным итерациям

Скорость обучения продемонстрирована на рисунках 3, 4 и 5.

Рисунок 3 - Скорость обучения от 50 до 500 итераций

Рисунок 3 – Скорость обучения от 50 до 500 итераций

Рисунок 4 - Скорость обучения от 750 до 2000 итераций

Рисунок 4 – Скорость обучения от 750 до 2000 итераций

Рисунок 5 - Скорость обучения от 2500 до 20000 итераций

Рисунок 5 – Скорость обучения от 2500 до 20000 итераций

Выводы

В отличие от других языков программирования, программа искусственной нейронной сети может использоваться для решения не только любых математических функций, но и многих задач, между которыми существует связь, которую нельзя выразить с помощью математической функции. Для решения более чем одной проблемы сети этой проблемы могут быть созданы с использованием программы искусственной нейронной сети. Однако для того, чтобы решить программу с искусственной нейронной сетью, следует обратить внимание на такие важные детали, как наличие достаточного количества данных, четкое определение взаимосвязи между выходными слой и входной слой, а также доступность всех входных данных, влияющих на выходные данные, во входном слое.

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

Когда некоторые из 62 групп данных использовались для обучения, а остальные использовались для тестирования в приложении, было замечено, что частота ошибок может быть снижена не более чем на 3% за 20100 итераций. Руководство фирмы согласилось с тем, что эта частота ошибок находится между соответствующими интервалами, и они начали применять программу. Первые шесть месяцев программа работала эффективно. В последующие периоды частота ошибок увеличилась и достигла 23%. Причина этого была исследована, и, наконец, было обнаружено, что существует несколько причин неправильной работы сети. В период, когда процент ошибок оказался высоким, Турция пережила экономический кризис, и в результате фирма имела большие диспропорции в эти периоды в своем производстве и затратах (такие как отпуска без оплаты персонала и большое увеличение расходы, особенно стоимость сырья).

Кроме того, сырье, закупленное сегодня, может быть использовано на предприятии через 8-10 месяцев и, следовательно, может быть отражено в затратах через 8-10 месяцев. Когда считается, что в производстве нет стабильности, ясно видна причина 23-процентной ошибки.

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

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

Подтверждение

Авторы хотели бы поблагодарить компанию, в которой проводится тематическое исследование. Особая благодарность Omer Engin Polat за неоценимую поддержку и рекомендации при внедрении искусственных нейронных сетей.

Список использованной литературы

[1] M. Negnevitsky, Artificial intelligence – A guide to intelligent systems, Pearson Education Limited, England, 2002
[2] S. Milanic, S. Strmcnik, D. Sel, N. Hvala, R. Karba, Incorporating prior knowledge into artificial neural Networks – an industrial case study, Neurocomputing, 62, 2004, page: 131-151
[3] A. Sozen, E. Arcaklioglu, Solar potential in Turkey, Applied Energy 80, 2005, page: 35-45
[4] O.A. Dombayci, M. Golcu, Daily means ambient temperature prediction using artificial neural network method: A case study of Turkey, Renewable Energy 34, 2009, page: 1158-1161
[5] E. Oztemel, Yapay Sinir Aglari, Papatya Yayincilik, Istanbul, 1.Basim, 2003
[6] I.H. Yang, K.W. Kim, Prediction of the time of room air temperature descending for heating systems in buildings, Building and Environment 39, 2004, page: 19-29
[7] A. Cawsey, The essence of Artificial Intelligence, Prentice Hall, London, 1998
[8] G.F. Luger, Artificial intelligence – structures and strategies for complex problem solving, Addison-Wesley, London, Fourth Edition, 2002
[9] S. Rajasekaran, G.A. Vijayalakshmi Pai, Neural Networks, Fuzzy Logic, and Genetic Algorithms – Synthesis and Applications, Prentice-Hall of India, New Delhi, Fifth Edition, 2005
[10]J.C. Principe, N.R. Euliano, W.C. Lefebvre, Neural and adaptive systems: Fundamentals through simulations, John Wiley & Sons, Inc., New York, 2000
[11]S. Haykin, Neural Networks – A comprehensive foundation, Prentice Hall, New Jersey, Second Edition, 1999
[12]M. Norgaard, O. Ravn, N.K. Poulsen, L.K. Hansen, Neural networks for modelling and control of dynamic systems, Springer, London, 2000