Модель машинного обучения для распознавания объектов по фотографиям
Теоритические аспекты и модели машинного обучения. Получение и интерпретация визуальной информации. Цели и задачи идентификации объектов по фотографиям. Использование искусственной нейронной сети Keras для распознавания ос и пчел от других насекомых.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.03.2022 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Содержание
Введение
1. Теоритические аспекты машинного обучения
1.1 Введение в машинное обучение
1.2 Искусственная нейронная сеть
2. Получение и интерпретация данных
3. Реализация модели машинного обучения
Заключение
Список используемых источников
Приложение А
Введение
Термин машинное обучение, очень распространен, в основном его используют как синоним искусственного интеллекта. Сегодня мы сталкиваемся с машинным обучением каждый день, даже не подозревая об этом. Когда мы, например, просматриваем свою электронную почту, в своем ящике мы не видим множества спама - это все благодаря алгоритмам машинного обучения, происходит сортировка электронной почты. Так же благодаря машинному обучению работают знакомые нам голосовые помощники, рекомендации в Яндекс, подборка мелодии в Spotify, рекомендации на YouTube и много другое. В последние десятилетие машинное обучение получило резкий толчок благодаря увеличению вычислительных мощностей у компьютеров. Машинное обучение окружает нас по всюду, его используют в бизнесе для продвижения товаров и услуг, в медицине для выявления болезней, в смартфонах для распознавания лица и многое другое.
В данной курсовой работе будет разработана модель машинного обучения для распознавания пчел и ос от других насекомых, и сторонних объектов по фотографиям.
Для достижения поставленной цели, необходимо решить следующие задачи для получения положительного результата:
1) изучить с теоретические основы;
2) подобрать наиболее подходящий набор данных для выбранного метода обучения;
3) научиться работать с основными библиотеками Python для реализации модели машинного обучения для распознавания изображений;
1. Теоритические аспекты машинного обучения
1.1 Введение в машинное обучение
Машинное обучение (machine learning, ML) - это раздел информатики, который занимается разработкой и анализом алгоритмов, позволяющих компьютерам меняться под воздействием внешних факторов (обучаться). Алгоритмы обучения (learning algorithms) делают предсказания или принимают решения не на основе строго статических программных команд, а на основе обучающей выборки (т.е. обучающих данных), с помощью которой происходит настройка параметров модели. Для процесса настройки (fitting) модели по выборке данных применяются различные разделы математики: математическая статистика, методы оптимизации, численные методы, теория вероятностей, линейная алгебра, математический анализ, дискретная математика, теория графов, различные техники работы с цифровыми данными и др. Результатом работы алгоритма обучения является функция, которая аппроксимирует (восстанавливает) неизвестную зависимость в обрабатываемых данных. Машинное обучение является не только математической, но и прикладной, инженерной дисциплиной. Практически ни одно исследование в области машинного обучения не обходится без последующего тестирования на реальных данных для проверки практической работоспособности разрабатываемого метода.
Когда говорят о машинном обучении, то часто имеют ввиду вновь ставшие популярными искусственные нейронные сети (ИНС) и глубокое обучение, которые являются моделями машинного обучения, т.е. частными случаями методов распознавания образов, дискриминантного анализа, методов кластеризации и т. п. Вложенность категорий представлена на рисунке 1.
Рисунок 1 - Вложенность категорий
Есть три типа методов машинного обучения: дедуктивное, индуктивное и трансдуктивное.
- Дедуктивное обучение или обучение «сверху-вниз», от общего к частному предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний. Дедуктивное обучение принято относить к области экспертных систем. Имеются знания, сформулированные экспертом и каким-либо образом формализованные через уравнения, теоремы, зависимости и т.д. Программа, экспертная система, выводит из этих правил конкретные факты и новые правила.
- Индуктивное обучение или обучение «снизу-вверх», от частного к общему, обучение на примерах, обучение по прецедентам, основано на выявлении закономерностей в эмпирических данных, т.е. данных, полученных путём наблюдения или эксперимента. Индуктивное обучение компьютеров принято относить к машинному обучению. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам и тесно связаны с извлечением информации (information extraction) и интеллектуальным анализом данных (data mining). На основе эмпирических данных программа строит общее правило. Эмпирические данные могут быть получены самой программой в предыдущие сеансы её работы или просто предъявлены ей.
- Трансдуктивное обучение или обучение от частного к частному, позволяет на основе эмпирических данных без выявления общих закономерностей и формализации знаний сделать выводы о других эмпирических данных [2].
В машинном обучении выделяют следующие задачи:
- Классификация - разделение множества объектов или ситуаций на классы с помощью обучения с учителем.
- Регрессия - нахождение зависимости выходной переменной от одной или нескольких независимых входных переменных с помощью обучения с учителем.
- Поиск аномалий - поиск объектов или группу объектов «сильно непохожих» на других.
- Кластеризация (сегментация) - разделение множества объектов или ситуаций на кластеры с помощью обучения без учителя.
- Прогнозирование - это предсказание во времени. Прогнозирование похоже либо на регрессию, либо на классификацию в зависимости от данных задачи (непрерывные или дискретные данные), но в отличие от регрессии и классификации всегда направлено в будущее. В прогнозировании данные упорядочиваются по времени, которое является явным и ключевым параметром, а найденная зависимость экстраполируется в будущее. В прогнозировании применяются модели временных рядов.
- Идентификация. Идентификация и классификация многими ошибочно понимаются как синонимы. Задача идентификации исторически возникла из задачи классификации, когда вместо определения класса объекта потребовалось уметь определять, обладает объект требуемым свойством или нет. Особенностью задачи идентификации является то, что все объекты принадлежат одному классу, и не существует возможности разделить класс на подклассы, т.е. сделать состоятельную выборку из класса, которая не будет обладать требуемым свойством. Если требуется определить человека по фотографии его лица, причём множество запомненных в базе людей постоянно меняется и появляются люди, которых не было в обучающем множестве, то это задача идентификации, которая не сводится к задаче классификации [2].
1.2 Искусственная нейронная сеть
Искусственные нейронные сети (ИНС) -- математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей -- сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса. Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления.
ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи [10].
С понятием обучения ассоциируется довольно много видов деятельности, поэтому сложно дать этому процессу однозначное определение. Более того, процесс обучения зависит от точки зрения на него. Именно это делает практически невозможным появление какого-либо точного определения этого понятия. Например, процесс обучения с точки зрения психолога в корне отличается от обучения с точки зрения школьного учителя. С позиций нейронной сети, вероятно, можно использовать следующее определение: обучение - это процесс, в котором свободные параметры нейронной сети настраиваются посредством моделирования среды, в которую эта сеть встроена. Тип обучения определяется способом подстройки этих параметров [4].
Обучить нейронную сеть можно разными способами: с учителем, без учителя, с частичным привлечением учителя и с подкреплением. Обучение с учителем (supervised learning) предполагает наличие полного набора размеченных данных для тренировки модели на всех этапах ее построения. Наличие полностью размеченного датасета означает, что каждому примеру в обучающем наборе соответствует ответ, который алгоритм и должен получить.
Идеально размеченные и чистые данные достать нелегко. Поэтому иногда перед алгоритмом стоит задача найти заранее не известные ответы. Вот где нужно обучение без учителя.
В обучении без учителя (unsupervised learning) у модели есть набор данных, и нет явных указаний, что с ним делать. Нейронная сеть пытается самостоятельно найти корреляции в данных, извлекая полезные признаки и анализируя их.
Обучение с частичным привлечением учителя (semi-supervised learning) характеризуется своим названием - обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод особенно полезен, когда трудно извлечь из данных важные признаки или разметить все объекты - трудоемкая задача. Такой метод машинного обучения часто используется для анализа медицинских изображений, таких как сканы компьютерной томографии или МРТ.
Обучение с подкреплением (reinforcement learning) - метод, где агенты ИИ пытаются найти оптимальный способ достижения цели или улучшения производительности для конкретной среды. Когда агент предпринимает действия, способствующие достижению цели, он получает награду. Глобальная цель -- предсказывать следующие шаги, чтобы заработать максимальную награду в конечном итоге. При принятии решения агент изучает обратную связь, новые тактики и решения способные привести к большему выигрышу. Этот подход использует долгосрочную стратегию -- так же как в шахматах, следующий наилучший ход может не помочь выиграть в конечном счете. Поэтому агент пытается максимизировать суммарную награду [3].
Одним из самых удобных инструментов для разработки нейронной сети является Keras.
Keras - это открытая нейросетевая библиотека, написанная на языке Python [6]. Он был разработан, чтобы сделать внедрение моделей глубокого обучения максимально быстрым и легким для исследований и разработок. Keras был разработан и поддерживается инженером Google Франсуа Шоле, использующий четыре руководящих принципа:
- Модульность. Модель можно понимать, как последовательность или только график. Все проблемы модели глубокого обучения -- это отдельные компоненты, которые можно комбинировать произвольным образом.
- Минимализм. Библиотека предоставляет достаточно для достижения результата, без излишеств и максимальной читабельности.
- Растяжимость. Новые компоненты преднамеренно легко добавлять и использовать в рамках, предназначенные для исследователей, чтобы испытать и изучить новые идеи.
- Питон. Нет отдельных файлов моделей с пользовательскими форматами файлов. Все родной Python.
В центре внимания Кераса - идея модели [7].
Основной тип модели называется последовательностью, которая представляет собой линейный стек слоев. Вы создаете последовательность и добавляете к ней слои в том порядке, в котором вы хотите выполнить вычисления. После определения вы компилируете модель, которая использует базовую платформу для оптимизации вычислений, которые будут выполняться вашей моделью. После компиляции модели вы можете начать обучать сеть указав нужные вам параметры [9]. Одной из самых популярных задач для нейронной сети является классификация изображений. Для решения этой задачи используют сверточные нейронные сети.
Сверточная нейронная сеть, часто сокращаемая до CNN или ConvNet, представляет собой тип искусственной нейронной сети, используемой для решения контролируемых задач машинного обучения.
Принципы работы сверточной сети:
1. Локальное восприятие.
2. Разделяемые веса.
3. Уменьшение размерности.
Если полносвязные сети подключается к каждому пикселю входного изображения, то в сверточной нейронной сети нейрон получает ограниченное количество пикселей, как правило это участки 3 на 3 или 5 на 5. Следующий нейрон работает на следующем участке иногда взаимодействуя с полем соседнего нейрона.
Операция, которая выполняется в этом типе сети называется - свертком. Рассматривается некоторая область изображений (например, 3 на 3) и необходимо ядро свертки, матрица, как и ядро изображения. Если мы рассматриваем поле 3 на 3, то и размер ядра свертки будет 3 на 3.
Свертка активно используется для обработки изображений независимо от нейронной сети.
Разделяемые веса - все нейроны сети используют одинаковые ядра свертки для обработки разных регионов изображений.
Таким образом мы ищем важный элемент, который важен для нас на разных участках изображений и за счет использования одних и тех же весов в ядрах свертки мы существенно уменьшаем количество весов, которые нам нужно определить в процессе обучения. Уменьшение размерности. Для уменьшения размерности используются слои подвыборки. Один нейрон слоя подвыборки подключён к нескольким нейронам предыдущего слоя. Как правило к фрагменту 2 на 2 пиксела. Значение нейрона следующего слоя определяется на основе значения нейрона предыдущего слоя. Используется или усреднение или выбор максимального значения. Для предотвращения переобучения используют механизм Dropout() [1].
2. Получение и интерпретация данных
В данной курсовой работе необходимо разработать модель машинного обучения для распознавания пчел и ос от других насекомых, и сторонних объектов. Набор данных (dataset) был взят с платформы «Kaggle».
Kaggle -- система организации конкурсов по исследованию данных, а также социальная сеть специалистов по обработке данных и машинному обучению. Принадлежит корпорации Google. Платформа Kaggle представлена на рисунке 2.
Рисунок 2 - Платформа Kaggle
Набор данных представляет собой около десяти тысяч фотографий объемом около 600Мб, которые разделены на четыре категории:
- Осы (wasp)
- Пчелы (bee)
- Другие насекомые (other insects)
- Другие объекты (other)
Пример набора данных по категории представлен на рисунке 3.
Рисунок 3 - Пример набора данных
Набор данных не совсем подходит для обучения нейронной сети по причине того, что фотографиям даны «непонятные» имена для обучения. Чтобы это исправить нужно воспользоваться встроенным механизмом ОС. Для того чтобы дать «подходящие» имена каждой фотографии нужно выделить все изображения зажав Ctrl, после чего нужно нажать на клавишу F2 или комбинацию клавиш Fn + F2 и дать нужное имя всем изображениям. После того как все данные будут подготовлены для обучения можно приступать к разработке модели нейронной сети.
3. Реализация модели машинного обучения
Для разработки модели машинного обучения используется свёрточная ИНС. Обучаться данная ИНС будет следующим методом обучения - обучение с учителем, потому что стоит задача классификации. Для этого нужно подготовить набор данных, каждой фотографии из набора данных дать имя ее категории (класса) - эти наименования будут являться ответом для нейронной сети.
Набор данных будет содержать следующие классы:
1. Класс bee. Данный класс отвечает за хранение фотографий, на которых изображены пчелы.
2. Класс wasp. Данный класс отвечает за хранение фотографий, на которых изображены осы.
3. Класс other. Один из важных классов который отвечает за хранение фотографий, на которых изображены различные объекты такие как: люди, машины, животные, еда и много другое.
4. Класс other insects. Данный класс является если не самым важным классов во всей выборке, то одним из ключевых.
Данная выборка хранит изображения различных насекомых отличных от ос и пчел. идентификация фотография нейронный машинный
Благодаря этому классу нейронная сеть будет лучше различать пчел и ос. Чтобы использовать набор данных нужно загрузить его на Google.
Диск предварительно распределив все фотографии на три выборки:
- Обучающая выборка (train)
- Выборка для тестирования (test)
- Выборка для проверки работы (val)
В каждой из этой выборки будет находится следующее количество изображений: 70% для обучающей выборки и по 15% для двух остальных. Следующим шагом будет подключение библиотек языка программирования Python для реализации модели машинного обучения. Подключённые библиотеки изображены на рисунке 4.
Рисунок 4 - Подключенные библиотеки Python
После подключения библиотек нужно определить константы для модели, были определены следующие константы:
1. Каталоги с данными (train_dir, vat_dir, test_dir)
2. Размер изображений (img_width, img_height)
3. Количество эпох (epochs)
4. Размер мини-выборки (batch_size)
5. Количество изображений в каждой выборке (np_train_simple, np_validation_sample, np_test_sample)
6. Количество классов (np_classes)
Объявление и значения констант представлены на рисунке 5.
Для загрузки изображения и преобразования их в вид пригодный для обучения нейронной сети используются генераторы. Для создания генераторов используется класс ImageDataGenerator.
Рисунок 5 - Значения констант
Затем используется метод flow_from_directory и указываем следующие параметры: каталог с данными, размер изображений, размер выборки и режим классов. Для каждого каталога создается отдельный генератор. Генератор для обучающей выборки представлен на рисунке 6.
Рисунок 6 - Генератор для изображений
После реализации генераторов можно приступить к созданию сверточной ИНС. Для этого нужно указать:
- последовательную нейронную сеть (model = Sequential ())
- Сверточные слои (model.add(Conv2D()))
- Слои подвыборки (model.add(MaxPooling2D()))
- Слои регуляризации Dropout (model.add(Dropout()))
- Слой преобразования из 2D представление в плоское (model.add(Flatten()))
- Выходной полносвязный слой (model.add(Dense()))
Реализация сверточной сети представлена на рисунке 7.
Рисунок 7 - Сверточная ИНС
После того как была создана нейронная сеть можно приступить к компиляции (model.compile ()) и обучению (model.fit()). Компиляция и обучение нейронной сети представлены на рисунке 8.
Рисунок 8 - Компиляция и обучение ИНС
После того как модель обучилась реализуется механизм для загрузки изображений и их обработки. Для загрузки изображений нужно использовать функцию upload () для files из google.colab. После загрузки изображения нужно создать функцию обработки (load_image ()). Функция обработки представлена на рисунке 9.
Рисунок 9 - Функция обработки изображения
После загрузки и обработки изображения нужно запустить распознавание изображение обученной сетью. Для этого к модели нужно применить функцию predict () параметром которого будет являться загруженное изображение.
Для того чтобы узнать результат работы нашей сети нужно определить класс, который модель присвоила нашей картинке, для этого используем функцию argmax().
Результат работы нейронной сети представлен на рисунке 10.
Рисунок 10 - Результат работы нейронной сети
Нейронная сеть определила изображение, на котором изображен человек как other т.е. сторонний объект что является верным ответом. Теперь нужно проверить работу сети на распознавание других классов. Результаты работы сети представлены на рисунке 11 и 12.
На второй проверке были загружены фотографии осы и пчелы которые нейронная сеть классифицировала как wasp и bee что является верным ответом и доказывает правильность работы обученной сети. Для того чтобы узнать, как нейронная сеть изучает и выискивает признаки на фотографии нужно воспользоваться механизмом для визуализации данных. Результат работы визуализации данных представлен на рисунке 13.
Рисунок 11 - Результат работы нейронной сети
Рисунок 12 - Результат работы нейронной сети
Рисунок 13 - Визуализация данных
Заключение
В соответствии с условиями и поставленными задачами была создана модель машинного обучения, которая по фотографии различает ос и пчел от других насекомых и сторонних объектов. Программа позволяет загрузить любое изображение с машины пользователя и проверить его.
В результате выполнения курсовой работы были достигнуты все поставленные задачи. В ходе выполнения курсовой работы:
- изучен теоретический материал и выбран наиболее подходящий метод обучения для поставленного задания - метод обучения с учителем т. к. в данной работе нужно было решить задачу классификации, а выбранный метод подходит лучше всего для ее решения;
- выбран, подготовлен и загружен подходящий набор данных, на котором была обучена нейронная сеть.
- получили навыки использования библиотек языка программирования Python с помощью которых мы смогли реализовать нашу модель.
Разработанная модель машинного обучения отлично справляется с поставленными задачи, но ее так же можно модифицировать. Можно сделать так чтобы сеть определяла новый тип насекомых путем добавления нового класса и выборки изображений. Так же ее можно усовершенствовать для повышения точности ответов путем использования тонкой настройки и механизму дополнения данных.
Список используемых источников
1. Андрей Созыкин: сайт. URL: https://www.asozykin.ru/courses/nnpython (дата обращения 01.11.2020).
2. Введение в машинное обучение и нейронные сети: сайт. URL: https://foobar167.github.io/page/vvedeniye-v-mashinnoye-obucheniye-i-iskusstvennyye-neyronnyye-seti.html (дата обращения 01.11.2020).
3. Neurohive: сайт. URL: https://neurohive.io/ru/osnovy-data-science/obuchenie-s-uchitelem-bez-uchitelja-s-podkrepleniem/ (дата обращения 05.11.2020).
4. Aiportal.ru - портал искусственного интеллекта: сайт. URL: http://www.aiportal.ru/articles/neural-networks/learning-neunet.html#:~:text (дата обращения 06.11.2020).
5. Kaggle: сайт. URL: https://www.kaggle.com/ (дата обращения 06.12.2020).
6. Neurohive: сайт. URL: https://neurohive.io/ru/tutorial/nejronnaya-set-keras-python/ (дата обращения 06.11.2020).
7. Машинное обучение, нейронные сети, искусственный интеллект: сайт. URL: https://www.machinelearningmastery.ru/tutorial-first-neural-network-python-keras/ (дата обращения 07.11.2020).
8. Хабр: сайт. URL: https://habr.com/ru/post/458170/ (дата обращения 07.11.2020).
9. REG.RU Блог: сайт. URL: https://www.reg.ru/blog/keras/ (дата обращения 07.11.2020).
10. Нейронные сети -- Department of Theoretical and Applied Mechanics: сайт. URL: http://tm.spbstu.ru/ (дата обращения 08.11.2020).
Приложение А
(обязательное)
Листинг 1 - Разработка модели нейронной сети
Размещено на Allbest.ru
...Подобные документы
Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Основные цели и задачи построения систем распознавания. Построение математической модели системы распознавания образов на примере алгоритма идентификации объектов военной техники в автоматизированных телекоммуникационных комплексах систем управления.
дипломная работа [332,2 K], добавлен 30.11.2012Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Методы распознавания образов (классификаторы): байесовский, линейный, метод потенциальных функций. Разработка программы распознавания человека по его фотографиям. Примеры работы классификаторов, экспериментальные результаты о точности работы методов.
курсовая работа [2,7 M], добавлен 15.08.2011Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Необходимость в системах распознавания символов. Виды сканеров и их характеристики. Оптимальное разрешение при сканировании. Программы распознавания текста. Получение электронного документа. FineReader - система оптического распознавания текстов.
презентация [469,2 K], добавлен 15.03.2015Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Принцип работы нейросетей и модели синтеза. Ключевые моменты проблемы распознавания речи. Система распознавания речи как самообучающаяся система. Описание системы: ввод звука, наложение первичных признаков на вход нейросети, модель и обучение нейросети.
курсовая работа [215,2 K], добавлен 19.10.2010Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Механизм работы нервной системы и мозга человека. Схема биологического нейрона и его математическая модель. Принцип работы искусственной нейронной сети, этапы ее построения и обучения. Применение нейронных сетей в интеллектуальных системах управления.
презентация [98,6 K], добавлен 16.10.2013Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014Понятие системы распознавания образов. Классификация систем распознавания. Разработка системы распознавания формы микрообъектов. Алгоритм для создания системы распознавания микрообъектов на кристаллограмме, особенности его реализации в программной среде.
курсовая работа [16,2 M], добавлен 21.06.2014Анализ физических предпосылок селекции движущихся малоразмерных наземных целей по спектральным параметрам. Разработка алгоритмов обнаружения МНЦ и повышения эффективности их распознавания в интересах радиолокационных станций разведки и целеуказания.
дипломная работа [830,3 K], добавлен 28.04.2009Изучение и реализация системы, использующей возможности Microsoft Azure для распределенного обучения нейронной сети. Рассмотрение функционирования распределенных вычислений. Выбор задачи для исследования; тестирование данного программного ресурса.
дипломная работа [2,0 M], добавлен 20.07.2015Выявление закономерностей и свойств, применимых в искусственной нейронной сети. Построение графиков и диаграмм, определяющих степень удаленности между объектами. Моделирование, тестирование и отладка программной модели, использующей клеточный автомат.
дипломная работа [4,1 M], добавлен 25.02.2015Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).
дипломная работа [625,2 K], добавлен 10.06.2017