Выпуск #9/2018
Аристов Роман Сергеевич, Власов Андрей Игоревич, Вирясова Анастасия Юрьевна, Гладких Алексей Алексеевич, Макарчук Владимир Васильевич
Исследование различных моделей сверточных нейронных сетей для классификации изображений дефектов топологического рисунка СБИС
Исследование различных моделей сверточных нейронных сетей для классификации изображений дефектов топологического рисунка СБИС
Просмотры: 2396
Рассмотрены различные современные модели нейронных сетей, произведено их обучение и приведены результаты экспериментальных исследований использования каждой модели для классификации дефектов топологии СБИС. Описан метод использования нейронных сетей для детектирования объектов на изображении, и приведен результат применения данного метода для дефектов топологии СБИС.
УДК 004.94
DOI: 10.22184/1993-8578.2018.82.392.398
УДК 004.94
DOI: 10.22184/1993-8578.2018.82.392.398
Теги: alexnet caffenet class activation cards cnn convolutional neural networks defects googlenet keras optimization vggnet vlsi дефекты карты активации класса оптимизация сбис сверточные нейронные сети
ВВЕДЕНИЕ
Проблема анализа дефектов интегральных структур приобретает все большую актуальность с уменьшением проектных норм и формированием пространственных интегральных структур. Несмотря на значительное внимание к проблематике неразрушающего контроля и дефектоскопии интегральных структур, еще целый ряд проблем остается нерешенным. С учетом успехов машинного обучения в области распознавания изображений все же всегда остается проблемой выбор наиболее подходящей модели сети для конкретной задачи. Настоящая работа посвящена выбору модели сети для задачи распознавания изображений дефектов топологии СБИС.
ФОРМИРОВАНИЕ БАЗЫ ЗНАНИЙ
Как было сказано выше, для создания корректной классификации дефектов топологии СБИС необходима качественная база знаний. Во-первых, для корректного обучения сети каждый класс этой классификации должен содержать не менее 150 изображений. При этом 25 % изображений используются для верификации сети на этапе обучения, а 75 % — для самого обучения. Помимо подготовки базы данных, необходимо каждое изображение привести к единому размеру (для AlexNet 227x227) и увеличить контрастность. Ниже приведены примеры дефектов, относящихся к разным классам, до и после их обработки. В предыдущей работе [1] была подготовлена база данных изображений дефектов со следующим набором классов:
• «искажение топологического рисунка»,
• «дефекты нижнего антиотражающего покрытия»,
• «частица»,
• «капля»,
• “царапина».
Примеры изображений дефектов приведены на рис. 1.
Дефект нижнего антиотражающего покрытия (barc) — пузырьки, которые возникают в слое при формировании нижнего антиотражающего покрытия. Они выглядят как радужные пятна круглой формы в нижнем слое.
Дефект типа «Искажение рисунка топологии» (distortion) — данный дефект может возникнуть в разных слоях интегральной микросхемы. Его основной отличительный признак заключается в том, что он образован тем же материалом, что и материал рисунка топологии.
Дефект типа «Капля» (liquid) — образуется после попадания жидкого вещества на кремниевую пластину с кристаллами микросхем. Как видно из рис. 1, признаком данного дефекта является правильная круглая форма, а также радужное изменение цвета внутри. В отличие от дефекта нижнего антиотражающего покрытия, данный дефект при рассмотрении через микроскоп имеет четкий контур, а дефект нижнего антиотражающего покрытия похож на размытое пятно круглой формы.
Дефект типа «Материал» (material) — представляет собой непрозрачную частицу, напоминающую искажение рисунка, но имеющую четкий контур, поскольку лежит в разных плоскостях с рисунком топологии.
Дефект типа «Частица» (particle) — материал дефекта отличается от материала рисунка топологического слоя. При этом на операции контроля сам рисунок топологии и дефект находятся в разных фокальных плоскостях, вследствие чего возникает размытие края дефекта, поскольку при контроле фокус микроскопа настроен на рабочую топологию, а не
на дефект.
Дефект типа «Царапина» (scratch) — данный дефект также является искажением рисунка топологии, так как находится на самом топологическом рисунке и проявляется в том же материале. Отличие лишь в том, что он содержит множество мелких дефектов, располагающихся на одной линии.
КРИТЕРИИ КАЧЕСТВА ОБУЧЕНИЯ МОДЕЛИ СЕТИ
При обучении нейронной сети были использованы следующие критерии:
• loss — расхождение между полученным ответом от нейронной сети и требуемым значением,
• mae — среднеквадратичное отклонение между ответом нейронной сети и требуемым значением,
• accuracy — общая точность определения правильного ответа нейронной сетью. Его значение равно числу правильных предположений нейронной сети по отношению к общему числу тестируемых изображений,
• precision — точность определения конкретного класса. Математически данный критерий определяется аналогично критерию accuracy за исключением того, что он вычисляется для каждого конкретного класса и качественно показывает, с какой вероятностью нейронная сеть выдает ответ «particle», означающий, что изображение относится именно к этому виду дефектов.
• recall — «память» нейронной сети, который математически определяется как отношение числа правильных предположений нейронной сети к числу изображений заданного класса. Качественно, этот критерий показывает, какое количество дефектов в действительности нашла нейронная сеть для заданного класса из всего набора данных.
АНАЛИЗ МОДЕЛЕЙ СВЕРТОЧНЫХ НЕЙРОННОЙ СЕТИ ДЛЯ КЛАССИФИКАЦИИ ДЕФЕКТОВ ТОПОЛОГИИ СБИС
В настоящее времени для работы со сверточными нейронными сетями разработано большое число библиотек. Хотя в предыдущей работе [1] использовалась программная библиотека Caffe, в данной работе с целью более быстрого обучения сети и наличия более удобного программного интерфейса была использована библиотека Keras. Эта библиотека написана на языке Python и является надстройкой над Theano, Deeplearning4j и TensorFlow. Она обеспечивает быструю работу с сетями глубокого обучения и, кроме того, поддерживает возможность создания либо сверточных, либо рекуррентных сетей, или же их комбинации.
В настоящей работе будут далее подробно рассмотрены следующие модели нейронных сетей: AlexNet, CaffeNet, GoogLeNet, VGG16 и VGG19.
СЕТЬ ALEXNET
По сравнению с другими современными нейронными сетями архитектура сети AlexNet (рис. 2) отличается простотой. Сеть содержит пять сверточных слоев (convolutional layer) с применением техники регуляризации дропаута (dropout) и пулинга по максимуму (max-pooling), и три полносвязных слоя. Данная сеть позволяет классифицировать изображения из 1000 различных категорий.
Обучение сети было выполнено с помощью метода стохастического градиентного спуска при фиксированных значениях импульса и коэффициента затухания весов. Результаты обучения сети показаны на рис. 3.
Из представленных результатов видно, что сеть практически линейно увеличивала свою точность, и на 80 эпохе эта точность уже превышает 90 %. Время обучения сети составило 123 часа для Intel Dual-Core i5 2,0GHz.
СЕТЬ CAFFENET
Нейронная сеть CaffeNet по архитектуре схожа с сетью AlexNet. А если быть более точным, она является ее модификацией. В ней изменен порядок слоев, некоторые из которых объединены, в результате чего вычисления при обучении сети происходят быстрее и требуют меньшего объема памяти.
Результат обучения данной нейронной сети представлен на рис. 4.
Из рисунка видно, что, в отличие от программного пакета сети AlexNet, пакет сети CaffeNet работает гораздо точнее и имеет меньшее число случайных ошибок. Из представленных данных видно, что, если исключить наличие случайных ошибок, то, начиная с 40 эпохи, сеть имеет практически 100 %-ю точность. Время обучения сети составило 52 часа.
СЕТЬ GOOGLENET
Нейронная сеть GoogLeNet (рис. 5) представляет собой 22-слойную сверточную сеть с коэффициентом ошибки 6,7 %. Из-за большого числа фильтров и слоев реализация данной модели требует больших вычислительных ресурсов, а также повышает вероятность переобучения.
Следует отметить, что, в отличие от сетей CaffeNet и AlexNet, в данной нейронной сети не все вычислительные операции осуществляются последовательно. В сети имеются элементы, вычислительные операции над которыми можно выполнять параллельно. Модуль сети, который содержит параллельные фрагменты, называется Inception. Результаты обучения сети представлены на рис. 6.
Из рисунка видно, что, начиная с 60 эпохи, функция потерь практически свелась к нулю, а остальные критерии качества обучения сети практически равны единице. А это значит, что распознаваемость класса практически равна 100 %. Время обучения сети составило 97 часов.
СЕТЬ VGGNET
Нейронная сеть VGGNet (рис. 7) содержит 16 (VGG16) или 19 (VGG19) сверточных и полносвязных слоев и имеет очень однородную архитектуру. При анализе изображений с помощью данной архитектуры сверточные слои выполняют операцию свертывания 3×3, а слои пулинга реализуют максимальную подвыборку 2×2 с шагом 2. Анализируя архитектуру данной сети, можно заметить, что она содержит слой предварительной обработки, который принимает изображение со значениями пикселей 0–255 и вычитает средние значения изображения.
На рис. 8 представлены результаты обучения сети VGGNet16, а на рис. 9 — результаты обучения сети VGGNet19. В связи с тем, что для обучения данных сетей требовалось большое количество машинного времени и оперативной памяти, с целью экономии вычислительных ресурсов обучение данных нейронных сетей было ограничено 25 эпохами.
Из рисунков видно, что сеть VGG19 имеет лучшую сходимость, чем сеть VGG16. Но по сравнению с предыдущими моделями нейронных сетей, обе эти сети имеют наименьшую начальную функцию потерь. Кроме этого видно, что критерии, показывающие качество обучения сети у моделей VGG16 и VGG19, практически не отличаются. Общее машинное время обучения сетей составило примерно 288 часов.
ВЫВОДЫ
В результате проведенной работы получены результаты обучения 5 моделей сверточных нейронных сетей. Обучение проводилось на 1400 изображениях дефектов, а классификация дефектов была проведена по 9 различным классам. В результате экспериментально доказано, что при классификации изображений дефектов топологии СБИС наилучшие результаты по скорости и качеству обучения показывает архитектура нейронной сети CaffeNet. Однако существует вероятность того, что модели нейронных сетей VGG16 и VGG19 дали бы лучшие показатели качества обучения, если бы их обучение не было ограничено 25 эпохами.
Авторы выражают благодарность за предоставление изображений дефектов топологии интегральных микросхем ФГУ ФНЦ НИИСИ РАН и лично Амирханову А. В. и Захарченко А. А. за помощь в подготовке материалов данной статьи.
ЛИТЕРАТУРА
1. Амирханов А. В. и др. Использование современных моделей искусственных нейронных сетей для анализа дефектов при изготовления субмикронных СБИС / Амирханов А. В., Аристов Р. С., Власов А. И., Гладких А. А., Захарченко А. А., Макарчук В. В. // Наноиндустрия, 2017. — Спецвыпуск (74). Международный форум «Микроэлектроника-2016», 2-я научная конференция «Интегральные и микроэлектронные модули». Сборник докладов. — С. 395–406.
Проблема анализа дефектов интегральных структур приобретает все большую актуальность с уменьшением проектных норм и формированием пространственных интегральных структур. Несмотря на значительное внимание к проблематике неразрушающего контроля и дефектоскопии интегральных структур, еще целый ряд проблем остается нерешенным. С учетом успехов машинного обучения в области распознавания изображений все же всегда остается проблемой выбор наиболее подходящей модели сети для конкретной задачи. Настоящая работа посвящена выбору модели сети для задачи распознавания изображений дефектов топологии СБИС.
ФОРМИРОВАНИЕ БАЗЫ ЗНАНИЙ
Как было сказано выше, для создания корректной классификации дефектов топологии СБИС необходима качественная база знаний. Во-первых, для корректного обучения сети каждый класс этой классификации должен содержать не менее 150 изображений. При этом 25 % изображений используются для верификации сети на этапе обучения, а 75 % — для самого обучения. Помимо подготовки базы данных, необходимо каждое изображение привести к единому размеру (для AlexNet 227x227) и увеличить контрастность. Ниже приведены примеры дефектов, относящихся к разным классам, до и после их обработки. В предыдущей работе [1] была подготовлена база данных изображений дефектов со следующим набором классов:
• «искажение топологического рисунка»,
• «дефекты нижнего антиотражающего покрытия»,
• «частица»,
• «капля»,
• “царапина».
Примеры изображений дефектов приведены на рис. 1.
Дефект нижнего антиотражающего покрытия (barc) — пузырьки, которые возникают в слое при формировании нижнего антиотражающего покрытия. Они выглядят как радужные пятна круглой формы в нижнем слое.
Дефект типа «Искажение рисунка топологии» (distortion) — данный дефект может возникнуть в разных слоях интегральной микросхемы. Его основной отличительный признак заключается в том, что он образован тем же материалом, что и материал рисунка топологии.
Дефект типа «Капля» (liquid) — образуется после попадания жидкого вещества на кремниевую пластину с кристаллами микросхем. Как видно из рис. 1, признаком данного дефекта является правильная круглая форма, а также радужное изменение цвета внутри. В отличие от дефекта нижнего антиотражающего покрытия, данный дефект при рассмотрении через микроскоп имеет четкий контур, а дефект нижнего антиотражающего покрытия похож на размытое пятно круглой формы.
Дефект типа «Материал» (material) — представляет собой непрозрачную частицу, напоминающую искажение рисунка, но имеющую четкий контур, поскольку лежит в разных плоскостях с рисунком топологии.
Дефект типа «Частица» (particle) — материал дефекта отличается от материала рисунка топологического слоя. При этом на операции контроля сам рисунок топологии и дефект находятся в разных фокальных плоскостях, вследствие чего возникает размытие края дефекта, поскольку при контроле фокус микроскопа настроен на рабочую топологию, а не
на дефект.
Дефект типа «Царапина» (scratch) — данный дефект также является искажением рисунка топологии, так как находится на самом топологическом рисунке и проявляется в том же материале. Отличие лишь в том, что он содержит множество мелких дефектов, располагающихся на одной линии.
КРИТЕРИИ КАЧЕСТВА ОБУЧЕНИЯ МОДЕЛИ СЕТИ
При обучении нейронной сети были использованы следующие критерии:
• loss — расхождение между полученным ответом от нейронной сети и требуемым значением,
• mae — среднеквадратичное отклонение между ответом нейронной сети и требуемым значением,
• accuracy — общая точность определения правильного ответа нейронной сетью. Его значение равно числу правильных предположений нейронной сети по отношению к общему числу тестируемых изображений,
• precision — точность определения конкретного класса. Математически данный критерий определяется аналогично критерию accuracy за исключением того, что он вычисляется для каждого конкретного класса и качественно показывает, с какой вероятностью нейронная сеть выдает ответ «particle», означающий, что изображение относится именно к этому виду дефектов.
• recall — «память» нейронной сети, который математически определяется как отношение числа правильных предположений нейронной сети к числу изображений заданного класса. Качественно, этот критерий показывает, какое количество дефектов в действительности нашла нейронная сеть для заданного класса из всего набора данных.
АНАЛИЗ МОДЕЛЕЙ СВЕРТОЧНЫХ НЕЙРОННОЙ СЕТИ ДЛЯ КЛАССИФИКАЦИИ ДЕФЕКТОВ ТОПОЛОГИИ СБИС
В настоящее времени для работы со сверточными нейронными сетями разработано большое число библиотек. Хотя в предыдущей работе [1] использовалась программная библиотека Caffe, в данной работе с целью более быстрого обучения сети и наличия более удобного программного интерфейса была использована библиотека Keras. Эта библиотека написана на языке Python и является надстройкой над Theano, Deeplearning4j и TensorFlow. Она обеспечивает быструю работу с сетями глубокого обучения и, кроме того, поддерживает возможность создания либо сверточных, либо рекуррентных сетей, или же их комбинации.
В настоящей работе будут далее подробно рассмотрены следующие модели нейронных сетей: AlexNet, CaffeNet, GoogLeNet, VGG16 и VGG19.
СЕТЬ ALEXNET
По сравнению с другими современными нейронными сетями архитектура сети AlexNet (рис. 2) отличается простотой. Сеть содержит пять сверточных слоев (convolutional layer) с применением техники регуляризации дропаута (dropout) и пулинга по максимуму (max-pooling), и три полносвязных слоя. Данная сеть позволяет классифицировать изображения из 1000 различных категорий.
Обучение сети было выполнено с помощью метода стохастического градиентного спуска при фиксированных значениях импульса и коэффициента затухания весов. Результаты обучения сети показаны на рис. 3.
Из представленных результатов видно, что сеть практически линейно увеличивала свою точность, и на 80 эпохе эта точность уже превышает 90 %. Время обучения сети составило 123 часа для Intel Dual-Core i5 2,0GHz.
СЕТЬ CAFFENET
Нейронная сеть CaffeNet по архитектуре схожа с сетью AlexNet. А если быть более точным, она является ее модификацией. В ней изменен порядок слоев, некоторые из которых объединены, в результате чего вычисления при обучении сети происходят быстрее и требуют меньшего объема памяти.
Результат обучения данной нейронной сети представлен на рис. 4.
Из рисунка видно, что, в отличие от программного пакета сети AlexNet, пакет сети CaffeNet работает гораздо точнее и имеет меньшее число случайных ошибок. Из представленных данных видно, что, если исключить наличие случайных ошибок, то, начиная с 40 эпохи, сеть имеет практически 100 %-ю точность. Время обучения сети составило 52 часа.
СЕТЬ GOOGLENET
Нейронная сеть GoogLeNet (рис. 5) представляет собой 22-слойную сверточную сеть с коэффициентом ошибки 6,7 %. Из-за большого числа фильтров и слоев реализация данной модели требует больших вычислительных ресурсов, а также повышает вероятность переобучения.
Следует отметить, что, в отличие от сетей CaffeNet и AlexNet, в данной нейронной сети не все вычислительные операции осуществляются последовательно. В сети имеются элементы, вычислительные операции над которыми можно выполнять параллельно. Модуль сети, который содержит параллельные фрагменты, называется Inception. Результаты обучения сети представлены на рис. 6.
Из рисунка видно, что, начиная с 60 эпохи, функция потерь практически свелась к нулю, а остальные критерии качества обучения сети практически равны единице. А это значит, что распознаваемость класса практически равна 100 %. Время обучения сети составило 97 часов.
СЕТЬ VGGNET
Нейронная сеть VGGNet (рис. 7) содержит 16 (VGG16) или 19 (VGG19) сверточных и полносвязных слоев и имеет очень однородную архитектуру. При анализе изображений с помощью данной архитектуры сверточные слои выполняют операцию свертывания 3×3, а слои пулинга реализуют максимальную подвыборку 2×2 с шагом 2. Анализируя архитектуру данной сети, можно заметить, что она содержит слой предварительной обработки, который принимает изображение со значениями пикселей 0–255 и вычитает средние значения изображения.
На рис. 8 представлены результаты обучения сети VGGNet16, а на рис. 9 — результаты обучения сети VGGNet19. В связи с тем, что для обучения данных сетей требовалось большое количество машинного времени и оперативной памяти, с целью экономии вычислительных ресурсов обучение данных нейронных сетей было ограничено 25 эпохами.
Из рисунков видно, что сеть VGG19 имеет лучшую сходимость, чем сеть VGG16. Но по сравнению с предыдущими моделями нейронных сетей, обе эти сети имеют наименьшую начальную функцию потерь. Кроме этого видно, что критерии, показывающие качество обучения сети у моделей VGG16 и VGG19, практически не отличаются. Общее машинное время обучения сетей составило примерно 288 часов.
ВЫВОДЫ
В результате проведенной работы получены результаты обучения 5 моделей сверточных нейронных сетей. Обучение проводилось на 1400 изображениях дефектов, а классификация дефектов была проведена по 9 различным классам. В результате экспериментально доказано, что при классификации изображений дефектов топологии СБИС наилучшие результаты по скорости и качеству обучения показывает архитектура нейронной сети CaffeNet. Однако существует вероятность того, что модели нейронных сетей VGG16 и VGG19 дали бы лучшие показатели качества обучения, если бы их обучение не было ограничено 25 эпохами.
Авторы выражают благодарность за предоставление изображений дефектов топологии интегральных микросхем ФГУ ФНЦ НИИСИ РАН и лично Амирханову А. В. и Захарченко А. А. за помощь в подготовке материалов данной статьи.
ЛИТЕРАТУРА
1. Амирханов А. В. и др. Использование современных моделей искусственных нейронных сетей для анализа дефектов при изготовления субмикронных СБИС / Амирханов А. В., Аристов Р. С., Власов А. И., Гладких А. А., Захарченко А. А., Макарчук В. В. // Наноиндустрия, 2017. — Спецвыпуск (74). Международный форум «Микроэлектроника-2016», 2-я научная конференция «Интегральные и микроэлектронные модули». Сборник докладов. — С. 395–406.
Отзывы читателей