Введение 4
Обзор литературы 7
Постановка задачи 9
Глава 1. Нейронные сети 10
1.1. Некоторые теоретические выкладки о нейронных сетях 10
1.2. Обучение нейронных сетей 12
1.3. VGG-Face 15
Глава 2. Построение и обучение нейронных сетей 16
2.1. Математическая постановка задачи 16
2.2. Выбор базы фотографий 17
2.3. Предобработка данных 18
2.4. Подготовка рабочей среды 19
2.5. Определение пола 19
2.6. Предсказание пола и возраста одним классификатором 20
2.7. Определение возраста регрессией без разделения по гендерному признаку 22
2.8. Определение возраста классификацией без разделения по гендерному признаку 23
2.9. Определение возраста классификацией с разделением по гендерному признаку 24
2.10. Определение возраста регрессией с разделением по гендерному признаку 27
Глава 3. Анализ полученных результатов 28
3.1. Результаты вычислительных экспериментов 28
3.2. Сравнение моделей 29
Выводы 30
Заключение 31
Список использованных источников 32
Приложение А. Существующие решения задачи 35
Приложение Б. Архитектура сети VGG-Face 38
Приложение С. Базы фотографий лиц людей 40
Возраст и пол человека играют важнейшую роль в социальной жизни индивида и в его взаимодействии с другими людьми. Например, в зависимости от возрастной группы человека во многих языках меняется форма обращения к нему.
Определение пола и возраста является популярной задачей машинного обучения, и в настоящий момент существуют различные подходы к ее решению [7, 12]. Решение данной задачи имеет множество практических приложений. К примеру, появляется возможность быстрого принятия решения о допуске лиц на мероприятие, имеющее возрастной ценз, или на продажу им некоторых товаров. В области маркетинга и анализа статистики сегментирование посещений по социально-демографическому признаку позволяет лучше понять состояние рынка и предпочтения пользователей.
Рассмотрим подробнее некоторые возможные методы решения данной задачи:
1. Методы, основанные на активной модели внешнего вида (AAA) - группа статистических методов, оценивающая визуальные возрастные особенности. Учитываются как главные особенности, такие как глаза, рот, нос и подбородок, так и вторичные, например, морщины. На основе различий этих особенностей у лиц разных возрастных групп строится модель внешнего вида.
2. Mean-Variance Loss [17] - метод, который рассматривает целевую переменную как распределение вероятностей по возрастным и гендерным классам. Функция потерь состоит из комбинации перекрестной энтропии, квадрата отклонения среднего значения распределения от целевой переменной и стандартного отклонения полученного распределения вероятности. В результате подход позволяет уменьшить разброс предсказания и повысить среднюю точность.
3. SSR-Net [21] - компактная сеть с мягкой поэтапной регрессией для оценки возраста. Иерархическая структура позволяет использовать простые и быстрые нейронные сети.
4. Кроме нейронных сетей, для определения пола и возраста применяются и другие методы машинного обучения, например Random Forest [19]. В задаче классификации метод определяет целевой класс как наиболее распространенный предсказанный класс среди всех деревьев. Что касается регрессии, то целевая переменная определятся как среднее значение среди всех деревьев.
5. Модель типа CaffeModel - данное решение представлено в статье «Понимание и сравнение глубоких нейронных сетей для классификации по возрасту и полу». Модель решает задачу классификации. Возрастной диапазон поделен на определенные промежутки, каждый из которых является отдельным классом.
Перечисление работ, содержащих описание решения данной задачи приведено в Приложении А. На данный момент нет ответа на вопрос, какая методология прогнозирования пола и возраста является лучшей. В этом исследовании мы будем работать именно с нейросетевыми моделями.
Распознавание пола человека по фотографии относится к задаче бинарной классификации. Предсказание возраста - это регрессионная задача, но мы решим ее и как задачу классификации, путем группировки по различным возрастным диапазонам. В качестве основы для решения поставленных задач используем предобученную сверточную нейронную сеть.
Областью исследования являются нейронные сети. Предмет исследования - изображения лиц людей.
В данной работе предстоит решить такие проблемы как: выбор наилучшей предобученной сети, подходящей для распознавания пола и возраста; поиск базы фотографий; разработка и обучение нейронных сетей; тестирование и сравнение полученных моделей; анализ результатов.
В работе приведен обзор литературы по изучаемой теме и сформулированы цель и задачи исследования. В первой главе представлены некоторые теоретические сведения по сверточным нейронным сетям, сделан выбор архитектуры сети, которая станет основой последующих моделей. Вторая глава посвящена подготовке данных и обучению нейронных сетей. В третьей главе представлены полученные результаты проведенных вычислительных экспериментов, выполнено сравнение моделей. В разделе «Выводы» проводится анализ полученных результатов. В заключении подведены итоги проведенной работы.
В выпускной квалификационной работе бакалавра были решены следующие задачи:
1. изучены возможные решения данной проблемы;
2. найдены необходимые для обучения и тестирования сети компоненты, а именно - набор фотографий Wikipedia и предобученная сеть VGG- Face;
3. выполнена предобработка собранных данных, также выборка поделена на 3 части - обучающую, тестовую и валидационную;
4. разработаны и обучены нейронные сети;
5. проанализированы полученные результаты, выполнено сравнение реализованных моделей и сделаны соответствующие выводы.
[1] Булдумак, В. Определяем возраст и пол человека, используя нейронную сеть [Электронный ресурс]: URL:https://python-scripts.com/ predict-age-and-gender (дата обращения: 12.01.2021).
[2] Возрастная периодизация Эриксона [Электронный ресурс]: URL: https://mamsila.ru/post/vozrastnaya-periodizaciya-eriksona (дата обращения: 10.02.2021).
[3] Жерон, О. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow / О. Жерон; пер. с англ. - М. : СПб. ООО Альфа-книга, 2018. - 688 с.
[4] Кустикова, В. Сверточные нейронные сети. Глубокие остаточные сети [Электронный ресурс]: URL:http://hpc-education.unn.ru/files/ courses/intel-neon-course/Rus/Lectures/Presentations/4_CNN. pdf (дата обращения: 12.01.2021).
[5] Микелуччи, У. Прикладное глубокое обучение. Подход к пониманию глубоких нейронных сетей на основе метода кейсов. / У. Микелуччи; пер. с англ. - М. : СПб. БХВ-Петербург, 2020. - 368 с.
[6] Модель искусственного нейрона Мак-Каллока-Питсса [Электронный ресурс]: URL: http://www.mathnet.ru/links/ c380a2a18f452384395ac32be4f81eee/mais177.pdf (дата обращения: 20.12.2020).
[7] Пакулич, Д. В. Распознавание возраста по изображению лица с использованием сверточных нейронных сетей / Д. В. Пакулич, C. A. Якимов, C. А. Алямкин. - Т. 55 Вып. 3 изд. - М : Новосибирск. Автометрия, 2019. - с. 52-61.
[8] Паттанаяк, С. Глубокое обучение и TensorFlow для профессионалов. Математический подход к построению систем искусственного интеллекта на Python / С. Паттанаяк; пер. с англ. - М. : СПб. ООО "Диалектика 2019. - 480 с.
[9] Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество [Электронный ресурс]: URL:https: //habr.com/ru/post/348000/ (дата обращения: 10.02.2021).
[10] Суилин, А. Определение пола и возраста по фото [Электронный ресурс]: URL:https://suilin.ru/project/gender_age/ (дата обращения: 15.02.2021).
[11] Траск, Э. Грокаем глубокое обучение / Э. Траск; пер. с англ. - М. : СПб. Питер, 2019. - 352 с.
[12] Apparent Age and Gender Prediction in Keras [Электронный ресурс]: URL:https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/ (дата обращения: 12.01.2021).
[13] Cross-Age Reference Coding for Age-Invariant Face Recognition and Retrieval [Электронный ресурс]: URL:https://bcsiriuschen.github. io/CARC/ (дата обращения: 10.02.2021).
[14] Dataset Adience [Электронный ресурс]: URL:https://talhassner. github.io/home/projects/Adience/Adience-data.html (дата обращения: 10.02.2021).
[15] Dataset FG-Net [Электронный ресурс]: URL:http://yanweifu.github. io/FG_NET_data/FGNET.zip (дата обращения: 10.02.2021).
...