Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
- Название:Учебное пособие по курсу «Нейроинформатика»
- Автор:
- Жанр:
- Издательство:КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
- Год:2002
- Город:Красноярск
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Е. Миркес - Учебное пособие по курсу «Нейроинформатика» краткое содержание
Данное учебное пособие подготовлено на основе курса лекций по дисциплине «Нейроинформатика», читавшегося с 1994 года на факультете Информатики и вычислительной техники Красноярского государственного технического университета.
Несколько слов о структуре пособия. Далее во введении приведены учебный план по данному курсу, задания на лабораторные работы. Следующие главы содержат одну или несколько лекций. Материал, приведенный в главах, несколько шире того, что обычно дается на лекциях. В приложения вынесены описания программ, используемых в данном курсе (Clab и Нейроучебник), и проект стандарта нейрокомпьютера, включающий в себя два уровня — уровень запросов компонентов универсального нейрокомпьютера и уровень языков описания отдельных компонентов нейрокомпьютера.
Данное пособие является электронным и включает в себя программы, необходимые для выполнения лабораторных работ.
Учебное пособие по курсу «Нейроинформатика» - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Если учитель работает с сетями любой архитектуры, то процедура опознания архитектуры сети не нужна.
Список стандартных функций
В этом разделе описаны стандартные функции, специфические для компонента учитель. Эти функции соответствуют макросам, использованным в главе «Учитель». Заголовки функций даны на языке описания учителя.
Заголовок функции:
Function SetInstructionObject (What: Integer; Net: PString): Logic;
Описание аргументов
What может принимать следующие значения (предопределенные константы, приведенные в табл. 11):
Parameters — для обучения параметров сети;
InSignals — для обучения входных сигналов.
Net — имя нейронной сети, которая будет обучаться.
Возможно обучение одного из двух объектов — параметров сети или входных сигналов. Объект обучения должен быть задан до начала собственно обучения. По умолчанию обучается первая сеть в списке нейронных сетей компонента сеть. При необходимости в качестве объекта обучения может быть задана часть сети (см. главу «Описание нейронных сетей»). При сохранении учителя в файле сети объект обучения хранится вместе с учителем. Функция возвращает значение истина, если ее выполнение завершено успешно. В противном случае (например, указанная сеть отсутствует в списке сетей компонента сеть) возвращается значение ложь.
Заголовок функции:
Function CreateArray: PRealArray;
Аргументов нет.
Функция возвращает указатель на массив, пригодный для хранения массива обучаемых параметров (входных сигналов) сети. Если массив создать не удалось, то возвращается пустой указатель.
Заголовок функции:
Function EraseArray(Vec: PRealArray): Logic;
Описание аргументов
Vec — указатель на массив. При вызове содержит адрес освобождаемого массива.
После выполнения функции в аргументе Vec содержится пустой указатель. В случае невозможности освобождения памяти функция генерирует внутреннюю ошибку 604 — некорректная работа с памятью, передает управление обработчику ошибок, выполнение функции завершается, возвращается значение ложь. В противном случае возвращается значение истина.
Заголовок функции:
Function RandomArray(Vec: PRealArray): Logic;
Описание аргументов
Vec — указатель на массив. При входе в макрос содержит адрес существующего массива.
В ходе выполнения функции для каждого элемента массива параметров генерируется случайное значение. Для генерации используется генератор случайных чисел, равномерно распределенных на отрезке от нуля до единицы. После получения случайной величины a она преобразуется по формуле a ′ = a ( a max– a min)– a minк случайной величине, распределенной на отрезке [ a min, a max]. Величины a minи a maxдля параметров сети определяются их типом (см. раздел «Описание элементов»). Для входных сигналов принимается a min=–1, a max=1. Если обучаемым объектом являются параметры, то генерация случайного массива производится путем генерации запроса RandomDirection компонента сеть. Если при выполнении функции возникла ошибка, то генерируется внутренняя ошибка 605 — ошибка при исполнении внешнего запроса, управление передается обработчику ошибок, функция возвращает значение ложь. В противном случае возвращается значение истина.
Заголовок функции:
Function Modify(Direct: PRealArray; OldStep, NewStep: Real): Logic;
Описание аргументов
Direct — указатель на массив направления модификации сети.
OldStep — вес старого массива параметров в модифицированном.
NewStep — вес массива направления модификации в модифицированном массиве параметров.
Эта функция генерирует запрос на модификацию параметров сети (см. раздел «Провести обучение (Modify)»). Вызов запроса имеет вид:
Modify(Net, OldStep, NewStep, Tipe, Direct)
Аргументами запроса являются:
Net — указатель на пустую строку (используется сеть по умолчанию).
OldStep, NewStep — аргументы функции.
Tipe — значение аргумента What в запросе InstructionObject.
Direct — аргумент функции.
Аргумент функции Direct может быть пустым указателем. В этом случае для модификации используется массив градиента, хранящийся вместе с сетью. В случае возникновения ошибки в ходе модификации сети (запрос Modify возвращает значение ложь) генерируется внутренняя ошибка 605 — ошибка при исполнении внешнего запроса, управление передается обработчику ошибок, функция возвращает значение ложь. В противном случае возвращается значение истина.
Заголовок функции:
Function Optimize (Direct: PRealArray; Step: Real): Real;
Описание аргументов
Direct — указатель на массив направления модификации сети.
Step — начальный шаг в направлении Direct.
Действия, выполняемые функцией Optimize, описаны в разделе « Подбор оптимального шага». В случае возникновения ошибки при выполнении функции она генерирует внутреннюю ошибку 605 — ошибка при исполнении внешнего запроса, передает управление обработчику ошибок, функция возвращает значение 0. В противном случае возвращается значение оценки при оптимальном шаге. Следует отметить, что после завершения выполнения функции, параметры сети соответствуют результату выполнения функции Modify(Direct, 1, Step), где Step — значение оптимального шага.
Заголовок функции:
Function SaveArray(Vec: PRealArray): Logic;
Описание аргументов
Vec — указатель на массив.
Функция генерирует запрос nwGetData. После выполнения функции в массиве, на который указывает аргумент Vec, содержится текущий массив параметров. В случае возникновения ошибки в ходе выполнения функции генерируется внутренняя ошибка 605 — ошибка при исполнении внешнего запроса, управление передается обработчику ошибок, функция возвращает значение ложь. В противном случае возвращается значение истина.
Заголовок функции:
Function SetArray(Vec: PRealArray): Logic;
Описание аргументов
Vec — указатель на массив, содержащий параметры, которые необходимо установить.
Функция генерирует запрос nwSetData.После выполнения функции параметры сети совпадают с параметрами, содержащимися в массиве, на который указывает аргумент Vec. В случае возникновения ошибки в ходе выполнения функции генерируется внутренняя ошибка 605 — ошибка при исполнении внешнего запроса, управление передается обработчику ошибок, функция возвращает значение ложь. В противном случае возвращается значение истина.
Заголовок функции:
Function Estimate(Handle: Integer; All: Logic): Real;
Описание аргументов
Читать дальшеИнтервал:
Закладка: