генетический алгоритм обучения нейронной сети

Генетический алгоритм обучения нейронной сети

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

(ДонНТУ, г.Донецк, Украина)

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


размерность и структура входного сигнала нейросети;

синапсы нейронов сети. Они упрощаются с помощью удаления из сети или заданием «нужной» или «оптимальной» величины веса синапса;

количество нейронов каждого слоя сети: нейрон целиком удаляется из сети, с автоматическим удалением тех синапсов нейронов следующено слоя, по которым проходил его выходной сигнал;

количество слоёв сети.

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

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

Стратегия «обучение с учителем» (рис. 1) предполагает, что есть обучающее множество .

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

Зависимость реального выходного сигнала Y от входного сигнала X можно записать в виде: Y = F(W,X)+Err, где:

В последнее время для обучения многослойного персептрона широко используется процедура, получившая название алгоритма с обратным распространением ошибки (error backpropagation) [1].

Однако этому алгоритму свойственны недостатки[1]:


возможность преждевременной остановки из-за попадания в область локального минимума;

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

отсутствие сколько-нибудь приемлемых оценок времени обучения.

Проблемы, связанные с алгоритмом обратного распространения привели к разработке альтернативных методов расчета весовых коэффициентов нейронных сетей. Впервые в 1989 году Дэвид Монтана и Лоуренс Дэвис использовали генетические алгоритмы в качестве средства подстройки весов скрытых и выходных слоев для фиксированного набора связей [2].

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

Популяцией называют набор хромосом (решений).

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

Оператор селекции (reproduction, selection) осуществляет отбор хромосом в соответствии со значениями их функции приспособленности. Здесь применим метод рулетки (roulette-wheel selection), с помощью которого осуществляется отбор. Колесо рулетки содержит по одному сектору для каждого члена популяции. Размер i-го сектора пропорционален соответствующей величине P sel (i) вычисляемой по формуле:

Ожидаемое число копий i-й хромосомы после оператора селекция определяются так: N i =k i n

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

Рассмотрим пример работы оператора селекции для вычисления минимума функции f(x)=sum(x i ) [3]. Данные для удобства сведены в таблицу 1.

Оператор кроссовера (crossover operator), иногда называемый кроссинговером, является основным генетическим оператором (рис. 3), за счет которого производится обмен частями хромосом между двумя (может быть и больше) хромосомами в популяции [1]. Может быть одноточечным или многоточечным. Одноточечным называется кроссовер, если при нем родительские хромосомы разрезаются только в одной случайной точке. Для реализации N-точечного кроссовера м.б. использовано два подхода :

Точек разрыва меньше, чем генов в хромосоме, либо

Если длина хромосомы L битов, то число точек разрыва равно (L-1), при этом потомки наследуют биты следующим образом: первому потомку достаются нечетные биты первого родителя и четные биты второго; у второго же потомка все наоборот. Т.е. получается как бы «расческа».

Кроме описанных типов кроссовера есть ещё однородный кроссовер. Его особенность заключается в том, что значение каждого бита в хромосоме потомка определяется случаным образом из соответствующих битов родителей. Для этого вводится некоторая величина 0

Вероятность кроссовера самая высокая среди генетических операторов и равна обычно 60% и больше.

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

При исследовании эффективности обучения нейронных сетей в качестве тестовых примеров рассматривались:


двухслойная нейронная сеть с характеристиками: 4 входных сигнала, 3 нейрона скрытого слоя, 1 выходной сигнал;

трехслойная нейронная сеть с характеристиками: 5 входных сигналов, 3 нейрона в первом скрытом слое, 2 нейрона во втором скрытом слое, 2 выходных сигнала.

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

На вход НС подавалось обучающее множество, представляющее собой последовательность 0 и/или 1.

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

Результаты работы операторов генетических алгоритмов были сравнены с результатами работы алгоритма обратного распространения ошибки. Генетический алгоритм работал с популяцией, состоящей из 30 векторов, первоначально сгенерированных случайным образом.

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

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

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

Источник

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

Авторы: Г.А. Поллак
Источник: Поллак Г.А. Применение генетических алгоритмов для обучения нейронных сетей / Поллак Г.А. // Издательский центр ЮУрГУ, 2011 год, С. 174–178

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

Генетические алгоритмы для обучения нейросети применяются как альтернатива методу обратного распространения ошибки. Целью обучения является минимизация функции стоимости E(n)= 1/2*ek 2 (n), где ek(n) = dk(n) – yk(n) – ошибка, dk(n) – желаемый выход нейросети, yk(n) – реальный выход нейросети, n – номер итерации.

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

Применение генетического алгоритма позволяет избежать этой опасности. Рассмотрим в качестве примера нейронную сеть, которая реализует операцию XOR(рис. 1).

Рисунок 1 – Нейронная сеть, реализующая операцию XOR

Для сети требуется подобрать оптимальные веса w11, w11, w12, w21, w22, w31, w33, w10, w20, w30, минимизирующиe значение целевой функции, определяемой среднеквадратичной погрешностью

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

Блок-схема, реализующая классический генетический алгоритм, показана на рис. 2.

Рисунок 2 – Блок-схема классического генетического алгоритма

Таблица 1. Результаты расчетов

Как видно из табл. 1 длина двоичной кодирующей последовательности составляет 8 бит.

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

Исходная популяция хромосом задается случайным образом (табл. 2).

Таблица 2. Исходная популяция хромосом

Код ГреяНомер интервалаЛевая границаПравая границаСреднее значение
w111001100GCCh2040,59220,60000,5961
w1201100010G62h980,23920,23140,2353
w2100110011G33h510,60780,60000,6039
w2201110111G77h1190,07450,06670,0706
w3100100010G22h340,74120,73330,7373
w3201010101G55h850,34120,33330,3373
w1001100010G62h990,23140,22350,2275
w2010100010GA2h1620,26270,27060,2667
w3000101010G2Ah420,67840,67060,6745

Отклик сети на входные сигналы y1 = 0,4592, y2= 0,2631, y3 = 0,3463, y4= 0,3551, среднеквадратичная ошибка Е = 0,2704. При вычислении выходных значений нейросети использовалась логистическая функция акти- вации с параметром скорости обучения η= 1.

Наибольшую роль в успешном функционировании алгоритма играет этап отбора родительских хромосом для создания новой популяции. Наиболее часто используется метод отбора, называемый рулеткой. Однако вследствие некоторых недостатков [1] этот метод плохо приспособлен для решения задачи минимизации. Поэтому предлагается использовать турнирный метод. Суть метода заключается в следующем. Все особи популяции разбиваются на подгруппы по 2–3 особи в каждой. Выбор родителей осуществляется случайно с вероятностью, меньшей 1.

В классическом генетическом алгоритме применяются два основных генетических оператора: оператор скрещивания и оператор мутации. Веро- ятность скрещивания достаточно велика (обычно 0,5 ≤ рс ≤ 1), вероятность мутации устанавливается весьма малой (чаще всего 0 ≤ рm ≤ 0,1). Это означает, что скрещивание в классическом алгоритме производится практически всегда, тогда как мутация – достаточно редко.

Оператор скрещивания действует следующим образом.

Рисунок 3 – Схема скрещивания

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

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

Следует подчеркнуть, что алгоритм обратного распространения ошибки, как правило, выполняется быстрее генетического, который просматривает все множество возможных решений. Однако градиентный метод не всегда приводит к ожидаемому результату, который зависит от выбора начальной точки. Кроме того, принципиальным недостатком метода обратного распространения ошибки является «застревание» в локальных оптимумах. Можно предложить гибридный метод обучения нейронных сетей, когда генетический алгоритм применяется для выбора начальной точки (исходного множества весов на каждой итерации), а затем применяется метод обратного распространения ошибки. Гибридный метод может позволить найти глобальное решение за приемлемое время.

Источник

Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность

В продолжение статьи «Сравнение технологических подходов к решению задач по извлечению данных» рассмотрим технологии, наиболее часто упоминающиеся в связи с понятием «искусственный интеллект» в контексте поисковых задач. На habrahabr.ru опубликовано множество статей на эту тему, например, об использовании нейросетей в поиске Яндкса, в которой говорится что «Фактически, формулу ранжирования пишет машина (получалось около 300 мегабайт)», о глубоком обучении, о вероятностном программировании и т.д.

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

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

Прежде всего, хотелось бы выделить некий общий пул технологий, объединенных под общим термином «системы искусственного интеллекта». К нему с разной степенью достоверности можно отнести:

1. Нейронные сети
2. Генетические алгоритмы
3. Методы вероятностного программирования и т.д.

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

1. Предполагают обучение системы.
2. Основа базы знаний — совокупность образцов в рамках классифицирующих признаков.
3. Предполагают наличие избыточных конкурирующих вычислений до достижения одним из потоков заданного порога достоверности.
4. Результатом вычисления являются как правило какие-либо прецеденты из заранее установленного списка.

Само же обучение характеризуется следующими основными чертами:
1. Наличие априорных знаний, заданных в виде классифицирующих моделей
2. Наличие базы образцов для построения «модели мира» по классифицирующим признакам.

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

Нейронные сети
Согласно Википедии, да простится ссылка на нее, нейронные сети «представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов)». Красиво. Существуют различные варианты реализации такие как байесовские сети[1], рекуррентные сети[2] и т.д… Основная модель работы: база образов-передаточная функция-оптимизатор.

Наибольшее распространение сегодня получили ограниченные машины Больцмана в многослойном варианте. Многослойность, т.е. глубина необходима для преодоления проблемы «XOR». Кроме того, как показано Хинтоном, рост количества слоев скрытых нейронов позволяет увеличить точность за счет наличия «промежуточных» образов с минимальным отличием в каждом слое. При этом, чем ближе промежуточный слой к выходу, тем выше конкретизация образа.

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

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

В какой-то степени, работу нейронной сети можно сопоставить с работой безусловных рефлексов живых существ[3] со всеми вытекающими недостатками.

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

Кто-то может поспорить что это не так. Но прежде чем отметать вышесказанную мысль необходимо определится в том, что имеется ввиду под термином «новая сущность»? Это еще один экземпляр в рамках существующего пространства классов-векторов выбранной предметной области или создание новых областей-пространств? Теме сравнения чего-либо с чем-либо, что можно сравнивать и что нельзя, проблеме смешения предметных областей будет посвящена одна из следующих статей.

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

1. Наличие самого факта появления нового профиля и его осмысления (что это не шум) и необходимость стороннему эксперту определить соответствие профиля результату.[1]
2. Отсутствие простого и надежного математического аппарата, четко описывающего условия и правила порождения новых измерений, а, следовательно, и классов объектов.
3. Сама по себе процедура трассировки – это процесс обобщения, поиска новых трасс-маршрутов, пусть и с необходимостью контроля однозначности соответствия профилей и результатов.

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

Генетические алгоритмы
Согласно все той же Википедии: «Генетческий алгортм (англ. genetic algorithm) — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе».

Существует масса работ таких авторов как Панченко Т.В[4]., Гладкова Л. А., Курейчика В. В[5] и т.д… Основы «генетического подхода» хорошо раскрыты здесь.

Существует множество интересных работ, посвященных применению генетических алгоритмов. Например, работа Плешакова И.Ю., Чуприной С.И.[6], статья Иванова В.К. и Манкина П.И.[7], статьи на хабре и ряд других.

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

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

Общий же недостаток — отсутствие индукционных алгоритмов — присутствует в полной мере.

Методы вероятностного программирования
Включение методов вероятностного программирования в данную статью является скорее данью моде, нежели необходимостью. Сами по себе стохастические методы, которые сегодня гордо называют методами вероятностного программирования известны довольно давно и, как и нейронные сети, переживают очередной взлет. Хорошим примером стохастического подхода являются генетические алгоритмы. В интернете существует масса статей, например «Вероятностное программирование – ключ к искусственному интеллекту?». Поэтому останавливаться подробно на самих методах не имеет смысла и перейдем сразу к выводам.

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

Таким образом, сегодня под термином «ИИ» скорее подразумевается подвид технологических (алгоритмических) подходов к решению задач комбинаторики. Основными задачами которого являются достоверное отделение «статически значимых» по своей сути закономерностей и построение на основе статистики образов-объектов, без анализа причинно-следственных связей. Основные направления — это распознавание образов. Под образами можно понимать изображения, звуки, совокупность симптомов болезней и т.д.

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

Выводы
Рождение современной математики, конечно же, процесс долгий, затянувшийся на века. Но, наблюдая современные тенденции, напрашивается неутешительный вывод: все движется по кругу. Философы древней Греции не знали математики и математических формул, оперировали понятиями на уровне образов и «бытовых» понятий. Этого становилось недостаточно для организации более сложных и, самое главное, абстрактных рассуждений. Кроме того, одной из основных задач математики является поиск логик, позволяющих значительно снизить затраты на расчеты путем вывода компактных и оптимальных закономерностей. Все это послужило толчком для создания сегодняшней математики с ее современными нотациями. Начало же просматривается не ранее XVI века целым рядом ученых таких как Декарт, Лейбниц и т.д.

Современные рассуждения и логика того, что называют «искусственным интеллектом» сегодня проходят тот же путь. И состояние сегодняшнего дня «уводит» обратно к истокам, так как в большей степени базируется на тех же принципах поиска «общих» закономерностей скорее в стиле Пифагора и Евклида. Применение логики ИИ ограничено областями, которые с точки зрения человека можно было бы назвать областями безусловных реакций. Тигр должен быть распознан без всякого анализа, сразу и быстро, до того, как съест субъекта наблюдений. К ним относятся большинство задач распознавания каких-либо образов, диагностирование болезней.

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

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

Все вышесказанное не является утверждением бесперспективности нейронных сетей или аналогичных технологий. Объем задач и их ценность огромны. Это и помощь в распознавании образов и помощь специалистам в разных областях при анализе данных и незначительных на первый взгляд деталей. Хорошим примером такого применения является помощь ИИ в установке диагнозов.

Как говорится, продолжение следует. В следующих статьях предполагается поразмышлять с точки зрения «программирования» о базовых понятиях, без которых невозможно рождение искусственного интеллекта, обладающего мыслительными способностями. К ним относятся понятия как: онтологии, объекты и их свойства, качество, полнота. Что можно сравнивать, а что нельзя. И что же вообще необходимо для этого. А также поразмышлять о том, что необходимо, что бы машина получила способность к индукции…

[1] Байесовская сеть (или байесова сеть, байесовская сеть доверия, англ. Bayesian network, belief network) — графическая вероятностная модель, представляющая собой множество переменных и их вероятностных зависимостей по Байесу. Например, байесовская сеть может быть использована для вычисления вероятности того, чем болен пациент по наличию или отсутствию ряда симптомов, основываясь на данных о зависимости между симптомами и болезнями. Математический аппарат байесовых сетей создан американским учёным Джудой Перлом, лауреатом Премии Тьюринга (2011).

[2] Рекуррентные нейронные сети (англ. Recurrent neural network; RNN) — вид нейронных сетей, в которых имеется обратная связь. При этом под обратной связью подразумевается связь от логически более удалённого элемента к менее удалённому. Наличие обратных связей позволяет запоминать и воспроизводить целые последовательности реакций на один стимул. С точки зрения программирования в таких сетях появляется аналог циклического выполнения, а с точки зрения систем — такая сеть эквивалентна конечному автомату. Такие особенности потенциально предоставляют множество возможностей для моделирования биологических нейронных сетей[источник?]. Однако большинство возможностей на данный момент плохо изучены в связи с возможностью построения разнообразных архитектур и сложностью их анализа.

[3] Барский А.Б. «Логические нейронные сети» М.: Интернет-Университет Информационных Технологий, 2007

[4] Панченко, Т. В. Генетические алгоритмы [Текст]: учебно-методическое пособие / под ред. Ю. Ю. Тарасевича. — Астрахань: Издательскии дом «Астраханскии университет», 2007.

[5] Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы: Учебное пособие. — 2-е изд. — М: Физматлит, 2006. — С. 320. — ISBN 5-9221-0510-8.

[7] Иванов В.К. и Манкин П.И. «Реализация генетического алгоритма для эффективного документального тематического поиска» Тверскоигосударственныитехническии

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *