net.LW{2, 1} = [0.5];.LW{3, 2} = [0.5].
Исполнил команду gensim(net) и проверил
параметры блока.
Рис. 6. График работы нейронной сети
. Вывел на экран поля вычислительной модели и их содержимое, используя функцию celldisp. Убедился в правильности значений полей модели.{1} =
exampleInput: [0 1]
name: 'Input'
processFcns: {}
processParams: {}
processSettings: {1x0 cell}
…{2} =
exampleInput: [0 1]
name: 'Input'
processFcns: {}
processParams: {}
processSettings: {1x0 cell}
…
. Промоделировал созданную статическую сеть, т. е. сеть без линий задержки, использую групповое и последовательное представление входных сигналов
PG = [0.5 1 ; 1 0.5];= {[0.5 1] [1 0.5]};= sim(net, PG);
PS1 = sim(net, PS)
Убедился, что для статической сети групповое и последовательное представления входных сигналов дают один и тот же результат.
. Дополнил архитектуру созданной нейронной сети линиями задержки для входных сигналов и для сигналов между 2-м и 3-м слоями, превратив, таким образом, статическую сеть в динамическую:.inputWeights{1, 1}.delays = [0 1];.inputWeights{1, 2}.delays = [0 1];.layerWeights{3, 2}.delays = [0 1 2].
. Скорректировал весовые матрицы:.IW{1, 1} = [0.5 0.5];.IW{1, 2} = [0.5 0.25];.LW{3, 2} = [0.5 0.25 1].
. Промоделировал динамическую сеть, используя групповое и последовательное представление входных сигналов:
AG = sim(net, PG); = sim(net, PS).
Групповое представление входных сигналов
искажает результат, так как в этом случае работа одной сети заменяется
параллельной работой двух (по числу последовательностей) одинаковых сетей с
нулевыми начальными значениями сигналов на выходах линий задержки.

. Вывел на печать поля вычислительной модели и их содержимое, используя функций celldisp.
ans{1} =
exampleInput: [0 0,5]
name: 'Input'
processFcns: {0,5 0,5}
processParams: {0,5 0,25}
processSettings: {1x0 cell}
…{2} =
exampleInput: [0 0,5]
name: 'Input'
processFcns: {0,5 0,5}
processParams: {0,5 0,25 1}
processSettings: {1x0 cell}
…
. Сохранил содержимое командного окна в М-файле для последующего использования.
Задание 2.
Создать точно такую же динамическую сеть asgnet, используя конструктор класса network без параметров и задавая значения соответствующих полей вычислительной модели с помощью операторов присваивания. Убедиться в идентичности сетей net и asgnet.
Сравнить результаты работы полученных сетей.
Порядок выполнения.
1. Создал динамическую сеть asgnet использую
пустой конструктор network
= network();
. Задал все параметры и значения полей при помощи присвоения
asgnet.numInputs = 2
asgnet.numLayers = 3.biasConnect =
[1; 0; 0].inputConnect = [1 1; 0 0 ; 0 0].layerConnect = [0 0 0; 1 0 0; 0 1
0].outputConnect = [0 0 1]
Рис. 8. Структурная схема нейронной сети asgnet
P1 = [0 0 ; 0 0]= sim(asgnet,
P1).inputs{1}.range = [0 1];.inputs{2}.range = [0 1]; = [0.5 1 ; 1 0.5];= {[0.5
1] ; [1 0.5]};= sim(asgnet, PG1); = sim(asgnet, PS1);.b{1} = -
0,25;.inputWeights{1, 1}.delays = [0 1];.inputWeights{1, 2}.delays = [0
1];.layerWeights{3, 2}.delays = [0 1 2];.IW{1, 1} = [0.5 0.5];.IW{1, 2} = [0.5
0.25];.LW{2, 1} = [0.5];.LW{3, 2} = [0.5 0.25 1]
Рис. 9. График работы нейронной сети asgnet
Рис. 10. График работы нейронной сети net
Даже при помощи простого присвоения и построения по элементам нейронной сети получал идентичные результат работы.
Задание 3. Используя блоки имитационного моделирования инструментального пакета Simulink системы MATLAB, построить модель динамической сети asgnet, провести исследование модели, проверить адекватность её поведения поведению модели net и оформить электронный отчёт с помощью генератора Report Generator.
Был создан отчет при помощи пакета Simulink, сам отчет предоставляется с файлам курсовой работы.
Задание 4. Используя конструктор класса network с параметрами и операторы присваивания для полей и ячеек объектов этого класса, построить, выдать на экран и промоделировать искусственные нейронные сети следующей архитектуры:
а) однослойная сеть с тремя нейронами, тремя
двухкомпонентными входами и одним целевым выходом;= network (3, 1, [1], [1 1
1],[1], [1], [1])
Рис. 11.Результат выполнения
Рис. 12. Однослойная сеть с тремя нейронами
б) трёхслойная сеть с прямой передачей сигналов и с тремя нейронами в каждом слое; количество входов - три с двумя, пятью и тремя компонентами; для всех слоёв имеется смещение; выход -один;= network (3, 3, [1 ; 1; 1], [1 0 0; 1 0 0; 1 0 0],[1 0 0; 1 0 0; 1 0 0], [1 0 0], [1 0 0])
Рис. 13.Результат выполнения
Рис. 14. Трехслойная сеть с прямой передачей
сигналов
в) трёхслойная сеть, в которой каждый слой соединён со всеми остальными; вход - один и состоит из двух компонентов; количество нейронов в каждом слое - три; слои имеют смещения;= network (3, 3, [1 ; 0; 0], [1 1 1; 1 1 1; 1 1 1],[1 1 1; 1 1 1; 1 1 1], [1 0 0], [1 0 0])
Рис. 15.Результат выполнения
Рис. 16. трёхслойная сеть, в которой каждый слой
соединён со всеми остальными;
г) трёхслойная динамическая сеть с тремя нейронами в каждом слое; число входов - три, из них каждый состоит из трёх компонентов; имеются смещения на всех слоях; линии задержки задерживают сигналы на один и два такта и включены между всеми слоями, а также на входе;= network (3, 3, [1 ; 0; 0], [1 1 1; 1 1 1; 1 1 1],[1 1 1; 1 1 1; 1 1 1], [1 0 0], [1 0 0])
Рис. 17.Результат выполнения
Рис. 18. трёхслойная динамическая сеть
.inputWeights{1, 1}.delays = [0 1];
t3.inputWeights{1, 2}.delays = [0 1];.inputWeights{1, 3}.delays = [0 1];.inputWeights{2, 1}.delays = [0 1];.inputWeights{2, 2}.delays = [0 1];.inputWeights{2, 3}.delays = [0 1];.inputWeights{3, 1}.delays = [0 1 2];.inputWeights{3, 2}.delays = [2 1 2];.IW{1, 1} = [0.5 0.8];.IW{1, 2} = [0.5 0.2];.IW{1, 3} = [0.2 1];.IW{2, 1} = [0.2 1];.IW{2, 2} = [0.5 0.2];.IW{2, 3} = [0.5 1];.LW{3, 1} = [0.5 0.2 0.1];.LW{3, 2} = [0.1 0.2 0.1];.LW{3, 3} = [0 0.2 1];
Рис. 19. График трехслойной динамической сети
д) квадратная сеть с десятью слоями и десятью нейронами в каждом слое; десять векторов подключаются по одному к каждому слою; имеется десять выходов от всех слоёв сети; смещения подключены к каждому слою.
P1 = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0];= {
[1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1 1 1] };= [1 1 1 1 1 1 1 1 1 1];= network(10, 10, P1, P2, P2, P3, P3)
Нейронная сеть получилась достаточно большая по
массивности связей и слоев, по этому внешний вид схемы был сохранен в фай
task3.mdl.
Выводы
Искусственные нейронные сети используются для изучения свойств биологических нейронных сетей, а также для решения задач в сфере искусственного интеллекта.
Классификация нейронных сетей по характеру обучения делит их на:
нейронные сети, использующие обучение с учителем и нейронные сети, использующие обучение без учителя.
Сети прямого распространения - все связи направлены строго от входных нейронов к выходным. К таким сетям относятся, например: простейший персептрон и многослойный персептрон. Реккурентные нейронные сети - сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя.
Используя математический пакет MatLab мы смогли
ознакомиться, поэкспериментировать и построить простые нейронные сети. Наша
сеть проста, но показывает базовые представления о нейросетях.
Литература
1.http://www.victoria.lviv.ua/html/oio/html/theme5_rus.htm
.http://www.masters.donntu.edu.ua/2006/kita/kornev/library/l6.htm
.http://ru.vlab.wikia.com/wiki/Искусственная_нейронная_сеть
4. Круглов В. В. - Искусственные нейронные сети. Теория и практика <http://www.techbook.ru/kruglov.html>, 2001г.
. В. А. Терехов, Д. В. Ефимов, И. Ю. Тюкин Нейросетевые системы управления, 2002г.
. Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика <http://evrika.tsi.lv/index.php?name=texts&file=show&f=410>.
. Саймон Хайкин Нейронные сети: полный курс, 2006г.
. Роберт Каллан Основные концепции нейронных сетей, 2001г.
. Л.Н. Ясницкий Введение в искусственный интеллект, 2005г.