В монографии дается системное изложение теории и практики распознавания инженерных сооружений, промышленных предприятий и объектов железнодорожного транспорта при дешифрировании аэроснимков, полученных цифровыми оптикоэлектронными системами. Представлены особенности дешифрирования аэроснимков, классификация и описание признаков распознавания инженерных сооружений, промышленных предприятий и объектов железнодорожного транспорта, требования к результатам дешифрирования, требования к дешифровщикам и пути повышения их квалификации, практика применения систем автоматизированного дешифрирования. Существенное место уделено изложению разработанной авторами классификации инженерных сооружений, промышленных предприятий и объектов железнодорожного транспорта, описанию основных характеристик при дешифрировании аэроснимков. В формате PDF A4 сохранен издательский макет книги.
Приведённый ознакомительный фрагмент книги «Теория и практика распознавания инженерных сооружений, промышленных предприятий и объектов железнодорожного транспорта при дешифрировании аэроснимков» предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
2. Основы применения искусственного интеллекта при дешифрировании аэроснимков
2.1. Основные определения искусственного интеллекта
Искусственный интеллект как область знаний охватывает все области человеческой деятельности, включая информатику, математику, философию, психологию, термодинамику, лингвистику, здравоохранение, инженерию, экономику, когнитивные науки и др.
Эти знания используются в таких приложениях, как системы управления, системы принятия решений, многоагентные системы, системы обработки естественного языка, распознавание образов, распознавание речи, обработка знаний, интеллектуальный анализ данных, логистика и другие приложения.
Ниже раскрыты основные термины и определения, принятые в области искусственного интеллекта в соответствии с ГОСТ Р 59277–2020.
Искусственный интеллект — комплекс технологических решений, позволяющий имитировать когнитивные функции человека (включая самообучение, поиск решений без заранее заданного алгоритма и достижение инсайта) и получать при выполнении конкретных практически значимых задач обработки данных результаты, сопоставимые, как минимум, с результатами интеллектуальной деятельности человека. Комплекс технологических решений включает в себя информационнокоммуникационную инфраструктуру, программное обеспечение (в том числе, в котором используются методы машинного обучения), процессы и сервисы по обработке данных, анализу и синтезу решений.
Компьютерное зрение — способность функционального блока получать, обрабатывать и интерпретировать визуальные данные.
Нейротехнологии — технологии, которые используют или помогают понять работу мозга, мыслительные процессы, высшую нервную деятельность, в том числе технологии по усилению, улучшению работы мозга и психической деятельности.
Система искусственного интеллекта (СИИ) — техническая система, в которой используются технологии искусственного интеллекта.
Технологии искусственного интеллекта — комплекс технологических решений, направленных на создание систем искусственного интеллекта.
Автоматизированная система — система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций.
Автоматическая система — совокупность управляемого объекта и автономной СИИ, функционирующая самостоятельно, без участия человека.
Автономность — характеристика СИИ, связанная с ее способностью самостоятельно (без участия человека) выполнять возложенные на нее функции в течение заданного времени и с заданными показателями качества, надежности, безопасности. Системы, работающие в автономном режиме, подлежат обязательному контролю или надзору со стороны человека.
Агент — физический/программный объект, который оценивает собственное состояние, состояние других объектов и окружающей среды для выполнения своих действий, включая прогнозирование и планирование, которые максимизируют успешность, в том числе при неожиданном изменении оцениваемых состояний, достижения своих целей.
Алгоритм — конечное упорядоченное множество точно определенных правил для решения конкретной задачи.
Библиотека знаний — набор информационных (знаковых, символьных) моделей, которые выражают знания (также могут включать в себя определение моделей и их требования) о ряде вещей (понятий) и хранятся и воспроизводятся в электронном виде.
Вычислительные средства (средства вычислительной техники) — технические средства, непосредственно осуществляющие обработку данных.
Данные — предоставление информации в формальном виде, пригодном для передачи, интерпретации или обработки людьми или компьютерами.
Доверие к системе искусственного интеллекта — уверенность потребителя и, при необходимости, организаций, ответственных за регулирование вопросов создания и применения систем искусственного интеллекта, и иных заинтересованных сторон в том, что система способна выполнять возложенные на нее задачи с требуемым качеством.
Интероперабельность — способность двух или более информационных систем или компонентов к обмену информацией, в том числе на организационном, семантическом и техническом уровнях, и к использованию информации, полученной в результате обмена.
Интероперабельная система — система, в которой входящие в нее подсистемы работают по независимым алгоритмам, не имеют единой точки управления, все управление определяется единым набором стандартов — профилем интероперабельности.
Информационная технология — методы, способы, приемы и процессы обработки (сбора, накопления, ввода-вывода, приема-передачи, хранения, поиска, регистрации, преобразования, анализа и синтеза, предоставления, отображения, распространения и уничтожения) информации с применением программных и технических средств.
Киберфизическая система — информационно-технологическая концепция, подразумевающая интеграцию вычислительных ресурсов в физические процессы. В такой системе датчики, оборудование и информационные системы соединены на протяжении всей цепочки в логику управления для создания стоимости, выходящей за рамки одного предприятия или бизнеса. Эти системы взаимодействуют друг с другом с помощью стандартных интернет-протоколов для прогнозирования, самонастройки и адаптации к изменениям.
Многоагентная система — система, состоящая из множества взаимодействующих интеллектуальных агентов. Многоагентные системы могут решить проблемы, которые трудны или невозможны для отдельного агента или для единой (монолитной) системы.
Программное обеспечение (программа, программное средство) — упорядоченная последовательность инструкций (кодов) для вычислительного средства, находящаяся в памяти этого средства и представляющая собой описание алгоритма управления вычислительными средствами и действий с данными.
Распределенная система — распределенная система обеспечивает решение проблемы управления на базе распределенной системы знаний в отличие от многоагентных систем, где базы знаний отдельных агентов взаимодействуют.
2.2. Принципы классификации систем искусственного интеллекта
Классификация систем искусственного интеллекта отражает существенные (значимые) характеристики СИИ, включая особенности контура управления, в рамках которого используется СИИ, и технологии построения и использования знаний.
Представлена схема классификации, отражающая основные особенности СИИ для решения прикладных задач, помогающая определить направления их стандартизации (рисунок 2.1).
Схема классификации базируется на ключевых, с точки зрения стандартизации, основаниях классификации.
Каждое из рассматриваемых оснований представлено в виде нескольких классов верхнего уровня. В большинстве случаев более детальную иерархию классов или принципы классификации можно найти по ссылкам на соответствующие стандарты или документы.
Базовые классы СИИ целесообразно группировать на основе следующих принципов:
1) по классам и категориям объектов в управлении;
2) по технологиям построения, приобретения и использования знаний;
3) по функциям, которые выполняет СИИ в контуре управления;
4) по методам и технологиям, используемым в СИИ;
5) по методам и средствам взаимодействия СИИ с другими системами и человеком-оператором.
Эти подходы к классификации являются основными. Каждый из них может иметь иерархическую структуру.
Дополнительные классификации могут быть связаны со специальными требованиями к объектам, процессам, контуру управления, архитектуре, ресурсам с учетом окружающей среды (интероперабельность, нормы регулирования, безопасность, действия стандартов, этические требования, надежность, отказоустойчивость, условия внешней среды и т. д.).
Классификация, связанная с описанием каждого класса, представляет собой перечень объектов, соответствующих данному классу.
Классы, к которым могут быть отнесены СИИ, необязательно исключают друг друга. Для некоторых СИИ может быть применен только один из классов, а для других — несколько.
Каждая конкретная позиция классификации может быть детализирована, как по уже существующим стандартам, так и по сложившейся практике.
Рисунок 2.1 — Схема классификации СИИ
Рассмотрены следующие основания для классификации:
1) по степени автономности;
2) по степени автоматизации;
3) по архитектурному принципу;
4) по структуре и процессам обработки знаний:
а) по модели знаний;
б) по управлению знаниями;
в) по методу обучения;
5) по специализации систем ИИ:
а) специализированные (используют единый домен знаний);
б) комплексные (используют множество доменов знаний);
6) по методам обработки информации;
7) по функциям в контуре управления;
8) по методам достижения интеграции и интероперабельности СИИ;
9) по опасности последствий;
10) по конфиденциальности;
11) по видам деятельности;
12) по взаимодействию с человеком-оператором.
Возможно расширение видов классификации систем ИИ.
Схема классификации представлена в таблице 2.1.
Таблица 2.1 — Схема классификации систем искусственного интеллекта
Возможно дополнение классификации СИИ как по новым основаниям, так и путем детализации классов по специализированным классификациям.
Классы можно характеризовать различными дополнительными аспектами или подклассами, например:
— наличием/отсутствием внешнего наблюдения, осуществляемого человеком-оператором либо другой автоматизированной системой;
— степенью понимания системы;
— степенью реактивности/отзывчивости;
— уровнем устойчивости функционирования;
— степенью надежности и безопасности;
— видом аппаратной реализации;
— степенью приспособляемости к внутренним или внешним изменениям;
— способностью оценивать свою собственную работоспособность/пригодность;
— способностью принимать решения и планировать.
2.3. Применение технологий искусственного интеллекта при решении задач дешифрирования аэроснимков
Развитие элементной базы, материалов и технологий, в том числе искусственного интеллекта, робототехники, информационных и коммуникационных технологий, технологий цифровых двойников, способствует созданию нового поколения интеллектуальных бортовых аэросъемочных систем (аэрофотографических, телевизионных, инфракрасных, лазерных, радиолокационных, радиотехнических) и систем автоматизированного и автоматического дешифрирования (СААД) данных, полученных бортовыми аэросъемочными системами (БАС).
В рамках реализации технологий искусственного интеллекта в БАС и СААД сформулированы следующие основные задачи:
создание единой нормативной, информационной, технологической и инфраструктурной базовой платформы в области технологий искусственного интеллекта;
создание системы испытаний и опытной эксплуатации технологий искусственного интеллекта;
обоснование показателей качества искусственного интеллекта и разработка методического обеспечения оценивания этих показателей;
создание цифровых двойников с целью выполнения технических и тактико-технических требований к БАС и СААД, снижения себестоимости, сроков разработки и испытаний БАС и СААД, повышения их технологичности, а также повышения надежности и эффективности эксплуатации БАС и СААД;
развитие интеллектуальных средств и методов дешифрирования, обеспечивающих оперативное и надежное автоматизированное (автоматическое) обнаружение и распознавание объектов, в том числе замаскированных, а также ранжирование объектов по уровню угроз;
автоматизированная комплексная оценка и прогнозирование тактической обстановки и объединение априорных данных о противнике;
комплексное дешифрирование данных от аэрофотографических, телевизионных, инфракрасных, лазерных, радиолокационных, радиотехнических БАС;
автоматизация работы, контроля, диагностирования и прогнозирования технического состояния оборудования БАС и СААД.
Перечень задач, которые целесообразно решать с использованием технологий искусственного интеллекта в БАС и СААД, в зависимости от вида обрабатываемых данных, имеет следующие основные уровни классификации:
задачи в интересах обработки видовой (некоординатной) информации;
задачи в интересах обработки координатной информации;
задачи в интересах обработки неструктурированной (слабоструктурированной) информации (обеспечение кибербезопасности, реализация систем поддержки принятия решений и т. п.).
Для решения указанных задач для БАС и СААД устанавливаются следующие технические требования:
выполнение этапа предобработки за минимально допустимое время, обеспечивающего возможность выполнения более сложного основного этапа обработки информации в реальном масштабе времени;
использование наиболее простых математических операций для наилучшего быстродействия и интеграции алгоритмов в специализированные вычислительные устройства, способные работать в условиях мобильных механизмов и дестабилизирующих факторов полета;
обеспечение оптимального качества обработки информации, поступающей от различных информационных систем (оптико-электронных, радиолокационных, радиотехнических, лазерных и др.), позволяющее принятие за короткое время рациональных решений;
предоставление потребителю информации в наиболее удобном виде, обеспечивающем эффективное выполнение поставленных задач.
Технологии искусственного интеллекта открывают широкие возможности для повышения эффективности автоматизированного и автоматического дешифрирования объектов в условиях обработки большого объема видеоинформации, полученной видовыми аэрофотографическими, телевизионными, инфракрасными, радиолокационными, лазерными системами.
2.4. Биологические основы искусственного интеллекта
Человеческий мозг — самая сложная в обозримом мире биологическая структура, представляющая собой результат миллионов лет эволюции.
Головной мозг человека весит от 1,3 до 1,8 кг и содержит триллион клеток, из которых 100 млрд представлены соединенными в сети нейронами. Это соизмеримо с числом звезд в Млечном Пути. Нейроны, соединенные разнообразными связями в сеть, определяют интеллект, творческие способности и память человека. Количество нейронов в головном мозге человека больше, чем у всех остальных известных форм жизни. Нейрон представляет собой особый вид клеток, которые обладают электрической активностью. Он получает информацию (рисунок 2.2) при помощи сильно разветвленных отростков, называемых дендритами, и передает информацию вдоль тонкого волокна — аксона. Аксон имеет множество ответвлений, на конце каждого из которых находится область, называемая синапсом. Посредством синапсов осуществляется связь между различными нейронами. Самым распространенным типом синапсов являются химические, которые работают следующим образом. Предсинаптический процесс формирует передаваемую субстанцию, которая методом диффузии передается по синаптическим соединениям между нейронами и влияет на постсинаптический процесс. Таким образом, синапс преобразовывает предсинаптический электрический сигнал в химический, а после этого — в постсинаптический электрический.
Каждый нейрон может иметь тысячи связей с соседними нейронами. Информация по аксонам передается в виде коротких электрических импульсов, амплитуда которых составляет около 100 мВ, а длительность — 1 мс. На участках контакта между нейронами (синапсы) электрические импульсы превращаются в химические сигналы, которые стимулируют проникновение в клетку нейрона положительных зарядов. Когда достигается критическое значение потенциала, называемое пороговым, в ядре нейрона возникает электрический импульс, распространяемый, как волна, по аксону на следующий нейрон. Вклад одного синапса в установление соответствующего потенциала на выходе нейрона очень маленький. Для возникновения электрического импульса необходимо, чтобы нейрон непрерывно интегрировал множество синоптических входов.
Такая интеграция является нелинейным преобразованием и не соответствует простой операции линейного суммирования. Использование технологии окраски нейронов солями серебра позволяет выявить в коре головного мозга большое разнообразие типов нейронов. Существуют пирамидальные нейроны, нейроны таламуса, нейроны Пуркинье и т. д., всего около 50 типов. Из этого следует, что не все компоненты, из которых построен мозг, взаимозаменяемы.
Рисунок 2.2 — Биологический нейрон
Скорость распространения нервного импульса в аксоне составляет приблизительно 100 м/с, что в миллион раз меньше скорости распространения электрического сигнала по медной проволоке. Однако параллельная обработка нейронами информации, одновременно распространяющаяся по множеству связей, компенсирует этот недостаток.
Таким образом, в процессе психической деятельности в коре головного мозга распространяются нервные импульсы, которые активизируют соответствующие области нейронов. Совокупность нейронов и связей между ними образуют нейронную сеть, от функционирования которой зависят эмоциональные реакции, сознательная деятельность и память человека.
Анализ нейронной организации мозга позволяет сделать следующие выводы:
— мозг разделен на зоны, которые состоят из различных функциональных структур нейронных сетей. Разнообразная информация хранится и обрабатывается в разных нейронных структурах головного мозга;
— между нейронными структурами мозга существуют как прямые, так и обратные связи. Обратные связи в частности синхронизируют активность различных функциональных нейронных зон, благодаря чему создается единая интеграционная картина об объекте;
— осознание и понимание увиденного происходит одновременно, благодаря синхронизации активности соответствующих нейронных структур мозга, которые обрабатывают различные атрибуты информации (цвет, форма, запах и т. п.);
— для головного мозга характерна как последовательная, так и параллельная обработка информации;
— образная информация обрабатывается параллельно, а операции с символьной информацией производятся в общем случае последовательно;
— система памяти головного мозга состоит из кратковременной, оперативной и долговременной;
— существует последовательное и параллельное соединение нейронных структур мозга с точки зрения надежности. При нарушении одной из параллельно соединенных нейронных структур происходит частичная потеря функций соответствующей нейронной системы (неразличение цветов и т. д.). При дефекте одной из последовательно соединенных нейронных структур происходит отказ, ведущий к полной потере функций соответствующей нейронной системы.
Развитие мозга — это непрерывный процесс, который происходит в результате обучения посредством взаимодействия с внешней средой с учетом внутренних факторов организма. Оно начинается в эмбриональный период и происходит в течение всей жизни. Как показывают исследования, именно в эмбриональный период закладываются основы разума путем образования нейронных структур и связей между ними. Установление и образование нейронных структур мозга зависят как от генетической программы развития нервной системы, так и от внешних воздействий, стимулирующих нервную активность мозга. Под управлением генетической программы происходит рост аксонов в определенных направлениях для установления синаптических связей между нейронами. Однако не существует точной спецификации каждого межнейронного соединения. Для этого потребовалось бы огромное количество генов. Как только растущие кончики аксонов достигают соответствующей им области, на выбор конкретной межнейронной связи начинают влиять события внешнего мира, стимулирующие определенную нервную активность. От воздействия этой активности и зависит установление соответствующих межнейронных связей. Поскольку каждый индивид имеет неповторимую генетическую информацию и развивается в разных условиях (испытывает воздействие разных сочетаний раздражителей), то архитектура мозга формируется у каждого человека по-своему. Это составляет его индивидуальность. Человек живет, и его сознание развивается во времени и в пространстве. Поэтому, несмотря даже на одинаковую генетическую информацию, нельзя полностью воспроизвести архитектуру мозга и интеллект индивида.
По мере взросления человека общее число нейронов в мозге снижается, однако путем перестройки соответствующих нейронных структур мозг стремится эту утрату компенсировать.
Обучение — это процесс непрерывного развития и формирования сознания посредством взаимодействия с внешней средой с учетом индивидуальности организма. В результате обучения происходит динамическая перестройка нейронных сетей головного мозга. При этом, как уже отмечалось, увеличивается число связей между нейронами, совершенствуются сами нейроны и взаимодействие между ними. Способность синапсов и нейронных сетей динамически изменяться в результате воздействий называется синаптической пластичностью. Механизм пластичности лежит в основе обучения и создает в коре головного мозга соответствующие структуры нейронных сетей, которые определяют интеллект, память и эмоции индивида. Синаптическая пластичность возникает в результате изменения эффективности и количества связей между нейронами.
В процессе обучения происходит усиление синаптических связей между соответствующими нейронами головного мозга, вследствие чего возникает кратковременное запоминание информации, которая хранится без реактивации соответствующей нейронной сети от нескольких минут до нескольких часов. При долговременном запоминании информации, длящемся месяцами, наблюдается активация и экспрессия генов, синтез соответствующих белков и рост новых связей. При более сложных видах обучения участвуют оба механизма. Например, осмысление нового материала требует определенного времени. В процессе этого усиливаются синаптические связи и в зависимости от сложности проблемы может осуществляться рост новых связей. Данный механизм будет задействован до тех пор, пока не будет преодолено какое-то пороговое значение соответствующей нейронной сети головного мозга. В результате происходит понимание (инсайт) решаемой задачи. Пороговое значение нейронной сети характеризует степень незнания материала, индивидуальность организма и определяется пороговыми значениями нейронов, составляющих искомую сеть. При дальнейшем обучении в аналогичной области процесс понимания происходит быстрее за счет использования начальных знаний, заложенных в соответствующих синапсах.
В зависимости от вида взаимодействия обучающегося с внешней средой можно условно выделить обучение с учителем и без него. Обучение с учителем происходит при взаимодействии ученика с конкретным индивидом (учителем), с которым он находится в состоянии обратной связи.
В этом случае имеется конкретный желаемый выход и алгоритм его получения. В процессе взаимодействия реальная реакция ученика сравнивается с эталонной реакцией учителя. В зависимости от величины их несовпадения (целевая функция ошибки) происходит соответствующая перестройка синаптических связей в целях минимизации ошибки. При обучении без учителя нет конкретного учителя (учитель — внешняя среда) и ученик находится в состоянии обратной связи с внешней средой. Обучение здесь сводится к адаптации индивида к внешней среде. В обоих типах обучения используются как положительные, так и отрицательные обратные связи в соответствующих нейронных структурах головного мозга. Так, обучение с отрицательной обратной связью происходит для минимизации ошибки целевой функции. Положительная обратная связь может интенсифицировать процесс обучения при успешном взаимодействии индивида со средой.
Важной характеристикой процесса обучения является обобщающая способность, характеризующая способность индивида интегрировать частные данные для определения закономерностей и пролонгации результатов. К этому относится способность после обучения на одних данных применять полученные знания для других данных или рассуждения от частного к общему. Обобщающая способность — важная черта нейронной организации мозга.
2.5. Искусственные нейронные сети
Искусственная нейронная сеть (ИНС) — математическая модель, а также ее программное или аппаратное воплощение, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке их смоделировать.
Основой ИНС является искусственный нейрон, который является отдаленным подобием биологического нейрона (рисунок 2.3).
Рисунок 2.3 — Упрощение от биологического нейрона к искусственному нейрону
Искусственный нейрон имеет несколько входов (аналоги синапсов в биологическом нейроне) и один выход (аналог аксона).
Математически нейрон выполняет функцию суммирования S входных сигналов Х с учетом их весов W, и затем результат обрабатывается функцией активации F. Результат на выходе Y зависит от входных сигналов X и их весов W, а также от функции активации. Коэффициенты W являются элементами памяти нейрона и основными элементами обучения нейронной сети.
Функция активации ограничивает амплитуду выходного сигнала нейрона. Обычно нормализованный диапазон амплитуд выходного сигнала нейрона лежит в интервале [0, 1] или [-1, 1].
На вход функции активации подается сумма всех произведений сигналов и весов этих сигналов.
Наиболее часто используемыми функциями (рисунок 2.4) активации являются:
1. Пороговая функция. Это простая кусочно-линейная функция. Если входное значение меньше порогового, то значение функции активации равно минимальному допустимому, иначе — максимально допустимому.
2. Линейный порог. Это несложная кусочно-линейная функция. Имеет два линейных участка, где функция активации тождественно равна минимально допустимому и максимально допустимому значению и есть участок, на котором функция строго монотонно возрастает.
Рисунок 2.4 — Типы функции активации нейрона: а) функция единичного скачка; б) функция единичного скачка с линейным порогом; в) гиперболический тангенс у=th(x); г) функция сигмоида у=1/(1+exp(-ax))
3. Сигмоидальная функция, или сигмоида. Это монотонно возрастающая дифференцируемая S-образная нелинейная функция. Сигмоида позволяет усиливать слабые сигналы и не насыщаться от сильных сигналов.
4. Гиперболический тангенс. Эта функция принимает на входе произвольное вещественное число, а на выходе дает вещественное число в интервале от — 1 до 1. Подобно сигмоиде, гиперболический тангенс может насыщаться. Однако, в отличие от сигмоиды, выход данной функции центрирован относительно нуля.
Объединение искусственных нейронов в группу формирует нейронную сеть (рисунок 2.5).
Рисунок 2.5 — Схема формирования нейронной сети
Слой нейронной сети — это множество нейронных элементов, на которые в каждый такт времени параллельно поступает информация от других нейронных элементов сети.
Простая нейронная сеть состоит из входного слоя, скрытого слоя и выходного слоя. Сети, содержащие много скрытых слоев, часто называют глубинными нейронными сетями.
2.6. Топология искусственных нейронных сетей
Среди основных топологий нейронных сетей можно выделить полносвязные, сверточные и рекуррентные нейронные сети.
Полносвязные нейронные сети имеют несколько слоев, которые связаны между собой таким образом, что каждый нейрон последующего слоя имеет связь со всеми нейронами предыдущего слоя. Сложность сети резко возрастает от увеличения размерности входных данных и от количества скрытых слоев. Так, для анализа изображения форматом 28×28 элементов потребуется 784 нейрона в скрытом слое, и каждый из них должен иметь 784 входа для соединения с предыдущим слоем. Другая проблема заключается в том, что в полносвязной сети изображения представляют собой одномерные последовательности и при этом не учитываются особенности изображений как структуры данных. Тем не менее, для изображений небольших форматов можно использовать и полносвязную сеть.
Сверточные нейронные сети предназначены для обработки двумерных структур данных, прежде всего изображений. Сверточная сеть представляет собой комбинацию трех типов слоев:
— слои, которые выполняют функцию свертки над двумерными массивами данных (сверточные слои),
— слои, выполняющие функцию уменьшения формата данных (слой субдискретизации),
— полносвязные слои, завершающие процесс обработки данных.
Структура сверточных нейронных сетей принципиально многослойная. Работа сверточной нейронной сети обычно интерпретируется как переход от конкретных особенностей изображения к более абстрактным деталям и далее к еще более абстрактным деталям вплоть до выделения понятий высокого уровня. При этом сеть самонастраивается и вырабатывает необходимую иерархию абстрактных признаков (последовательности карт признаков), фильтруя маловажные детали и выделяя существенное. Примером классической сверточной нейронной сети является сеть VGG16 (рисунок 2.6).
Рисунок 2.6 — Структура классической сети VGG16
Сеть VGG-16 имеет 16 слоев и способна работать с изображениями достаточно большого формата 224×224 пикселя. В своей стандартной топологии эта сеть способна работать с датасетом изображений ImageNet, содержащим более 15 млн изображений, разбитых на 22000 категорий.
Рекуррентные нейронные сети отличаются от многослойных сетей тем, что могут использовать свою внутреннюю память для обработки последовательностей произвольной длины. Благодаря направленной последовательности связей между элементами рекуррентных сетей они применимы в таких задачах, где нечто целостное разбито на сегменты, например, распознавание рукописного текста или распознавание речи.
2.7. Обучение искусственных нейронных сетей
Для работы с нейронными сетями требуется их обучение под конкретную задачу. В частности, для решения задачи распознавания объектов на изображении требуется обучение сети по специально подготовленному набору данных, который содержит изображения всех классов распознаваемых объектов, сгруппированных в соответствующие разделы. Такой тип данных носит название датасет (набор данных, Data set).
Существует большое количество уже собранных и подготовленных датасетов для решения различных задач с использованием нейронных сетей (не только для задач распознавания объектов). Более того, существуют уже заранее обученные под решение конкретной задачи нейронные сети, которые можно взять в готовом виде. Но перечень таких сетей и датасетов не очень большой, и в общем случае перед разработчиком может стоять задача выбора конфигурации нейронной сети под конкретную задачу и создание соответствующей базы данных (датасета) для ее обучения.
Формирование датасета является наиболее трудоемкой частью процесса разработки, поэтому в первую очередь нужно проверить возможное наличие похожего датасета на доступных ресурсах. На этом ресурсе имеется более 50000 свободно распространяемых датасетов и более 400000 примеров реализаций нейронных сетей. В ряде случаев имеющиеся датасеты можно объединять, модифицировать и дополнять.
Процесс обучения нейронных сетей представляет собой сложный процесс обработки данных, который включает в себя последовательное предъявление данных на вход нейронной сети и сравнение выходных данных с их истинным значением, после чего вносится коррекция весовых коэффициентов нейронов в сторону уменьшения ошибки выходных данных. Этот процесс производится многократно с использованием данных из датасета. В процессе обучения используется часть датасета, которая носит название тренировочный набор. При этом данные из датасета могут предъявляться последовательно несколько раз.
К общим рекомендациям состава датасета относятся увеличение количества изображений с отмеченными целевыми объектами, а также включение в датасет изображений с возможными вариантами фона (частей изображения, не относящихся к целевым объектам). Большие по размерам и общему объему изображения увеличивают время обучения и работы классификатора. Для каждой сетевой модели рекомендуется подавать на вход изображения различных размеров. В экспериментах было установлено, что обучение сети на изображениях, повернутых относительно исходных на 90°, производится быстрее, чем на изображениях исходной видеопоследовательности.
Один цикл обучения с использованием всего датасета носит название эпоха. Как правило, для качественного обучения сети требуется много эпох. Процесс обучения нейронных сетей, имеющих много скрытых слоев, часто носит название глубокого обучения.
Процесс обучения с учителем представляет собой предъявление сети выборки обучающих примеров. Каждый образец подается на входы сети, затем проходит обработку внутри структуры НС, вычисляется выходной сигнал сети, который сравнивается с соответствующим значением целевого вектора, представляющего собой требуемый выход сети. Затем по определенному правилу вычисляется ошибка, и происходит изменение весовых коэффициентов связей внутри сети в зависимости от выбранного алгоритма. Векторы обучающего множества предъявляются последовательно, вычисляются ошибки и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня (рисунок 2.7).
Рисунок 2.7 — Схема обучения нейронной сети
При обучении без учителя обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью. Для обучения нейронных сетей без учителя применяются сигнальные метод обучения Хебба и Ойа.
Математически процесс обучения можно описать следующим образом. В процессе функционирования нейронная сеть формирует выходной сигнал Y, реализуя некоторую функцию Y=G(X). Если архитектура сети задана, то вид функции G определяется значениями синаптических весов и смещенной сети.
Пусть решением некоторой задачи является функция Y=F(X), заданная параметрами входных-выходных данных (X1, Y1), (X2, Y2),…, (XN, YN), для которых Yk=F(Xk), где k=1, 2,…, N.
Обучение состоит в поиске (синтезе) функции G, близкой к F в смысле некоторой функции ошибки E.
Если выбрано множество обучающих примеров — пар (XN, YN), где k=1, 2,…, N) и способ вычисления функции ошибки E, то обучение нейронной сети превращается в задачу многомерной оптимизации, имеющую очень большую размерность, при этом, поскольку функция E может иметь произвольный вид, обучение в общем случае — многоэкстремальная невыпуклая задача оптимизации.
Для решения этой задачи могут использоваться следующие (итерационные) алгоритмы:
1. Алгоритмы локальной оптимизации с вычислением частных производных первого порядка:
градиентный алгоритм (метод наискорейшего спуска),
методы с одномерной и двумерной оптимизацией целевой функции в направлении антиградиента,
метод сопряженных градиентов,
методы, учитывающие направление антиградиента на нескольких шагах алгоритма.
2. Алгоритмы локальной оптимизации с вычислением частных производных первого и второго порядка:
метод Ньютона,
методы оптимизации с разреженными матрицами Гессе,
квазиньютоновские методы,
метод Гаусса — Ньютона,
метод Левенберга — Марквардта и др.
3. Стохастические алгоритмы оптимизации:
поиск в случайном направлении,
имитация отжига,
метод Монте-Карло (численный метод статистических испытаний).
4. Алгоритмы глобальной оптимизации (задачи глобальной оптимизации решаются с помощью перебора значений переменных, от которых зависит целевая функция).
2.8. Алгоритм обучения однослойного нейрона
Обучение нейронной сети в задачах классификации происходит на наборе обучающих примеров X(1), X(2),…, X(Р), в которых ответ — принадлежность к классу А или B — известен. Определим индикатор D следующим образом: положим D(X)=1, если X из класса А, и положим D(X)=0, если X из класса B, то есть
где всякий вектор X состоит из n компонент: X=(x1, x2 …., xn).
Задача обучения персептрона состоит в нахождении таких параметров w1, w2,…, wn и h, что на каждом обучающем примере персептрон выдавал бы правильный ответ, то есть
Если персептрон обучен на большом числе корректно подобранных примеров и равенство (2.2) выполнено для почти всех X(i),i=1,Р, то в дальнейшем персептрон будет с близкой к единице вероятностью проводить правильную классификацию для остальных примеров. Этот интуитивно очевидный факт был впервые математически доказан (при некоторых предположениях) в основополагающей работе наших соотечественников В. Вапника и А. Червоненскиса еще в 1960-х годах.
На практике, однако, оценки по теории Вапника — Червоненскиса иногда не очень удобны, особенно для сложных моделей нейронных сетей. Поэтому практически, чтобы оценить ошибку классификации, часто поступают следующим образом: множество обучающих примеров разбивают на два случайно выбранных подмножества, при этом обучение идет на одном множестве, а проверка обученного персептрона — на другом.
Рассмотрим подробнее алгоритм обучения персептрона.
Шаг 1. Инициализация синаптических весов и смещения.
Значения всех синаптических весов модели полагают равными нулю: wi=0, i=1,n; смещение нейрона h устанавливают равны некоторому малому случайному числу. Ниже, из соображений удобства изложения и проведения операций будем пользоваться обозначением w0= — h.
Обозначим через wi(t), i=1,n вес связи от i-го элемента входного сигнала к нейрону в момент времени t.
Шаг 2. Предъявление сети нового входного и желаемого выходного сигналов.
Входной сигнал X=(x1, x2 …., xn) предъявляется нейрону вместе с желаемым выходным сигналом D.
Шаг 3. Адаптация (настройка) значений синаптических весов. Вычисление выходного сигнала нейрона.
Перенастройка (адаптация) синаптических весов проводится по следующей формуле:
где D(t) — индикатор, определенный равенством (2.1), а r — параметр обучения, принимающий значения меньшие 1.
Описанный выше алгоритм — это алгоритм градиентного спуска, который ищет параметры, чтобы минимизировать ошибку. Алгоритм итеративный. Формула итераций выводится следующим образом.
Введем риск
где суммирование идет по числу опытов (t — номер опыта), при этом задано максимальное число опытов — Т.
Подставим вместо F формулу для персептрона, вычислим градиент по w. В результате мы получим указанную выше формулу перенастройки весов.
В процессе обучения вычисляется ошибка δ(t)=D(t) — y(t).
Рисунок 2.8 — График изменения ошибки в процессе обучения нейросети
На рисунке 2.8 изображен график, показывающий, как меняется ошибка в ходе обучения сети и адаптации весов. На нем хорошо видно, что, начиная с некоторого шага, величина δ(t) равна нулю. Это означает, что персептрон обучен.
2.9. Дешифрирование объектов с помощью технологий искусственного интеллекта
При автоматизированном (автоматическом) дешифрировании изображений решаются задачи, которые по классификации Гонсалеса и Вудса делятся на задачи высокого и низкого уровня. К задачам высокого уровня относятся:
Конец ознакомительного фрагмента.
Приведённый ознакомительный фрагмент книги «Теория и практика распознавания инженерных сооружений, промышленных предприятий и объектов железнодорожного транспорта при дешифрировании аэроснимков» предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других