Лекция
Сразу хочу сказать, что здесь никакой воды про нейронные сети, и только нужная информация. Для того чтобы лучше понимать что такое нейронные сети , настоятельно рекомендую прочитать все из категории Подходы и направления создания Искусственного интеллекта.
нейронные сети - это компьютерные модели, вдохновленные работой нейронной системы мозга. Они представляют собой сети взаимосвязанных искусственных нейронов, которые обрабатывают и передают информацию между собой. Нейронные сети используются для решения различных задач, включая распознавание образов, классификацию данных, прогнозирование, обработку естественного языка и многое другое.
Структура нейронной сети состоит из входного слоя, скрытых слоев (при наличии) и выходного слоя. Каждый слой состоит из нейронов, которые обмениваются сигналами между собой через связи, называемые весами. Каждый нейрон получает входные сигналы, вычисляет их сумму с учетом весов и применяет нелинейную функцию активации для генерации выходного сигнала. Этот процесс повторяется через слои нейронной сети, пока не будет получен окончательный выход.
Обучение нейронных сетей обычно осуществляется путем подачи обучающих данных, где сеть настраивает свои веса и параметры таким образом, чтобы минимизировать ошибку между предсказанными и ожидаемыми результатами. Этот процесс называется обратным распространением ошибки и использует методы оптимизации, такие как градиентный спуск, для обновления весов сети.
Нейронные сети являются мощным инструментом для решения сложных задач обработки информации. Они демонстрируют способность обучаться на больших объемах данных и обнаруживать сложные паттерны и зависимости. Это позволяет им достичь высокой точности в различных задачах и стать ключевой технологией в областях искусственного интеллекта, машинного обучения и глубокого обучения.
Схема простой нейросети. Зеленым цветом обозначены входные нейроны, голубым — скрытые нейроны, желтым — выходной нейрон
Наверное, многие слышали понятие «нейронные сети», ассоциативно связывая его с искусственным интеллектом, андроидами, роботами, способными учиться, глядя на людей. Одни при этом испытывают страх неизведанного, страх перед возможными последствиями, другие заинтересовываются, понимая возможное полезное применение, и видят помощь в исследовании неразрешимых сегодня задач, третьи скептически смотрят на происходящее, имея неудачный опыт в проектировании искусственных нейронных сетей (ИНС) или отсутствие же-лания в этом разбираться. В любом случае, ИНС за более чем полувековой период своего существования пережили немало взлетов и падений. В этой статье предлагается рассмотреть их возможное назначение, проблемы, связанные с их внедрением, положение дел в настоящее время, а также оценить факторы, влияющие на их развитие.
Исторический обзор
Проявление интереса к искусственным нейронным сетям было обусловлено работами пионеров в этом деле — У. Маккалоха (W. McCulloch) и У. Питтса (W. Pitts). В 1943 году внимание общественности привлекла работа под названием «Логическое исчисление идей, относящихся к нервной деятельности», в которой они предложили математическую модель нейрона и сформулировали принципы построения искусственных нейронных сетей, согласно разработанной ими модели функционирования головного мозга. Многие ученые с энтузиазмом начали предлагать свои решения и новые архитектуры ИНС. Так, например, Д. Хебб (D. Hebb) в 1949 году высказал идеи о характере соединений нейронов мозга и их взаимодействии, представив впервые методы обучения ИНС, а крупный нейрофизиолог Фрэнк Розенблатт (F. Rosenblatt) предложил в 1957 году свою модель нейронной сети — персептрон, и архитектуру первой в мире модели нейрокомпьютера Mark. Однако его работа подверглась жесткой критике (существует мнение, что необоснованно) многих заслуженных научных авторитетов того времени. Одними из них были ранние приверженцы теории ИНС Минский (М. Minsky) и Пейперт (S. Papert), показавшие несостоятельность теории Розенблатта в 1969 году. Их работа остудила научный пыл многих ученых-энтузиастов практически на два десятилетия. Образовалось некоторое затишье, связанное с разочарованием в возможностях ИНС, вызванным не в последнюю очередь психологическим фактором, проявляющимся в неспособности человека описать словами то, как он думает. На мой взгляд, развитие теории ИНС происходило очень быстро, люди создавали то, что на тот момент не было востребовано, другими словами, теория обогнала свое время. И хотя в этот период было предложено много заслуживающих внимания разработок и исследований, научный мир относился к ним скептически. До тех пор, пока в 1982 году американским биофизиком Дж. Хопфилдом не была предложена архитектура нейронной сети (в настоящее время названная его именем), использующая энергетический подход, моделирующая ассоциативную память. Это был новый толчок для развития этой области, и в 1986 году Дж. Хинтон (J. Hinton) со своими коллегами опубликовал статью с описанием новой модели нейронной сети и алгоритмом ее обучения. В это же время появились первые коммерческие проекты нейрокомпьютеров (Mark III фирмы TRW, США).
К исследованиям вернулся и Минский, несмотря на свою предыдущую работу об ограниченности персептронов.
Дальнейшее развитие поддерживалось созданием специализированных центров нейрокомпьютеров, проведением большого числа международных конференций и форумов. Объем продаж коммерческих нейросетевых продуктов в период с 1991 по 1997 г. вырос более чем в четырнадцать раз.
Сейчас, с учетом перехода на нанотехнологии, появлением новых знаний о деятельности человеческого мозга, появились принципиально новые архитектуры, технологические решения, определены направления исследований, появился широкий спектр задач, которые не под силу решать алгоритмически даже на современных ПК.
Модель нейрона
Давайте определим, что же заставило пионеров своего дела составить модель нейронных сетей. Естественно, напрашивается стремление человека воспроизвести деятельность мозга, заставить машину думать.
Кора головного мозга человека содержит около 100 млрд нейронов, каждый из которых связан с 1000–10000 других нейронов, таким образом получаем приблизительно от 1014 до 1015 взаимосвязей.
Предлагаю провести небольшое обозрение. Известно, что нейрон не может изменять свое состояние больше, чем 100 раз в секунду, т. е. с частотой порядка 100 герц. Человек зрительно воспринимает окружающую информацию за 0,7–1 сек, узнавая образы, идентифицируя людей, объекты, а еще следует учитывать обработку информации с других органов чувств и управление работой организма. Однако для реализации этих действий с помощью методов алгоритмизации требуются огромные вычислительные мощности и базы данных. Для такого круга задач получается, что медленные нейроны работают гораздо быстрее самых современных компьютеров, благодаря неизвестному принципу распределения ресурсов, распределенной передаче данных. Как подсчитали специалисты ITC, для создания модели головного мозга потребовался бы компьютер с тактовой частотой 2000 терагерц, с объемом оперативной памяти 200 терабайт. Или более миллиона компьютеров средней мощности с идеальным алгоритмом распределения вычислений без различного рода затрат. Ниже приведена таблица, в которой приводится сравнение архитектур машины фон Неймана (стандартной архитектуры ПК) и биологической нейронной сети (из работы Artificial Neural Networks, Anil K. Jain, Jianchang Mao, K. M. Mohiuddin, США).

На схематическом рисунке представлен биологический нейрон. Схема его действия достаточно проста. Нейрон получает импульсы от аксонов других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль своего аксона (передатчика), который в конце разветвляется на волокна. На окончаниях этих волокон находятся специальные образования — синапсы, которые влияют на величину импульсов.
Под обучением ИНС будем понимать настройку коэффициентов для эффективного выполнения специализированной задачи. Чаще всего предлагается обучающая выборка (вход-выход) и посредством итеративного приближения ИНС настраивает свои веса необходимым образом, что улучшает функционирование сети.
В этом и состоит преимущество систем на основе ИНС перед системами, в которых функционирование осуществляется по строго определенным правилам. Как происходит создание и проектирование ИНС? В упрощенном
варианте этот процесс можно представить нижеописанным способом. Определяется модель процесса, для которого создается ИНС, действующие факторы, доступная информация. Затем, исходя из определенных условий,
определяются правила, методы, модификации весовых коэффициентов — появляется алгоритм обучения. Такая сеть уже способна к обучению и существованию.
Вполне естественно задаться вопросом: а какие, собственно, методы используются при обучении? Обратимся кратко к этому вопросу, не углубляясь в математические и специализированные теории. Имеют место три парадигмы обучения: «с учителем», «без учителя» и смешанная.
В первом случае на входы нейронной сети подаются значения, необходимые результаты которых известны заранее. Коэффициенты входов модифицируются таким образом, чтобы результатом работы сети были известные заранее результаты. Модифицированный вариант обучения с учителем предполагает, что известна только оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Во втором случае производится структурирование и распределение данных по категориям, исходя из определенных связей между входами. Смешанный вариант обучения предполагает под собой обучение некоторой части нейронов с учителем, а остальная часть обучается вторым методом.

Типовые задачи для ИНС
В этой части статьи рассмотрим типовые задачи, в которых результаты, получаемые с помощью ИНС, более состоятельны по сравнению с результатами, полученными традиционными методами. А затем рассмотрим ряд реальных применений и исследований в настоящее время.
По мнению Anil K. Jain из Мичиганского государственного университета и специалистов Исследовательского центра IBM Jianchang Mao и K. M. Mohiuddin, список задач можно классифицировать следующим образом.
Еще раз отметим, что мы указали только типовые задачи, в общем случае чаще всего встречаются ситуации, представляющие собой комплекс определенных ранее.
К примеру, обеспечить загрузку самолета, минимизировать необходимое количество топлива, время перелета, расстояния. Дополнительно к задаче оптимизации добавляется задача управления и аппроксимации (шумоподавление при обеспечении связи пилотов и управляющих сигналов).
Более подробно предлагаю остановиться на решении задачи, с которой сталкивается большое количество людей — распознавание изображений символов, или, проще говоря, распознавание текста. В настоящее время существует большое количество программ-обработчиков, позволяющих решать задачу OCR. При решении этой задачи приходится сталкиваться с целым рядом проблем: шумоподавление, выделение символов, блоков и их дальнейшая обработка. Хорошо, если документ отсканирован с качественно отпечатанного источника, но чаще всего приходится сталкиваться с целым рядом проблем. Например, вам необходимо распознать старый документ, который нельзя выровнять, или, скажем, рукописный (даже написанный каллиграфическим почерком), — с этими задачами программы справляются с большим трудом.
Реализация алгоритма распознавания текста достаточно сложна и составляется из целого ряда взаимосвязанных блоков, среди которых блоки препроцессирования, сегментации, выделения характеристик, классификации и контекстуальной обработки. Бумажный документ сканируется и создается изображение в оттенках серого цвета или бинарное (черно-белое) изображение. На стадии препроцессирования применяется фильтрация для удаления шума, область текста локализуется и преобразуется к бинарному изображению с помощью глобального и локального адаптивного порогового преобразователя. На шаге сегментации изображение текста разделяется на отдельные символы. Эта задача особенно трудна для рукописного текста, который содержит связи между соседними символами. Один из эффективных приемов состоит в расчленении составного образца на малые образцы (промежуточная сегментация) и нахождении точек правильной сегментации с использованием выхода классификатора по образцам. Вследствие различного наклона, искажений, помех и стилей письма распознавание сегментированных символов является непростой задачей.
Решение этой задачи с помощью ИНС представляется следующим образом: происходит неявное извлечение характеристик внутри самой нейросети, в этом случае выделение признаков и их классификация объединены, проходя наряду с обучением сети. Таким образом, сеть может «привыкнуть» к стилю текста, что дает возможность получить оптимальные результаты. Но в любом случае, способности самого человека к распознаванию текста (полная независимость от вышеуказанных факторов) не могут идти ни в какое сравнение даже с самыми современными OCR-системами.
Однако не следует упускать из вида и то, что ИНС не являются панацеей от проблем такого типа, они также могут «ошибаться». ИНС лишь могут помочь при решении трудно формализуемых задач, требуя высококлассного специалиста по разработке архитектуры сети, способного решать вопросы, связанные с проектированием, использованием специализированного ПО и т.д.
Особенности внедрения новых технологий
Развитие новых технологий, появление новых типов задач, в том числе и трудноформализуемых, требует от ряда фирм внедрения новых технологий, использования новых типов ПО, привлечения квалифицированных специалистов. Естественно, у каждой организации будет своя модификация процесса обновления, однако она будет базироваться (с теми или иными изменениями) на нижеприведенных методах, у каждого из которых есть свои преимущества и недостатки.
Одним из способов является набор группы специалистов-экспертов. К преимуществам этого способа необходимо отнести возможность человеческого общения непосредственно с конечным «обработчиком информации», учет факторов, которые невозможно формализовать или представить в понятной для ПО форме. Однако к недостаткам этого метода следует отнести не менее важные особенности, среди которых высокие материальные расходы на эксперта, связанные с необходимостью периодического повышения квалификации работника, высоким уровнем оплаты его труда. А человеческую субъективность, противоречия и конфликты в группе также нельзя отнести к плюсам, вкупе с отсутствием гарантий постоянной работы специалиста, связанных с различными факторами.
К другому способу отнесем заказ готовой системы специализированной фирме. В этом случае заказчик получает готовый продукт, созданный с учетом специфики работы компании (учтем, что только на время создания), при невысокой стоимости эксплуатации. Среди минусов следует отметить достаточно высокую стоимость разработки таких продуктов, а также невысокую гибкость их использования в дальнейшем, связанную с необходимостью привлечения сторонних специалистов для модернизации и исправления системы. А все эти факторы означают разглашение специфики работы и коммерческих секретов компании, ведь иначе невозможно создать более или менее адекватную систему. Также существует возможность недопонимания программистами необходимых особенностей или субъективность их восприятия, что скажется на конечной эффективности продукта.
Теперь рассмотрим следующий способ, который обладает практически всеми достоинствами вышеописанных, но и к минусам его следует отнести практически все их недостатки. Об этом говорит сайт https://intellect.icu . Создание системы «с нуля» позволяет контролировать процесс создания, а в дальнейшем и его модернизацию при сохранении полной конфиденциальности. Минусы очевидны — необходимо наличие штата программистов, специалистов по созданию ИНС (причем везде существует человеческий фактор), что обуславливает выплату высокой заработной платы, а также необходима адаптация продукта для конечных пользователей.
Четвертый способ — организация системы на основе готовых программных продуктов — сочетает в себе профессиональные готовые архитектуры, алгоритмы обучения, как правило, техническую поддержку и относительно высокую гибкость, благодаря наличию большого количества компонентов. При широкой распространенности продукта, возникновение ошибок минимально, а их обнаружение более эффективно. Однако нет гарантий относительно полноценной адаптации для задач конечного потребителя, плюс ко всему, требуется предварительная подготовка данных, что не всегда приемлемо.
Как мы уже отметили, первые три способа достаточно дорогостоящие, что не всегда приемлемо для крупных компаний, где модернизируемое направление не является приоритетным, а также для средних и мелких компаний. Четвертый способ подходит для компаний любого уровня, если сфера применения сборного пакета широко исследована, но методики его использования уникальны для каждой отдельно взятой организации.
Практическое применение
Контроль операций с кредитными карточками
В этом случае используется способность ИНС к классификации. Например, продукт, разработанный HNC Software Inc. (в настоящее время HNC выкуплена компанией Fair, Isaac and Com-pany) HNC Falcon предназначен для обнаружения в реальном времени широкого спектра мошеннических операций с банковскими карточками. Falcon отслеживает соотношения между операциями, обнаруживая подозрительные. Система Falcon
использует запатентованную унифицированную технологию поддержки принятия решения (Unified Decisions Technology), которая комбинирует расширенную базу данных правил обработки транзакций, статистический анализ и нейронную сеть. Система Falcon также содержит специальный компонент, обеспечивающий возможность опытным специалистам включать в базу данных системы правила, позволяющие с высокой степенью достоверности определять потенциальные случаи мошенничества с банковскими картами по географическому местоположению или почтовому индексу держателя карты. Практическое использование этой системы показало повышение показателей качества обнаружения на 20–60 % при значительном снижении ложных срабатываний. Falcon также используется и для обнаружения фальсификаций в различных областях, например, в здравоохранении и телекоммуникационной отрасли.
Семейство систем PRISM, разработанное компанией Nestor, основано на использовании нейросетей, экспертных систем и статистических методов для обнаружения в реальном режиме времени мошенничества с кредитными и дебетовыми картами, а также для обнаружения других типов мошенничества при осуществлении финансовых или торговых сделок. Нейросеть, используемая в системах семейства PRISM, была обучена на основе более чем полумиллиона транзакций с различными типами карт. По некоторым оценкам, использование систем семейства PRISM позволяет уменьшить число мошенничеств на 50 %.
Медицинская диагностика
Компанией «НейроПроект» создана система объективной диагностики слуха у грудных детей. Общепринятая методика объективной диагностики состоит в том, что в процессе обследования регистрируются «вызванные потенциалы» (отклики мозга) в ответ на звуковой раздражитель, проявляющиеся в виде всплесков на электроэнцефалограмме. Для достаточно уверенной диагностики слуха ребенка опытному эксперту-аудиологу необходимо провести около 2000 тестов, что занимает около часа. Нейросеть способна с той же достоверностью определить уровень слуха уже по 200 наблюдениям в течение всего нескольких минут, причем без участия квалифицированного персонала.
Еще одним примером использования ИНС в программах медицинской диагностики служит пакет кардиодиагностики, разработанный фирмой RES Informatica совместно с Центром кардиологических исследований в Милане. Причем для таких болезней, как ишемия миокарда и артериальная гипертензия, достигается точность постановки диагноза более чем 95 %. Кроме этого, одним из перспективных направлений в исследованиях является онлайн-постановка диагноза. Пациент заполняет форму, указывая необходимые параметры, а система на основе обучающей выборки и накопленной базы данных определяет диагноз. По некоторым данным, это позволит увеличить производительность более чем в 1000 раз, удешевить исследования не менее чем в 500 раз, обработать данные от практически неограниченного количества человек, при увеличении диагностической точности.
Распознавание образов
Для приведения примера этого направления ИНС обратимся к демонстрационному продукту компании «НейроПроект», предназначенному для речевого управления встроенным калькулятором Windows. Система уверенно распознает любое из 36 слов, сказанных в микрофон любым человеком. Для обучения ИНС использовались варианты произношения 19 дикторов.
Голосовой набор телефонного номера является еще одним из примеров распознавания речи. Доктор Ортнер (Dr. Ortner) из США обучил нейронную сеть набирать номер, используя 2500 примеров для каждого из 28 слов, включая цифры от нуля до девяти, а также названия отделов в пределах компании. При этом обеспечивается точность набора выше 90 %. В настоящее время им создан «голосовой учебный центр» (Voice Training Center), в котором производится запись слов, произнесенных различными людьми.
В дальнейших исследованиях планируется организовать «голосовую связь» с глухонемыми людьми. Так, слова вызывающего абонента будут преобразовывать в текст (на экране телефона вызываемого), а обратный преобразователь обеспечит произнесение текста, напечатанного вызываемым.
Компанией Fein-Marquart As-sociates Inc разработана программа распознавания почтовых индексов с автоматической дальнейшей сортировкой. Система распознает как типографские, так и написанные от руки цифры. Согласно Joe McDaniel, обеспечивается 98 % точность распознавания.
Анализ потребительского рынка
Dr. Al Behrens, сотрудник Northern Natural Gas в штате Небраска, обучил нейронную сеть, которая предсказывает изменение цен на газ в следующем месяце со средней точностью 97 %. Ежемесячная цена иногда привязывается к индексации цен в печатных изданиях (Inside FERC и Natural Gas Week), включая недавнюю рыночную деятельность компании, сезонные факторы, погоду и т. д.
Профессор Awad Hanna из University of Wisconsin построил нейронную сеть, которая на основе данных дорожного покрытия в конкретном месте в разное время года укажет наилучший тип покрытия для этой местности. Для построения такой сети он использовал информацию, полученную от специалистов в этой области, однако отсутствие спонсорской поддержки не позволяет провести испытания.
Небезызвестная корпорация Microsoft также использует программные продукты на основе нейросетей в своей маркетинговой политике. Каждый год Microsoft отсылает более 40 млн рекламных предложений о покупке своих продуктов более чем по 8,5 млн зарегистрированных пользователей. Большая часть направлена на модернизацию ПО или покупку дополнительных пакетов. Цель использования ПО на основе ИНС очевидна — увеличение объема продаж. По словам Jim Minervino, было достигнуто увеличение спроса с 4,9 % до 8,2 %.
А различие в затратах на рекламу снизилось на 35 %. Что изменилось? В базе данных накапливались данные по каждому адресату, что и когда он купил, учитывались следующие факторы, среди которых использовались данные регистрации — место работы, доход, количество человек в фирме, занимаемая должность. Система, анализируя соотношения между факторами и ответными письмами о согласии на приобретение, отправляла в дальнейшем письма только адресатам, похожим по набору факторов.
GoalAssist Corporation построила нейронную сеть, позволяющую предугадать, какое количество призов и в каком соотношении требуется иметь в наличии при проведении рекламной кампании. Проще говоря, приславший три крышки от кофе получает определенный приз, приславший больше — другой приз. А система, на основе различных факторов, с высокой степенью достоверности (ошибка менее 4 %) определит, какие поощрения будут пользоваться высокой популярностью, а какие — нет.
Спортивное прогнозирование
Don Emmons из Детройта построил нейронную сеть, позволяющую на скачках предугадывать лошадь-победителя. ИНС, анализируя предыдущие забеги, время финиша, рекорд на ипподроме и другие факторы, с 75 % точностью оценивала вероятного победителя. С помощью результатов этой ИНС Don Emmons получил выигрыш с 17 из 22 ставок. Mr. Derek Anderson (Lakewood, CO) обучил нейронную сеть прогнозировать победителя на собачьих гонках. Он учитывал похожие факторы, в результате чего получалась ИНС с 504 входами, что обеспечивает ему точность в 94 %, правда, только на трети трасс.
Оценка стоимости продуктов
Например, оценка стоимости автомобиля зависит от множества факторов, таких как марка, год выпуска, объем двигателя, внутренняя «начинка», состояние и т. д. Так как вид зависимости этих факторов неизвестен, то стандартные методы анализа неэффективны. Фирма Attrasoft приводит пример оценки стоимости автомобиля по 7 ключевым факторам. Оценка стоимости домов проводится по 13 факторам. На сайте этой компании можно скачать большое количество баз данных, касающихся различных вопросов для проведения собственного исследования с помощью их продукта Decision Maker.
Прогнозирование потребления услуг
Рассмотрим пример потребления электроэнергии. Фирмой ZSolutions был выполнен заказ энергетической компании на анализ данных об энергопотреблении. На основании полученных данных о количестве потребляемой энергии в определенное время суток, изменилась ценовая политика, а, соответственно, и прибыль. Аналогичную задачу можно рассмотреть и для провайдеров Интернет-доступа.
Научные исследования
Прогнозирование магнитных бурь
Доктор Henrik Lundstedt из Lund Observatory, Швеция, обучил нейронные сети прогнозировать эффекты от солнечных вспышек, такие как возмущения магнитных полей Земли. Как известно, т. н. магнитные бури оказывают влияние не только на состояние и здоровье человека, под их влияние попадают и электростанции, случаются сбои в передаче радио- и телевизионных программ, сбои в работе геологического оборудования, спутников и т. д. Нейронная сеть, учитывая 37 известных влияющих факторов раз в четыре дня и анализируя их изменения, способна с высокой степенью точности определить «космическую погоду». Описывается случай, когда стандартный метод прогнозирования не определил сильных магнитных бурь вообще, а метод на основе ИНС в то же время точно спрогнозировал две из трех бурь.
Определение пола москитов
Aubrey Moore из Maui Agricultural Research Station, University of Hawaii, обучил нейронную сеть определять пол москитов в полете. Учитывая статистические данные о среднем количестве взмахов крыльями у каждого из полов, нейросеть обрабатывает информацию со специального фотодатчика и со средней точностью 98 % определяет принадлежность москита к тому или иному полу. Испытания Aubrey Moore проводил на 57 насекомых, а при обучении было привлечено 403 особи.
Прогнозирование ливневых дождей
О необходимости этого процесса упоминать не стоит, отметим лишь, что такая информация позволит принять необходимые меры по обеспечению безопасности. Компьютерные системы, производящие обработку информации, основываются на конкретных данных, в то время как ИНС — на обучении и использовании значений в предыдущее время в конкретной местности, что позволяет делать прогнозы с точностью до 85%. В модели ИНС, разработанной Tony Hall, используются 19 метеорологических переменных.
Производство
Определение качества пива
Anheuser-Busch использует нейронные сети, чтобы идентифицировать органические компоненты, содержащиеся в пиве конкурентов, с 96 %-ой точностью. Это позволяет ему удерживать качество выпускаемого им продукта и не отставать в производстве нового. Методы использования и подробности указанных действий Anheuser-Busch держит в глубоком секрете.
Производство микросхем
Нейронная сеть, примененная на заводе Intel, способна идентифицировать брак на производстве. Первоначально опытной системе давали электрическую испытательную информацию от готовых чипов и соответствующих переменных управления производственным процессом. Отношения между этими двумя параметрами были определены числовым экспериментом и моделированием процесса CMOS. Чувствительная поверхностная модель (RSM, Responsive Surface Model) использовалась для сохранения результатов достаточного количества числовых экспериментов. В результате нейронная сеть была способна забраковать нефункционирующий чип с точностью 99,5%.
Применение в строительстве
При проведении испытаний качества бетона используется большое количество методов. Одним из них является бурение в поисках образовавшейся полости. Однако с помощью нейросетей возможно проверить весь материал, а также определить глубину, на которой находится полость. Путем подачи звуковых волн и приема отраженного сигнала, а затем обработкой ИНС, специалисты из National Institute of Standards and Technology (NIST) способны проверить качество бетона при толщине материала до полуметра.
В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определенному классу.
Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из ее выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается, что сеть «не уверена» в своем ответе.
Эта задача близка к задаче классификации. Классификации подлежат ситуации, характеристики которых поступают на вход нейронной сети. На выходе сети при этом должен появиться признак решения, которое она приняла. При этом в качестве входных сигналов используются различные критерии описания состояния управляемой системы.
Под кластеризацией понимается разбиение множества входных сигналов на классы, при том, что ни количество, ни признаки классов заранее не известны. После обучения такая сеть способна определять, к какому классу относится входной сигнал. Сеть также может сигнализировать о том, что входной сигнал не относится ни к одному из выделенных классов — это является признаком новых, отсутствующих в обучающей выборке, данных. Таким образом, подобная сеть может выявлять новые, неизвестные ранее классы сигналов. Соответствие между классами, выделенными сетью, и классами, существующими в предметной области, устанавливается человеком. Кластеризацию осуществляют, например, нейронные сети Кохонена.
Нейронные сети в простом варианте Кохонена не могут быть огромными, поэтому их делят на гиперслои (гиперколонки) и ядра (микроколонки). Если сравнивать с мозгом человека, то идеальное количество параллельных слоев не должно быть более 112. Эти слои в свою очередь составляют гиперслои (гиперколонку), в которой от 500 до 2000 микроколонок (ядер). При этом каждый слой делится на множество гиперколонок, пронизывающих насквозь эти слои. Микроколонки кодируются цифрами и единицами с получением результата на выходе. Если требуется, то лишние слои и нейроны удаляются или добавляются. Идеально для подбора числа нейронов и слоев использовать суперкомпьютер. Такая система позволяет нейронным сетям быть пластичными.
Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и (или) каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.
Нейронные сети могут аппроксимировать непрерывные функции. Доказана обобщенная аппроксимационная теорема: с помощью линейных операций и каскадного соединения можно из произвольного нелинейного элемента получить устройство, вычисляющее любую непрерывную функцию с некоторой наперед заданнойточностью. Это означает, что нелинейная характеристика нейрона может быть произвольной: от сигмоидальной до произвольного волнового пакета или вейвлета,синуса или многочлена. От выбора нелинейной функции может зависеть сложность конкретной сети, но с любой нелинейностью сеть остается универсальным аппроксиматором и при правильном выборе структуры может достаточно точно аппроксимировать функционирование любого непрерывного автомата.
Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс — восстановление исходного набора данных из части информации — называется (авто)ассоциативной памятью. Ассоциативная память позволяет также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому[15
Следует рассмотреть подробнее некоторые из этих этапов.
Выбор данных для обучения сети и их обработка является самым сложным этапом решения задачи. Набор данных для обучения должен удовлетворять нескольким критериям:
Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимости от типа обучения (с учителем или без), по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не дает качественных результатов. Существует ряд способов улучшить «восприятие» сети.
Кроме того, большую роль играет само представление как входных, так и выходных данных. Предположим, сеть обучается распознаванию букв на изображениях и имеет один числовой выход — номер буквы в алфавите. В этом случае сеть получит ложное представление о том, что буквы с номерами 1 и 2 более похожи, чем буквы с номерами 1 и 3, что, в общем, неверно. Для того, чтобы избежать такой ситуации, используют топологию сети с большим числом выходов, когда каждый выход имеет свой смысл. Чем больше выходов в сети, тем большее расстояние между классами и тем сложнее их спутать.
Выбирать тип сети следует, исходя из постановки задачи и имеющихся данных для обучения. Для обучения с учителем требуется наличие для каждого элемента выборки «экспертной» оценки. Иногда получение такой оценки для большого массива данных просто невозможно. В этих случаях естественным выбором является сеть, обучающаяся без учителя (например, самоорганизующаяся карта Кохонена или нейронная сеть Хопфилда). При решении других задач (таких, как прогнозирование временных рядов) экспертная оценка уже содержится в исходных данных и может быть выделена при их обработке. В этом случае можно использовать многослойный перцептрон[уточнить] или сеть Ворда.
После выбора общей структуры нужно экспериментально подобрать параметры сети. Для сетей, подобных перцептрону, это будет число слоев, число блоков в скрытых слоях (для сетей Ворда), наличие или отсутствие обходных соединений, передаточные функции нейронов. При выборе количества слоев и нейронов в них следует исходить из того, что способности сети к обобщению тем выше, чем больше суммарное число связей между нейронами. С другой стороны, число связей ограничено сверху количеством записей в обучающих данных.
После выбора конкретной топологии необходимо выбрать параметры обучения нейронной сети. Этот этап особенно важен для сетей, обучающихся с учителем. От правильного выбора параметров зависит не только то, насколько быстро ответы сети будут сходиться к правильным ответам. Например, выбор низкой скорости обучения увеличит время схождения, однако иногда позволяет избежать паралича сети. Увеличение момента обучения может привести как к увеличению, так и к уменьшению времени сходимости, в зависимости от формы поверхности ошибки. Исходя из такого противоречивого влияния параметров, можно сделать вывод, что их значения нужно выбирать экспериментально, руководствуясь при этом критерием завершения обучения (например, минимизация ошибки или ограничение по времени обучения).
В процессе обучения сеть в определенном порядке просматривает обучающую выборку. Порядок просмотра может быть последовательным, случайным и т. д. Некоторые сети, обучающиеся без учителя (например, сети Хопфилда), просматривают выборку только один раз. Другие (например, сети Кохонена), а также сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части — собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение. Если ошибка на обучающих данных продолжает уменьшаться, а ошибка на тестовых данных увеличивается, значит, сеть перестала выполнять обобщение и просто «запоминает» обучающие данные. Это явление называется переобучением сети или оверфиттингом. В таких случаях обучение обычно прекращают. В процессе обучения могут проявиться другие проблемы, такие как паралич или попадание сети в локальный минимум поверхности ошибок. Невозможно заранее предсказать проявление той или иной проблемы, равно как и дать однозначные рекомендации к их разрешению.
Все выше сказанное относится только к итерационным алгоритмам поиска нейросетевых решений. Для них действительно нельзя ничего гарантировать и нельзя полностью автоматизировать обучение нейронных сетей. Однако, наряду с итерационными алгоритмами обучения, существуют не итерационные алгоритмы, обладающие очень высокой устойчивостью и позволяющие полностью автоматизировать процесс обучения.
Даже в случае успешного, на первый взгляд, обучения сеть не всегда обучается именно тому, чего от нее хотел создатель. Известен случай, когда сеть обучалась распознаванию изображений танков по фотографиям, однако позднее выяснилось, что все танки были сфотографированы на одном и том же фоне. В результате сеть «научилась» распознавать этот тип ландшафта, вместо того, чтобы «научиться» распознавать танки. Таким образом, сеть «понимает» не то, что от нее требовалось, а то, что проще всего обобщить.
Тестирование качества обучения нейросети необходимо проводить на примерах, которые не участвовали в ее обучении. При этом число тестовых примеров должно быть тем больше, чем выше качество обучения. Если ошибки нейронной сети имеют вероятность близкую к одной миллиардной, то и для подтверждения этой вероятности нужен миллиард тестовых примеров. Получается, что тестирование хорошо обученных нейронных сетей становится очень трудной задачей.
, где W — весовые коэффициенты сети);
, где W — весовые коэффициенты сети).В ряде нейронных сетей активирующая функция может зависеть не только от весовых коэффициентов связей
, но и от времени передачи импульса (сигнала) по каналам связи
. Поэтому в общем виде активирующая (передающая) функция связи
от элемента
к элементу
имеет вид:
. Тогда синхронной сетью называют такую сеть, у которой время передачи
каждой связи равно либо нулю, либо фиксированной постоянной
. Асинхроннойназывают такую сеть у которой время передачи
для каждой связи между элементами
и
свое, но тоже постоянное.
Все связи направлены строго от входных нейронов к выходным. Примерами таких сетей являются перцептрон Розенблатта, многослойный перцептрон, сети Ворда.
Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя (обратная связь). Рекуррентная сеть Хопфилда «фильтрует» входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построенияассоциативной памяти. Частным случаем рекуррентных сетей являются двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном. Классическим примером является Нейронная сеть Коско.
Разработаны искусственные нейронные сети, использующие в качестве активационных функций радиально-базисные (также называются RBF-сетями). Общий вид радиально-базисной функции:
, например, 
где
— вектор входных сигналов нейрона,
— ширина окна функции,
— убывающая функция (чаще всего, равная нулю вне некоторого отрезка).
Радиально-базисная сеть характеризуется тремя особенностями:
Такие сети представляют собой соревновательную нейронную сеть с обучением без учителя, выполняющую задачу визуализации и кластеризации. Является методом проецирования многомерного пространства в пространство с более низкой размерностью (чаще всего, двумерное), применяется также для решения задач моделирования, прогнозирования и др. Является одной из версий нейронных сетей Кохонена. Самоорганизующиеся карты Кохонена служат, в первую очередь, для визуализации и первоначального («разведывательного») анализа данных.
Сигнал в сеть Кохонена поступает сразу на все нейроны, веса соответствующих синапсов интерпретируются как координаты положения узла, и выходной сигнал формируется по принципу «победитель забирает все» — то есть ненулевой выходной сигнал имеет нейрон, ближайший (в смысле весов синапсов) к подаваемому на вход объекту. В процессе обучения веса синапсов настраиваются таким образом, чтобы узлы решетки «располагались» в местах локальных сгущений данных, то есть описывали кластерную структуру облака данных, с другой стороны, связи между нейронами соответствуют отношениям соседства между соответствующими кластерами в пространстве признаков.
Удобно рассматривать такие карты как двумерные сетки узлов, размещенных в многомерном пространстве. Изначально самоорганизующаяся карта представляет собой сетку из узлов, соединенный между собой связями. Кохонен рассматривал два варианта соединения узлов — в прямоугольную и гексагональную сетку — отличие состоит в том, что в прямоугольной сетке каждый узел соединен с 4-мя соседними, а в гексагональной — с шестью ближайшими узлами. Для двух таких сеток процесс построения сети Кохонена отличается лишь в том месте, где перебираются ближайшие к данному узлу соседи.
Начальное вложение сетки в пространство данных выбирается произвольным образом. В авторском пакете SOM_PAK предлагаются варианты случайного начального расположения узлов в пространстве и вариант расположения узлов в плоскости. После этого узлы начинают перемещаться в пространстве согласно следующему алгоритму:
.
узел карты (BMU — Best Matching Unit).
. Однако он перемещается не один, а увлекает за собой определенное количество ближайших узлов из некоторой окрестности на карте. Из всех двигающихся узлов наиболее сильно смещается центральный — ближайший к точке данных — узел, а остальные испытывают тем меньшие смещения, чем дальше они от BMU. В настройке карты различают два этапа — этап грубой (ordering) и этап тонкой (fine-tuning) настройки. На первом этапе выбираются большие значения окрестностей и движение узлов носит коллективный характер — в результате карта «расправляется» и грубым образом отражает структуру данных; на этапе тонкой настройки радиус окрестности равен 1-2 и настраиваются уже индивидуальные положения узлов. Кроме этого, величина смещения равномерно затухает со временем, то есть она велика в начале каждого из этапов обучения и близка к нулю в конце.Вычислительные системы, основанные на искусственных нейронных сетях, обладают рядом качеств, которые отсутствуют в машинах с архитектурой фон Неймана (но присущи мозгу человека):
Входные данные — курс акций за год. Задача — определить завтрашний курс. Проводится следующее преобразование — выстраивается в ряд курс за сегодня, вчера, за позавчера. Следующий ряд — смещается по дате на один день и так далее. На полученном наборе обучается сеть с 3 входами и одним выходом — то есть выход: курс на дату, входы: курс на дату минус 1 день, минус 2 дня, минус 3 дня. Обученной сети подаем на вход курс за сегодня, вчера, позавчера и получаем ответ на завтра. Нетрудно заметить, что в этом случае сеть просто выведет зависимость одного параметра от трех предыдущих. Если желательно учитывать еще какой-то параметр (например, общий индекс по отрасли), то его надо добавить как вход (и включить в примеры), переобучить сеть и получить новые результаты. Для наиболее точного обучения стоит использовать метод ОРО, как наиболее предсказуемый и несложный в реализации.
Серия работ М. Г. Доррера с соавторами посвящена исследованию вопроса о возможности развития психологической интуиции у нейросетевых экспертных систем. Полученные результаты дают подход к раскрытию механизма интуиции нейронных сетей, проявляющейся при решении ими психодиагностических задач. Создан нестандартный для компьютерных методик интуитивный подход к психодиагностике, заключающийся в исключении построения описанной реальности. Он позволяет сократить и упростить работу над психодиагностическими методиками.
Нейронные сети широко используются в химических и биохимических исследованиях. В настоящее время нейронные сети являются одним из самых распространенных методов хемоинформатики для поиска количественных соотношений структура-свойство, благодаря чему они активно используются как для прогнозирования физико-химических свойств и биологической активности химических соединений, так и для направленного дизайна химических соединений и материалов с заранее заданными свойствами, в том числе при разработке новых лекарственных препаратов.
Нейронные сети успешно применяются для синтеза систем управления динамическими объектами. Нейросети обладают рядом уникальных свойств, которые делают их мощным инструментом для создания систем управления: способностью к обучению на примерах и обобщению данных, способностью адаптироваться к изменению свойств объекта управления и внешней среды, пригодностью для синтеза нелинейных регуляторов, высокой устойчивостью к повреждениям своих элементов в силу изначально заложенного в нейросетевую архитектуру параллелизма.
Алгоритмы искусственных нейронных сетей нашли широкое применение в экономике. С помощью нейронных сетей решается задача разработки алгоритмов нахождения аналитического описания закономерностей функционирования экономических объектов (предприятие, отрасль, регион). Эти алгоритмы применяются к прогнозированию некоторых «выходных» показателей объектов. Применение нейросетевых методов позволяет решить некоторые проблемы экономико-статистического моделирования, повысить адекватность математических моделей, приблизить их к экономической реальности. Поскольку экономические, финансовые и социальные системы очень сложны и являются результатом действий и противодействий различных людей, то является очень сложным (если не невозможным) создать полную математическую модель с учетом всех возможных действий и противодействий. В системах подобной сложности является естественным и наиболее эффективным использовать модели, которые напрямую имитируют поведение общества и экономики. А это — как раз то, что способна предложить методология нейронных сетей[
В заключение, хочется отметить, что в статье, разумеется, приведен далеко не полный перечень примеров использования нейронных сетей. Мы попытались показать, насколько широки области применения и решаемые задачи. Однако до широкого распространения ИНС в России, на мой взгляд, достаточно далеко, что связано, с одной стороны, со стоимостью таких продуктов, с другой стороны — со скептическим отношением возможных конечных потребителей.
А как ты думаешь, при улучшении нейронные сети, будет лучше нам? Надеюсь, что теперь ты понял что такое нейронные сети и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Подходы и направления создания Искусственного интеллекта
Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.
Комментарии