Глубокое обучение нейронных сетей — это передовая область исследований машинного обучения, представляющего из себя нескольких скрытых слоев искусственных нейронных сетей.
Общие сведения о машинном обучении
Нейронной сетью, точнее искусственной нейронной сетью, является формирование аналога работы человеческого мозга на компьютере с помощью слоев нейронов. Искусственным интеллектом является способность устройства или компьютерной программы определять решение заданной проблемы с помощью вычислений.
Когда стали осуществляться первые исследования в сфере искусственного интеллекта, то специалисты предпринимали попытки воспроизведения человеческого интеллекта для того, чтобы решить конкретные задачи, такие как, например, игры с человеком. Было сформировано значительное число правил, которые должно соблюдать компьютерное оборудование. На базе подобных правил компьютер должен был принимать решения в соответствии с определенным перечнем допустимых действий.
Машинным обучением является попытка заложить в компьютеры возможность самостоятельного обучения на больших объемах информационных данных вместо жестко закрепленных правил. То есть, Машинное обучение способно позволить компьютерам самостоятельно обучаться. Это стало возможным благодаря большим вычислительным мощностям современного компьютерного оборудования, которые может вести оперативную обработку больших наборов данных.
Контролируемое обучение, то есть, обучение с преподавателем, предполагает применение помеченной совокупности данных, содержащей входные данные и предполагаемые итоговые результаты. Когда предполагается обучать нейронную сеть при помощи контролируемого обучения, то необходимо подать как входные данные, так и предполагаемые выходные результаты. Когда результат, который генерировала нейронная сеть, оказывается неверным, она должна скорректировать свой вычислительный процесс. Эта процедура является итерационным процессом, который оканчивается тогда, когда сеть прекращает совершение ошибок.
В качестве примера задачи с контролируемым обучением, можно привести предсказание погоды. Нейронная сеть должна учиться формировать прогноз погоды на основе использования исторических данных. Обучающие данные должны включать в свой состав входные данные в виде давления, влажности, скорости ветра, и выходные результаты в виде температуры.
Неконтролируемым обучением, то есть, обучением без преподавателя, является машинное обучение с применением совокупности данных, не обладающих определенной структурой. При обучении нейронных сетей неконтролируемо, они сами осуществляют логическую классификацию информационных данных. В качестве примера задачи с неконтролируемым обучением можно привести предсказание реакции посетителей интернет-магазинов. В данном случае сеть не может обучаться на размеченных данных. Вместо этого сеть должна самостоятельно классифицировать входные данные и ответить на вопрос, какие именно пользователи наиболее часто покупают определенные товары.
Глубокое обучение нейронных сетей
Глубоким обучением является метод машинного обучения. Глубокое обучение способно обучить модель предсказанию результатов на основании набора входных данных. Для обучения нейронной сети может использоваться как контролируемая методика обучения, так и неконтролируемая методика.
Рассмотрим в качестве примера работы глубокого обучения, сервис, по оценке стоимости авиабилета. Предположим, что используется контролируемый метод обучения. Предполагается, что проектируемый сервис должен предсказывать цену на авиабилет на основании следующих входных данных:
- Наименование аэропорта вылета.
- Наименование аэропорта назначения.
- Предполагаемая дата отбытия.
- Желаемая авиакомпания.
Рассмотрим структуру предполагаемой модели нейронной сети. Подобно живым организмам, искусственная нейронная сеть должна содержать взаимосвязанные нейроны. На рисунке ниже показана структура глубокой нейронной сети.
Рисунок 1. Структура глубокой нейронной сети. Автор24 — интернет-биржа студенческих работ
Глубокая нейронная сеть обладает следующими различными типами слоев:
- Входной слой.
- Скрытый слой (слои).
- Выходной слой.
Входной слой предназначен для приема входных данных. В рассматриваемом примере присутствует не три, как на рисунке, а четыре нейрона на входном слое, а именно, аэропорт вылета, аэропорт назначения, дата вылета и авиакомпания. Входной уровень должен передать эти данные в первый скрытый слой. Скрытые слои предназначены для выполнения математических вычислений со входными данными. Одной из задач при формировании нейронных сетей является определение количества скрытых слоев и нейронов на каждом из слоев.
Слово «глубина» в термине «глубокое обучение» призвано обозначить присутствие больше чем одного скрытого слоя. Выходной слой должен выдать итоговый результат. В рассматриваемом примере таким результатом является прогноз цены на билет. При вычислении цены работает принцип глубокого обучения. Нейроны обладают взаимными связями, имеющими определенный вес. Вес означает важность компонента входных данных, однако исходные веса могут задаваться случайным образом.
При составлении прогноза цены на билет дата вылета считается одним из самых важных параметров. Это означает, что связи нейрона времени вылета должны обладать большим весом. Кроме того, все нейроны имеют функцию активации. Ее предназначение может быть сформулировано привлечением чисто математических рассуждений. Одной из ее функций считается «стандартизация» данных на выходе из нейрона. После того как совокупность входных данных прошла через все слои нейронной сети, функция активации должна выдать выходные результаты через выходной уровень.
Самым сложным является процесс обучение нейронной сети, поскольку необходимо наличие большого набора данных, а также требуются значительные вычислительные мощности. Для оценки стоимости билета требуется отыскать исторические данные о ценах на билеты. Из-за большого числа возможных комбинаций аэропортов и дат вылета потребуется просто огромный список цен на билеты.
Для того чтобы обучить сеть, необходимо подать в нее сформированные данные и осуществить сравнение сгенерированных сетью выходных результатов с результатами из представленного тестового набора данных.