Доклад на тему нейросети по информатике

Обновлено: 04.07.2024


Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное

бюджетное образовательное учреждение высшего образования

Московский Технический Университет Связи и Информатики

Кафедра Сетевые информационные технологии и сервисы

Дисциплина ВВЕДЕНИЕ В ПРОФЕССИЮ

Студент группы БСТ 2103

Таланкин Иван Сергеевич

_______ Комкова М.Г.

1. Основные понятие

2. История развития нейронных сетей

3. Устройство нейронных сетей

4. Обучение сети и проверка адекватности

5. Однослойные и многослойные сети прямого распространения
Заключение

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

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


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

ОСНОВНЫЕ ПОНЯТИЯ

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

3. Очевидность ответа

4. Контекстная информация


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

История развития нейронных сетей

На заре развития электронно-вычислительной техники в середине XX века среди ученых и конструкторов еще не существовало единого мнения он том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с вами изучаем в курсах основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети. Главные части нервной клетки – это ее тело, содержащее ядро и другие органеллы, единственный аксон, передающий импульсы от клетки, и дендриты, к которым приходят импульсы от других клеток. Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки – нейрон. Мозг человека состоит из белого и серого веществ: белое – это тела нейронов, а серое – это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 10^11 нейронов


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

Таким образом, мозг содержит примерно 10^15 взаимосвязей. Если учесть, что любой нейрофизиологический процесс активизирует сразу множество нейронов, то можно представить себе то количество информации или сигналов, которое возникает в мозгу. Нейроны взаимодействуют посредством серий импульсов, длящихся несколько миллисекунд, каждый импульс представляет собой частотный сигнал с частотой от нескольких единиц до сотен герц. Это невообразимо медленно по сравнению с современными компьютерами, но в тоже время человеческий мозг гораздо быстрее машины может обрабатывать аналоговую информацию, как-то: узнавать изображения, чувствовать вкус, узнавать звуки, читать чужой почерк, оперировать качественными параметрами. Все это реализуется посредством сети нейронов, соединенных между собой синапсами. Другими словами, мозг — это система из параллельных процессоров, работающая гораздо эффективнее, чем популярные сейчас последовательные вычисления.
Технология последовательных вычислений подошла к пределу своих технических возможностей, и в настоящее время остро стоит проблема развития методов параллельного программирования и создания параллельных компьютеров. Так что, может быть, нейросети являются только очередным шагом в этом направлении.

УСТРОЙСТВО НЕЙРОННЫХ СЕТЕЙ

Искусственным нейроном называется простой элемент, сначала вычисляющий взвешенную сумму V входных величин хi:


Здесь N – размерность пространства входных сигналов. Затем полученная сумма сравнивается с пороговой величиной W0, вслед за чем вступает в действие нелинейная функция активации f. Коэффициенты во взвешенной сумме обычно называют синаптическими коэффициентами или весами. Саму же взвешенную сумму V мы будем называть потенциалом нейрона i. Выходной сигнал тогда имеет вид f(V). Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. В этом случае мы говорим о расширенном входном пространстве: нейрон с N-мерным входом имеет N+1 весовой коэффициент. Если ввести в уравнение пороговую величину W0, то оно перепишется так:


В зависимости от способа преобразования сигнала и характера активации возникают различные виды нейронных структур. Существуют детерминированные нейроны, когда активизирующая функция однозначно вычисляет выход по входу, и вероятностные нейроны, состояние которых в момент t есть случайная функция потенциала и состояния в момент t-1. Далее речь пойдёт о детерминированных нейронах

ОБУЧЕНИЕ СЕТИ И ПРОВЕРКА АДЕКВАТНОСТИ

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

Проверка адекватности обучения

Тестирование качества обучения нейросети необходимо проводить на примерах, которые не участвовали в её обучении. При этом число тестовых примеров должно быть тем больше, чем выше качество обучения. Если ошибки нейронной сети имеют вероятность близкую к одной миллиардной, то и для подтверждения этой вероятности нужен миллиард тестовых примеров. Получается, что тестирование хорошо обученных нейронных сетей становится очень трудной задачей.

Классификация нейронных сетей


Однослойные и многослойные сети прямого распространения

Однослойные сети прямого распростране ния

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

Многослойные сети прямого распространения

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

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

Наличие обратных связей в сетях, показанных на рисунках, оказывает непосредственное влияние на способность таких сетей к обучению и на их производительность. Более того, обратная связь подразумевает использование элементов единичной задержки ( обозначены как z

l), что приводит к нелинейному динамическому поведению, если, конечно, в сети содержатся нелинейные нейроны.

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

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

Нейронные сети имитируют работу человеческого мозга, позволяя компьютерным программам находить закономерности и решать стандартные задачи в области искусственного интеллекта (ИИ), машинного и глубокого обучения.

Что такое нейронные сети?

Искусственные нейронные сети (ANN) состоят из образующих слои узлов: слой входных данных, один или несколько скрытых слоев и слой выходных данных. Каждый узел (искусственный нейрон) связан с другими узлами с определенным весом и пороговым значением. Если вывод какого-либо узла превышает пороговое значение, то этот узел активируется и отправляет данные на следующий уровень сети. В противном случае данные на следующий уровень сети не передаются.

Визуальная диаграмма нейронных сетей прямого распространения, состоящая из слоя входных данных, скрытых слоев и слоя выходных данных

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

Принцип работы нейронных сетей

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

Математическая формула для вычисления суммы

∑wixi + bias = w1x1 + w2x2 + w3x3 + bias

Математическая формула для вычисления выходных данных

output = f(x) = 1 if ∑w1x1 + b> = 0; 0 if ∑w1x1 + b

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

  1. Хорошие ли сегодня волны? (Да: 1, Нет: 0)
  2. Свободен ли лайнап? (Да: 1, Нет: 0)
  3. Были ли случаи нападения акул в последнее время? (Да: 0, Нет: 1)

Предположим, у нас имеются следующие входные данные:

  • X1 = 1, так как сегодня хорошие волны для серфинга
  • X2 = 0, так как уже собралось много серферов
  • X3 = 1, так как в последнее время не было нападений акул

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

  • W1 = 5, так как большие свеллы — редкость
  • W2 = 2, так как вы уже привыкли к скоплению серферов
  • W3 = 4, так как вы боитесь акул

Наконец, установим пороговое значение 3, т. е. величина смещения будет равна –3. Теперь, когда все входные данные готовы, можно подставить значения в формулу и получить желаемый результат.

Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6

С помощью функции активации, о которой было сказано в начале раздела, можно вычислить выходные данные для этого узла: результат равен 1, так как 6 больше 0. Это означает, что нам стоит идти на серфинг; если же изменить весовые коэффициенты или пороговое значение, результат вычисления для данной модели может отличаться. Из примера, приведенного выше, следует, что нейронная сеть способна принимать решения с возрастающей степенью сложности, в зависимости от выходных данных предыдущих решений или слоев.

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

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

Математическая формула для вычисления функции стоимости

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

Линейная диаграмма с изображением точки сходимости

Для более подробного изучения математических понятий, используемых в нейронных сетях, рекомендуем прочитать статью на сайте IBM Developer.

Большинство глубоких нейронных сетей относятся к алгоритмам прямого распространения, т. е. данные передаются только в одном направлении — от входа к выходу. Однако для обучения моделей может также применяться метод обратного распространения ошибки, когда данные передаются в противоположном направлении — от выхода к входу. Метод обратного распространения ошибки позволяет вычислить и объяснить ошибки, связанные с каждым нейроном, что позволяет скорректировать и адаптировать параметры модели соответствующим образом.

Виды нейронных сетей

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

Персептрон — первая нейронная сеть, созданная Фрэнком Розентблаттом в 1958 году. Она содержит один нейрон и представляет собой простейшую форму нейронной сети:

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

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

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

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

Сравнение нейронных сетей и глубокого обучения

История возникновения нейронных сетей

1974: первым ученым на территории США, описавшим в своей диссертации (внешняя ссылка, PDF, 8,1 МБ) использование алгоритма обратного распространения ошибки в нейронных сетях, стал Пол Вербос, хотя развитием этой идеи занимались многие исследователи.

1989: Янн Лекун опубликовал статью (внешняя ссылка, PDF, 5,7 МБ), в которой было описано практическое использование ограничений обратного распространения ошибки и интеграция в архитектуру нейронной сети для обучения алгоритмов. В данном исследовании нейронная сеть успешно обучилась распознавать рукописные символы почтового индекса, предоставленные Почтовой службой США.

Нейронные сети и IBM Cloud

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

Архитектура UIMA (Apache Unstructured Information Management Architecture) и программное обеспечение IBM DeepQA, лежащие в основе Watson, позволяют интегрировать в приложения мощные функции глубокого обучения. С помощью таких инструментов, как IBM Watson Studio, ваше предприятие сможет эффективно перенести ИИ-проекты с открытым исходным кодом в рабочую среду с возможностью развертывания и выполнения моделей в любой облачной среде.

Более подробная информация о том, как приступить к использованию технологии глубокого обучения, приведена на страницах IBM Watson Studio и Deep Learning service.

Исследовательская работа

Актуальность исследований : Сейчас нейронные сети широко применяются в маркетинговых исследованиях, в радио- и гидролокации, в системах управления, в системах принятия решений, в экспертных системах и многих других областях.

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

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

ГЛАВА 1. ОСНОВНАЯ ЧАСТЬ

1.1 Что такое нейрокомпьютер

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

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

1.2 История нейрокомпьютеров

Нейрокомпьютеры – это ЭВМ нового поколения, качественно отличающиеся от других классов вычислительных систем параллельного типа тем, что для решения задач они используют не заранее разработанные алгоритмы, а специальным образом подобранные примеры, на которых учатся. Их появление обусловлено объективными причинами: развитие элементной базы, позволяющее на одной плате реализовать персональный компьютер – полнофункциональный компьютер (модель нейрона), и необходимость решения важных практических задач, поставленных действительностью. Попытки создания ЭВМ, моделирующих работу мозга, предпринимались ещё в 40-х гг. специалистами по нейронной кибернетике. Они стремились разработать самоорганизующиеся системы, способные обучаться интеллектуальному поведению в процессе взаимодействия с окружающим миром, причём компонентами их систем обычно являлись модели нервных клеток. Однако зарождавшаяся в это же время вычислительная техника и связанные с нею науки, особенно математическая логика и теория автоматов, оказали сильное влияние на области исследования, связанные с мозгом.

1.3 Преимущества нейрокомпьютеров

По сравнению с обычными компьютерами нейрокомпьютеры обладают рядом преимуществ.

Во первых — высокое быстродействие, связанное с тем, что алгоритмы нейроинформатики обладают высокой степенью параллельности.

Во вторых — нейросистемы делаются очень устойчивыми к помехам и разрушениям.

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

1.4 Недостатки нейрокомпьютеров.

Несмотря на перечисленные выше преимущества, эти устройства имеют ряд недостатков:

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

2. В силу своей уникальности эти устройства достаточно дорогостоящи.

1.5 Практическое применение нейрокомпьютеров.

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

— Управление в режиме реального времени: самолетами, ракетами и технологическими процессами непрерывного производства (металлургического, химического и др.);

— Распознавание образов: человеческих лиц, букв и иероглифов, сигналов радара и сонара, отпечатков пальцев в криминалистике, заболеваний по симптомам (в медицине) и местностей, где следует искать полезные ископаемые (в геологии, по косвенным признакам);

— Прогнозы: погоды, курса акций (и других финансовых показателей), исхода лечения, политических событий (в частности результатов выборов), поведения противников в военном конфликте и в экономической конкуренции;

— Оптимизация и поиск наилучших вариантов: при конструировании технических устройств, выборе экономической стратегии и при лечении больного.

Этот список можно продолжать, но и сказанного достаточно для того, чтобы понять, что нейрокомпьютеры могут занять достойное место в современном обществе.

Неройкомпьютеры относятся к классу МОКМД – множественный поток одиночных команд – множественный поток данных или вычислительные системы с параллельными потоками одинаковых команд и множественным потоком данных.

1.4 Современные нейрокомпьютеры

Основные правила выделения функциональных компонентов идеального нейрокомпьютера (по Миркесу ):

1. Относительная функциональная обособленность: каждый компонент имеет чёткий набор функций. Его взаимодействие с другими компонентами может быть описано в виде небольшого числа запросов.

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

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

Одним из способов подготовки нейронной сети для передачи является её вербализация : обученную нейронную сеть минимизируют с сохранением полезных навыков. Описание минимизированной сети компактнее и часто допускает понятную интерпретацию.

1.5 Применение нейрокомпьютеров

1. Управление в реальном времени, в том числе: самолётами и ракетами; технологическими процессами непрерывного производства (в энергетике, металлургии и др.); гибридным (электробензиновым) двигателем автомобиля; пневмоцилиндром; сварочным аппаратом; электропечью; турбогенератором .

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

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

4. Оптимизация — поиск наилучших вариантов: при конструировании технических устройств; при выборе экономической стратегии; при подборе команды (от сотрудников предприятия до спортсменов и участников полярных экспедиций); при лечении больного.

5. Обработка сигналов при наличии больших шумов.

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

9. Информационная безопасность

1.Ваш возраст?

2.Знаете ли вы что такое нейрокомпьютеры и нейросети ?

Примеры: ( Стиральная машина, компьютер, камера)

3.Есть ли у вас дома нейрокомпьютеры ?

1. Да 2. Нет 3. Не знаю

4.Пользуетесь ли вы ими ежедневно ?

1. Да 2. Нет 3. Иногда

5. Помогают ли нейрокомпьютеры вам ?

1. Да 2. Нет 3.Иногда

Результаты анкетирования


2. Знаете ли вы что такое нейрокомпьютеры и нейросети?


3.Есть ли у вас нейрокомпьютеры:


4.Пользуетесь ли вы ими ежедневно?


5.Помогают ли нейрокомпьютеры вам?


Рекомендации по применению нейрокомпьютеров

Несмотря на недостатки, нейрокомпьютеры могут быть успешно использованы в различных областях народного хозяйства:

— управление в режиме реального времени: самолетами, ракетами и

технологическими процессами непрерывного производства (металлургического, химического и др.);

— распознавание образов: человеческих лиц, букв и иероглифов, сигналов радара и сонара, отпечатков пальцев в криминалистике, заболеваний по симптомам (в медицине) и местностей, где следует искать полезные ископаемые (в геологии, по косвенным признакам);

— прогнозы: погоды, курса акций (и других финансовых показателей), исхода лечения, политических событий (в частности результатов выборов), поведения противников в военном конфликте и в экономической конкуренции;

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

1. Воронин А. А. Техника как коммуникационная стратегия // Вопросы философии, № 5, 1997, с. 96-105

2. Галушкин А. И. Теория нейронных сетей М.: ИПРЖР, 2000.

3. Горбань А., Д. Россиев. Нейронные сети на персональном компьютере. //Новосибирск: Наука, 1996.

4. Нейроинформатика (Коллективная монография / А. Н. Горбань и др.). Новосибирск: Наука, 1998.

5. Савельев А. В. Нейросети: фундаментальность или ограниченность взгляда // Нейроинформатика и ее приложения, Красноярск, 1996, с. 12; Савельев А. В. “Модель нейрона как возможная мультицеллюлярная структура”. // Нейрокомпьютеры: разработка и применение, 2002, № 1-2, ст. 4-20.

Нейронные сети имитируют работу человеческого мозга, позволяя компьютерным программам находить закономерности и решать стандартные задачи в области искусственного интеллекта (ИИ), машинного и глубокого обучения.

Что такое нейронные сети?

Искусственные нейронные сети (ANN) состоят из образующих слои узлов: слой входных данных, один или несколько скрытых слоев и слой выходных данных. Каждый узел (искусственный нейрон) связан с другими узлами с определенным весом и пороговым значением. Если вывод какого-либо узла превышает пороговое значение, то этот узел активируется и отправляет данные на следующий уровень сети. В противном случае данные на следующий уровень сети не передаются.

Визуальная диаграмма нейронных сетей прямого распространения, состоящая из слоя входных данных, скрытых слоев и слоя выходных данных

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

Принцип работы нейронных сетей

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

Математическая формула для вычисления суммы

∑wixi + bias = w1x1 + w2x2 + w3x3 + bias

Математическая формула для вычисления выходных данных

output = f(x) = 1 if ∑w1x1 + b> = 0; 0 if ∑w1x1 + b

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

  1. Хорошие ли сегодня волны? (Да: 1, Нет: 0)
  2. Свободен ли лайнап? (Да: 1, Нет: 0)
  3. Были ли случаи нападения акул в последнее время? (Да: 0, Нет: 1)

Предположим, у нас имеются следующие входные данные:

  • X1 = 1, так как сегодня хорошие волны для серфинга
  • X2 = 0, так как уже собралось много серферов
  • X3 = 1, так как в последнее время не было нападений акул

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

  • W1 = 5, так как большие свеллы — редкость
  • W2 = 2, так как вы уже привыкли к скоплению серферов
  • W3 = 4, так как вы боитесь акул

Наконец, установим пороговое значение 3, т. е. величина смещения будет равна –3. Теперь, когда все входные данные готовы, можно подставить значения в формулу и получить желаемый результат.

Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6

С помощью функции активации, о которой было сказано в начале раздела, можно вычислить выходные данные для этого узла: результат равен 1, так как 6 больше 0. Это означает, что нам стоит идти на серфинг; если же изменить весовые коэффициенты или пороговое значение, результат вычисления для данной модели может отличаться. Из примера, приведенного выше, следует, что нейронная сеть способна принимать решения с возрастающей степенью сложности, в зависимости от выходных данных предыдущих решений или слоев.

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

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

Математическая формула для вычисления функции стоимости

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

Линейная диаграмма с изображением точки сходимости

Для более подробного изучения математических понятий, используемых в нейронных сетях, рекомендуем прочитать статью на сайте IBM Developer.

Большинство глубоких нейронных сетей относятся к алгоритмам прямого распространения, т. е. данные передаются только в одном направлении — от входа к выходу. Однако для обучения моделей может также применяться метод обратного распространения ошибки, когда данные передаются в противоположном направлении — от выхода к входу. Метод обратного распространения ошибки позволяет вычислить и объяснить ошибки, связанные с каждым нейроном, что позволяет скорректировать и адаптировать параметры модели соответствующим образом.

Виды нейронных сетей

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

Персептрон — первая нейронная сеть, созданная Фрэнком Розентблаттом в 1958 году. Она содержит один нейрон и представляет собой простейшую форму нейронной сети:

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

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

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

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

Сравнение нейронных сетей и глубокого обучения

История возникновения нейронных сетей

1974: первым ученым на территории США, описавшим в своей диссертации (внешняя ссылка, PDF, 8,1 МБ) использование алгоритма обратного распространения ошибки в нейронных сетях, стал Пол Вербос, хотя развитием этой идеи занимались многие исследователи.

1989: Янн Лекун опубликовал статью (внешняя ссылка, PDF, 5,7 МБ), в которой было описано практическое использование ограничений обратного распространения ошибки и интеграция в архитектуру нейронной сети для обучения алгоритмов. В данном исследовании нейронная сеть успешно обучилась распознавать рукописные символы почтового индекса, предоставленные Почтовой службой США.

Нейронные сети и IBM Cloud

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

Архитектура UIMA (Apache Unstructured Information Management Architecture) и программное обеспечение IBM DeepQA, лежащие в основе Watson, позволяют интегрировать в приложения мощные функции глубокого обучения. С помощью таких инструментов, как IBM Watson Studio, ваше предприятие сможет эффективно перенести ИИ-проекты с открытым исходным кодом в рабочую среду с возможностью развертывания и выполнения моделей в любой облачной среде.

Более подробная информация о том, как приступить к использованию технологии глубокого обучения, приведена на страницах IBM Watson Studio и Deep Learning service.

Читайте также: